public function runReferrerControl() { //WARNING, THIS COULD LEAD TO INFINITE LOOP $sLastURL = FlexiPlatformHandler::getReferrerURL(); //var_dump($sLastURL); //echo __METHOD__ . ":baseurl: " . FlexiConfig::$sBaseURL; $iPos = strpos(strtolower($sLastURL), strtolower(FlexiConfig::$sBaseURL)); //var_dump($iPos); if ($iPos !== false && $iPos == 0) { //is this site $aURL = FlexiURLUtil::parseURL($sLastURL); $sMethod = "default"; $sModule = "default"; $aQuery = $aURL["aQuery"]; if (count($aQuery) > 0) { $sRequestModule = $sQueryModule = FlexiConfig::getRequestModuleVarName(); $sQueryMethod = FlexiConfig::getRequestMethodVarName(); if (isset($aQuery[$sQueryModule]) && !empty($sQueryModule)) { $sModule = $aQuery[$sQueryModule]; } if (isset($aQuery[$sQueryMethod]) && !empty($sQueryMethod)) { $sMethod = $aQuery[$sQueryMethod]; } } FlexiLogger::debug(__METHOD__, "running referrer: " . $sModule . "," . $sMethod); $bResult = $this->runControl($sMethod, $sModule); FlexiPlatformHandler::getPlatformHandler()->forceDie(); } else { //if is not from this site, return to the calling url return $this->redirectURL($sLastURL); } }
public function checkPermission($sTitle) { if (!$this->hasAccessToContent($sTitle)) { FlexiLogger::error(__METHOD__, "Permission denied: " . get_class($this) . ":" . $sTitle); FlexiController::getInstance()->redirectURL(FlexiConfig::$sBaseURL . "?" . FlexiConfig::getRequestModuleVarName() . "=FlexiLogin&" . FlexiConfig::getRequestMethodVarName() . "=denied"); } FlexiPlatformHandler::getPlatformHandler()->forceDie(); }