public function glink($strUrl)
 {
     $strUrl = parent::glink($strUrl);
     if ($this->config->output_link_style == 'nice') {
         $strUrl = $this->addAliasToLink($strUrl);
     }
     return $strUrl;
 }
示例#2
0
/**
 * Make link string from given formatted string.
 * If OUTPUT_LINK_STYLE is
 *
 * @param string $string
 * @param boolean $with_gets $_GET parametrs to the end
 * @param string $exclude param from $_GET. (should be coma separated)
 * @return string
 */
function smarty_modifier_glink($link, $with_gets = false, $exclude = '')
{
    $exclude = explode(",", $exclude);
    if ($with_gets) {
        $link = RewriteURL::ensureSourceLastDelimiter($link) . get_all_get_params($exclude);
    }
    $link = Reg::get('rewriteURL')->glink($link);
    return $link;
}
示例#3
0
/**
 * Make link string from given formatted string.
 * If OUTPUT_LINK_STYLE is
 *
 * @param string $string
 * @param boolean $with_gets $_GET parametrs to the end
 * @param string $exclude param from $_GET. (should be coma separated)
 * @return string
 */
function smarty_modifier_glink($link, $with_gets = false, $exclude = '')
{
    $exclude = explode(",", $exclude);
    if ($with_gets) {
        RewriteURL::ensureLastSlash($link);
        $link .= getAllGetParams($exclude);
    }
    $link = Reg::get('rewriteURL')->glink($link);
    return $link;
}
/**
 * Draw Pager
 *
 * @param $id
 * @param $visualPagesCount
 * @param $exclude
 * @return string
 */
function smarty_function_draw_pager($params, Smarty_Internal_Template &$smarty)
{
    $id = null;
    $visualPagesCount = null;
    $excludedGetsArray = array();
    extract($params);
    if (empty($visualPagesCount)) {
        $visualPagesCount = ConfigManager::getConfig("Pager", "Pager")->AuxConfig->defaultVidualPagesCount;
    }
    if (empty($id)) {
        $id = null;
    }
    if (isset($exclude) and !empty($exclude)) {
        $excludedGetsArray = explode(",", str_replace(" ", "", $exclude));
    }
    $pager = Pager::getPager($id);
    if ($pager instanceof Pager) {
        if (isset($baseLink) and !empty($baseLink)) {
            // Remove heading slash if present and ensure last slash
            $link = RewriteURL::ensureSourceLastDelimiter(ltrim($baseLink, "/"));
        } else {
            $link = RewriteURL::generateCleanBaseLink(Reg::get('nav')->module, Reg::get('nav')->page, ConfigManager::getConfig("SiteNavigation")->AuxConfig->firstLevelDefaultValue) . get_all_get_params(array_merge(array($pager->getUrlParam()), $excludedGetsArray));
        }
        $urlParam = $pager->getUrlParam();
        $currentPageNumber = $pager->getCurrentPageNumber();
        $pagesCount = $pager->getTotalPagesCount();
        if ($pagesCount > 1) {
            $pageNumStart = $currentPageNumber - floor($visualPagesCount / 2);
            if ($pageNumStart < 1) {
                $pageNumStart = 1;
            }
            $pageNumEnd = $pageNumStart + $visualPagesCount - 1;
            if ($pageNumEnd > $pagesCount) {
                $pageNumEnd = $pagesCount;
                $pageNumStart = $pageNumEnd - $visualPagesCount + 1;
                if ($pageNumStart < 1) {
                    $pageNumStart = 1;
                }
            }
            if ($currentPageNumber > 1) {
                $prevPageLink = Reg::get(ConfigManager::getConfig("RewriteURL")->Objects->rewriteURL)->glink($link . $pager->getUrlParam() . ':' . ($currentPageNumber - 1));
                $smarty->assign('pagerPreviousPageLink', $prevPageLink);
            }
            $pagerNumbersArray = array();
            for ($pgNum = $pageNumStart; $pgNum <= $pageNumEnd; $pgNum++) {
                $isCurrent = false;
                if ($pgNum == $currentPageNumber) {
                    $isCurrent = true;
                }
                $pageLink = Reg::get(ConfigManager::getConfig("RewriteURL")->Objects->rewriteURL)->glink($link . $pager->getUrlParam() . ':' . $pgNum);
                array_push($pagerNumbersArray, array("pageNum" => $pgNum, "pageLink" => $pageLink, "isCurrent" => $isCurrent));
            }
            if ($currentPageNumber < $pagesCount) {
                $nextPageLink = Reg::get(ConfigManager::getConfig("RewriteURL")->Objects->rewriteURL)->glink($link . $pager->getUrlParam() . ':' . ($currentPageNumber + 1));
                $smarty->assign('pagerNextPageLink', $nextPageLink);
            }
            $smarty->assign("pagerPageNumStart", $pageNumStart);
            $smarty->assign("pagerPageNumEnd", $pageNumEnd);
            $smarty->assign("pagerCurrentPageNumber", $currentPageNumber);
            $smarty->assign("pagerTotalPagesCount", $pagesCount);
            $smarty->assign("pagerNumbersArray", $pagerNumbersArray);
        }
        if (isset($tplSnippetFile)) {
            $pagerSnippetFileName = $tplSnippetFile;
        } else {
            $pagerSnippetFileName = ConfigManager::getConfig("Pager", "Pager")->AuxConfig->pagerSnippetFileName;
        }
        return $smarty->fetch(Reg::get('smarty')->getFilePathFromTemplate(Reg::get('smarty')->snippetsPath . $pagerSnippetFileName));
    }
}
示例#5
0
/**
 * Draw Pager
 *
 * @param $id
 * @param $visualPagesCount
 * @param $exclude
 * @param $additionalParams
 * @param $linkClass
 * @return string
 */
