Feature: Introduced Color Themes - Changes navbar color and accent button color on sidenav - To change theme goto settings - theme - select a theme watch it change in real time

This commit is contained in:
johnnyq 2023-01-19 18:00:35 -05:00
parent f21bb7cbe9
commit 6232a8311b
10 changed files with 110 additions and 9 deletions

View File

@ -1,5 +1,5 @@
<!-- Main Sidebar Container -->
<aside class="main-sidebar sidebar-dark-primary d-print-none">
<aside class="main-sidebar sidebar-dark-<?php echo $config_theme_side_nav_accent_color; ?> d-print-none">
<!-- Sidebar -->
<div class="sidebar">

View File

@ -446,11 +446,18 @@ if(LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION){
mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.2.8'");
}
//if(CURRENT_DATABASE_VERSION == '0.2.8'){
// Insert queries here required to update to DB version 0.2.9
if(CURRENT_DATABASE_VERSION == '0.2.8'){
mysqli_query($mysqli, "ALTER TABLE `settings` ADD `config_theme` VARCHAR(200) DEFAULT 'blue' AFTER `config_module_enable_ticketing`");
mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.2.9'");
}
//if(CURRENT_DATABASE_VERSION == '0.2.9'){
// Insert queries here required to update to DB version 0.3.0
// Then, update the database to the next sequential version
// mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.2.9'");
// mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.3.0'");
//}

View File

@ -5,4 +5,4 @@
* It is used in conjunction with database_updates.php
*/
DEFINE("LATEST_DATABASE_VERSION", "0.2.8");
DEFINE("LATEST_DATABASE_VERSION", "0.2.9");

View File

@ -82,7 +82,11 @@ $config_module_enable_accounting = $row['config_module_enable_accounting'];
$config_currency_format = "US_en";
// Theme
$config_theme = $row['config_theme'];
$config_enable_dark_mode = "dark_mode";
$config_theme_navbar_color = $config_theme;
$config_theme_side_nav_accent_color = $config_theme;
$config_theme_hyperlink_accent = "";
$colors_array = array(
'green',
@ -926,4 +930,27 @@ $asset_status_array = array(
'Retired'
);
$themes_array = array(
'blue',
'secondary',
'green',
'cyan',
'yellow',
'red',
'black',
'gray-dark',
'gray',
'light',
'indigo',
'navy',
'purple',
'fuchsia',
'pink',
'maroon',
'orange',
'lime',
'teal',
'olive'
);
?>

View File

@ -38,5 +38,5 @@ header("X-Frame-Options: DENY");
<script src="plugins/toastr/toastr.min.js"></script>
</head>
<body class="hold-transition sidebar-mini">
<body class="hold-transition sidebar-mini accent-<?php echo $config_theme_hyperlink_accent; ?>">
<div class="wrapper text-sm">

View File

@ -988,6 +988,23 @@ if(isset($_POST['edit_default_settings'])){
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
if(isset($_POST['edit_theme_settings'])){
validateAdminRole();
$theme = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['theme'])));
mysqli_query($mysqli,"UPDATE settings SET config_theme = '$theme' WHERE company_id = $session_company_id");
//Logging
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modify', log_description = '$session_name modified theme settings', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id");
$_SESSION['alert_message'] = "Theme updated";
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
if(isset($_POST['edit_alert_settings'])){
validateAdminRole();

View File

@ -1,5 +1,5 @@
<!-- Main Sidebar Container -->
<aside class="main-sidebar sidebar-dark-primary d-print-none">
<aside class="main-sidebar sidebar-dark-<?php echo $config_theme_side_nav_accent_color; ?> d-print-none">
<!-- Sidebar -->
<div class="sidebar">
@ -68,6 +68,14 @@
<li class="nav-header mt-3">SETTINGS</li>
<li class="nav-item">
<a class="nav-link <?php if(basename($_SERVER["PHP_SELF"]) == "settings_theme.php") { echo "active"; } ?>"
href="settings_theme.php">
<i class="nav-icon fa fa-palette"></i>
<p>Theme</p>
</a>
</li>
<li class="nav-item">
<a class="nav-link <?php if(basename($_SERVER["PHP_SELF"]) == "settings_mail.php") { echo "active"; } ?>"
href="settings_mail.php">

42
settings_theme.php Normal file
View File

@ -0,0 +1,42 @@
<?php include("inc_all_settings.php"); ?>
<div class="card card-dark">
<div class="card-header">
<h3 class="card-title"><i class="fa fa-fw fa-palette"></i> Theme</h3>
</div>
<div class="card-body">
<form action="post.php" method="post" autocomplete="off">
<label>Select a Theme</label>
<div class="form-row">
<?php
foreach($themes_array as $theme_color) {
?>
<div class="col-3 text-center mb-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="theme" value="<?php echo $theme_color; ?>" <?php if($config_theme == $theme_color){ echo "checked"; } ?>>
<label class="form-check-label">
<i class="fa fa-fw fa-6x fa-circle text-<?php echo $theme_color; ?>"></i>
<br>
<?php echo $theme_color; ?>
</label>
</div>
</div>
<?php } ?>
</div>
<hr>
<button type="submit" name="edit_theme_settings" class="btn btn-primary text-bold"><i class="fa fa-check"></i> Set Theme</button>
</form>
</div>
</div>
<?php include("footer.php");

View File

@ -1,5 +1,5 @@
<!-- Main Sidebar Container -->
<aside class="main-sidebar sidebar-dark-primary elevation-3 d-print-none">
<aside class="main-sidebar sidebar-dark-<?php echo $config_theme_side_nav_accent_color; ?> elevation-3 d-print-none">
<!-- Sidebar -->
<div class="sidebar">

View File

@ -1,5 +1,5 @@
<!-- Navbar -->
<nav class="main-header navbar navbar-expand navbar-primary navbar-dark">
<nav class="main-header navbar navbar-expand navbar-<?php echo $config_theme_navbar_color; ?> navbar-dark">
<!-- Left navbar links -->
<ul class="navbar-nav">