Index: branches/unlabeled/unlabeled-1.1.2/kernel/admin_templates/advanced_view.tpl
===================================================================
diff -u -r5715 -r5735
--- branches/unlabeled/unlabeled-1.1.2/kernel/admin_templates/advanced_view.tpl (.../advanced_view.tpl) (revision 5715)
+++ branches/unlabeled/unlabeled-1.1.2/kernel/admin_templates/advanced_view.tpl (.../advanced_view.tpl) (revision 5735)
@@ -24,7 +24,7 @@
this.switchTab();
}
- var $Catalog = new Catalog('', 'advanced_view_', 0);
+ var $Catalog = new Catalog('', 'advanced_view_', 0);
var a_toolbar = new ToolBar();
a_toolbar.AddButton( new ToolBarButton('edit', '', edit) );
Index: branches/unlabeled/unlabeled-1.155.2/core/kernel/application.php
===================================================================
diff -u -r5731 -r5735
--- branches/unlabeled/unlabeled-1.155.2/core/kernel/application.php (.../application.php) (revision 5731)
+++ branches/unlabeled/unlabeled-1.155.2/core/kernel/application.php (.../application.php) (revision 5735)
@@ -1076,6 +1076,9 @@
unset($params['__NO_REWRITE__']);
}
+ // append pass through variables to each link to be build
+ $params = array_merge_recursive2($this->getPassThroughVariables(), $params);
+
if ($this->RewriteURLs($ssl) && !$no_rewrite)
{
$session =& $this->recallObject('Session');
@@ -1092,6 +1095,35 @@
return $ret;
}
+ /**
+ * Returns variables with values that should be passed throught with this link + variable list
+ *
+ * @return unknown
+ */
+ function getPassThroughVariables()
+ {
+ static $cached_pass_through = null;
+
+ // because pass through is not changed during script run, then we can cache it
+ if (is_null($cached_pass_through)) {
+
+ $cached_pass_through = Array();
+ $pass_through = $this->Application->GetVar('pass_through');
+
+ if ($pass_through) {
+ // names of variables to pass to each link
+ $cached_pass_through['pass_through'] = $pass_through;
+ $pass_through = explode(',', $pass_through);
+ foreach ($pass_through as $pass_through_var) {
+ $cached_pass_through[$pass_through_var] = $this->Application->GetVar($pass_through_var);
+ }
+ }
+
+ }
+
+ return $cached_pass_through;
+ }
+
/**
* Returns sorted array of passed prefixes (to build url from)
Index: branches/unlabeled/unlabeled-1.11.2/kernel/units/general/cat_tag_processor.php
===================================================================
diff -u -r5721 -r5735
--- branches/unlabeled/unlabeled-1.11.2/kernel/units/general/cat_tag_processor.php (.../cat_tag_processor.php) (revision 5721)
+++ branches/unlabeled/unlabeled-1.11.2/kernel/units/general/cat_tag_processor.php (.../cat_tag_processor.php) (revision 5735)
@@ -145,9 +145,21 @@
function InitCatalogTab($params)
{
- $tab_special = $this->Application->GetVar('tab_special');
+ $tab_params['mode'] = $this->Application->GetVar('tm'); // single/multi selection possible
+ $tab_params['special'] = $this->Application->GetVar('ts'); // use special for this tab
+ $tab_params['dependant'] = $this->Application->GetVar('td'); // is grid dependant on categories grid
+
+ // set default params (same as in catalog)
+ if ($tab_params['mode'] === false) $tab_params['mode'] = 'multi';
+ if ($tab_params['special'] === false) $tab_params['special'] = '';
+ if ($tab_params['dependant'] === false) $tab_params['dependant'] = 'yes';
+
+ // pass params to block with tab content
$params['name'] = $params['render_as'];
- $params['prefix'] = trim($this->Prefix.'.'.($tab_special !== false ? $tab_special : $this->Special), '.');
+ $params['prefix'] = trim($this->Prefix.'.'.($tab_params['special'] ? $tab_params['special'] : $this->Special), '.');
+ $params['cat_prefix'] = trim('c.'.($tab_params['special'] ? $tab_params['special'] : $this->Special), '.');
+ $params['tab_mode'] = $tab_params['mode'];
+ $params['tab_dependant'] = $tab_params['dependant'];
return $this->Application->ParseBlock($params, 1);
}
}
Index: branches/unlabeled/unlabeled-1.11.2/core/units/general/cat_tag_processor.php
===================================================================
diff -u -r5721 -r5735
--- branches/unlabeled/unlabeled-1.11.2/core/units/general/cat_tag_processor.php (.../cat_tag_processor.php) (revision 5721)
+++ branches/unlabeled/unlabeled-1.11.2/core/units/general/cat_tag_processor.php (.../cat_tag_processor.php) (revision 5735)
@@ -145,9 +145,21 @@
function InitCatalogTab($params)
{
- $tab_special = $this->Application->GetVar('tab_special');
+ $tab_params['mode'] = $this->Application->GetVar('tm'); // single/multi selection possible
+ $tab_params['special'] = $this->Application->GetVar('ts'); // use special for this tab
+ $tab_params['dependant'] = $this->Application->GetVar('td'); // is grid dependant on categories grid
+
+ // set default params (same as in catalog)
+ if ($tab_params['mode'] === false) $tab_params['mode'] = 'multi';
+ if ($tab_params['special'] === false) $tab_params['special'] = '';
+ if ($tab_params['dependant'] === false) $tab_params['dependant'] = 'yes';
+
+ // pass params to block with tab content
$params['name'] = $params['render_as'];
- $params['prefix'] = trim($this->Prefix.'.'.($tab_special !== false ? $tab_special : $this->Special), '.');
+ $params['prefix'] = trim($this->Prefix.'.'.($tab_params['special'] ? $tab_params['special'] : $this->Special), '.');
+ $params['cat_prefix'] = trim('c.'.($tab_params['special'] ? $tab_params['special'] : $this->Special), '.');
+ $params['tab_mode'] = $tab_params['mode'];
+ $params['tab_dependant'] = $tab_params['dependant'];
return $this->Application->ParseBlock($params, 1);
}
}
Index: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/catalog/advanced_view.tpl
===================================================================
diff -u -r5715 -r5735
--- branches/unlabeled/unlabeled-1.1.2/core/admin_templates/catalog/advanced_view.tpl (.../advanced_view.tpl) (revision 5715)
+++ branches/unlabeled/unlabeled-1.1.2/core/admin_templates/catalog/advanced_view.tpl (.../advanced_view.tpl) (revision 5735)
@@ -24,7 +24,7 @@
this.switchTab();
}
- var $Catalog = new Catalog('', 'advanced_view_', 0);
+ var $Catalog = new Catalog('', 'advanced_view_', 0);
var a_toolbar = new ToolBar();
a_toolbar.AddButton( new ToolBarButton('edit', '', edit) );
Index: branches/unlabeled/unlabeled-1.59.2/core/kernel/utility/debugger.php
===================================================================
diff -u -r5659 -r5735
--- branches/unlabeled/unlabeled-1.59.2/core/kernel/utility/debugger.php (.../debugger.php) (revision 5659)
+++ branches/unlabeled/unlabeled-1.59.2/core/kernel/utility/debugger.php (.../debugger.php) (revision 5735)
@@ -501,7 +501,7 @@
$this->appendHTML('ScriptName: '.$this->getFileLink($script, 1, basename($script)).' ('.dirname($script).')');
if (isset($_REQUEST['ajax']) && $_REQUEST['ajax'] == 'yes') {
- $this->appendHTML('RequestURI: '.$_SERVER['REQUEST_URI']);
+ $this->appendHTML('RequestURI: '.$_SERVER['REQUEST_URI'].' (QS Length:'.strlen($_SERVER['QUERY_STRING']).')');
}
$this->appendHTML('DomViewer: ');
Index: branches/unlabeled/unlabeled-1.11.2/kernel/admin_templates/incs/grid.js
===================================================================
diff -u -r5613 -r5735
--- branches/unlabeled/unlabeled-1.11.2/kernel/admin_templates/incs/grid.js (.../grid.js) (revision 5613)
+++ branches/unlabeled/unlabeled-1.11.2/kernel/admin_templates/incs/grid.js (.../grid.js) (revision 5735)
@@ -161,7 +161,7 @@
this.Toggle()
}
else {
- if (!(this.Grid.RadioMode && this.Grid.LastSelectedId == this.ItemId)) {
+ if (!(this.Grid.RadioMode && this.Grid.LastSelectedId == this.ItemId && this.selected)) {
// don't clear selection if item same as current is selected
this.Grid.ClearSelection(null,'GridItem.Click');
this.Toggle();