Index: trunk/kernel/admin_templates/incs/footer.tpl =================================================================== diff -u -N -r4524 -r4996 --- trunk/kernel/admin_templates/incs/footer.tpl (.../footer.tpl) (revision 4524) +++ trunk/kernel/admin_templates/incs/footer.tpl (.../footer.tpl) (revision 4996) @@ -4,6 +4,8 @@ - + + + \ No newline at end of file Index: trunk/core/admin_templates/categories/xml/tree_categories.tpl =================================================================== diff -u -N -r4722 -r4996 --- trunk/core/admin_templates/categories/xml/tree_categories.tpl (.../tree_categories.tpl) (revision 4722) +++ trunk/core/admin_templates/categories/xml/tree_categories.tpl (.../tree_categories.tpl) (revision 4996) @@ -1,7 +1,7 @@ - " icon="img/icons/icon24_catalog.gif" href="" onclick="checkEditMode()" load_url=""> + " icon="img/icons/icon24_catalog.gif" href="" onclick="checkCatalog()" load_url=""> - + Index: trunk/kernel/admin_templates/incs/script.js =================================================================== diff -u -N -r4850 -r4996 --- trunk/kernel/admin_templates/incs/script.js (.../script.js) (revision 4850) +++ trunk/kernel/admin_templates/incs/script.js (.../script.js) (revision 4996) @@ -435,13 +435,10 @@ // sets hidden field value // if the field does not exist - creates it function set_hidden_field($field_id, $value) -{ -// alert('form: '+$form_name); - +{ var $kf = document.getElementById($form_name); var $field = $kf.elements[$field_id]; - if($field) - { + if ($field) { $field.value = $value; return true; } @@ -456,6 +453,15 @@ return false; } +// sets hidden field value +// if the field does not exist - creates it +function setInnerHTML($field_id, $value) +{ + var $element = document.getElementById($field_id); + if (!$element) return false; + $element.innerHTML = $value; +} + function get_hidden_field($field) { var $kf = document.getElementById($form_name); Index: trunk/core/units/categories/categories_config.php =================================================================== diff -u -N -r4689 -r4996 --- trunk/core/units/categories/categories_config.php (.../categories_config.php) (revision 4689) +++ trunk/core/units/categories/categories_config.php (.../categories_config.php) (revision 4996) @@ -47,7 +47,9 @@ 'new_titlefield' => Array('c' => '!la_title_New_Category!'), ), 'category_list' => Array('prefixes' => Array('c_List'), 'format' => "!la_title_Categories! (#c_recordcount#)"), - + + 'catalog' => Array('prefixes' => Array('c_List'), 'format' => "!la_title_Categories! (#c_recordcount#)"), + 'category_items'=> Array('prefixes' => Array('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_Items!"), 'tree_site' => Array('format' => '!la_selecting_categories!'), @@ -77,6 +79,18 @@ 'priority' => 1, 'type' => stTREE, ), + + 'in-portal:browse_new' => Array( + 'parent' => 'in-portal:site', + 'icon' => 'catalog', + 'label' => 'la_K4_Catalog', + 'url' => Array('t' => 'catalog', 'pass' => 'm'), + 'late_load' => Array('t' => 'xml/tree_categories', 'pass' => 'm', 'm_cat_id' => 0), + 'onclick' => 'checkCatalog(0)', + 'permissions' => Array('view'), + 'priority' => 1.1, + 'type' => stTREE, + ), 'in-portal:advanced_view' => Array( 'parent' => 'in-portal:site', @@ -152,11 +166,12 @@ 'SubItems' => Array('c-cdata', 'c-perm'), 'ListSortings' => Array( - '' => Array( - 'ForcedSorting' => Array("CurrentSort" => 'asc', 'Priority' => 'desc', 'Name' => 'asc'), - 'Sorting' => Array('Name' => 'asc'), - ) - ), + '' => Array( + 'ForcedSorting' => Array("CurrentSort" => 'asc', 'Priority' => 'desc', 'Name' => 'asc'), + 'Sorting' => Array('Name' => 'asc'), + ) + ), + 'CalculatedFields' => Array( '' => Array( 'CurrentSort' => "REPLACE(ParentPath, CONCAT('|', ".'%1$s'.".CategoryId, '|'), '')", @@ -203,13 +218,16 @@ 'Grids' => Array( 'Default' => Array( - 'Icons' => Array('default'=>'icon16_cat.gif'), - 'Fields' => Array( - 'Name' => Array( 'width'=>150, 'title'=>'la_col_Title', 'data_block'=>'category_td' ), - ), + 'Icons' => Array('default'=>'icon16_cat.gif'), + 'Fields' => Array( + 'Name' => Array('title' => 'la_col_Name', 'data_block' => 'category_td'), + 'Description' => Array('title' => 'la_col_Description'), + 'CreatedOn_formatted' => Array('title' => 'la_col_CreatedOn', 'sort_field' => 'CreatedOn'), + ), - ), ), + ), + 'ConfigMapping' => Array( 'PerPage' => 'Perpage_Category', 'DefaultSorting1Field' => 'Category_Sortfield', Index: trunk/kernel/admin_templates/catalog.tpl =================================================================== diff -u -N --- trunk/kernel/admin_templates/catalog.tpl (revision 0) +++ trunk/kernel/admin_templates/catalog.tpl (revision 4996) @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + +
+ "/> + + +
+ + + + + + + + +
+ + + + + + + + + +
Search:  + " PrefixSpecial="c" Grid="Default" style="border: 1px solid grey;"> + + + +
+
+
+
+ + + + + + + + + +
+ + + + + + +
+ + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + + + + + + + + \ No newline at end of file Index: trunk/core/admin_templates/categories/xml/categories_list.tpl =================================================================== diff -u -N --- trunk/core/admin_templates/categories/xml/categories_list.tpl (revision 0) +++ trunk/core/admin_templates/categories/xml/categories_list.tpl (revision 4996) @@ -0,0 +1,64 @@ + + + + +Grids['c'] = new Grid('table_white_selected', ':original', edit, a_toolbar); +Grids['c'].AddItemsByIdMask('td', /^c_([0-9-]+)/, 'c[$$ID$$][CategoryId]'); +Grids['c'].InitItems(); + +setInnerHTML('category_count', ); + + + + + + + + + + + + + + + + );"> + + + + + +setInnerHTML('category_path', ''); +set_hidden_field('m_cat_id', ); + + a_toolbar.DisableButton('upcat'); + a_toolbar.DisableButton('homecat'); + + a_toolbar.EnableButton('upcat'); + a_toolbar.EnableButton('homecat'); + + +#separator# + + + + + + + + + + +
_"> + " id=""> + ">  + );">: + Pick + New + ( / )
+
+
+ () +
+

