/** * */ public function getPredefinedPropertiesAction() { $properties = []; $type = $this->getParam("controller"); $allowedTypes = ["asset", "document", "object"]; if (in_array($type, $allowedTypes)) { $list = new Model\Property\Predefined\Listing(); $list->setFilter(function ($row) use($type) { if ($row["ctype"] == $type) { return true; } return false; }); $list->load(); foreach ($list->getProperties() as $type) { $properties[] = $type; } } $this->_helper->json(["properties" => $properties]); }
public function propertiesAction() { if ($this->getParam("data")) { $this->checkPermission("predefined_properties"); if ($this->getParam("xaction") == "destroy") { $data = \Zend_Json::decode($this->getParam("data")); if (\Pimcore\Tool\Admin::isExtJS6()) { $id = $data["id"]; } else { $id = $data; } $property = Property\Predefined::getById($id); $property->delete(); $this->_helper->json(["success" => true, "data" => []]); } elseif ($this->getParam("xaction") == "update") { $data = \Zend_Json::decode($this->getParam("data")); // save type $property = Property\Predefined::getById($data["id"]); $property->setValues($data); $property->save(); $this->_helper->json(["data" => $property, "success" => true]); } elseif ($this->getParam("xaction") == "create") { $data = \Zend_Json::decode($this->getParam("data")); unset($data["id"]); // save type $property = Property\Predefined::create(); $property->setValues($data); $property->save(); $this->_helper->json(["data" => $property, "success" => true]); } } else { // get list of types $list = new Property\Predefined\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(); $properties = []; if (is_array($list->getProperties())) { foreach ($list->getProperties() as $property) { $properties[] = $property; } } $this->_helper->json(["data" => $properties, "success" => true, "total" => $list->getTotalCount()]); } }