update installer to use default theme (#1626)
added support to allow install to use the theme's default settings and reduce the number of php errors during the installer due to missing settings
This commit is contained in:
parent
d663891bd8
commit
96d576fc7a
|
|
@ -32,10 +32,6 @@
|
|||
//start a php session
|
||||
session_start();
|
||||
|
||||
//set theme settings
|
||||
$_SESSION['theme']['footer_color'] = '#cccccc';
|
||||
$_SESSION['theme']['footer_background_color'] = '#ffffff';
|
||||
|
||||
//initialize variables we are going to use
|
||||
$event_host = '';
|
||||
$event_port = '';
|
||||
|
|
@ -337,6 +333,7 @@
|
|||
else {
|
||||
echo "<p>Unkown install_step '$install_step'</p>\n";
|
||||
}
|
||||
echo "</div>\n";
|
||||
|
||||
//initialize some defaults so we can be 'logged in'
|
||||
$_SESSION['username'] = 'install_enabled';
|
||||
|
|
@ -350,6 +347,10 @@
|
|||
//set a default template
|
||||
$default_template = 'default';
|
||||
$_SESSION['domain']['template']['name'] = $default_template;
|
||||
$set_session_theme = 1;
|
||||
$domains_processed = 1;
|
||||
include "themes/$default_template/app_defaults.php";
|
||||
unset($set_session_theme, $domains_processed);
|
||||
$_SESSION['theme']['menu_brand_type']['text'] = "text";
|
||||
|
||||
//set the default template path
|
||||
|
|
|
|||
|
|
@ -1381,65 +1381,85 @@ if ($domains_processed == 1) {
|
|||
$x++;
|
||||
|
||||
|
||||
//get an array of the default settings
|
||||
$sql = "select * from v_default_settings ";
|
||||
$sql .= "where default_setting_category = 'theme' ";
|
||||
$prep_statement = $db->prepare($sql);
|
||||
$prep_statement->execute();
|
||||
$default_settings = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
unset ($prep_statement, $sql);
|
||||
|
||||
//find the missing default settings
|
||||
$i = 0;
|
||||
foreach ($array as $setting) {
|
||||
$found = false;
|
||||
$missing[$i] = $setting;
|
||||
foreach ($default_settings as $row) {
|
||||
if (trim($row['default_setting_subcategory']) == trim($setting['default_setting_subcategory'])) {
|
||||
$found = true;
|
||||
//remove items from the array that were found
|
||||
unset($missing[$i]);
|
||||
if(!$set_session_theme) {
|
||||
//get an array of the default settings
|
||||
$sql = "select * from v_default_settings ";
|
||||
$sql .= "where default_setting_category = 'theme' ";
|
||||
$prep_statement = $db->prepare($sql);
|
||||
$prep_statement->execute();
|
||||
$default_settings = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
unset ($prep_statement, $sql);
|
||||
|
||||
//find the missing default settings
|
||||
$i = 0;
|
||||
foreach ($array as $setting) {
|
||||
$found = false;
|
||||
$missing[$i] = $setting;
|
||||
foreach ($default_settings as $row) {
|
||||
if (trim($row['default_setting_subcategory']) == trim($setting['default_setting_subcategory'])) {
|
||||
$found = true;
|
||||
|
||||
//remove items from the array that were found
|
||||
unset($missing[$i]);
|
||||
}
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
//get the missing count
|
||||
$i = 0;
|
||||
foreach ($missing as $row) { $i++; }
|
||||
$missing_count = $i;
|
||||
|
||||
//add the missing default settings
|
||||
if (count($missing) > 0) {
|
||||
$sql = "insert into v_default_settings (";
|
||||
$sql .= "default_setting_uuid, ";
|
||||
$sql .= "default_setting_category, ";
|
||||
$sql .= "default_setting_subcategory, ";
|
||||
$sql .= "default_setting_name, ";
|
||||
$sql .= "default_setting_value, ";
|
||||
$sql .= "default_setting_enabled, ";
|
||||
$sql .= "default_setting_description ";
|
||||
$sql .= ") values \n";
|
||||
$i = 1;
|
||||
foreach ($missing as $row) {
|
||||
$sql .= "(";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'".check_str($row['default_setting_category'])."', ";
|
||||
$sql .= "'".check_str($row['default_setting_subcategory'])."', ";
|
||||
$sql .= "'".check_str($row['default_setting_name'])."', ";
|
||||
$sql .= "'".check_str($row['default_setting_value'])."', ";
|
||||
$sql .= "'".check_str($row['default_setting_enabled'])."', ";
|
||||
$sql .= "'".check_str($row['default_setting_description'])."' ";
|
||||
$sql .= ")";
|
||||
if ($missing_count != $i) {
|
||||
$sql .= ",\n";
|
||||
|
||||
//get the missing count
|
||||
$i = 0;
|
||||
foreach ($missing as $row) { $i++; }
|
||||
$missing_count = $i;
|
||||
|
||||
//add the missing default settings
|
||||
if (count($missing) > 0) {
|
||||
$sql = "insert into v_default_settings (";
|
||||
$sql .= "default_setting_uuid, ";
|
||||
$sql .= "default_setting_category, ";
|
||||
$sql .= "default_setting_subcategory, ";
|
||||
$sql .= "default_setting_name, ";
|
||||
$sql .= "default_setting_value, ";
|
||||
$sql .= "default_setting_enabled, ";
|
||||
$sql .= "default_setting_description ";
|
||||
$sql .= ") values \n";
|
||||
$i = 1;
|
||||
foreach ($missing as $row) {
|
||||
$sql .= "(";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'".check_str($row['default_setting_category'])."', ";
|
||||
$sql .= "'".check_str($row['default_setting_subcategory'])."', ";
|
||||
$sql .= "'".check_str($row['default_setting_name'])."', ";
|
||||
$sql .= "'".check_str($row['default_setting_value'])."', ";
|
||||
$sql .= "'".check_str($row['default_setting_enabled'])."', ";
|
||||
$sql .= "'".check_str($row['default_setting_description'])."' ";
|
||||
$sql .= ")";
|
||||
if ($missing_count != $i) {
|
||||
$sql .= ",\n";
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
$db->exec(check_sql($sql));
|
||||
unset($missing);
|
||||
}
|
||||
}
|
||||
else {
|
||||
//populate the default settings into the session theme
|
||||
$_SESSION['theme'] = Array();
|
||||
foreach ($array as $index => $default_settings) {
|
||||
$sub_category = $array[$index]['default_setting_subcategory'];
|
||||
$name = $array[$index]['default_setting_name'];
|
||||
if($array[$index]['default_setting_enabled'] == 'true'){
|
||||
if($name == 'array'){
|
||||
$_SESSION['theme'][$sub_category][$array[$index]['default_setting_order']] = $array[$index]['default_setting_value'];
|
||||
}
|
||||
else {
|
||||
$_SESSION['theme'][$sub_category][$name] = $array[$index]['default_setting_value'];
|
||||
}
|
||||
}else{
|
||||
$_SESSION['theme'][$sub_category][$name] = '';
|
||||
}
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
$db->exec(check_sql($sql));
|
||||
unset($missing);
|
||||
}
|
||||
|
||||
//unset the array variable
|
||||
unset($array);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -869,6 +869,7 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false;
|
|||
box-shadow: none;
|
||||
<?php
|
||||
/* then set */
|
||||
$shadow_inset = $shadow_outset = '';
|
||||
if ($_SESSION['theme']['input_shadow_inner_color_focus']['text'] != '') {
|
||||
$inner_color = $_SESSION['theme']['input_shadow_inner_color_focus']['text'];
|
||||
$shadow_inset = "0 0 3px ".$inner_color." inset";
|
||||
|
|
@ -944,6 +945,7 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false;
|
|||
box-shadow: none;
|
||||
<?php
|
||||
/* then set */
|
||||
$shadow_inset = $shadow_outset = '';
|
||||
if ($_SESSION['theme']['login_input_shadow_inner_color_focus']['text'] != '') {
|
||||
$inner_color = $_SESSION['theme']['login_input_shadow_inner_color_focus']['text'];
|
||||
$shadow_inset = "0 0 3px ".$inner_color." inset";
|
||||
|
|
|
|||
Loading…
Reference in New Issue