member.php 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. <?php
  2. /**
  3. * 会员管理
  4. *
  5. *
  6. *
  7. **by 好商城V3 www.33hao.com 运营版*/
  8. defined('InShopNC') or exit('Access Invalid!');
  9. class memberControl extends SystemControl{
  10. const EXPORT_SIZE = 1000;
  11. public function __construct(){
  12. parent::__construct();
  13. Language::read('member');
  14. }
  15. /**
  16. * 会员管理
  17. */
  18. public function memberOp(){
  19. $lang = Language::getLangContent();
  20. $model_member = Model('member');
  21. /**
  22. * 删除
  23. */
  24. if (chksubmit()){
  25. /**
  26. * 判断是否是管理员,如果是,则不能删除
  27. */
  28. /**
  29. * 删除
  30. */
  31. if (!empty($_POST['del_id'])){
  32. if (is_array($_POST['del_id'])){
  33. foreach ($_POST['del_id'] as $k => $v){
  34. $v = intval($v);
  35. $rs = true;//$model_member->del($v);
  36. if ($rs){
  37. //删除该会员商品,店铺
  38. //获得该会员店铺信息
  39. $member = $model_member->getMemberInfo(array(
  40. 'member_id'=>$v
  41. ));
  42. //删除用户
  43. $model_member->del($v);
  44. }
  45. }
  46. }
  47. showMessage($lang['nc_common_del_succ']);
  48. }else {
  49. showMessage($lang['nc_common_del_fail']);
  50. }
  51. }
  52. //会员级别
  53. $member_grade = $model_member->getMemberGradeArr();
  54. if ($_GET['search_field_value'] != '') {
  55. switch ($_GET['search_field_name']){
  56. case 'member_name':
  57. $condition['member_name'] = array('like', '%' . trim($_GET['search_field_value']) . '%');
  58. break;
  59. case 'member_email':
  60. $condition['member_email'] = array('like', '%' . trim($_GET['search_field_value']) . '%');
  61. break;
  62. //好商 城v3- b11
  63. case 'member_mobile':
  64. $condition['member_mobile'] = array('like', '%' . trim($_GET['search_field_value']) . '%');
  65. break;
  66. case 'member_truename':
  67. $condition['member_truename'] = array('like', '%' . trim($_GET['search_field_value']) . '%');
  68. break;
  69. }
  70. }
  71. switch ($_GET['search_state']){
  72. case 'no_informallow':
  73. $condition['inform_allow'] = '2';
  74. break;
  75. case 'no_isbuy':
  76. $condition['is_buy'] = '0';
  77. break;
  78. case 'no_isallowtalk':
  79. $condition['is_allowtalk'] = '0';
  80. break;
  81. case 'no_memberstate':
  82. $condition['member_state'] = '0';
  83. break;
  84. }
  85. //会员等级
  86. $search_grade = intval($_GET['search_grade']);
  87. if ($search_grade >= 0 && $member_grade){
  88. $condition['member_exppoints'] = array(array('egt',$member_grade[$search_grade]['exppoints']),array('lt',$member_grade[$search_grade+1]['exppoints']),'and');
  89. }
  90. //排序
  91. $order = trim($_GET['search_sort']);
  92. if (empty($order)) {
  93. $order = 'member_id desc';
  94. }
  95. $member_list = $model_member->getMemberList($condition, '*', 10, $order);
  96. //整理会员信息
  97. if (is_array($member_list)){
  98. foreach ($member_list as $k=> $v){
  99. $member_list[$k]['member_time'] = $v['member_time']?date('Y-m-d H:i:s',$v['member_time']):'';
  100. $member_list[$k]['member_login_time'] = $v['member_login_time']?date('Y-m-d H:i:s',$v['member_login_time']):'';
  101. $member_list[$k]['member_grade'] = ($t = $model_member->getOneMemberGrade($v['member_exppoints'], false, $member_grade))?$t['level_name']:'';
  102. }
  103. }
  104. Tpl::output('member_grade',$member_grade);
  105. Tpl::output('search_sort',trim($_GET['search_sort']));
  106. Tpl::output('search_field_name',trim($_GET['search_field_name']));
  107. Tpl::output('search_field_value',trim($_GET['search_field_value']));
  108. Tpl::output('member_list',$member_list);
  109. Tpl::output('page',$model_member->showpage());
  110. Tpl::showpage('member.index');
  111. }
  112. /**
  113. * 会员修改
  114. */
  115. public function member_editOp(){
  116. $lang = Language::getLangContent();
  117. $model_member = Model('member');
  118. /**
  119. * 保存
  120. */
  121. if (chksubmit()){
  122. /**
  123. * 验证
  124. */
  125. $obj_validate = new Validate();
  126. $obj_validate->validateparam = array(
  127. array("input"=>$_POST["member_email"], "require"=>"true", 'validator'=>'Email', "message"=>$lang['member_edit_valid_email']),
  128. );
  129. $error = $obj_validate->validate();
  130. if ($error != ''){
  131. showMessage($error);
  132. }else {
  133. $update_array = array();
  134. $update_array['member_id'] = intval($_POST['member_id']);
  135. if (!empty($_POST['member_passwd'])){
  136. $update_array['member_passwd'] = md5($_POST['member_passwd']);
  137. }
  138. $update_array['member_email'] = $_POST['member_email'];
  139. $update_array['member_truename'] = $_POST['member_truename'];
  140. $update_array['member_sex'] = $_POST['member_sex'];
  141. $update_array['member_qq'] = $_POST['member_qq'];
  142. $update_array['member_ww'] = $_POST['member_ww'];
  143. $update_array['inform_allow'] = $_POST['inform_allow'];
  144. $update_array['is_buy'] = $_POST['isbuy'];
  145. $update_array['is_allowtalk'] = $_POST['allowtalk'];
  146. $update_array['member_state'] = $_POST['memberstate'];
  147. //v3-b11 新增
  148. $update_array['member_cityid'] = $_POST['city_id'];
  149. $update_array['member_provinceid'] = $_POST['province_id'];
  150. $update_array['member_areainfo'] = $_POST['area_info'];
  151. $update_array['member_mobile'] = $_POST['member_mobile'];
  152. $update_array['member_email_bind'] = intval($_POST['memberemailbind']);
  153. $update_array['member_mobile_bind'] = intval($_POST['membermobilebind']);
  154. if (!empty($_POST['member_avatar'])){
  155. $update_array['member_avatar'] = $_POST['member_avatar'];
  156. }
  157. $result = $model_member->editMember(array('member_id'=>intval($_POST['member_id'])),$update_array);
  158. if ($result){
  159. $url = array(
  160. array(
  161. 'url'=>'index.php?act=member&op=member',
  162. 'msg'=>$lang['member_edit_back_to_list'],
  163. ),
  164. array(
  165. 'url'=>'index.php?act=member&op=member_edit&member_id='.intval($_POST['member_id']),
  166. 'msg'=>$lang['member_edit_again'],
  167. ),
  168. );
  169. $this->log(L('nc_edit,member_index_name').'[ID:'.$_POST['member_id'].']',1);
  170. showMessage($lang['member_edit_succ'],$url);
  171. }else {
  172. showMessage($lang['member_edit_fail']);
  173. }
  174. }
  175. }
  176. $condition['member_id'] = intval($_GET['member_id']);
  177. $member_array = $model_member->getMemberInfo($condition);
  178. Tpl::output('member_array',$member_array);
  179. Tpl::showpage('member.edit');
  180. }
  181. /**
  182. * 新增会员
  183. */
  184. public function member_addOp(){
  185. $lang = Language::getLangContent();
  186. $model_member = Model('member');
  187. /**
  188. * 保存
  189. */
  190. if (chksubmit()){
  191. /**
  192. * 验证
  193. */
  194. $obj_validate = new Validate();
  195. $obj_validate->validateparam = array(
  196. array("input"=>$_POST["member_name"], "require"=>"true", "message"=>$lang['member_add_name_null']),
  197. array("input"=>$_POST["member_passwd"], "require"=>"true", "message"=>'密码不能为空'),
  198. array("input"=>$_POST["member_email"], "require"=>"true", 'validator'=>'Email', "message"=>$lang['member_edit_valid_email'])
  199. );
  200. $error = $obj_validate->validate();
  201. if ($error != ''){
  202. showMessage($error);
  203. }else {
  204. $insert_array = array();
  205. $insert_array['member_name'] = trim($_POST['member_name']);
  206. $insert_array['member_passwd'] = trim($_POST['member_passwd']);
  207. $insert_array['member_email'] = trim($_POST['member_email']);
  208. $insert_array['member_truename']= trim($_POST['member_truename']);
  209. $insert_array['member_sex'] = trim($_POST['member_sex']);
  210. $insert_array['member_qq'] = trim($_POST['member_qq']);
  211. $insert_array['member_ww'] = trim($_POST['member_ww']);
  212. //默认允许举报商品
  213. $insert_array['inform_allow'] = '1';
  214. if (!empty($_POST['member_avatar'])){
  215. $insert_array['member_avatar'] = trim($_POST['member_avatar']);
  216. }
  217. $result = $model_member->addMember($insert_array);
  218. if ($result){
  219. $url = array(
  220. array(
  221. 'url'=>'index.php?act=member&op=member',
  222. 'msg'=>$lang['member_add_back_to_list'],
  223. ),
  224. array(
  225. 'url'=>'index.php?act=member&op=member_add',
  226. 'msg'=>$lang['member_add_again'],
  227. ),
  228. );
  229. $this->log(L('nc_add,member_index_name').'[ '.$_POST['member_name'].']',1);
  230. showMessage($lang['member_add_succ'],$url);
  231. }else {
  232. showMessage($lang['member_add_fail']);
  233. }
  234. }
  235. }
  236. Tpl::showpage('member.add');
  237. }
  238. /**
  239. * ajax操作
  240. */
  241. public function ajaxOp(){
  242. switch ($_GET['branch']){
  243. /**
  244. * 验证会员是否重复
  245. */
  246. case 'check_user_name':
  247. $model_member = Model('member');
  248. $condition['member_name'] = $_GET['member_name'];
  249. $condition['member_id'] = array('neq',intval($_GET['member_id']));
  250. $list = $model_member->getMemberInfo($condition);
  251. if (empty($list)){
  252. echo 'true';exit;
  253. }else {
  254. echo 'false';exit;
  255. }
  256. break;
  257. /**
  258. * 验证邮件是否重复
  259. */
  260. case 'check_email':
  261. $model_member = Model('member');
  262. $condition['member_email'] = $_GET['member_email'];
  263. $condition['member_id'] = array('neq',intval($_GET['member_id']));
  264. $list = $model_member->getMemberInfo($condition);
  265. if (empty($list)){
  266. echo 'true';exit;
  267. }else {
  268. echo 'false';exit;
  269. }
  270. break;
  271. }
  272. }
  273. }