/** * init */ public function init() { parent::init(); if (!Security::get()->isAllowed('user_administration', Security::PRIVILEGE_VIEW)) { $this->_redirect('/zoolu'); } }
/** * init */ public function init() { parent::init(); if (!Security::get()->isAllowed('contacts', Security::PRIVILEGE_VIEW)) { $this->_redirect('/zoolu'); } }
/** * getTopNavigation * @param Zend_Db_Table_Rowset_Abstract $objRowset * @param integer $strModule * @author Thomas Schedler <*****@*****.**> * @version 1.0 */ function getTopNavigation($objRowset, $intModuleId = 0) { $this->core->logger->debug('core->views->helpers->NavigationHelper->getTopNavigation()'); $strOutput = ''; if (count($objRowset) > 0) { foreach ($objRowset as $objRow) { if (Security::get()->isAllowed($objRow->resourceKey, Security::PRIVILEGE_VIEW)) { $strItemClass = $objRow->id == $intModuleId ? 'navtoplink_on' : 'navtoplink'; $strOutput .= ' <div class="' . $objRow->cssClass . '"> <div class="' . $strItemClass . '" onmouseover="this.style.cursor=\'pointer\';" onclick="location.href=\'/zoolu/' . $objRow->title . '/\'">' . $this->core->translate->_($objRow->resourceKey) . '</div> </div>'; } } } return $strOutput; }
/** * getOptionsOfSQL * returns the result of a SQL-Statement in the valid output form * <option value=[VALUE] >[DISPLAY]</option> * * Version history (please keep backward compatible): * 1.0, 2008-11-17: Cornelius Hansjakob * * @param Core $core * @param string $strSQL SQL statment * @param string $strSelectedValue * @return string $strHtmlOutput * @return array $arrSecurityCheck * @author Cornelius Hansjakob <*****@*****.**> * @version 1.0 */ public static function getOptionsOfSQL(Core &$core, $strSQL, $strSelectedValue = '', $arrSecurityCheck = array()) { $core->logger->debug('massiveart->utilities->HtmlOutput->getOptionsOfSQL: ' . $strSQL); $strHtmlOutput = ''; try { foreach ($core->dbh->query($strSQL)->fetchAll() as $arrSQLRow) { if (count($arrSecurityCheck) == 0 || Security::get()->isAllowed(sprintf($arrSecurityCheck['ResourceKey'], $arrSQLRow['VALUE']), $arrSecurityCheck['Privilege'], $arrSecurityCheck['CheckForAllLanguages'], $arrSecurityCheck['IfResourceNotExists'])) { if ($arrSQLRow['VALUE'] == $strSelectedValue) { $strSelected = ' selected'; } else { $strSelected = ''; } $strHtmlOutput .= '<option value="' . $arrSQLRow['VALUE'] . '"' . $strSelected . '>' . htmlentities($arrSQLRow['DISPLAY'], ENT_COMPAT, $core->sysConfig->encoding->default) . '</option>' . chr(13); } } } catch (Exception $exc) { $core->logger->err($exc); } return $strHtmlOutput; }
/** * deleteAction * @author Cornelius Hansjakob <*****@*****.**> * @version 1.0 */ public function deleteAction() { $this->core->logger->debug('media->controllers->FileController->deleteAction()'); //FIXME where is the file delete ???? if ($this->getRequest()->isPost() && $this->getRequest()->isXmlHttpRequest()) { $intRootLevelId = (int) $this->getRequest()->getParam('rootLevelId', 0); $blnAuthorizedToDelete = $intRootLevelId != 0 ? Security::get()->isAllowed(Security::RESOURCE_ROOT_LEVEL_PREFIX . $intRootLevelId, Security::PRIVILEGE_DELETE, true, false) : Security::get()->isAllowed('media', Security::PRIVILEGE_DELETE, false, false); if ($blnAuthorizedToDelete == true) { $this->getModelFiles(); $objRequest = $this->getRequest(); $strFileIds = $objRequest->getParam('fileIds'); $this->objModelFiles->deleteFiles($strFileIds); } } }
/** * getNavigationElements * @author Cornelius Hansjakob <*****@*****.**> * @version 1.0 */ function getNavigationElements($objRowset, $currLevel) { $this->core->logger->debug('cms->views->helpers->NavigationHelper->getNavigationElements()'); $strOutput = ''; $strOutputStartpage = ''; $counter = 1; if (count($objRowset) > 0) { foreach ($objRowset as $objRow) { $strPageTitle = $objRow->title; $strFolderTitle = $objRow->title; if ($objRow->pageLinkTitle != -1 && $objRow->pageType == $this->core->sysConfig->page_types->link->id) { $strPageTitle = $objRow->pageLinkTitle != '' ? $objRow->pageLinkTitle : ($objRow->pageGuiLinkTitle != '' ? $objRow->pageGuiLinkTitle : $objRow->title); } // gui fallback title if ($strPageTitle == '' && $objRow->elementType == 'page') { $strPageTitle = $objRow->guiTitle; $objRow->pageType = $this->core->sysConfig->page_types->page->id; $objRow->type = 'page'; $objRow->genericFormId = ''; $objRow->version = 'null'; $objRow->templateId = $objRow->isStartPage == 1 ? $this->core->sysConfig->page_types->page->startpage_templateId : $this->core->sysConfig->page_types->page->default_templateId; } // gui fallback title if ($strFolderTitle == '' && $objRow->elementType == 'folder') { $strFolderTitle = $objRow->guiTitle; $objRow->type = 'folder'; $objRow->genericFormId = $this->core->sysConfig->form->ids->folders->default; $objRow->version = 'null'; $objRow->templateId = -1; } $objRow->version = $objRow->version != '' ? $objRow->version : 'null'; $objRow->templateId = $objRow->templateId != '' ? $objRow->templateId : -1; if ($objRow->isStartPage == 1) { /** * overwrite type with 'page' */ $objRow->type = 'page'; $strTitleAddonClass = ''; $strTitleAddon = ''; if ($objRow->pageType == $this->core->sysConfig->page_types->link->id) { $strTitleAddonClass = ' italic'; $strTitleAddon = '∞ '; } /** * get values of the row and create startpage output */ $strOutputStartpage .= '<div id="' . $objRow->type . $objRow->id . '" class="' . $objRow->type . '"> <div class="icon img_startpage_' . ($objRow->idStatus == $this->core->sysConfig->status->live ? 'on' : 'off') . '"></div> <div id="divNavigationTitle_' . $objRow->type . $objRow->id . '" class="title' . $strTitleAddonClass . '" onclick="myNavigation.getEditForm(' . $objRow->id . ',\'' . $objRow->type . '\',\'' . $objRow->genericFormId . '\',' . $objRow->version . ',' . $objRow->templateId . '); return false;">' . $strTitleAddon . htmlentities($strPageTitle, ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</div> </div>'; } else { if ($objRow->pageType == $this->core->sysConfig->page_types->page->id) { /** * get values of the row and create page output */ $strOutput .= '<div id="' . $objRow->type . $objRow->id . '" class="' . $objRow->type . '"> <div class="icon img_' . $objRow->type . '_' . ($objRow->idStatus == $this->core->sysConfig->status->live ? 'on' : 'off') . '"></div> <div class="navsortpos"><input class="iptsortpos" type="text" name="pos_' . $objRow->type . '_' . $objRow->id . '" id="pos_' . $objRow->type . '_' . $objRow->id . '" value="' . $counter . '" onfocus="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false;" onkeyup="if(event.keyCode==13){ myNavigation.updateSortPosition(\'pos_' . $objRow->type . '_' . $objRow->id . '\',\'' . $objRow->type . '\',' . $currLevel . '); myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false; }" onblur="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false;" /></div> <div id="divNavigationTitle_' . $objRow->type . $objRow->id . '" class="title" onclick="myNavigation.getEditForm(' . $objRow->id . ',\'' . $objRow->type . '\',\'' . $objRow->genericFormId . '\',' . $objRow->version . ',' . $objRow->templateId . '); return false;">' . htmlentities($strPageTitle, ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</div> </div>'; $counter++; } else { if ($objRow->pageType == $this->core->sysConfig->page_types->link->id) { /** * overwrite type with 'page' */ $objRow->type = 'page'; /** * get values of the row and create page output */ $strOutput .= '<div id="' . $objRow->type . $objRow->id . '" class="' . $objRow->type . '"> <div class="icon img_' . $objRow->type . '_' . ($objRow->idStatus == $this->core->sysConfig->status->live ? 'on' : 'off') . '"></div> <div class="navsortpos"><input class="iptsortpos" type="text" name="pos_' . $objRow->type . '_' . $objRow->id . '" id="pos_' . $objRow->type . '_' . $objRow->id . '" value="' . $counter . '" onfocus="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false;" onkeyup="if(event.keyCode==13){ myNavigation.updateSortPosition(\'pos_' . $objRow->type . '_' . $objRow->id . '\',\'' . $objRow->type . '\',' . $currLevel . '); myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false; }" onblur="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false;" /></div> <div id="divNavigationTitle_' . $objRow->type . $objRow->id . '" class="title italic" onclick="myNavigation.getEditForm(' . $objRow->id . ',\'' . $objRow->type . '\',\'' . $objRow->genericFormId . '\',' . $objRow->version . ',' . $objRow->templateId . '); return false;">∞ ' . htmlentities($strPageTitle, ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</div> </div>'; $counter++; } else { if ($objRow->pageType == $this->core->sysConfig->page_types->external->id) { /** * overwrite type with 'page' */ $objRow->type = 'page'; /** * get values of the row and create page output */ $strOutput .= '<div id="' . $objRow->type . $objRow->id . '" class="' . $objRow->type . '"> <div class="icon img_' . $objRow->type . '_' . ($objRow->idStatus == $this->core->sysConfig->status->live ? 'on' : 'off') . '"></div> <div class="navsortpos"><input class="iptsortpos" type="text" name="pos_' . $objRow->type . '_' . $objRow->id . '" id="pos_' . $objRow->type . '_' . $objRow->id . '" value="' . $counter . '" onfocus="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false;" onkeyup="if(event.keyCode==13){ myNavigation.updateSortPosition(\'pos_' . $objRow->type . '_' . $objRow->id . '\',\'' . $objRow->type . '\',' . $currLevel . '); myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false; }" onblur="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false;" /></div> <div id="divNavigationTitle_' . $objRow->type . $objRow->id . '" class="title" onclick="myNavigation.getEditForm(' . $objRow->id . ',\'' . $objRow->type . '\',\'' . $objRow->genericFormId . '\',' . $objRow->version . ',' . $objRow->templateId . '); return false;">' . htmlentities($strPageTitle, ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</div> </div>'; $counter++; } else { if ($objRow->pageType == $this->core->sysConfig->page_types->sitemap->id) { /** * overwrite type with 'page' */ $objRow->type = 'page'; /** * get values of the row and create page output */ $strOutput .= '<div id="' . $objRow->type . $objRow->id . '" class="' . $objRow->type . '"> <div class="icon img_' . $objRow->type . '_' . ($objRow->idStatus == $this->core->sysConfig->status->live ? 'on' : 'off') . '"></div> <div class="navsortpos"><input class="iptsortpos" type="text" name="pos_' . $objRow->type . '_' . $objRow->id . '" id="pos_' . $objRow->type . '_' . $objRow->id . '" value="' . $counter . '" onfocus="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false;" onkeyup="if(event.keyCode==13){ myNavigation.updateSortPosition(\'pos_' . $objRow->type . '_' . $objRow->id . '\',\'' . $objRow->type . '\',' . $currLevel . '); myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false; }" onblur="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false;" /></div> <div id="divNavigationTitle_' . $objRow->type . $objRow->id . '" class="title" onclick="myNavigation.getEditForm(' . $objRow->id . ',\'' . $objRow->type . '\',\'' . $objRow->genericFormId . '\',' . $objRow->version . ',' . $objRow->templateId . '); return false;">' . htmlentities($strPageTitle, ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</div> </div>'; $counter++; } else { if ($objRow->pageType == $this->core->sysConfig->page_types->iframe->id) { /** * overwrite type with 'page' */ $objRow->type = 'page'; /** * get values of the row and create page output */ $strOutput .= '<div id="' . $objRow->type . $objRow->id . '" class="' . $objRow->type . '"> <div class="icon img_' . $objRow->type . '_' . ($objRow->idStatus == $this->core->sysConfig->status->live ? 'on' : 'off') . '"></div> <div class="navsortpos"><input class="iptsortpos" type="text" name="pos_' . $objRow->type . '_' . $objRow->id . '" id="pos_' . $objRow->type . '_' . $objRow->id . '" value="' . $counter . '" onfocus="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false;" onkeyup="if(event.keyCode==13){ myNavigation.updateSortPosition(\'pos_' . $objRow->type . '_' . $objRow->id . '\',\'' . $objRow->type . '\',' . $currLevel . '); myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false; }" onblur="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false;" /></div> <div id="divNavigationTitle_' . $objRow->type . $objRow->id . '" class="title" onclick="myNavigation.getEditForm(' . $objRow->id . ',\'' . $objRow->type . '\',\'' . $objRow->genericFormId . '\',' . $objRow->version . ',' . $objRow->templateId . '); return false;">' . htmlentities($strPageTitle, ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</div> </div>'; $counter++; } else { if ($objRow->pageType == $this->core->sysConfig->page_types->process->id) { /** * overwrite type with 'page' */ $objRow->type = 'page'; /** * get values of the row and create page output */ $strOutput .= '<div id="' . $objRow->type . $objRow->id . '" class="' . $objRow->type . '"> <div class="icon img_' . $objRow->type . '_' . ($objRow->idStatus == $this->core->sysConfig->status->live ? 'on' : 'off') . '"></div> <div class="navsortpos"><input class="iptsortpos" type="text" name="pos_' . $objRow->type . '_' . $objRow->id . '" id="pos_' . $objRow->type . '_' . $objRow->id . '" value="' . $counter . '" onfocus="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false;" onkeyup="if(event.keyCode==13){ myNavigation.updateSortPosition(\'pos_' . $objRow->type . '_' . $objRow->id . '\',\'' . $objRow->type . '\',' . $currLevel . '); myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false; }" onblur="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false;" /></div> <div id="divNavigationTitle_' . $objRow->type . $objRow->id . '" class="title" onclick="myNavigation.getEditForm(' . $objRow->id . ',\'' . $objRow->type . '\',\'' . $objRow->genericFormId . '\',' . $objRow->version . ',' . $objRow->templateId . '); return false;">' . htmlentities($strPageTitle, ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</div> </div>'; $counter++; } else { if (Security::get()->isAllowed(Security::RESOURCE_FOLDER_PREFIX . $objRow->id, Security::PRIVILEGE_VIEW)) { /** * get values of the row and create default output */ $strOutput .= '<div id="' . $objRow->type . $objRow->id . '" class="' . $objRow->type . '"> <div id="divNavigationEdit_' . $objRow->id . '" class="icon img_' . $objRow->type . '_' . ($objRow->idStatus == $this->core->sysConfig->status->live ? 'on' : 'off') . '" ondblclick="myNavigation.getEditForm(' . $objRow->id . ',\'' . $objRow->type . '\',\'' . $objRow->genericFormId . '\',' . $objRow->version . ',' . $objRow->templateId . '); return false;"></div> <div class="navsortpos"><input class="iptsortpos" type="text" name="pos_' . $objRow->type . '_' . $objRow->id . '" id="pos_' . $objRow->type . '_' . $objRow->id . '" value="' . $counter . '" onfocus="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false;" onkeyup="if(event.keyCode==13){ myNavigation.updateSortPosition(\'pos_' . $objRow->type . '_' . $objRow->id . '\',\'' . $objRow->type . '\',' . $currLevel . '); myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false; }" onblur="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false;"/></div> <div id="divNavigationTitle_' . $objRow->type . $objRow->id . '" class="title" onclick="myNavigation.selectNavigationItem(' . $currLevel . ', \'' . $objRow->type . '\',' . $objRow->id . '); return false;">' . htmlentities($strFolderTitle, ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</div> </div>'; } $counter++; } } } } } } } } if ($strOutputStartpage != '') { $strOutputStartpage .= '<div class="linegray"></div>'; } } return $strOutputStartpage . $strOutput; }
/** * rootnavigationAction * @author Cornelius Hansjakob <*****@*****.**> * @version 1.0 */ public function rootnavigationAction() { $this->core->logger->debug('cms->controllers->NavigationController->rootnavigationAction()'); $objRequest = $this->getRequest(); $intCurrLevel = $objRequest->getParam("currLevel"); $this->setPortalId($objRequest->getParam("rootLevelId")); if (Security::get()->isAllowed(Security::RESOURCE_ROOT_LEVEL_PREFIX . $this->intPortalId, Security::PRIVILEGE_VIEW)) { /** * get navigation */ $this->getModelFolders(); $objRootelements = $this->objModelFolders->loadRootNavigation($this->intPortalId); $this->view->assign('rootelements', $objRootelements); $this->view->assign('currLevel', $intCurrLevel); $this->view->assign('return', true); } else { $this->view->assign('return', false); } }
/** * getNavigationElements * @author Cornelius Hansjakob <*****@*****.**> * @version 1.0 */ function getNavigationElements($objRowset, $currLevel) { $this->core->logger->debug('media->views->helpers->NavigationHelper->getNavigationElements()'); $strOutput = ''; if (count($objRowset) > 0) { foreach ($objRowset as $strField => $objRow) { if (Security::get()->isAllowed(Security::RESOURCE_FOLDER_PREFIX . $objRow->id, Security::PRIVILEGE_VIEW)) { $strFolderTitle = $objRow->title; // gui fallback title if ($strFolderTitle == '' && $objRow->elementType == 'folder') { $strFolderTitle = $objRow->guiTitle; $objRow->type = 'folder'; $objRow->genericFormId = $this->core->sysConfig->form->ids->folders->default; $objRow->version = 'null'; $objRow->templateId = -1; } /** * get values of the row and create default output */ $strOutput .= '<div id="' . $objRow->type . $objRow->id . '" class="' . $objRow->type . '"> <div id="divNavigationEdit_' . $objRow->id . '" class="icon img_' . $objRow->type . '_on" ondblclick="myNavigation.getEditForm(' . $objRow->id . ',\'' . $objRow->type . '\',\'' . $objRow->genericFormId . '\',' . $objRow->version . '); return false;"></div> <div id="divNavigationTitle_' . $objRow->type . $objRow->id . '" class="title" onclick="myNavigation.selectNavigationItem(' . $currLevel . ', \'' . $objRow->type . '\',' . $objRow->id . '); myMedia.getMediaFolderContent(' . $objRow->id . '); return false;">' . htmlentities($strFolderTitle, ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</div> </div>'; } } } return $strOutput; }
/** * getNavigationElements * @author Thomas Schedler <*****@*****.**> * @version 1.0 */ function getNavigationElements($objRowset, $currLevel, $strGroupKey) { $this->core->logger->debug('cms->views->helpers->NavigationHelper->getNavigationElements()'); $strOutput = ''; $strOutputStartElement = ''; $counter = 1; $strGroupKeyOverview = $strGroupKey . '_overview'; if (count($objRowset) > 0) { foreach ($objRowset as $objRow) { $intSortRowId = $objRow->linkGlobalId > 0 ? $objRow->linkGlobalId : $objRow->id; $strGlobalTitle = $objRow->title; $strFolderTitle = $objRow->title; // gui fallback title if ($strGlobalTitle == '' && $objRow->elementType == 'global') { $strGlobalTitle = $objRow->guiTitle; $objRow->type = 'global'; $objRow->genericFormId = ''; $objRow->version = 'null'; $objRow->templateId = $objRow->isStartGlobal == 1 ? $this->core->sysConfig->global_types->{$strGroupKeyOverview}->default_templateId : $this->core->sysConfig->global_types->{$strGroupKey}->default_templateId; } // gui fallback title if ($strFolderTitle == '' && $objRow->elementType == 'folder') { $strFolderTitle = $objRow->guiTitle; $objRow->type = 'folder'; $objRow->genericFormId = $this->core->sysConfig->form->ids->folders->default; $objRow->version = 'null'; $objRow->templateId = -1; } $objRow->version = $objRow->version != '' ? $objRow->version : 'null'; $objRow->templateId = $objRow->templateId != '' ? $objRow->templateId : -1; if ($objRow->isStartGlobal == 1) { /** * overwrite type with 'global' */ $objRow->type = 'global'; /** * get values of the row and create startproduct output */ $strOutputStartElement .= '<div id="' . $objRow->type . $objRow->id . '" class="' . $objRow->type . '"> <div class="icon img_start_' . ($objRow->idStatus == $this->core->sysConfig->status->live ? 'on' : 'off') . '"></div> <div class="title" onclick="myNavigation.getEditForm(' . $objRow->id . ',\'' . $objRow->type . '\',\'' . $objRow->genericFormId . '\',' . $objRow->version . ',' . $objRow->templateId . ',' . $intSortRowId . '); return false;">' . htmlentities($strGlobalTitle, ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</div> </div>'; } else { if ($objRow->elementType == 'global') { /** * overwrite type with 'global' */ $objRow->type = 'global'; /** * get values of the row and create global output */ $strOutput .= '<div id="' . $objRow->type . $objRow->id . '" class="' . $objRow->type . '"> <div class="icon img_' . $objRow->type . '_' . ($objRow->idStatus == $this->core->sysConfig->status->live ? 'on' : 'off') . '"></div> <div class="navsortpos"><input class="iptsortpos" type="text" name="pos_' . $objRow->type . '_' . $intSortRowId . '" id="pos_' . $objRow->type . '_' . $intSortRowId . '" value="' . $counter . '" onfocus="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $intSortRowId . '\'); return false;" onkeyup="if(event.keyCode==13){ myNavigation.updateSortPosition(\'pos_' . $objRow->type . '_' . $intSortRowId . '\',\'' . $objRow->type . '\',' . $currLevel . '); myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $intSortRowId . '\'); return false; }" onblur="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $intSortRowId . '\'); return false;" /></div> <div class="title" onclick="myNavigation.getEditForm(' . $objRow->id . ',\'' . $objRow->type . '\',\'' . $objRow->genericFormId . '\',' . $objRow->version . ',' . $objRow->templateId . ',' . $intSortRowId . '); return false;">' . htmlentities($strGlobalTitle, ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</div> </div>'; $counter++; } else { if (Security::get()->isAllowed(Security::RESOURCE_FOLDER_PREFIX . $objRow->id, Security::PRIVILEGE_VIEW)) { /** * get values of the row and create default output */ $strOutput .= '<div id="' . $objRow->type . $objRow->id . '" class="' . $objRow->type . '"> <div id="divNavigationEdit_' . $objRow->id . '" class="icon img_' . $objRow->type . '_' . ($objRow->idStatus == $this->core->sysConfig->status->live ? 'on' : 'off') . '" ondblclick="myNavigation.getEditForm(' . $objRow->id . ',\'' . $objRow->type . '\',\'' . $objRow->genericFormId . '\',' . $objRow->version . ',' . $objRow->templateId . '); return false;"></div> <div class="navsortpos"><input class="iptsortpos" type="text" name="pos_' . $objRow->type . '_' . $objRow->id . '" id="pos_' . $objRow->type . '_' . $objRow->id . '" value="' . $counter . '" onfocus="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false;" onkeyup="if(event.keyCode==13){ myNavigation.updateSortPosition(\'pos_' . $objRow->type . '_' . $objRow->id . '\',\'' . $objRow->type . '\',' . $currLevel . '); myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false; }" onblur="myNavigation.toggleSortPosBox(\'pos_' . $objRow->type . '_' . $objRow->id . '\'); return false;"/></div> <div id="divNavigationTitle_' . $objRow->type . $objRow->id . '" class="title" onclick="myNavigation.selectNavigationItem(' . $currLevel . ', \'' . $objRow->type . '\',' . $objRow->id . '); return false;">' . htmlentities($strFolderTitle, ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</div> </div>'; } $counter++; } } } if ($strOutputStartElement != '') { $strOutputStartElement .= '<div class="linegray"></div>'; } } return $strOutputStartElement . $strOutput; }
/** * getItemLanguageId * @param integer $intActionType * @return integer * @author Cornelius Hansjakob <*****@*****.**> * @version 1.0 */ protected function getItemLanguageId($intActionType = null) { if ($this->intItemLanguageId == null) { if (!$this->objRequest->getParam("languageId")) { $this->intItemLanguageId = $this->objRequest->getParam("rootLevelLanguageId") != '' ? $this->objRequest->getParam("rootLevelLanguageId") : $this->core->intZooluLanguageId; $intRootLevelId = $this->objRequest->getParam("rootLevelId"); $PRIVILEGE = $intActionType == $this->core->sysConfig->generic->actions->add ? Security::PRIVILEGE_ADD : Security::PRIVILEGE_UPDATE; $arrLanguages = $this->core->config->languages->language->toArray(); foreach ($arrLanguages as $arrLanguage) { if (Security::get()->isAllowed(Security::RESOURCE_ROOT_LEVEL_PREFIX . $intRootLevelId . '_' . $arrLanguage['id'], $PRIVILEGE, false, false)) { $this->intItemLanguageId = $arrLanguage['id']; break; } } } else { $this->intItemLanguageId = $this->objRequest->getParam("languageId"); } } return $this->intItemLanguageId; }
/** * rootnavigationAction * @author Cornelius Hansjakob <*****@*****.**> * @version 1.0 */ public function rootnavigationAction() { $this->core->logger->debug('contacts->controllers->NavigationController->rootnavigationAction()'); $objRequest = $this->getRequest(); $intCurrLevel = $objRequest->getParam('currLevel'); $this->setRootLevelId($objRequest->getParam('rootLevelId')); $intRootLevelTypeId = $objRequest->getParam('rootLevelTypeId'); $intRootLevelGroupId = $objRequest->getParam('rootLevelGroupId'); $strRootLevelGroupKey = $objRequest->getParam('rootLevelGroupKey'); $strRenderScript = ''; if (Security::get()->isAllowed(Security::RESOURCE_ROOT_LEVEL_PREFIX . $this->intRootLevelId, Security::PRIVILEGE_VIEW, true, false)) { $objRootelements = new stdClass(); if ($intRootLevelTypeId != '' && $intRootLevelTypeId > 0) { switch ($intRootLevelTypeId) { case $this->core->sysConfig->root_level_types->contacts: /** * get contacts root navigation */ $this->getModelContacts(); $objRootelements = $this->objModelContacts->loadNavigation($this->intRootLevelId, 0); $strRenderScript = 'contactnavigation.phtml'; break; case $this->core->sysConfig->root_level_types->locations: /** * get locations root navigation */ $this->getModelLocations(); $objRootelements = $this->objModelLocations->loadNavigation($this->intRootLevelId, 0, true); $strRenderScript = 'locationnavigation.phtml'; break; case $this->core->sysConfig->root_level_types->members: /** * get members root navigation */ $this->getModelMembers(); $objRootelements = $this->objModelMembers->loadNavigation($this->intRootLevelId, 0); $strRenderScript = 'membernavigation.phtml'; break; } } $this->view->assign('rootelements', $objRootelements); $this->view->assign('currLevel', $intCurrLevel); $this->view->assign('rootLevelId', $this->intRootLevelId); $this->view->assign('rootLevelTypeId', $intRootLevelTypeId); $this->view->assign('unitFormDefaultId', $this->core->sysConfig->form->ids->units->default); $this->view->assign('contactFormDefaultId', $this->core->sysConfig->form->ids->contacts->default); $this->view->assign('return', true); if ($strRenderScript != '') { $this->renderScript('navigation/' . $strRenderScript); } } else { $this->view->assign('return', false); } }
/** * getMainNavigation * @author Thomas Schedler <*****@*****.**> * @version 1.0 */ public function getMainNavigation(NavigationTree $rootLevelNavigation, $rootLevelId, $strViewType = '') { $this->core->logger->debug('contacts->views->helpers->NavigationHelper->getMainNavigation(): rootLevelId: ' . $rootLevelId . ' - strViewType: ' . $strViewType); $strOutput = ''; foreach ($rootLevelNavigation as $objNavigationTree) { if (count($objNavigationTree) == 1) { foreach ($objNavigationTree as $objNavigation) { /** * get values of the row and create output */ $strJsClickFunc = ''; $strRootLevelIconCss = ''; $strRootLevelType = ''; switch ($objNavigation->getTypeId()) { case $this->core->sysConfig->root_level_types->contacts: $strRootLevelType = 'contact'; $strJsClickFunc = 'myNavigation.selectContacts(' . $objNavigation->getId() . ', ' . $objNavigationTree->getTypeId() . ', \'' . $objNavigation->getUrl() . '\', true, \'' . $strViewType . '\'); return false;'; $strRootLevelIconCss = 'usericon'; break; case $this->core->sysConfig->root_level_types->locations: $strRootLevelType = 'location'; $strJsClickFunc = 'myNavigation.selectLocations(' . $objNavigation->getId() . ', ' . $objNavigationTree->getTypeId() . ', \'' . $objNavigation->getUrl() . '\', true, \'' . $strViewType . '\'); return false;'; $strRootLevelIconCss = 'locationicon'; break; case $this->core->sysConfig->root_level_types->members: $strRootLevelType = 'member'; $strJsClickFunc = 'myNavigation.selectMembers(' . $objNavigation->getId() . ', ' . $objNavigationTree->getTypeId() . ', \'' . $objNavigation->getUrl() . '\', \'' . $strViewType . '\', \'' . $strRootLevelType . '\'); return false;'; $strRootLevelIconCss = 'usericon'; break; case $this->core->sysConfig->root_level_types->companies: $strRootLevelType = 'company'; $strJsClickFunc = 'myNavigation.selectCompanies(' . $objNavigation->getId() . ', ' . $objNavigationTree->getTypeId() . ', \'' . $objNavigation->getUrl() . '\', \'' . $strViewType . '\', \'' . $strRootLevelType . '\'); return false;'; $strRootLevelIconCss = 'locationicon'; break; } if (Security::get()->isAllowed(Security::RESOURCE_ROOT_LEVEL_PREFIX . $objNavigation->getId(), Security::PRIVILEGE_VIEW, true, false)) { $strSelected = ''; if ($rootLevelId == $objNavigation->getId()) { $strSelected = ' selected'; $strOutput .= ' <script type="text/javascript">//<![CDATA[ var preSelectedNaviItem = \'naviitem' . $objNavigation->getId() . '\'; </script>'; } $strOutput .= ' <div class="naviitemcontainer"> <div id="naviitem' . $objNavigation->getId() . 'top" class="top' . $strSelected . '"><img src="/zoolu-statics/images/main/bg_box_230_top.png" width="230" height="4"/></div> <div id="naviitem' . $objNavigation->getId() . '" class="naviitem' . $strSelected . '" onclick="' . $strJsClickFunc . '"> <div class="' . $strRootLevelIconCss . '"></div> <div id="divRootLevelTitle_' . $objNavigation->getId() . '" class="itemtitle">' . htmlentities($objNavigation->getTitle(), ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</div> <div class="clear"></div> <input type="hidden" value="' . $objNavigationTree->getItemId() . '" id="rootLevelGroupKey' . $objNavigationTree->getTypeId() . '"/> <input type="hidden" value="' . $objNavigation->getLanguageId() . '" id="rootLevelLanguageId' . $objNavigation->getId() . '"/> <input type="hidden" value="' . $strRootLevelType . '" id="rootLevelType' . $objNavigation->getId() . '"/> </div> <div id="naviitem' . $objNavigation->getId() . 'bottom" class="bottom' . $strSelected . '"><img src="/zoolu-statics/images/main/bg_box_230_bottom.png" width="230" height="4"/></div> <div class="clear"></div> </div>'; } } } else { $strSubNavi = ''; $strDisplaySubNavi = ' style="display:none;"'; $strSubNaviSelected = ''; foreach ($objNavigationTree as $objNavigation) { /** * get values of the row and create output */ $strJsClickFunc = ''; $strRootLevelIconCss = ''; $strRootLevelType = ''; switch ($objNavigation->getTypeId()) { case $this->core->sysConfig->root_level_types->contacts: $strRootLevelType = 'contact'; $strJsClickFunc = 'myNavigation.selectContacts(' . $objNavigation->getId() . ', ' . $objNavigationTree->getTypeId() . ', \'' . $objNavigation->getUrl() . '\', true, \'' . $strViewType . '\'); return false;'; $strRootLevelIconCss = 'portalcontenticon'; break; case $this->core->sysConfig->root_level_types->locations: $strRootLevelType = 'location'; $strJsClickFunc = 'myNavigation.selectLocations(' . $objNavigation->getId() . ', ' . $objNavigationTree->getTypeId() . ', \'' . $objNavigation->getUrl() . '\', true, \'' . $strViewType . '\'); return false;'; $strRootLevelIconCss = 'portalcontenticon'; break; case $this->core->sysConfig->root_level_types->members: $strRootLevelType = 'member'; $strJsClickFunc = 'myNavigation.selectMembers(' . $objNavigation->getId() . ', ' . $objNavigationTree->getTypeId() . ', \'' . $objNavigation->getUrl() . '\', \'' . $strViewType . '\', \'' . $strRootLevelType . '\'); return false;'; $strRootLevelIconCss = 'portalcontenticon'; break; case $this->core->sysConfig->root_level_types->companies: $strRootLevelType = 'company'; $strJsClickFunc = 'myNavigation.selectCompanies(' . $objNavigation->getId() . ', ' . $objNavigationTree->getTypeId() . ', \'' . $objNavigation->getUrl() . '\', \'' . $strViewType . '\', \'' . $strRootLevelType . '\'); return false;'; $strRootLevelIconCss = 'portalcontenticon'; break; } if (Security::get()->isAllowed(Security::RESOURCE_ROOT_LEVEL_PREFIX . $objNavigation->getId(), Security::PRIVILEGE_VIEW, true, false)) { $strSelected = ''; if ($rootLevelId == $objNavigation->getId()) { $strSelected = ' selected'; $strSubNaviSelected = ' selected'; $strDisplaySubNavi = ''; $strSubNavi .= ' <script type="text/javascript">//<![CDATA[ var preSelectedNaviItem = \'naviitem' . $objNavigationTree->getId() . '\'; var preSelectedSubNaviItem = \'subnaviitem' . $objNavigation->getId() . '\'; </script>'; } $strSubNavi .= ' <div id="subnaviitem' . $objNavigation->getId() . '" class="menulink' . $strSelected . '"> <div class="' . $strRootLevelIconCss . '"></div> <div class="menutitle"> <a id="subnaviitem' . $objNavigation->getId() . '_link" onclick="' . $strJsClickFunc . '" href="#">' . htmlentities($objNavigation->getTitle(), ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</a> <input type="hidden" value="' . $strRootLevelType . '" id="rootLevelType' . $objNavigation->getId() . '"/> </div> <div class="clear"></div> </div>'; } } if ($strSubNavi != '') { $strOutput .= ' <div class="naviitemcontainer"> <div id="naviitem' . $objNavigationTree->getId() . 'top" class="top' . $strSubNaviSelected . '"><img src="/zoolu-statics/images/main/bg_box_230_top.png" width="230" height="4"/></div> <div id="naviitem' . $objNavigationTree->getId() . '" class="naviitem' . $strSubNaviSelected . '" onclick="myNavigation.selectRootLevel(' . $objNavigationTree->getId() . ', ' . $objNavigationTree->getTypeId() . ', \'\', false, \'' . $strViewType . '\'); return false;"> <div class="usericon"></div> <div id="divRootLevelTitle_' . $objNavigationTree->getId() . '" class="itemtitle">' . htmlentities($objNavigationTree->getTitle(), ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</div> <div class="clear"></div> <input type="hidden" value="' . $objNavigationTree->getItemId() . '" id="rootLevelGroupKey' . $objNavigationTree->getTypeId() . '"/> <input type="hidden" value="' . $objNavigationTree->getLanguageId() . '" id="rootLevelLanguageId' . $objNavigationTree->getId() . '"/> </div> <div id="naviitem' . $objNavigationTree->getId() . 'menu" class="menu"' . $strDisplaySubNavi . '> ' . $strSubNavi . ' </div> <div id="naviitem' . $objNavigationTree->getId() . 'bottom" class="bottom' . $strSubNaviSelected . '"><img src="/zoolu-statics/images/main/bg_box_230_bottom.png" width="230" height="4"/></div> <div class="clear"></div> </div>'; } } } return $strOutput; }
/** * init * @author Thomas Schedler <*****@*****.**> * @version 1.0 * @return void */ public function init() { parent::init(); Security::get()->addFoldersToAcl($this->getModelFolders()); Security::get()->addRootLevelsToAcl($this->getModelFolders(), $this->core->sysConfig->modules->media); }
/** * rootnavigationAction * @author Thomas Schedler <*****@*****.**> * @version 1.0 */ public function rootnavigationAction() { $this->core->logger->debug('global->controllers->NavigationController->rootnavigationAction()'); $objRequest = $this->getRequest(); $intCurrLevel = $objRequest->getParam("currLevel"); $this->setRootLevelId($objRequest->getParam("rootLevelId")); $intRootLevelGroupId = $objRequest->getParam('rootLevelGroupId'); $strRootLevelGroupKey = $objRequest->getParam('rootLevelGroupKey', 'content'); if (Security::get()->isAllowed(Security::RESOURCE_ROOT_LEVEL_PREFIX . $this->intRootLevelId, Security::PRIVILEGE_VIEW, true, false)) { /** * get navigation */ $this->getModelFolders(); $objRootelements = $this->objModelFolders->loadGlobalRootNavigation($this->intRootLevelId, $intRootLevelGroupId); $this->view->assign('rootelements', $objRootelements); $this->view->assign('currLevel', $intCurrLevel); $this->view->assign('folderFormDefaultId', $this->core->sysConfig->form->ids->folders->default); $this->view->assign('elementFormDefaultId', $this->core->sysConfig->global_types->{$strRootLevelGroupKey}->default_formId); $this->view->assign('elementTemplateDefaultId', $this->core->sysConfig->global_types->{$strRootLevelGroupKey}->default_templateId); $this->view->assign('elementTypeDefaultId', $this->core->sysConfig->global_types->{$strRootLevelGroupKey}->id); $this->view->assign('rootLevelId', $this->intRootLevelId); $this->view->assign('rootLevelGroupId', $intRootLevelGroupId); $this->view->assign('rootLevelGroupKey', $strRootLevelGroupKey); $this->view->assign('return', true); } else { $this->view->assign('return', false); } }
/** * assignSecurityOptions * @author Thomas Schedler <*****@*****.**> * @version 1.0 */ protected function assignSecurityOptions() { $intRootLevelId = (int) $this->getRequest()->getParam('rootLevelId', 0); if ($intRootLevelId != 0) { $this->view->authorizedAdd = Security::get()->isAllowed(Security::RESOURCE_ROOT_LEVEL_PREFIX . $intRootLevelId, Security::PRIVILEGE_ADD, true, false); $this->view->authorizedDelete = Security::get()->isAllowed(Security::RESOURCE_ROOT_LEVEL_PREFIX . $intRootLevelId, Security::PRIVILEGE_DELETE, true, false); $this->view->authorizedUpdate = Security::get()->isAllowed(Security::RESOURCE_ROOT_LEVEL_PREFIX . $intRootLevelId, Security::PRIVILEGE_UPDATE, true, false); } else { $this->view->authorizedAdd = Security::get()->isAllowed('media', Security::PRIVILEGE_ADD, false, false); $this->view->authorizedDelete = Security::get()->isAllowed('media', Security::PRIVILEGE_DELETE, false, false); $this->view->authorizedUpdate = Security::get()->isAllowed('media', Security::PRIVILEGE_UPDATE, false, false); } }
/** * checkZonePrivileges * @return boolean * @author Thomas Schedler <*****@*****.**> * @version 1.0 */ public function checkZonePrivileges() { $blnAuthorized = true; Security::get()->addFoldersToAcl($this->getModelFolders(), Security::ZONE_WEBSITE); if (count($this->ParentFolders()) > 0) { foreach ($this->ParentFolders() as $objParentFolderData) { if ($objParentFolderData->isSecure == 1 && !Security::get()->isAllowed(Security::RESOURCE_FOLDER_PREFIX . $objParentFolderData->id, Security::PRIVILEGE_VIEW, true, false, Security::ZONE_WEBSITE) && !Security::get()->isAllowed(Security::RESOURCE_FOLDER_PREFIX . $objParentFolderData->id . '_' . $this->intLanguageId, Security::PRIVILEGE_VIEW, true, false, Security::ZONE_WEBSITE)) { $blnAuthorized = false; break; } } } return $blnAuthorized; }
/** * checkPortalSecuirty * @return void */ private function checkPortalSecuirty() { /** * check portal security */ if (isset($this->objTheme) && (int) $this->objTheme->isSecure === 1) { // deactivate caching $this->blnCachingStart = false; $objAuth = Zend_Auth::getInstance(); if (!Zend_Auth::getInstance()->hasIdentity()) { $this->_redirect('/login?re=' . urlencode($_SERVER['REQUEST_URI'])); } else { Security::get()->addRootLevelsToAcl($this->getModelFolders(), $this->core->sysConfig->modules->cms, Security::ZONE_WEBSITE); if (!Security::get()->isAllowed(Security::RESOURCE_ROOT_LEVEL_PREFIX . $this->objTheme->idRootLevels, Security::PRIVILEGE_VIEW, false, false, Security::ZONE_WEBSITE) && !Security::get()->isAllowed(Security::RESOURCE_ROOT_LEVEL_PREFIX . $this->objTheme->idRootLevels . '_' . $this->intLanguageId, Security::PRIVILEGE_VIEW, false, false, Security::ZONE_WEBSITE)) { $this->getResponse()->setHeader('HTTP/1.1', '403 Forbidden'); $this->getResponse()->setHeader('Status', '403 Forbidden'); $this->getResponse()->setHttpResponseCode(401); $this->strRenderScript = 'error-403.php'; } } } }