Esempio n. 1
0
 /**
  * 功能号:12070
  * 客户认证
  * */
 public function certification()
 {
     COMFilter::$_jump = false;
     $code = trim(Core::$_dataFilter->valueCheck(Core::get("code"), "Require,Limit", "认证码不能为空,最多6个字符", false, 6));
     $clientmac = $_COOKIE['CLIENTMAC'];
     // print $clientmac;
     $clientboxid = intval($_COOKIE['CLIENTBOXID']);
     $clientphone = $_COOKIE['CLIENTPHONE'];
     $user = new Users();
     $addate = COMCommon::sysTime();
     $one = $user->getOne('user_name=?', $clientphone);
     if ($one) {
         $id = $one->id;
     } else {
         $msg = '用户不存在';
         Core::json_error($msg);
     }
     $token = new Users_token();
     //$host = 'http://115.28.92.216';
     $host = $this->_host;
     $network = Core::check_network($host);
     if ($network) {
         $param = array("m" => 12070, "phone" => $clientphone, "code" => $code);
         $onecert = $token->getOne("id = ? and end_time - UNIX_TIMESTAMP() > 0", $id);
         if (empty($onecert)) {
             $param['pal'] = 1;
         } else {
             if ($onecert->status > 0 && $onecert->authcode != $code) {
                 $onecert->errnum = $onecert->errnum + 1;
                 $onecert->save();
                 $msg = '认证码不正确';
                 Core::json_error($msg);
             }
         }
         $param['at'] = $_SERVER['REQUEST_TIME'];
         $sign = Core::get_signature($param);
         $param["sign"] = $sign;
         $url = "http://{$host}/tvmv/?m=12070";
         $temp = Core::request_url($url, $param, 1);
         $return = json_decode($temp);
         if ($return->status === 1) {
             $data = $return->data;
             if ($data->token) {
                 if (!$data->status) {
                     $order = new Orders();
                     $one = $order->getOne("order_sn=?", $data->ordersn, "pay_time desc");
                     if ($one) {
                         $one->status = 1;
                         $one->pay_time = date("Y-m-d H:i:s", $data->start_time);
                         $flag = $one->save();
                         if ($flag) {
                             $one = $token->getOne("id = ?", $id);
                             if ($one) {
                                 $flag = $token->edit(1, $data->ordersn, $data->token, $data->start_time, $data->end_time, 1, $data->code, $id);
                             } else {
                                 $flag = $token->add($id, 1, $data->ordersn, $data->token, $data->start_time, $data->end_time, 1, $data->code);
                             }
                             if ($flag) {
                                 $this->notify_server($one, $data->token);
                             }
                         }
                     }
                 }
                 $onecert->errnum = 0;
                 $onecert->save();
                 setcookie("CLIENTTOKEN", $data->token);
                 Core::json_result('', '已认证');
             }
         } else {
             $msg = $return->msg;
             Core::json_error($msg);
         }
     } else {
         $flag = $token->del("id = {$id} and end_time - UNIX_TIMESTAMP() < 0");
         $one = $token->getOne("id = ? and end_time - UNIX_TIMESTAMP() > 0", $id);
         if ($one) {
             if ($one->status > 0) {
                 if ($one->authcode != $code) {
                     $one->errnum = $one->errnum + 1;
                     $one->save();
                     $msg = '认证码不正确';
                     Core::json_error($msg);
                 } else {
                     $one->errnum = 0;
                     $one->save();
                     setcookie("CLIENTTOKEN", $data->token);
                     Core::json_result('', '已认证');
                 }
             } else {
                 $msg = '网络没有联接,如果没有支付,请支付相关费用!';
                 Core::json_error($msg);
             }
         } else {
             $msg = "网络没有联接,如果您没有购买服务,请先购买观影服务!";
             Core::json_error($msg);
         }
     }
 }