2037
2037
function strip_prefix($str, $pfx) {
2038
2038
return preg_replace('/^'.preg_quote($pfx, '/').'/', '', $str);
2042
//-------------------------------------------------------------
2043
function sanitizeFilename($name)
2045
// Remove all non-whitelisted characters
2046
$name = preg_replace("/[^A-Za-z0-9\-_.]/","",$name);
2047
// prevent directory traversal
2048
$name = basename($name);
2053
//-------------------------------------------------------------
2054
function css_static_enabled()
2056
global $txp_css_dir, $path_to_site;
2058
return !empty($txp_css_dir) and is_dir($path_to_site.'/'.$txp_css_dir);
2060
//-------------------------------------------------------------
2061
function css_save_static($name, $css)
2063
global $txp_css_dir, $path_to_site;
2065
if (css_static_enabled() and !empty($name) and !empty($css))
2067
$file = $path_to_site.'/'.$txp_css_dir.'/'.sanitizeFilename($name.'.css');
2068
$handle = fopen($file, 'wb');
2069
fwrite($handle, base64_decode($css));
2074
//-------------------------------------------------------------
2075
function css_delete_static($name)
2077
global $txp_css_dir, $path_to_site;
2079
$name = sanitizeFilename($name.'.css');
2080
$file = $path_to_site.'/'.$txp_css_dir.'/'.$name;
2082
if (!empty($txp_css_dir) and is_writeable($file))