diff --git a/modules/addon/addon.controller.php b/modules/addon/addon.controller.php index 1405b3ad9..4f6423a2d 100644 --- a/modules/addon/addon.controller.php +++ b/modules/addon/addon.controller.php @@ -79,7 +79,7 @@ class addonController extends addon function makeCacheFile($site_srl = 0, $type = "pc", $gtype = 'site') { // Add-on module for use in creating the cache file - $buff = array('getInsertedAddons($site_srl, $gtype); foreach($addon_list as $addon => $val) @@ -100,6 +100,7 @@ class addonController extends addon $mid_list = NULL; } + $buff[] = '$before_time = microtime(true);'; $buff[] = '$rm = \'' . $extra_vars->xe_run_method . "';"; $buff[] = '$ml = array('; if($mid_list) @@ -127,8 +128,17 @@ class addonController extends addon $buff[] = 'if(isset($ml[$_m]) || count($ml) === 0){'; $buff[] = $addon_include; $buff[] = '}}}'; + $buff[] = '$after_time = microtime(true);'; + $buff[] ='if($after_time-$before_time>$db_info->slowlog[\'time_addon\']){'; + $buff[] = '$addon_time_log = new stdClass();'; + $buff[] = '$addon_time_log->_log_type = "addon";'; + $buff[] = '$addon_time_log->caller = $called_position;'; + $buff[] = '$addon_time_log->called = "' . $addon . '";'; + $buff[] = '$addon_time_log->called_extension = "' . $addon . '";'; + $buff[] = '$addon_time_log->_elapsed_time = $after_time-$before_time;'; + $buff[] = 'ModuleHandler::triggerCall("XE.writeSlowlog", "after", $addon_time_log);'; + $buff[] = '}'; } - $addon_path = _XE_PATH_ . 'files/cache/addons/'; FileHandler::makeDir($addon_path); $addon_file = $addon_path . ($gtype == 'site' ? $site_srl : '') . $type . '.acivated_addons.cache.php';