function smarty_function_draw_pager($params, Smarty_Internal_Template &$smarty)
{
    $id = null;
    $visualPagesCount = null;
    $excludedGetsArray = array();
    extract($params);
    if (empty($visualPagesCount)) {
        $visualPagesCount = ConfigManager::getConfig("Pager", "Pager")->AuxConfig->defaultVisualPagesCount;
    }
    if (empty($id)) {
        $id = null;
    }
    if (isset($exclude) and !empty($exclude)) {
        $excludedGetsArray = explode(",", str_replace(" ", "", $exclude));
    }
    $pager = Pager::getPager($id);
    if ($pager instanceof Pager) {
        if (isset($baseLink) and !empty($baseLink)) {
            // Remove heading slash if present
            $link = ltrim($baseLink, "/");
            $link = Reg::get(ConfigManager::getConfig("RewriteURL")->Objects->rewriteURL)->glink($link);
        } else {
            $link = getCurrentUrl(array_merge(array($pager->getUrlParam()), $excludedGetsArray));
        }
        if (isset($additionalParams) and !empty($additionalParams)) {
            RewriteURL::ensureLastSlash($additionalParams);
            $urlParam = $additionalParams . $pager->getUrlParam();
        } else {
            $urlParam = $pager->getUrlParam();
        }
        $currentPageNumber = $pager->getCurrentPageNumber();
        $pagesCount = $pager->getTotalPagesCount();
        if ($pagesCount > 1) {
            $pageNumStart = $currentPageNumber - floor($visualPagesCount / 2);
            if ($pageNumStart < 1) {
                $pageNumStart = 1;
            }
            $pageNumEnd = $pageNumStart + $visualPagesCount - 1;
            if ($pageNumEnd > $pagesCount) {
                $pageNumEnd = $pagesCount;
                $pageNumStart = $pageNumEnd - $visualPagesCount + 1;
                if ($pageNumStart < 1) {
                    $pageNumStart = 1;
                }
            }
            if ($pageNumStart > 1) {
                $pagerFirstPageLink = $link . $urlParam . ':1';
                $smarty->assign('pagerFirstPageLink', $pagerFirstPageLink);
            }
            if ($pageNumEnd < $pagesCount) {
                $pagerLastPageLink = $link . $urlParam . ':' . $pagesCount;
                $smarty->assign('pagerLastPageLink', $pagerLastPageLink);
            }
            if ($currentPageNumber > 1) {
                $prevPageLink = $link . $urlParam . ':' . ($currentPageNumber - 1);
                $smarty->assign('pagerPreviousPageLink', $prevPageLink);
            }
            $pagerNumbersArray = array();
            for ($pgNum = $pageNumStart; $pgNum <= $pageNumEnd; $pgNum++) {
                $isCurrent = false;
                if ($pgNum == $currentPageNumber) {
                    $isCurrent = true;
                }
                $pageLink = $link . $urlParam . ':' . $pgNum;
                array_push($pagerNumbersArray, array("pageNum" => $pgNum, "pageLink" => $pageLink, "isCurrent" => $isCurrent));
            }
            if ($currentPageNumber < $pagesCount) {
                $nextPageLink = $link . $urlParam . ':' . ($currentPageNumber + 1);
                $smarty->assign('pagerNextPageLink', $nextPageLink);
            }
            if (isset($linkClass) and !empty($linkClass)) {
                $smarty->assign("linkClass", $linkClass);
            }
            $smarty->assign("pagerPageNumStart", $pageNumStart);
            $smarty->assign("pagerPageNumEnd", $pageNumEnd);
            $smarty->assign("pagerCurrentPageNumber", $currentPageNumber);
            $smarty->assign("pagerTotalPagesCount", $pagesCount);
            $smarty->assign("pagerNumbersArray", $pagerNumbersArray);
        }
        if (isset($tplChunkFile)) {
            $pagerChunkFileName = $tplChunkFile;
        } else {
            $pagerChunkFileName = ConfigManager::getConfig("Pager", "Pager")->AuxConfig->pagerChunkFileName;
        }
        return $smarty->fetch($smarty->getChunkPath($pagerChunkFileName));
    }
}
示例#6
0
 public function glink($strUrl)
 {
     $strUrl = parent::glink($strUrl);
     return $this->addAliasToLink($strUrl);
 }
