From f2f539ef53586ecfdd10050569d6ffc91491b32c Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Wed, 15 Jan 2014 15:16:54 +0100 Subject: [PATCH] [IMPROVED] Payout logging and indent --- cronjobs/payouts.php | 2 +- public/include/lib/jsonRPCClient.php | 149 ++++++++++++++------------- 2 files changed, 76 insertions(+), 75 deletions(-) diff --git a/cronjobs/payouts.php b/cronjobs/payouts.php index 4623b411..4ca52627 100755 --- a/cronjobs/payouts.php +++ b/cronjobs/payouts.php @@ -68,7 +68,7 @@ if ($setting->getValue('disable_manual_payouts') != 1) { try { $txid = $bitcoin->sendtoaddress($aData['coin_address'], $dBalance - $config['txfee_manual']); } catch (Exception $e) { - $log->logError('Failed to send requested balance to coin address, please check payout process. Does the wallet cover the amount?'); + $log->logError('Failed to send requested balance to coin address, please check payout process. Does the wallet cover the amount? Error:' . $e->getMessage()); continue; } diff --git a/public/include/lib/jsonRPCClient.php b/public/include/lib/jsonRPCClient.php index 81f61d70..8385b30e 100644 --- a/public/include/lib/jsonRPCClient.php +++ b/public/include/lib/jsonRPCClient.php @@ -1,6 +1,6 @@ @@ -19,7 +19,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with JSON-RPC PHP; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ + */ /** * The object of this class are generic jsonRPC 1.0 clients @@ -28,41 +28,41 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * @author sergio */ class jsonRPCClient { - - /** - * Debug state - * - * @var boolean - */ - private $debug; + + /** + * Debug state + * + * @var boolean + */ + private $debug; private $debug_output; - - /** - * The server URL - * - * @var string - */ - private $url; - /** - * The request id - * - * @var integer - */ - private $id; - - /** - * Takes the connection parameters - * - * @param string $url - * @param boolean $debug - */ - public function __construct($url, $debug = false) { - $this->url = $url; - $this->debug = $debug; + + /** + * The server URL + * + * @var string + */ + private $url; + /** + * The request id + * + * @var integer + */ + private $id; + + /** + * Takes the connection parameters + * + * @param string $url + * @param boolean $debug + */ + public function __construct($url, $debug = false) { + $this->url = $url; + $this->debug = $debug; $this->debug_output = ''; - $this->id = rand(1, 100); - } - + $this->id = rand(1, 100); + } + /** * Fetch debug information * @param none @@ -72,42 +72,43 @@ class jsonRPCClient { return $this->debug_output; } - /** - * Performs a jsonRCP request and gets the results as an array - * - * @param string $method - * @param array $params - * @return array - */ - public function __call($method, $params) { - if (!is_scalar($method)) throw new Exception('Method name has no scalar value'); - - if (is_array($params)) { - // no keys - $params = array_values($params); - } else { - throw new Exception('Params must be given as array'); - } - - // prepares the request - $request = array( - 'method' => $method, - 'params' => $params, - 'id' => $this->id - ); - $request = json_encode($request); - if ($this->debug) $this->debug_output[] = 'Request: '.$request; - - // performs the HTTP POST + /** + * Performs a jsonRCP request and gets the results as an array + * + * @param string $method + * @param array $params + * @return array + */ + public function __call($method, $params) { + if (!is_scalar($method)) throw new Exception('Method name has no scalar value'); + + if (is_array($params)) { + // no keys + $params = array_values($params); + } else { + throw new Exception('Params must be given as array'); + } + + // prepares the request + $request = array( + 'method' => $method, + 'params' => $params, + 'id' => $this->id + ); + $request = json_encode($request); + if ($this->debug) $this->debug_output[] = 'Request: '.$request; + + // performs the HTTP POST // extract information from URL for proper authentication $url = parse_url($this->url); - $ch = curl_init($url['scheme'].'://'.$url['host'].':'.$url['port'].$url['path']); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json')); + $ch = curl_init($url['scheme'].'://'.$url['host'].':'.$url['port'].$url['path']); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json')); curl_setopt($ch, CURLOPT_USERPWD, $url['user'] . ":" . $url['pass']); - curl_setopt($ch, CURLOPT_POST, true); - curl_setopt($ch, CURLOPT_POSTFIELDS, $request); - $response = curl_exec($ch); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_POSTFIELDS, $request); + $response = curl_exec($ch); + $this->debug = true; if ($this->debug) $this->debug_output[] = 'Response: ' . $response; $response = json_decode($response, true); $resultStatus = curl_getinfo($ch); @@ -116,11 +117,11 @@ class jsonRPCClient { throw new Exception('RPC call did not return 200: HTTP error: ' . $resultStatus['http_code']); } if (curl_errno($ch)) throw new Exception('RPC call failed: ' . curl_error($ch)); - curl_close($ch); + curl_close($ch); - // final checks and return - if (!is_null($response['error']) || is_null($response)) throw new Exception('Response error or empty: ' . @$response['error']); - if ($response['id'] != $this->id) throw new Exception('Incorrect response id (request id: ' . $this->id . ', response id: ' . $response['id'] . ')'); - return $response['result']; - } + // final checks and return + if (!is_null($response['error']) || is_null($response)) throw new Exception('Response error or empty: ' . @$response['error']); + if ($response['id'] != $this->id) throw new Exception('Incorrect response id (request id: ' . $this->id . ', response id: ' . $response['id'] . ')'); + return $response['result']; + } }