X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=view%2Ftheme%2Fvier%2Fstyle.php;h=8cd0d7a32aae8921ab67db53ee12faf928a96bb9;hb=2ae8e5d34e69a180bc29b018e3bc5dd8fbe7336d;hp=b1386ad7076dbebf7c48631b553251086a21fe00;hpb=3f448d9a422ab8bc886ee760ab8f1e1cddad099a;p=friendica.git diff --git a/view/theme/vier/style.php b/view/theme/vier/style.php index b1386ad707..8cd0d7a32a 100644 --- a/view/theme/vier/style.php +++ b/view/theme/vier/style.php @@ -1,42 +1,57 @@ . + * + */ -use Friendica\Core\Config; -use Friendica\Core\PConfig; +use Friendica\Core\Logger; +use Friendica\DI; -$uid = get_theme_uid(); +$uid = $_REQUEST['puid'] ?? 0; -$style = PConfig::get($uid, 'vier', 'style'); +$style = DI::pConfig()->get($uid, 'vier', 'style'); -if ($style == "") - $style = Config::get('vier', 'style'); +if (empty($style)) { + $style = DI::config()->get('vier', 'style'); +} -if ($style == "") +if (empty($style)) { $style = "plus"; - -if ($style == "flat") - $stylecssfile = 'view/theme/vier/flat.css'; -else if ($style == "netcolour") - $stylecssfile = 'view/theme/vier/netcolour.css'; -else if ($style == "breathe") - $stylecssfile = 'view/theme/vier/breathe.css'; -else if ($style == "plus") - $stylecssfile = 'view/theme/vier/plus.css'; -else if ($style == "dark") - $stylecssfile = 'view/theme/vier/dark.css'; -else if ($style == "plusminus") - $stylecssfile = 'view/theme/vier/plusminus.css'; - -if (file_exists($THEMEPATH."//style.css")) { - $stylecss = file_get_contents($THEMEPATH."//style.css")."\n"; - $modified = filemtime($THEMEPATH."//style.css"); } -$stylemodified = filemtime($stylecssfile); -$stylecss .= file_get_contents($stylecssfile); +$stylecss = ''; +$modified = ''; -if ($stylemodified > $modified) - $modified = $stylemodified; +$style = \Friendica\Util\Strings::sanitizeFilePathItem($style); +foreach (['style', $style] as $file) { + $stylecssfile = $THEMEPATH . DIRECTORY_SEPARATOR . $file .'.css'; + if (file_exists($stylecssfile)) { + $stylecss .= file_get_contents($stylecssfile); + $stylemodified = filemtime($stylecssfile); + if ($stylemodified > $modified) { + $modified = $stylemodified; + } + } else { + //TODO: use Logger::ERROR? + Logger::log('Error: missing file: "' . $stylecssfile .'" (userid: '. $uid .')'); + } +} $modified = gmdate('r', $modified); $etag = md5($stylecss); @@ -46,10 +61,9 @@ header('Cache-Control: public'); header('ETag: "'.$etag.'"'); header('Last-Modified: '.$modified); -if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) || isset($_SERVER['HTTP_IF_NONE_MATCH'])) { - +if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && isset($_SERVER['HTTP_IF_NONE_MATCH'])) { $cached_modified = gmdate('r', strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE'])); - $cached_etag = str_replace(array('"', "-gzip"), array('', ''), + $cached_etag = str_replace(['"', "-gzip"], ['', ''], stripslashes($_SERVER['HTTP_IF_NONE_MATCH'])); if (($cached_modified == $modified) && ($cached_etag == $etag)) {