diff options
author | vincent-peugnet <v.peugnet@free.fr> | 2020-02-06 18:07:53 +0100 |
---|---|---|
committer | vincent-peugnet <v.peugnet@free.fr> | 2020-02-06 18:07:53 +0100 |
commit | 08a26d4d6fbd45cdc136b60d0fb30f53ac4fd2f7 (patch) | |
tree | 209ac84720836e39c6c96f131b5049e7ad6096b2 /app/class/Controlleradmin.php | |
parent | de939de88e1ed166d827616e3d17a22fe549202a (diff) | |
parent | 9d3f97870810e739041eccad234d47308747cb1f (diff) | |
download | wcms-08a26d4d6fbd45cdc136b60d0fb30f53ac4fd2f7.tar.gz wcms-08a26d4d6fbd45cdc136b60d0fb30f53ac4fd2f7.zip |
Merge branch 'better-admin'
Diffstat (limited to 'app/class/Controlleradmin.php')
-rw-r--r-- | app/class/Controlleradmin.php | 65 |
1 files changed, 43 insertions, 22 deletions
diff --git a/app/class/Controlleradmin.php b/app/class/Controlleradmin.php index 3935bff..835f158 100644 --- a/app/class/Controlleradmin.php +++ b/app/class/Controlleradmin.php @@ -7,30 +7,42 @@ class Controlleradmin extends Controller /** @var Modelmedia $mediamanager */ protected $mediamanager; + /** @var Modeladmin */ + protected $adminmanager; + + public function __construct($router) + { + parent::__construct($router); + + $this->adminmanager = new Modeladmin(); + } public function desktop() { if($this->user->isadmin()) { - $pagelist = $this->pagemanager->list(); + $datas['pagelist'] = $this->pagemanager->list(); $this->mediamanager = new Modelmedia(); - $faviconlist = $this->mediamanager->listfavicon(); - $interfacecsslist = $this->mediamanager->listinterfacecss(); - if(in_array(Config::defaultpage(), $pagelist)) { - $defaultpageexist = true; + $datas['faviconlist'] = $this->mediamanager->listfavicon(); + $datas['thumbnaillist'] = $this->mediamanager->listthumbnail(); + $datas['interfacecsslist'] = $this->mediamanager->listinterfacecss(); + if(in_array(Config::defaultpage(), $datas['pagelist'])) { + $datas['defaultpageexist'] = true; } else { - $defaultpageexist = true; + $datas['defaultpageexist'] = false; } $globalcssfile = Model::GLOBAL_DIR . 'global.css'; if(is_file($globalcssfile)) { - $globalcss = file_get_contents($globalcssfile); + $datas['globalcss'] = file_get_contents($globalcssfile); } else { - $globalcss = ""; + $datas['globalcss'] = ""; } - $admin = ['pagelist' => $pagelist, 'defaultpageexist' => $defaultpageexist, 'globalcss' => $globalcss, 'faviconlist' => $faviconlist, 'interfacecsslist' => $interfacecsslist]; - $this->showtemplate('admin', $admin); + $datas['pagesdblist'] = $this->adminmanager->pagesdblist(); + $datas['pagesdbtree'] = $this->mediamanager->listdir(Model::PAGES_DIR); + + $this->showtemplate('admin', $datas); } else { $this->routedirect('home'); } @@ -38,8 +50,8 @@ class Controlleradmin extends Controller public function update() { - $this->globaldircheck(); - + MODEL::dircheck(MODEL::GLOBAL_DIR); + $globalcss = file_put_contents(Model::GLOBAL_DIR . 'global.css', $_POST['globalcss']); Config::hydrate($_POST); @@ -50,16 +62,25 @@ class Controlleradmin extends Controller } } - - public function globaldircheck() - { - if(!is_dir(Model::GLOBAL_DIR)) { - return mkdir(Model::GLOBAL_DIR); - } else { - return true; - } - } - + public function database() + { + if(!empty($_POST['action'])) { + switch ($_POST['action']) { + case 'duplicate': + if(!empty($_POST['dbsrc']) && !empty($_POST['dbtarget'])) { + $this->adminmanager->copydb($_POST['dbsrc'], $_POST['dbtarget']); + } + break; + case 'select': + if(!empty($_POST['pagetable'])) { + Config::hydrate($_POST); + Config::savejson(); + } + break; + } + } + $this->routedirect('admin'); + } } |