+ \ No newline at end of file Index: trunk/kernel/admin_templates/img/itemtabs/tab_right.gif =================================================================== diff -u -N Binary files differ Index: trunk/kernel/admin_templates/img/itemtabs/tab_inactive.gif =================================================================== diff -u -N -r1566 -r4996 Binary files differ Index: trunk/kernel/units/general/helpers/sections_helper.php =================================================================== diff -u -N -r4885 -r4996 --- trunk/kernel/units/general/helpers/sections_helper.php (.../sections_helper.php) (revision 4885) +++ trunk/kernel/units/general/helpers/sections_helper.php (.../sections_helper.php) (revision 4996) @@ -69,10 +69,15 @@ $section_params['url']['module'] = $module_name; } } + if (!isset($section_params['url']['t'])) { $section_params['url']['t'] = 'index'; } + if (!isset($section_params['onclick'])) { + $section_params['onclick'] = 'checkEditMode()'; + } + $current_data = isset($this->Tree[$section_name]) ? $this->Tree[$section_name] : Array(); $this->Tree[$section_name] = array_merge_recursive2($current_data, $section_params); Index: trunk/kernel/admin_templates/incs/ajax.js =================================================================== diff -u -N --- trunk/kernel/admin_templates/incs/ajax.js (revision 0) +++ trunk/kernel/admin_templates/incs/ajax.js (revision 4996) @@ -0,0 +1,159 @@ +function Request() {} + +Request.timeout = 5000; //5 seconds +Request.method = 'GET'; +Request.params = null; + +Request.makeRequest = function(p_url, p_busyReq, p_progId, p_successCallBack, p_errorCallBack, p_pass) { + //p_url: the web service url + //p_busyReq: is a request for this object currently in progress? + //p_progId: element id where progress HTML should be shown + //p_successCallBack: callback function for successful response + //p_errorCallBack: callback function for erroneous response + //p_pass: string of params to pass to callback functions + if (p_busyReq) return; + var req = Request.getRequest(); + if (req != null) { + p_busyReq = true; + Request.showProgress(p_progId); + req.onreadystatechange = function() { + if (req.readyState == 4) { + p_busyReq = false; + window.clearTimeout(toId); + if (req.status == 200) { + p_successCallBack(req,p_pass); + } else { + p_errorCallBack(req,p_pass); + } + } + } + req.open(Request.method, p_url, true); + if (Request.method == 'POST') { + req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); + req.setRequestHeader("referer", p_url); + req.send(Request.params); + Request.method = 'GET'; // restore method back to GET + } + else { + req.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT'); + req.send(null); + } + + var toId = window.setTimeout( function() {if (p_busyReq) req.abort();}, Request.timeout ); + } +} + +Request.getRequest = function() { + var xmlHttp; + try { xmlHttp = new ActiveXObject('MSXML2.XMLHTTP'); return xmlHttp; } catch (e) {} + try { xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); return xmlHttp; } catch (e) {} + try { xmlHttp = new XMLHttpRequest(); return xmlHttp; } catch(e) {} + return null; +} + +Request.showProgress = function(p_id) { + if (p_id != "") document.getElementById(p_id).innerHTML = Request.getProgressHtml(); +} + +Request.getProgressHtml = function() { + return "

