diff options
author | vincent-peugnet <v.peugnet@free.fr> | 2020-01-22 01:45:07 +0100 |
---|---|---|
committer | vincent-peugnet <v.peugnet@free.fr> | 2020-01-22 01:45:07 +0100 |
commit | 1a02e1eea3a05814ec4d21fd1e3ebb1a11dc7bbb (patch) | |
tree | 64a3778b1394879c6260275274ee3002f413d089 /app/class/Controllerhome.php | |
parent | a2fd39d2c8d6837f07e7df3bb9738d72e5c15409 (diff) | |
parent | 8e2abd192527a308d08920c69ab4a551b6f1e994 (diff) | |
download | wcms-1a02e1eea3a05814ec4d21fd1e3ebb1a11dc7bbb.tar.gz wcms-1a02e1eea3a05814ec4d21fd1e3ebb1a11dc7bbb.zip |
Merge branch 'implement-multi-edit'
Diffstat (limited to 'app/class/Controllerhome.php')
-rw-r--r-- | app/class/Controllerhome.php | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/app/class/Controllerhome.php b/app/class/Controllerhome.php index d8c126d..1603511 100644 --- a/app/class/Controllerhome.php +++ b/app/class/Controllerhome.php @@ -127,9 +127,29 @@ class Controllerhome extends Controllerpage $this->routedirect('home'); } + public function multi() + { + if(isset($_POST['action']) && $this->user->issupereditor() && !empty($_POST['pagesid'])) { + switch ($_POST['action']) { + case 'edit': + $this->multiedit(); + break; + + case 'render': + $this->multirender(); + break; + + case 'delete': + $this->multidelete(); + break; + } + } + $this->routedirect('home'); + } + public function multiedit() { - if ($this->user->issupereditor() && isset($_POST['pagesid'])) { + if (isset($_POST['pagesid'])) { $datas = $_POST['datas']?? []; $datas = array_filter($datas, function ($var) { return $var !== ""; @@ -141,7 +161,27 @@ class Controllerhome extends Controllerpage $this->pagemanager->pageedit($id, $datas, $reset, $addtag, $addauthor); } } - $this->routedirect('home'); + } + + public function multirender() + { + $pagelist = $_POST['pagesid'] ?? []; + $pagelist = $this->pagemanager->getlisterid($pagelist); + foreach ($pagelist as $page) { + $page = $this->renderpage($page); + $this->pagemanager->update($page); + } + + } + + public function multidelete() + { + if(isset($_POST['confirmdelete']) && $_POST['confirmdelete']) { + $pagelist = $_POST['pagesid'] ?? []; + foreach ($pagelist as $id) { + $this->pagemanager->delete($id); + } + } } } |