Index: trunk/kernel/include/parseditem.php
===================================================================
diff -u -r2978 -r3124
--- trunk/kernel/include/parseditem.php (.../parseditem.php) (revision 2978)
+++ trunk/kernel/include/parseditem.php (.../parseditem.php) (revision 3124)
@@ -1711,74 +1711,63 @@
{
global $objConfig, $var_list_update, $var_list;
+ $url_params = $EnvSuffix ? ExtractParams($EnvSuffix) : Array();
$v= $this->PageEnvar;
global ${$v};
- if(!strlen($page))
- $page = GetIndexURL(2);
+// if(!strlen($page)) $page = GetIndexURL(2);
$PerPage = $objConfig->Get($this->PerPageVar);
- if($PerPage<1)
- $PerPage=20;
- $NumPages = ceil($this->GetNumPages($PerPage));
- if($NumPages==1 && $HideEmpty)
- return "";
+ if($PerPage < 1) $PerPage = 20;
+ $NumPages = ceil( $this->GetNumPages($PerPage) );
+ if($NumPages == 1 && $HideEmpty) return '';
+
+ $var_list_update['t'] = isset($dest_template) && $dest_template ? $dest_template : $var_list['t'];
- if(strlen($dest_template))
- {
- $var_list_update["t"] = $dest_template;
- }
- else
- $var_list_update["t"] = $var_list["t"];
+ $o = '';
+ if( $this->Page == 0 || !is_numeric($this->Page) ) $this->Page = 1;
+ if($this->Page > $NumPages) $this->Page = $NumPages;
- $o = "";
- if($this->Page==0 || !is_numeric($this->Page))
- $this->Page=1;
- if($this->Page>$NumPages)
- $this->Page=$NumPages;
+ $StartPage = (int)$this->Page - ($PagesToList / 2);
+ if($StartPage < 1) $StartPage = 1;
- $StartPage = (int)$this->Page - ($PagesToList/2);
- if($StartPage<1)
- $StartPage=1;
-
- $EndPage = $StartPage+($PagesToList-1);
- if($EndPage>$NumPages)
+ $EndPage = $StartPage + ($PagesToList - 1);
+ if($EndPage > $NumPages)
{
$EndPage = $NumPages;
- $StartPage = $EndPage-($PagesToList-1);
- if($StartPage<1)
- $StartPage=1;
+ $StartPage = $EndPage - ($PagesToList - 1);
+ if($StartPage < 1) $StartPage = 1;
}
- $o = "";
- if($StartPage>1)
+ $o = '';
+ if($StartPage > 1)
{
- ${$v}[$this->PageEnvarIndex] = $this->Page-$PagesToList;
+ ${$v}[$this->PageEnvarIndex] = $this->Page - $PagesToList;
- $prev_url = $page."?env=".BuildEnv().$EnvSuffix;
- $o .= "<<";
+ $prev_url = HREF_Wrapper('', $url_params);
+ $o .= '<<';
}
- for($p=$StartPage;$p<=$EndPage;$p++)
+ for($p = $StartPage; $p <= $EndPage; $p++)
{
- if($p!=$this->Page)
+ if($p != $this->Page)
{
- ${$v}[$this->PageEnvarIndex]=$p;
- $href = $page."?env=".BuildEnv().$EnvSuffix;
- $o .= " $p ";
+ ${$v}[$this->PageEnvarIndex] = $p;
+ $href = HREF_Wrapper('', $url_params);
+ $o .= ' '.$p.' ';
}
else
{
$o .= " $p";
}
}
- if($EndPage<$NumPages && $EndPage>0)
+ if($EndPage < $NumPages && $EndPage > 0)
{
- ${$v}[$this->PageEnvarIndex]=$this->Page+$PagesToList;
+ ${$v}[$this->PageEnvarIndex] = $this->Page + $PagesToList;
- $next_url = $page."?env=".BuildEnv().$EnvSuffix;
+ $next_url = HREF_Wrapper('', $url_params);
$o .= " >>";
}
unset(${$v}[$this->PageEnvarIndex],$var_list_update["t"] );
Index: trunk/core/kernel/application.php
===================================================================
diff -u -r3103 -r3124
--- trunk/core/kernel/application.php (.../application.php) (revision 3103)
+++ trunk/core/kernel/application.php (.../application.php) (revision 3124)
@@ -743,20 +743,27 @@
$pass = isset($params['pass']) ? $params['pass'] : '';
$pass_events = isset($params['pass_events']) ? $params['pass_events'] : false; // pass events with url
-
+
+ $map_link = '';
+ if( isset($params['anchor']) )
+ {
+ $map_link = '#'.$params['anchor'];
+ unset($params['anchor']);
+ }
+
if (defined('MOD_REWRITE') && MOD_REWRITE) {
$env = $this->BuildEnv('', $params, $pass, $pass_events, false);
$env = ltrim($env, ':-');
$session =& $this->recallObject('Session');
$sid = $session->NeedQueryString() ? '?sid='.$this->GetSID() : '';
// $env = str_replace(':', '/', $env);
- $ret = rtrim($this->BaseURL($prefix, $ssl).$t.'.html/'.$env.'/'.$sid, '/');
+ $ret = rtrim($this->BaseURL($prefix, $ssl).$t.'.html/'.$env.'/'.$sid.$map_link, '/');
}
else {
$env = $this->BuildEnv($t, $params, $pass, $pass_events);
- $ret = $this->BaseURL($prefix, $ssl).$index_file.'?'.$env;
+ $ret = $this->BaseURL($prefix, $ssl).$index_file.'?'.$env.$map_link;
}
return $ret;
Index: trunk/globals.php
===================================================================
diff -u -r3021 -r3124
--- trunk/globals.php (.../globals.php) (revision 3021)
+++ trunk/globals.php (.../globals.php) (revision 3124)
@@ -1928,5 +1928,65 @@
if(!defined($const_name)) define($const_name,$const_value);
}
}
+
+ function HREF_Wrapper($t = '', $params = null, $index_file = null )
+ {
+ $ret = GetIndexURL(2).'?env='.BuildEnv();
+ if( isset($params) )
+ {
+ $map_link = '';
+ if( is_array($params) )
+ {
+ if( isset($params['anchor']) )
+ {
+ $map_link = '#'.$params['anchor'];
+ unset($params['anchor']);
+ }
+ foreach ($params as $param_name => $param_value)
+ {
+ $ret .= '&'.$param_name.'='.urlencode($param_value);
+ }
+ }
+ else
+ {
+ $app =& kApplication::Instance();
+ $app->Debugger->appendTrace();
+ trigger_error('Incorrect HREF_Wrapper call', E_USER_WARNING);
+ }
+ }
+ return $ret.$map_link;
+
+ /*$application =& kApplication::Instance();
+ return $application->HREF($t, '', $params, $index_file);*/
+ }
+
+ /**
+ * Set url params based on tag params & mapping hash passed
+ *
+ * @param Array $url_params - url params before change
+ * @param Array $tag_attribs - tag attributes
+ * @param Array $params_map key - tag_param, value - url_param
+ */
+ function MapTagParams(&$url_params, $tag_attribs, $params_map)
+ {
+ foreach ($params_map as $tag_param => $url_param)
+ {
+ if( getArrayValue($tag_attribs, $tag_param) ) $url_params[$url_param] = $tag_attribs[$tag_param];
+ }
+ }
+
+ function ExtractParams($params_str, $separator = '&')
+ {
+ if(!$params_str) return Array();
+
+ $ret = Array();
+ $parts = explode($separator, trim($params_str, $separator) );
+ foreach ($parts as $part)
+ {
+ list($var_name, $var_value) = explode('=', $part);
+ $ret[$var_name] = $var_value;
+ }
+ return $ret;
+ }
?>
Index: trunk/kernel/include/portaluser.php
===================================================================
diff -u -r3109 -r3124
--- trunk/kernel/include/portaluser.php (.../portaluser.php) (revision 3109)
+++ trunk/kernel/include/portaluser.php (.../portaluser.php) (revision 3124)
@@ -488,7 +488,7 @@
case 'send_pm_link':
$var_list_update['t'] = $element->GetAttributeByName('_Template');
- $ret = GetIndexURL(2)."?env=".BuildEnv()."&ToUser=".$this->Get('Login');
+ $ret = HREF_Wrapper('', Array('ToUser' => $this->Get('Login') ) );
break;
case "profile_link":
@@ -503,8 +503,10 @@
$var_list_update["t"] = $t;
}
else
+ {
$var_list_update["t"] = $var_list["t"];
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&UserId=".$this->Get("PortalUserId");
+ }
+ $ret = HREF_Wrapper('', Array('UserId' => $this->Get('PortalUserId') ) );
break;
case "add_friend_link":
/*
@@ -521,9 +523,10 @@
$var_list_update["t"] = $t;
}
else
+ {
$var_list_update["t"] = $var_list["t"];
- $action = "m_add_friend";
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=".$action."&UserId=".$this->Get("PortalUserId");
+ }
+ $ret = HREF_Wrapper('', Array('Action' => 'm_add_friend', 'UserId' => $this->Get('PortalUserId') ) );
}
else
$ret = "";
@@ -543,9 +546,10 @@
$var_list_update["t"] = $t;
}
else
+ {
$var_list_update["t"] = $var_list["t"];
- $action = "m_del_friend";
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=".$action."&UserId=".$this->Get("PortalUserId");
+ }
+ $ret = HREF_Wrapper('', Array('Action' => 'm_del_friend', 'UserId' => $this->Get('PortalUserId') ) );
}
else
$ret = "";
@@ -703,7 +707,7 @@
case "user_profile_link":
$var_list_update["t"] = "user_profile";
$m_var_list_update["action"] = $this->Get("UserId");
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
+ $ret = HREF_Wrapper();
unset($m_var_list_update["action"], $var_list_update["t"]);
return $ret;
break;
@@ -712,7 +716,7 @@
break;
case "user_messages_link":
$var_list_update["t"] = "inbulletin/bb_private_msg_list";
- return GetIndexURL(2)."?env=" . BuildEnv();
+ return HREF_Wrapper();
unset($var_list_update);
break;
default:
@@ -744,8 +748,7 @@
{
global $objConfig, $m_var_list_update, $var_list_update, $var_list;
- if(!strlen($page))
- $page = GetIndexURL(2);
+// if(!strlen($page)) $page = GetIndexURL(2);
$NumPages = $this->GetNumPages($objConfig->Get("Perpage_Topics"));
if(strlen($dest_template)>0)
{
@@ -759,12 +762,12 @@
if($this->Page>1)
{
$m_var_list_update["p"]=$this->Page-1;
- $prev_url = $page."?env=".BuildEnv();
+ $prev_url = HREF_Wrapper();
}
if($this->Page<$NumPages)
{
$m_var_list_update["p"]=$this->Page+1;
- $next_url = $page."?env=".BuildEnv();
+ $next_url = HREF_Wrapper();
}
for($p=1;$p<=$NumPages;$p++)
@@ -773,7 +776,7 @@
if($p!=$this->Page)
{
$m_var_list_update["p"]=$p;
- $href = $page."?env=".BuildEnv();
+ $href = HREF_Wrapper();
$t = str_replace("<%page_link%>", $href, $t);
$t = str_replace("<%page_number%>",$p,$t);
$t = str_replace("<%prev_url%>",$prev_url,$t);
Index: trunk/kernel/include/language.php
===================================================================
diff -u -r1649 -r3124
--- trunk/kernel/include/language.php (.../language.php) (revision 1649)
+++ trunk/kernel/include/language.php (.../language.php) (revision 3124)
@@ -275,9 +275,11 @@
$var_list_update["t"] = $t;
}
else
+ {
$var_list_update["t"] = $var_list["t"];
+ }
$m_var_list_update["lang"] = $this->Get("LanguageId");
- $ret = GetIndexURL(2)."?env=".BuildEnv();
+ $ret = HREF_Wrapper();
unset($var_list_update["t"],$m_var_list_update["lang"]);
break;
case "primary":
Index: trunk/kernel/parser.php
===================================================================
diff -u -r3021 -r3124
--- trunk/kernel/parser.php (.../parser.php) (revision 3021)
+++ trunk/kernel/parser.php (.../parser.php) (revision 3124)
@@ -869,398 +869,308 @@
{
global $var_list, $var_list_update, $m_var_list_update, $objSession, $objConfig, $objCatList;
- $target_template = getArrayValue($attribs,'_template');
- if(strlen($target_template))
- {
- $var_list_update["t"] = $target_template;
- }
- else
- $var_list_update["t"] = $var_list["t"];
+ $var_list_update['t'] = getArrayValue($attribs, '_template') ? $attribs['_template'] : $var_list['t'];
- $ret = "";
- $form = strtolower($attribs["_form"]);
+ $ret = '';
+ $form = strtolower( $attribs['_form'] );
+ $url_params = Array();
+
switch($form)
{
- case "login":
- if(!$objSession->SessionEnabled())
- {
- $var_list_update["t"] = "error_session";
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
- }
- else
- {
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=m_login";
- if(getArrayValue($attribs,'_successtemplate'))
- {
- $ret .= "&dest=".$attribs["_successtemplate"];
- }
- else
- if(getArrayValue($var_list,'dest'))
- $ret .= "&dest=".$var_list["dest"];
- }
- break;
- case "logout":
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=m_logout";
- break;
- case "forgotpw":
- if(!$objSession->SessionEnabled())
- {
- $var_list_update["t"] = "error_session";
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
- }
- else
- {
- if(strlen($attribs["_errortemplate"]))
- {
- $err = $attribs["_errortemplate"];
- }
- else
- $err = $var_list["t"];
- $ret = GetIndexURL(2)."?env=".BuildEnv()."&Action=m_forgotpw&error=$err";
- if( $attribs['_confirm'] ) $ret .= '&Confirm='.$attribs['_confirm'];
-
- }
- break;
- case "forgotpw_confirm":
- $ret = GetIndexURL(2)."?env=".BuildEnv();
- break;
- case "m_sort_cats":
- $ret = GetIndexURL(2)."?env=".BuildEnv()."&Action=m_sort_cats";
- break;
- case "suggest":
- if(!$objSession->SessionEnabled())
- {
- $var_list_update["t"] = "error_session";
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
- }
- else
- {
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=m_suggest_email";
- if(strlen($attribs["_confirmtemplate"])>0)
- {
- $ret .= "&Confirm=".$attribs["_confirmtemplate"];
- }
- /*if(strlen($Dest))
- {
- $ret .= "&DestTemplate=$Dest";
- }
- else
- {*/
- if(strlen($attribs["_confirmtemplate"])>0)
- $ret .="&DestTemplate=".$var_list["t"];
- //}
-
- if(strlen($attribs["_errortemplate"])>0)
- {
- $ret .= "&Error=".$attribs["_errortemplate"];
- }
- }
- break;
- case "suggest_confirm":
- if(!$objSession->SessionEnabled())
- {
- $var_list_update["t"] = "error_session";
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
- }
- else
- {
- if(strlen($_GET["DestTemplate"]))
- {
- $var_list_update["t"] = $_GET["DestTemplate"];
- }
- else
- $var_list_update["t"] = "index";
-
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
- }
- break;
- case "m_subscribe":
- if(!$objSession->SessionEnabled())
- {
- $var_list_update["t"] = "error_session";
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
- }
- else
- {
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=m_subscribe_confirm";
- if(strlen($attribs["_subscribetemplate"]))
- {
- $ret .="&Subscribe=".$attribs["_subscribetemplate"];
- }
-
- if(strlen($attribs["_unsubscribetemplate"])>0)
- {
- $ret .= "&Unsubscribe=".$attribs["_unsubscribetemplate"];
- }
- if(strlen($attribs["_errortemplate"])>0)
- {
- $ret .= "&Error=".$attribs["_errortemplate"];
- }
- }
- break;
+ case 'login':
+ if( !$objSession->SessionEnabled() )
+ {
+ $var_list_update['t'] = 'error_session';
+ }
+ else
+ {
+ $url_params = Array('Action' => 'm_login');
+ if( getArrayValue($attribs, '_successtemplate') )
+ {
+ $url_params['dest'] = $attribs['_successtemplate'];
+ }
+ else
+ {
+ if( getArrayValue($var_list, 'dest') ) $url_params['dest'] = $var_list['dest'];
+ }
+ }
+ break;
- case "subscribe_confirm":
-
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=m_subscribe";
- if($attribs["_subscribetemplate"])
- $ret .= "&Subscribe=".$attribs["_subscribetemplate"];
- break;
- case "unsubscribe_confirm":
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=m_unsubscribe";
- if($attribs["_subscribetemplate"])
- $ret .= "&Subscribe=".$attribs["_subscribetemplate"];
- break;
- case "m_unsubscribe":
- if(!$objSession->SessionEnabled())
- {
- $var_list_update["t"] = "error_session";
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
- }
- else
- {
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=m_unsubscribe";
- if(strlen($attribs["_confirmtemplate"])>0)
- {
- $ret .= "&Confirm=".$attribs["_confirmtemplate"];
- }
- if(strlen($Dest))
- {
- $ret .= "&DestTemplate=$Dest";
- }
- else
- {
- if(strlen($attribs["_confirmtemplate"])>0)
- $ret .="&DestTemplate=".$var_list["t"];
- }
- }
+ case 'logout':
+ $url_params = Array('Action' => 'm_logout');
+ break;
- if(strlen($attribs["_confirmtemplate"])>0)
- {
- $ret .="&ErrorTemplate=".$attribs["_confirmtemplate"];
- }
+ case 'forgotpw':
+ if(!$objSession->SessionEnabled())
+ {
+ $var_list_update['t'] = 'error_session';
+ }
+ else
+ {
+ $url_params = Array('Action' => 'm_forgotpw');
+ $url_params['error'] = getArrayValue($attribs, '_errortemplate') ? $attribs['_errortemplate'] : $var_list['t'];
+ if( getArrayValue($attribs, '_confirm') ) $url_params['Confirm'] = $attribs['_confirm'];
+ }
+ break;
+
+ /*case 'forgotpw_confirm':
+ break;*/
+
+ case 'm_sort_cats':
+ $url_params = Array('Action' => 'm_sort_cats');
+ break;
+
+ case 'suggest':
+ if( !$objSession->SessionEnabled() )
+ {
+ $var_list_update['t'] = 'error_session';
+ }
+ else
+ {
+ $url_params = Array('Action' => 'm_suggest_email');
+
+ if( getArrayValue($attribs, '_confirmtemplate') )
+ {
+ $url_params['Confirm'] = $attribs['_confirmtemplate'];
+ $url_params['DestTemplate'] = $var_list['t'];
+ }
+ if( getArrayValue($attribs, '_errortemplate') ) $url_params['Error'] = $attribs['_errortemplate'];
+ }
+ break;
+
+ case 'suggest_confirm':
+ if( !$objSession->SessionEnabled() )
+ {
+ $var_list_update['t'] = 'error_session';
+ }
+ else
+ {
+ $var_list_update['t'] = getArrayValue($_GET, 'DestTemplate') ? $_GET['DestTemplate'] : 'index';
+ }
+ break;
+
+ case 'm_subscribe':
+ if( !$objSession->SessionEnabled() )
+ {
+ $var_list_update['t'] = 'error_session';
+ }
+ else
+ {
+ $url_params = Array('Action' => 'm_subscribe_confirm');
+ $params_map = Array('_subscribetemplate' => 'Subscribe', '_unsubscribetemplate' => 'Unsubscribe', '_errortemplate' => 'Error');
+ MapTagParams($url_params, $attribs, $params_map);
+ }
+ break;
-
- break;
- case "m_unsubscribe_confirm":
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
- break;
- case "m_acctinfo":
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=m_acctinfo&UserId=".$objSession->Get("PortalUserId");
- m_form_load_values($form, $objSession->Get("PortalUserId"));
- break;
- case "m_profile":
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=m_profile&UserId=".$objSession->Get("PortalUserId");
- m_form_load_values($form,$objSession->Get("PortalUserId"));
- break;
+ case 'subscribe_confirm':
+ $url_params = Array('Action' => 'm_subscribe');
+ $params_map = Array('_subscribetemplate' => 'Subscribe');
+ MapTagParams($url_params, $attribs, $params_map);
+ break;
+
+ case 'unsubscribe_confirm':
+ $url_params = Array('Action' => 'm_unsubscribe');
+ $params_map = Array('_subscribetemplate' => 'Subscribe');
+ MapTagParams($url_params, $attribs, $params_map);
+ break;
- case "m_set_theme":
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=m_set_theme";
- break;
-
- case "m_register":
+ case 'm_unsubscribe':
+ $params_map = Array('_confirmtemplate' => 'ErrorTemplate');
+ MapTagParams($url_params, $attribs, $params_map);
+
+ if( !$objSession->SessionEnabled() )
+ {
+ $var_list_update['t'] = 'error_session';
+ }
+ else
+ {
+ $url_params['Action'] = 'm_unsubscribe';
+ if( getArrayValue($attribs, '_confirmtemplate') )
+ {
+ $url_params['Confirm'] = $attribs['_confirmtemplate'];
+ $url_params['DestTemplate'] = $var_list['t'];
+ }
+ }
+ break;
- if(!$objSession->SessionEnabled())
+ /*case 'm_unsubscribe_confirm':
+ break;*/
+
+ case 'm_acctinfo':
+ $url_params = Array('Action' => 'm_acctinfo', 'UserId' => $objSession->Get('PortalUserId') );
+ m_form_load_values( $form, $objSession->Get('PortalUserId') );
+ break;
+
+ case 'm_profile':
+ $url_params = Array('Action' => 'm_profile', 'UserId' => $objSession->Get('PortalUserId') );
+ m_form_load_values( $form, $objSession->Get('PortalUserId') );
+ break;
+
+ case 'm_set_theme':
+ $url_params = Array('Action' => 'm_set_theme');
+ break;
+
+ case 'm_register':
+ if( !$objSession->SessionEnabled() )
{
- $var_list_update["t"] = "error_session";
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
+ $var_list_update['t'] = 'error_session';
}
else
{
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=m_register";
+ $url_params = Array('Action' => 'm_register');
- switch ($objConfig->Get("User_Allow_New"))
+ switch ( $objConfig->Get('User_Allow_New') )
{
- case "1":
- if(strlen($attribs["_confirmtemplate"]) && $objConfig->Get("User_Password_Auto"))
- $_dest = "&dest=".$attribs["_confirmtemplate"];
- else
- $_dest = "&dest=".$attribs["_logintemplate"];
+ case 1:
+ if( getArrayValue($attribs, '_confirmtemplate') && $objConfig->Get('User_Password_Auto') )
+ {
+ $url_params['dest'] = $attribs['_confirmtemplate'];
+ }
+ else
+ {
+ $url_params['dest'] = $attribs['_logintemplate'];
+ }
break;
- case "2":
- if(strlen($attribs["_notallowedtemplate"]))
- $_dest = "&dest=".$attribs["_notallowedtemplate"];
+ case 2:
+ if( getArrayValue($attribs, '_notallowedtemplate') ) $url_params['dest'] = $attribs['_notallowedtemplate'];
break;
- case "3":
- if(strlen($attribs["_pendingtemplate"]))
- $_dest = "&dest=".$attribs["_pendingtemplate"];
+ case 3:
+ if( getArrayValue($attribs, '_pendingtemplate') ) $url_params['dest'] = $attribs['_pendingtemplate'];
break;
}
-
- if (strlen($_dest))
- $ret .= $_dest;
}
- break;
+ break;
- case "register_confirm":
- if(!$objSession->SessionEnabled())
+ case 'register_confirm':
+ if( !$objSession->SessionEnabled() ) $var_list_update['t'] = 'error_session';
+ break;
+
+ case 'm_addcat':
+ if( !$objSession->SessionEnabled() )
{
- $var_list_update["t"] = "error_session";
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
+ $var_list_update['t'] = 'error_session';
}
else
{
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
- }
- break;
- case "m_addcat":
- if(!$objSession->SessionEnabled())
- {
- $var_list_update["t"] = "error_session";
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
- }
- else
- {
- $action = "m_add_cat";
- if ($objSession->HasCatPermission("CATEGORY.ADD.PENDING"))
+ $url_params = Array('Action' => 'm_add_cat');
+ if ( $objSession->HasCatPermission('CATEGORY.ADD.PENDING') )
{
- if(strlen($attribs["_confirmpending"]))
- {
- $ConfirmTemplate = $attribs["_confirmpending"];
- }
- else
- $ConfirmTemplate = $attribs["_confirm"];
- $action="m_add_cat_confirm";
+
+ $url_params['Confirm'] = $attribs[ getArrayValue($attribs, '_confirmpending') ? '_confirmpending' : '_confirm' ];
+ $url_params['Action'] = 'm_add_cat_confirm';
}
- if ($objSession->HasCatPermission("CATEGORY.ADD"))
+ if ( $objSession->HasCatPermission('CATEGORY.ADD') )
{
- $ConfirmTemplate = $attribs["_confirm"];
- $action="m_add_cat_confirm";
+ $url_params['Confirm'] = $attribs['_confirm'];
+ $url_params['Action'] = 'm_add_cat_confirm';
}
+ if( !$url_params['Confirm'] ) unset($url_params['Confirm']);
+
+ if ( getArrayValue($attribs, '_mod_finishtemplate') )
+ {
+ $CurrentCat = (int)$objCatList->CurrentCategoryID();
+ if($CurrentCat > 0)
+ {
+ $c = $objCatList->GetCategory($CurrentCat);
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=$action";
- if(strlen($ConfirmTemplate))
- $ret .= "&Confirm=$ConfirmTemplate";
+ //will prefix the template with module template root path depending on category
+ $ids = $c->GetParentIds();
+ $tpath = GetModuleArray('template');
+ $roots = GetModuleArray('rootcat');
- if (strlen($attribs["_mod_finishtemplate"])) {
-
- $CurrentCat = $objCatList->CurrentCategoryID();
- if((int)$CurrentCat>0)
- {
- $c = $objCatList->GetCategory($CurrentCat);
-
- //will prefix the template with module template root path depending on category
- $ids = $c->GetParentIds();
- $tpath = GetModuleArray("template");
- $roots = GetModuleArray("rootcat");
-
- // get template path of module, by searching for moudle name
- // in this categories first parent category
- // and then using found moudle name as a key for module template paths array
- $path = $tpath[array_search ($ids[0], $roots)];
- $t = $path . $attribs["_mod_finishtemplate"];
- }
- else {
- $t = $attribs["_mod_finishtemplate"]; //Just in case
- }
- }
- else {
- $t = $attribs["_finishtemplate"];
- }
-
- $ret .="&DestTemplate=".$t;
+ // get template path of module, by searching for moudle name
+ // in this categories first parent category
+ // and then using found moudle name as a key for module template paths array
+ $path = $tpath[ array_search($ids[0], $roots) ];
+ $url_params['DestTemplate'] = $path . $attribs['_mod_finishtemplate'];
+ }
+ else
+ {
+ $url_params['DestTemplate'] = $attribs['_mod_finishtemplate']; //Just in case
+ }
+ }
+ else
+ {
+ $url_params['DestTemplate'] = $attribs['_finishtemplate'];
+ }
}
break;
- case "m_addcat_confirm":
- $target_template = $_GET["DestTemplate"];
- if(strlen($target_template))
+
+ case 'm_addcat_confirm':
+ $var_list_update['t'] = getArrayValue($_GET, 'DestTemplate') ? $_GET['DestTemplate'] : $var_list['t'];
+ break;
+
+ case 'm_simplesearch':
+ if( !$objSession->SessionEnabled() )
{
- $var_list_update["t"] = $target_template;
+ $var_list_update['t'] = 'error_session';
}
else
- $var_list_update["t"] = $var_list["t"];
- $ret = GetIndexURL(2)."?env=".BuildEnv();
- break;
- case "m_simplesearch":
- if(!$objSession->SessionEnabled())
{
- $var_list_update["t"] = "error_session";
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
+ $url_params = Array('Action' => 'm_simple_search');
+ if( getArrayValue($attribs, '_errortemplate') ) $url_params['Error'] = $attribs['_errortemplate'];
+ m_form_load_values($form, 0);
}
- else
- {
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=m_simple_search";
-
- if(strlen($attribs["_errortemplate"]))
- $ret.= "&Error=".$attribs["_errortemplate"];
-
- m_form_load_values($form, 0);
- }
- break;
- case "m_simple_subsearch":
- if(!$objSession->SessionEnabled())
+ break;
+
+ case 'm_simple_subsearch':
+ if( !$objSession->SessionEnabled() )
{
- $var_list_update["t"] = "error_session";
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
+ $var_list_update['t'] = 'error_session';
}
else
{
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=m_simple_subsearch";
+ $url_params = Array('Action' => 'm_simple_subsearch');
m_form_load_values($form,0);
}
- break;
- case "m_adv_search_type":
- if(!$objSession->SessionEnabled())
+ break;
+
+ case 'm_adv_search_type':
+ if( !$objSession->SessionEnabled() )
{
- $var_list_update["t"] = "error_session";
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
+ $var_list_update['t'] = 'error_session';
}
else
{
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=m_advsearch_type";
+ $url_params = Array('Action' => 'm_advsearch_type');
m_form_load_values($form,0);
}
- break;
- case "m_adv_search":
- $SearchType = $_GET["type"];
- if(!is_numeric($SearchType))
- $SearchType = $_POST["itemtype"];
- if(!$objSession->SessionEnabled() && !strlen($SearchType))
+ break;
+
+ case 'm_adv_search':
+ $SearchType = getArrayValue($_GET, 'type') ? $_GET['type'] : $_POST['itemtype'];
+ if( !$objSession->SessionEnabled() && !$SearchType )
{
- $var_list_update["t"] = "error_session";
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
+ $var_list_update['t'] = 'error_session';
}
else
{
- $ret = GetIndexURL(2)."?env=" . BuildEnv()."&Action=m_adv_search&type=$SearchType";
+ $url_params = Array('Action' => 'm_adv_search', 'type' => $SearchType);
m_form_load_values($form,0);
}
- break;
+ break;
- case "error_access":
- $target_template = $_GET["DestTemplate"];
- if(!strlen($target_template))
- $target_template="login";
- $var_list_update["t"] = $target_template;
-
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
- break;
+ case 'error_access':
+ $var_list_update['t'] = getArrayValue($_GET, 'DestTemplate') ? $_GET['DestTemplate'] : 'login';
+ break;
- case "error_template":
-
- $target_template = $_GET["DestTemplate"];
-
- if($attribs["_referer"] == 1)
+ case 'error_template':
+ $target_template = getArrayValue($_GET, 'DestTemplate');
+ if($attribs['_referer'] == 1)
{
- $target_template = "_referer_";
+ $target_template = '_referer_';
}
- elseif (!strlen($target_template))
+ elseif (!$target_template)
{
- $target_template = "index";
+ $target_template = 'index';
}
-
- $var_list_update["t"] = $target_template;
-
-// $m_var_list_update["cat"]=0;
-
- $ret = GetIndexURL(2)."?env=".BuildEnv();
-
- break;
-
+ $var_list_update['t'] = $target_template;
+ break;
}
- return $ret;
+ return HREF_Wrapper('', $url_params);
}
/*
@@ -1409,23 +1319,27 @@
{
global $m_var_list_update, $objSession,$objLanguages;
- $lang = $attribs["_language"];
- if(strlen($lang))
+ $lang = getArrayValue($attribs, '_language');
+ if($lang)
{
- $l = $objLanguages->GetItemByField("PackName",$lang);
- if(is_object($l))
- $LangId = $l->Get("LanguageId");
+ $l = $objLanguages->GetItemByField('PackName', $lang);
+ if( is_object($l) ) $LangId = $l->Get('LanguageId');
}
else
- $LangId=$objSession->Get("Language");
+ {
+ $LangId = $objSession->Get('Language');
+ }
+
if($LangId)
{
- $m_var_list_update["lang"] = $LangId;
- $ret = GetIndexURL(2)."?env=".BuildEnv();
- unset($m_var_list_update["lang"]);
+ $m_var_list_update['lang'] = $LangId;
+ $ret = HREF_Wrapper();
+ unset($m_var_list_update['lang']);
}
else
- $ret = "";
+ {
+ $ret = '';
+ }
return $ret;
}
@@ -1513,29 +1427,24 @@
*/
function m_settheme_link($attribs)
{
- global $m_var_list_update, $objSession, $objThemes, $CurrentTheme;
+ global $m_var_list_update, $objSession, $objThemes, $CurrentTheme;
- $ThemeName = $attribs["_theme"];
-
- if(strlen($ThemeName))
- {
- $t = $objThemes->GetItemByField("Name",$ThemeName);
- if(is_object($t))
- {
- $Id = $t->Get("ThemeId");
- }
- else
- $Id = 0;
- }
- else
- {
- $t = $CurrentTheme;
- $Id = 0;
- }
- $m_var_list_update["theme"] = $Id;
- $ret = GetIndexURL(2)."?env=".BuildEnv();
- unset($m_var_list_update["theme"]);
- return $ret;
+ $ThemeName = getArrayValue($attribs, '_theme');
+ if($ThemeName)
+ {
+ $t = $objThemes->GetItemByField('Name',$ThemeName);
+ $Id = is_object($t) ? $t->Get('ThemeId') : 0;
+ }
+ else
+ {
+ $t = $CurrentTheme;
+ $Id = 0;
+ }
+ $m_var_list_update['theme'] = $Id;
+ $ret = HREF_Wrapper();
+ unset($m_var_list_update['theme']);
+
+ return $ret;
}
/*
@@ -2406,36 +2315,20 @@
{
global $var_list, $var_list_update, $m_var_list_update, $objCatList;
- $template = getArrayValue($attribs,'_template');
+ $var_list_update['t'] = getArrayValue($attribs,'_template') ? $attribs['_template'] : $var_list['t'];
- $query = trim( getArrayValue($attribs,'_query') );
- $query = !ereg("^&", $query)? "&$query" : $query;
+ $query_string = trim( getArrayValue($attribs,'_query') );
+ $url_params = $query_string ? ExtractParams($query_string) : Array();
- if(!strlen($template))
- $template = $var_list["t"];
- $cat = getArrayValue($attribs,'_category');
- $var_list_update["t"] = $template;
+ $cat = getArrayValue($attribs, '_category');
- if(strlen($cat))
- {
- if($cat=="NULL")
- {
- $m_var_list_update["cat"]=0;
- }
- else
- {
- $m_var_list_update["cat"] = $cat;
- }
- }
-
- $link_type = getArrayValue($attribs,'_relative') ? 0 : 2;
- $ret = GetIndexURL($link_type)."?env=".BuildEnv().$query;
-
- if(strlen(getArrayValue($attribs,'_anchor')))
- $ret .= "#".$attribs["_anchor"];
- unset($var_list_update["t"]);
- if(strlen($cat))
- unset($m_var_list_update["cat"]);
+ if($cat) $m_var_list_update['cat'] = ($cat == 'NULL') ? 0 : $cat;
+ if( getArrayValue($attribs,'_anchor') ) $url_params['anchor'] = $attribs['_anchor'];
+
+ $ret = HREF_Wrapper('', $url_params);
+
+ unset( $var_list_update['t'] );
+ if($cat) unset( $m_var_list_update['cat'] );
return $ret;
}
@@ -2497,6 +2390,9 @@
}
}
}
+
+ $url_params = Array('dest' => '');
+
$access = $attribs["_template"];
$denied = $attribs["_deniedtemplate"];
if(!strlen($denied))
@@ -2517,15 +2413,16 @@
$template = $var_list["t"];
if($template == "login")
{
- $dest = $access;
+ $url_params['dest'] = $access;
}
$var_list_update["t"] = $template;
}
- $ret = GetIndexURL(2)."?env=".BuildEnv();
+ if( !$url_params['dest'] ) unset($url_params['dest']);
+ $ret = HREF_Wrapper('', $url_params);
+
unset($var_list_update["t"]);
- if(isset($dest)&&$dest)
- $ret .= "&dest=$dest";
+
return $ret;
}
Index: trunk/kernel/include/itemreview.php
===================================================================
diff -u -r1462 -r3124
--- trunk/kernel/include/itemreview.php (.../itemreview.php) (revision 1462)
+++ trunk/kernel/include/itemreview.php (.../itemreview.php) (revision 3124)
@@ -652,8 +652,7 @@
{
global $objConfig, $var_list_update, $var_list;
- if(!strlen($page))
- $page = GetIndexURL(2);
+// if( !strlen($page) ) $page = GetIndexURL(2);
$PerPage = $objConfig->Get($this->PerPageVar);
if($PerPage<1)
$PerPage=20;
@@ -690,7 +689,7 @@
if($StartPage>1)
{
$UpdateVar["rp"] = $this->Page-$PagesToList;
- $prev_url = $page."?env=".BuildEnv();
+ $prev_url = HREF_Wrapper();
$o .= "<<";
}
@@ -700,7 +699,7 @@
if($p!=$this->Page)
{
$UpdateVar["rp"]=$p;
- $href = $page."?env=".BuildEnv();
+ $href = HREF_Wrapper();
$o .= " $p ";
}
else
@@ -711,7 +710,7 @@
if($EndPage<$NumPages && $EndPage>0)
{
$UpdateVar["rp"]=$this->Page+$PagesToList;
- $next_url = $page."?env=".BuildEnv();
+ $next_url = HREF_Wrapper();
$o .= " >>";
}
unset($UpdateVar,$var_list_update["t"] );
Index: trunk/kernel/frontaction.php
===================================================================
diff -u -r3109 -r3124
--- trunk/kernel/frontaction.php (.../frontaction.php) (revision 3109)
+++ trunk/kernel/frontaction.php (.../frontaction.php) (revision 3124)
@@ -47,9 +47,8 @@
{
$objSession->SetVariable('next_template','');
$var_list_update["t"] = $next_template;
-
- $url = GetIndexURL(2)."?env=".BuildEnv();
- header('Location: '.$url);
+
+ header('Location: ' . HREF_Wrapper() );
exit;
$var_list['t'] = $next_template.'.tpl';
}
@@ -527,8 +526,7 @@
{
$objSession->SetVariable('next_template','');
$var_list_update["t"] = $next_template;
- $url = GetIndexURL(2)."?env=".BuildEnv();
- header('Location: '.$url);
+ header('Location: ' . HREF_Wrapper() );
exit;
$var_list['t'] = $next_template.'.tpl';
}
Index: trunk/kernel/admin/include/toolbar/browse.php
===================================================================
diff -u -r2329 -r3124
--- trunk/kernel/admin/include/toolbar/browse.php (.../browse.php) (revision 2329)
+++ trunk/kernel/admin/include/toolbar/browse.php (.../browse.php) (revision 3124)
@@ -394,6 +394,10 @@
AddButtonAction('delete',"check_submit('$admin/browse','delete');"); //delete
AddButtonAction('approve',"check_submit('$admin/browse','approve');"); //approve
AddButtonAction('decline',"check_submit('$admin/browse','decline');"); //decline
+
+ AddButtonAction('import',"check_submit('','import');"); //decline
+ AddButtonAction('export',"check_submit('','export');"); //decline
+
AddButtonAction('cut',"check_submit('$admin/browse','cut');"); //cut
AddButtonAction('copy',"check_submit('$admin/browse','copy');"); //copy
AddButtonAction('paste',"get_to_server('$adminURL/browse.php',env+'&Action=m_paste');"); //paste
@@ -533,6 +537,12 @@
if(f)
{
f.Action.value = action_prefix + actionValue;
+
+ if(actionValue == 'import' || actionValue == 'export')
+ {
+ page = 'admin/browse';
+ }
+
f.action = '$rootURL' + page + '.php?'+ env;
//alert(f.name+ ' is submitting to '+ f.action + ' action=' + f.Action.value);
f.submit();
Index: trunk/kernel/include/category.php
===================================================================
diff -u -r2562 -r3124
--- trunk/kernel/include/category.php (.../category.php) (revision 2562)
+++ trunk/kernel/include/category.php (.../category.php) (revision 3124)
@@ -184,7 +184,7 @@
$m_var_list_update["p"] = "1";
$cat_name = $rs->fields['Name'];
if (!is_null($anchor))
- $ret .= "$cat_name";
+ $ret .= "$cat_name";
else
$ret .= "$cat_name";
@@ -615,7 +615,7 @@
global $m_var_list_update;
$m_var_list_update["cat"] = $this->Get("CategoryId");
- $ret = GetIndexURL(2)."?env=".BuildEnv();
+ $ret = HREF_Wrapper();
unset($m_var_list_update["cat"]);
return $ret;
}
@@ -625,7 +625,7 @@
global $m_var_list_update;
$m_var_list_update["cat"] = $this->Get("ParentId");
- $ret = GetIndexURL(2)."?env=".BuildEnv();
+ $ret = HREF_Wrapper();
unset($m_var_list_update["cat"]);
return $ret;
}
@@ -998,9 +998,11 @@
$var_list_update["t"] = $t;
}
else
+ {
$var_list_update["t"] = $var_list["t"];
+ }
$m_var_list_update["cat"] = $this->Get("CategoryId");
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
+ $ret = HREF_Wrapper();
unset($m_var_list_update["cat"], $var_list_update["t"]);
break;
case "adminlink":
@@ -1018,9 +1020,11 @@
$var_list_update["t"] = $t;
}
else
+ {
$var_list_update["t"] = $var_list["t"];
+ }
$m_var_list_update["cat"] = $this->Get("CategoryId");
- $ret = GetIndexURL(2)."?env=" . BuildEnv();
+ $ret = HREF_Wrapper();
unset($m_var_list_update["cat"], $var_list_update["t"]);
break;
case "link_selector":
@@ -1693,8 +1697,7 @@
{
global $objConfig, $m_var_list_update, $var_list_update, $var_list;
- if(!strlen($page))
- $page = GetIndexURL(2);
+// if(!strlen($page)) $page = GetIndexURL(2);
$PerPage = $this->GetPerPage();
$NumPages = ceil( $this->GetNumPages($PerPage) );
@@ -1729,7 +1732,7 @@
if($StartPage>1)
{
$m_var_list_update["p"] = $this->Page-$PagesToList;
- $prev_url = $page."?env=".BuildEnv();
+ $prev_url = HREF_Wrapper();
$o .= "<<";
}
@@ -1739,7 +1742,7 @@
if($p!=$this->Page)
{
$m_var_list_update["p"]=$p;
- $href = $page."?env=".BuildEnv();
+ $href = HREF_Wrapper();
$o .= " $p ";
}
else
@@ -1750,7 +1753,7 @@
if($EndPage<$NumPages && $EndPage>0)
{
$m_var_list_update["p"]=$this->Page+$PagesToList;
- $next_url = $page."?env=".BuildEnv();
+ $next_url = HREF_Wrapper();
$o .= " >>";
}
unset($m_var_list_update,$var_list_update["t"] );
@@ -1848,12 +1851,11 @@
// draw category navigation bar (at top)
global $Errors, $var_list_update, $var_list, $m_var_list_update, $m_var_list, $objConfig;
- $selector = isset($_REQUEST['Selector']) ? '&Selector='.$_REQUEST['Selector'] : '';
- $new = isset($_REQUEST['new']) ? '&new='.$_REQUEST['new'] : '';
- $destform = GetVar('destform') !== false ? '&destform='.GetVar('destform') : '';
+ $url_params = Array('reset' => 1);
+ if( GetVar('Selector') ) $url_params['Selector'] = GetVar('Selector');
+ if( GetVar('new') ) $url_params['new'] = GetVar('new');
+ if( GetVar('destform') ) $url_params['destform'] = GetVar('destform');
- $add = $selector.$new.$destform.'&reset=1';
-
$nav = "";
$m_var_list_update["p"]=1;
if(strlen($target_template)==0)
@@ -1866,7 +1868,7 @@
if ($LinkRoot)
{
$var_list_update["t"] = strlen($RootTemplate)? $RootTemplate : $target_template;
- $nav = "$cat_name"; }
+ $nav = "$cat_name"; }
else
$nav = "$cat_name";
}
@@ -1896,7 +1898,7 @@
{
if ($admin == 1)
{
- $nav[] = "".$cat_name."";
+ $nav[] = "".$cat_name."";
}
else
{
@@ -1908,7 +1910,7 @@
{
$var_list_update["t"] = $target_template;
}
- $nav[] = "".$cat_name."";
+ $nav[] = "".$cat_name."";
}
}
}
@@ -1925,7 +1927,7 @@
{
if ($admin == 1)
{
- $nav[] = "".$cat_name."";
+ $nav[] = "".$cat_name."";
}
else
{
@@ -1935,7 +1937,7 @@
}
else
$var_list_update["t"] = $target_template;
- $nav[] = "".$cat_name."";
+ $nav[] = "".$cat_name."";
}
}
@@ -1969,12 +1971,12 @@
{
if ($admin == 1)
{
- $nav[] = "".$cat_name."";
+ $nav[] = "".$cat_name."";
}
else
{
$var_list_update["t"] = $t;
- $nav[] = "".$cat_name."";
+ $nav[] = "".$cat_name."";
unset($var_list_update["t"]);
}
}
Index: trunk/kernel/include/theme.php
===================================================================
diff -u -r3000 -r3124
--- trunk/kernel/include/theme.php (.../theme.php) (revision 3000)
+++ trunk/kernel/include/theme.php (.../theme.php) (revision 3124)
@@ -572,7 +572,7 @@
break;
case "select_url":
$var_list_update["t"] = "index";
- $ret = GetIndexURL(2)."?env=".BuildEnv()."&Action=m_set_theme&ThemeId=".$this->Get("ThemeId");
+ $ret = HREF_Wrapper('', Array('Action' => 'm_set_theme', 'ThemeId' => $this->Get('ThemeId') ) );
break;
case "selected":
$ret = "";