Răsfoiți Sursa

Use one database connection

FusionPBX 4 luni în urmă
părinte
comite
a11bbca297
3 a modificat fișierele cu 219 adăugiri și 218 ștergeri
  1. 5 4
      device_log_edit.php
  2. 5 4
      device_logs.php
  3. 209 210
      resources/classes/device_logs.php

+ 5 - 4
device_log_edit.php

@@ -1,14 +1,14 @@
 <?php
 /*
 	Copyright (c) 2019-2023 Mark J Crane <[email protected]>
-	
+
 	Redistribution and use in source and binary forms, with or without
 	modification, are permitted provided that the following conditions
 	are met:
 
 		1. Redistributions of source code must retain the above copyright
 		notice, this list of conditions and the following disclaimer.
-	
+
 		2. Redistributions in binary form must reproduce the above copyright
 		notice, this list of conditions and the following disclaimer in the
 		documentation and/or other materials provided with the distribution.
@@ -43,6 +43,9 @@
 	$language = new text;
 	$text = $language->get();
 
+//connect to the database
+	$database = new database;
+
 //action add or update
 	if (!empty($_REQUEST["id"]) && is_uuid($_REQUEST["id"])) {
 		$action = "update";
@@ -153,7 +156,6 @@
 			$array['device_logs'][0]['http_content_body'] = $http_content_body;
 
 		//save the data
-			$database = new database;
 			$database->app_name = 'device logs';
 			$database->app_uuid = '78b1e5c7-5028-43e7-a05b-a36b44f87087';
 			$database->save($array);
@@ -181,7 +183,6 @@
 		//$sql .= "and domain_uuid = :domain_uuid ";
 		//$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
 		$parameters['device_log_uuid'] = $device_log_uuid;
-		$database = new database;
 		$row = $database->select($sql, $parameters, 'row');
 		if (is_array($row) && sizeof($row) != 0) {
 			$device_uuid = $row["device_uuid"];

+ 5 - 4
device_logs.php

@@ -1,14 +1,14 @@
 <?php
 /*
 	Copyright (c) 2019-2023 Mark J Crane <[email protected]>
-	
+
 	Redistribution and use in source and binary forms, with or without
 	modification, are permitted provided that the following conditions
 	are met:
 
 		1. Redistributions of source code must retain the above copyright
 		notice, this list of conditions and the following disclaimer.
-	
+
 		2. Redistributions in binary form must reproduce the above copyright
 		notice, this list of conditions and the following disclaimer in the
 		documentation and/or other materials provided with the distribution.
@@ -44,6 +44,9 @@
 	$language = new text;
 	$text = $language->get();
 
+//connect to the database
+	$database = new database;
+
 //set additional variables
 	$search = $_GET["search"] ?? '';
 	$show = $_GET["show"] ?? '';
@@ -128,7 +131,6 @@
 		$sql .= ") ";
 		$parameters['search'] = '%'.$search.'%';
 	}
-	$database = new database;
 	$num_rows = $database->select($sql, $parameters, 'column');
 
 //prepare to page the results
@@ -187,7 +189,6 @@
 	$parameters['time_zone'] = $time_zone;
 	$sql .= order_by($order_by, $order, 'timestamp', 'desc');
 	$sql .= limit_offset($rows_per_page, $offset);
-	$database = new database;
 	$device_logs = $database->select($sql, $parameters, 'all');
 	unset($sql, $parameters);
 

+ 209 - 210
resources/classes/device_logs.php

@@ -33,233 +33,232 @@
  * @method null toggle
  * @method null copy
  */
