1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73:
<?php
class ModulesCssFilesService
{
private static $modules_css_files = array();
public static function __static()
{
$extension_points = AppContext::get_extension_provider_service()->get_extension_point(CssFilesExtensionPoint::EXTENSION_POINT);
foreach ($extension_points as $module_id => $provider)
{
self::$modules_css_files[$module_id] = $provider;
}
}
public static function get_css_files_always_displayed()
{
$theme_id = AppContext::get_current_user()->get_theme();
$css_files = array();
foreach (self::$modules_css_files as $module_id => $module_css_files)
{
$module_css_files_always_displayed = $module_css_files->get_css_files_always_displayed();
foreach ($module_css_files_always_displayed as $css_file)
{
$css_files[] = self::get_real_path_css_file($theme_id, $module_id, $css_file);
}
}
return $css_files;
}
public static function get_css_files_running_module_displayed()
{
$css_files = array();
$theme_id = AppContext::get_current_user()->get_theme();
$module_id = Environment::get_running_module_name();
if (array_key_exists($module_id, self::$modules_css_files))
{
$module_css_files = self::$modules_css_files[$module_id];
$module_css_files_running_module_displayed = $module_css_files->get_css_files_running_module_displayed();
foreach ($module_css_files_running_module_displayed as $css_file_options)
{
if (!empty($css_file_options['css_file']))
{
$module = !empty($css_file_options['module_id']) ? $css_file_options['module_id'] : Environment::get_running_module_name();
$css_files[] = self::get_real_path_css_file($theme_id, $module, $css_file_options['css_file']);
}
}
}
return $css_files;
}
private static function get_real_path_css_file($theme_id, $module_id, $css_file)
{
if (file_exists(PATH_TO_ROOT . '/templates/' . $theme_id . '/modules/' . $module_id . '/' . $css_file))
{
return '/templates/' . $theme_id . '/modules/' . $module_id . '/' . $css_file;
}
return '/' . $module_id . '/templates/' . $css_file;
}
}
?>