public function getTreeAction() { $classesList = new Object_Class_List(); $classesList->setOrderKey("name"); $classesList->setOrder("asc"); $classes = $classesList->load(); $classItems = array(); foreach ($classes as $classItem) { $classItems[] = array("id" => $classItem->getId(), "text" => $classItem->getName(), "icon" => $classItem->getIcon(), "propertyVisibility" => $classItem->getPropertyVisibility(), "qtipCfg" => array("title" => "ID: " . $classItem->getId())); } $this->_helper->json($classItems); }
public function getTreeAction() { $allowed = $this->getRequest()->getParam('allowed'); $classesList = new Object_Class_List(); $classesList->setOrderKey("name"); $classesList->setOrder("asc"); if ($allowed) { $classesList->setCondition(Pimcore_Resource_Mysql::get()->quoteInto('id IN (?)', explode(',', $allowed))); } $classes = $classesList->load(); $classItems = array(); foreach ($classes as $classItem) { $classItems[] = array("id" => $classItem->getId(), "text" => $classItem->getName(), "icon" => $classItem->getIcon(), "propertyVisibility" => $classItem->getPropertyVisibility(), "qtipCfg" => array("title" => "ID: " . $classItem->getId())); } $this->_helper->json($classItems); }
/** * finds all objects which hold a reference to a specific user * * @static * @param integer $userId * @return Object_Concrete[] */ public static function getObjectsReferencingUser($userId) { $userObjects = array(); $classesList = new Object_Class_List(); $classesList->setOrderKey("name"); $classesList->setOrder("asc"); $classes = $classesList->load(); $classesToCheck = array(); if (is_array($classes)) { foreach ($classes as $class) { $fieldDefinitions = $class->getFieldDefinitions(); $dataKeys = array(); if (is_array($fieldDefinitions)) { foreach ($fieldDefinitions as $tag) { if ($tag instanceof Object_Class_Data_User) { $dataKeys[] = $tag->getName(); } } } if (is_array($dataKeys) and count($dataKeys) > 0) { $classesToCheck[$class->getName()] = $dataKeys; } } } foreach ($classesToCheck as $classname => $fields) { $listName = "Object_" . ucfirst($classname) . "_List"; $list = new $listName(); $conditionParts = array(); foreach ($fields as $field) { $conditionParts[] = $field . "='" . $userId . "'"; } $list->setCondition(implode(" AND ", $conditionParts)); $objects = $list->load(); $userObjects = array_merge($userObjects, $objects); } return $userObjects; }
// todo move to composer's post install scripts if (!is_dir(PIMCORE_DOCUMENT_ROOT . '/data')) { mkdir(PIMCORE_DOCUMENT_ROOT . '/data'); } if (!is_dir(PIMCORE_DOCUMENT_ROOT . '/data/classes')) { mkdir(PIMCORE_DOCUMENT_ROOT . '/data/classes'); } if (!is_dir(PIMCORE_DOCUMENT_ROOT . '/data/fieldcollections')) { mkdir(PIMCORE_DOCUMENT_ROOT . '/data/fieldcollections'); } if (!is_dir(PIMCORE_DOCUMENT_ROOT . '/data/objectbricks')) { mkdir(PIMCORE_DOCUMENT_ROOT . '/data/objectbricks'); } $classesList = new Object_Class_List(); $classesList->setOrderKey("name"); $classesList->setOrder("asc"); $classes = $classesList->load(); $files = glob(PIMCORE_DOCUMENT_ROOT . '/data/classes/*'); // get all file names foreach ($files as $file) { // iterate files if (is_file($file)) { unlink($file); } // delete file } /** @var Object_Class $class */ foreach ($classes as $class) { $json = Object_Class_Service::generateClassDefinitionJson($class); $handle = fopen(PIMCORE_DOCUMENT_ROOT . '/data/classes/' . $class->getName() . '.json', 'w'); fwrite($handle, $json);