mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-06-21 18:31:37 +02:00
refactored js loading a bit, to be able to get files to load for et2
This commit is contained in:
parent
cbe137876a
commit
5f1c76ae91
@ -1238,18 +1238,19 @@ abstract class egw_framework
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set or return all javascript files set via validate_file
|
* Set or return all javascript files set via validate_file, optionally clear all files
|
||||||
*
|
*
|
||||||
* @param array $files=null array with pathes relative to EGW_SERVER_ROOT, eg. /phpgwapi/js/jquery/jquery.js
|
* @param array $files=null array with pathes relative to EGW_SERVER_ROOT, eg. /phpgwapi/js/jquery/jquery.js
|
||||||
|
* @param boolean $clear_files=false true clear files after returning them
|
||||||
* @return array with pathes relative to EGW_SERVER_ROOT
|
* @return array with pathes relative to EGW_SERVER_ROOT
|
||||||
*/
|
*/
|
||||||
static function js_files(array $files=null)
|
static function js_files(array $files=null, $clear_files=false)
|
||||||
{
|
{
|
||||||
if (isset($files) && is_array($files))
|
if (isset($files) && is_array($files))
|
||||||
{
|
{
|
||||||
self::$js_include_mgr->include_files($files);
|
self::$js_include_mgr->include_files($files);
|
||||||
}
|
}
|
||||||
return self::$js_include_mgr->get_included_files();
|
return self::$js_include_mgr->get_included_files($clear_files);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1258,13 +1259,15 @@ abstract class egw_framework
|
|||||||
* NOTE: This method should only be called by the template class.
|
* NOTE: This method should only be called by the template class.
|
||||||
* The validation is done when the file is added so we don't have to worry now
|
* The validation is done when the file is added so we don't have to worry now
|
||||||
*
|
*
|
||||||
* @returns string the html needed for importing the js into a page
|
* @param boolean $return_pathes=false false: return html script tags, true: return array of file pathes relative to webserver_url
|
||||||
|
* @param boolean $clear_files=false true clear files after returning them
|
||||||
|
* @return string|array see $return_pathes parameter
|
||||||
*/
|
*/
|
||||||
static protected function get_script_links()
|
static public function get_script_links($return_pathes=false, $clear_files=false)
|
||||||
{
|
{
|
||||||
$debug_minify = (bool)$GLOBALS['egw_info']['server']['debug_minify'];
|
$debug_minify = (bool)$GLOBALS['egw_info']['server']['debug_minify'];
|
||||||
$links = "\n";
|
|
||||||
$files = '';
|
$files = '';
|
||||||
|
$to_include = $to_minify = array();
|
||||||
$max_modified = 0;
|
$max_modified = 0;
|
||||||
foreach(self::$js_include_mgr->get_included_files() as $path)
|
foreach(self::$js_include_mgr->get_included_files() as $path)
|
||||||
{
|
{
|
||||||
@ -1276,23 +1279,29 @@ abstract class egw_framework
|
|||||||
if ($debug_minify || $query || substr($path, -3) != '.js' || strpos($path,'ckeditor') !== false)
|
if ($debug_minify || $query || substr($path, -3) != '.js' || strpos($path,'ckeditor') !== false)
|
||||||
{
|
{
|
||||||
$path .= '?'. $mod.($query ? '&'.$query : '');
|
$path .= '?'. $mod.($query ? '&'.$query : '');
|
||||||
$links .= '<script type="text/javascript" src="'. $GLOBALS['egw_info']['server']['webserver_url']. $path.'">'."</script>\n";
|
$to_include[] = $path;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$files .= ($files ? ',' : '').substr($path,1);
|
$to_minify[] = substr($path,1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!$debug_minify && $files)
|
if (!$debug_minify && $to_minify)
|
||||||
{
|
{
|
||||||
$base_path = $GLOBALS['egw_info']['server']['webserver_url'];
|
$base_path = $GLOBALS['egw_info']['server']['webserver_url'];
|
||||||
if ($base_path[0] != '/') $base_path = parse_url($base_path, PHP_URL_PATH);
|
if ($base_path[0] != '/') $base_path = parse_url($base_path, PHP_URL_PATH);
|
||||||
$files = '/phpgwapi/inc/min/?'.($base_path && $base_path != '/' ? 'b='.substr($base_path, 1).'&' : '').
|
$path = '/phpgwapi/inc/min/?'.($base_path && $base_path != '/' ? 'b='.substr($base_path, 1).'&' : '').
|
||||||
'f='.$files . '&'.$max_modified;
|
'f='.implode(',', $to_minify) . '&'.$max_modified;
|
||||||
// need to include minified javascript before not minified stuff like jscalendar-setup, as it might depend on it
|
// need to include minified javascript before not minified stuff like jscalendar-setup, as it might depend on it
|
||||||
$links = '<script type="text/javascript" src="'. $GLOBALS['egw_info']['server']['webserver_url']. $files.'">'."</script>".$links;
|
array_unshift($to_include, $path);
|
||||||
}
|
}
|
||||||
return $links."\n";
|
if ($return_pathes)
|
||||||
|
{
|
||||||
|
return $to_include;
|
||||||
|
}
|
||||||
|
$start = '<script type="text/javascript" src="'. $GLOBALS['egw_info']['server']['webserver_url'];
|
||||||
|
$end = '">'."</script>\n";
|
||||||
|
return "\n".$start.implode($end.$start, $to_include).$end;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user