Explorar o código

Misc Classes: Database class integration.

Nate %!s(int64=6) %!d(string=hai) anos
pai
achega
1657ef6807

+ 30 - 38
resources/classes/ringbacks.php

@@ -29,7 +29,6 @@ if (!class_exists('ringbacks')) {
 	class ringbacks {
 	class ringbacks {
 
 
 		//define variables
 		//define variables
-		public $db;
 		public $domain_uuid;
 		public $domain_uuid;
 		private $ringtones_list;
 		private $ringtones_list;
 		private $tones_list;
 		private $tones_list;
@@ -39,14 +38,6 @@ if (!class_exists('ringbacks')) {
 		
 		
 		//class constructor
 		//class constructor
 		public function __construct() {
 		public function __construct() {
-			//connect to the database if not connected
-				if (!$this->db) {
-					require_once "resources/classes/database.php";
-					$database = new database;
-					$database->connect();
-					$this->db = $database->db;
-				}
-
 			//set the domain_uuid
 			//set the domain_uuid
 				$this->domain_uuid = $_SESSION['domain_uuid'];
 				$this->domain_uuid = $_SESSION['domain_uuid'];
 
 
@@ -58,28 +49,28 @@ if (!class_exists('ringbacks')) {
 				$sql = "select * from v_vars ";
 				$sql = "select * from v_vars ";
 				$sql .= "where var_category = 'Ringtones' ";
 				$sql .= "where var_category = 'Ringtones' ";
 				$sql .= "order by var_name asc ";
 				$sql .= "order by var_name asc ";
-				$prep_statement = $this->db->prepare(check_sql($sql));
-				$prep_statement->execute();
-				$ringtones = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-				unset ($prep_statement, $sql);
-				foreach($ringtones as $ringtone) {
-					$ringtone = $ringtone['var_name'];
-					$label = $text['label-'.$ringtone];
-					if ($label == "") {
-						$label = $ringtone;
+				$database = new database;
+				$ringtones = $database->select($sql, null, 'all');
+				if (is_array($ringtones) && @sizeof($ringtones) != 0) {
+					foreach ($ringtones as $ringtone) {
+						$ringtone = $ringtone['var_name'];
+						$label = $text['label-'.$ringtone];
+						if ($label == "") {
+							$label = $ringtone;
+						}
+						$ringtones_list[$ringtone] = $label;
 					}
 					}
-					$ringtones_list[$ringtone] = $label;
 				}
 				}
 				$this->ringtones_list = $ringtones_list;
 				$this->ringtones_list = $ringtones_list;
+				unset($sql, $ringtones, $ringtone, $ringtones_list);
 
 
 			//get the default_ringback label
 			//get the default_ringback label
 				/*
 				/*
 				$sql = "select * from v_vars where var_name = 'ringback' ";
 				$sql = "select * from v_vars where var_name = 'ringback' ";
-				$prep_statement = $this->db->prepare(check_sql($sql));
-				$prep_statement->execute();
-				$result = $prep_statement->fetch();
-				unset ($prep_statement, $sql);
-				$default_ringback = (string) $result['var_value'];
+				$database = new database;
+				$row = $database->select($sql, null, 'row');
+				unset($sql);
+				$default_ringback = (string) $row['var_value'];
 				$default_ringback = preg_replace('/\A\$\${/',"",$default_ringback);
 				$default_ringback = preg_replace('/\A\$\${/',"",$default_ringback);
 				$default_ringback = preg_replace('/}\z/',"",$default_ringback);
 				$default_ringback = preg_replace('/}\z/',"",$default_ringback);
 				#$label = $text['label-'.$default_ringback];
 				#$label = $text['label-'.$default_ringback];
@@ -108,7 +99,7 @@ if (!class_exists('ringbacks')) {
 				}
 				}
 		}
 		}
 
 
-		public function select ($name, $selected) {
+		public function select($name, $selected) {
 			//add multi-lingual support
 			//add multi-lingual support
 				$language = new text;
 				$language = new text;
 				$text = $language->get();
 				$text = $language->get();
@@ -120,7 +111,7 @@ if (!class_exists('ringbacks')) {
 				if (count($this->music_list) > 0) {
 				if (count($this->music_list) > 0) {
 					$select .= "	<optgroup label='".$text['label-music_on_hold']."'>\n";
 					$select .= "	<optgroup label='".$text['label-music_on_hold']."'>\n";
 					$previous_name = '';
 					$previous_name = '';
-					foreach($this->music_list as $row) {
+					foreach ($this->music_list as $row) {
 						if ($previous_name != $row['music_on_hold_name']) {
 						if ($previous_name != $row['music_on_hold_name']) {
 							$name = '';
 							$name = '';
 							if (strlen($row['domain_uuid']) > 0) {
 							if (strlen($row['domain_uuid']) > 0) {
@@ -137,8 +128,8 @@ if (!class_exists('ringbacks')) {
 			//recordings
 			//recordings
 				if (sizeof($this->recordings_list) > 0) {
 				if (sizeof($this->recordings_list) > 0) {
 					$select .= "	<optgroup label='".$text['label-recordings']."'>";
 					$select .= "	<optgroup label='".$text['label-recordings']."'>";
-					foreach($this->recordings_list as $recording_value => $recording_name){
-						$select .= "		<option value='".$recording_value."' ".(($selected == $recording_value) ? 'selected="selected"' : '').">".$recording_name."</option>\n";
+					foreach ($this->recordings_list as $recording_value => $recording_name) {
+						$select .= "		<option value='".$recording_value."' ".(($selected == $recording_value) ? 'selected="selected"' : null).">".$recording_name."</option>\n";
 					}
 					}
 					$select .= "	</optgroup>\n";
 					$select .= "	</optgroup>\n";
 				}
 				}
@@ -146,19 +137,20 @@ if (!class_exists('ringbacks')) {
 			//streams
 			//streams
 				if (is_dir($_SERVER["PROJECT_ROOT"].'/app/streams')) {
 				if (is_dir($_SERVER["PROJECT_ROOT"].'/app/streams')) {
 					$sql = "select * from v_streams ";
 					$sql = "select * from v_streams ";
-					$sql .= "where (domain_uuid = '".$this->domain_uuid."' or domain_uuid is null) ";
+					$sql .= "where (domain_uuid = :domain_uuid or domain_uuid is null) ";
 					$sql .= "and stream_enabled = 'true' ";
 					$sql .= "and stream_enabled = 'true' ";
 					$sql .= "order by stream_name asc ";
 					$sql .= "order by stream_name asc ";
-					$prep_statement = $this->db->prepare(check_sql($sql));
-					$prep_statement->execute();
-					$streams = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-					if (sizeof($streams) > 0) {
+					$parameters['domain_uuid'] = $this->domain_uuid;
+					$database = new database;
+					$streams = $database->select($sql, $parameters, 'all');
+					if (is_array($streams) && @sizeof($streams) != 0) {
 						$select .= "	<optgroup label='".$text['label-streams']."'>";
 						$select .= "	<optgroup label='".$text['label-streams']."'>";
-						foreach($streams as $row){
+						foreach ($streams as $row) {
 							$select .= "		<option value='".$row['stream_location']."' ".(($selected == $row['stream_location']) ? 'selected="selected"' : null).">".$row['stream_name']."</option>\n";
 							$select .= "		<option value='".$row['stream_location']."' ".(($selected == $row['stream_location']) ? 'selected="selected"' : null).">".$row['stream_name']."</option>\n";
 						}
 						}
 						$select .= "	</optgroup>\n";
 						$select .= "	</optgroup>\n";
 					}
 					}
+					unset($sql, $parameters, $streams, $row);
 				}
 				}
 
 
 			//ringtones
 			//ringtones
@@ -168,8 +160,8 @@ if (!class_exists('ringbacks')) {
 					$selected_ringtone = preg_replace('/}\z/',"",$selected_ringtone);
 					$selected_ringtone = preg_replace('/}\z/',"",$selected_ringtone);
 					$select .= "	<optgroup label='".$text['label-ringtones']."'>";
 					$select .= "	<optgroup label='".$text['label-ringtones']."'>";
 					//$select .= "		<option value='default_ringtones'".(($selected == "default_ringback") ? ' selected="selected"' : '').">".$text['label-default']." (".$this->default_ringtone_label.")</option>\n";
 					//$select .= "		<option value='default_ringtones'".(($selected == "default_ringback") ? ' selected="selected"' : '').">".$text['label-default']." (".$this->default_ringtone_label.")</option>\n";
-					foreach($this->ringtones_list as $ringtone_value => $ringtone_name) {
-						$select .= "		<option value='\${".$ringtone_value."}'".(($selected_ringtone == $ringtone_value) ? ' selected="selected"' : '').">".$ringtone_name."</option>\n";
+					foreach ($this->ringtones_list as $ringtone_value => $ringtone_name) {
+						$select .= "		<option value='\${".$ringtone_value."}'".(($selected_ringtone == $ringtone_value) ? ' selected="selected"' : null).">".$ringtone_name."</option>\n";
 					}
 					}
 					$select .= "	</optgroup>\n";
 					$select .= "	</optgroup>\n";
 					unset($selected_ringtone);
 					unset($selected_ringtone);
@@ -182,7 +174,7 @@ if (!class_exists('ringbacks')) {
 					$selected_tone = preg_replace('/}\z/',"",$selected_tone);
 					$selected_tone = preg_replace('/}\z/',"",$selected_tone);
 					$select .= "	<optgroup label='".$text['label-tones']."'>";
 					$select .= "	<optgroup label='".$text['label-tones']."'>";
 					foreach($this->tones_list as $tone_value => $tone_name) {
 					foreach($this->tones_list as $tone_value => $tone_name) {
-						$select .= "		<option value='\${".$tone_value."}'".(($selected_tone == $tone_value) ? ' selected="selected"' : '').">".$tone_name."</option>\n";
+						$select .= "		<option value='\${".$tone_value."}'".(($selected_tone == $tone_value) ? ' selected="selected"' : null).">".$tone_name."</option>\n";
 					}
 					}
 					$select .= "	</optgroup>\n";
 					$select .= "	</optgroup>\n";
 					unset($selected_tone);
 					unset($selected_tone);
@@ -195,4 +187,4 @@ if (!class_exists('ringbacks')) {
 	}
 	}
 }
 }
 
 
-?>
+?>

+ 26 - 35
resources/classes/switch_settings.php

@@ -8,7 +8,6 @@
 if (!class_exists('switch_settings')) {
 if (!class_exists('switch_settings')) {
 	class switch_settings {
 	class switch_settings {
 
 
-		public $db;
 		public $event_socket_ip_address;
 		public $event_socket_ip_address;
 		public $event_socket_port;
 		public $event_socket_port;
 		public $event_socket_password;
 		public $event_socket_password;
@@ -17,13 +16,7 @@ if (!class_exists('switch_settings')) {
 		 * Called when the object is created
 		 * Called when the object is created
 		 */
 		 */
 		public function __construct() {
 		public function __construct() {
-			//connect to the database if not connected
-			if (!$this->db) {
-				require_once "resources/classes/database.php";
-				$database = new database;
-				$database->connect();
-				$this->db = $database->db;
-			}
+
 		}
 		}
 
 
 		/**
 		/**
@@ -215,10 +208,9 @@ if (!class_exists('switch_settings')) {
 			//get an array of the default settings
 			//get an array of the default settings
 				$sql = "select * from v_default_settings ";
 				$sql = "select * from v_default_settings ";
 				$sql .= "where default_setting_category = 'switch' ";
 				$sql .= "where default_setting_category = 'switch' ";
-				$prep_statement = $this->db->prepare($sql);
-				$prep_statement->execute();
-				$default_settings = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-				unset ($prep_statement, $sql);
+				$database = new database;
+				$default_settings = $database->select($sql, null, 'all');
+				unset($sql);
 
 
 			//find the missing default settings
 			//find the missing default settings
 				$x = 0;
 				$x = 0;
@@ -237,32 +229,31 @@ if (!class_exists('switch_settings')) {
 
 
 			//add the missing default settings
 			//add the missing default settings
 				if (count($missing) > 0) {
 				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;
 					$i = 1;
 					foreach ($missing as $row) {
 					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 (sizeof($missing) != $i) { 
-							$sql .= ",\n";
-						}
+						//build insert array
+							$array['default_settings'][$i]['default_setting_uuid'] = uuid();
+							$array['default_settings'][$i]['default_setting_category'] = $row['default_setting_category'];
+							$array['default_settings'][$i]['default_setting_subcategory'] = $row['default_setting_subcategory'];
+							$array['default_settings'][$i]['default_setting_name'] = $row['default_setting_name'];
+							$array['default_settings'][$i]['default_setting_value'] = $row['default_setting_value'];
+							$array['default_settings'][$i]['default_setting_enabled'] = $row['default_setting_enabled'];
+							$array['default_settings'][$i]['default_setting_description'] = $row['default_setting_description'];
 						$i++;
 						$i++;
 					}
 					}
-					$this->db->exec(check_sql($sql));
+					if (is_array($array) && @sizeof($array) != 0) {
+						//grant temporary permissions
+							$p = new permissions;
+							$p->add('default_setting_add', 'temp');
+						//execute insert
+							$database = new database;
+							$database->app_name = 'switch_settings';
+							$database->app_uuid = '84e91084-a227-43cd-ae99-a0f8ed61eb8b';
+							$database->save($array);
+							unset($array);
+						//revoke temporary permissions
+							$p->delete('default_setting_add', 'temp');
+					}
 					unset($missing);
 					unset($missing);
 				}
 				}
 
 
@@ -281,4 +272,4 @@ if (!class_exists('switch_settings')) {
 	}
 	}
 }
 }
 
 
-?>
+?>

+ 1 - 1
resources/classes/template.php

@@ -98,4 +98,4 @@ include "root.php";
 		}
 		}
 	}
 	}
 
 
-?>
+?>

+ 3 - 3
resources/classes/text.php

@@ -265,7 +265,7 @@ class text {
 			$text = array();
 			$text = array();
 			$languages = array();
 			$languages = array();
 
 
-		//fetch all the languages
+		//retrieve all the languages
 			$files = glob($_SERVER["PROJECT_ROOT"] . "/*/*/app_languages.php");
 			$files = glob($_SERVER["PROJECT_ROOT"] . "/*/*/app_languages.php");
 			foreach($files as $file) {
 			foreach($files as $file) {
 				include $file;
 				include $file;
@@ -309,7 +309,7 @@ class text {
 				$language_totals[$language_code] = 0;
 				$language_totals[$language_code] = 0;
 			}
 			}
 
 
-		//fetch all the languages
+		//retrieve all the languages
 			$text = array();
 			$text = array();
 			$files = glob($_SERVER["PROJECT_ROOT"] . "/*/*/app_languages.php");
 			$files = glob($_SERVER["PROJECT_ROOT"] . "/*/*/app_languages.php");
 			foreach($files as $file) {
 			foreach($files as $file) {
@@ -327,7 +327,7 @@ class text {
 			}
 			}
 			unset($text);
 			unset($text);
 
 
-		//fetch all the menus
+		//retrieve all the menus
 			$x = 0;
 			$x = 0;
 			$files = glob($_SERVER["PROJECT_ROOT"] . "/*/*");
 			$files = glob($_SERVER["PROJECT_ROOT"] . "/*/*");
 			foreach($files as $file) {
 			foreach($files as $file) {