Index: branches/5.0.x/core/kernel/utility/debugger.php =================================================================== diff -u -r12450 -r12560 --- branches/5.0.x/core/kernel/utility/debugger.php (.../debugger.php) (revision 12450) +++ branches/5.0.x/core/kernel/utility/debugger.php (.../debugger.php) (revision 12560) @@ -1,6 +1,6 @@ $error_codes) { if (in_array($error_code, $error_codes)) { return $error_name; @@ -1432,6 +1432,7 @@ + Index: branches/5.0.x/core/admin_templates/tools/system_tools.tpl =================================================================== diff -u -r12495 -r12560 --- branches/5.0.x/core/admin_templates/tools/system_tools.tpl (.../system_tools.tpl) (revision 12495) +++ branches/5.0.x/core/admin_templates/tools/system_tools.tpl (.../system_tools.tpl) (revision 12560) @@ -45,7 +45,7 @@ - + "> Index: branches/5.0.x/core/units/admin/admin_events_handler.php =================================================================== diff -u -r12542 -r12560 --- branches/5.0.x/core/units/admin/admin_events_handler.php (.../admin_events_handler.php) (revision 12542) +++ branches/5.0.x/core/units/admin/admin_events_handler.php (.../admin_events_handler.php) (revision 12560) @@ -1,6 +1,6 @@ Application->isDebugMode(false) && in_array($event->Name, $system_events)) { @@ -147,6 +147,48 @@ } /** + * Deletes all compiled templates + * + * @param kEvent $event + */ + function OnDeleteCompiledTemplates(&$event) + { + if ($this->Application->GetVar('ajax') == 'yes') { + $event->status = erSTOP; + } + + $base_path = WRITEABLE . DIRECTORY_SEPARATOR . 'cache'; + + // delete debugger reports + $debugger_reports = glob($base_path . '/debug_@*@.txt'); + + foreach ($debugger_reports as $debugger_report) { + unlink($debugger_report); + } + + $this->_deleteCompiledTemplates($base_path); + } + + function _deleteCompiledTemplates($folder, $unlink_folder = false) + { + $sub_folders = glob($folder . '/*', GLOB_ONLYDIR); + + foreach ($sub_folders as $sub_folder) { + $this->_deleteCompiledTemplates($sub_folder, true); + } + + $files = glob($folder . '/*.php'); + + foreach ($files as $file) { + unlink($file); + } + + if ($unlink_folder) { + rmdir($folder); + } + } + + /** * Generates sturcture for specified table * * @param kEvent $event