예제 #1
0
/**
* set Sef Link
* 
* @param string $link
* @param int $useDefaultItemId - (0 - current itemid, 1 - shop page itemid, 2 -manufacturer itemid)
* @param int $redirect
*/
function SEFLink($link, $useDefaultItemId = 0, $redirect = 0, $ssl = null)
{
    $app = JFactory::getApplication();
    JPluginHelper::importPlugin('jshoppingproducts');
    $dispatcher = JDispatcher::getInstance();
    $dispatcher->trigger('onLoadJshopSefLink', array(&$link, &$useDefaultItemId, &$redirect, &$ssl));
    $defaultItemid = getDefaultItemid();
    if ($useDefaultItemId == 2) {
        $Itemid = getShopManufacturerPageItemid();
        if (!$Itemid) {
            $Itemid = $defaultItemid;
        }
    } elseif ($useDefaultItemId == 1) {
        $Itemid = $defaultItemid;
    } else {
        $Itemid = JRequest::getInt('Itemid');
        if (!$Itemid) {
            $Itemid = $defaultItemid;
        }
    }
    $dispatcher->trigger('onAfterLoadJshopSefLinkItemid', array(&$Itemid, &$link, &$useDefaultItemId, &$redirect, &$ssl));
    if (!preg_match('/Itemid=/', $link)) {
        if (!preg_match('/\\?/', $link)) {
            $sp = "?";
        } else {
            $sp = "&";
        }
        $link .= $sp . 'Itemid=' . $Itemid;
    }
    $link = JRoute::_($link, $redirect ? false : true, $ssl);
    if ($app->isAdmin()) {
        $link = str_replace('/administrator', '', $link);
    }
    return $link;
}
예제 #2
0
function SEFLinkFromAdmin($link, $fullurl = 0, $langprefix = '')
{
    $config = JFactory::getConfig();
    $app = JApplication::getInstance('site');
    $router = $app->getRouter();
    if (!preg_match('/Itemid/', $link)) {
        $Itemid = getDefaultItemid();
        if (preg_match('/\\?/', $link)) {
            $sp = "&";
        } else {
            $sp = "?";
        }
        $link .= $sp . 'Itemid=' . $Itemid;
    }
    $uri = $router->build($link);
    $url = $uri->toString();
    $url = str_replace('/administrator', '', $url);
    if ($langprefix != '') {
        if ($config->get('sef_rewrite')) {
            $url = "/" . $langprefix . $url;
        } else {
            $url = str_replace("index.php", "index.php/" . $langprefix, $url);
        }
    }
    if ($fullurl) {
        $juri = JURI::getInstance();
        $liveurlhost = $juri->toString(array("scheme", 'host', 'port'));
        $url = $liveurlhost . $url;
    }
    return $url;
}