" + _progressText + "
" + _progressText + "

"; +} + +Request.getErrorHtml = function(p_req) { + //TODO: implement accepted way to handle request error + return "

" + "(" + p_req.status + ") " + p_req.statusText + "

" +} + + +Request.serializeForm = function(theform) { + if (typeof(theform) == 'string') { + theform = document.getElementById(theform); + } + + var els = theform.elements; + var len = els.length; + var queryString = ''; + + Request.addField = function(name, value) { + if (queryString.length > 0) queryString += '&'; + queryString += encodeURIComponent(name) + '=' + encodeURIComponent(value); + }; + + for (var i = 0; i= 0) { + Request.addField(el.name, el.options[el.selectedIndex].value); + } + break; + + case 'select-multiple': + for (var j = 0; j < el.options.length; j++) { + if (!el.options[j].selected) continue; + Request.addField(el.name, el.options[j].value); + } + break; + + case 'checkbox': + case 'radio': + if (!el.checked) continue; + Request.addField(el.name,el.value); + break; + } + } + return queryString; +}; +// Catalog Related + +function Catalog() {} +Catalog.BusyRequest = false; + +Catalog.submit_kernel_form = function($form_name, $result_div) { + var $kf = document.getElementById($form_name); + set_hidden_field('ajax', 'yes'); + + Request.params = Request.serializeForm($kf); + Request.method = $kf.method.toUpperCase(); + + Request.makeRequest($kf.action, Catalog.BusyRequest, $result_div, Catalog.successCallback, Catalog.errorCallback, $result_div); +}; + +Catalog.successCallback = function($request, $params) { + var $text = $request.responseText; + $params = $params.split(','); + var $js_end = $text.indexOf($separator); + if ($js_end != -1) { + document.getElementById($params[0]).innerHTML = $text.substring($js_end + $separator.length); + eval($text.substring(0, $js_end)); + + } + else { + document.getElementById($params[0]).innerHTML = $text; + } + + if (isset($Debugger)) $Debugger.Clear(); +} + +Catalog.errorCallback = function($request, $params) { + alert('AJAX ERROR: ' + Request.getErrorHtml($request)); +} + +Catalog.submit_event = function($prefix_special, $event, $t, $result_div, $source_form) { + // set form name first, because set_hidden_field uses it + if (isset($source_form)) $form_name = $source_form; + + if (isset($event)) set_hidden_field('events['+$prefix_special+']', $event); + if (isset($t)) set_hidden_field('t', $t); + + Catalog.submit_kernel_form($form_name, $result_div); +} \ No newline at end of file Index: trunk/kernel/admin_templates/tree.tpl =================================================================== diff -u -N -r4842 -r4996 --- trunk/kernel/admin_templates/tree.tpl (.../tree.tpl) (revision 4842) +++ trunk/kernel/admin_templates/tree.tpl (.../tree.tpl) (revision 4996) @@ -71,9 +71,9 @@ - " onclick="checkEditMode()" icon="img/icons/icon24_.gif"> + " onclick="" icon="img/icons/icon24_.gif"> - " onclick="checkEditMode()" name="" icon="img/icons/icon24_.gif" load_url=""> + " onclick="" name="" icon="img/icons/icon24_.gif" load_url=""> @@ -101,6 +101,17 @@ var $kf = document.getElementById($form_name); $kf.target = 'main_frame'; + + function checkCatalog($cat_id) { + var $ret = checkEditMode(); + var $right_frame = window.parent.getFrame('main'); + if ($ret && $right_frame.$is_catalog) { + $right_frame.go_to_cat($cat_id); + return false; + } + return $ret; + } + function checkEditMode() { var $phrase = ""; Index: trunk/kernel/admin_templates/xml/tree_categories.tpl =================================================================== diff -u -N -r4722 -r4996 --- trunk/kernel/admin_templates/xml/tree_categories.tpl (.../tree_categories.tpl) (revision 4722) +++ trunk/kernel/admin_templates/xml/tree_categories.tpl (.../tree_categories.tpl) (revision 4996) @@ -1,7 +1,7 @@ - " icon="img/icons/icon24_catalog.gif" href="" onclick="checkEditMode()" load_url=""> + " icon="img/icons/icon24_catalog.gif" href="" onclick="checkCatalog()" load_url=""> - + Index: trunk/core/kernel/utility/debugger.php =================================================================== diff -u -N -r4971 -r4996 --- trunk/core/kernel/utility/debugger.php (.../debugger.php) (revision 4971) +++ trunk/core/kernel/utility/debugger.php (.../debugger.php) (revision 4996) @@ -645,8 +645,6 @@ return ''; } - if ($this->constOn('DBG_SKIP_REPORTING') || $this->constOn('DBG_ZEND_PRESENT')) return ''; - $debugger_start = memory_get_usage(); if (defined('SPACER_URL')) { @@ -723,6 +721,10 @@ $i++; } fclose($fp); + + // let debugger write report and then don't output anything + if ($this->constOn('DBG_SKIP_REPORTING') || $this->constOn('DBG_ZEND_PRESENT')) return ''; + ob_start(); ?> Index: trunk/kernel/admin_templates/xml/categories_list.tpl =================================================================== diff -u -N --- trunk/kernel/admin_templates/xml/categories_list.tpl (revision 0) +++ trunk/kernel/admin_templates/xml/categories_list.tpl (revision 4996) @@ -0,0 +1,64 @@ + + + + +Grids['c'] = new Grid('table_white_selected', ':original', edit, a_toolbar); +Grids['c'].AddItemsByIdMask('td', /^c_([0-9-]+)/, 'c[$$ID$$][CategoryId]'); +Grids['c'].InitItems(); + +setInnerHTML('category_count', ); + + + + + + + + + + + + + + + + );"> + + + + + +setInnerHTML('category_path', ''); +set_hidden_field('m_cat_id', ); + + a_toolbar.DisableButton('upcat'); + a_toolbar.DisableButton('homecat'); + + a_toolbar.EnableButton('upcat'); + a_toolbar.EnableButton('homecat'); + + +#separator# + + + + + + + + + + +
_"> + " id=""> + ">  + );">: + Pick + New + ( / )
+
+
+ () +
+

