public function objectbrickUpdateAction() { $fc = new Object_Objectbrick_Definition(); $fc->setKey($this->_getParam("key")); if ($this->_getParam("values")) { $values = Zend_Json::decode($this->_getParam("values")); $fc->setParentClass($values["parentClass"]); $fc->setClassDefinitions($values["classDefinitions"]); } if ($this->_getParam("configuration")) { $configuration = Zend_Json::decode($this->_getParam("configuration")); $configuration["datatype"] = "layout"; $configuration["fieldtype"] = "panel"; $layout = Object_Class_Service::generateLayoutTreeFromArray($configuration); $fc->setLayoutDefinitions($layout); } $fc->save(); $this->_helper->json(array("success" => true, "id" => $fc->getKey())); }
// array of existing collections /** @var Object_Objectbrick_Definition $class */ foreach ($classes as $class) { $classes_array[$class->getKey()] = true; } $files = glob(PIMCORE_DOCUMENT_ROOT . '/data/objectbricks/*'); // get all file names // tworzenie kolekcji na podstawie plików foreach ($files as $file) { // iterate files if (is_file($file)) { $string = file_get_contents($file); $classname = basename($file, ".json"); unset($classes_array[$classname]); try { $class = Object_Objectbrick_Definition::getByKey($classname); Object_Class_Service::importObjectbrickFromJson($class, $string); } catch (Exception $e) { $newClass = new Object_Objectbrick_Definition(); $newClass->setKey($classname); Object_Class_Service::importObjectbrickFromJson($newClass, $string); } } } // usuwanie kolekcji /** @var Object_Objectbrick_Definition $class */ foreach ($classes_array as $classname => $tmp) { $class = Object_Objectbrick_Definition::getByKey($classname); $class->delete(); echo "Delete objectbrick: " . $classname . "\n"; }