public function glink($strUrl) { $strUrl = parent::glink($strUrl); if ($this->config->output_link_style == 'nice') { $strUrl = $this->addAliasToLink($strUrl); } return $strUrl; }
/** * 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; }
/** * 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)); } }
/** * 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)); } }
public function glink($strUrl) { $strUrl = parent::glink($strUrl); return $this->addAliasToLink($strUrl); }
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 ''; }
/** * 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; }