X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=view%2Ftheme%2Fvier%2Fstyle.php;h=74975893ce8ac6d17a288a2562d94ee58f6cfdad;hb=07162e557db7447741b6bcfb71a3ccbb476aab43;hp=81010e38169485f0d2d352fb5c23f0dfe1d64a73;hpb=39ff6e9ce9251fe69b56ba05ea7bdc1896f34de2;p=friendica.git diff --git a/view/theme/vier/style.php b/view/theme/vier/style.php index 81010e3816..74975893ce 100644 --- a/view/theme/vier/style.php +++ b/view/theme/vier/style.php @@ -1,49 +1,57 @@ . + * */ -use Friendica\Core\Config; -use Friendica\Core\PConfig; -use Friendica\Model\Profile; -$uid = Profile::getThemeUid(); +use Friendica\Core\Logger; +use Friendica\DI; +use Friendica\Network\HTTPException\NotModifiedException; -$style = PConfig::get($uid, 'vier', 'style'); - -if ($style == "") { - $style = Config::get('vier', 'style'); -} +/* + * This script can be included when the maintenance mode is on, which requires us to avoid any config call and + * use the following hardcoded default + */ +$style = 'plus'; -if ($style == "") { - $style = "plus"; -} +if (DI::mode()->has(\Friendica\App\Mode::MAINTENANCEDISABLED)) { + $uid = $_REQUEST['puid'] ?? 0; -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'; + $style = DI::pConfig()->get($uid, 'vier', 'style', DI::config()->get('vier', 'style', $style)); } -if (file_exists($THEMEPATH."//style.css")) { - $stylecss = file_get_contents($THEMEPATH."//style.css")."\n"; - $modified = filemtime($THEMEPATH."//style.css"); -} +$stylecss = ''; +$modified = ''; -$stylemodified = filemtime($stylecssfile); -$stylecss .= file_get_contents($stylecssfile); +$style = \Friendica\Util\Strings::sanitizeFilePathItem($style); -if ($stylemodified > $modified) { - $modified = $stylemodified; +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 { + Logger::warning('Missing CSS file', ['file' => $stylecssfile, 'uid' => $uid]); + } } - $modified = gmdate('r', $modified); $etag = md5($stylecss); @@ -53,15 +61,13 @@ 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(['"', "-gzip"], ['', ''], stripslashes($_SERVER['HTTP_IF_NONE_MATCH'])); if (($cached_modified == $modified) && ($cached_etag == $etag)) { - header('HTTP/1.1 304 Not Modified'); - exit(); + throw new NotModifiedException(); } } echo $stylecss;