Esempio n. 1
0
 /**
  * Returms url location for IN "map". "map=0,0" - returns contemt of all menus + front page.
  * @param array $params
  * @return array - list of menus url
  */
 public function GetMapLoc($params = null)
 {
     $arrSiteMap = array();
     if (isset($params[self::MAP_PARAM])) {
         if ($params[self::MAP_PARAM] === "0,0") {
             /**
              * Get Home Page url
              */
             $arrSiteMap[] = \RouterSettings::GetBaseUrl();
             /**
              * Read all menu.
              */
             $oMenuLoader = new MenuController();
             $currentLocale = \Av\Localization\LocalizationController::GetCurrentLocale();
             if ($currentLocale !== false) {
                 $oAllMenus = $oMenuLoader->LoadMenu(array(\Av\Component\Menu\iMenuModelInterface::LOCALE => $currentLocale));
                 //                    $this->AddDebug(__METHOD__ . " #" . __LINE__ ." all menues" .print_r($oAllMenus,true));
                 foreach ($oAllMenus->GetCollection() as $x_y_arrMenu) {
                     foreach ($x_y_arrMenu as $y_arrMenu) {
                         foreach ($y_arrMenu as $oMenu) {
                             if ($oMenu instanceof \Av\Component\Menu\MenuContainer) {
                                 //                                    $this->AddDebug(__METHOD__ . " #" . __LINE__ ." oMenu" .print_r($oMenu,true));
                                 $oResLink = $oMenu->GetMenuResLink();
                                 //                                    $this->AddDebug(__METHOD__ . " #" . __LINE__ ." ResLink" .print_r($oResLink,true));
                                 if ($oResLink instanceof \Av\Res\ResContainer) {
                                     /** 
                                      * check if it is absolute path - if not then add "base url"
                                      */
                                     $this->AddDebug(__METHOD__ . " #" . __LINE__ . " Directory Separator:" . print_r(DIRECTORY_SEPARATOR, true));
                                     $arrSiteMap[] = \Av\UrlControllerHelper::AsAbsoluteUrl($oResLink->GetMenuResValue());
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     return $arrSiteMap;
 }
Esempio n. 2
0
 public static function AsAbsoluteUrl($url, $bSecureProtocol = false)
 {
     $baseUrl = \RouterSettings::GetBaseUrl();
     // . DIRECTORY_SEPARATOR
     /**
      * Check if protocol is set  -return as-is. It helps to support be any link, like, http://www.cnn.com
      */
     if (strpos($url, self::PROTOCOL_HTTP) === false && strpos($url, self::PROTOCOL_HTTPS) === false) {
         if (strpos($url, $baseUrl) === false) {
             /**
              * Adding base url. 
              */
             $url = $baseUrl . (strpos($url, DIRECTORY_SEPARATOR) !== 0 ? DIRECTORY_SEPARATOR : "") . $url;
         }
         /*
          * Theoretically base url should have protocol , like http://www.mysite.com. But if it is not set add it.
          */
         if (strpos($url, self::PROTOCOL_HTTP) === false && strpos($url, self::PROTOCOL_HTTPS) === false) {
             $url = ($bSecureProtocol === false ? self::PROTOCOL_HTTP : self::PROTOCOL_HTTPS) . $url;
         }
     }
     return $url;
 }