Explorar el Código

Updates for PHP 8.1, misc fixes and adjustments.

fusionate hace 2 años
padre
commit
6ff03837d2

+ 24 - 20
index.php

@@ -59,19 +59,12 @@
 				file_put_contents($log_file, "unauthorized\n", FILE_APPEND);
 			}
 			openlog('FusionPBX', LOG_NDELAY, LOG_AUTH);
-			syslog(LOG_WARNING, '['.$_SERVER['REMOTE_ADDR']."] authentication failed for ".$_GET['key']);
+			syslog(LOG_WARNING, '['.$_SERVER['REMOTE_ADDR']."] authentication failed for ".($_GET['key'] ?? ''));
 			closelog();
 
 		//send http 403
 			header("HTTP/1.0 403 Forbidden");
 			echo "Forbidden\n";
-			//echo "<html>\n";
-			//echo "<head><title>403 Forbidden/title></head>\n";
-			//echo "<body bgcolor=\"white\">\n";
-			//echo "<center><h1>403 Forbidden</h1></center>\n";
-			//echo "<hr><center>nginx/1.12.1</center>\n";
-			//echo "</body>\n";
-			//echo "</html>\n";
 			exit();
 	}
 
@@ -117,7 +110,7 @@
 		$message_type = strtolower($setting['message_type']);
 	}
 	else {
-		$message_type = is_array($message_media_array) ? 'mms' : 'sms';
+		$message_type = !empty($message_media_array) && is_array($message_media_array) ? 'mms' : 'sms';
 	}
 
 //get the raw input data
@@ -174,8 +167,8 @@
 	//	file_put_contents($log_file, print_r($message, true)."\n", FILE_APPEND);
 	//}
 
