コード例 #1
0
ファイル: feeds.php プロジェクト: BetterBetterBetter/B3App
 public function getFeedURL($url, $atom = false)
 {
     require_once DISCUSS_HELPERS . '/router.php';
     $sef = DiscussRouter::isSefEnabled();
     $join = $sef ? '?' : '&';
     $url = DiscussRouter::_($url) . $join . 'format=feed';
     $url .= $atom ? '&type=atom' : '&type=rss';
     return $url;
 }
コード例 #2
0
ファイル: router.php プロジェクト: BetterBetterBetter/B3App
 public static function getRoutedURL($url, $xhtml = false, $external = false)
 {
     if (!$external) {
         return DiscussRouter::_($url, $xhtml);
     }
     $mainframe = JFactory::getApplication();
     $uri = JURI::getInstance(JURI::base());
     //To fix 1.6 Jroute issue as it will include the administrator into the url path.
     $url = str_replace('/administrator/', '/', DiscussRouter::_($url, $xhtml));
     if ($mainframe->isAdmin() && DiscussRouter::isSefEnabled()) {
         if (DiscussHelper::getJoomlaVersion() >= '1.6') {
             JFactory::$application = JApplication::getInstance('site');
         }
         if (DiscussHelper::getJoomlaVersion() >= '3.0') {
             jimport('joomla.libraries.cms.router');
         } else {
             jimport('joomla.application.router');
             require_once JPATH_ROOT . '/includes/router.php';
             require_once JPATH_ROOT . '/includes/application.php';
         }
         $router = new JRouterSite(array('mode' => JROUTER_MODE_SEF));
         $urls = $router->build($url)->toString(array('path', 'query', 'fragment'));
         $urls = DISCUSS_JURIROOT . '/' . ltrim(str_replace('/administrator/', '/', $urls), '/');
         $container = explode('/', $urls);
         $container = array_unique($container);
         $urls = implode('/', $container);
         if (DiscussHelper::getJoomlaVersion() >= '1.6') {
             JFactory::$application = JApplication::getInstance('administrator');
         }
         return $urls;
     } else {
         $url = rtrim($uri->toString(array('scheme', 'host', 'port')), '/') . '/' . ltrim($url, '/');
         $url = str_replace('/administrator/', '/', $url);
         if (DiscussRouter::isSefEnabled()) {
             $container = explode('/', $url);
             $container = array_unique($container);
             $url = implode('/', $container);
         }
         return $url;
     }
 }