ussr-hubzilla-themes/ussrbasic/php/style.php

169 lines
5.1 KiB
PHP
Raw Normal View History

2018-11-05 08:26:24 +00:00
<?php
if(! App::$install) {
// Get the UID of the channel owner
$uid = get_theme_uid();
if($uid) {
2018-11-05 13:31:34 +00:00
load_pconfig($uid,'ussrbasic');
2018-11-05 08:26:24 +00:00
}
// Load the owners pconfig
2018-11-05 13:31:34 +00:00
$nav_bg = get_pconfig($uid, 'ussrbasic', 'nav_bg');
2024-02-17 16:00:05 +00:00
$nav_bg_dark = get_pconfig($uid, 'ussrbasic', 'nav_bg_dark');
2018-11-05 13:31:34 +00:00
$narrow_navbar = get_pconfig($uid,'ussrbasic','narrow_navbar');
2024-02-17 16:00:05 +00:00
$link_color = get_pconfig($uid, 'ussrbasic', 'link_color');
$link_color_dark = get_pconfig($uid, 'ussrbasic', 'link_color_dark');
$link_hover_color = get_pconfig($uid, 'ussrbasic', 'link_hover_color');
$link_hover_color_dark = get_pconfig($uid, 'ussrbasic', 'link_hover_color_dark');
$bgcolor = get_pconfig($uid, 'ussrbasic', 'background_color');
$bgcolor_dark = get_pconfig($uid, 'ussrbasic', 'background_color_dark');
2018-11-05 13:31:34 +00:00
$schema = get_pconfig($uid,'ussrbasic','schema');
$background_image = get_pconfig($uid, 'ussrbasic', 'background_image');
2024-02-17 16:00:05 +00:00
$background_image_dark = get_pconfig($uid, 'ussrbasic', 'background_image_dark');
2018-11-05 13:31:34 +00:00
$font_size = get_pconfig($uid, 'ussrbasic', 'font_size');
$radius = get_pconfig($uid, 'ussrbasic', 'radius');
$converse_width=get_pconfig($uid,'ussrbasic','converse_width');
$top_photo=get_pconfig($uid,'ussrbasic','top_photo');
$reply_photo=get_pconfig($uid,'ussrbasic','reply_photo');
2018-11-05 08:26:24 +00:00
}
// 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
2022-06-05 13:46:26 +00:00
if (isset($_REQUEST['schema']) && preg_match('/^[\w_-]+$/i', $_REQUEST['schema'])) {
$schema = $_REQUEST['schema'];
2018-11-05 08:26:24 +00:00
}
if (($schema) && ($schema != '---')) {
// Check it exists, because this setting gets distributed to clones
if(file_exists('view/theme/ussrbasic/schema/' . $schema . '.php')) {
$schemefile = 'view/theme/ussrbasic/schema/' . $schema . '.php';
require_once ($schemefile);
}
if(file_exists('view/theme/ussrbasic/schema/' . $schema . '.css')) {
$schemecss = file_get_contents('view/theme/ussrbasic/schema/' . $schema . '.css');
}
}
// Allow admins to set a default schema for the hub.
2018-11-05 13:31:34 +00:00
// default.php and default.css MUST be symlinks to existing schema files in view/theme/ussrbasic/schema
2018-11-05 08:26:24 +00:00
if ((!$schema) || ($schema == '---')) {
if(file_exists('view/theme/ussrbasic/schema/default.php')) {
$schemefile = 'view/theme/ussrbasic/schema/default.php';
require_once ($schemefile);
}
2024-02-17 16:00:05 +00:00
$schemecss = '';
2018-11-05 08:26:24 +00:00
if(file_exists('view/theme/ussrbasic/schema/default.css')) {
$schemecss = file_get_contents('view/theme/ussrbasic/schema/default.css');
}
}
2021-09-09 10:22:28 +00:00
2018-11-05 08:26:24 +00:00
//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)
2024-02-17 16:00:05 +00:00
$nav_bg = 'rgba(248, 249, 250, 1)';
if (! $nav_bg_dark)
$nav_bg_dark = 'rgba(43, 48, 53, 1)';
if (! $link_color)
$link_color = '#0d6efd';
if (! $link_color_dark)
$link_color_dark = '#6ea8fe';
if (! $link_hover_color)
$link_hover_color = '#0a58ca';
if (! $link_hover_color_dark)
$link_hover_color_dark = '#9ec5fe';
if (! $bgcolor)
$bgcolor = '#fff';
if (! $bgcolor_dark)
$bgcolor_dark = '#212529';
2018-11-05 08:26:24 +00:00
if (! $background_image)
2024-02-17 16:00:05 +00:00
$background_image = '';
if (! $background_image_dark)
$background_image_dark = '';
2018-11-05 08:26:24 +00:00
if (! $font_size)
$font_size = '0.875rem';
2024-02-17 16:00:05 +00:00
2018-11-05 08:26:24 +00:00
if (! $radius)
2024-02-17 16:00:05 +00:00
$radius = '0.375rem';
2018-11-05 08:26:24 +00:00
if (! $converse_width)
2021-12-14 18:48:12 +00:00
$converse_width = '52'; //unit: rem
2024-02-17 16:00:05 +00:00
2018-11-05 08:26:24 +00:00
if(! $top_photo)
$top_photo = '2.3rem';
2024-02-17 16:00:05 +00:00
2018-11-05 08:26:24 +00:00
if(! $reply_photo)
$reply_photo = '2.3rem';
// Apply the settings
if(file_exists('view/theme/ussrbasic/css/style.css')) {
$x = file_get_contents('view/theme/ussrbasic/css/style.css');
if($narrow_navbar && file_exists('view/theme/ussrbasic/css/narrow_navbar.css')) {
$x .= file_get_contents('view/theme/ussrbasic/css/narrow_navbar.css');
}
if($schemecss) {
$x .= $schemecss;
}
2021-12-14 18:48:12 +00:00
$left_aside_width = 21; //unit: rem
$right_aside_width = 21; //unit: rem
2018-11-05 08:26:24 +00:00
2021-07-13 20:13:31 +00:00
$main_width = $left_aside_width + $right_aside_width + intval($converse_width);
2018-11-05 08:26:24 +00:00
// prevent main_width smaller than 768px
2021-12-14 18:48:12 +00:00
$main_width = (($main_width < 30) ? 30 : $main_width);
2018-11-05 08:26:24 +00:00
$options = array (
'$nav_bg' => $nav_bg,
2024-02-17 16:00:05 +00:00
'$nav_bg_dark' => $nav_bg_dark,
'$link_color' => $link_color,
'$link_color_dark' => $link_color_dark,
'$link_hover_color' => $link_hover_color,
'$link_hover_color_dark' => $link_hover_color_dark,
'$bgcolor' => $bgcolor,
'$bgcolor_dark' => $bgcolor_dark,
2018-11-05 08:26:24 +00:00
'$background_image' => $background_image,
2024-02-17 16:00:05 +00:00
'$background_image_dark' => $background_image_dark,
2018-11-05 08:26:24 +00:00
'$font_size' => $font_size,
'$radius' => $radius,
'$converse_width' => $converse_width,
'$top_photo' => $top_photo,
'$reply_photo' => $reply_photo,
'$main_width' => $main_width,
2021-07-13 20:13:31 +00:00
'$left_aside_width' => $left_aside_width,
'$right_aside_width' => $right_aside_width
2018-11-05 08:26:24 +00:00
);
2024-02-17 16:00:05 +00:00
echo strtr($x, $options);
2018-11-05 08:26:24 +00:00
}
2021-09-09 10:22:28 +00:00
// Set the schema to the default schema in derived themes. See the documentation for creating derived themes how to override this.
2018-11-05 08:26:24 +00:00
2021-07-13 20:13:31 +00:00
if(local_channel() && App::$channel && App::$channel['channel_theme'] != 'ussrbasic')
2021-12-14 18:48:12 +00:00
set_pconfig(local_channel(), 'ussrbasic', 'schema', '---');