v10.0
This commit is contained in:
@@ -2,6 +2,9 @@
|
||||
|
||||
namespace Zotlabs\Theme;
|
||||
|
||||
use ScssPhp\ScssPhp\Compiler;
|
||||
use ScssPhp\ScssPhp\OutputStyle;
|
||||
|
||||
class UssrbasicpubConfig {
|
||||
|
||||
function get_schemas() {
|
||||
@@ -36,16 +39,16 @@ class UssrbasicpubConfig {
|
||||
return;
|
||||
}
|
||||
|
||||
$arr = array();
|
||||
$arr['primary_color'] = get_pconfig(local_channel(),'ussrbasicpub', 'primary_color');
|
||||
$arr['success_color'] = get_pconfig(local_channel(),'ussrbasicpub', 'success_color');
|
||||
$arr['info_color'] = get_pconfig(local_channel(),'ussrbasicpub', 'info_color');
|
||||
$arr['warning_color'] = get_pconfig(local_channel(),'ussrbasicpub', 'warning_color');
|
||||
$arr['danger_color'] = get_pconfig(local_channel(),'ussrbasicpub', 'danger_color');
|
||||
$arr['dark_mode'] = get_pconfig(local_channel(),'ussrbasicpub', 'dark_mode');
|
||||
$arr['navbar_dark_mode'] = get_pconfig(local_channel(),'ussrbasicpub', 'navbar_dark_mode');
|
||||
$arr['narrow_navbar'] = get_pconfig(local_channel(),'ussrbasicpub', 'narrow_navbar' );
|
||||
$arr['nav_bg'] = get_pconfig(local_channel(),'ussrbasicpub', 'nav_bg' );
|
||||
$arr['nav_bg_dark'] = get_pconfig(local_channel(),'ussrbasicpub', 'nav_bg_dark' );
|
||||
$arr['link_color'] = get_pconfig(local_channel(),'ussrbasicpub', 'link_color' );
|
||||
$arr['link_color_dark'] = get_pconfig(local_channel(),'ussrbasicpub', 'link_color_dark' );
|
||||
$arr['link_hover_color'] = get_pconfig(local_channel(),'ussrbasicpub', 'link_hover_color' );
|
||||
$arr['link_hover_color_dark'] = get_pconfig(local_channel(),'ussrbasicpub', 'link_hover_color_dark' );
|
||||
$arr['bgcolor'] = get_pconfig(local_channel(),'ussrbasicpub', 'background_color' );
|
||||
$arr['bgcolor_dark'] = get_pconfig(local_channel(),'ussrbasicpub', 'background_color_dark' );
|
||||
$arr['background_image'] = get_pconfig(local_channel(),'ussrbasicpub', 'background_image' );
|
||||
@@ -65,15 +68,99 @@ class UssrbasicpubConfig {
|
||||
}
|
||||
|
||||
if (isset($_POST['ussrbasicpub-settings-submit'])) {
|
||||
if (isset($_POST['ussrbasicpub_primary_color']) || isset($_POST['ussrbasicpub_radius'])) {
|
||||
|
||||
$primary_color = '';
|
||||
$success_color = '';
|
||||
$info_color = '';
|
||||
$warning_color = '';
|
||||
$danger_color = '';
|
||||
$radius = floatval($_POST['ussrbasicpub_radius']);
|
||||
|
||||
if (preg_match('/^#([A-Fa-f0-9]{3}){1,2}$/', $_POST['ussrbasicpub_primary_color'])) {
|
||||
$primary_color = $_POST['ussrbasicpub_primary_color'];
|
||||
}
|
||||
if (preg_match('/^#([A-Fa-f0-9]{3}){1,2}$/', $_POST['ussrbasicpub_success_color'])) {
|
||||
$success_color = $_POST['ussrbasicpub_success_color'];
|
||||
}
|
||||
if (preg_match('/^#([A-Fa-f0-9]{3}){1,2}$/', $_POST['ussrbasicpub_info_color'])) {
|
||||
$info_color = $_POST['ussrbasicpub_info_color'];
|
||||
}
|
||||
if (preg_match('/^#([A-Fa-f0-9]{3}){1,2}$/', $_POST['ussrbasicpub_warning_color'])) {
|
||||
$warning_color = $_POST['ussrbasicpub_warning_color'];
|
||||
}
|
||||
if (preg_match('/^#([A-Fa-f0-9]{3}){1,2}$/', $_POST['ussrbasicpub_danger_color'])) {
|
||||
$danger_color = $_POST['ussrbasicpub_danger_color'];
|
||||
}
|
||||
|
||||
if ($primary_color || $success_color || $info_color || $warning_color || $danger_color || $radius) {
|
||||
|
||||
try {
|
||||
$cache_dir = 'store/[data]/[scss]/';
|
||||
if(!is_dir($cache_dir)) {
|
||||
os_mkdir($cache_dir, STORAGE_DEFAULT_PERMISSIONS, true);
|
||||
}
|
||||
|
||||
$options = [
|
||||
'cacheDir' => $cache_dir,
|
||||
'prefix' => 'ussrbasicpub_',
|
||||
'forceRefresh' => false
|
||||
];
|
||||
|
||||
$compiler = new Compiler($options);
|
||||
$compiler->setImportPaths('vendor/twbs/bootstrap/scss');
|
||||
$compiler->setOutputStyle(OutputStyle::COMPRESSED);
|
||||
|
||||
// Set Variables
|
||||
if ($primary_color) {
|
||||
$variables['$primary'] = $primary_color;
|
||||
}
|
||||
if ($success_color) {
|
||||
$variables['$success'] = $success_color;
|
||||
}
|
||||
if ($info_color) {
|
||||
$variables['$info'] = $info_color;
|
||||
}
|
||||
if ($warning_color) {
|
||||
$variables['$warning'] = $warning_color;
|
||||
}
|
||||
if ($danger_color) {
|
||||
$variables['$danger'] = $danger_color;
|
||||
}
|
||||
if ($radius) {
|
||||
$variables['$border-radius'] = $radius . 'rem';
|
||||
$variables['$border-radius-sm'] = $radius/1.5 . 'rem';
|
||||
$variables['$border-radius-lg'] = $radius*1.333 . 'rem';
|
||||
$variables['$border-radius-xl'] = $radius*2.666 . 'rem';
|
||||
$variables['$border-radius-xxl'] = $radius*5.333 . 'rem';
|
||||
}
|
||||
|
||||
// Replace Bootstrap Variables with Customizer Variables
|
||||
$compiler->replaceVariables($variables);
|
||||
|
||||
$bs = $compiler->compileString('@import "bootstrap.scss";');
|
||||
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'bootstrap', $bs->getCss());
|
||||
} catch (\Exception $e) {
|
||||
logger('scssphp: Unable to compile content');
|
||||
}
|
||||
}
|
||||
else {
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'bootstrap', '');
|
||||
}
|
||||
}
|
||||
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'primary_color', $_POST['ussrbasicpub_primary_color']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'success_color', $_POST['ussrbasicpub_success_color']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'info_color', $_POST['ussrbasicpub_info_color']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'warning_color', $_POST['ussrbasicpub_warning_color']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'danger_color', $_POST['ussrbasicpub_danger_color']);
|
||||
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'narrow_navbar', $_POST['ussrbasicpub_narrow_navbar']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'navbar_dark_mode', $_POST['ussrbasicpub_navbar_dark_mode']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'dark_mode', $_POST['ussrbasicpub_dark_mode']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'nav_bg', $_POST['ussrbasicpub_nav_bg']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'nav_bg_dark', $_POST['ussrbasicpub_nav_bg_dark']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'link_color', $_POST['ussrbasicpub_link_color']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'link_color_dark', $_POST['ussrbasicpub_link_color_dark']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'link_hover_color', $_POST['ussrbasicpub_link_hover_color']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'link_hover_color_dark', $_POST['ussrbasicpub_link_hover_color_dark']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'background_color', $_POST['ussrbasicpub_background_color']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'background_color_dark', $_POST['ussrbasicpub_background_color_dark']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'background_image', $_POST['ussrbasicpub_background_image']);
|
||||
@@ -84,6 +171,9 @@ class UssrbasicpubConfig {
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'top_photo', $_POST['ussrbasicpub_top_photo']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'reply_photo', $_POST['ussrbasicpub_reply_photo']);
|
||||
set_pconfig(local_channel(), 'ussrbasicpub', 'advanced_theming', $_POST['ussrbasicpub_advanced_theming']);
|
||||
|
||||
// This is used to refresh the cache
|
||||
set_pconfig(local_channel(), 'system', 'style_update', time());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -103,24 +193,25 @@ class UssrbasicpubConfig {
|
||||
'$dark' => t('Dark style'),
|
||||
'$light' => t('Light style'),
|
||||
'$common' => t('Common settings'),
|
||||
'$primary_color' => array('ussrbasicpub_primary_color', t('Primary theme color'), $arr['primary_color'], '<i class="bi bi-circle-fill text-primary"></i> ' . t('Current color, leave empty for default')),
|
||||
'$success_color' => array('ussrbasicpub_success_color', t('Success theme color'), $arr['success_color'], '<i class="bi bi-circle-fill text-success"></i> ' . t('Current color, leave empty for default')),
|
||||
'$info_color' => array('ussrbasicpub_info_color', t('Info theme color'), $arr['info_color'], '<i class="bi bi-circle-fill text-info"></i> ' . t('Current color, leave empty for default')),
|
||||
'$warning_color' => array('ussrbasicpub_warning_color', t('Warning theme color'), $arr['warning_color'], '<i class="bi bi-circle-fill text-warning"></i> ' . t('Current color, leave empty for default')),
|
||||
'$danger_color' => array('ussrbasicpub_danger_color', t('Danger theme color'), $arr['danger_color'], '<i class="bi bi-circle-fill text-danger"></i> ' . t('Current color, leave empty for default')),
|
||||
'$dark_mode' => array('ussrbasicpub_dark_mode',t('Default to dark mode'),$arr['dark_mode'], '', array(t('No'),t('Yes'))),
|
||||
'$navbar_dark_mode' => array('ussrbasicpub_navbar_dark_mode',t('Always use light icons for navbar'),$arr['navbar_dark_mode'], t('Enable this option if you use a dark navbar color in light mode'), array(t('No'),t('Yes'))),
|
||||
'$narrow_navbar' => array('ussrbasicpub_narrow_navbar',t('Narrow navbar'),$arr['narrow_navbar'], '', array(t('No'),t('Yes'))),
|
||||
'$nav_bg' => array('ussrbasicpub_nav_bg', t('Navigation bar background color'), $arr['nav_bg']),
|
||||
'$nav_bg_dark' => array('ussrbasicpub_nav_bg_dark', t('Dark navigation bar background color'), $arr['nav_bg_dark']),
|
||||
'$link_color' => array('ussrbasicpub_link_color', t('Link color'), $arr['link_color']),
|
||||
'$link_color_dark' => array('ussrbasicpub_link_color_dark', t('Dark link color'), $arr['link_color_dark']),
|
||||
'$link_hover_color' => array('ussrbasicpub_link_hover_color', t('Link hover color'), $arr['link_hover_color']),
|
||||
'$link_hover_color_dark' => array('ussrbasicpub_link_hover_color_dark', t('Dark link hover color'), $arr['link_hover_color_dark']),
|
||||
'$bgcolor' => array('ussrbasicpub_background_color', t('Set the background color'), $arr['bgcolor']),
|
||||
'$bgcolor_dark' => array('ussrbasicpub_background_color_dark', t('Set the dark background color'), $arr['bgcolor_dark']),
|
||||
'$background_image' => array('ussrbasicpub_background_image', t('Set the background image'), $arr['background_image']),
|
||||
'$background_image_dark' => array('ussrbasicpub_background_image_dark', t('Set the dark background image'), $arr['background_image_dark']),
|
||||
'$font_size' => array('ussrbasicpub_font_size', t('Set font-size for the entire application'), $arr['font_size'], t('Examples: 1rem, 100%, 16px')),
|
||||
'$radius' => array('ussrbasicpub_radius', t('Set radius of corners'), $arr['radius'], t('Example: 4px')),
|
||||
'$radius' => array('ussrbasicpub_radius', t('Set radius of corners in rem'), $arr['radius'], t('Leave empty for default radius')),
|
||||
'$converse_width' => array('ussrbasicpub_converse_width',t('Set maximum width of content region in rem'),$arr['converse_width'], t('Leave empty for default width')),
|
||||
'$top_photo' => array('ussrbasicpub_top_photo', t('Set size of conversation author photo'), $arr['top_photo']),
|
||||
'$reply_photo' => array('ussrbasicpub_reply_photo', t('Set size of followup author photos'), $arr['reply_photo']),
|
||||
'$top_photo' => array('ussrbasicpub_top_photo', t('Set size of conversation author photo'), $arr['top_photo'], t('Leave empty for default size')),
|
||||
'$reply_photo' => array('ussrbasicpub_reply_photo', t('Set size of followup author photos'), $arr['reply_photo'], t('Leave empty for default size')),
|
||||
'$advanced_theming' => ['ussrbasicpub_advanced_theming', t('Show advanced settings'), $arr['advanced_theming'], '', [t('No'), t('Yes')]]
|
||||
));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user