member_info.php 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  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_ROOT_PATH . '/helper/url_helper.php');
  11. require_once(BASE_RESOURCE_PATH . '/phpqrcode/index.php');
  12. class member_infoControl extends mbMemberControl
  13. {
  14. public function __construct()
  15. {
  16. parent::__construct();
  17. }
  18. public function getinfoOp()
  19. {
  20. $this->getOp();
  21. }
  22. public function getOp()
  23. {
  24. $fields = array('member_sex','member_nickname','member_truename','member_signname','member_birthday','member_mobile','member_avatar');
  25. $ret = array();
  26. foreach($fields as $key)
  27. {
  28. if(array_key_exists($key,$_SESSION))
  29. {
  30. if($key == 'member_birthday') {
  31. $time = $_SESSION[$key];
  32. $birthday = strtotime($time);
  33. $ret[$key] = ($birthday == false) ? '0' : $birthday;
  34. }
  35. elseif($key == 'member_avatar')
  36. {
  37. $path = $_SESSION[$key];
  38. if(empty($path)) {
  39. $ret['member_avatar'] = "";
  40. }
  41. else
  42. {
  43. if(util::ishttp($path)) {
  44. $ret['member_avatar'] = $path;
  45. } else {
  46. $url = UPLOAD_SITE_URL . "/shop/avatar{$path}";
  47. $ret['member_avatar'] = $url;
  48. }
  49. }
  50. }
  51. else {
  52. $ret[$key] = $_SESSION[$key];
  53. }
  54. }
  55. }
  56. $ret['qrcode'] = session_helper::qrcode();
  57. $ret['sub_titles'] = $this->sub_titles();
  58. if($ret['member_sex'] == 2) {
  59. $ret['member_sex'] = 0;
  60. }
  61. self::outsuccess($ret);
  62. }
  63. private function sub_titles()
  64. {
  65. $ret['qrcode'] = '扫上面的二维码图案,加我好友';
  66. $addr_num = session_helper::address_num();
  67. if($addr_num > 0) {
  68. $ret['addr_num'] = "{$addr_num}个";
  69. } else {
  70. $ret['addr_num'] = "尚未设置";
  71. }
  72. $favorate_num = session_helper::favorate_num();
  73. if($favorate_num > 0) {
  74. $ret['favorate_num'] = "{$favorate_num}个";
  75. } else {
  76. $ret['favorate_num'] = "尚未收藏";
  77. }
  78. $fcode_num = session_helper::fcode_num();
  79. if($fcode_num > 0) {
  80. $ret['fcode_num'] = "{$fcode_num}个可用";
  81. } else {
  82. $ret['fcode_num'] = "没有F码";
  83. }
  84. $mod_bargain = Model('room_bargain');
  85. $bargain_num = $mod_bargain->getBargainNumByUser(session_helper::memberid());
  86. if($bargain_num > 0) {
  87. $ret['bargain_num'] = "{$bargain_num}个砍价正在进行中";
  88. } else {
  89. $ret['bargain_num'] = "";
  90. }
  91. return $ret;
  92. }
  93. private function upfile($img,&$err)
  94. {
  95. $member_id = $_SESSION['member_id'];
  96. $upload = new FileUploader();
  97. if($upload->init_files($img,$member_id,$err) == false) {
  98. return false;
  99. }
  100. $upload_dir = ATTACH_AVATAR.DS.$member_id.DS;
  101. $upload->set('default_dir',$upload_dir.$upload->getSysSetPath());
  102. $thumb_width = '480,1024';
  103. $thumb_height = '480,1024';
  104. $upload->set('max_size',C('image_max_filesize'));
  105. $upload->set('thumb_width', $thumb_width);
  106. $upload->set('thumb_height',$thumb_height);
  107. $upload->set('fprefix',$member_id);
  108. $upload->set('thumb_ext', '_240,_1024');
  109. $result = $upload->upfile('file');
  110. if($result == true) {
  111. return $upload->file_name;
  112. } else {
  113. $err = array('code' => errcode::ErrUpfile, 'msg' => $upload->error);
  114. return false;
  115. }
  116. }
  117. private function file_path()
  118. {
  119. $file_path = $_POST["file_path"];
  120. if(file_exists($file_path) == false) {
  121. $file_path = BASE_ROOT_PATH . '/data/upload/upfile' . $file_path;
  122. }
  123. return $file_path;
  124. }
  125. public function upavatarOp()
  126. {
  127. $file_path = $this->file_path();
  128. $member_id = $_SESSION['member_id'];
  129. $file_name = $this->upfile($file_path,$err);
  130. if($file_name == false) {
  131. return self::outerr(errcode::ErrUploadFileFailed);
  132. }
  133. $file_path = DS.$member_id.DS.$file_name;
  134. $ret = Model("member")->editMember(array('member_id' => $member_id),array('member_avatar' => $file_path));
  135. if ($ret) {
  136. $_SESSION['member_avatar'] = $file_path;
  137. $url = UPLOAD_SITE_URL . "/shop/avatar{$file_path}";
  138. return self::outsuccess(array('member_avatar' => $url));
  139. } else {
  140. return self::outerr(errcode::ErrDB);
  141. }
  142. }
  143. public function upcontactsOp()
  144. {
  145. $contacts = session_helper::parse_contacts($_POST["contact_list"]);
  146. if ($contacts == false) {
  147. return self::outerr(errcode::ErrParamter);
  148. }
  149. relation_helper::onUpContacts($_SESSION['member_id'],$contacts);
  150. return self::outsuccess(NULL);
  151. }
  152. public function updateinfoOp()
  153. {
  154. $this->editOp();
  155. }
  156. public function editOp()
  157. {
  158. $member_nickname = urldecode($_GET['nickname']);
  159. $member_truename = urldecode($_GET['truename']);
  160. $member_signname = urldecode($_GET['signname']);
  161. $member_sex = trim(urldecode($_GET['sex']));
  162. $member_birthday = trim(urldecode(($_GET['birthday'])));
  163. $update = array();
  164. if (is_numeric($member_sex))
  165. {
  166. $iSex = intval($member_sex);
  167. if($iSex == 0 || $iSex == 1) {
  168. $update['member_sex'] = $member_sex;
  169. }
  170. }
  171. if(isset($member_nickname) && !empty($member_nickname)) {
  172. $member_nickname = text_filter::filter_input($member_nickname);
  173. $update['member_nickname'] = $member_nickname;
  174. }
  175. if(isset($member_truename) && !empty($member_truename)) {
  176. $member_truename = text_filter::filter_input($member_truename);
  177. $update['member_truename'] = $member_truename;
  178. }
  179. if(isset($member_signname) && !empty($member_signname)) {
  180. $member_signname = text_filter::filter_input($member_signname);
  181. $update['member_signname'] = $member_signname;
  182. }
  183. if(isset($member_birthday))
  184. {
  185. $itm = intval($member_birthday);
  186. if($itm > 0 && $member_birthday = strftime("%Y-%m-%d",$member_birthday)) {
  187. $update['member_birthday'] = $member_birthday;
  188. }
  189. }
  190. if(empty($update)) {
  191. return self::outerr(errcode::ErrInputParam);
  192. }
  193. $mod = Model('member');
  194. $ret = $mod->editMember(array('member_id' => $_SESSION['member_id']),$update);
  195. if($ret && $mod->affected_rows() > 0)
  196. {
  197. foreach($update as $key => $val) {
  198. $_SESSION[$key] = $val;
  199. }
  200. self::outsuccess(array('ret' => 1 ));
  201. }
  202. else {
  203. self::outsuccess(array('ret' => 1 ));
  204. }
  205. }
  206. public function modifypassOp()
  207. {
  208. $oldpasswd = trim($_GET['oldpasswd']);
  209. $newpasswd = trim($_GET['newpasswd']);
  210. // 校验原有用户内容
  211. $model = Model('member');
  212. $oldpasswd = empty($oldpasswd) ? '' : md5($oldpasswd);
  213. $newpasswd = empty($newpasswd) ? '' : md5($newpasswd);
  214. $ret = $model->editMember(array('member_id' => $_SESSION['member_id'],'member_passwd' => $oldpasswd))->update(array('member_passwd' => $newpasswd));
  215. if ($ret === false) {
  216. return self::outerr(errcode::ErrPasswd);
  217. } else {
  218. return self::outsuccess(NULL);
  219. }
  220. }
  221. public function qrcodeOp()
  222. {
  223. return self::outsuccess(['url' => session_helper::qrcode()]);
  224. }
  225. }