diff --git a/core/authentication/resources/classes/authentication.php b/core/authentication/resources/classes/authentication.php new file mode 100644 index 0000000000..fd4788e782 --- /dev/null +++ b/core/authentication/resources/classes/authentication.php @@ -0,0 +1,139 @@ + $value) { + unset($this->$key); + } + } + + /** + * Add a specific item in the cache + * @var string $key the cache id + * @var string $value string to be cached + */ + public function set($key, $value) { + // connect to event socket + $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); + if ($fp === false) { + return false; + } + + //send a custom event + + //run the memcache + $command = "memcache set ".$key." ".$value; + $result = event_socket_request($fp, 'api '.$command); + + //close event socket + fclose($fp); + + // return result + return $result; + } + + /** + * Get a specific item from the cache + * @var string $key cache id + */ + public function get($key) { + // connect to event socket + $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); + if ($fp === false) { + return false; + } + + //send a custom event + + //run the memcache + $command = "memcache get ".$key; + $result = event_socket_request($fp, 'api '.$command); + + //close event socket + fclose($fp); + + // return result + return $result; + } + + /** + * Delete a specific item from the cache + * @var string $key cache id + */ + public function delete($key) { + // connect to event socket + $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); + if ($fp === false) { + return false; + } + + //send a custom event + $event = "sendevent CUSTOM\n"; + $event .= "Event-Name: CUSTOM\n"; + $event .= "Event-Subclass: fusion::memcache\n"; + $event .= "API-Command: memcache\n"; + $event .= "API-Command-Argument: delete ".$key."\n"; + event_socket_request($fp, $event); + + //run the memcache + $command = "memcache delete ".$key; + $result = event_socket_request($fp, 'api '.$command); + + //close event socket + fclose($fp); + + // return result + return $result; + } + + /** + * Delete the entire cache + */ + public function flush() { + // connect to event socket + $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); + if ($fp === false) { + return false; + } + + //send a custom event + $event = "sendevent CUSTOM\n"; + $event .= "Event-Name: CUSTOM\n"; + $event .= "Event-Subclass: fusion::memcache\n"; + $event .= "API-Command: memcache\n"; + $event .= "API-Command-Argument: flush\n"; + event_socket_request($fp, $event); + + //run the memcache + $command = "memcache flush"; + $result = event_socket_request($fp, 'api '.$command); + + //close event socket + fclose($fp); + + // return result + return $result; + } +} + +?>