1: <?php
2:
3:
4: session_cache_limiter('private_no_expire');
5:
6: define ('_LEGACY_ALLOW_ACCESS_FROM_ANY_ADMINS_', true);
7:
8: require_once "../../../mainfile.php";
9: $root =& XCube_Root::getSingleton();
10: unset($root->mContext->mXoopsModule);
11:
12:
13:
14:
15:
16: function Legacy_modifier_css_theme($string)
17: {
18: $infoArr = Legacy_get_override_file($string, null, true);
19:
20: if (!empty($infoArr['theme']) && !empty($infoArr['dirname'])) {
21: return XOOPS_THEME_URL . "/" . $infoArr['theme'] . "/modules/" . $infoArr['dirname'] . "/" . $string;
22: }
23: elseif (!empty($infoArr['theme'])) {
24: return XOOPS_THEME_URL . "/" . $infoArr['theme'] . "/" . $string;
25: }
26: elseif (!empty($infoArr['dirname'])) {
27: return XOOPS_MODULE_URL . "/" . $infoArr['dirname'] . "/admin/templates/" . $string;
28: }
29:
30: return LEGACY_ADMIN_RENDER_FALLBACK_URL . "/" . $string;
31: }
32:
33: $theme = isset($_GET['theme']) ? trim($_GET['theme']) : null;
34: $dirname = isset($_GET['dirname']) ? trim($_GET['dirname']) : null;
35: $_GET['file'] = isset($_GET['file']) ? $_GET['file'] : 'style.css';
36: $file = "stylesheets/" . trim(@$_GET['file']);
37:
38: if (strstr($theme, "..") !== false || strstr($dirname, "..") !== false || strstr($file, "..") !== false) {
39: exit();
40: }
41: require_once XOOPS_ROOT_PATH.'/modules/legacyRender/kernel/Legacy_AdminRenderSystem.class.php';
42:
43: $smarty =new Legacy_AdminSmarty();
44: $smarty->register_modifier("theme", "Legacy_modifier_css_theme");
45: $smarty->register_function("stylesheet", "Legacy_function_stylesheet");
46:
47:
48:
49:
50: $smarty->force_compile = true;
51:
52: if ($theme != null && $dirname != null) {
53: $path = XOOPS_THEME_PATH . "/${theme}/modules/${dirname}";
54: }
55: elseif ($theme != null) {
56: $path = XOOPS_THEME_PATH . "/" .$theme;
57: }
58: elseif ($dirname != null) {
59: $path = XOOPS_MODULE_PATH . "/${dirname}/admin/templates";
60: }
61: else {
62: $path = LEGACY_ADMIN_RENDER_FALLBACK_PATH;
63: }
64:
65: $smarty->template_dir = $path;
66: $smarty->setModulePrefix('_css_' . $theme);
67:
68: $result = "";
69: if (is_file($path . "/" . $file))
70: $result = $smarty->fetch("file:" . $file);
71:
72: header('Content-Type:text/css; charset='._CHARSET);
73: echo $result;
74:
75: ?>
76: