Ejemplo n.º 1
0
 public function staticroutesAction()
 {
     if ($this->getParam("data")) {
         $this->checkPermission("routes");
         $data = \Zend_Json::decode($this->getParam("data"));
         if (is_array($data)) {
             foreach ($data as &$value) {
                 if (is_string($value)) {
                     $value = trim($value);
                 }
             }
         }
         if ($this->getParam("xaction") == "destroy") {
             $data = \Zend_Json::decode($this->getParam("data"));
             if (\Pimcore\Tool\Admin::isExtJS6()) {
                 $id = $data["id"];
             } else {
                 $id = $data;
             }
             $route = Staticroute::getById($id);
             $route->delete();
             $this->_helper->json(["success" => true, "data" => []]);
         } elseif ($this->getParam("xaction") == "update") {
             // save routes
             $route = Staticroute::getById($data["id"]);
             $route->setValues($data);
             $route->save();
             $this->_helper->json(["data" => $route, "success" => true]);
         } elseif ($this->getParam("xaction") == "create") {
             unset($data["id"]);
             // save route
             $route = new Staticroute();
             $route->setValues($data);
             $route->save();
             $this->_helper->json(["data" => $route, "success" => true]);
         }
     } else {
         // get list of routes
         $list = new Staticroute\Listing();
         if ($this->getParam("filter")) {
             $filter = $this->getParam("filter");
             $list->setFilter(function ($row) use($filter) {
                 foreach ($row as $value) {
                     if (strpos($value, $filter) !== false) {
                         return true;
                     }
                 }
                 return false;
             });
         }
         $list->load();
         $routes = [];
         foreach ($list->getRoutes() as $route) {
             $routes[] = $route;
         }
         $this->_helper->json(["data" => $routes, "success" => true, "total" => $list->getTotalCount()]);
     }
     $this->_helper->json(false);
 }