miholeus

functions

Jul 9th, 2014
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.70 KB | None | 0 0
  1. function makeRpcCall($params)
  2. {
  3.     require_once __DIR__ . '/content/class.content.php';
  4.     require_once __DIR__ . '/content/class.contentrpc.php';
  5.     if (!is_array($params) || !count($params)) {
  6.         return false;
  7.     }
  8.     if (!isset($params['no_sanitize'])) {
  9.         sanitize($params);
  10.     }
  11.  
  12.     $container = \AppKernel::createStandart()->getContainer();
  13.     $info = $container->getParameter('content.site_info');
  14.  
  15.     if (empty($info)) {
  16.         return false;
  17.     }
  18.     // опеределения класса
  19.     $class = !empty($params['class']) ? $params['class'] : '';
  20.     // опеределения аргументов
  21.     if (!isset($params['arguments'])) {
  22.         $params['arguments'] = array();
  23.     }
  24.     // ссылка подключения RPC
  25.     $connect_rpc = "http://cmsclient.sotmarket.ru/api/rpc.php";
  26.     if (!empty($info['connect_rpc'])) {
  27.         $connect_rpc = $info['connect_rpc'];
  28.     }
  29.     if (!empty($params['connect_rpc'])) {
  30.         $connect_rpc = $params['connect_rpc'];
  31.     }
  32.     // если нужно из справочника
  33.     if (!empty($params['sprav_link'])) {
  34.         $rpc_server_url = Sprav::getName('cms_setup', 'rpc_server_url');
  35.         if (!empty($rpc_server_url)) {
  36.             $connect_rpc = $rpc_server_url;
  37.         }
  38.     }
  39.  
  40.     $rpcObj     = new ContentRPC($connect_rpc, $info);
  41.     $result     = $rpcObj->makeRpcCall($params['method'], $params['arguments'], $class, true);
  42.  
  43.     if (!$result['success']) {
  44.         $result = array('error_desc' => 'Критическая ошибка РПЦ', 'failure' => 1, 'error_msg' => $result['result']);
  45.     } else {
  46.         $result = $result['result'];
  47.     }
  48.  
  49.     return $result;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment