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(array("success" => true, "data" => array()));
} else {
if ($this->getParam("xaction") == "update") {
// save routes
$route = Staticroute::getById($data["id"]);
$route->setValues($data);
$route->save();
$this->_helper->json(array("data" => $route, "success" => true));
} else {
if ($this->getParam("xaction") == "create") {
unset($data["id"]);
// save route
$route = new Staticroute();
$route->setValues($data);
$route->save();
$this->_helper->json(array("data" => $route, "success" => true));
}
}
}
} else {
// get list of routes
$list = new Staticroute\Listing();
$list->setLimit($this->getParam("limit"));
$list->setOffset($this->getParam("start"));
$sortingSettings = \Pimcore\Admin\Helper\QueryParams::extractSortingSettings($this->getAllParams());
if ($sortingSettings['orderKey']) {
$list->setOrderKey($sortingSettings['orderKey']);
$list->setOrder($sortingSettings['order']);
}
if ($this->getParam("filter")) {
$list->setCondition("`name` LIKE " . $list->quote("%" . $this->getParam("filter") . "%") . " OR `pattern` LIKE " . $list->quote("%" . $this->getParam("filter") . "%") . " OR `reverse` LIKE " . $list->quote("%" . $this->getParam("filter") . "%") . " OR `controller` LIKE " . $list->quote("%" . $this->getParam("filter") . "%") . " OR `action` LIKE " . $list->quote("%" . $this->getParam("filter") . "%"));
}
$list->load();
$routes = array();
foreach ($list->getRoutes() as $route) {
$routes[] = $route;
}
$this->_helper->json(array("data" => $routes, "success" => true, "total" => $list->getTotalCount()));
}
$this->_helper->json(false);
}