public function getDescription($name, $lang = NULL) { $returnText = NULL; $_lang = $lang === NULL ? $this->presenter->getFullLang() : $lang; $description = \Utils\MultiValues::unserialize($this->imageData['ext']); if ($description) { if (isset($description[$_lang][$name])) { $returnText = $description[$_lang][$name]; } } return $returnText; }
public function filterEntityProperties($properties, $labelId) { $key = $labelId . '-entityParams'; $data = $this->_loadMeta($key); if ($data !== FALSE) { $defaults = \Utils\MultiValues::unserialize($data); if ($defaults !== FALSE) { $newProperties = array(); foreach ($properties as $propertyName => $property) { if (isset($defaults[$propertyName])) { if (!$defaults[$propertyName]['exclude']) { $_p = $property; $_p['label'] = $defaults[$propertyName]['label']; $newProperties[$propertyName] = $_p; } } } } $properties = $newProperties; // dump($properties, \Utils\MultiValues::unserialize($data)); // die(); } return $properties; }
public function loadSortedLabelExtensions($labelId, $entity = NULL) { $label = $this->presenter->pageManagerService->getLabel($labelId); if ($entity !== NULL) { $entityConfig = $this->presenter->configLoaderService->loadEntityConfig($entity); if (isset($entityConfig['properties']) && $entityConfig['properties']) { $properties = $this->presenter->extModel->filterEntityProperties($entityConfig['properties'], $labelId); foreach ($properties as $propertyName => $property) { $items[str_replace('_', '*', $propertyName)] = $property['label'] . '*'; } } } if (isset($label['extensions'])) { foreach ($label['extensions'] as $extId => $labelExtension) { $items[str_replace('_', '*', 'ext_' . $labelExtension['ext_identifier'])] = $labelExtension['ext_title']; } } $extSortOrder = $this->presenter->extModel->loadExtSorting($labelId); if ($extSortOrder) { $extSorting = NULL; if ($extSorting = \Utils\MultiValues::unserialize($extSortOrder)) { // die(); uksort($items, function ($a, $b) use($extSorting) { $aPos = array_search($a, $extSorting); $bPos = array_search($b, $extSorting); if ($aPos !== FALSE && $bPos !== FALSE) { return $aPos - $bPos; } else { if ($aPos === FALSE) { return -1; } else { return 1; } } }); } } return $items; }
public function savePageSorting($labelId, $parentId, $items) { $res = $this->connection->fetchSingle('SELECT [page_order] FROM [:core:labels] WHERE [label_id] = %i', $labelId); $pageSort = array(); if ($res && \Utils\MultiValues::unserialize($res)) { $pageSort = \Utils\MultiValues::unserialize($res); } $pageSort[$parentId] = $items; // print_r($items); // die(); return $this->connection->query('UPDATE [:core:labels] SET [page_order] = %s WHERE [label_id] = %i', serialize($pageSort), $labelId); }