aboutsummaryrefslogtreecommitdiff
path: root/app/class/Controllerhome.php
diff options
context:
space:
mode:
authorvincent-peugnet <v.peugnet@free.fr>2020-01-22 01:45:07 +0100
committervincent-peugnet <v.peugnet@free.fr>2020-01-22 01:45:07 +0100
commit1a02e1eea3a05814ec4d21fd1e3ebb1a11dc7bbb (patch)
tree64a3778b1394879c6260275274ee3002f413d089 /app/class/Controllerhome.php
parenta2fd39d2c8d6837f07e7df3bb9738d72e5c15409 (diff)
parent8e2abd192527a308d08920c69ab4a551b6f1e994 (diff)
downloadwcms-1a02e1eea3a05814ec4d21fd1e3ebb1a11dc7bbb.tar.gz
wcms-1a02e1eea3a05814ec4d21fd1e3ebb1a11dc7bbb.zip
Merge branch 'implement-multi-edit'
Diffstat (limited to 'app/class/Controllerhome.php')
-rw-r--r--app/class/Controllerhome.php44
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);
+ }
+ }
}
}