示例#7
0
 public static function generateCleanBaseLink($module, $page, $default_module)
 {
     $config = ConfigManager::getConfig('RewriteURL', 'RewriteURL')->AuxConfig;
     if ($module == $page) {
         if ($module != $default_module) {
             if ($config->source_link_style == 'nice') {
                 return "{$module}/";
             } elseif ($config->source_link_style == 'default') {
                 return RewriteURL::getSystemModuleName() . "=" . $module . "&";
             }
         }
     } else {
         if ($config->source_link_style == 'nice') {
             return "{$module}/{$page}/";
         } elseif ($config->source_link_style == 'default') {
             return RewriteURL::getSystemModuleName() . "=" . $module . "&" . RewriteURL::getSystemPageName() . "=" . $page . "&";
         }
     }
     return '';
 }
示例#8
0
/**
 * Build the string of GET parameters
 *
 * @param array $exclude_array
 * @return string
 */
function get_all_get_params(array $exclude_array = array())
{
    $config = ConfigManager::getConfig("RewriteURL")->AuxConfig;
    $return_string = '';
    foreach ($exclude_array as &$exclude) {
        $exclude = trim($exclude);
    }
    switch ($config->source_link_style) {
        case "nice":
            $delimiter = '/';
            if (is_array($_GET) && sizeof($_GET) > 0) {
                reset($_GET);
                while ((list($key, $value) = each($_GET)) != false) {
                    if ($key == RewriteURL::getSystemModuleName() or $key == RewriteURL::getSystemPageName()) {
                        continue;
                    }
                    if (!in_array($key, $exclude_array)) {
                        $return_string .= $key . ':' . rawurlencode($value) . $delimiter;
                    }
                }
            }
            break;
        case "default":
        default:
            $delimiter = '&';
            if (is_array($_GET) && sizeof($_GET) > 0) {
                reset($_GET);
                while ((list($key, $value) = each($_GET)) != false) {
                    if ($key == RewriteURL::getSystemModuleName() or $key == RewriteURL::getSystemPageName()) {
                        continue;
                    }
                    if (!in_array($key, $exclude_array)) {
                        $return_string .= $key . '=' . rawurlencode($value) . $delimiter;
                    }
                }
            }
            break;
    }
    return $return_string;
}