/** * 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; }
/** * 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); } }
public function getGoogleMapLng() { return $this->objPage->getFieldValue('gmaps')->longitude; }