Index: trunk/core/kernel/db/db_tag_processor.php =================================================================== diff -u -N -r2285 -r2308 --- trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 2285) +++ trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 2308) @@ -1013,6 +1013,7 @@ $all_tag_params = getArrayValue($title_info,'tag_params'); if($prefixes) { + $tag_params = Array(); foreach($prefixes as $prefix_special) { $prefix_data = $this->Application->processPrefix($prefix_special); @@ -1022,9 +1023,9 @@ { $tag_params = getArrayValue($all_tag_params, $prefix_data['prefix_special']); if(!$tag_params) $tag_params = Array(); - $tag_params = array_merge_recursive2($params, $tag_params); } + $tag_params = array_merge_recursive2($params, $tag_params); $objects[ $prefix_data['prefix_special'] ] =& $this->Application->recallObject($prefix_data['prefix_special'], $prefix_data['prefix'], $tag_params); $object_status[ $prefix_data['prefix_special'] ] = $objects[ $prefix_data['prefix_special'] ]->GetID() ? 'edit' : 'new'; Index: trunk/kernel/include/usersession.php =================================================================== diff -u -N -r2299 -r2308 --- trunk/kernel/include/usersession.php (.../usersession.php) (revision 2299) +++ trunk/kernel/include/usersession.php (.../usersession.php) (revision 2308) @@ -568,17 +568,11 @@ //if(!(int)$FrontEnd==1) //{ + $db =& $this->adodbConnection; $sessionkey = $this->GetSessionKey(); - $sql = "SELECT * FROM ".GetTablePrefix()."SessionData WHERE VariableName='$variableName' AND SessionKey='$sessionkey'"; - $rs = $this->adodbConnection->Execute($sql); - if($rs && !$rs->EOF) - { - $sql = "UPDATE ".GetTablePrefix()."SessionData SET VariableValue='$variableValue' WHERE VariableName='$variableName' AND SessionKey='$sessionkey'"; - } - else - $sql = "INSERT INTO ".GetTablePrefix()."SessionData (VariableName,VariableValue,SessionKey) VALUES ('$variableName','$variableValue','$sessionkey')"; - - $this->adodbConnection->Execute($sql); + $sql = 'REPLACE INTO '.GetTablePrefix().'SessionData (SessionKey,VariableName,VariableValue) VALUES (%s,%s,%s)'; + $db->Execute( sprintf($sql, $db->qstr($sessionkey), $db->qstr($variableName), $db->qstr($variableValue) ) ); + // echo "
UPDATE: $sql
"; //} } Index: trunk/kernel/admin/include/toolbar/advanced_view.php =================================================================== diff -u -N -r1566 -r2308 --- trunk/kernel/admin/include/toolbar/advanced_view.php (.../advanced_view.php) (revision 1566) +++ trunk/kernel/admin/include/toolbar/advanced_view.php (.../advanced_view.php) (revision 2308) @@ -172,7 +172,118 @@ var hostname = '$rootURL'; var env = '$envar'; var actionlist = new Array(); + + + // K4 code for handling toolbar operations: begin + var \$TabRegistry = Array(); + + function InpGrid(tab) + { + this.TabId = tab; + } + + InpGrid.prototype.ClearSelection = function(force,called_from) + { + unselectAll(this.TabId, 1); //1 means don't upate toolbar + } + + function registerTab(\$tab_id) + { + var \$tab = document.getElementById(\$tab_id); + var \$index = \$TabRegistry.length; + + \$TabRegistry[\$index] = new Array(); + \$TabRegistry[\$index]['tab_id'] = \$tab_id; + \$TabRegistry[\$index]['prefix_special'] = \$tab.getAttribute('PrefixSpecial'); + \$TabRegistry[\$index]['edit_template'] = \$tab.getAttribute('EditURL'); + } + + function queryTabRegistry(\$search_key, \$search_value, \$return_key) + { + var \$i = 0; + while(\$i < \$TabRegistry.length) + { + if(\$TabRegistry[\$i][\$search_key] == \$search_value) + { + return \$TabRegistry[\$i][\$return_key]; + break; + } + \$i++; + } + return '<'+\$search_key+'='+\$search_value+'>'; + } + + function k4_actionHandler(action, prefix_special) + { + var k4_action = ''; + switch (action) + { + case 'edit': + k4_action = 'edit_item("'+prefix_special+'")'; + break; + case 'delete': + k4_action = 'delete_items("'+prefix_special+'")'; + break; + case 'unselect': + k4_action = 'unselect("'+prefix_special+'")'; + break; + case 'approve': + k4_action = 'approve_items("'+prefix_special+'")'; + break; + case 'decline': + k4_action = 'decine_items("'+prefix_special+'")'; + break; + } + if (k4_action != '') + { + \$form_prefix = queryTabRegistry('prefix_special', prefix_special, 'tab_id'); + eval(k4_action); + } + else alert(action+' not implemented'); + + } + + function approve_items(prefix_special) + { + set_hidden_field('remove_specials['+prefix_special+']',1); + submit_event(prefix_special,'OnMassApprove','') + } + + function decine_items(prefix_special) + { + set_hidden_field('remove_specials['+prefix_special+']',1); + submit_event(prefix_special,'OnMassDecline','') + } + + function edit() + { + edit_item( queryTabRegistry('tab_id', activeTab.id, 'prefix_special') ); + } + + function edit_item(prefix_special) + { + opener_action('d'); + set_hidden_field(prefix_special+'_mode', 't'); + set_hidden_field('remove_specials['+prefix_special+']',1); + + submit_event(prefix_special, 'OnEdit', queryTabRegistry('prefix_special', prefix_special, 'edit_template'), '../../admin/index4.php'); + } + + function delete_items(prefix_special) + { + set_hidden_field('remove_specials['+prefix_special+']',1); + submit_event(prefix_special,'OnMassDelete','') + } + + function unselect(prefix_special) + { + Grids[prefix_special].ClearSelection(null,'Inp_AdvancedView.Unselect'); + } + // K4 code for handling toolbar operations: end + + + // Common function for all "Advanced View" page function InitPage() { @@ -230,6 +341,7 @@ { act = RegExp.$1; act = act.replace('$\$event$$', actionValue); + act = act.replace('$\$prefix$$', activeTab.getAttribute("PrefixSpecial") ); eval(act); return; } Index: trunk/admin/browse/checkboxes_new.js =================================================================== diff -u -N -r1566 -r2308 --- trunk/admin/browse/checkboxes_new.js (.../checkboxes_new.js) (revision 1566) +++ trunk/admin/browse/checkboxes_new.js (.../checkboxes_new.js) (revision 2308) @@ -497,6 +497,7 @@ if ( typeof (actPrefix) != 'undefined' && actPrefix != null && actPrefix.match("k4:(.*)") ) { act = RegExp.$1; act = act.replace('$\$event$$', 'unselect'); + act = act.replace('$\$prefix$$', tab.getAttribute("PrefixSpecial") ); eval(act); return; } Index: trunk/kernel/admin_templates/incs/script.js =================================================================== diff -u -N -r1795 -r2308 --- trunk/kernel/admin_templates/incs/script.js (.../script.js) (revision 1795) +++ trunk/kernel/admin_templates/incs/script.js (.../script.js) (revision 2308) @@ -1,15 +1,20 @@ -var Grids = new Array(); -var Toolbars = new Array(); -var $Menus = new Array(); -var $ViewMenus = new Array(); -if(!$fw_menus) var $fw_menus = new Array(); +if( !( isset($init_made) && $init_made ) ) +{ + var Grids = new Array(); + var Toolbars = new Array(); + var $Menus = new Array(); + var $ViewMenus = new Array(); + var $form_prefix = 'kernel'; // results usage of kernel_form + if(!$fw_menus) var $fw_menus = new Array(); + + var $env = ''; + var submitted = false; + var $init_made = true; // in case of double inclusion of script.js :) +} -var $env = ''; -var submitted = false; - function resort_grid(prefix_special,field,form_action) { - document.getElementById(prefix_special+'_Sort1').value = field; + set_hidden_field(prefix_special+'_Sort1', field); submit_event(prefix_special,'OnSetSorting',null,form_action); } @@ -39,21 +44,22 @@ set_hidden_field('events['+prefix_special+']', event); } - if(isset(t)) document.getElementById('t').value = t; - if(isset(form_action)) { + if(isset(t)) set_hidden_field('t', t); + if( isset(form_action) ) + { var old_env = ''; if ( !form_action.match(/\?/) ) { - document.getElementById('kernel_form').action.match(/.*(\?.*)/); + document.getElementById($form_prefix+'_form').action.match(/.*(\?.*)/); old_env = RegExp.$1; } - document.getElementById('kernel_form').action = form_action+old_env; + document.getElementById($form_prefix+'_form').action = form_action+old_env; } submit_kernel_form(); } function show_form_data() { - var $kf = document.getElementById('kernel_form'); + var $kf = document.getElementById($form_prefix+'_form'); $ret = ''; for(var i in $kf.elements) { @@ -69,7 +75,7 @@ return; } submitted = true; - var $form = document.getElementById('kernel_form'); + var $form = document.getElementById($form_prefix+'_form'); if (typeof $form.onsubmit == "function") { $form.onsubmit(); @@ -114,26 +120,26 @@ function go_to_list(prefix_special, tab) { - document.getElementById(prefix_special+'_GoTab').value = tab; + set_hidden_field(prefix_special+'_GoTab', tab); submit_event(prefix_special,'OnUpdateAndGoToTab',null); } function go_to_tab(prefix_special, tab) { - document.getElementById(prefix_special+'_GoTab').value = tab; + set_hidden_field(prefix_special+'_GoTab', tab); submit_event(prefix_special,'OnPreSaveAndGoToTab',null); } function go_to_id(prefix_special, id) { - document.getElementById(prefix_special+'_GoId').value = id; + set_hidden_field(prefix_special+'_GoId', id); submit_event(prefix_special,'OnPreSaveAndGo') } // in-portal compatibility functions: begin function getScriptURL($script_name) { - var $asid = document.getElementById('sid').value; + var $asid = get_hidden_field('sid'); return base_url+$script_name+'?env='+( isset($env)&&$env?$env:$asid )+'&en=0'; } @@ -161,7 +167,6 @@ openwin($url,'catselect',750,400); } - function OpenItemSelector(extra_env,$TargetForm) { var $url = getScriptURL('admin/relation_select.php') + '&destform='+$TargetForm; @@ -263,20 +268,20 @@ function opener_action(new_action) { - document.getElementById('m_opener').value=new_action; + set_hidden_field('m_opener', new_action); } function std_precreate_item(prefix_special, edit_template) { opener_action('d'); set_hidden_field(prefix_special+'_mode', 't'); - submit_event(prefix_special,'OnPreCreate', edit_template) + submit_event(prefix_special,'OnPreCreate', edit_template) } function std_new_item(prefix_special, edit_template) { opener_action('d'); - submit_event(prefix_special,'OnNew', edit_template) + submit_event(prefix_special,'OnNew', edit_template) } function std_edit_item(prefix_special, edit_template) @@ -302,7 +307,10 @@ // if the field does not exist - creates it function set_hidden_field($field_id, $value) { - var $field = document.getElementById($field_id); +// alert('form: '+$form_prefix+'_form'); + + var $kf = document.getElementById($form_prefix+'_form'); + var $field = $kf.elements[$field_id]; if($field) { $field.value = $value; @@ -314,10 +322,17 @@ $field.name = $field_id; $field.id = $field_id; $field.value = $value; - document.kernel_form.appendChild($field); + + $kf.appendChild($field); return false; } +function get_hidden_field($field) +{ + var $kf = document.getElementById($form_prefix+'_form'); + return $kf.elements[$field] ? $kf.elements[$field].value : false; +} + function search($prefix_special, $grid_name) { set_hidden_field('grid_name', $grid_name); Index: trunk/core/units/languages/import_xml.php =================================================================== diff -u -N -r2144 -r2308 --- trunk/core/units/languages/import_xml.php (.../import_xml.php) (revision 2144) +++ trunk/core/units/languages/import_xml.php (.../import_xml.php) (revision 2308) @@ -307,32 +307,38 @@ $ret .= ''.$row['UnitSystem'].''."\n"; // phrases - $ret .= "\t\t".''."\n"; $phrases_sql = 'SELECT * FROM '.$phrases_table.' WHERE LanguageId = %s AND PhraseType IN (%s) AND Module IN (%s) ORDER BY Phrase'; if( in_array('In-Portal',$module_ids) ) array_push($module_ids, ''); // for old language packs $rows = $this->Conn->Query( sprintf($phrases_sql,$language_id, implode(',',$phrase_types), '\''.implode('\',\'',$module_ids).'\'' ) ); - foreach($rows as $row) + if($rows) { - $ret .= sprintf($phrase_tpl, $row['Phrase'], $row['Module'], $row['PhraseType'], base64_encode($row['Translation']) ); + $ret .= "\t\t".''."\n"; + foreach($rows as $row) + { + $ret .= sprintf($phrase_tpl, $row['Phrase'], $row['Module'], $row['PhraseType'], base64_encode($row['Translation']) ); + } + $ret .= "\t\t".''."\n"; } - $ret .= "\t\t".''."\n"; // email events - $ret .= "\t\t".''."\n"; if( in_array('In-Portal',$module_ids) ) unset( $module_ids[array_search('',$module_ids)] ); // for old language packs $module_sql = preg_replace('/(.*) OR $/', '\\1', preg_replace('/(.*),/U', 'INSTR(Module,\'\\1\') OR ', implode(',', $module_ids).',' ) ); $sql = 'SELECT EventId FROM '.$mainevents_table.' WHERE '.$module_sql; $event_ids = $this->Conn->GetCol($sql); - $event_sql = 'SELECT * FROM '.$emailevents_table.' WHERE LanguageId = %s AND EventId IN (%s)'; - $rows = $this->Conn->Query( sprintf($event_sql,$language_id, $event_ids ? implode(',',$event_ids) : '' ) ); - foreach($rows as $row) + if($event_ids) { - list($event_name, $event_type) = explode('_', $this->events_hash[ $row['EventId'] ] ); - $ret .= sprintf($event_tpl, $row['MessageType'], $event_name, $event_type, base64_encode($row['Template']) ); + $ret .= "\t\t".''."\n"; + $event_sql = 'SELECT * FROM '.$emailevents_table.' WHERE LanguageId = %s AND EventId IN (%s)'; + $rows = $this->Conn->Query( sprintf($event_sql,$language_id, $event_ids ? implode(',',$event_ids) : '' ) ); + foreach($rows as $row) + { + list($event_name, $event_type) = explode('_', $this->events_hash[ $row['EventId'] ] ); + $ret .= sprintf($event_tpl, $row['MessageType'], $event_name, $event_type, base64_encode($row['Template']) ); + } + $ret .= "\t\t".''."\n"; } - $ret .= "\t\t".''."\n"; $ret .= "\t".''."\n"; } Index: trunk/core/units/category_items/category_items_config.php =================================================================== diff -u -N -r2041 -r2308 --- trunk/core/units/category_items/category_items_config.php (.../category_items_config.php) (revision 2041) +++ trunk/core/units/category_items/category_items_config.php (.../category_items_config.php) (revision 2308) @@ -17,7 +17,7 @@ 'TableName' => TABLE_PREFIX.'CategoryItems', 'ParentTableKey'=> 'ResourceId', 'ForeignKey' => 'ItemResourceId', - 'ParentPrefix' => 'p', + 'ParentPrefix' => 'p', // 'cms' (how to do this ?) 'AutoDelete' => true, 'AutoClone' => false, Index: trunk/kernel/units/languages/import_xml.php =================================================================== diff -u -N -r2144 -r2308 --- trunk/kernel/units/languages/import_xml.php (.../import_xml.php) (revision 2144) +++ trunk/kernel/units/languages/import_xml.php (.../import_xml.php) (revision 2308) @@ -307,32 +307,38 @@ $ret .= ''.$row['UnitSystem'].''."\n"; // phrases - $ret .= "\t\t".''."\n"; $phrases_sql = 'SELECT * FROM '.$phrases_table.' WHERE LanguageId = %s AND PhraseType IN (%s) AND Module IN (%s) ORDER BY Phrase'; if( in_array('In-Portal',$module_ids) ) array_push($module_ids, ''); // for old language packs $rows = $this->Conn->Query( sprintf($phrases_sql,$language_id, implode(',',$phrase_types), '\''.implode('\',\'',$module_ids).'\'' ) ); - foreach($rows as $row) + if($rows) { - $ret .= sprintf($phrase_tpl, $row['Phrase'], $row['Module'], $row['PhraseType'], base64_encode($row['Translation']) ); + $ret .= "\t\t".''."\n"; + foreach($rows as $row) + { + $ret .= sprintf($phrase_tpl, $row['Phrase'], $row['Module'], $row['PhraseType'], base64_encode($row['Translation']) ); + } + $ret .= "\t\t".''."\n"; } - $ret .= "\t\t".''."\n"; // email events - $ret .= "\t\t".''."\n"; if( in_array('In-Portal',$module_ids) ) unset( $module_ids[array_search('',$module_ids)] ); // for old language packs $module_sql = preg_replace('/(.*) OR $/', '\\1', preg_replace('/(.*),/U', 'INSTR(Module,\'\\1\') OR ', implode(',', $module_ids).',' ) ); $sql = 'SELECT EventId FROM '.$mainevents_table.' WHERE '.$module_sql; $event_ids = $this->Conn->GetCol($sql); - $event_sql = 'SELECT * FROM '.$emailevents_table.' WHERE LanguageId = %s AND EventId IN (%s)'; - $rows = $this->Conn->Query( sprintf($event_sql,$language_id, $event_ids ? implode(',',$event_ids) : '' ) ); - foreach($rows as $row) + if($event_ids) { - list($event_name, $event_type) = explode('_', $this->events_hash[ $row['EventId'] ] ); - $ret .= sprintf($event_tpl, $row['MessageType'], $event_name, $event_type, base64_encode($row['Template']) ); + $ret .= "\t\t".''."\n"; + $event_sql = 'SELECT * FROM '.$emailevents_table.' WHERE LanguageId = %s AND EventId IN (%s)'; + $rows = $this->Conn->Query( sprintf($event_sql,$language_id, $event_ids ? implode(',',$event_ids) : '' ) ); + foreach($rows as $row) + { + list($event_name, $event_type) = explode('_', $this->events_hash[ $row['EventId'] ] ); + $ret .= sprintf($event_tpl, $row['MessageType'], $event_name, $event_type, base64_encode($row['Template']) ); + } + $ret .= "\t\t".''."\n"; } - $ret .= "\t\t".''."\n"; $ret .= "\t".''."\n"; } Index: trunk/kernel/units/category_items/category_items_config.php =================================================================== diff -u -N -r2041 -r2308 --- trunk/kernel/units/category_items/category_items_config.php (.../category_items_config.php) (revision 2041) +++ trunk/kernel/units/category_items/category_items_config.php (.../category_items_config.php) (revision 2308) @@ -17,7 +17,7 @@ 'TableName' => TABLE_PREFIX.'CategoryItems', 'ParentTableKey'=> 'ResourceId', 'ForeignKey' => 'ItemResourceId', - 'ParentPrefix' => 'p', + 'ParentPrefix' => 'p', // 'cms' (how to do this ?) 'AutoDelete' => true, 'AutoClone' => false, Index: trunk/kernel/admin_templates/incs/blocks.tpl =================================================================== diff -u -N -r1566 -r2308 --- trunk/kernel/admin_templates/incs/blocks.tpl (.../blocks.tpl) (revision 1566) +++ trunk/kernel/admin_templates/incs/blocks.tpl (.../blocks.tpl) (revision 2308) @@ -1,5 +1,10 @@ -
"> + + + + + + _form" name="_form" enctype="multipart/form-data" method="post" action=""> " /> Index: trunk/core/kernel/application.php =================================================================== diff -u -N -r2268 -r2308 --- trunk/core/kernel/application.php (.../application.php) (revision 2268) +++ trunk/core/kernel/application.php (.../application.php) (revision 2308) @@ -319,13 +319,15 @@ $template_cache =& $this->recallObject('TemplatesCache'); $t = $this->GetVar('t'); - - if (defined('CMS') && CMS) { + if(defined('CMS') && CMS) + { $cms_handler =& $this->recallObject('cms_EventHandler'); - if (!$template_cache->TemplateExists($t)) { + if( !$template_cache->TemplateExists($t) ) + { $t = $cms_handler->GetDesignTemplate(); } - else { + else + { $cms_handler->SetCatByTemplate(); } } Index: trunk/kernel/admin_templates/img/toolbar/tool_new_page.gif =================================================================== diff -u -N Binary files differ Index: trunk/core/kernel/db/db_event_handler.php =================================================================== diff -u -N -r2284 -r2308 --- trunk/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 2284) +++ trunk/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 2308) @@ -239,7 +239,9 @@ // 2. loads if allowed $auto_load = $this->Application->getUnitOption($event->Prefix,'AutoLoad'); - if($auto_load) $this->LoadItem($event); + $skip_autload = $event->getEventParam('skip_autoload'); + + if($auto_load && !$skip_autload) $this->LoadItem($event); $actions =& $this->Application->recallObject('kActions'); $actions->Set($event->Prefix_Special.'_GoTab', ''); Index: trunk/kernel/admin_templates/incs/grid_blocks.tpl =================================================================== diff -u -N -r1795 -r2308 --- trunk/kernel/admin_templates/incs/grid_blocks.tpl (.../grid_blocks.tpl) (revision 1795) +++ trunk/kernel/admin_templates/incs/grid_blocks.tpl (.../grid_blocks.tpl) (revision 2308) @@ -234,7 +234,7 @@ - + Index: trunk/admin/include/mainscript.php =================================================================== diff -u -N -r1611 -r2308 --- trunk/admin/include/mainscript.php (.../mainscript.php) (revision 1611) +++ trunk/admin/include/mainscript.php (.../mainscript.php) (revision 2308) @@ -285,7 +285,7 @@ function ValidThemeName(name_str) { if (trim(name_str) == '') return false; - var re = new RegExp('^[a-zA-Z0-9 ]{1,}$'); + var re = new RegExp('^[a-zA-Z0-9-_]{1,}$'); if (name_str.match(re)) { return true; } Index: trunk/kernel/admin/include/toolbar/browse.php =================================================================== diff -u -N -r1937 -r2308 --- trunk/kernel/admin/include/toolbar/browse.php (.../browse.php) (revision 1937) +++ trunk/kernel/admin/include/toolbar/browse.php (.../browse.php) (revision 2308) @@ -212,7 +212,150 @@ var homeURL = "$homeURL"; var upURL = "$upURL"; + + // K4 code for handling toolbar operations: begin + var \$TabRegistry = Array(); + + function InpGrid(tab) + { + this.TabId = tab; + } + + InpGrid.prototype.ClearSelection = function(force,called_from) + { + unselectAll(this.TabId, 1); //1 means don't upate toolbar + } + + function registerTab(\$tab_id) + { + var \$tab = document.getElementById(\$tab_id); + var \$index = \$TabRegistry.length; + + \$TabRegistry[\$index] = new Array(); + \$TabRegistry[\$index]['tab_id'] = \$tab_id; + \$TabRegistry[\$index]['prefix_special'] = \$tab.getAttribute('PrefixSpecial'); + \$TabRegistry[\$index]['edit_template'] = \$tab.getAttribute('EditURL'); + } + + function queryTabRegistry(\$search_key, \$search_value, \$return_key) + { + var \$i = 0; + while(\$i < \$TabRegistry.length) + { + if(\$TabRegistry[\$i][\$search_key] == \$search_value) + { + return \$TabRegistry[\$i][\$return_key]; + break; + } + \$i++; + } + return '<'+\$search_key+'='+\$search_value+'>'; + } + + function k4_actionHandler(action, prefix_special) + { + var k4_action = ''; + switch (action) + { + case 'edit': + k4_action = 'edit_item("'+prefix_special+'")'; + break; + case 'delete': + k4_action = 'delete_items("'+prefix_special+'")'; + break; + case 'unselect': + k4_action = 'unselect("'+prefix_special+'")'; + break; + case 'approve': + k4_action = 'approve_items("'+prefix_special+'")'; + break; + case 'decline': + k4_action = 'decine_items("'+prefix_special+'")'; + break; + + case 'copy': + k4_action = 'copy_items("'+prefix_special+'")'; + break; + case 'cut': + k4_action = 'cut_items("'+prefix_special+'")'; + break; + case 'move_up': + k4_action = 'move_up("'+prefix_special+'")'; + break; + case 'move_down': + k4_action = 'move_down("'+prefix_special+'")'; + break; + } + + if (k4_action != '') + { + \$form_prefix = queryTabRegistry('prefix_special', prefix_special, 'tab_id'); + eval(k4_action); + } + else alert(action+' not implemented'); + + } + + function approve_items(prefix_special) + { + set_hidden_field('remove_specials['+prefix_special+']',1); + submit_event(prefix_special,'OnMassApprove','') + } + + function decine_items(prefix_special) + { + set_hidden_field('remove_specials['+prefix_special+']',1); + submit_event(prefix_special,'OnMassDecline','') + } + + function edit() + { + edit_item( queryTabRegistry('tab_id', activeTab.id, 'prefix_special') ); + } + + function edit_item(prefix_special) + { + opener_action('d'); + set_hidden_field(prefix_special+'_mode', 't'); + set_hidden_field('remove_specials['+prefix_special+']',1); + + submit_event(prefix_special, 'OnEdit', queryTabRegistry('prefix_special', prefix_special, 'edit_template'), '../../admin/index4.php'); + } + + function delete_items(prefix_special) + { + set_hidden_field('remove_specials['+prefix_special+']',1); + submit_event(prefix_special,'OnMassDelete','') + } + + function copy_items(prefix_special) + { + submit_event(prefix_special,'OnCopy','') + } + + function cut_items(prefix_special) + { + submit_event(prefix_special,'OnCut','') + } + + function move_up(prefix_special) + { + submit_event(prefix_special,'OnMassMoveUp','') + } + + function move_down(prefix_special) + { + submit_event(prefix_special,'OnMassMoveDown','') + } + + function unselect(prefix_special) + { + Grids[prefix_special].ClearSelection(null,'Inp_AdvancedView.Unselect'); + } + // K4 code for handling toolbar operations: end + + function InitPage() { addCommonActions(); @@ -375,6 +518,7 @@ if ( action_prefix.match("k4:(.*)") ) { act = RegExp.$1; act = act.replace('$\$event$$', actionValue); + act = act.replace('$\$prefix$$', activeTab.getAttribute("PrefixSpecial") ); eval(act); return; } Index: trunk/kernel/admin_templates/img/toolbar/tool_new_page_f2.gif =================================================================== diff -u -N Binary files differ