/** * Get all youtube setting, considering root page and content element & module config * * @return array the settings */ public function getData() { $arrData = array(); $objRoot = \Frontend::getRootPageFromUrl(); if ($objRoot === null) { return $arrData; } if (!is_array($this->arrData)) { $this->arrData = array(); } $arrRootPageData = \HeimrichHannot\Haste\Util\Arrays::filterByPrefixes($objRoot->row(), self::$arrayKeyPrefixes); // array_filter() : do not overwrite empty values $arrData = array_merge(array_filter($arrRootPageData, 'strval'), array_filter($this->arrData, 'strval')); return $arrData; }
public static function getPageIdFromUrlHook($arrFragments) { $objParticipation = ParticipationModel::findPublishedByAlias(\Environment::get('request')); if ($objParticipation !== null) { $blnAddParticipation = true; // only one participation per alias is supported yet if ($objParticipation instanceof \Model\Collection) { $objParticipation = $objParticipation->current(); } $objArchive = $objParticipation->getRelated('pid'); if ($objArchive === null) { $blnAddParticipation = false; } // check if current page is in defined root if ($objArchive->defineRoot && $objArchive->rootPage > 0) { $objCurrentRootPage = \Frontend::getRootPageFromUrl(); $objRootPage = \PageModel::findByPk($objArchive->rootPage); if ($objRootPage !== null && $objCurrentRootPage !== null) { if ($objRootPage->domain != $objCurrentRootPage->domain) { $blnAddParticipation = false; ParticipationController::removeActiveParticipation(); } } } if ($blnAddParticipation) { ParticipationController::setActiveParticipation($objParticipation); if ($objArchive->addInfoMessage && $objArchive->infoMessageWith !== '') { ParticipationMessage::addInfo(\String::parseSimpleTokens($objArchive->infoMessageWith, array('participation' => ParticipationController::getParticipationLabel($objParticipation, '', true))), PARTICIPATION_MESSAGEKEY_ACTIVE); } } if (($objConfig = ParticipationController::findParticipationDataConfigClass($objParticipation)) !== null) { global $objPage; $objJumpTo = $objConfig->getJumpToPage(); // redirect first, otherwise participation process will run twice if ($objJumpTo !== null && $objPage->id != $objJumpTo->id) { \Controller::redirect(\Controller::generateFrontendUrl($objJumpTo->row())); } } } return $arrFragments; }