/** * Execute request to CPanel * * @param $path CPanel command path * @param $params Array of parameters, which input to CPanel command * @return SimpleXMLElement */ protected function execute($path, $params = array()) { $client = new Gpf_Net_Http_Client(); $request = new Gpf_Net_Http_Request(); $url = ($this->useSsl ? 'https://' : 'http://') . $this->host . ':' . $this->port . $path; Gpf_Log::info('Request URL: ' . $url); $query = ''; foreach ($params as $name => $value) { $query .= '&' . $name . '=' . urlencode($value); } Gpf_Log::info('Request params: ' . $query); $request->setUrl($url . (strlen($query) ? '?' : '') . ltrim($query, '&')); $request->setHttpUser($this->user); $request->setHttpPassword($this->passwd); Gpf_Log::info("Executing HTTP request: " . $request->toString()); return $this->parseResult($client->execute($request)); }