PATH:
home
/
centosnipponia
/
public_html
/
nipponiacom2
/
administrator
/
components
/
com_jhackguard
<?php /** * @version 2.0.0 * @package com_jhackguard * @copyright Copyright (C) 2013. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @author Valeri Markov <val@jhackguard.com> - http://www.jhackguard.com/ */ // no direct access defined('_JEXEC') or die; class JHackGuard_JSONRPC_Client { private $url; private $timeout; private $debug; private $username; private $password; public $last_err = null; private $headers = array( 'Connection: close', 'Content-Type: application/json', 'Accept: application/json' ); public function __construct($url, $timeout = 5, $debug = false, $headers = array()) { $this->url = $url; $this->timeout = $timeout; $this->debug = $debug; $this->headers = array_merge($this->headers, $headers); } public function __call($method, $params) { return $this->execute($method, $params); } public function authentication($username, $password) { $this->username = $username; $this->password = $password; } public function execute($procedure, array $params = array()) { $id = mt_rand(); $payload = array( 'jsonrpc' => '2.0', 'method' => $procedure, 'id' => $id ); if (! empty($params)) { $payload['params'] = $params; } $result = $this->doRequest($payload); if (isset($result['id']) && $result['id'] == $id && array_key_exists('result', $result)) { return $result['result']; } if(isset($result['error'])) { $this->last_err = $result['error']; } else if ($this->debug && isset($result['error'])) { print_r($result['error']); } return null; } public function doRequest($payload) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $this->url); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $this->timeout); curl_setopt($ch, CURLOPT_USERAGENT, 'JSON-RPC PHP Client'); curl_setopt($ch, CURLOPT_HTTPHEADER, $this->headers); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload)); if ($this->username && $this->password) { curl_setopt($ch, CURLOPT_USERPWD, $this->username.':'.$this->password); } $result = curl_exec($ch); $response = json_decode($result, true); curl_close($ch); return is_array($response) ? $response : array(); } }
[+]
..
[-] access.xml
[edit]
[+]
assets
[-] blocked.html
[edit]
[-] config.xml
[edit]
[-] controller.php
[edit]
[+]
controllers
[+]
data
[-] filter_match_error.html
[edit]
[+]
helpers
[-] index.html
[edit]
[-] jhackguard.php
[edit]
[-] jhackguard.xml
[edit]
[-] jsonrpc.php
[edit]
[-] LICENSE.txt
[edit]
[+]
models
[+]
sql
[+]
tables
[+]
views
[-] .htaccess.disabled
[edit]