Browse Source

Update themes/app_defaults to reduce database selects.

markjcrane 9 years ago
parent
commit
1b362cfa6a
1 changed files with 34 additions and 33 deletions
  1. 34 33
      themes/default/app_defaults.php

+ 34 - 33
themes/default/app_defaults.php

@@ -17,7 +17,7 @@
 
 	The Initial Developer of the Original Code is
 	Mark J Crane <[email protected]>
-	Portions created by the Initial Developer are Copyright (C) 2008-2015
+	Portions created by the Initial Developer are Copyright (C) 2008-2016
 	the Initial Developer. All Rights Reserved.
 
 	Contributor(s):
@@ -102,14 +102,14 @@ if ($domains_processed == 1) {
 		$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'] = 'false';
+		$array[$x]['default_setting_value'] = 'rgba(0,0,0,0.1)';
+		$array[$x]['default_setting_enabled'] = 'true';
 		$array[$x]['default_setting_description'] = 'Set the background color (and opacity) 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_value'] = 'rgba(255,255,255,0.1)';
 		$array[$x]['default_setting_enabled'] = 'false';
 		$array[$x]['default_setting_description'] = 'Set the text color (and opacity) for the footer bar.';
 		$x++;
@@ -303,39 +303,40 @@ if ($domains_processed == 1) {
 		$array[$x]['default_setting_enabled'] = 'false';
 		$array[$x]['default_setting_description'] = 'Set the hover text color (and opacity) of sub menu items.';
 
-		if($set_session_theme){
-			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'){
-					$_SESSION['theme'][$sub_category][$name] = $array[$index]['default_setting_value'];
-				}else{
-					$_SESSION['theme'][$sub_category][$name] = '';
+	//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
+		$x = 0;
+		foreach ($array as $setting) {
+			$found = false;
+			$missing[$x] = $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[$x]);
 				}
 			}
+			$x++;
 		}
-		else {
-			//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;
-					}
-					unset($row);
-				}
-			}
+
+	//add the missing default settings
+		foreach ($missing as $row) {
+			//add the default settings
+			$orm = new orm;
+			$orm->name('default_settings');
+			$orm->save($row);
+			$message = $orm->message;
+			unset($orm);
+			//print_r($message);
 		}
+		unset($missing);
 
 	//unset the array variable
 		unset($array);