Пример #1
0
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
**/
require_once 'include/config.inc.php';
$page['title'] = "RPC";
$page['file'] = 'jsrpc.php';
$page['hist_arg'] = array();
$page['type'] = detect_page_type(PAGE_TYPE_JSON);
include_once 'include/page_header.php';
//		VAR				TYPE	OPTIONAL FLAGS	VALIDATION	EXCEPTION
$fields = array();
check_fields($fields);
// ACTION /////////////////////////////////////////////////////////////////////////////
$http_request = new CHTTP_request();
$data = $http_request->body();
$json = new CJSON();
$data = $json->decode($data, true);
if (!is_array($data)) {
    fatal_error('Wrong RPC call to JS RPC');
}
if (!isset($data['method']) || !isset($data['params'])) {
    fatal_error('Wrong RPC call to JS RPC');
}
if (!is_array($data['params'])) {
    fatal_error('Wrong RPC call to JS RPC');
}
$result = array();
switch ($data['method']) {
    case 'host.get':
Пример #2
0
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
**/
require_once dirname(__FILE__) . '/include/func.inc.php';
require_once dirname(__FILE__) . '/include/classes/class.chttp_request.php';
$allowed_content = array('application/json-rpc' => 'json-rpc', 'application/json' => 'json-rpc', 'application/jsonrequest' => 'json-rpc');
$http_request = new CHTTP_request();
$content_type = $http_request->header('Content-Type');
$content_type = explode(';', $content_type);
$content_type = $content_type[0];
if (!isset($allowed_content[$content_type])) {
    header('HTTP/1.0 412 Precondition Failed');
    exit;
}
require_once dirname(__FILE__) . '/include/classes/core/Z.php';
header('Content-Type: application/json');
$data = $http_request->body();
try {
    Z::getInstance()->run(ZBase::EXEC_MODE_API);
    $jsonRpc = new CJSONrpc($data);
    echo $jsonRpc->execute();
} catch (Exception $e) {
Пример #3
0
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
**/
require_once dirname(__FILE__) . '/include/config.inc.php';
$requestType = get_request('type', PAGE_TYPE_JSON);
if ($requestType == PAGE_TYPE_JSON) {
    $http_request = new CHTTP_request();
    $json = new CJSON();
    $data = $json->decode($http_request->body(), true);
} else {
    $data = $_REQUEST;
}
$page['title'] = 'RPC';
$page['file'] = 'jsrpc.php';
$page['hist_arg'] = array();
$page['type'] = detect_page_type($requestType);
require_once dirname(__FILE__) . '/include/page_header.php';
if (!is_array($data) || !isset($data['method']) || $requestType == PAGE_TYPE_JSON && (!isset($data['params']) || !is_array($data['params']))) {
    fatal_error('Wrong RPC call to JS RPC!');
}
$result = array();
switch ($data['method']) {