123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293 |
- <?php
- /**
- * 获取用户信息
- ***/
- defined('InShopNC') or exit('Access Invalid!');
- require_once(BASE_HELPER_PATH . '/text_filter.php');
- require_once(BASE_HELPER_PATH . '/FileUploader.php');
- require_once(BASE_HELPER_PATH . '/relation_helper.php');
- require_once(BASE_HELPER_PATH . '/util_helper.php');
- require_once(BASE_HELPER_PATH . '/url_helper.php');
- require_once(BASE_HELPER_PATH . '/mcard/mcard.php');
- require_once(BASE_RESOURCE_PATH . '/phpqrcode/index.php');
- class member_infoControl extends mbMemberControl
- {
- public function __construct()
- {
- parent::__construct();
- }
- //个人中心页面的首页
- public function indexOp()
- {
- $ret = $this->person_info();
- self::outsuccess($ret);
- }
- public function getinfoOp()
- {
- $ret = $this->person_info();
- self::outsuccess($ret);
- }
- public function getOp()
- {
- $ret = $this->person_info();
- self::outsuccess($ret);
- }
- private function sub_titles()
- {
- $ret['qrcode'] = '扫上面的二维码图案,加我好友';
- $addr_num = session_helper::address_num();
- if($addr_num > 0) {
- $ret['addr_num'] = "{$addr_num}个";
- } else {
- $ret['addr_num'] = "尚未设置";
- }
- $favorate_num = session_helper::favorate_num();
- if($favorate_num > 0) {
- $ret['favorate_num'] = "{$favorate_num}个";
- } else {
- $ret['favorate_num'] = "尚未收藏";
- }
- $fcode_num = session_helper::fcode_num();
- if($fcode_num > 0) {
- $ret['fcode_num'] = "{$fcode_num}个可用";
- } else {
- $ret['fcode_num'] = "没有F码";
- }
- $mod_bargain = Model('room_bargain');
- $bargain_num = $mod_bargain->getBargainNumByUser(session_helper::memberid());
- if($bargain_num > 0) {
- $ret['bargain_num'] = "{$bargain_num}个砍价正在进行中";
- } else {
- $ret['bargain_num'] = "";
- }
- return $ret;
- }
- private function upfile($img,&$err)
- {
- $member_id = $_SESSION['member_id'];
- $upload = new FileUploader();
- if($upload->init_files($img,$member_id,$err) == false) {
- return false;
- }
- $upload_dir = ATTACH_AVATAR.DS.$member_id.DS;
- $upload->set('default_dir',$upload_dir.$upload->getSysSetPath());
- $thumb_width = '480,1024';
- $thumb_height = '480,1024';
- $upload->set('max_size',C('image_max_filesize'));
- $upload->set('thumb_width', $thumb_width);
- $upload->set('thumb_height',$thumb_height);
- $upload->set('fprefix',$member_id);
- $upload->set('thumb_ext', '_240,_1024');
- $result = $upload->upfile('file');
- if($result == true) {
- return $upload->file_name;
- } else {
- $err = ['code' => errcode::ErrUpfile, 'msg' => $upload->error];
- return false;
- }
- }
- private function file_path()
- {
- $file_path = $_POST["file_path"];
- if(file_exists($file_path) == false) {
- $file_path = BASE_ROOT_PATH . '/data/upload/upfile' . $file_path;
- }
- return $file_path;
- }
- public function upavatarOp()
- {
- $file_path = $this->file_path();
- $member_id = $_SESSION['member_id'];
- $file_name = $this->upfile($file_path,$err);
- if($file_name == false) {
- return self::outerr(errcode::ErrUploadFileFailed);
- }
- $file_path = DS.$member_id.DS.$file_name;
- $ret = Model("member")->editMember(['member_id' => $member_id], ['member_avatar' => $file_path]);
- if ($ret) {
- $_SESSION['member_avatar'] = $file_path;
- $url = UPLOAD_SITE_URL . "/shop/avatar{$file_path}";
- return self::outsuccess(['member_avatar' => $url]);
- } else {
- return self::outerr(errcode::ErrDB);
- }
- }
- public function upcontactsOp()
- {
- $contacts = session_helper::parse_contacts($_POST["contact_list"]);
- if ($contacts == false) {
- return self::outerr(errcode::ErrParamter);
- }
- relation_helper::onUpContacts($_SESSION['member_id'],$contacts);
- return self::outsuccess(NULL);
- }
- public function updateinfoOp()
- {
- $this->editOp();
- }
- public function editOp()
- {
- $member_nickname = urldecode($_GET['nickname']);
- $member_truename = urldecode($_GET['truename']);
- $member_signname = urldecode($_GET['signname']);
- $member_sex = trim(urldecode($_GET['sex']));
- $member_birthday = trim(urldecode(($_GET['birthday'])));
- $update = [];
- if (is_numeric($member_sex))
- {
- $iSex = intval($member_sex);
- if($iSex == 0 || $iSex == 1) {
- $update['member_sex'] = $member_sex;
- }
- }
- if(isset($member_nickname) && !empty($member_nickname)) {
- $member_nickname = text_filter::filter_input($member_nickname);
- $update['member_nickname'] = $member_nickname;
- }
- if(isset($member_truename) && !empty($member_truename)) {
- $member_truename = text_filter::filter_input($member_truename);
- $update['member_truename'] = $member_truename;
- }
- if(isset($member_signname) && !empty($member_signname)) {
- $member_signname = text_filter::filter_input($member_signname);
- $update['member_signname'] = $member_signname;
- }
- if(isset($member_birthday))
- {
- $itm = intval($member_birthday);
- if($itm > 0 && $member_birthday = strftime("%Y-%m-%d",$member_birthday)) {
- $update['member_birthday'] = $member_birthday;
- }
- }
- if(empty($update)) {
- return self::outerr(errcode::ErrInputParam);
- }
- $mod = Model('member');
- $ret = $mod->editMember(['member_id' => $_SESSION['member_id']],$update);
- if($ret && $mod->affected_rows() > 0)
- {
- foreach($update as $key => $val) {
- $_SESSION[$key] = $val;
- }
- self::outsuccess(['ret' => 1]);
- }
- else {
- self::outsuccess(['ret' => 1]);
- }
- }
- public function modifypassOp()
- {
- $oldpasswd = trim($_GET['oldpasswd']);
- $newpasswd = trim($_GET['newpasswd']);
- // 校验原有用户内容
- $model = Model('member');
- $oldpasswd = empty($oldpasswd) ? '' : md5($oldpasswd);
- $newpasswd = empty($newpasswd) ? '' : md5($newpasswd);
- $ret = $model->editMember(['member_id' => $_SESSION['member_id'],'member_passwd' => $oldpasswd],['member_passwd' => $newpasswd]);
- if ($ret === false) {
- return self::outerr(errcode::ErrPasswd);
- } else {
- return self::outsuccess(NULL);
- }
- }
- public function qrcodeOp()
- {
- return self::outsuccess(['url' => session_helper::qrcode()]);
- }
- /**
- * @return array
- */
- private function person_info(): array
- {
- $fields = ['member_sex', 'member_nickname', 'member_truename', 'member_signname', 'member_birthday', 'member_mobile', 'member_avatar'];
- $ret = [];
- foreach ($fields as $key)
- {
- if (array_key_exists($key, $_SESSION))
- {
- if ($key == 'member_birthday')
- {
- $time = $_SESSION[$key];
- $birthday = strtotime($time);
- $ret[$key] = ($birthday == false) ? '0' : $birthday;
- }
- elseif ($key == 'member_avatar')
- {
- $path = $_SESSION[$key];
- if (empty($path))
- {
- $ret['member_avatar'] = "";
- }
- elseif (util::ishttp($path))
- {
- $ret['member_avatar'] = $path;
- }
- else
- {
- $url = UPLOAD_SITE_URL . "/shop/avatar{$path}";
- $ret['member_avatar'] = $url;
- }
- }
- else
- {
- $ret[$key] = $_SESSION[$key];
- }
- }
- }
- $ret['qrcode'] = session_helper::qrcode();
- $ret['sub_titles'] = $this->sub_titles();
- $ret['is_vip'] = session_helper::isVip();
- $card_list = mtopcard\priority_cards(session_helper::memberid());
- $ret['cards'] = mtopcard\topcard_format($card_list);
- $ret['mini_code'] = $this->mini_code();
- $usercards = new mcard\user_mcards(session_helper::memberid());
- $ret['vip_left_amount'] = $usercards->left_amount();
- if ($ret['member_sex'] == 2) {
- $ret['member_sex'] = 0;
- }
- return $ret;
- }
- private function mini_code()
- {
- $uid = session_helper::memberid();
- $passwd = util::passwd;
- $name = md5("{$uid}.{$passwd}") . ".png";
- $save_path = BASE_UPLOAD_PATH . DS . ATTACH_MINI_QRCODE . DS . $name;
- $url = UPLOAD_SITE_URL . DS . ATTACH_MINI_QRCODE . DS . $name;
- if(!file_exists($save_path)) {
- QueueClient::push('makeMemberMiniQrCode',['member_id' => $uid]);
- }
- return $url;
- }
- }
|