Enhanced Theme: Missing Theme items in Default Settings are now detected and restored individually by enhanced/app_defaults.php. No need to delete all Theme settings to have them restored by App Defaults on Upgrade page.

This commit is contained in:
Nate Jones
2014-08-17 05:03:50 +00:00
parent fe40c4ede9
commit ab606cfe4e

View File

@@ -26,84 +26,113 @@
if ($domains_processed == 1) {
//add theme settings default settings
//define array of settings
$x = 0;
$array[$x]['default_setting_category'] = 'theme';
$array[$x]['default_setting_subcategory'] = 'background_image';
$array[$x]['default_setting_name'] = 'text';
$array[$x]['default_setting_value'] = '';
$array[$x]['default_setting_enabled'] = 'false';
$array[$x]['default_setting_description'] = 'Specify a folder path or file path/url to enable background image(s) within a selected compatible template.';
$x++;
$array[$x]['default_setting_category'] = 'theme';
$array[$x]['default_setting_subcategory'] = 'background_color';
$array[$x]['default_setting_name'] = 'array';
$array[$x]['default_setting_value'] = '#ffffff';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_order'] = '0';
$array[$x]['default_setting_description'] = 'Set a background (HTML compatible) color.';
$x++;
$array[$x]['default_setting_category'] = 'theme';
$array[$x]['default_setting_subcategory'] = 'login_opacity';
$array[$x]['default_setting_name'] = 'text';
$array[$x]['default_setting_value'] = '0.35';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = 'Set the opacity of the login box (decimal).';
$x++;
$array[$x]['default_setting_category'] = 'theme';
$array[$x]['default_setting_subcategory'] = 'login_background_color';
$array[$x]['default_setting_name'] = 'text';
$array[$x]['default_setting_value'] = '#ffffff';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = 'Set a background color (HTML compatible) for the login box.';
$x++;
$array[$x]['default_setting_category'] = 'theme';
$array[$x]['default_setting_subcategory'] = 'footer_background_color';
$array[$x]['default_setting_name'] = 'text';
$array[$x]['default_setting_value'] = '#000000';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = 'Set a background color (HTML compatible) for the footer bar.';
$x++;
$array[$x]['default_setting_category'] = 'theme';
$array[$x]['default_setting_subcategory'] = 'footer_color';
$array[$x]['default_setting_name'] = 'text';
$array[$x]['default_setting_value'] = '#ffffff';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = 'Set a foreground color (HTML compatible) for the footer bar.';
$x++;
$array[$x]['default_setting_category'] = 'theme';
$array[$x]['default_setting_subcategory'] = 'footer_opacity';
$array[$x]['default_setting_name'] = 'text';
$array[$x]['default_setting_value'] = '0.2';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = 'Set the opacity of the footer bar (decimal).';
//iterate and add each, if necessary
foreach ($array as $index => $default_settings) {
//add theme default settings
$sql = "select count(*) as num_rows from v_default_settings ";
$sql .= "where default_setting_category = 'theme' ";
$sql .= "and default_setting_subcategory = '".$default_settings['default_setting_subcategory']."' ";
$prep_statement = $db->prepare($sql);
if ($prep_statement) {
$prep_statement->execute();
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
unset($prep_statement);
if ($row['num_rows'] == 0) {
$orm = new orm;
$orm->name('default_settings');
$orm->save($array[$index]);
$message = $orm->message;
//print_r($message);
}
unset($row);
}
}
//define secondary background color array
unset($array);
$x = 0;
$array[$x]['default_setting_category'] = 'theme';
$array[$x]['default_setting_subcategory'] = 'background_color';
$array[$x]['default_setting_name'] = 'array';
$array[$x]['default_setting_value'] = '#f0f2f6';
$array[$x]['default_setting_order'] = '1';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = 'Set a secondary background (HTML compatible) color, for a gradient effect.';
//add secondary background color separately, if missing
$sql = "select count(*) as num_rows from v_default_settings ";
$sql .= "where default_setting_category = 'theme' ";
$sql .= "and default_setting_subcategory = 'background_color' ";
$prep_statement = $db->prepare($sql);
if ($prep_statement) {
$prep_statement->execute();
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
unset($prep_statement);
if ($row['num_rows'] == 0) {
$x = 0;
$array[$x]['default_setting_category'] = 'theme';
$array[$x]['default_setting_subcategory'] = 'background_image';
$array[$x]['default_setting_name'] = 'text';
$array[$x]['default_setting_value'] = '';
$array[$x]['default_setting_enabled'] = 'false';
$array[$x]['default_setting_description'] = 'Specify a folder path or file path/url to enable background image(s) within a selected compatible template.';
$x++;
$array[$x]['default_setting_category'] = 'theme';
$array[$x]['default_setting_subcategory'] = 'background_color';
$array[$x]['default_setting_name'] = 'array';
$array[$x]['default_setting_value'] = '#ffffff';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_order'] = '0';
$array[$x]['default_setting_description'] = 'Set a background (HTML compatible) color.';
$x++;
$array[$x]['default_setting_category'] = 'theme';
$array[$x]['default_setting_subcategory'] = 'background_color';
$array[$x]['default_setting_name'] = 'array';
$array[$x]['default_setting_value'] = '#f0f2f6';
$array[$x]['default_setting_order'] = '1';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = 'Set a secondary background (HTML compatible) color, for a gradient effect.';
$x++;
$array[$x]['default_setting_category'] = 'theme';
$array[$x]['default_setting_subcategory'] = 'login_opacity';
$array[$x]['default_setting_name'] = 'text';
$array[$x]['default_setting_value'] = '0.35';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = 'Set the opacity of the login box (decimal).';
$x++;
$array[$x]['default_setting_category'] = 'theme';
$array[$x]['default_setting_subcategory'] = 'login_background_color';
$array[$x]['default_setting_name'] = 'text';
$array[$x]['default_setting_value'] = '#ffffff';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = 'Set a background color (HTML compatible) for the login box.';
$x++;
$array[$x]['default_setting_category'] = 'theme';
$array[$x]['default_setting_subcategory'] = 'footer_background_color';
$array[$x]['default_setting_name'] = 'text';
$array[$x]['default_setting_value'] = '#000000';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = 'Set a background color (HTML compatible) for the footer bar.';
$x++;
$array[$x]['default_setting_category'] = 'theme';
$array[$x]['default_setting_subcategory'] = 'footer_color';
$array[$x]['default_setting_name'] = 'text';
$array[$x]['default_setting_value'] = '#ffffff';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = 'Set a foreground color (HTML compatible) for the footer bar.';
$x++;
$array[$x]['default_setting_category'] = 'theme';
$array[$x]['default_setting_subcategory'] = 'footer_opacity';
$array[$x]['default_setting_name'] = 'text';
$array[$x]['default_setting_value'] = '0.2';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = 'Set the opacity of the footer bar (decimal).';
$x++;
if ($row['num_rows'] == 1) {
$orm = new orm;
$orm->name('default_settings');
foreach ($array as $index => $null) {
$orm->save($array[$index]);
}
$orm->save($array[0]);
$message = $orm->message;
//print_r($message);
}
unset($row);
}
}
?>