File: Jsonrpc.php

package info (click to toggle)
kalkun 0.8.3.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,340 kB
  • sloc: php: 30,659; javascript: 30,443; sql: 961; sh: 766; xml: 105; makefile: 41
file content (71 lines) | stat: -rw-r--r-- 1,482 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
/**
 * Kalkun
 * An open source web based SMS Management
 *
 * @package		Kalkun
 * @author		Kalkun Dev Team
 * @license		https://spdx.org/licenses/GPL-2.0-or-later.html
 * @link		https://kalkun.sourceforge.io/
 */

// ------------------------------------------------------------------------

/**
 * Jsonrpc Class
 *
 * @package		Kalkun
 * @subpackage	Plugin
 * @category	Controllers
 */
include_once(APPPATH.'plugins/Plugin_controller.php');
require_once(__DIR__.'/../libraries/Evaluator.php');

class Jsonrpc extends Plugin_controller {

	function __construct()
	{
		parent::__construct(FALSE);
	}

	/**
	* JSONRPC server for sending sms
	*
	*/
	function send_sms()
	{
		// Json sample for input:
		// {"jsonrpc":"2.0","id":551,"method":"sms.send_sms","params":{"phoneNumber":"+1234","message":"Testing JSONRPC"}}

		$evaluator = new Evaluator();
		$server = new \Datto\JsonRpc\Http\Server($evaluator);
		$server->reply();
	}

	/**
	* Sample JSONRPC client example
	* that consume send sms function
	*/
	function send_sms_client()
	{
		$this->load->helper('url');
		$server_url = site_url('plugin/jsonrpc/send_sms');

		$client = new \Datto\JsonRpc\Http\Client($server_url);
		$request = array('phoneNumber' => '+1234', 'message' => 'Testing JSONRPC');
		$result = [];
		$client->query('sms.send_sms', $request, $result);
		try
		{
			$client->send();
		}
		catch (Exception $exception)
		{
			throw $exception;
		}

		echo '<pre>';
		print_r($result);
		echo '</pre>';
	}
}