function load_css2_file($filename, $styledir) { $data = ''; $lines = file($filename); // foreach ($lines as $line) { if (preg_match_all("/@import( |\t)+('|\")(.*)(|\")( |\t)*;/U", $line, $importfiles, PREG_SET_ORDER)) { foreach ($importfiles as $file) { $import = $styledir . '/' . $file[3]; $data .= load_css2_file($import, substr($import, 0, strrpos($import, "/"))); $line = str_replace($file[0], "", $line); } } // TODO: Does it matter what $line may contain smth before '@import'? :) $data .= $line; } return $data; }
} if (!isset($_REQUEST["sub"])) { $_REQUEST["sub"] = ''; } if (!isset($_REQUEST["try"])) { $_REQUEST["try"] = ''; } $editstyle = preg_replace("/[^-_a-z\\d]/i", "", $_REQUEST["editstyle"]); $styledir = "styles"; if (isset($_REQUEST["edit"]) and $_REQUEST["edit"]) { $action = 'edit'; // $data = implode("",file("$styledir/$editstyle.css")); if ($tikidomain and is_file("{$styledir}/{$tikidomain}/{$editstyle}.css")) { $data = load_css2_file("{$styledir}/{$tikidomain}/{$editstyle}.css", $styledir); } else { $data = load_css2_file("{$styledir}/{$editstyle}.css", $styledir); } } elseif (isset($_REQUEST["save"]) and $_REQUEST["save"]) { check_ticket('edit-css'); $action = 'display'; $data = ''; if ($tikidomain and is_dir("{$styledir}/{$tikidomain}")) { $fp = fopen("{$styledir}/{$tikidomain}/{$editstyle}.css", "w"); } else { $fp = fopen("{$styledir}/{$editstyle}.css", "w"); } if (!$fp) { $smarty->assign('errortype', 401); $smarty->assign('msg', tra("You do not have permission to write the style sheet")); $smarty->display("error.tpl"); die;