Index: trunk/kernel/admin_templates/incs/script.js =================================================================== diff -u -r5085 -r5185 --- trunk/kernel/admin_templates/incs/script.js (.../script.js) (revision 5085) +++ trunk/kernel/admin_templates/incs/script.js (.../script.js) (revision 5185) @@ -304,62 +304,6 @@ } // in-portal compatibility functions: end -function PreSaveAndOpenTranslator(prefix,field,t,multi_line,$width,$height) -{ - var $kf = document.getElementById($form_name); - - if(!isset($window_name)) var $window_name = 'select_'+t.replace(/(\/|-)/g, '_'); - if(!isset($width)) $width=750; - if(!isset($height)) $height=400; - if(!isset(multi_line)) multi_line=0; - openwin('',$window_name,$width,$height); - set_hidden_field('return_template', $kf.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); - set_hidden_field('translator_prefixes', prefix); - set_hidden_field('translator_multi_line', multi_line); - $kf.target = $window_name; - - var split_prefix = prefix.split(','); - submit_event(split_prefix[0],'OnPreSaveAndOpenTranslator'); -} - -function PreSaveAndOpenTranslatorCV(prefix,field,t,resource_id,multi_line) -{ - var $kf = document.getElementById($form_name); - - 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', $kf.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); - set_hidden_field('translator_prefixes', prefix); - set_hidden_field('translator_resource_id', resource_id); - set_hidden_field('translator_multi_line', multi_line); - $kf.target = $window_name; - - var split_prefix = prefix.split(','); - submit_event(split_prefix[0],'OnPreSaveAndOpenTranslator'); -} - - -function openTranslator(prefix,field,url,wnd) -{ - var $kf = document.getElementById($form_name); - - set_hidden_field('trans_prefix', prefix); - set_hidden_field('trans_field', field); - set_hidden_field('events[trans]', 'OnLoad'); - - var $regex = new RegExp('(.*)\?env=' + document.getElementById('sid').value + '-(.*?):(.*)'); - var $t = $regex.exec(url)[2]; - $kf.target = wnd; - submit_event(prefix,'',$t,url); -} - function openSelector($prefix, $url, $dst_field, $window_size, $event) { var $kf = document.getElementById($form_name); @@ -396,6 +340,66 @@ set_hidden_field('m_opener', $prev_opener); } +function InitTranslator(prefix, field, t, multi_line) +{ + var $kf = document.getElementById($form_name); + var $window_name = 'select_'+t.replace(/(\/|-)/g, '_'); + var $regex = new RegExp('(.*)\?env=' + document.getElementById('sid').value + '-(.*?):(m[^:]+)'); + + $regex = $regex.exec($kf.action); + set_hidden_field('return_m', $regex[3]); + var $prev_opener = get_hidden_field('m_opener'); + if (!isset(multi_line)) multi_line = 0; + openwin('', $window_name, 750, 400); + set_hidden_field('return_template', $kf.elements['t'].value); // where should return after popup is done + set_hidden_field('m_opener', 'p'); + + set_hidden_field('translator_wnd_name', $window_name); + set_hidden_field('translator_field', field); + set_hidden_field('translator_t', t); + set_hidden_field('translator_prefixes', prefix); + set_hidden_field('translator_multi_line', multi_line); + $kf.target = $window_name; + + return $prev_opener; +} + +function PreSaveAndOpenTranslator(prefix, field, t, multi_line) +{ + var $prev_opener = InitTranslator(prefix, field, t, multi_line); + + var split_prefix = prefix.split(','); + submit_event(split_prefix[0], 'OnPreSaveAndOpenTranslator'); + + set_hidden_field('m_opener', $prev_opener); +} + + +function PreSaveAndOpenTranslatorCV(prefix, field, t, resource_id, multi_line) +{ + var $prev_opener = InitTranslator(prefix, field, t, multi_line); + set_hidden_field('translator_resource_id', resource_id); + + var split_prefix = prefix.split(','); + submit_event(split_prefix[0],'OnPreSaveAndOpenTranslator'); + + set_hidden_field('m_opener', $prev_opener); +} + +function openTranslator(prefix,field,url,wnd) +{ + var $kf = document.getElementById($form_name); + + set_hidden_field('trans_prefix', prefix); + set_hidden_field('trans_field', field); + set_hidden_field('events[trans]', 'OnLoad'); + + var $regex = new RegExp('(.*)\?env=' + document.getElementById('sid').value + '-(.*?):(.*)'); + var $t = $regex.exec(url)[2]; + $kf.target = wnd; + submit_event(prefix,'',$t,url); +} + function openwin($url,$name,$width,$height) { var $window_params = 'width='+$width+',height='+$height+',status=yes,resizable=yes,menubar=no,scrollbars=yes,toolbar=no';