public function account_manage_info() { if (isset($_POST['dosubmit'])) { //更新用户昵称 $nickname = isset($_POST['nickname']) && is_username(trim($_POST['nickname'])) ? trim($_POST['nickname']) : ''; $nickname = safe_replace($nickname); if ($nickname) { $this->db->update(array('nickname' => $nickname), array('userid' => $this->memberinfo['userid'])); if (!isset($cookietime)) { $get_cookietime = param::get_cookie('cookietime'); } $_cookietime = $cookietime ? intval($cookietime) : ($get_cookietime ? $get_cookietime : 0); $cookietime = $_cookietime ? TIME + $_cookietime : 0; param::set_cookie('_nickname', $nickname, $cookietime); } require_once CACHE_MODEL_PATH . 'member_input.class.php'; require_once CACHE_MODEL_PATH . 'member_update.class.php'; $member_input = new member_input($this->memberinfo['modelid']); $modelinfo = $member_input->get($_POST['info']); $this->db->set_model($this->memberinfo['modelid']); $membermodelinfo = $this->db->get_one(array('userid' => $this->memberinfo['userid'])); if (!empty($membermodelinfo)) { $this->db->update($modelinfo, array('userid' => $this->memberinfo['userid'])); } else { $modelinfo['userid'] = $this->memberinfo['userid']; $this->db->insert($modelinfo); } showmessage(L('operation_success'), HTTP_REFERER); } else { $memberinfo = $this->memberinfo; //获取会员模型表单 require CACHE_MODEL_PATH . 'member_form.class.php'; $member_form = new member_form($this->memberinfo['modelid']); $this->db->set_model($this->memberinfo['modelid']); $membermodelinfo = $this->db->get_one(array('userid' => $this->memberinfo['userid'])); $forminfos = $forminfos_arr = $member_form->get($membermodelinfo); //万能字段过滤 foreach ($forminfos as $field => $info) { if ($info['isomnipotent']) { unset($forminfos[$field]); } else { if ($info['formtype'] == 'omnipotent') { foreach ($forminfos_arr as $_fm => $_fm_value) { if ($_fm_value['isomnipotent']) { $info['form'] = str_replace('{' . $_fm . '}', $_fm_value['form'], $info['form']); } } $forminfos[$field]['form'] = $info['form']; } } } $formValidator = $member_form->formValidator; include template('member', 'account_manage_info'); } }
public function check_manage_info() { if (isset($_POST['dosubmit'])) { $userid = $_POST['userid']; //更新用户企业名称 $nickname = isset($_POST['nickname']) ? trim($_POST['nickname']) : ''; //$groupid = isset($_POST['groupid']) ? trim($_POST['groupid']) : 10; $nickname = safe_replace($nickname); $status = $_POST['status']; //echo $nickname; if ($nickname) { $this->db->update(array('nickname' => $nickname, 'status' => $status), array('userid' => $this->memberinfo['userid'])); if (!isset($cookietime)) { $get_cookietime = param::get_cookie('cookietime'); } //更新用户状态 if (pc_base::load_config('system', 'phpsso')) { //初始化phpsso $this->_init_phpsso(); $res = $this->client->ps_member_edit($this->memberinfo['username'], '', '', '', '', '', $status); $message_error = array('-1' => L('user_not_exist'), '-2' => L('old_password_incorrect'), '-3' => L('email_already_exist'), '-4' => L('email_error'), '-5' => L('param_error')); if ($res < 0) { showmessage($message_error[$res]); } } } $_cookietime = $cookietime ? intval($cookietime) : ($get_cookietime ? $get_cookietime : 0); $cookietime = $_cookietime ? TIME + $_cookietime : 0; param::set_cookie('_nickname', $nickname, $cookietime); param::set_cookie('_status', $status, $cookietime); //} require_once CACHE_MODEL_PATH . 'member_input.class.php'; require_once CACHE_MODEL_PATH . 'member_update.class.php'; $member_input = new member_input($this->memberinfo['modelid']); $modelinfo = $member_input->get($_POST['info']); $this->db->set_model($this->memberinfo['modelid']); $membermodelinfo = $this->db->get_one(array('userid' => $this->memberinfo['userid'])); if (!empty($membermodelinfo)) { $this->db->update($modelinfo, array('userid' => $this->memberinfo['userid'])); } else { $modelinfo['userid'] = $this->memberinfo['userid']; $this->db->insert($modelinfo); } $type = $_POST['type']; //TODO //echo $type;die; $nextType = array('basic' => array('url' => 'index.php?&menu=1&m=member&c=index&a=account_manage_info&type=pro&t=59&pt=55', 'text' => '<span style="color:rgb(2,161,208);">保存成功,请填写生产经营信息</span>'), 'pro' => array('url' => 'index.php?&menu=1&m=member&c=index&a=account_manage_info&type=kej&t=60&pt=55', 'text' => '<span style="color:rgb(2,161,208);">保存成功,请填写科技创新信息</span>')); if (isset($nextType[$type])) { $url = str_replace($type, $nextType[$type], HTTP_REFERER); showmessage($nextType[$type]['text'], $nextType[$type]['url'], 1000000); } else { showmessage(L('operation_success'), HTTP_REFERER); } } else { $memberinfo = $this->memberinfo; $memberinfo['userid'] = $_GET['userid']; $memberinfo['modelid'] = $_GET['modelid']; $memberinfo = $this->db->get_one(array('userid' => $memberinfo['userid'])); //获取企业模型表单 require CACHE_MODEL_PATH . 'member_form.class.php'; $member_form = new member_form($memberinfo['modelid']); $this->db->set_model($memberinfo['modelid']); $membermodelinfo = $this->db->get_one(array('userid' => $memberinfo['userid'])); //print_r($membermodelinfo); $forminfos = $forminfos_arr = $member_form->get($membermodelinfo); //万能字段过滤 foreach ($forminfos as $field => $info) { if ($info['isomnipotent']) { unset($forminfos[$field]); } else { if ($info['formtype'] == 'omnipotent') { foreach ($forminfos_arr as $_fm => $_fm_value) { if ($_fm_value['isomnipotent']) { $info['form'] = str_replace('{' . $_fm . '}', $_fm_value['form'], $info['form']); } } $forminfos[$field]['form'] = $info['form']; } } } if ($_POST['type'] == 'pro') { } $formValidator = $member_form->formValidator; include template('member', 'check_manage_info'); } }
/** * 修改会员 */ public function edit() { if (isset($_POST['dosubmit'])) { $memberinfo = $info = array(); $basicinfo['userid'] = $_POST['info']['userid']; $basicinfo['username'] = $_POST['info']['username']; $basicinfo['mobile'] = $_POST['info']['mobile']; $basicinfo['nickname'] = $_POST['info']['nickname']; $basicinfo['email'] = $_POST['info']['email']; $basicinfo['point'] = $_POST['info']['point']; $basicinfo['password'] = $_POST['info']['password']; $basicinfo['groupid'] = $_POST['info']['groupid']; $basicinfo['modelid'] = $_POST['info']['modelid']; $basicinfo['vip'] = isset($_POST['info']['vip']) ? intval($_POST['info']['vip']) : 0; $basicinfo['overduedate'] = isset($_POST['info']['overduedate']) && !empty($_POST['info']['overduedate']) ? strtotime($_POST['info']['overduedate']) : 0; // 会员基本信息 $info = $this->_checkuserinfo($basicinfo, 1); // 会员模型信息 $modelinfo = array_diff($_POST['info'], $info); // 过滤vip过期时间 unset($modelinfo['overduedate']); unset($modelinfo['pwdconfirm']); $userid = $info['userid']; $userinfo = $this->db->getby_userid($userid); if (empty($userinfo)) { showmessage(L('user_not_exist') . L('or') . L('no_permission'), HTTP_REFERER); } // 删除用户头像 if (!empty($_POST['delavatar'])) { if (ucenter_exists()) { Loader::lib('member:uc_client')->uc_user_deleteavatar($userinfo['ucenterid']); } else { $dir1 = ceil($userinfo['userid'] / 10000); $dir2 = ceil($userinfo['userid'] % 10000 / 1000); // 图片存储文件夹 $avatarfile = DATA_PATH . 'avatar/'; $dir = $avatarfile . $dir1 . '/' . $dir2 . '/' . $userinfo['userid'] . '/'; $this->db->where(array('userid' => $userinfo['userid']))->update(array('avatar' => 0)); if (file_exists($dir)) { if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file !== '.' && $file !== '..') { @unlink($dir . $file); } } closedir($handle); @rmdir($dir); } } } } if (ucenter_exists()) { $res = Loader::lib('member:uc_client')->uc_user_edit($info['username'], '', $info['password'], $info['email'], 1); if ($res < 0) { showmessage(L('ucenter_operation_failure'), HTTP_REFERER); } } unset($info['userid']); unset($info['username']); // 如果密码不为空,修改用户密码。 if (isset($info['password']) && !empty($info['password'])) { $info['password'] = password($info['password'], $userinfo['encrypt']); } else { unset($info['password']); } $this->db->where(array('userid' => $userid))->update($info); require_once CACHE_MODEL_PATH . 'member_input.php'; require_once CACHE_MODEL_PATH . 'member_update.php'; $member_input = new member_input($basicinfo['modelid']); $modelinfo = $member_input->get($modelinfo); // 更新模型表,方法更新了$this->table $this->db->set_model($info['modelid']); $userinfo = $this->db->getby_userid($userid); if ($userinfo) { if ($modelinfo) { $this->db->where(array('userid' => $userid))->update($modelinfo); } } else { $modelinfo['userid'] = $userid; $this->db->insert($modelinfo); } showmessage(L('operation_success'), U('member/member/manage'), '', 'edit'); } else { $show_header = $show_scroll = true; $userid = isset($_GET['userid']) ? $_GET['userid'] : showmessage(L('illegal_parameters'), HTTP_REFERER); // 会员组缓存 $group_cache = S('member/grouplist'); foreach ($group_cache as $_key => $_value) { $grouplist[$_key] = $_value['name']; } // 会员模型缓存 $member_model_cache = S('common/member_model'); foreach ($member_model_cache as $_key => $_value) { $modellist[$_key] = $_value['name']; } $memberinfo = $this->db->getby_userid($userid); if (empty($memberinfo)) { showmessage(L('user_not_exist') . L('or') . L('no_permission'), HTTP_REFERER); } $memberinfo['avatar'] = get_memberavatar($memberinfo['userid'], 90); $modelid = isset($_GET['modelid']) ? $_GET['modelid'] : $memberinfo['modelid']; // 获取会员模型表单 require CACHE_MODEL_PATH . 'member_form.php'; $member_form = new member_form($modelid); $form_overdudate = Form::date('info[overduedate]', isset($memberinfo['overduedate']) && !empty($memberinfo['overduedate']) ? date('Y-m-d H:i:s', $memberinfo['overduedate']) : '', 1); $this->db->set_model($modelid); $membermodelinfo = $this->db->getby_userid($userid); $forminfos = $forminfos_arr = $member_form->get($membermodelinfo); // 万能字段过滤 foreach ($forminfos as $field => $info) { if ($info['isomnipotent']) { unset($forminfos[$field]); } else { if ($info['formtype'] == 'omnipotent') { foreach ($forminfos_arr as $_fm => $_fm_value) { if ($_fm_value['isomnipotent']) { $info['form'] = str_replace('{' . $_fm . '}', $_fm_value['form'], $info['form']); } } $forminfos[$field]['form'] = $info['form']; } } } $show_dialog = 1; include $this->view('member_edit'); } }
/** * edit member */ function edit() { if (isset($_POST['dosubmit'])) { $memberinfo = $info = array(); $basicinfo['userid'] = $_POST['info']['userid']; $basicinfo['username'] = $_POST['info']['username']; $basicinfo['nickname'] = $_POST['info']['nickname']; $basicinfo['email'] = $_POST['info']['email']; $basicinfo['point'] = $_POST['info']['point']; $basicinfo['password'] = $_POST['info']['password']; $basicinfo['groupid'] = $_POST['info']['groupid']; $basicinfo['modelid'] = $_POST['info']['modelid']; $basicinfo['vip'] = $_POST['info']['vip']; $basicinfo['overduedate'] = strtotime($_POST['info']['overduedate']); //会员基本信息 $info = $this->_checkuserinfo($basicinfo, 1); //会员模型信息 $modelinfo = array_diff($_POST['info'], $info); //过滤vip过期时间 unset($modelinfo['overduedate']); unset($modelinfo['pwdconfirm']); $userid = $info['userid']; //如果是超级管理员角色,显示所有用户,否则显示当前站点用户 if ($_SESSION['roleid'] == 1) { $where = array('userid' => $userid); } else { $siteid = get_siteid(); $where = array('userid' => $userid, 'siteid' => $siteid); } $userinfo = $this->db->get_one($where); if (empty($userinfo)) { showmessage(L('user_not_exist') . L('or') . L('no_permission'), HTTP_REFERER); } //删除用户头像 if (!empty($_POST['delavatar'])) { $this->client->ps_deleteavatar($userinfo['phpssouid']); } $status = $this->client->ps_member_edit($info['username'], $info['email'], '', $info['password'], $userinfo['phpssouid'], $userinfo['encrypt']); if ($status >= 0) { unset($info['userid']); unset($info['username']); //如果密码不为空,修改用户密码。 if (isset($info['password']) && !empty($info['password'])) { $info['password'] = password($info['password'], $userinfo['encrypt']); } else { unset($info['password']); } $this->db->update($info, array('userid' => $userid)); require_once CACHE_MODEL_PATH . 'member_input.class.php'; require_once CACHE_MODEL_PATH . 'member_update.class.php'; $member_input = new member_input($basicinfo['modelid']); $modelinfo = $member_input->get($modelinfo); //更新模型表,方法更新了$this->table $this->db->set_model($info['modelid']); $userinfo = $this->db->get_one(array('userid' => $userid)); if ($userinfo) { $this->db->update($modelinfo, array('userid' => $userid)); } else { $modelinfo['userid'] = $userid; $this->db->insert($modelinfo); } showmessage(L('operation_success'), '?m=member&c=member&a=manage', '', 'edit'); } else { showmessage(L('operation_failure'), HTTP_REFERER); } } else { $show_header = $show_scroll = true; $siteid = get_siteid(); $userid = isset($_GET['userid']) ? $_GET['userid'] : showmessage(L('illegal_parameters'), HTTP_REFERER); //会员组缓存 $group_cache = getcache('grouplist', 'member'); foreach ($group_cache as $_key => $_value) { $grouplist[$_key] = $_value['name']; } //会员模型缓存 $member_model_cache = getcache('member_model', 'commons'); foreach ($member_model_cache as $_key => $_value) { if ($siteid == $_value['siteid']) { $modellist[$_key] = $_value['name']; } } //如果是超级管理员角色,显示所有用户,否则显示当前站点用户 if ($_SESSION['roleid'] == 1) { $where = array('userid' => $userid); } else { $where = array('userid' => $userid, 'siteid' => $siteid); } $memberinfo = $this->db->get_one($where); if (empty($memberinfo)) { showmessage(L('user_not_exist') . L('or') . L('no_permission'), HTTP_REFERER); } $memberinfo['avatar'] = get_memberavatar($memberinfo['phpssouid'], '', 90); $modelid = isset($_GET['modelid']) ? $_GET['modelid'] : $memberinfo['modelid']; //获取会员模型表单 require CACHE_MODEL_PATH . 'member_form.class.php'; $member_form = new member_form($modelid); $form_overdudate = form::date('info[overduedate]', date('Y-m-d H:i:s', $memberinfo['overduedate']), 1); $this->db->set_model($modelid); $membermodelinfo = $this->db->get_one(array('userid' => $userid)); $forminfos = $forminfos_arr = $member_form->get($membermodelinfo); //万能字段过滤 foreach ($forminfos as $field => $info) { if ($info['isomnipotent']) { unset($forminfos[$field]); } else { if ($info['formtype'] == 'omnipotent') { foreach ($forminfos_arr as $_fm => $_fm_value) { if ($_fm_value['isomnipotent']) { $info['form'] = str_replace('{' . $_fm . '}', $_fm_value['form'], $info['form']); } } $forminfos[$field]['form'] = $info['form']; } } } $show_dialog = 1; include $this->admin_tpl('member_edit'); } }
/** * 会员注册 */ public function register() { if (!$this->member_setting['allowregister']) { // 判断是否允许注册 showmessage(L('deny_register'), U('member/passport/login')); } header("Cache-control: private"); if (isset($_POST['dosubmit'])) { // 验证码 if ($this->member_setting['enablcodecheck'] == '1') { // 开启验证码 if (!isset($_SESSION['connectid']) && (!isset($_POST['code']) && !checkcode($_POST['code']))) { showmessage(L('code_error')); } } // 组织用户数据 $userinfo = array(); $userinfo['username'] = isset($_POST['username']) && trim($_POST['username']) ? trim($_POST['username']) : showmessage(L('username_empty'), HTTP_REFERER); $userinfo['password'] = isset($_POST['password']) && trim($_POST['password']) ? trim($_POST['password']) : showmessage(L('password_empty'), HTTP_REFERER); $userinfo['email'] = isset($_POST['email']) && trim($_POST['email']) ? trim($_POST['email']) : showmessage(L('email_empty'), HTTP_REFERER); $userinfo['modelid'] = isset($_POST['modelid']) ? intval($_POST['modelid']) : 5; $userinfo['encrypt'] = String::rand_string(6); $userinfo['point'] = $this->member_setting['defualtpoint'] ? $this->member_setting['defualtpoint'] : 0; $userinfo['amount'] = $this->member_setting['defualtamount'] ? $this->member_setting['defualtamount'] : 0; $userinfo['mobile'] = ""; if ($this->member_setting['validation'] == 1) { // 是否需要邮件验证 $userinfo['groupid'] = 3; } elseif ($this->member_setting['validation'] == 2) { // 是否需要管理员审核 $userinfo['modelinfo'] = isset($_POST['info']) ? array2string($_POST['info']) : ''; $this->verify_db = Loader::model('member_verify_model'); $this->verify_db->insert($userinfo); showmessage(L('operation_success'), U('member/passport/verify', array('t' => 2)), 301); } else { // 查看当前模型是否开启了短信验证功能 $model_field_cache = S('model/member_field_' . $userinfo['modelid']); if (isset($model_field_cache['mobile']) && $model_field_cache['mobile']['disabled'] == 0) { } $userinfo['groupid'] = $this->api->_get_usergroup_bypoint($userinfo['point']); } // 开始注册会员 $userid = $this->api->add($userinfo); if ($userid > 0) { // 如果开启选择模型通过模型获取会员信息 if ($this->member_setting['choosemodel'] && isset($_POST['info'])) { require_once CACHE_MODEL_PATH . 'member_input.php'; require_once CACHE_MODEL_PATH . 'member_update.php'; $member_input = new member_input($userinfo['modelid']); $user_model_info = $member_input->get($_POST['info']); $user_model_info['userid'] = $userid; // 插入会员模型数据 $this->db->set_model($userinfo['modelid']); $this->db->insert($user_model_info, true, true); } // 执行登陆操作 $_cookietime = cookie('cookietime') ? cookie('cookietime') : 0; $cookietime = $_cookietime ? TIME + $_cookietime : 0; if ($userinfo['groupid'] == 3 && $this->member_setting['validation'] == 1) { // 如果需要邮箱认证 cookie('_username', $userinfo['username'], $cookietime); cookie('email', $userinfo['email'], $cookietime); $code = String::authcode($userid, 'ENCODE', $this->auth_key); $url = SITE_URL . "index.php?app=member&controller=passport&action=verify&code={$code}&verify=1"; $message = $this->member_setting['registerverifymessage']; $message = str_replace(array('{click}', '{url}'), array('<a href="' . $url . '">' . L('please_click') . '</a>', $url), $message); sendmail($userinfo['email'], L('reg_verify_email'), $message); // 设置当前注册账号COOKIE,为第二步重发邮件所用 cookie('_regusername', $userinfo['username'], $cookietime); cookie('_reguserid', $userid, $cookietime); showmessage(L('operation_success'), U('member/passport/verify', array('t' => 1)), 301); } else { $yuncms_auth = String::authcode($userid . "\t" . $userinfo['password'], 'ENCODE', $this->auth_key); $nickname = empty($userinfo['nickname']) ? $userinfo['username'] : $userinfo['nickname']; cookie('auth', $yuncms_auth, $cookietime); cookie('_userid', $userid, $cookietime); cookie('_username', $userinfo['username'], $cookietime); cookie('_groupid', $userinfo['groupid'], $cookietime); cookie('_nickname', $nickname, $cookietime); cookie('cookietime', $_cookietime, $cookietime); showmessage(L('operation_success'), U('member/index/init'), 301); } } else { switch ($userid) { case '-1': showmessage(L('username_illegal'), HTTP_REFERER); // 用户名不合法 break; case '-2': showmessage(L('username_deny'), HTTP_REFERER); // 用户名包含不允许注册的词语 break; case '-3': showmessage(L('member_exist'), HTTP_REFERER); // 用户名已存在 break; case '-4': showmessage(L('email_illegal'), HTTP_REFERER); // E-mail不合法 break; case '-5': showmessage(L('email_deny'), HTTP_REFERER); // E-mail不允许注册 break; case '-6': showmessage(L('email_already_exist'), HTTP_REFERER); // 该Email已经被注册 break; default: showmessage(L('operation_failure'), HTTP_REFERER); break; } } } else { $modellist = S('common/member_model'); if (empty($modellist)) { showmessage(L('site_have_no_model') . L('deny_register'), HTTP_REFERER); } // 是否开启选择会员模型选项 if ($this->member_setting['choosemodel']) { $first_model = array_pop(array_reverse($modellist)); $modelid = isset($_GET['modelid']) ? intval($_GET['modelid']) : $first_model['modelid']; if (array_key_exists($modelid, $modellist)) { // 获取会员模型表单 require CACHE_MODEL_PATH . 'member_form.php'; $member_form = new member_form($modelid); $this->db->set_model($modelid); $forminfos = $forminfos_arr = $member_form->get(); // 万能字段过滤 foreach ($forminfos as $field => $info) { if ($info['isomnipotent']) { unset($forminfos[$field]); } else { if ($info['formtype'] == 'omnipotent') { foreach ($forminfos_arr as $_fm => $_fm_value) { if ($_fm_value['isomnipotent']) { $info['form'] = str_replace('{' . $_fm . '}', $_fm_value['form'], $info['form']); } } $forminfos[$field]['form'] = $info['form']; } } } $formValidator = $member_form->formValidator; } } $description = $modellist[$modelid]['description']; $member_setting = $this->member_setting; include template('member', 'register'); } }