Files
zurawik.pl/core/plugins/Smarty/function.urlO.php
2026-05-15 20:23:25 +02:00

114 lines
2.9 KiB
PHP

<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* File: function.url.php
* Type: function
* Name: link
* Purpose: zwraca sformatowany url
* -------------------------------------------------------------
*/
function smarty_function_urlO($param, &$smarty)
{
// if (isset($params['_value'])) {//Stara wersja
//
// $return = explode(',', $params['_value']);
//
// $controller = array_shift($return);
// $model = array_shift($return);
//
// if (!empty($model)) {
// $return[] = $model;
// }
// $return[] = $controller;
//
// $return = implode(URL_DELIMITER, $return);
//
// return URL_MAIN . '/' .$return.APPLICATION_FILE_TYPE;
// }
//
// if (isset($params['_current']) && $params['_current']) {
//
// $fileName = pathinfo($_SERVER['REQUEST_URI']);
//
// $exp = explode(URL_DELIMITER, $fileName['filename']);
//
// if (!isset($fileName['extension']) || $fileName['extension'] != 'html') {
// $return = array('index' => 'index');
// } else {
// $size = sizeof($exp);
//
// if ($size == 1) {
// $return[$exp[0]] = 'index';
// } else {
// $return[$exp[$size - 2]] = $exp[$size - 1];
// }
// }
//
// $rout = Router::GetParam();
//
// if ($rout['param']) {
// $return = array_merge($return, array_reverse($rout['param']));
// }
//
// $current = array_merge($return, $params);
//
// $first_flag = false;
//
// unset($params['_current']);
// }
//
//
// $return = $params;
//
//
// $first_flag = true;
//
//
// $addr = array();
//
// if(isset($return[0]) && count(array_values($return))==1) {
// $addr = $return;
//
// } else {
//
// foreach ($return as $k => $v) {
// if (substr($k, 0, 1) == '_') {
// continue;
// }
//
// if ($first_flag && Router::$controllerMethodSeek==true) {
// $addr = array_merge(array($v . URL_DELIMITER . $k), $addr);
// $first_flag = false;
// } else {
// $addr = array_merge(array($k . URL_DELIMITER . $v), $addr);
// }
// }
// }
//
// //reakcja na ustawienia routera
// if(Router::$reverseRoute==true) {
// $addr=array_reverse($addr);
// }
//
// return URL_MAIN . '/' . implode(URL_DELIMITER, $addr) . APPLICATION_FILE_TYPE;
if(isset($param['label'])) {
$label = $param['label'];
} else {
$label = null;
}
if(isset($param['_BASE_URL_'])){
$baseUrl = $param['_BASE_URL_'];
unset($param['_BASE_URL_']);
return Router::GenerateUrl($label, $param,$baseUrl);
}
return Router::GenerateUrl($label, $param);
}
?>