-//get the content location for the destinaion numer
-	$message_to = $setting['content']['message_to'];
+//get the content location for the destination number
+	$message_to = $setting['content']['message_to'] ?? null;
 
 //debug info
 	if ($debug) {
@@ -259,19 +252,19 @@ if (count($message_content) == 3) {
 		$message_from = get_value($message, $setting['message_from']);
 		$message_to = get_value($message, $setting['message_to']);
 		$message_content = get_value($message, $setting['message_content']);
-		$message_media_array = get_value($message, $setting['message_media_array']);
+		$message_media_array = !empty($setting['message_media_array']) ? get_value($message, $setting['message_media_array']) : null;
 	}
 	if ($content_type == 'post') {
 		$message_from = $_POST[$setting['message_from']];
 		$message_to = $_POST[$setting['message_to']];
 		$message_content = $_POST[$setting['message_content']];
-		$message_media_array = $_POST[$setting['message_media_array']];
+		$message_media_array = !empty($setting['message_media_array']) ? $_POST[$setting['message_media_array']] : null;
 	}
 	if ($content_type == 'get') {
 		$message_from = $_GET[$setting['message_from']];
 		$message_to = $_GET[$setting['message_to']];
 		$message_content = $_GET[$setting['message_content']];
-		$message_media_array = $_GET[$setting['message_media_array']];
+		$message_media_array = !empty($setting['message_media_array']) ? $_POST[$setting['message_media_array']] : null;
 	}
 
 //message to is an array get first number in the array
@@ -339,7 +332,7 @@ if (count($message_content) == 3) {
 */
 
 //set the hostname if it wasn't provided
-	$hostname = system('hostname');
+	$hostname = gethostname();
 
 //get the source phone number
 	$destination_number = preg_replace('{[\D]}', '', $message_to);
@@ -360,7 +353,6 @@ if (count($message_content) == 3) {
 	$parameters['destination_number'] = $destination_number;
 	if ($debug) {
 		file_put_contents($log_file, "sql: ".$sql."\n", FILE_APPEND);
-		echo $sql."\n";
 		file_put_contents($log_file, print_r($parameters, true)."\n", FILE_APPEND);
 	}
 	$database = new database;
@@ -505,19 +497,19 @@ if (count($message_content) == 3) {
 		}
 
 		//get the media type from the URL
-		if (!isset($message_media_type)) {
+		if (!isset($message_media_type) && !empty($message_media_url)) {
 			$message_media_type = pathinfo($message_media_url, PATHINFO_EXTENSION);
 		}
 
 		//get the file extension
-		if (strlen($message_media_type) > 0) {
+		if (!empty($message_media_type)) {
 			if ($message_media_type == 'image/jpeg') { $message_media_type = 'jpg'; }
 			if ($message_media_type == 'image/png') { $message_media_type = 'png'; }
 			if ($message_media_type == 'image/gif') { $message_media_type = 'gif'; }
 		}
 
 		//build the array for the media
-		if (strlen($message_media_url) > 0 && $message_media_type !== 'xml') {
+		if (!empty($message_media_url) && strlen($message_media_url) > 0 && $message_media_type !== 'xml') {
 			$index = 0;
 			$array['message_media'][$index]['message_media_uuid'] = uuid();
 			$array['message_media'][$index]['message_uuid'] = $message_uuid;
@@ -628,4 +620,16 @@ if (count($message_content) == 3) {
 	//file_put_contents($file, $json."\n");
 	//file_put_contents($file, $array_json."\nfrom: ".$message["from"]." to: ".$message["to"]." text: ".$message["text"]."\n$sql_test\njson: ".$json."\n".$saved_result."\n");
 
-?>
+//send response to provider, if defined
+	foreach ($provider_settings as $row) {
+		if ($row['provider_setting_subcategory'] == 'response' && $row['provider_setting_name'] == 'message_content' && !empty($row['provider_setting_value'])) {
+			$message_content = $row['provider_setting_value'];
+			if ($debug) {
+				file_put_contents($log_file, "Response...\n".$row['provider_setting_value']."\n\n", FILE_APPEND);
+			}
+			echo $row['provider_setting_value'];
+			break;
+		}
+	}
+
+?>

+ 2 - 2
messages.php

@@ -283,8 +283,8 @@
 
 	echo "	div.messages {\n";
 	echo "		grid-area: messages;\n";
-	echo "		border-top: 1px dashed #ccc;\n";
-	echo "		border-bottom: 1px dashed #ccc;\n";
+// 	echo "		border-top: 1px dashed #ccc;\n";
+// 	echo "		border-bottom: 1px dashed #ccc;\n";
 	echo "		}\n";
 
 	echo "	div.send {\n";

+ 1 - 1
messages_contacts.php

@@ -262,7 +262,7 @@
 	echo "\n";
 
 	echo "	.row_style1 {\n";
-	echo "		border-bottom: 1px dashed ".($_SESSION['theme']['table_row_border_color']['text'] ?? '#c5d1e5').";\n";
+	echo "		border-bottom: 1px solid ".($_SESSION['theme']['table_row_border_color']['text'] ?? '#c5d1e5').";\n";
 	echo "		border-radius: 4px;\n";
 	echo "		color: ".($_SESSION['theme']['body_text_color']['text'] ?? '#5f5f5f').";\n";
 	echo "		font-family: ".($_SESSION['theme']['body_text_font']['text'] ?? 'arial').";\n";

+ 3 - 3
resources/service/message_queue.php

@@ -81,7 +81,7 @@
 //create the process id file if the process doesn't exist
 	if (!$pid_exists) {
 		//remove the old pid file
-		if (file_exists($file)) {
+		if (file_exists($pid_file)) {
 			unlink($pid_file);
 		}
 
@@ -92,7 +92,7 @@
 		file_put_contents($pid_file, getmypid());
 	}
 
-//get the messages waiting in the email queue
+//get the messages waiting in the queue
 	while (true) {
 
 		//get the messages that are waiting to send
@@ -159,7 +159,7 @@
 	}
 
 //remove the old pid file
-	if (file_exists($file)) {
+	if (file_exists($pid_file)) {
 		unlink($pid_file);
 	}
 

+ 1 - 1
resources/service/message_send_inbound.php

@@ -184,7 +184,7 @@
 			$event .= "type: text/plain\n";
 			$event .= "hint: the hint\n";
 			$event .= "replying: true\n";
-			$event .= "sip_profile: ".$sip_profile."\n";
+			$event .= "sip_profile: ".($sip_profile ?? '')."\n";
 			$event .= "_body: ". $message_text;
 			event_socket_request($fp, $event);
 			unset($event);

+ 13 - 12
resources/service/message_send_outbound.php

@@ -262,23 +262,23 @@
 	foreach ($provider_settings as $row) {
 		if ($row['provider_setting_subcategory'] == 'content') {
 			if ($row['provider_setting_name'] == 'message_from') {
-				$outbound_array = build_array($outbound_array, $row['provider_setting_value'], $message_from);
+				$outbound_array = build_array($outbound_array ?? [], $row['provider_setting_value'], $message_from);
 			}
 			if ($row['provider_setting_name'] == 'message_to') {
 				if ($row['provider_setting_type'] == 'array') {
 					//send the message to as an array
-					$outbound_array = build_array($outbound_array, $row['provider_setting_value'], explode(",", $message_to));
+					$outbound_array = build_array($outbound_array ?? [], $row['provider_setting_value'], explode(",", $message_to));
 				}
 				else {
 					//sent the message to as text
-					$outbound_array = build_array($outbound_array, $row['provider_setting_value'], $message_to);
+					$outbound_array = build_array($outbound_array ?? [], $row['provider_setting_value'], $message_to);
 				}
 			}
 			if ($row['provider_setting_name'] == 'message_content') {
-				$outbound_array = build_array($outbound_array, $row['provider_setting_value'], $message_text);
+				$outbound_array = build_array($outbound_array ?? [], $row['provider_setting_value'], $message_text);
 			}
 			if ($row['provider_setting_name'] == 'message_other') {
-				$outbound_array = build_array($outbound_array, explode('=', $row['provider_setting_value'])[0], explode('=', $row['provider_setting_value'])[1]);
+				$outbound_array = build_array($outbound_array ?? [], explode('=', $row['provider_setting_value'])[0], explode('=', $row['provider_setting_value'])[1]);
 			}
 
 			if (is_array($message_media) && @sizeof($message_media) != 0) {
@@ -287,16 +287,16 @@
 				if ($row['provider_setting_name'] == 'message_media_other') {
 					//echo __line__."\n";
 					//echo "key".explode('=', $row['provider_setting_value'])[0]." value ".explode('=', $row['provider_setting_value'])[1]."\n";
-					$outbound_array = build_array($outbound_array, explode('=', $row['provider_setting_value'])[0], explode('=', $row['provider_setting_value'])[1]);
+					$outbound_array = build_array($outbound_array ?? [], explode('=', $row['provider_setting_value'])[0], explode('=', $row['provider_setting_value'])[1]);
 				}
 				foreach($message_media as $index => $media) {
 					if ($row['provider_setting_name'] == 'message_media_url') {
 						//$media['message_media_uuid']
 						//$media['message_media_type']
-						//$outbound_array = build_array($outbound_array, $message_content, 'message_content');
-						//$outbound_array = build_array($outbound_array, 'message_content', $message_text);
-						//$outbound_array = build_array($outbound_array, $row['provider_setting_value'], urldecode($media['message_media_url']));
-						$outbound_array = build_array($outbound_array, $row['provider_setting_value'].".".$index, urldecode($media['message_media_url']));
+						//$outbound_array = build_array($outbound_array ?? [], $message_content, 'message_content');
+						//$outbound_array = build_array($outbound_array ?? [], 'message_content', $message_text);
+						//$outbound_array = build_array($outbound_array ?? [], $row['provider_setting_value'], urldecode($media['message_media_url']));
+						$outbound_array = build_array($outbound_array ?? [], $row['provider_setting_value'].".".$index, urldecode($media['message_media_url']));
 					}
 				}
 			}
@@ -309,8 +309,8 @@
 			//$value = str_replace("message_to", $message_to, $value);
 			//$value = str_replace("message_content", $message_text, $value);
 
-			//$outbound_array = build_array($outbound_array, $row['provider_setting_subcategory'], $value);
-			//$outbound_array = build_array($outbound_array, $row['provider_setting_name'], $value);
+			//$outbound_array = build_array($outbound_array ?? [], $row['provider_setting_subcategory'], $value);
+			//$outbound_array = build_array($outbound_array ?? [], $row['provider_setting_name'], $value);
 		}
 	}
 
@@ -355,6 +355,7 @@
 
 		//build the query string
 		$x = 0;
+		$query_string = '';
 		foreach ($outbound_array as $key => $value) {
 			if ($x != 0) { $query_string .= '&'; }
 			$query_string .= $key.'='. urlencode($value);