diff --git a/view/theme/frio/README.md b/view/theme/frio/README.md index 037028ff4..c729d1282 100644 --- a/view/theme/frio/README.md +++ b/view/theme/frio/README.md @@ -37,11 +37,11 @@ Don't blame me too much for ugly code and hacks. Fix it ;-) **Theme - Settings** ![Theme - Settings](https://github.com/rabuzarus/frio/blob/master/img/screenshots/screenshot-settings.png) -**Red schema** -![Red schema](https://github.com/rabuzarus/frio/blob/master/img/screenshots/screenshot-schema-red.png) +**Red scheme** +![Red scheme](https://github.com/rabuzarus/frio/blob/master/img/screenshots/screenshot-scheme-red.png) -**Love Music schema** -![Love Music schema](https://github.com/rabuzarus/frio/blob/master/img/screenshots/screenshot-schema-love-music.png) +**Love Music scheme** +![Love Music scheme](https://github.com/rabuzarus/frio/blob/master/img/screenshots/screenshot-scheme-love-music.png) **frio on mobile** diff --git a/view/theme/frio/config.php b/view/theme/frio/config.php index 9081d9df4..55a653696 100644 --- a/view/theme/frio/config.php +++ b/view/theme/frio/config.php @@ -8,128 +8,134 @@ use Friendica\Core\System; require_once 'view/theme/frio/php/Image.php'; -function theme_post(App $a) { +function theme_post(App $a) +{ if (!local_user()) { return; } if (isset($_POST['frio-settings-submit'])) { - PConfig::set(local_user(), 'frio', 'schema', $_POST["frio_schema"]); - PConfig::set(local_user(), 'frio', 'nav_bg', $_POST["frio_nav_bg"]); - PConfig::set(local_user(), 'frio', 'nav_icon_color', $_POST["frio_nav_icon_color"]); - PConfig::set(local_user(), 'frio', 'link_color', $_POST["frio_link_color"]); - PConfig::set(local_user(), 'frio', 'background_color', $_POST["frio_background_color"]); - PConfig::set(local_user(), 'frio', 'contentbg_transp', $_POST["frio_contentbg_transp"]); - PConfig::set(local_user(), 'frio', 'background_image', $_POST["frio_background_image"]); - PConfig::set(local_user(), 'frio', 'bg_image_option', $_POST["frio_bg_image_option"]); + PConfig::set(local_user(), 'frio', 'scheme', $_POST['frio_scheme']); + PConfig::set(local_user(), 'frio', 'nav_bg', $_POST['frio_nav_bg']); + PConfig::set(local_user(), 'frio', 'nav_icon_color', $_POST['frio_nav_icon_color']); + PConfig::set(local_user(), 'frio', 'link_color', $_POST['frio_link_color']); + PConfig::set(local_user(), 'frio', 'background_color', $_POST['frio_background_color']); + PConfig::set(local_user(), 'frio', 'contentbg_transp', $_POST['frio_contentbg_transp']); + PConfig::set(local_user(), 'frio', 'background_image', $_POST['frio_background_image']); + PConfig::set(local_user(), 'frio', 'bg_image_option', $_POST['frio_bg_image_option']); PConfig::set(local_user(), 'frio', 'css_modified', time()); } } -function theme_admin_post(App $a) { +function theme_admin_post(App $a) +{ if (!local_user()) { return; } if (isset($_POST['frio-settings-submit'])) { - Config::set('frio', 'schema', $_POST["frio_schema"]); - Config::set('frio', 'nav_bg', $_POST["frio_nav_bg"]); - Config::set('frio', 'nav_icon_color', $_POST["frio_nav_icon_color"]); - Config::set('frio', 'link_color', $_POST["frio_link_color"]); - Config::set('frio', 'background_color', $_POST["frio_background_color"]); - Config::set('frio', 'contentbg_transp', $_POST["frio_contentbg_transp"]); - Config::set('frio', 'background_image', $_POST["frio_background_image"]); - Config::set('frio', 'bg_image_option', $_POST["frio_bg_image_option"]); - Config::set('frio', 'login_bg_image', $_POST["frio_login_bg_image"]); - Config::set('frio', 'login_bg_color', $_POST["frio_login_bg_color"]); + Config::set('frio', 'scheme', $_POST['frio_scheme']); + Config::set('frio', 'nav_bg', $_POST['frio_nav_bg']); + Config::set('frio', 'nav_icon_color', $_POST['frio_nav_icon_color']); + Config::set('frio', 'link_color', $_POST['frio_link_color']); + Config::set('frio', 'background_color', $_POST['frio_background_color']); + Config::set('frio', 'contentbg_transp', $_POST['frio_contentbg_transp']); + Config::set('frio', 'background_image', $_POST['frio_background_image']); + Config::set('frio', 'bg_image_option', $_POST['frio_bg_image_option']); + Config::set('frio', 'login_bg_image', $_POST['frio_login_bg_image']); + Config::set('frio', 'login_bg_color', $_POST['frio_login_bg_color']); Config::set('frio', 'css_modified', time()); } } -function theme_content(App $a) { +function theme_content(App $a) +{ if (!local_user()) { return; } $arr = []; - $arr["schema"] = PConfig::get(local_user(), 'frio', 'schema'); - $arr["nav_bg"] = PConfig::get(local_user(), 'frio', 'nav_bg'); - $arr["nav_icon_color"] = PConfig::get(local_user(), 'frio', 'nav_icon_color'); - $arr["link_color"] = PConfig::get(local_user(), 'frio', 'link_color'); - $arr["bgcolor"] = PConfig::get(local_user(), 'frio', 'background_color'); - $arr["contentbg_transp"] = PConfig::get(local_user(), 'frio', 'contentbg_transp'); - $arr["background_image"] = PConfig::get(local_user(), 'frio', 'background_image'); - $arr["bg_image_option"] = PConfig::get(local_user(), 'frio', 'bg_image_option'); + $arr['scheme'] = PConfig::get(local_user(), 'frio', 'scheme', PConfig::get(local_user(), 'frio', 'schema')); + $arr['nav_bg'] = PConfig::get(local_user(), 'frio', 'nav_bg'); + $arr['nav_icon_color'] = PConfig::get(local_user(), 'frio', 'nav_icon_color'); + $arr['link_color'] = PConfig::get(local_user(), 'frio', 'link_color'); + $arr['background_color'] = PConfig::get(local_user(), 'frio', 'background_color'); + $arr['contentbg_transp'] = PConfig::get(local_user(), 'frio', 'contentbg_transp'); + $arr['background_image'] = PConfig::get(local_user(), 'frio', 'background_image'); + $arr['bg_image_option'] = PConfig::get(local_user(), 'frio', 'bg_image_option'); return frio_form($arr); } -function theme_admin(App $a) { +function theme_admin(App $a) +{ if (!local_user()) { return; } $arr = []; - $arr["schema"] = Config::get('frio', 'schema'); - $arr["nav_bg"] = Config::get('frio', 'nav_bg'); - $arr["nav_icon_color"] = Config::get('frio', 'nav_icon_color'); - $arr["link_color"] = Config::get('frio', 'link_color'); - $arr["bgcolor"] = Config::get('frio', 'background_color'); - $arr["contentbg_transp"] = Config::get('frio', 'contentbg_transp'); - $arr["background_image"] = Config::get('frio', 'background_image'); - $arr["bg_image_option"] = Config::get('frio', 'bg_image_option'); - $arr["login_bg_image"] = Config::get('frio', 'login_bg_image'); - $arr["login_bg_color"] = Config::get('frio', 'login_bg_color'); + $arr['scheme'] = Config::get('frio', 'scheme', Config::get('frio', 'scheme')); + $arr['nav_bg'] = Config::get('frio', 'nav_bg'); + $arr['nav_icon_color'] = Config::get('frio', 'nav_icon_color'); + $arr['link_color'] = Config::get('frio', 'link_color'); + $arr['background_color'] = Config::get('frio', 'background_color'); + $arr['contentbg_transp'] = Config::get('frio', 'contentbg_transp'); + $arr['background_image'] = Config::get('frio', 'background_image'); + $arr['bg_image_option'] = Config::get('frio', 'bg_image_option'); + $arr['login_bg_image'] = Config::get('frio', 'login_bg_image'); + $arr['login_bg_color'] = Config::get('frio', 'login_bg_color'); return frio_form($arr); } -function frio_form($arr) { - require_once("view/theme/frio/php/schema.php"); +function frio_form($arr) +{ + require_once 'view/theme/frio/php/scheme.php'; - $scheme_info = get_schema_info($arr["schema"]); - $disable = $scheme_info["overwrites"]; + $scheme_info = get_scheme_info($arr['scheme']); + $disable = $scheme_info['overwrites']; if (!is_array($disable)) { $disable = []; } $scheme_choices = []; - $scheme_choices["---"] = L10n::t("Default"); - $files = glob('view/theme/frio/schema/*.php'); + $scheme_choices['---'] = L10n::t('Custom'); + $files = glob('view/theme/frio/scheme/*.php'); if ($files) { foreach ($files as $file) { - $f = basename($file, ".php"); + $f = basename($file, '.php'); if ($f != 'default') { - $scheme_name = $f; + $scheme_name = ucfirst($f); $scheme_choices[$f] = $scheme_name; } } } - $background_image_help = "" . L10n::t("Note"). ": ".L10n::t("Check image permissions if all users are allowed to visit the image"); + $background_image_help = '' . L10n::t('Note') . ': ' . L10n::t('Check image permissions if all users are allowed to see the image'); $t = get_markup_template('theme_settings.tpl'); $ctx = [ '$submit' => L10n::t('Submit'), '$baseurl' => System::baseUrl(), - '$title' => L10n::t("Theme settings"), - '$schema' => ['frio_schema', L10n::t("Select scheme"), $arr["schema"], '', $scheme_choices], - '$nav_bg' => array_key_exists("nav_bg", $disable) ? "" : ['frio_nav_bg', L10n::t('Navigation bar background color'), $arr['nav_bg'], '', false], - '$nav_icon_color' => array_key_exists("nav_icon_color", $disable) ? "" : ['frio_nav_icon_color', L10n::t('Navigation bar icon color '), $arr['nav_icon_color'], '', false], - '$link_color' => array_key_exists("link_color", $disable) ? "" : ['frio_link_color', L10n::t('Link color'), $arr['link_color'], '', false], - '$bgcolor' => array_key_exists("bgcolor", $disable) ? "" : ['frio_background_color', L10n::t('Set the background color'), $arr['bgcolor'], '', false], - '$contentbg_transp' => array_key_exists("contentbg_transp", $disable) ? "" : ['frio_contentbg_transp', L10n::t("Content background opacity"), ((isset($arr["contentbg_transp"]) && $arr["contentbg_transp"] != "") ? $arr["contentbg_transp"] : 100), ''], - '$background_image' => array_key_exists("background_image", $disable) ? "" : ['frio_background_image', L10n::t('Set the background image'), $arr['background_image'], $background_image_help, false], + '$title' => L10n::t('Theme settings'), + '$scheme' => ['frio_scheme', L10n::t('Select color scheme'), $arr['scheme'], '', $scheme_choices], + '$nav_bg' => array_key_exists('nav_bg', $disable) ? '' : ['frio_nav_bg', L10n::t('Navigation bar background color'), $arr['nav_bg'], '', false], + '$nav_icon_color' => array_key_exists('nav_icon_color', $disable) ? '' : ['frio_nav_icon_color', L10n::t('Navigation bar icon color '), $arr['nav_icon_color'], '', false], + '$link_color' => array_key_exists('link_color', $disable) ? '' : ['frio_link_color', L10n::t('Link color'), $arr['link_color'], '', false], + '$background_color' => array_key_exists('background_color', $disable) ? '' : ['frio_background_color', L10n::t('Set the background color'), $arr['background_color'], '', false], + '$contentbg_transp' => array_key_exists('contentbg_transp', $disable) ? '' : ['frio_contentbg_transp', L10n::t('Content background opacity'), defaults($arr, 'contentbg_transp', 100), ''], + '$background_image' => array_key_exists('background_image', $disable) ? '' : ['frio_background_image', L10n::t('Set the background image'), $arr['background_image'], $background_image_help, false], + '$bg_image_options_title' => L10n::t('Background image style'), '$bg_image_options' => Image::get_options($arr), ]; - if (array_key_exists("login_bg_image", $arr) && !array_key_exists("login_bg_image", $disable)) { - $ctx['$login_bg_image'] = ['frio_login_bg_image', L10n::t('Login page background image'), $arr['login_bg_image'], $background_image_help, false]; - } - if (array_key_exists("login_bg_color", $arr) && !array_key_exists("login_bg_color", $disable)) { - $ctx['$login_bg_color'] = ['frio_login_bg_color', L10n::t('Login page background color'), $arr['login_bg_color'], L10n::t('Leave background image and color empty for theme defaults'), false]; + if (array_key_exists('login_bg_image', $arr) && !array_key_exists('login_bg_image', $disable)) { + $ctx['$login_bg_image'] = ['frio_login_bg_image', L10n::t('Login page background image'), $arr['login_bg_image'], $background_image_help, false]; } + if (array_key_exists('login_bg_color', $arr) && !array_key_exists('login_bg_color', $disable)) { + $ctx['$login_bg_color'] = ['frio_login_bg_color', L10n::t('Login page background color'), $arr['login_bg_color'], L10n::t('Leave background image and color empty for theme defaults'), false]; + } $o = replace_macros($t, $ctx); diff --git a/view/theme/frio/css/style.css b/view/theme/frio/css/style.css index 8a3ca8629..912c6a884 100644 --- a/view/theme/frio/css/style.css +++ b/view/theme/frio/css/style.css @@ -24,9 +24,10 @@ and open the template in the editor. body { padding-top: 110px; - background-color: $bgcolor; + background-color: $background_color; background-image: url("$background_image"); background-size: $background_size_img; + background-repeat: $background_repeat; background-attachment: fixed; color: #777; /*color: #555;*/ diff --git a/view/theme/frio/img/screenshots/screenshot-schema-love-music.png b/view/theme/frio/img/screenshots/screenshot-scheme-love-music.png similarity index 100% rename from view/theme/frio/img/screenshots/screenshot-schema-love-music.png rename to view/theme/frio/img/screenshots/screenshot-scheme-love-music.png diff --git a/view/theme/frio/img/screenshots/screenshot-schema-red.png b/view/theme/frio/img/screenshots/screenshot-scheme-red.png similarity index 100% rename from view/theme/frio/img/screenshots/screenshot-schema-red.png rename to view/theme/frio/img/screenshots/screenshot-scheme-red.png diff --git a/view/theme/frio/php/Image.php b/view/theme/frio/php/Image.php index 2dc0345c7..72026cf02 100644 --- a/view/theme/frio/php/Image.php +++ b/view/theme/frio/php/Image.php @@ -21,14 +21,10 @@ class Image public static function get_options($arr) { $bg_image_options = [ - 'repeat' => [ - 'frio_bg_image_option', L10n::t("Repeat the image"), "repeat", L10n::t("Will repeat your image to fill the background."), ($arr["bg_image_option"] == "repeat")], - 'stretch' => [ - 'frio_bg_image_option', L10n::t("Stretch"), "stretch", L10n::t("Will stretch to width/height of the image."), ($arr["bg_image_option"] == "stretch")], - 'cover' => [ - 'frio_bg_image_option', L10n::t("Resize fill and-clip"), "cover", L10n::t("Resize to fill and retain aspect ratio."), ($arr["bg_image_option"] == "cover")], - 'contain' => [ - 'frio_bg_image_option', L10n::t("Resize best fit"), "contain", L10n::t("Resize to best fit and retain aspect ratio."), ($arr["bg_image_option"] == "contain")], + 'stretch' => ['frio_bg_image_option', L10n::t('Top Banner'), 'stretch', L10n::t('Resize image to the width of the screen and show background color below on long pages.'), ($arr['bg_image_option'] == 'stretch')], + 'cover' => ['frio_bg_image_option', L10n::t('Full screen'), 'cover', L10n::t('Resize image to fill entire screen, clipping either the right or the bottom.'), ($arr['bg_image_option'] == 'cover')], + 'contain' => ['frio_bg_image_option', L10n::t('Single row mosaic'), 'contain', L10n::t('Resize image to repeat it on a single row, either vertical or horizontal.'), ($arr['bg_image_option'] == 'contain')], + 'repeat' => ['frio_bg_image_option', L10n::t('Mosaic'), 'repeat', L10n::t('Repeat image to fill the screen.'), ($arr['bg_image_option'] == 'repeat')], ]; return $bg_image_options; diff --git a/view/theme/frio/php/default.php b/view/theme/frio/php/default.php index 62b98b79c..428d88788 100644 --- a/view/theme/frio/php/default.php +++ b/view/theme/frio/php/default.php @@ -43,10 +43,10 @@ if (!isset($minimal)) { if (is_null($uid)) { $uid = Profile::getThemeUid(); } - $schema = PConfig::get($uid, 'frio', 'schema'); - if (($schema) && ($schema != '---')) { - if (file_exists('view/theme/frio/schema/' . $schema . '.php')) { - $schemefile = 'view/theme/frio/schema/' . $schema . '.php'; + $scheme = PConfig::get($uid, 'frio', 'scheme', PConfig::get($uid, 'frio', 'schema')); + if (($scheme) && ($scheme != '---')) { + if (file_exists('view/theme/frio/scheme/' . $scheme . '.php')) { + $schemefile = 'view/theme/frio/scheme/' . $scheme . '.php'; require_once $schemefile; } } else { diff --git a/view/theme/frio/php/schema.php b/view/theme/frio/php/schema.php deleted file mode 100644 index 83aad53b7..000000000 --- a/view/theme/frio/php/schema.php +++ /dev/null @@ -1,74 +0,0 @@ - Author Name - * 'description' => Schema description - * 'version' => Schema version - * 'overwrites' => Variables which overwriting custom settings - */ - -use Friendica\Core\PConfig; - -function get_schema_info($schema){ - - $theme = current_theme(); - $themepath = "view/theme/" . $theme . "/"; - $schema = PConfig::get(local_user(),'frio', 'schema'); - - $info=[ - 'name' => $schema, - 'description' => "", - 'author' => [], - 'version' => "", - 'overwrites' => [] - ]; - - if (!is_file($themepath . "schema/" . $schema . ".php")) return $info; - - $f = file_get_contents($themepath . "schema/" . $schema . ".php"); - - $r = preg_match("|/\*.*\*/|msU", $f, $m); - - if ($r){ - $ll = explode("\n", $m[0]); - foreach( $ll as $l ) { - $l = trim($l,"\t\n\r */"); - if ($l!=""){ - list($k,$v) = array_map("trim", explode(":",$l,2)); - $k= strtolower($k); - if ($k=="author"){ - $r=preg_match("|([^<]+)<([^>]+)>|", $v, $m); - if ($r) { - $info['author'][] = ['name'=>$m[1], 'link'=>$m[2]]; - } else { - $info['author'][] = ['name'=>$v]; - } - } elseif ($k == "overwrites") { - $theme_settings = explode(',',str_replace(' ','', $v)); - foreach ($theme_settings as $key => $value) { - $info["overwrites"][$value] = true; - } - } else { - if (array_key_exists($k,$info)){ - $info[$k]=$v; - } - } - - } - } - - } - return $info; -} diff --git a/view/theme/frio/php/scheme.php b/view/theme/frio/php/scheme.php new file mode 100644 index 000000000..02de0a035 --- /dev/null +++ b/view/theme/frio/php/scheme.php @@ -0,0 +1,71 @@ + Author Name + * 'description' => Scheme description + * 'version' => Scheme version + * 'overwrites' => Variables which overwriting custom settings + */ +use Friendica\Core\PConfig; + +function get_scheme_info($scheme) +{ + $theme = current_theme(); + $themepath = 'view/theme/' . $theme . '/'; + $scheme = PConfig::get(local_user(), 'frio', 'scheme', PConfig::get(local_user(), 'frio', 'scheme')); + + $info = [ + 'name' => $scheme, + 'description' => '', + 'author' => [], + 'version' => '', + 'overwrites' => [] + ]; + + if (!is_file($themepath . 'scheme/' . $scheme . '.php')) return $info; + + $f = file_get_contents($themepath . 'scheme/' . $scheme . '.php'); + + $r = preg_match('|/\*.*\*/|msU', $f, $m); + + if ($r) { + $ll = explode("\n", $m[0]); + foreach ($ll as $l) { + $l = trim($l, "\t\n\r */"); + if ($l != '') { + list($k, $v) = array_map('trim', explode(':', $l, 2)); + $k = strtolower($k); + if ($k == 'author') { + $r = preg_match('|([^<]+)<([^>]+)>|', $v, $m); + if ($r) { + $info['author'][] = ['name' => $m[1], 'link' => $m[2]]; + } else { + $info['author'][] = ['name' => $v]; + } + } elseif ($k == 'overwrites') { + $theme_settings = explode(',', str_replace(' ', '', $v)); + foreach ($theme_settings as $key => $value) { + $info['overwrites'][$value] = true; + } + } else { + if (array_key_exists($k, $info)) { + $info[$k] = $v; + } + } + } + } + } + + return $info; +} diff --git a/view/theme/frio/php/standard.php b/view/theme/frio/php/standard.php index edfec573b..64c4544cd 100644 --- a/view/theme/frio/php/standard.php +++ b/view/theme/frio/php/standard.php @@ -16,7 +16,7 @@ -"; + Skip to main content module !== 'install') { PConfig::load($uid, 'frio'); // Load the profile owners pconfig. - $schema = PConfig::get($uid, "frio", "schema"); - $nav_bg = PConfig::get($uid, "frio", "nav_bg"); - $nav_icon_color = PConfig::get($uid, "frio", "nav_icon_color"); - $link_color = PConfig::get($uid, "frio", "link_color"); - $bgcolor = PConfig::get($uid, "frio", "background_color"); - $contentbg_transp = PConfig::get($uid, "frio", "contentbg_transp"); - $background_image = PConfig::get($uid, "frio", "background_image"); - $bg_image_option = PConfig::get($uid, "frio", "bg_image_option"); - $modified = PConfig::get($uid, "frio", "css_modified"); + $scheme = PConfig::get($uid, 'frio', 'scheme', PConfig::get($uid, 'frio', 'schema')); + $nav_bg = PConfig::get($uid, 'frio', 'nav_bg'); + $nav_icon_color = PConfig::get($uid, 'frio', 'nav_icon_color'); + $link_color = PConfig::get($uid, 'frio', 'link_color'); + $background_color = PConfig::get($uid, 'frio', 'background_color'); + $contentbg_transp = PConfig::get($uid, 'frio', 'contentbg_transp'); + $background_image = PConfig::get($uid, 'frio', 'background_image'); + $bg_image_option = PConfig::get($uid, 'frio', 'bg_image_option'); + $modified = PConfig::get($uid, 'frio', 'css_modified'); // There is maybe the case that the user did never modify the theme settings. // In this case we store the present time. @@ -38,17 +38,17 @@ if ($a->module !== 'install') { Config::load('frio'); // Load frios system config. - $schema = Config::get("frio", "schema"); - $nav_bg = Config::get("frio", "nav_bg"); - $nav_icon_color = Config::get("frio", "nav_icon_color"); - $link_color = Config::get("frio", "link_color"); - $bgcolor = Config::get("frio", "background_color"); - $contentbg_transp = Config::get("frio", "contentbg_transp"); - $background_image = Config::get("frio", "background_image"); - $bg_image_option = Config::get("frio", "bg_image_option"); - $login_bg_image = Config::get("frio", "login_bg_image"); - $login_bg_color = Config::get("frio", "login_bg_color"); - $modified = Config::get("frio", "css_modified"); + $scheme = Config::get('frio', 'scheme', Config::get('frio', 'schema')); + $nav_bg = Config::get('frio', 'nav_bg'); + $nav_icon_color = Config::get('frio', 'nav_icon_color'); + $link_color = Config::get('frio', 'link_color'); + $background_color = Config::get('frio', 'background_color'); + $contentbg_transp = Config::get('frio', 'contentbg_transp'); + $background_image = Config::get('frio', 'background_image'); + $bg_image_option = Config::get('frio', 'bg_image_option'); + $login_bg_image = Config::get('frio', 'login_bg_image'); + $login_bg_color = Config::get('frio', 'login_bg_color'); + $modified = Config::get('frio', 'css_modified'); // There is maybe the case that the user did never modify the theme settings. // In this case we store the present time. @@ -59,60 +59,59 @@ if ($a->module !== 'install') { } // Now load the scheme. If a value is changed above, we'll keep the settings -// If not, we'll keep those defined by the schema -// Setting $schema to '' wasn't working for some reason, so we'll check it's +// If not, we'll keep those defined by the scheme +// Setting $scheme to '' wasn't working for some reason, so we'll check it's // not --- like the mobile theme does instead. -// Allow layouts to over-ride the schema. -if (x($_REQUEST, 'schema')) { - $schema = $_REQUEST['schema']; +// Allow layouts to over-ride the scheme. +if (x($_REQUEST, 'scheme')) { + $scheme = $_REQUEST['scheme']; } // Sanitize the data. -$schema = !empty($schema) ? basename($schema) : ""; +$scheme = !empty($scheme) ? basename($scheme) : ''; -if (($schema) && ($schema != '---')) { - if (file_exists('view/theme/frio/schema/' . $schema . '.php')) { - $schemefile = 'view/theme/frio/schema/' . $schema . '.php'; +if (($scheme) && ($scheme != '---')) { + if (file_exists('view/theme/frio/scheme/' . $scheme . '.php')) { + $schemefile = 'view/theme/frio/scheme/' . $scheme . '.php'; require_once $schemefile; } - if (file_exists('view/theme/frio/schema/' . $schema . '.css')) { - $schemecssfile = 'view/theme/frio/schema/' . $schema . '.css'; + if (file_exists('view/theme/frio/scheme/' . $scheme . '.css')) { + $schemecssfile = 'view/theme/frio/scheme/' . $scheme . '.css'; } } -// If we haven't got a schema, load the default. We shouldn't touch this - we +// If we haven't got a scheme, load the default. We shouldn't touch this - we // should leave it for admins to define for themselves. -// default.php and default.css MUST be symlinks to existing schema files. -if (! $schema) { - if (file_exists('view/theme/frio/schema/default.php')) { - $schemefile = 'view/theme/frio/schema/default.php'; +// default.php and default.css MUST be symlinks to existing scheme files. +if (!$scheme) { + if (file_exists('view/theme/frio/scheme/default.php')) { + $schemefile = 'view/theme/frio/scheme/default.php'; require_once $schemefile; } - if (file_exists('view/theme/frio/schema/default.css')) { - $schemecssfile = 'view/theme/frio/schema/default.css'; + if (file_exists('view/theme/frio/scheme/default.css')) { + $schemecssfile = 'view/theme/frio/scheme/default.css'; } } //Set some defaults - we have to do this after pulling owner settings, and we have to check for each setting //individually. If we don't, we'll have problems if a user has set one, but not all options. -$nav_bg = (empty($nav_bg) ? "#708fa0" : $nav_bg); -$nav_icon_color = (empty($nav_icon_color) ? "#fff" : $nav_icon_color); -$link_color = (empty($link_color) ? "#6fdbe8" : $link_color); -$bgcolor = (empty($bgcolor) ? "#ededed" : $bgcolor); +$nav_bg = (empty($nav_bg) ? '#708fa0' : $nav_bg); +$nav_icon_color = (empty($nav_icon_color) ? '#fff' : $nav_icon_color); +$link_color = (empty($link_color) ? '#6fdbe8' : $link_color); +$background_color = (empty($background_color) ? '#ededed' : $background_color); // The background image can not be empty. So we use a dummy jpg if no image was set. $background_image = (empty($background_image) ? 'img/none.jpg' : $background_image); -$modified = (empty($modified) ? time() :$modified); +$modified = (empty($modified) ? time() : $modified); // set a default login bg image if no custom image and no custom bg color are set. if (empty($login_bg_image) && empty($login_bg_color)) { - $login_bg_image = (empty($login_bg_image) ? 'img/login_bg.jpg' : $login_bg_image); + $login_bg_image = 'img/login_bg.jpg'; } -$login_bg_color = (empty($login_bg_color) ? "#ededed" : $login_bg_color); +$login_bg_color = (empty($login_bg_color) ? '#ededed' : $login_bg_color); - -$contentbg_transp = ((isset($contentbg_transp) && $contentbg_transp != "") ? $contentbg_transp : 100); +$contentbg_transp = ((isset($contentbg_transp) && $contentbg_transp != '') ? $contentbg_transp : 100); // Calculate some colors in dependance of existing colors. // Some colors are calculated to don't have too many selection @@ -153,29 +152,35 @@ if (!isset($link_hover_color)) { if (!isset($bg_image_option)) { $bg_image_option = null; } + switch ($bg_image_option) { - case "stretch": - $background_size_img = "100%"; + case 'stretch': + $background_size_img = '100%'; + $background_repeat = 'no-repeat'; break; - case "cover": - $background_size_img ="cover"; + case 'cover': + $background_size_img = 'cover'; + $background_repeat = 'no-repeat'; break; - case "repeat": - $background_size_img = "auto"; + case 'repeat': + $background_size_img = 'auto'; + $background_repeat = 'repeat'; break; - case "contain": - $background_size_img = "contain"; + case 'contain': + $background_size_img = 'contain'; + $background_repeat = 'repeat'; break; default: - $background_size_img = "auto"; + $background_size_img = 'auto'; + $background_repeat = 'no-repeat'; break; } // Convert transparency level from percentage to opacity value. $contentbg_transp = $contentbg_transp / 100; -$options = [ +$options = [ '$nav_bg' => $nav_bg, '$nav_icon_color' => $nav_icon_color, '$nav_icon_hover_color' => $nav_icon_hover_color, @@ -184,10 +189,11 @@ $options = [ '$menu_background_hover_color' => $menu_background_hover_color, '$btn_primary_color' => $nav_icon_color, '$btn_primary_hover_color' => $menu_background_hover_color, - '$bgcolor' => $bgcolor, + '$background_color' => $background_color, '$contentbg_transp' => $contentbg_transp, '$background_image' => $background_image, '$background_size_img' => $background_size_img, + '$background_repeat' => $background_repeat, '$login_bg_image' => $login_bg_image, '$login_bg_color' => $login_bg_color ]; @@ -214,13 +220,13 @@ $etag = md5($css); // Set a header for caching. header('Cache-Control: public'); -header('ETag: "'.$etag.'"'); -header('Last-Modified: '.$modified); +header('ETag: "' . $etag . '"'); +header('Last-Modified: ' . $modified); // Only send the CSS file if it was changed. 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"], ['', ''], + $cached_etag = str_replace(['"', '-gzip'], ['', ''], stripslashes($_SERVER['HTTP_IF_NONE_MATCH'])); if (($cached_modified == $modified) && ($cached_etag == $etag)) { diff --git a/view/theme/frio/templates/theme_settings.tpl b/view/theme/frio/templates/theme_settings.tpl index adc2150cf..50a8934d1 100644 --- a/view/theme/frio/templates/theme_settings.tpl +++ b/view/theme/frio/templates/theme_settings.tpl @@ -4,13 +4,13 @@ -{{include file="field_select.tpl" field=$schema}} +{{include file="field_select.tpl" field=$scheme}} {{if $nav_bg}}{{include file="field_colorinput.tpl" field=$nav_bg}}{{/if}} {{if $nav_icon_color}}{{include file="field_colorinput.tpl" field=$nav_icon_color}}{{/if}} {{if $link_color}}{{include file="field_colorinput.tpl" field=$link_color}}{{/if}} -{{if $bgcolor}}{{include file="field_colorinput.tpl" field=$bgcolor}}{{/if}} +{{if $background_color}}{{include file="field_colorinput.tpl" field=$background_color}}{{/if}} {{* The slider for the content opacity - We use no template for this since it is only used at this page *}} {{if $contentbg_transp}} @@ -25,6 +25,7 @@ {{if $background_image}}{{include file="field_fileinput.tpl" field=$background_image}}{{/if}}