Esempio n. 1
0
 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;
 }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
 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);
 }