public function insert()
 {
     B('FilterString');
     $ajax = intval($_REQUEST['ajax']);
     //{"user_name":"\u5929\u4e0b","user_pwd":"aaaa","group_id":"1","is_effect":"1","mobile":"15001204748","is_merchant":"0","merchant_name":"","is_daren":"0","daren_title":"","byear":"","bmonth":"","bday":""}
     $data = M(MODULE_NAME)->create();
     //开始验证有效性
     $this->assign("jumpUrl", u(MODULE_NAME . "/index"));
     if (!check_empty($data['user_pwd'])) {
         $this->error(L("USER_PWD_EMPTY_TIP"));
     }
     if ($data['user_pwd'] != $_REQUEST['user_confirm_pwd']) {
         $this->error(L("USER_PWD_CONFIRM_ERROR"));
     }
     $php_rsa_pub_key = get_php_rsa_public_key();
     $url = get_doubi_host();
     openssl_public_encrypt($data['mobile'] . "_" . md5($data['user_pwd']), $sig, $php_rsa_pub_key);
     $sig = base64_encode($sig);
     $post = array("action" => "reg", "phone" => $data['mobile'], 'sig' => $sig, 'uname' => $data['user_name'], 'isback' => 1);
     //string(67) "{"ret":"0","uid":"119890","rid":"46cfdeac80a9b2c68ee7b225dfdd2c51","tb_uid":""}"
     //如果用户有选择下次自动登录的话,要把rid存到cookie里面
     $response = json_decode(sentSigPost($url, $post), true);
     switch ($response['ret']) {
         case '0':
             $_REQUEST['id'] = $response['tb_uid'];
             break;
         default:
             $err_msg = get_msg_with_ret($response['ret']);
             $this->error($err_msg);
     }
     $res = save_user($_REQUEST, "UPDATE");
     if ($res['status'] == 0) {
         $error_field = $res['data'];
         if ($error_field['error'] == EMPTY_ERROR) {
             if ($error_field['field_name'] == 'user_name') {
                 $this->error(L("USER_NAME_EMPTY_TIP"));
             } elseif ($error_field['field_name'] == 'email') {
                 $this->error(L("USER_EMAIL_EMPTY_TIP"));
             } else {
                 $this->error(sprintf(L("USER_EMPTY_ERROR"), $error_field['field_show_name']));
             }
         }
         if ($error_field['error'] == EXIST_ERROR) {
             if ($error_field['field_name'] == 'user_name') {
                 $this->error(L("USER_NAME_EXIST_TIP"));
             }
             if ($error_field['field_name'] == 'email') {
                 $this->error(L("USER_EMAIL_EXIST_TIP"));
             }
         }
     }
     $user_id = intval($res['user_id']);
     foreach ($_REQUEST['auth'] as $k => $v) {
         foreach ($v as $item) {
             $auth_data = array();
             $auth_data['m_name'] = $k;
             $auth_data['a_name'] = $item;
             $auth_data['user_id'] = $user_id;
             M("UserAuth")->add($auth_data);
         }
     }
     foreach ($_REQUEST['cate_id'] as $cate_id) {
         $link_data = array();
         $link_data['user_id'] = $user_id;
         $link_data['cate_id'] = $cate_id;
         M("UserCateLink")->add($link_data);
     }
     // 更新数据
     $log_info = $data['user_name'];
     save_log($log_info . L("INSERT_SUCCESS"), 1);
     $this->success(L("INSERT_SUCCESS"));
 }
 public function insert()
 {
     B('FilterString');
     $ajax = intval($_REQUEST['ajax']);
     $data = M(MODULE_NAME)->create();
     //开始验证有效性
     $this->assign("jumpUrl", u(MODULE_NAME . "/index"));
     if (!check_empty($data['name'])) {
         $this->error(L("SUPPLIER_NAME_EMPTY_TIP"));
     }
     //{"user_name":"\u5929\u4e0b","user_pwd":"aaaa","group_id":"1","is_effect":"1","mobile":"15001204748","is_merchant":"0","merchant_name":"","is_daren":"0","daren_title":"","byear":"","bmonth":"","bday":""}
     unset($data['user_name']);
     unset($data['mobile']);
     // 更新数据
     $log_info = $data['name'];
     $list = M(MODULE_NAME)->add($data);
     if (false !== $list) {
         syn_supplier_match($list);
         // 添加tb_user tb_supplier_account,$list 即为刚添加的 supplier_id
         $supplier_account = array('account_name' => $data['name'], 'supplier_id' => $list, 'is_effect' => 1, 'is_delete' => 0);
         $supp_acc = M("SupplierAccount")->add($supplier_account);
         if ($supp_acc !== FALSE) {
             // 添加会员
             $user = array('user_name' => $_REQUEST['user_name'], 'merchant_name' => $_REQUEST['name'], 'mobile' => $_REQUEST['mobile']);
             $php_rsa_pub_key = get_php_rsa_public_key();
             $url = get_doubi_host();
             $sig = "";
             openssl_public_encrypt($user['mobile'] . "_" . md5('111111'), $sig, $php_rsa_pub_key);
             $sig = base64_encode($sig);
             $post = array("action" => "reg", "phone" => $user['mobile'], 'sig' => $sig, 'uname' => $user['user_name'], 'isback' => 1);
             //string(67) "{"ret":"0","uid":"119890","rid":"46cfdeac80a9b2c68ee7b225dfdd2c51","tb_uid":""}"
             //如果用户有选择下次自动登录的话,要把rid存到cookie里面
             $response = json_decode(sentSigPost($url, $post), true);
             switch ($response['ret']) {
                 case '0':
                     //如果成功,修改 tb_user 的merchant_name
                     $user['id'] = $response['tb_uid'];
                     $user['group_id'] = 1;
                     $user['is_effect'] = 1;
                     $user['is_merchant'] = 1;
                     require_once APP_ROOT_PATH . "/system/libs/user.php";
                     save_user($user, "UPDATE");
                     break;
                 default:
                     $err_msg = get_msg_with_ret($response['ret']);
                     $this->error($err_msg);
             }
         }
         //成功提示
         save_log($log_info . L("INSERT_SUCCESS"), 1);
         $this->success(L("INSERT_SUCCESS"));
     } else {
         //错误提示
         save_log($log_info . L("INSERT_FAILED"), 0);
         $this->error(L("INSERT_FAILED"));
     }
 }
 /**
 * @param:
 * array(3) {
     ["mobile"]=>
         string(11) "15001204748"
         ["user_pwd"]=>
         string(256) "555fba1215f3bb227589530780613e92bb4ebc095bb67bce929cc74c52850c877d6e8e1dfe37a1c48182a68ce4776f4cbdb2edb7b33288ae26d7bc7046b08f3c011f46343c6f6b1a6dff997c6bcf9c58576fb8bb398c4f3c6279256c14e21e1d71c30f6e33da43f5cef429cc220ebe2fbec64ec668f91092fcff442c66d83b05"
         ["ajax"]=>
         string(1) "1"
         ["auto_login"]=>
           string(1) "1"
 }
 * echo : {"status":0,"info":"\u7528\u6237\u4e0d\u5b58\u5728","jump":""}
 */
 public function dologin()
 {
     if (!$_POST) {
         app_redirect(APP_ROOT . "/");
     }
     foreach ($_POST as $k => $v) {
         $_POST[$k] = htmlspecialchars(addslashes($v));
     }
     $ajax = intval($_REQUEST['ajax']);
     //验证码
     if (app_conf("VERIFY_IMAGE") == 1) {
         $verify = md5(trim($_REQUEST['verify']));
         $session_verify = es_session::get('verify');
         if ($verify != $session_verify) {
             showErr($GLOBALS['lang']['VERIFY_CODE_ERROR'], $ajax, url("shop", "user#login"));
         }
     }
     $phone = $_POST['mobile'];
     // 查看用户是否有效
     $count = $GLOBALS['db']->getOne("select count(*) from " . DB_PREFIX . "user where mobile=" . $phone . " and is_delete=0");
     if ($count <= 0 || $count == false) {
         showErr('用户不存在', $ajax, url("shop", "user#login"));
     }
     $pwd = $_POST['user_pwd'];
     $encrypted = convert($pwd);
     //hex data to bin data
     $pwd = rsa_decrypt($encrypted, RSA_PRIVATE_KEY, RSA_MODULUS, RSA_KEY_LENGTH);
     $php_rsa_pub_key = get_php_rsa_public_key();
     $url = get_doubi_host();
     openssl_public_encrypt($phone . "_" . md5($pwd), $sig, $php_rsa_pub_key);
     $sig = base64_encode($sig);
     $post = array("action" => "login", "phone" => $phone, 'sig' => $sig);
     $response = json_decode(sentSigPost($url, $post), true);
     // response {"ret":"0","rid":"70010b9ac7efab7087a49ba8f007a246","uid":"","cityid":"1"}
     //do_login_user($phone,$pwd);
     switch ($response['ret']) {
         case '0':
             //            if(intval($_POST['auto_login'])==1){
             // 如果选择了自动登录,向cookie中set自动登录签名值
             //es_cookie::set("user_name",$user_data['email'],3600*24*30);
             es_cookie::set("rid", $response['rid'], 3600 * 24 * 30);
             //           }
             /**
             		    $user_data = $GLOBALS['db']->getRow("select * from ".DB_PREFIX."user where mobile = $phone");	
                         $result['user']=$user_data;//存所有用户信息
                         **/
             require_once APP_ROOT_PATH . "system/libs/user.php";
             $result = do_login_user($phone, $pwd);
             /**
                         $result['status'] = 1;
                         $result['step']=1;
                         **/
             break;
         default:
             $err_msg = get_msg_with_ret($response['ret']);
             showErr($err_msg, $ajax, url("shop", "user#login"));
     }
     if ($result['status']) {
         $s_user_info = es_session::get("user_info");
         //更新购物车
         $GLOBALS['db']->query("update " . DB_PREFIX . "deal_cart set user_id = " . intval($s_user_info['id']) . " where session_id = '" . es_session::id() . "'");
         if (intval($_POST['auto_login']) == 1) {
             //自动登录,保存cookie
             $user_data = $s_user_info;
             es_cookie::set("user_name", $user_data['email'], 3600 * 24 * 30);
             es_cookie::set("user_pwd", md5($user_data['user_pwd'] . "_EASE_COOKIE"), 3600 * 24 * 30);
         }
         if ($ajax == 0 && trim(app_conf("INTEGRATE_CODE")) == '') {
             $redirect = $_SERVER['HTTP_REFERER'] ? $_SERVER['HTTP_REFERER'] : url("index");
             app_redirect($redirect);
         } else {
             $jump_url = get_gopreview();
             if ($ajax == 1) {
                 $return['status'] = 1;
                 $return['info'] = $GLOBALS['lang']['LOGIN_SUCCESS'];
                 $return['data'] = $result['msg'];
                 $return['jump'] = $jump_url;
                 ajax_return($return);
             } else {
                 $GLOBALS['tmpl']->assign('integrate_result', $result['msg']);
                 showSuccess($GLOBALS['lang']['LOGIN_SUCCESS'], $ajax, $jump_url);
             }
         }
     } else {
         if ($result['data'] == ACCOUNT_NO_EXIST_ERROR) {
             $err = $GLOBALS['lang']['USER_NOT_EXIST'];
         }
         if ($result['data'] == ACCOUNT_PASSWORD_ERROR) {
             $err = $GLOBALS['lang']['PASSWORD_ERROR'];
         }
         if ($result['data'] == ACCOUNT_NO_VERIFY_ERROR) {
             $err = $GLOBALS['lang']['USER_NOT_VERIFY'];
             if (app_conf("MAIL_ON") == 1 && $ajax == 0) {
                 $GLOBALS['tmpl']->assign("page_title", $err);
                 $GLOBALS['tmpl']->assign("user_info", $result['user']);
                 $GLOBALS['tmpl']->display("verify_user.html");
                 exit;
             }
         }
         showErr($err, $ajax);
     }
 }
 public function do_modify_password()
 {
     if (empty($_POST['phone'])) {
         echo json_encode(array('ret' => '-1'));
     } else {
         $phone = $_POST['phone'];
         $url = get_doubi_host();
         $encrypted = convert($_POST['new_pass']);
         //hex data to bin data
         $pwd = rsa_decrypt($encrypted, RSA_PRIVATE_KEY, RSA_MODULUS, RSA_KEY_LENGTH);
         $php_rsa_pub_key = get_php_rsa_public_key();
         openssl_public_encrypt($phone . "_" . md5($pwd), $sig, $php_rsa_pub_key);
         $newsig = base64_encode($sig);
         $post = array("action" => "resetpass", "phone" => $phone, 'vrcode' => $_POST['msg'], 'newsig' => $newsig);
         $response = json_decode(sentSigPost($url, $post), true);
         switch ($response['ret']) {
             case '0':
                 showSuccess($GLOBALS['lang']['PASSWORD_MODIFY_SUCCESS'], 0, url("biz", "profile#password"));
                 break;
             default:
                 $err_msg = get_msg_with_ret($response['ret']);
                 showErr($err_msg, 0, url("shop", "user#getpassword"));
         }
     }
 }