-if (!class_exists('device_logs')) {
-	class device_logs {
-
-		/**
-		* declare the variables
-		*/
-		private $app_name;
-		private $app_uuid;
-		private $name;
-		private $table;
-		private $toggle_field;
-		private $toggle_values;
-		private $location;
-
-		/**
-		 * called when the object is created
-		 */
-		public function __construct() {
-			//assign the variables
-				$this->app_name = 'device_logs';
-				$this->app_uuid = '78b1e5c7-5028-43e7-a05b-a36b44f87087';
-				$this->name = 'device_log';
-				$this->table = 'device_logs';
-				$this->toggle_field = '';
-				$this->toggle_values = ['true','false'];
-				$this->location = 'device_logs.php';
-		}
-
-		/**
-		 * called when there are no references to a particular object
-		 * unset the variables used in the class
-		 */
-		public function __destruct() {
-			foreach ($this as $key => $value) {
-				unset($this->$key);
-			}
-		}
 
-		/**
-		 * delete rows from the database
-		 */
-		public function delete($records) {
-			if (permission_exists($this->name.'_delete')) {
-
-				//add multi-lingual support
-					$language = new text;
-					$text = $language->get();
-
-				//validate the token
-					$token = new token;
-					if (!$token->validate($_SERVER['PHP_SELF'])) {
-						message::add($text['message-invalid_token'],'negative');
-						header('Location: '.$this->location);
-						exit;
-					}
-
-				//delete multiple records
-					if (is_array($records) && @sizeof($records) != 0) {
-						//build the delete array
-							$x = 0;
-							foreach ($records as $record) {
-								//add to the array
-									if (isset($record['checked']) && $record['checked'] == 'true' && is_uuid($record['uuid'])) {
-										$array[$this->table][$x][$this->name.'_uuid'] = $record['uuid'];
-										$array[$this->table][$x]['domain_uuid'] = $_SESSION['domain_uuid'];
-									}
-
-								//increment the id
-									$x++;
-							}
+class device_logs {
+
+	/**
+	* declare the variables
+	*/
+	private $app_name;
+	private $app_uuid;
+	private $name;
+	private $table;
+	private $toggle_field;
+	private $toggle_values;
+	private $location;
+
+	/**
+	 * called when the object is created
+	 */
+	public function __construct() {
+		//assign the variables
+			$this->app_name = 'device_logs';
+			$this->app_uuid = '78b1e5c7-5028-43e7-a05b-a36b44f87087';
+			$this->name = 'device_log';
+			$this->table = 'device_logs';
+			$this->toggle_field = '';
+			$this->toggle_values = ['true','false'];
+			$this->location = 'device_logs.php';
+	}
 
-						//delete the checked rows
-							if (is_array($array) && @sizeof($array) != 0) {
-								//execute delete
-									$database = new database;
-									$database->app_name = $this->app_name;
-									$database->app_uuid = $this->app_uuid;
-									$database->delete($array);
-									unset($array);
-
-								//set message
-									message::add($text['message-delete']);
-							}
-							unset($records);
-					}
-			}
+	/**
+	 * called when there are no references to a particular object
+	 * unset the variables used in the class
+	 */
+	public function __destruct() {
+		foreach ($this as $key => $value) {
+			unset($this->$key);
 		}
+	}
 
-		/**
-		 * toggle a field between two values
-		 */
-		public function toggle($records) {
-			if (permission_exists($this->name.'_edit')) {
-
-				//add multi-lingual support
-					$language = new text;
-					$text = $language->get();
-
-				//validate the token
-					$token = new token;
-					if (!$token->validate($_SERVER['PHP_SELF'])) {
-						message::add($text['message-invalid_token'],'negative');
-						header('Location: '.$this->location);
-						exit;
-					}
-
-				//toggle the checked records
-					if (is_array($records) && @sizeof($records) != 0) {
-						//get current toggle state
-							foreach($records as $record) {
-								if ($record['checked'] == 'true' && is_uuid($record['uuid'])) {
-									$uuids[] = "'".$record['uuid']."'";
+	/**
+	 * delete rows from the database
+	 */
+	public function delete($records) {
+		if (permission_exists($this->name.'_delete')) {
+
+			//add multi-lingual support
+				$language = new text;
+				$text = $language->get();
+
+			//validate the token
+				$token = new token;
+				if (!$token->validate($_SERVER['PHP_SELF'])) {
+					message::add($text['message-invalid_token'],'negative');
+					header('Location: '.$this->location);
+					exit;
+				}
+
+			//delete multiple records
+				if (is_array($records) && @sizeof($records) != 0) {
+					//build the delete array
+						$x = 0;
+						foreach ($records as $record) {
+							//add to the array
+								if (isset($record['checked']) && $record['checked'] == 'true' && is_uuid($record['uuid'])) {
+									$array[$this->table][$x][$this->name.'_uuid'] = $record['uuid'];
+									$array[$this->table][$x]['domain_uuid'] = $_SESSION['domain_uuid'];
 								}
-							}
-							if (is_array($uuids) && @sizeof($uuids) != 0) {
-								$sql = "select ".$this->name."_uuid as uuid, ".$this->toggle_field." as toggle from v_".$this->table." ";
-								$sql .= "where ".$this->name."_uuid in (".implode(', ', $uuids).") ";
-								$sql .= "and (domain_uuid = :domain_uuid or domain_uuid is null) ";
-								$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
-								$database = new database;
-								$rows = $database->select($sql, $parameters, 'all');
-								if (is_array($rows) && @sizeof($rows) != 0) {
-									foreach ($rows as $row) {
-										$states[$row['uuid']] = $row['toggle'];
-									}
-								}
-								unset($sql, $parameters, $rows, $row);
-							}
-
-						//build update array
-							$x = 0;
-							foreach($states as $uuid => $state) {
-								//create the array
-									$array[$this->table][$x][$this->name.'_uuid'] = $uuid;
-									$array[$this->table][$x][$this->toggle_field] = $state == $this->toggle_values[0] ? $this->toggle_values[1] : $this->toggle_values[0];
 
-								//increment the id
-									$x++;
-							}
+							//increment the id
+								$x++;
+						}
 
-						//save the changes
-							if (is_array($array) && @sizeof($array) != 0) {
-								//save the array
-									$database = new database;
-									$database->app_name = $this->app_name;
-									$database->app_uuid = $this->app_uuid;
-									$database->save($array);
-									unset($array);
-
-								//set message
-									message::add($text['message-toggle']);
-							}
-							unset($records, $states);
-					}
-			}
+					//delete the checked rows
+						if (is_array($array) && @sizeof($array) != 0) {
+							//execute delete
+								$database = new database;
+								$database->app_name = $this->app_name;
+								$database->app_uuid = $this->app_uuid;
+								$database->delete($array);
+								unset($array);
+
+							//set message
+								message::add($text['message-delete']);
+						}
+						unset($records);
+				}
 		}
+	}
 
-		/**
-		 * copy rows from the database
-		 */
-		public function copy($records) {
-			if (permission_exists($this->name.'_add')) {
-
-				//add multi-lingual support
-					$language = new text;
-					$text = $language->get();
-
-				//validate the token
-					$token = new token;
-					if (!$token->validate($_SERVER['PHP_SELF'])) {
-						message::add($text['message-invalid_token'],'negative');
-						header('Location: '.$this->location);
-						exit;
-					}
-
-				//copy the checked records
-					if (is_array($records) && @sizeof($records) != 0) {
-
-						//get checked records
-							foreach($records as $record) {
-								if ($record['checked'] == 'true' && is_uuid($record['uuid'])) {
-									$uuids[] = "'".$record['uuid']."'";
+	/**
+	 * toggle a field between two values
+	 */
+	public function toggle($records) {
+		if (permission_exists($this->name.'_edit')) {
+
+			//add multi-lingual support
+				$language = new text;
+				$text = $language->get();
+
+			//validate the token
+				$token = new token;
+				if (!$token->validate($_SERVER['PHP_SELF'])) {
+					message::add($text['message-invalid_token'],'negative');
+					header('Location: '.$this->location);
+					exit;
+				}
+
+			//toggle the checked records
+				if (is_array($records) && @sizeof($records) != 0) {
+					//get current toggle state
+						foreach($records as $record) {
+							if ($record['checked'] == 'true' && is_uuid($record['uuid'])) {
+								$uuids[] = "'".$record['uuid']."'";
+							}
+						}
+						if (is_array($uuids) && @sizeof($uuids) != 0) {
+							$sql = "select ".$this->name."_uuid as uuid, ".$this->toggle_field." as toggle from v_".$this->table." ";
+							$sql .= "where ".$this->name."_uuid in (".implode(', ', $uuids).") ";
+							$sql .= "and (domain_uuid = :domain_uuid or domain_uuid is null) ";
+							$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
+							$database = new database;
+							$rows = $database->select($sql, $parameters, 'all');
+							if (is_array($rows) && @sizeof($rows) != 0) {
+								foreach ($rows as $row) {
+									$states[$row['uuid']] = $row['toggle'];
 								}
 							}
-
-						//create the array from existing data
-							if (is_array($uuids) && @sizeof($uuids) != 0) {
-								$sql = "select * from v_".$this->table." ";
-								$sql .= "where ".$this->name."_uuid in (".implode(', ', $uuids).") ";
-								$sql .= "and (domain_uuid = :domain_uuid or domain_uuid is null) ";
-								$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
+							unset($sql, $parameters, $rows, $row);
+						}
+
+					//build update array
+						$x = 0;
+						foreach($states as $uuid => $state) {
+							//create the array
+								$array[$this->table][$x][$this->name.'_uuid'] = $uuid;
+								$array[$this->table][$x][$this->toggle_field] = $state == $this->toggle_values[0] ? $this->toggle_values[1] : $this->toggle_values[0];
+
+							//increment the id
+								$x++;
+						}
+
+					//save the changes
+						if (is_array($array) && @sizeof($array) != 0) {
+							//save the array
 								$database = new database;
-								$rows = $database->select($sql, $parameters, 'all');
-								if (is_array($rows) && @sizeof($rows) != 0) {
-									$x = 0;
-									foreach ($rows as $row) {
-										//copy data
-											$array[$this->table][$x] = $row;
-
-										//add copy to the description
-											$array[$this->table][$x][$this->name.'_uuid'] = uuid();
-
-										//increment the id
-											$x++;
-									}
+								$database->app_name = $this->app_name;
+								$database->app_uuid = $this->app_uuid;
+								$database->save($array);
+								unset($array);
+
+							//set message
+								message::add($text['message-toggle']);
+						}
+						unset($records, $states);
+				}
+		}
+	}
+
+	/**
+	 * copy rows from the database
+	 */
+	public function copy($records) {
+		if (permission_exists($this->name.'_add')) {
+
+			//add multi-lingual support
+				$language = new text;
+				$text = $language->get();
+
+			//validate the token
+				$token = new token;
+				if (!$token->validate($_SERVER['PHP_SELF'])) {
+					message::add($text['message-invalid_token'],'negative');
+					header('Location: '.$this->location);
+					exit;
+				}
+
+			//copy the checked records
+				if (is_array($records) && @sizeof($records) != 0) {
+
+					//get checked records
+						foreach($records as $record) {
+							if ($record['checked'] == 'true' && is_uuid($record['uuid'])) {
+								$uuids[] = "'".$record['uuid']."'";
+							}
+						}
+
+					//create the array from existing data
+						if (is_array($uuids) && @sizeof($uuids) != 0) {
+							$sql = "select * from v_".$this->table." ";
+							$sql .= "where ".$this->name."_uuid in (".implode(', ', $uuids).") ";
+							$sql .= "and (domain_uuid = :domain_uuid or domain_uuid is null) ";
+							$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
+							$database = new database;
+							$rows = $database->select($sql, $parameters, 'all');
+							if (is_array($rows) && @sizeof($rows) != 0) {
+								$x = 0;
+								foreach ($rows as $row) {
+									//copy data
+										$array[$this->table][$x] = $row;
+
+									//add copy to the description
+										$array[$this->table][$x][$this->name.'_uuid'] = uuid();
+
+									//increment the id
+										$x++;
 								}
-								unset($sql, $parameters, $rows, $row);
 							}
+							unset($sql, $parameters, $rows, $row);
+						}
 
-						//save the changes and set the message
-							if (is_array($array) && @sizeof($array) != 0) {
-								//save the array
-									$database = new database;
-									$database->app_name = $this->app_name;
-									$database->app_uuid = $this->app_uuid;
-									$database->save($array);
-									unset($array);
-
-								//set message
-									message::add($text['message-copy']);
-							}
-							unset($records);
-					}
-			}
+					//save the changes and set the message
+						if (is_array($array) && @sizeof($array) != 0) {
+							//save the array
+								$database = new database;
+								$database->app_name = $this->app_name;
+								$database->app_uuid = $this->app_uuid;
+								$database->save($array);
+								unset($array);
+
+							//set message
+								message::add($text['message-copy']);
+						}
+						unset($records);
+				}
 		}
-
 	}
+
 }
 
 ?>