+ \ No newline at end of file Index: trunk/kernel/admin_templates/incs/form_blocks.tpl =================================================================== diff -u -N -r4794 -r4996 --- trunk/kernel/admin_templates/incs/form_blocks.tpl (.../form_blocks.tpl) (revision 4794) +++ trunk/kernel/admin_templates/incs/form_blocks.tpl (.../form_blocks.tpl) (revision 4996) @@ -32,7 +32,7 @@ Index: trunk/core/units/categories/categories_tag_processor.php =================================================================== diff -u -N -r4758 -r4996 --- trunk/core/units/categories/categories_tag_processor.php (.../categories_tag_processor.php) (revision 4758) +++ trunk/core/units/categories/categories_tag_processor.php (.../categories_tag_processor.php) (revision 4996) @@ -272,7 +272,8 @@ $types = $this->SelectParam($params, 'types'); $except = $this->SelectParam($params, 'except'); - if ($types.$except.$parent_cat_id == '') { + $no_special = isset($params['no_special']) && $params['no_special']; + if ($types.$except.$parent_cat_id == '' || $no_special) { return parent::BuildListSpecial($params); } Index: trunk/kernel/admin_templates/img/toolbar/tool_export.gif =================================================================== diff -u -N Binary files differ Index: trunk/core/kernel/db/db_tag_processor.php =================================================================== diff -u -N -r4977 -r4996 --- trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 4977) +++ trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 4996) @@ -181,7 +181,7 @@ function InitList($params) { - $list_name = $params['list_name']; + $list_name = isset($params['list_name']) ? $params['list_name'] : ''; $names_mapping = $this->Application->GetVar('NamesToSpecialMapping'); Index: trunk/kernel/admin_templates/img/toolbar/tool_rebuild_cache.gif =================================================================== diff -u -N Binary files differ Index: trunk/kernel/admin_templates/img/ajax_progress.gif =================================================================== diff -u -N Binary files differ Index: trunk/kernel/admin_templates/img/itemtabs/divider_dn.gif =================================================================== diff -u -N -r1566 -r4996 Binary files differ Index: trunk/kernel/admin_templates/img/itemtabs/tab_active.gif =================================================================== diff -u -N -r1566 -r4996 Binary files differ Index: trunk/kernel/admin_templates/img/itemtabs/tab_left.gif =================================================================== diff -u -N Binary files differ Index: trunk/kernel/units/categories/categories_config.php =================================================================== diff -u -N -r4689 -r4996 --- trunk/kernel/units/categories/categories_config.php (.../categories_config.php) (revision 4689) +++ trunk/kernel/units/categories/categories_config.php (.../categories_config.php) (revision 4996) @@ -47,7 +47,9 @@ 'new_titlefield' => Array('c' => '!la_title_New_Category!'), ), 'category_list' => Array('prefixes' => Array('c_List'), 'format' => "!la_title_Categories! (#c_recordcount#)"), - + + 'catalog' => Array('prefixes' => Array('c_List'), 'format' => "!la_title_Categories! (#c_recordcount#)"), + 'category_items'=> Array('prefixes' => Array('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_Items!"), 'tree_site' => Array('format' => '!la_selecting_categories!'), @@ -77,6 +79,18 @@ 'priority' => 1, 'type' => stTREE, ), + + 'in-portal:browse_new' => Array( + 'parent' => 'in-portal:site', + 'icon' => 'catalog', + 'label' => 'la_K4_Catalog', + 'url' => Array('t' => 'catalog', 'pass' => 'm'), + 'late_load' => Array('t' => 'xml/tree_categories', 'pass' => 'm', 'm_cat_id' => 0), + 'onclick' => 'checkCatalog(0)', + 'permissions' => Array('view'), + 'priority' => 1.1, + 'type' => stTREE, + ), 'in-portal:advanced_view' => Array( 'parent' => 'in-portal:site', @@ -152,11 +166,12 @@ 'SubItems' => Array('c-cdata', 'c-perm'), 'ListSortings' => Array( - '' => Array( - 'ForcedSorting' => Array("CurrentSort" => 'asc', 'Priority' => 'desc', 'Name' => 'asc'), - 'Sorting' => Array('Name' => 'asc'), - ) - ), + '' => Array( + 'ForcedSorting' => Array("CurrentSort" => 'asc', 'Priority' => 'desc', 'Name' => 'asc'), + 'Sorting' => Array('Name' => 'asc'), + ) + ), + 'CalculatedFields' => Array( '' => Array( 'CurrentSort' => "REPLACE(ParentPath, CONCAT('|', ".'%1$s'.".CategoryId, '|'), '')", @@ -203,13 +218,16 @@ 'Grids' => Array( 'Default' => Array( - 'Icons' => Array('default'=>'icon16_cat.gif'), - 'Fields' => Array( - 'Name' => Array( 'width'=>150, 'title'=>'la_col_Title', 'data_block'=>'category_td' ), - ), + 'Icons' => Array('default'=>'icon16_cat.gif'), + 'Fields' => Array( + 'Name' => Array('title' => 'la_col_Name', 'data_block' => 'category_td'), + 'Description' => Array('title' => 'la_col_Description'), + 'CreatedOn_formatted' => Array('title' => 'la_col_CreatedOn', 'sort_field' => 'CreatedOn'), + ), - ), ), + ), + 'ConfigMapping' => Array( 'PerPage' => 'Perpage_Category', 'DefaultSorting1Field' => 'Category_Sortfield', Index: trunk/core/units/general/helpers/sections_helper.php =================================================================== diff -u -N -r4885 -r4996 --- trunk/core/units/general/helpers/sections_helper.php (.../sections_helper.php) (revision 4885) +++ trunk/core/units/general/helpers/sections_helper.php (.../sections_helper.php) (revision 4996) @@ -69,10 +69,15 @@ $section_params['url']['module'] = $module_name; } } + if (!isset($section_params['url']['t'])) { $section_params['url']['t'] = 'index'; } + if (!isset($section_params['onclick'])) { + $section_params['onclick'] = 'checkEditMode()'; + } + $current_data = isset($this->Tree[$section_name]) ? $this->Tree[$section_name] : Array(); $this->Tree[$section_name] = array_merge_recursive2($current_data, $section_params); Index: trunk/core/kernel/processors/tag_processor.php =================================================================== diff -u -N -r4880 -r4996 --- trunk/core/kernel/processors/tag_processor.php (.../tag_processor.php) (revision 4880) +++ trunk/core/kernel/processors/tag_processor.php (.../tag_processor.php) (revision 4996) @@ -50,7 +50,13 @@ } //echo htmlspecialchars($tag->GetFullTag()).'
'; - return $this->$Method($params); + $ret = $this->$Method($params); + if (isset($params['js_escape']) && $params['js_escape']) { + $ret = str_replace('\'', ''', $ret); + $ret = addslashes($ret); + $ret = str_replace(Array("\r", "\n"), Array('\r', '\n'), $ret); + } + return $ret; } else { Index: trunk/core/kernel/utility/debugger/debugger.js =================================================================== diff -u -N -r4880 -r4996 --- trunk/core/kernel/utility/debugger/debugger.js (.../debugger.js) (revision 4880) +++ trunk/core/kernel/utility/debugger/debugger.js (.../debugger.js) (revision 4996) @@ -9,7 +9,9 @@ //p_successCallBack: callback function for successful response //p_errorCallBack: callback function for erroneous response //p_pass: string of params to pass to callback functions - if (p_busyReq) return; + if (p_busyReq) { + return; + } var req = DebugReq.getRequest(); if (req != null) { p_busyReq = true; @@ -60,6 +62,7 @@ this.DebuggerDIV = document.getElementById('debug_layer'); this.DebuggerTable = document.getElementById('debug_table'); this.RowCount = 0; + this.busyRequest = false; // window.$Debugger = this; // this should be uncommented in case if debugger variable is not $Debugger window.onscroll = function(ev) { window.$Debugger.Resize(ev); } @@ -74,11 +77,25 @@ $tr.className = 'debug_row_' + (this.RowCount % 2 ? 'odd' : 'even'); $tr.id = 'debug_row_' + this.RowCount; var $td = document.createElement('TD'); - $tr.appendChild($td); $td.className = 'debug_cell'; $td.innerHTML = $html; + $tr.appendChild($td); } +Debugger.prototype.RemoveRow = function($row_index) { + this.DebuggerTable.deleteRow($row_index); + this.RowCount--; +} + +Debugger.prototype.Clear = function() { + if (!this.IsQueried) return false; + + this.IsQueried = false; + while (this.DebuggerTable.rows.length) { + this.RemoveRow(0); + } +} + Debugger.prototype.KeyDown = function($e) { var $KeyCode = this.GetKeyCode($e); if ($KeyCode == 123 || $KeyCode == 27) {// F12 or ESC @@ -124,7 +141,7 @@ } Debugger.prototype.Query = function() { - DebugReq.makeRequest(this.DebugURL, this.busyReq, '', this.successCallback, this.errorCallback, ''); + DebugReq.makeRequest(this.DebugURL, this.busyRequest, '', this.successCallback, this.errorCallback, ''); } Debugger.prototype.successCallback = function(p_req, p_pass) { @@ -146,7 +163,7 @@ Debugger.prototype.Refresh = function() { // progress mether row - document.getElementById('debug_row_1').style.display = 'none'; + this.RemoveRow(0); this.IsQueried = true; this.DebuggerDIV.scrollTop = this.IsFatalError ? 10000000 : 0; this.DebuggerDIV.scrollLeft = 0; Index: trunk/kernel/admin_templates/img/itemtabs/tab_middle.gif =================================================================== diff -u -N Binary files differ Index: trunk/core/admin_templates/catalog/catalog.tpl =================================================================== diff -u -N --- trunk/core/admin_templates/catalog/catalog.tpl (revision 0) +++ trunk/core/admin_templates/catalog/catalog.tpl (revision 4996) @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + +
+ "/> + + +
+ + + + + + + + +
+ + + + + + + + + +
Search:  + " PrefixSpecial="c" Grid="Default" style="border: 1px solid grey;"> + + + +
+
+
+
+ + + + + + + + + +
+ + + + + + +
+ + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + + + + + + + + \ No newline at end of file Index: trunk/kernel/admin_templates/incs/header.tpl =================================================================== diff -u -N -r4834 -r4996 --- trunk/kernel/admin_templates/incs/header.tpl (.../header.tpl) (revision 4834) +++ trunk/kernel/admin_templates/incs/header.tpl (.../header.tpl) (revision 4996) @@ -43,7 +43,10 @@ > - + + + +    Index: trunk/kernel/admin_templates/img/toolbar/tool_rebuild_cache_f2.gif =================================================================== diff -u -N Binary files differ Index: trunk/kernel/admin_templates/img/toolbar/tool_export_f2.gif =================================================================== diff -u -N Binary files differ Index: trunk/kernel/units/categories/categories_tag_processor.php =================================================================== diff -u -N -r4758 -r4996 --- trunk/kernel/units/categories/categories_tag_processor.php (.../categories_tag_processor.php) (revision 4758) +++ trunk/kernel/units/categories/categories_tag_processor.php (.../categories_tag_processor.php) (revision 4996) @@ -272,7 +272,8 @@ $types = $this->SelectParam($params, 'types'); $except = $this->SelectParam($params, 'except'); - if ($types.$except.$parent_cat_id == '') { + $no_special = isset($params['no_special']) && $params['no_special']; + if ($types.$except.$parent_cat_id == '' || $no_special) { return parent::BuildListSpecial($params); } Index: trunk/kernel/admin_templates/img/toolbar/tool_export_f3.gif =================================================================== diff -u -N Binary files differ Index: trunk/kernel/admin_templates/img/itemtabs/divider_down.gif =================================================================== diff -u -N Binary files differ Index: trunk/kernel/admin_templates/incs/style.css =================================================================== diff -u -N -r4467 -r4996 --- trunk/kernel/admin_templates/incs/style.css (.../style.css) (revision 4467) +++ trunk/kernel/admin_templates/incs/style.css (.../style.css) (revision 4996) @@ -336,19 +336,21 @@ font-family: verdana, arial; font-size: 14px; font-weight: bold; - color: #FFFFFF; background-color: #999999; text-decoration: none; - height: 24px; + + color: #FFFFFF; + } .subsectiontitle:hover { font-family: verdana, arial; font-size: 14px; font-weight: bold; - color: #FFCC00; background-color: #999999; text-decoration: none; + + color: #FFCC00; } .error { @@ -541,3 +543,28 @@ .dLink:hover { text-decoration: underline; } + +a.config-header, a.config-header:hover { + color: #FFFFFF; + font-size: 11px; +} + +.catalog-tab-left { + background: url(../img/itemtabs/tab_left.gif) top left no-repeat; +} + +.catalog-tab-middle { + background: url(../img/itemtabs/tab_middle.gif) top left repeat-x; +} + +.catalog-tab-right { + background: url(../img/itemtabs/tab_right.gif) top right no-repeat; +} + +.catalog-tab-selected td { + background-color: #E0E0DA; +} + +.catalog-tab-unselected td { + background-color: #F0F1EB; +}