Example #1
0
 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);
     }
 }
Example #2
0
 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();
 }