Exemple #1
0
 public function call($method, $params, $mod, $add, $conf)
 {
     $sign = Pi::get('global.innerapi_sign', '');
     $sign_name = Pi::get('global.innerapi_sign_name', '_pi_inner_nm');
     if (isset($conf['ip']) && isset($conf['net']) && $conf['net'] == 'http') {
         $args = array();
         $args['mod'] = $mod;
         $args['add'] = $add;
         $args['method'] = $method;
         $args['param'] = $params;
         $args[$sign_name] = $sign;
         try {
             $curl = new HttpClient();
             $timeout = isset($conf['timeout']) ? intval($conf['timeout']) : 10;
             $res = $curl->sendPostData($conf['ip'], $args, $timeout);
             if ($curl->hasError() === false) {
                 $data = unserialize($res);
                 $data = isset($data[INNER_RES_PACK]) ? $data[INNER_RES_PACK] : $data;
                 return $data;
             } else {
                 throw new Exception('curl error', 5011);
             }
         } catch (Exception $e) {
             return array(INNER_ERR => 5011, 'msg' => $curl->getErrorMsg());
         }
     }
     throw new Exception('inner api err conf : ' . var_export($conf), 5004);
 }