install) { // Get the UID of the channel owner $uid = get_theme_uid(); if($uid) { load_pconfig($uid,'frio'); } // Load the owners pconfig $schema = get_pconfig($uid, "frio", "schema"); $nav_bg = get_pconfig($uid, "frio", "nav_bg"); $nav_icon_color = get_pconfig($uid, "frio", "nav_icon_color"); $link_color = get_pconfig($uid, "frio", "link_color"); $bgcolor = get_pconfig($uid, "frio", "background_color"); $contentbg_transp = get_pconfig($uid, "frio", "contentbg_transp"); $background_image = get_pconfig($uid, "frio", "background_image"); $bg_image_option = get_pconfig($uid, "frio", "bg_image_option"); } // 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 // not --- like the mobile theme does instead. // Allow layouts to over-ride the schema if($_REQUEST['schema']) { $schema = $_REQUEST['schema']; } if (($schema) && ($schema != '---')) { // Check it exists, because this setting gets distributed to clones if(file_exists('view/theme/frio/schema/' . $schema . '.php')) { $schemefile = 'view/theme/frio/schema/' . $schema . '.php'; require_once ($schemefile); } if(file_exists('view/theme/frio/schema/' . $schema . '.css')) { $schemecss = file_get_contents('view/theme/frio/schema/' . $schema . '.css'); } } // If we haven't got a schema, 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'; require_once ($schemefile); } if(file_exists('view/theme/frio/schema/default.css')) { $schemecss = file_get_contents('view/theme/frio/schema/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. if(! $nav_bg) $nav_bg = "#708fa0"; if(! $nav_icon_color) $nav_icon_color = "#fff"; if(! $link_color) $link_color = "#6fdbe8"; if(! $bgcolor) $bgcolor = "#ededed"; if(! $contentbg_transp) $contentbg_transp = 100; if(! $background_image) $background_image =''; // Calculate some colors in dependance of existing colors // Some colors are calculated to don't have too many selection // fields in the theme settings if(! $menu_background_hover_color) { $mbhc = new Color($nav_bg); $mcolor = $mbhc->getHex(); if($mbhc->isLight($mcolor, 75)) { $menu_is = 'light'; $menu_background_hover_color = '#' . $mbhc->darken(5); } else { $menu_is = 'dark'; $menu_background_hover_color = '#' . $mbhc->lighten(5); //$menu_background_hover_color = "#628394"; } } if(! $nav_icon_hover_color) { $nihc = new Color($nav_bg); if($nihc->isLight()) $nav_icon_hover_color = '#' . $nihc->darken(10); else $nav_icon_hover_color = '#' . $nihc->lighten(10); } if(! $link_hover_color) { $lhc = new Color($link_color); $lcolor = $lhc->getHex(); if($lhc->isLight($lcolor, 75)) { $link_hover_color = '#' . $lhc->darken(5); } else { $link_hover_color = '#' . $lhc->lighten(5); } } // Convert $bg_image_options into css switch ($bg_image_option) { case "stretch": $background_size_img = "100%"; break; case "cover": $background_size_img ="cover"; break; case "repeat": $background_size_img = "auto"; break; case "contain": $background_size_img = "contain"; break; default: $background_size_img = "auto"; break; } // Convert transparency level from percentage to opacity value $contentbg_transp = $contentbg_transp / 100; // Apply the settings if(file_exists('view/theme/frio/css/style.css')) { $x = file_get_contents('view/theme/frio/css/style.css'); $options = array ( '$nav_bg' => $nav_bg, '$nav_icon_color' => $nav_icon_color, '$nav_icon_hover_color' => $nav_icon_hover_color, '$link_color' => $link_color, '$link_hover_color' => $link_hover_color, '$menu_background_hover_color' => $menu_background_hover_color, '$btn_primary_color' => $nav_icon_color, '$btn_primary_hover_color' => $menu_background_hover_color, '$bgcolor' => $bgcolor, '$contentbg_transp' => $contentbg_transp, '$background_image' => $background_image, '$background_size_img' => $background_size_img, ); echo str_replace(array_keys($options), array_values($options), $x); } if($schemecss) { echo $schemecss; }