Example #1
0
 /**
  * Get the value for a non-native User field
  *
  * @param string $key
  * @return null|mixed
  *
  */
 protected function getFieldValue($key)
 {
     $value = parent::getFieldValue($key);
     if (!$value && $key == 'language') {
         $languages = $this->wire('languages');
         if ($languages) {
             $value = $languages->getDefault();
         }
     }
     return $value;
 }
Example #2
0
 /**
  * loadInstanceDataNow
  * @param string $strKey
  * @param array $arrGenFormPageIds
  * @return void
  * @author Thomas Schedler <*****@*****.**>
  */
 protected function loadInstanceDataNow($strKey, $arrGenFormPageIds, $strImgFieldIds = '5,55')
 {
     $intImgFilterTag = $this->objParentPage instanceof Page && $this->objParentPage->getField('entry_pic_tag') !== null && (int) $this->objParentPage->getFieldValue('entry_pic_tag') > 0 ? $this->objParentPage->getFieldValue('entry_pic_tag') : 0;
     $objPageRowset = $this->objModel->loadItemInstanceDataByIds($strKey, $arrGenFormPageIds, $intImgFilterTag, $strImgFieldIds);
     /**
      * overwrite page entries
      */
     if (isset($objPageRowset) && count($objPageRowset) > 0) {
         foreach ($objPageRowset as $objPageRow) {
             if (array_key_exists($objPageRow->id, $this->arrPageEntries)) {
                 if (is_array($this->arrPageEntries[$objPageRow->id])) {
                     $arrPageEntryContainers = $this->arrPageEntries[$objPageRow->id];
                 } else {
                     $arrPageEntryContainers = array($this->arrPageEntries[$objPageRow->id]);
                 }
                 foreach ($arrPageEntryContainers as $intContainerId) {
                     if (array_key_exists($intContainerId, $this->arrContainer)) {
                         $objPageEntry = $this->arrContainer[$intContainerId]->getPageEntry('entry_' . $objPageRow->id);
                         $objPageEntry->datetime = isset($objPageRow->datetime) ? strtotime($objPageRow->datetime) : '';
                         $objPageEntry->shortdescription = isset($objPageRow->shortdescription) ? $objPageRow->shortdescription : '';
                         $objPageEntry->description = isset($objPageRow->description) ? $objPageRow->description : '';
                         $objPageEntry->slogan = isset($objPageRow->slogan) ? $objPageRow->slogan : '';
                         $objPageEntry->filename = isset($objPageRow->filename) ? $objPageRow->filename : '';
                         $objPageEntry->fileversion = isset($objPageRow->fileversion) ? $objPageRow->fileversion : '';
                         $objPageEntry->filepath = isset($objPageRow->filepath) ? $objPageRow->filepath : '';
                         $objPageEntry->filetitle = isset($objPageRow->filetitle) ? $objPageRow->filetitle : '';
                         $objPageEntry->start_datetime = isset($objPageRow->start_datetime) ? $objPageRow->start_datetime : '';
                         $objPageEntry->end_datetime = isset($objPageRow->end_datetime) ? $objPageRow->end_datetime : '';
                         $objPageEntry->external = isset($objPageRow->external) ? $objPageRow->external : '';
                         if (isset($objPageRow->tagfilename) && $objPageRow->tagfilename !== null) {
                             $objPageEntry->filename = $objPageRow->tagfilename;
                         }
                         if (isset($objPageRow->tagfileversion) && $objPageRow->tagfileversion !== null) {
                             $objPageEntry->fileversion = $objPageRow->tagfileversion;
                         }
                         if (isset($objPageRow->tagfilepath) && $objPageRow->tagfilepath !== null) {
                             $objPageEntry->filepath = $objPageRow->tagfilepath;
                         }
                         if (isset($objPageRow->tagfiletitle) && $objPageRow->tagfiletitle !== null) {
                             $objPageEntry->filetitle = $objPageRow->tagfiletitle;
                         }
                         if (isset($objPageRow->categoryId) && $objPageRow->categoryId !== null) {
                             if ($objPageEntry->categories === null) {
                                 $objPageEntry->categories = new stdClass();
                                 $objPageEntry->categories->arr = array($objPageRow->categoryId => $objPageRow->category);
                             } else {
                                 $objPageEntry->categories->arr[$objPageRow->categoryId] = $objPageRow->category;
                             }
                         }
                         if (isset($objPageRow->courseId) && $objPageRow->courseId !== null && date('Ymd', strtotime($objPageRow->start_datetime)) >= date('Ymd')) {
                             if ($objPageEntry->courses === null) {
                                 $objPageEntry->courses = new stdClass();
                                 $objPageEntry->courses->arr = array();
                             }
                             if (!array_key_exists($objPageRow->courseId, $objPageEntry->courses->arr)) {
                                 $objCourse = new stdClass();
                                 $objCourse->id = $objPageRow->courseId;
                                 $objCourse->title = $objPageRow->courseTitle;
                                 $objCourse->start_datetime = strtotime($objPageRow->start_datetime);
                                 $objCourse->location = $objPageRow->location;
                                 $objCourse->speakers = array($objPageRow->speakerId => $objPageRow->speaker);
                                 $objCourse->categories = array($objPageRow->categoryId => $objPageRow->category);
                                 $objPageEntry->courses->arr[$objPageRow->courseId] = $objCourse;
                             } else {
                                 $objPageEntry->courses->arr[$objPageRow->courseId]->speakers[$objPageRow->speakerId] = $objPageRow->speaker;
                                 $objPageEntry->courses->arr[$objPageRow->courseId]->categories[$objPageRow->categoryId] = $objPageRow->category;
                             }
                         }
                         $this->arrContainer[$intContainerId]->addPageEntry($objPageEntry, 'entry_' . $objPageRow->id);
                     }
                 }
             }
         }
     }
 }
 /**
  * loadSitemap
  * @retrun NavigationTree
  * @author Thomas Schedler <*****@*****.**>
  * @version 1.0
  */
 public function loadSitemap()
 {
     try {
         $this->getModelFolders();
         $this->evaluateRootFolderId();
         $objSitemap = new NavigationTree();
         $objSitemap->setId(0);
         if ($this->intRootLevelId > 0) {
             $objNavigationData = $this->objModelFolders->loadWebsiteRootLevelChilds($this->intRootLevelId, 99, -1, true);
             $intTreeId = 0;
             foreach ($objNavigationData as $objNavigationItem) {
                 if ($objNavigationItem->title != '') {
                     if ($objNavigationItem->isStartPage == 1 && $objNavigationItem->depth == 0) {
                         /**
                          * add to parent tree
                          */
                         if (isset($objTree) && is_object($objTree) && $objTree instanceof NavigationTree) {
                             $objSitemap->addToParentTree($objTree, 'tree_' . $objTree->getId());
                         }
                         $objTree = new NavigationTree();
                         $objTree->setTitle($objNavigationItem->folderTitle != '' ? $objNavigationItem->folderTitle : $objNavigationItem->title);
                         $objTree->setId($objNavigationItem->idFolder);
                         $objTree->setParentId(0);
                         $objTree->setTypeId($objNavigationItem->idPageTypes);
                         $objTree->setItemId($objNavigationItem->folderId);
                         $objTree->setOrder($objNavigationItem->folderOrder);
                         $objTree->setUrl($objNavigationItem->idPageTypes == $this->core->sysConfig->page_types->external->id ? $objNavigationItem->external : '/' . strtolower($objNavigationItem->languageCode) . '/' . $objNavigationItem->url);
                         $objTree->setTarget($objNavigationItem->idPageTypes == $this->core->sysConfig->page_types->external->id ? $objNavigationItem->target : '');
                         $objTree->setChanged($objNavigationItem->changed);
                         $arrPageGlobaLinkTypes = array($this->core->sysConfig->page_types->product_tree->id, $this->core->sysConfig->page_types->press_area->id, $this->core->sysConfig->page_types->courses->id, $this->core->sysConfig->page_types->events->id);
                         if (in_array($objNavigationItem->idPageTypes, $arrPageGlobaLinkTypes)) {
                             $arrFilter = array();
                             if ($this->objPage instanceof Page && $this->objPage->getElementId() == $objNavigationItem->idPage) {
                                 $arrFilter = array('CategoryId' => $this->objPage->getFieldValue('entry_category'), 'LabelId' => $this->objPage->getFieldValue('entry_label'), 'SorttypeId' => $this->objPage->getFieldValue('entry_sorttype'), 'ParentId' => $this->objPage->getFieldValue('entry_point'));
                             } else {
                                 $arrFilter = array('CategoryId' => $objNavigationItem->entry_category, 'LabelId' => $objNavigationItem->entry_label, 'SorttypeId' => $objNavigationItem->entry_sorttype, 'ParentId' => $objNavigationItem->entry_point);
                             }
                             if (count($arrFilter) > 0) {
                                 $this->addGlobalTree($objTree, $objNavigationItem->idPageTypes, $arrFilter, 999);
                             }
                         }
                         $intTreeId = $objNavigationItem->idFolder;
                     } else {
                         if ($intTreeId != $objNavigationItem->idFolder) {
                             /**
                              * add to parent tree
                              */
                             if (isset($objTree) && is_object($objTree) && $objTree instanceof NavigationTree) {
                                 $objSitemap->addToParentTree($objTree, 'tree_' . $objTree->getId());
                             }
                             $objTree = new NavigationTree();
                             $objTree->setTitle($objNavigationItem->folderTitle);
                             $objTree->setId($objNavigationItem->idFolder);
                             $objTree->setTypeId($objNavigationItem->idPageTypes);
                             $objTree->setParentId($objNavigationItem->parentId);
                             $objTree->setItemId($objNavigationItem->folderId);
                             $objTree->setOrder($objNavigationItem->folderOrder);
                             $objTree->setUrl($objNavigationItem->idPageTypes == $this->core->sysConfig->page_types->external->id ? $objNavigationItem->external : '/' . strtolower($objNavigationItem->languageCode) . '/' . $objNavigationItem->url);
                             $objTree->setTarget($objNavigationItem->idPageTypes == $this->core->sysConfig->page_types->external->id ? $objNavigationItem->target : '');
                             $objTree->setChanged($objNavigationItem->changed);
                             $arrPageGlobaLinkTypes = array($this->core->sysConfig->page_types->product_tree->id, $this->core->sysConfig->page_types->press_area->id, $this->core->sysConfig->page_types->courses->id, $this->core->sysConfig->page_types->events->id);
                             if (in_array($objNavigationItem->idPageTypes, $arrPageGlobaLinkTypes)) {
                                 $arrFilter = array();
                                 if ($this->objPage instanceof Page && $this->objPage->getElementId() == $objNavigationItem->idPage) {
                                     $arrFilter = array('CategoryId' => $this->objPage->getFieldValue('entry_category'), 'LabelId' => $this->objPage->getFieldValue('entry_label'), 'SorttypeId' => $this->objPage->getFieldValue('entry_sorttype'), 'ParentId' => $this->objPage->getFieldValue('entry_point'));
                                 } else {
                                     $arrFilter = array('CategoryId' => $objNavigationItem->entry_category, 'LabelId' => $objNavigationItem->entry_label, 'SorttypeId' => $objNavigationItem->entry_sorttype, 'ParentId' => $objNavigationItem->entry_point);
                                 }
                                 if (count($arrFilter) > 0) {
                                     $this->addGlobalTree($objTree, $objNavigationItem->idPageTypes, $arrFilter, 999);
                                 }
                             }
                             $intTreeId = $objNavigationItem->idFolder;
                         }
                         if ($objNavigationItem->pageId != null) {
                             if ($objNavigationItem->isStartPage == 1 && isset($objTree)) {
                                 $objTree->setUrl($objNavigationItem->idPageTypes == $this->core->sysConfig->page_types->external->id ? $objNavigationItem->external : '/' . strtolower($objNavigationItem->languageCode) . '/' . $objNavigationItem->url);
                                 $objTree->setTarget($objNavigationItem->idPageTypes == $this->core->sysConfig->page_types->external->id ? $objNavigationItem->target : '');
                             } else {
                                 $objItem = new NavigationItem();
                                 $objItem->setTitle($objNavigationItem->title);
                                 $objItem->setUrl($objNavigationItem->idPageTypes == $this->core->sysConfig->page_types->external->id ? $objNavigationItem->external : '/' . strtolower($objNavigationItem->languageCode) . '/' . $objNavigationItem->url);
                                 $objItem->setTarget($objNavigationItem->idPageTypes == $this->core->sysConfig->page_types->external->id ? $objNavigationItem->target : '');
                                 $objItem->setId($objNavigationItem->idPage);
                                 $objItem->setTypeId($objNavigationItem->idPageTypes);
                                 $objItem->setParentId($objNavigationItem->idFolder);
                                 $objItem->setItemId($objNavigationItem->pageId);
                                 $objItem->setOrder($objNavigationItem->pageOrder);
                                 $objItem->setChanged($objNavigationItem->changed);
                                 if (isset($objTree)) {
                                     $objTree->addItem($objItem, 'item_' . $objItem->getId());
                                 } else {
                                     $objSitemap->addItem($objItem, 'item_' . $objItem->getId());
                                 }
                             }
                         }
                     }
                 }
             }
         }
         /**
          * add to parent tree
          */
         if (isset($objTree) && is_object($objTree) && $objTree instanceof NavigationTree) {
             $objSitemap->addToParentTree($objTree, 'tree_' . $objTree->getId());
         }
         return $objSitemap;
     } catch (Exception $exc) {
         $this->core->logger->err($exc);
     }
 }
Example #4
0
 public function getGoogleMapLng()
 {
     return $this->objPage->getFieldValue('gmaps')->longitude;
 }