fix infinit recursion caused by systemtime < max modification time of files, now relying only on modification times

This commit is contained in:
Ralf Becker 2014-11-07 10:33:46 +00:00
parent cbbb0bf39f
commit cee1a48939

View File

@ -2036,6 +2036,8 @@ abstract class egw_framework
$inc_mgr = new egw_include_mgr(); $inc_mgr = new egw_include_mgr();
$bundles = array(); $bundles = array();
$api_max_mod = $et2_max_mod = $jdots_max_mod = 0;
// generate api bundle // generate api bundle
$inc_mgr->include_js_file('/phpgwapi/js/jquery/jquery.js'); $inc_mgr->include_js_file('/phpgwapi/js/jquery/jquery.js');
$inc_mgr->include_js_file('/phpgwapi/js/jquery/jquery-ui.js'); $inc_mgr->include_js_file('/phpgwapi/js/jquery/jquery-ui.js');
@ -2055,11 +2057,13 @@ abstract class egw_framework
$inc_mgr->include_js_file('/phpgwapi/js/egw_action/egw_menu.js'); $inc_mgr->include_js_file('/phpgwapi/js/egw_action/egw_menu.js');
$inc_mgr->include_js_file('/phpgwapi/js/egw_action/egw_menu_dhtmlx.js'); $inc_mgr->include_js_file('/phpgwapi/js/egw_action/egw_menu_dhtmlx.js');
$bundles['api'] = $inc_mgr->get_included_files(); $bundles['api'] = $inc_mgr->get_included_files();
self::bundle_urls($bundles['api'], $api_max_mod);
// generate et2 bundle (excluding files in api bundle) // generate et2 bundle (excluding files in api bundle)
//$inc_mgr->include_js_file('/etemplate/js/lib/jsdifflib/difflib.js'); // it does not work with "use strict" therefore included in front //$inc_mgr->include_js_file('/etemplate/js/lib/jsdifflib/difflib.js'); // it does not work with "use strict" therefore included in front
$inc_mgr->include_js_file('/etemplate/js/etemplate2.js'); $inc_mgr->include_js_file('/etemplate/js/etemplate2.js');
$bundles['et2'] = array_diff($inc_mgr->get_included_files(), $bundles['api']); $bundles['et2'] = array_diff($inc_mgr->get_included_files(), $bundles['api']);
self::bundle_urls($bundles['et2'], $et2_max_mod);
// generate jdots bundle, if installed // generate jdots bundle, if installed
if (file_exists(EGW_SERVER_ROOT.'/jdots')) if (file_exists(EGW_SERVER_ROOT.'/jdots'))
@ -2068,6 +2072,7 @@ abstract class egw_framework
$inc_mgr->include_js_file('/jdots/js/egw_fw_ui.js'); $inc_mgr->include_js_file('/jdots/js/egw_fw_ui.js');
$inc_mgr->include_js_file('/jdots/js/egw_fw_classes.js'); $inc_mgr->include_js_file('/jdots/js/egw_fw_classes.js');
$bundles['jdots'] = array_diff($inc_mgr->get_included_files(), call_user_func_array('array_merge', $bundles)); $bundles['jdots'] = array_diff($inc_mgr->get_included_files(), call_user_func_array('array_merge', $bundles));
self::bundle_urls($bundles['jdots'], $jdots_max_mod);
} }
// automatic split bundles with more then MAX_BUNDLE_FILES (=50) files // automatic split bundles with more then MAX_BUNDLE_FILES (=50) files
@ -2081,8 +2086,8 @@ abstract class egw_framework
} }
} }
// store timestamp of when bundle-config was created // store max modification time of all files in all bundles
$bundles['.ts'] = time(); $bundles['.ts'] = max(array($api_max_mod, $et2_max_mod, $jdots_max_mod));
//error_log(__METHOD__."() returning ".array2string($bundles)); //error_log(__METHOD__."() returning ".array2string($bundles));
return $bundles; return $bundles;