Browse Source

Event socket bug fix and more docs (#6823)

* Add documentation to methods. Use is_resource for added type detection

* Allow connect to specify timeout in microseconds with default 30,000

* Update calling mechanism for event sockets

* Update project for new singleton event sockets

* remove unused variable

* catch errors on closing the socket
frytimo 1 year ago
parent
commit
fa4092aa71

+ 3 - 3
core/notifications/notification_edit.php

@@ -74,9 +74,9 @@ Mark J Crane <[email protected]>
 			$web_server = $_SERVER['SERVER_SOFTWARE'];
 
 			// switch version
-			$fp = event_socket_create();
-			if ($fp) {
-				$switch_result = event_socket_request($fp, 'api version');
+			$esl = event_socket::create();
+			if ($esl->is_connected()) {
+				$switch_result = event_socket::api('version');
 			}
 			$switch_ver = trim($switch_result);
 

+ 5 - 5
core/users/user_edit.php

@@ -573,16 +573,16 @@
 
 				//update the user_status
 					if (isset($call_center_agent_uuid) && is_uuid($call_center_agent_uuid) && !empty($user_status)) {
-						$fp = event_socket_create();
+						$esl = event_socket::create();
 						$switch_cmd = "callcenter_config agent set status ".$call_center_agent_uuid." '".$user_status."'";
-						$switch_result = event_socket_request($fp, 'api '.$switch_cmd);
+						$switch_result = event_socket::api($switch_cmd);
 					}
 
 				//update the user state
 					if (isset($call_center_agent_uuid) && is_uuid($call_center_agent_uuid)) {
-						$fp = event_socket_create();
-						$cmd = "api callcenter_config agent set state ".$call_center_agent_uuid." Waiting";
-						$response = event_socket_request($fp, $cmd);
+						$esl = event_socket::create();
+						$cmd = "callcenter_config agent set state ".$call_center_agent_uuid." Waiting";
+						$response = event_socket::api($cmd);
 					}
 			}
 

+ 20 - 28
resources/classes/cache.php

@@ -30,17 +30,15 @@ class cache {
 		//save to memcache
 			if ($_SESSION['cache']['method']['text'] == "memcache") {
 				//connect to event socket
-					$fp = event_socket_create();
-					if ($fp === false) {
+					$esl = event_socket::create();
+					if ($esl === false) {
 						return false;
 					}
 
 				//run the memcache
 					$command = "memcache set ".$key." ".$value;
-					$result = event_socket_request($fp, 'api '.$command);
+					$result = event_socket::api($command);
 
-				//close event socket
-					fclose($fp);
 			}
 
 		//save to the file cache
@@ -64,8 +62,8 @@ class cache {
 		//cache method memcache 
 			if ($_SESSION['cache']['method']['text'] == "memcache") {
 				// connect to event socket
-					$fp = event_socket_create();
-					if ($fp === false) {
+					$esl = event_socket::create();
+					if (!$esl->is_connected()) {
 						return false;
 					}
 
@@ -73,10 +71,8 @@ class cache {
 
 				//run the memcache
 					$command = "memcache get ".$key;
-					$result = event_socket_request($fp, 'api '.$command);
+					$result = event_socket::api($command);
 
-				//close event socket
-					fclose($fp);
 			}
 
 		//get the file cache
@@ -106,8 +102,8 @@ class cache {
 		//cache method memcache 
 			if (!empty($_SESSION['cache']['method']['text']) && $_SESSION['cache']['method']['text'] == "memcache") {
 				//connect to event socket
-					$fp = event_socket_create();
-					if ($fp === false) {
+					$esl = event_socket::create();
+					if ($esl === false) {
 						return false;
 					}
 
@@ -117,14 +113,12 @@ class cache {
 					$event .= "Event-Subclass: fusion::memcache\n";
 					$event .= "API-Command: memcache\n";
 					$event .= "API-Command-Argument: delete ".$key."\n";
-					event_socket_request($fp, $event);
+					event_socket::command($event);
 
 				//run the memcache
 					$command = "memcache delete ".$key;
-					$result = event_socket_request($fp, 'api '.$command);
+					$result = event_socket::api($command);
 
-				//close event socket
-					fclose($fp);
 			}
 
 		//cache method file
@@ -133,8 +127,8 @@ class cache {
 					$key = str_replace(":", ".", $key);
 
 				//connect to event socket
-					$fp = event_socket_create();
-					if ($fp === false) {
+					$esl = event_socket::create();
+					if ($esl === false) {
 						return false;
 					}
 
@@ -144,7 +138,7 @@ class cache {
 					$event .= "Event-Subclass: fusion::file\n";
 					$event .= "API-Command: cache\n";
 					$event .= "API-Command-Argument: delete ".$key."\n";
-					event_socket_request($fp, $event);
+					event_socket::command($event);
 
 				//remove the local files
 					foreach (glob($_SESSION['cache']['location']['text'] . "/" . $key) as $file) {
@@ -174,8 +168,8 @@ class cache {
 		//cache method memcache 
 			if ($_SESSION['cache']['method']['text'] == "memcache") {
 				// connect to event socket
-					$fp = event_socket_create();
-					if ($fp === false) {
+					$esl = event_socket::create();
+					if ($esl === false) {
 						return false;
 					}
 
@@ -185,21 +179,19 @@ class cache {
 					$event .= "Event-Subclass: fusion::memcache\n";
 					$event .= "API-Command: memcache\n";
 					$event .= "API-Command-Argument: flush\n";
-					event_socket_request($fp, $event);
+					event_socket::command($event);
 
 				//run the memcache
 					$command = "memcache flush";
-					$result = event_socket_request($fp, 'api '.$command);
+					$result = event_socket::api($command);
 
-				//close event socket
-					fclose($fp);
 			}
 
 		//cache method file 
 			if ($_SESSION['cache']['method']['text'] == "file") {
 				// connect to event socket
-					$fp = event_socket_create();
-					if ($fp === false) {
+					$esl = event_socket::create();
+					if ($esl === false) {
 						return false;
 					}
 
@@ -209,7 +201,7 @@ class cache {
 					$event .= "Event-Subclass: fusion::file\n";
 					$event .= "API-Command: cache\n";
 					$event .= "API-Command-Argument: flush\n";
-					event_socket_request($fp, $event);
+					event_socket::command($event);
 
 				//remove the cache
 					recursive_delete($_SESSION['cache']['location']['text']);

+ 2 - 3
resources/classes/switch_settings.php

@@ -51,9 +51,8 @@ if (!class_exists('switch_settings')) {
 				}
 
 			//connect to event socket
-				$esl = new event_socket;
-				$esl->connect($this->event_socket_ip_address, $this->event_socket_port, $this->event_socket_password);
-
+				$esl = event_socket::create($this->event_socket_ip_address, $this->event_socket_port, $this->event_socket_password);
+				
 			//run the api command
 				$result = $esl->request('api global_getvar');
 

File diff suppressed because it is too large
+ 312 - 279
resources/functions.php


+ 2 - 2
resources/header.php

@@ -35,9 +35,9 @@
 			}
 			else {
 				//create the event socket connection
-					$fp = event_socket_create();
+					$esl = event_socket::create();
 				//reload the access control list this also runs reloadxml
-					$response = event_socket_request($fp, 'api reloadxml');
+					$response = event_socket::api('reloadxml');
 					$_SESSION["reload_xml"] = '';
 					unset($_SESSION["reload_xml"]);
 					usleep(500);

Some files were not shown because too many files changed in this diff