member_info.php 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. <?php
  2. /**
  3. * 获取用户信息
  4. ***/
  5. defined('InShopNC') or exit('Access Invalid!');
  6. require_once(BASE_ROOT_PATH . '/helper/text_filter.php');
  7. require_once(BASE_ROOT_PATH . '/helper/FileUploader.php');
  8. require_once(BASE_ROOT_PATH . '/helper/relation_helper.php');
  9. require_once(BASE_ROOT_PATH . '/helper/util_helper.php');
  10. require_once(BASE_RESOURCE_PATH . '/phpqrcode/index.php');
  11. class member_infoControl extends mbMemberControl
  12. {
  13. public function __construct()
  14. {
  15. parent::__construct();
  16. }
  17. public function getinfoOp()
  18. {
  19. $this->getOp();
  20. }
  21. public function getOp()
  22. {
  23. $fields = array('member_sex','member_nickname','member_truename','member_signname','member_birthday','member_mobile','member_avatar');
  24. $ret = array();
  25. foreach($fields as $key)
  26. {
  27. if(array_key_exists($key,$_SESSION))
  28. {
  29. if($key == 'member_birthday') {
  30. $time = $_SESSION[$key];
  31. $birthday = strtotime($time);
  32. $ret[$key] = ($birthday == false) ? '0' : $birthday;
  33. }
  34. elseif($key == 'member_avatar')
  35. {
  36. $path = $_SESSION[$key];
  37. if(empty($path)) {
  38. $ret['member_avatar'] = "";
  39. }
  40. else
  41. {
  42. if(strncasecmp($path,"http://",strlen("http://")) == 0) {
  43. $ret['member_avatar'] = $path;
  44. } else {
  45. $url = UPLOAD_SITE_URL . "/shop/avatar{$path}";
  46. $ret['member_avatar'] = $url;
  47. }
  48. }
  49. }
  50. else {
  51. $ret[$key] = $_SESSION[$key];
  52. }
  53. }
  54. }
  55. $ret['qrcode'] = $this->qrcode();
  56. $ret['sub_titles'] = ['qrcode' => '邀请好友领30元五折红包'];
  57. self::outsuccess($ret);
  58. }
  59. private function upfile($img,&$err)
  60. {
  61. $member_id = $_SESSION['member_id'];
  62. $upload = new FileUploader();
  63. if($upload->init_files($img,$member_id,$err) == false) {
  64. return false;
  65. }
  66. $upload_dir = ATTACH_AVATAR.DS.$member_id.DS;
  67. $upload->set('default_dir',$upload_dir.$upload->getSysSetPath());
  68. $thumb_width = '480,1024';
  69. $thumb_height = '480,1024';
  70. $upload->set('max_size',C('image_max_filesize'));
  71. $upload->set('thumb_width', $thumb_width);
  72. $upload->set('thumb_height',$thumb_height);
  73. $upload->set('fprefix',$member_id);
  74. $upload->set('thumb_ext', '_240,_1024');
  75. $result = $upload->upfile('file');
  76. if($result == true) {
  77. return $upload->file_name;
  78. } else {
  79. $err = array('code' => errcode::ErrUpfile, 'msg' => $upload->error);
  80. return false;
  81. }
  82. }
  83. private function file_path()
  84. {
  85. $file_path = $_POST["file_path"];
  86. if(file_exists($file_path) == false) {
  87. $file_path = BASE_ROOT_PATH . '/data/upload/uploadtmp' . $file_path;
  88. }
  89. return $file_path;
  90. }
  91. public function upavatarOp()
  92. {
  93. $file_path = $this->file_path();
  94. $member_id = $_SESSION['member_id'];
  95. $file_name = $this->upfile($file_path,$err);
  96. if($file_name == false) {
  97. return self::outerr(errcode::ErrUploadFileFailed);
  98. }
  99. $file_path = DS.$member_id.DS.$file_name;
  100. $ret = Model("member")->editMember(array('member_id' => $member_id),array('member_avatar' => $file_path));
  101. if ($ret) {
  102. $_SESSION['member_avatar'] = $file_path;
  103. $url = UPLOAD_SITE_URL . "/shop/avatar{$file_path}";
  104. return self::outsuccess(array('member_avatar' => $url));
  105. } else {
  106. return self::outerr(errcode::ErrDB);
  107. }
  108. }
  109. public function upcontactsOp()
  110. {
  111. $contacts = session_helper::parse_contacts($_POST["contact_list"]);
  112. if ($contacts == false) {
  113. return self::outerr(errcode::ErrParamter);
  114. }
  115. relation_helper::onUpContacts($_SESSION['member_id'],$contacts);
  116. return self::outsuccess(NULL);
  117. }
  118. public function updateinfoOp()
  119. {
  120. $this->editOp();
  121. }
  122. public function editOp()
  123. {
  124. $member_nickname = urldecode($_GET['nickname']);
  125. $member_truename = urldecode($_GET['truename']);
  126. $member_signname = urldecode($_GET['signname']);
  127. $member_sex = trim(urldecode($_GET['sex']));
  128. $member_birthday = trim(urldecode(($_GET['birthday'])));
  129. $update = array();
  130. if (is_numeric($member_sex))
  131. {
  132. $iSex = intval($member_sex);
  133. if($iSex == 0 || $iSex == 1) {
  134. $update['member_sex'] = $member_sex;
  135. }
  136. }
  137. if(isset($member_nickname) && !empty($member_nickname)) {
  138. $member_nickname = text_filter::filter_input($member_nickname);
  139. $update['member_nickname'] = $member_nickname;
  140. }
  141. if(isset($member_truename) && !empty($member_truename)) {
  142. $member_truename = text_filter::filter_input($member_truename);
  143. $update['member_truename'] = $member_truename;
  144. }
  145. if(isset($member_signname) && !empty($member_signname)) {
  146. $member_signname = text_filter::filter_input($member_signname);
  147. $update['member_signname'] = $member_signname;
  148. }
  149. if(isset($member_birthday))
  150. {
  151. $itm = intval($member_birthday);
  152. if($itm > 0 && $member_birthday = strftime("%Y-%m-%d",$member_birthday)) {
  153. $update['member_birthday'] = $member_birthday;
  154. }
  155. }
  156. if(empty($update)) {
  157. return self::outerr(errcode::ErrInputParam);
  158. }
  159. $mod = Model('member');
  160. $ret = $mod->editMember(array('member_id' => $_SESSION['member_id']),$update);
  161. if($ret && $mod->affected_rows() > 0)
  162. {
  163. foreach($update as $key => $val) {
  164. $_SESSION[$key] = $val;
  165. }
  166. self::outsuccess(array('ret' => 1 ));
  167. }
  168. else {
  169. self::outsuccess(array('ret' => 1 ));
  170. }
  171. }
  172. public function modifypassOp()
  173. {
  174. $oldpasswd = trim($_GET['oldpasswd']);
  175. $newpasswd = trim($_GET['newpasswd']);
  176. // 校验原有用户内容
  177. $model = Model('member');
  178. $oldpasswd = empty($oldpasswd) ? '' : md5($oldpasswd);
  179. $newpasswd = empty($newpasswd) ? '' : md5($newpasswd);
  180. $ret = $model->editMember(array('member_id' => $_SESSION['member_id'],'member_passwd' => $oldpasswd))->update(array('member_passwd' => $newpasswd));
  181. if ($ret === false) {
  182. return self::outerr(errcode::ErrPasswd);
  183. } else {
  184. return self::outsuccess(NULL);
  185. }
  186. }
  187. private function qrcode()
  188. {
  189. $passwd = util::passwd;
  190. $member_id = $_SESSION['member_id'];
  191. $path = DS.ATTACH_MQRCODE.DS;
  192. $en_name = md5("{$member_id}.{$passwd}");
  193. $name = "{$en_name}.png";
  194. $filename = BASE_UPLOAD_PATH . $path . $name;
  195. if (!file_exists($filename)) {
  196. $url = util::member_index($member_id);
  197. util::qrcode($url,$name);
  198. }
  199. $qurl = UPLOAD_SITE_URL . $path . $name;
  200. return $qurl;
  201. }
  202. public function qrcodeOp()
  203. {
  204. $url = $this->qrcode();
  205. return self::outsuccess(['url' => $url]);
  206. }
  207. /**
  208. * 微信绑定
  209. *
  210. * 输入参数:
  211. * wx_openid 微信id
  212. * user_info: 用户信息
  213. */
  214. // public function bindOp()
  215. // {
  216. // $wx_openid = trim($_GET['wx_openid']);
  217. // $wx_info = trim($_GET['user_info']);
  218. //
  219. // Log::record("wechat info={$wx_info}",Log::DEBUG);
  220. //
  221. // // 输入内容判断
  222. // $validator = new Validate();
  223. // $validator->setValidate(Validate::verify_openid($wx_openid));
  224. // $err = $validator->validate();
  225. // if ($err != '') {
  226. // return self::outerr(errcode::ErrInputParam);
  227. // }
  228. //
  229. // // 判断是否处理
  230. // $model = Model('member');
  231. // $ret = $model->editMember(array('member_id' => $_SESSION['member_id']), array('member_wxopenid' => $wx_openid, 'wx_info' => serialize($wx_info)));
  232. // if ($ret == false) {
  233. // return self::outerr(errcode::ErrDB);
  234. // } else {
  235. // return self::outsuccess(NULL);
  236. // }
  237. // }
  238. }