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