Index: trunk/kernel/admin_templates/incs/script.js =================================================================== diff -u -r4243 -r4287 --- trunk/kernel/admin_templates/incs/script.js (.../script.js) (revision 4243) +++ trunk/kernel/admin_templates/incs/script.js (.../script.js) (revision 4287) @@ -52,13 +52,13 @@ $array[$array.length] = arguments[arguments.length - 1]; } -function processHooks($function_name, $hook_type) +function processHooks($function_name, $hook_type, $prefix_special) { var $i = 0; var $local_hooks = getArrayValue($hooks, $function_name, $hook_type); while($i < $local_hooks.length) { - $local_hooks[$i]($function_name); + $local_hooks[$i]($function_name, $prefix_special); $i++; } } @@ -133,11 +133,13 @@ submitted = true; var $form = document.getElementById($form_prefix+'_form'); + processHooks('SubmitKF', hBEFORE); if (typeof $form.onsubmit == "function") { $form.onsubmit(); } $form.submit(); + processHooks('SubmitKF', hAFTER); $form.target = ''; $form.t.value = t; @@ -261,6 +263,7 @@ if(!isset($height)) $height=400; if(!isset(multi_line)) multi_line=0; openwin('',$window_name,$width,$height); + set_hidden_field('return_template', document.kernel_form.elements['t'].value); // where should return after popup is done set_hidden_field('translator_wnd_name', $window_name); set_hidden_field('translator_field', field); set_hidden_field('translator_t', t); @@ -277,6 +280,7 @@ if(!isset($window_name)) var $window_name = 'select_'+t.replace(/(\/|-)/g, '_'); if(!isset(multi_line)) multi_line=0; openwin('',$window_name,750,400); + set_hidden_field('return_template', document.kernel_form.elements['t'].value); // where should return after popup is done set_hidden_field('translator_wnd_name', $window_name); set_hidden_field('translator_field', field); set_hidden_field('translator_t', t); @@ -302,27 +306,37 @@ submit_event(prefix,'',$t,url); } -function openSelector($prefix,$url,$window_name,$width,$height,$event) +function openSelector($prefix, $url, $dst_field, $window_size, $event) { + var $kf = document.getElementById($form_prefix + '_form'); var $regex = new RegExp('(.*)\?env=' + document.getElementById('sid').value + '-(.*?):(.*)'); var $t = $regex.exec($url)[2]; - if(!isset($window_name)) var $window_name = 'select_'+$t.replace(/(\/|-)/g, '_'); - if(!isset($width)) $width=750; - if(!isset($height)) $height=400; + var $window_name = 'select_'+$t.replace(/(\/|-)/g, '_'); + + if (!isset($window_size)) $window_size = '750x400'; + + $window_size = $window_size.split('x'); + if(!isset($event)) $event=''; processHooks('openSelector', hBEFORE); - cur_opener = get_hidden_field('m_opener'); - set_hidden_field('m_opener','p'); - - openwin('',$window_name,$width,$height); + + var $prev_action = $kf.action; + var $prev_opener = get_hidden_field('m_opener'); + + set_hidden_field('m_opener', 'p'); set_hidden_field('main_prefix', $prefix); - document.kernel_form.target=$window_name; - var old_action = document.kernel_form.action; + set_hidden_field('dst_field', $dst_field); + set_hidden_field('return_template', $kf.elements['t'].value); // where should return after popup is done + + openwin('',$window_name,$window_size[0],$window_size[1]); document.kernel_form.action = $url; - submit_event($prefix,$event,$t); + document.kernel_form.target = $window_name; + + submit_event($prefix, $event, $t); + processHooks('openSelector', hAFTER); - document.kernel_form.action = old_action; - set_hidden_field('m_opener',cur_opener); + $kf.action = $prev_action; + set_hidden_field('m_opener', $prev_opener); } function openwin($url,$name,$width,$height) @@ -507,9 +521,16 @@ submit_event($prefix_special,'OnApplyFilters'); } -function RemoveTranslationLink($string) +function RemoveTranslationLink($string, $escaped) { - return $string.match(/<a href="(.*)">(.*)<\/a>/) ? RegExp.$2 : $string; + if (!isset($escaped)) $escaped = true; + + if ($escaped) { + return $string.match(/<a href="(.*)">(.*)<\/a>/) ? RegExp.$2 : $string; + } + else { + return $string.match(/(.*)<\/a>/) ? RegExp.$2 : $string; + } } function redirect($url)