Index: branches/RC/core/units/theme_files/theme_file_eh.php =================================================================== diff -u -N -r11892 -r11963 --- branches/RC/core/units/theme_files/theme_file_eh.php (.../theme_file_eh.php) (revision 11892) +++ branches/RC/core/units/theme_files/theme_file_eh.php (.../theme_file_eh.php) (revision 11963) @@ -1,6 +1,6 @@ Array ('subitem' => true), 'OnSaveBlock' => Array ('subitem' => true), + 'OnSaveLayout' => Array ('subitem' => true), ); $this->permMapping = array_merge($this->permMapping, $permissions); @@ -191,4 +192,29 @@ $event->status = erFAIL; } } + + /** + * Saves layout on given template + * + * @param kEvent $event + */ + function OnSaveLayout(&$event) + { + $event->status = erSTOP; + if (($this->Application->GetVar('ajax') != 'yes') || (EDITING_MODE != EDITING_MODE_LAYOUT)) { + return ; + } + + $target_order = $this->Application->GetVar('target_order'); + + $template_helper =& $this->Application->recallObject('TemplateHelper'); + /* @var $template_helper TemplateHelper */ + + if ($template_helper->moveTemplateElements($target_order)) { + echo 'OK'; + return ; + } + + echo 'FAILED'; + } } \ No newline at end of file