member_info.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  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/file_upload.php');
  8. class member_infoControl extends mbMemberControl
  9. {
  10. public function __construct()
  11. {
  12. parent::__construct();
  13. }
  14. public function getinfoOp()
  15. {
  16. $this->getOp();
  17. }
  18. public function getOp()
  19. {
  20. $fields = array('member_sex','member_nickname','member_truename','member_signname','member_birthday','member_mobile','member_avatar');
  21. $ret = array();
  22. foreach($fields as $val)
  23. {
  24. if(array_key_exists($val,$_SESSION))
  25. {
  26. if($val == 'member_birthday') {
  27. $time = $_SESSION[$val];
  28. $birthday = strtotime($time);
  29. $ret[$val] = ($birthday == false) ? '' : $birthday;
  30. }
  31. elseif($val == 'member_avatar')
  32. {
  33. $path = $_SESSION[$val];
  34. if(empty($path)) {
  35. $ret['member_avatar'] = "";
  36. }
  37. else
  38. {
  39. if(strncasecmp($path,"http://",strlen("http://")) == 0) {
  40. $ret['member_avatar'] = $path;
  41. } else {
  42. $url = UPLOAD_SITE_URL . "/shop/avatar/{$path}";
  43. $ret['member_avatar'] = $url;
  44. }
  45. }
  46. }
  47. else {
  48. $ret[$val] = $_SESSION[$val];
  49. }
  50. }
  51. }
  52. self::outsuccess($ret);
  53. }
  54. public function upavatarOp()
  55. {
  56. $member_id = $_SESSION['member_id'];
  57. if (!isset($member_id)) {
  58. return self::outerr(errcode::ErrUploadFileFailed);
  59. }
  60. $result = FileUpload::upload_avatar($file_path);
  61. if($result == false) {
  62. return self::outerr(errcode::ErrUploadFileFailed);
  63. }
  64. $file_path = str_replace(BASE_AVATAR_PATH, '', $file_path);
  65. $ret = Model("member")->editMember(array('member_id' => $member_id),array('member_avatar' => $file_path));
  66. if ($ret) {
  67. $prev_avatar_path = $_SESSION['member_avatar'];
  68. if (isset($prev_avatar_path) && !empty($prev_avatar_path)) {
  69. @unlink(BASE_AVATAR_PATH . $prev_avatar_path);
  70. }
  71. $_SESSION['member_avatar'] = $file_path;
  72. $url = UPLOAD_SITE_URL . "/shop/avatar/{$file_path}";
  73. return self::outsuccess(array('member_avatar' => $url));
  74. } else {
  75. return self::outerr(errcode::ErrDB);
  76. }
  77. }
  78. public function updateinfoOp()
  79. {
  80. $this->editOp();
  81. }
  82. public function editOp()
  83. {
  84. $member_nickname = urldecode($_GET['nickname']);
  85. $member_truename = urldecode($_GET['truename']);
  86. $member_signname = urldecode($_GET['signname']);
  87. $member_sex = trim(urldecode($_GET['sex']));
  88. $member_birthday = trim(urldecode(($_GET['birthday'])));
  89. $update = array();
  90. if (is_numeric($member_sex))
  91. {
  92. $iSex = intval($member_sex);
  93. if($iSex == 0 || $iSex == 1) {
  94. $update['member_sex'] = $member_sex;
  95. }
  96. }
  97. if(isset($member_nickname)) {
  98. $member_nickname = text_filter::filter_input($member_nickname);
  99. $update['member_nickname'] = $member_nickname;
  100. }
  101. if(isset($member_truename)) {
  102. $member_truename = text_filter::filter_input($member_truename);
  103. $update['member_truename'] = $member_truename;
  104. }
  105. if(isset($member_signname)) {
  106. $member_signname = text_filter::filter_input($member_signname);
  107. $update['member_signname'] = $member_signname;
  108. }
  109. if(isset($member_birthday))
  110. {
  111. $itm = intval($member_birthday);
  112. if($itm > 0 && $member_birthday = strftime ("%Y-%m-%d",$member_birthday)) {
  113. $update['member_birthday'] = $member_birthday;
  114. } else {
  115. $update['member_birthday'] = NULL;
  116. }
  117. }
  118. if(empty($update)) {
  119. return self::outerr(errcode::ErrInputParam);
  120. }
  121. $ret = Model('member')->editMember(array('member_id' => $_SESSION['member_id']),$update);
  122. if($ret)
  123. {
  124. foreach($update as $key => $val)
  125. {
  126. if($key == 'member_birthday')
  127. {
  128. if($birthday = strftime ("%Y-%m-%d",$val)) {
  129. $update['member_birthday'] = $birthday;
  130. } else {
  131. $update['member_birthday'] = '';
  132. }
  133. $_SESSION['member_birthday'] = $birthday;
  134. } else {
  135. $_SESSION[$key] = $val;
  136. }
  137. }
  138. }
  139. self::outsuccess(array('ret' => $ret ? 1 : 0));
  140. }
  141. public function modifypassOp()
  142. {
  143. $oldpasswd = trim($_GET['oldpasswd']);
  144. $newpasswd = trim($_GET['newpasswd']);
  145. // 校验原有用户内容
  146. $model = Model('member');
  147. $oldpasswd = empty($oldpasswd) ? '' : md5($oldpasswd);
  148. $newpasswd = empty($newpasswd) ? '' : md5($newpasswd);
  149. $ret = $model->editMember(array('member_id' => $_SESSION['member_id'],'member_passwd' => $oldpasswd))->update(array('member_passwd' => $newpasswd));
  150. if ($ret === false) {
  151. return self::outerr(errcode::ErrPasswd);
  152. } else {
  153. return self::outsuccess(NULL);
  154. }
  155. }
  156. /**
  157. * 微信绑定
  158. *
  159. * 输入参数:
  160. * wx_openid 微信id
  161. * user_info: 用户信息
  162. */
  163. // public function bindOp()
  164. // {
  165. // $wx_openid = trim($_GET['wx_openid']);
  166. // $wx_info = trim($_GET['user_info']);
  167. //
  168. // Log::record("wechat info={$wx_info}",Log::DEBUG);
  169. //
  170. // // 输入内容判断
  171. // $validator = new Validate();
  172. // $validator->setValidate(Validate::verify_openid($wx_openid));
  173. // $err = $validator->validate();
  174. // if ($err != '') {
  175. // return self::outerr(errcode::ErrInputParam);
  176. // }
  177. //
  178. // // 判断是否处理
  179. // $model = Model('member');
  180. // $ret = $model->editMember(array('member_id' => $_SESSION['member_id']), array('member_wxopenid' => $wx_openid, 'wx_info' => serialize($wx_info)));
  181. // if ($ret == false) {
  182. // return self::outerr(errcode::ErrDB);
  183. // } else {
  184. // return self::outsuccess(NULL);
  185. // }
  186. // }
  187. }