diff --git a/app/services/resources/classes/lib_win.php b/app/services/resources/classes/lib_win.php deleted file mode 100644 index a79ad98037..0000000000 --- a/app/services/resources/classes/lib_win.php +++ /dev/null @@ -1,227 +0,0 @@ -'CONTINUE_PENDING', - WIN32_SERVICE_PAUSE_PENDING =>'PAUSE_PENDING', - WIN32_SERVICE_PAUSED =>'PAUSED', - WIN32_SERVICE_RUNNING =>'RUNNING', - WIN32_SERVICE_START_PENDING =>'START_PENDING', - WIN32_SERVICE_STOP_PENDING =>'STOP_PENDING', - WIN32_SERVICE_STOPPED =>'STOPPED', - ); - - private static $win_error = array( - WIN32_NO_ERROR => 'NO_ERROR', - WIN32_ERROR_ACCESS_DENIED => 'ACCESS_DENIED', - WIN32_ERROR_CIRCULAR_DEPENDENCY => 'CIRCULAR_DEPENDENCY', - WIN32_ERROR_DATABASE_DOES_NOT_EXIST => 'DATABASE_DOES_NOT_EXIST', - WIN32_ERROR_DEPENDENT_SERVICES_RUNNING => 'DEPENDENT_SERVICES_RUNNING', - WIN32_ERROR_DUPLICATE_SERVICE_NAME => 'DUPLICATE_SERVICE_NAME', - WIN32_ERROR_FAILED_SERVICE_CONTROLLER_CONNECT => 'FAILED_SERVICE_CONTROLLER_CONNECT', - WIN32_ERROR_INSUFFICIENT_BUFFER => 'INSUFFICIENT_BUFFER', - WIN32_ERROR_INVALID_DATA => 'INVALID_DATA', - WIN32_ERROR_INVALID_HANDLE => 'INVALID_HANDLE', - WIN32_ERROR_INVALID_LEVEL => 'INVALID_LEVEL', - WIN32_ERROR_INVALID_NAME => 'INVALID_NAME', - WIN32_ERROR_INVALID_PARAMETER => 'INVALID_PARAMETER', - WIN32_ERROR_INVALID_SERVICE_ACCOUNT => 'INVALID_SERVICE_ACCOUNT', - WIN32_ERROR_INVALID_SERVICE_CONTROL => 'INVALID_SERVICE_CONTROL', - WIN32_ERROR_PATH_NOT_FOUND => 'PATH_NOT_FOUND', - WIN32_ERROR_SERVICE_ALREADY_RUNNING => 'SERVICE_ALREADY_RUNNING', - WIN32_ERROR_SERVICE_CANNOT_ACCEPT_CTRL => 'SERVICE_CANNOT_ACCEPT_CTRL', - WIN32_ERROR_SERVICE_DATABASE_LOCKED => 'SERVICE_DATABASE_LOCKED', - WIN32_ERROR_SERVICE_DEPENDENCY_DELETED => 'SERVICE_DEPENDENCY_DELETED', - WIN32_ERROR_SERVICE_DEPENDENCY_FAIL => 'SERVICE_DEPENDENCY_FAIL', - WIN32_ERROR_SERVICE_DISABLED => 'SERVICE_DISABLED', - WIN32_ERROR_SERVICE_DOES_NOT_EXIST => 'SERVICE_DOES_NOT_EXIST', - WIN32_ERROR_SERVICE_EXISTS => 'SERVICE_EXISTS', - WIN32_ERROR_SERVICE_LOGON_FAILED => 'SERVICE_LOGON_FAILED', - WIN32_ERROR_SERVICE_MARKED_FOR_DELETE => 'SERVICE_MARKED_FOR_DELETE', - WIN32_ERROR_SERVICE_NO_THREAD => 'SERVICE_NO_THREAD', - WIN32_ERROR_SERVICE_NOT_ACTIVE => 'SERVICE_NOT_ACTIVE', - WIN32_ERROR_SERVICE_REQUEST_TIMEOUT => 'SERVICE_REQUEST_TIMEOUT', - WIN32_ERROR_SHUTDOWN_IN_PROGRESS => 'SHUTDOWN_IN_PROGRESS' - ); - - private static function val2val($val,$map,$default){ - if(isset($map[$val])) return $map[$val]; - return $default; - } - - var $status; - var $last_error; - var $name; - var $description; - var $machine; - - function win_service($srvname, $machine=null){ - $this->name = $srvname; - $this->machine = $machine; - $this->status = null; - $this->last_error = WIN32_NO_ERROR; - } - - function refresh_status(){ - $status = win32_query_service_status($this->name,$this->machine); - if(is_array($status)){ - $this->status = (object)$status; - $this->last_error = WIN32_NO_ERROR; - return true; - } - $this->status = null; - $last_error = $status; - return false; - } - - function start(){ - $this->last_error = win32_start_service($this->name, $this->machine); - return ($this->last_error === WIN32_NO_ERROR) or ($this->last_error === WIN32_ERROR_SERVICE_ALREADY_RUNNING); - } - - function stop(){ - $this->last_error = win32_stop_service($this->name, $this->machine); - return $this->last_error === WIN32_NO_ERROR; - } - - function last_error($as_string = true){ - if($as_string){ - return self::val2val( - $this->last_error, self::$win_error, $this->last_error - ); - } - return $this->last_error; - } - - function state($as_string = true){ - if((!$this->status)and(!$this->refresh_status())) return false; - if($as_string){ - return self::val2val( - $this->status->CurrentState, self::$service_state, 'UNKNOWN' - ); - } - return $this->status->CurrentState; - } - - function pid(){ - if((!$this->status)and(!$this->refresh_status())) return false; - return $this->status->ProcessId; - } - - } - -} - -if(function_exists('reg_open_key')){ - - class win_reg_key{ - - private static $HK = array( - HKEY_CLASSES_ROOT => "HKCR", - HKEY_CURRENT_USER => "HKCU", - HKEY_LOCAL_MACHINE => "HKLM", - HKEY_USERS => "HKU", - HKEY_CURRENT_CONFIG => "HKCC", - ); - - function __construct($haiv, $key){ - $this->h = $haiv; - $this->k = $key; - $this->r = reg_open_key($this->h, $this->k); - $this->shell = new COM('WScript.Shell'); - if(!$this->shell){ - throw new Exception("Cannot create shell object."); - } - if(!$this->r){ - throw new Exception("Cannot access registry."); - } - $this->path = self::$HK[$this->h] . '\\' . $this->k; - } - - function __destruct(){ - if($this->r){ - reg_close_key($this->r); - $this->r = false; - } - } - - function keys(){ - return reg_enum_key($this->r); - } - - function values($as_hash = false){ - $values = reg_enum_value($this->r); - if(!$as_hash) return $values; - $result = Array(); - foreach($values as $key){ - $result[$key] = reg_get_value($this->r, $key); - } - return $result; - } - - function value($key){ - return reg_get_value($this->r, $key); - } - - function exists($key){ - $v = $this->value($key); - if($v === NULL) return false; - if($v === false) return false; - return true; - } - - private function write_raw($key, $type, $value){ - return reg_set_value($this->r, $key, $type, $value); - } - - function write_dword($key, $value){ - return $this->write_raw($key, REG_DWORD, $value); - } - - function write_string($key, $value){ - return $this->write_raw($key, REG_SZ, $value); - } - - function remove_value($key){ - if(!$this->exists($key)) return; - $key = $this->path . '\\' . $key; - $this->shell->RegDelete($key); - } - - } - -}