Index: application.php =================================================================== --- application.php (revision 13311) +++ application.php (working copy) @@ -1462,14 +1462,14 @@ } $pass = isset($params['pass']) ? $params['pass'] : ''; - + // pass events with url $pass_events = false; if( isset($params['pass_events']) ) { $pass_events = $params['pass_events']; unset($params['pass_events']); - } + } $map_link = ''; if( isset($params['anchor']) ) @@ -1509,6 +1509,14 @@ // $params = array_merge_recursive2($this->getPassThroughVariables($params), $params); $params = array_merge($this->getPassThroughVariables($params), $params); + if ($this->GetVar('admin') || (array_key_exists('admin', $params) && $params['admin'])) { + $params['admin'] = 1; + + if (!array_key_exists('editing_mode', $params)) { + $params['editing_mode'] = EDITING_MODE; + } + } + if ($force_rewrite || ($this->RewriteURLs($ssl) && !$no_rewrite)) { static $rewrite_listeners_done = false; @@ -1620,11 +1628,6 @@ function BuildEnv_NEW($t, $params, $pass='all', $pass_events = false) { -// $session =& $this->recallObject('Session'); - $force_admin = getArrayValue($params,'admin') || $this->GetVar('admin'); - -// if($force_admin) $sid = $this->GetSID(); - $ret = ''; $env = ''; @@ -1732,9 +1735,6 @@ } unset($params['pass'], $params['opener'], $params['m_event']); - if ($force_admin) { - $params['admin'] = 1; - } if (array_key_exists('escape', $params) && $params['escape']) { $ret = addslashes($ret); @@ -1878,14 +1878,6 @@ unset($params['pass'], $params['opener'], $params['m_event']); - if ($this->GetVar('admin') && !isset($params['admin'])) { - $params['admin'] = 1; - - if (!array_key_exists('editing_mode', $params)) { - $params['editing_mode'] = EDITING_MODE; - } - } - if (array_key_exists('escape', $params) && $params['escape']) { $ret = addslashes($ret); unset($params['escape']); Index: processors/main_processor.php =================================================================== --- processors/main_processor.php (revision 13311) +++ processors/main_processor.php (working copy) @@ -121,32 +121,21 @@ function T($params) { //by default link to current template - $t = $this->SelectParam($params, 't,template'); - unset($params['t']); - unset($params['template']); - $prefix=isset($params['prefix']) ? $params['prefix'] : ''; unset($params['prefix']); - $index_file = isset($params['index_file']) ? $params['index_file'] : null; unset($params['index_file']); + $template = $this->SelectParam($params, 't,template'); + $prefix = array_key_exists('prefix', $params) ? $params['prefix'] : ''; - return $this->Application->HREF($t, $prefix, $params, $index_file); + unset($params['t'], $params['template'], $params['prefix']); + + return $this->Application->HREF($template, $prefix, $params); } function Link($params) { - if (isset($params['template'])) { - $params['t'] = $params['template']; - unset($params['template']); + // pass "m" prefix, instead of "all", that is by default on Front-End + if (!array_key_exists('pass', $params)) { + $params['pass'] = 'm'; } - if (!isset($params['pass']) && !isset($params['no_pass'])) $params['pass'] = 'm'; - if (isset($params['no_pass'])) unset($params['no_pass']); - if ( $this->Application->GetVar('admin') ) { - $params['admin'] = 1; - - if (!array_key_exists('editing_mode', $params)) { - $params['editing_mode'] = EDITING_MODE; - } - } - return $this->T($params); }