Index: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/incs/menu_blocks.tpl =================================================================== diff -u -r6889 -r6935 --- branches/unlabeled/unlabeled-1.1.2/core/admin_templates/incs/menu_blocks.tpl (.../menu_blocks.tpl) (revision 6889) +++ branches/unlabeled/unlabeled-1.1.2/core/admin_templates/incs/menu_blocks.tpl (.../menu_blocks.tpl) (revision 6935) @@ -70,7 +70,7 @@ $Menus[''+'_view_menu'].showIcon = true; - $Menus[''+'_view_menu'].addItem(rs('.columns'),'','javascript:openSelector("", "", "", "600x500")'); + $Menus[''+'_view_menu'].addItem(rs('.columns'),'','javascript:openSelector("", "")'); Index: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/popups/column_picker.tpl =================================================================== diff -u -r6890 -r6935 --- branches/unlabeled/unlabeled-1.1.2/core/admin_templates/popups/column_picker.tpl (.../column_picker.tpl) (revision 6890) +++ branches/unlabeled/unlabeled-1.1.2/core/admin_templates/popups/column_picker.tpl (.../column_picker.tpl) (revision 6935) @@ -1,3 +1,4 @@ + @@ -21,7 +22,8 @@ ) ); a_toolbar.AddButton( new ToolBarButton('cancel', '', function() { - window.close(); + submit_event('adm','OnClosePopup'); +// window.close(); } ) ); Index: branches/unlabeled/unlabeled-1.2.2/core/admin_templates/js/script.js =================================================================== diff -u -r6906 -r6935 --- branches/unlabeled/unlabeled-1.2.2/core/admin_templates/js/script.js (.../script.js) (revision 6906) +++ branches/unlabeled/unlabeled-1.2.2/core/admin_templates/js/script.js (.../script.js) (revision 6935) @@ -313,42 +313,6 @@ } // in-portal compatibility functions: end -function openSelector($prefix, $url, $dst_field, $window_size, $event) -{ - var $kf = document.getElementById($form_name); - var $regex = new RegExp('(.*)\?env=(' + document.getElementById('sid').value + ')?-(.*?):(m[^:]+)'); - $regex = $regex.exec($url); - - var $t = $regex[3]; - var $window_name = 'select_'+$t.replace(/(\/|-)/g, '_'); -// set_hidden_field('return_m', $regex[4]); - - if (!isset($window_size)) $window_size = '750x400'; - - $window_size = $window_size.split('x'); - - if (!isset($event)) $event = ''; - processHooks('openSelector', hBEFORE); - - 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); - 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]); - $kf.action = $url; - $kf.target = $window_name; - - submit_event($prefix, $event, $t); - - processHooks('openSelector', hAFTER); - $kf.action = $prev_action; - set_hidden_field('m_opener', $prev_opener); -} - function InitTranslator(prefix, field, t, multi_line) { var $kf = document.getElementById($form_name); @@ -456,15 +420,15 @@ if (!$responce.match(/([\d]+)x([\d]+)/)) { // invalid responce was received, may be php fatal error during AJAX request $responce = $default_size; - } + } open_popup($prefix_special, $event, $t, $responce); } $pm.GetSize($t); return ; } $window_size = $default_size; } - + var $kf = document.getElementById($form_name); var $window_name = $t.replace(/(\/|-)/g, '_'); // replace "/" and "-" with "_" @@ -478,6 +442,33 @@ opener_action($prev_opener); // restore opener in parent window } +function openSelector($prefix, $url, $dst_field, $window_size, $event) +{ + // get template name from url + var $regex = new RegExp('(.*)\?env=(' + document.getElementById('sid').value + ')?-(.*?):(m[^:]+)'); + $regex = $regex.exec($url); + var $t = $regex[3]; + + // substitute form action with selector's url + var $kf = document.getElementById($form_name); + var $prev_action = $kf.action; + $kf.action = $url; + + // check parameter values + if (!isset($event)) $event = ''; + + // set variables need for selector to work + processHooks('openSelector', hBEFORE); + set_hidden_field('main_prefix', $prefix); + set_hidden_field('dst_field', $dst_field); + + open_popup($prefix, $event, $t); + + // restore form action back + processHooks('openSelector', hAFTER); + $kf.action = $prev_action; +} + function std_precreate_item(prefix_special, edit_template) { set_hidden_field(prefix_special+'_mode', 't'); Index: branches/unlabeled/unlabeled-1.4.2/core/units/admin/admin_events_handler.php =================================================================== diff -u -r6889 -r6935 --- branches/unlabeled/unlabeled-1.4.2/core/units/admin/admin_events_handler.php (.../admin_events_handler.php) (revision 6889) +++ branches/unlabeled/unlabeled-1.4.2/core/units/admin/admin_events_handler.php (.../admin_events_handler.php) (revision 6935) @@ -36,6 +36,16 @@ } /** + * Just closes popup & deletes last_template & opener_stack if popup, that is closing + * + * @param kEvent $event + */ + function OnClosePopup(&$event) + { + $event->SetRedirectParam('opener', 'u'); + } + + /** * Occurs right after initialization of the kernel, used mainly as hook-to event * * @param kEvent $event Index: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/regional/languages_edit.tpl =================================================================== diff -u -r6932 -r6935 --- branches/unlabeled/unlabeled-1.1.2/core/admin_templates/regional/languages_edit.tpl (.../languages_edit.tpl) (revision 6932) +++ branches/unlabeled/unlabeled-1.1.2/core/admin_templates/regional/languages_edit.tpl (.../languages_edit.tpl) (revision 6935) @@ -1,4 +1,4 @@ - + Index: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/users/admins_edit.tpl =================================================================== diff -u -r6915 -r6935 --- branches/unlabeled/unlabeled-1.1.2/core/admin_templates/users/admins_edit.tpl (.../admins_edit.tpl) (revision 6915) +++ branches/unlabeled/unlabeled-1.1.2/core/admin_templates/users/admins_edit.tpl (.../admins_edit.tpl) (revision 6935) @@ -1,4 +1,4 @@ - + Index: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/regional/phrases_edit.tpl =================================================================== diff -u -r6932 -r6935 --- branches/unlabeled/unlabeled-1.1.2/core/admin_templates/regional/phrases_edit.tpl (.../phrases_edit.tpl) (revision 6932) +++ branches/unlabeled/unlabeled-1.1.2/core/admin_templates/regional/phrases_edit.tpl (.../phrases_edit.tpl) (revision 6935) @@ -1,4 +1,4 @@ - +