Esempio n. 1
0
 /**
  * QQ微博登录
  */
 public function public_qq_login()
 {
     define('QQ_AKEY', pc_base::load_config('system', 'qq_akey'));
     define('QQ_SKEY', pc_base::load_config('system', 'qq_skey'));
     pc_base::load_app_class('qqoauth', '', 0);
     $this->_session_start();
     if (isset($_GET['callback']) && trim($_GET['callback'])) {
         $o = new WeiboOAuth(QQ_AKEY, QQ_SKEY, $_SESSION['keys']['oauth_token'], $_SESSION['keys']['oauth_token_secret']);
         $_SESSION['last_key'] = $o->getAccessToken($_REQUEST['oauth_verifier']);
         if (!empty($_SESSION['last_key']['name'])) {
             //检查connect会员是否绑定,已绑定直接登录,未绑定提示注册/绑定页面
             $where = array('connectid' => $_REQUEST['openid'], 'from' => 'qq');
             $r = $this->db->get_one($where);
             //connect用户已经绑定本站用户
             if (!empty($r)) {
                 //读取本站用户信息,执行登录操作
                 $password = $r['password'];
                 $this->_init_phpsso();
                 $synloginstr = $this->client->ps_member_synlogin($r['phpssouid']);
                 $userid = $r['userid'];
                 $groupid = $r['groupid'];
                 $username = $r['username'];
                 $nickname = empty($r['nickname']) ? $username : $r['nickname'];
                 $this->db->update(array('lastip' => ip(), 'lastdate' => SYS_TIME, 'nickname' => $me['name']), array('userid' => $userid));
                 if (!$cookietime) {
                     $get_cookietime = param::get_cookie('cookietime');
                 }
                 $_cookietime = $cookietime ? intval($cookietime) : ($get_cookietime ? $get_cookietime : 0);
                 $cookietime = $_cookietime ? TIME + $_cookietime : 0;
                 $phpcms_auth = sys_auth($userid . "\t" . $password, 'ENCODE', get_auth_key('login'));
                 param::set_cookie('auth', $phpcms_auth, $cookietime);
                 param::set_cookie('_userid', $userid, $cookietime);
                 param::set_cookie('_username', $username, $cookietime);
                 param::set_cookie('_groupid', $groupid, $cookietime);
                 param::set_cookie('cookietime', $_cookietime, $cookietime);
                 param::set_cookie('_nickname', $nickname, $cookietime);
                 param::set_cookie('_from', 'snda');
                 $forward = isset($_GET['forward']) && !empty($_GET['forward']) ? $_GET['forward'] : 'index.php?m=member&c=index';
                 showmessage(L('login_success') . $synloginstr, $forward);
             } else {
                 //弹出绑定注册页面
                 $_SESSION = array();
                 $_SESSION['connectid'] = $_REQUEST['openid'];
                 $_SESSION['from'] = 'qq';
                 $connect_username = $_SESSION['last_key']['name'];
                 //加载用户模块配置
                 $member_setting = getcache('member_setting');
                 if (!$member_setting['allowregister']) {
                     showmessage(L('deny_register'), 'index.php?m=member&c=index&a=login');
                 }
                 //获取用户siteid
                 $siteid = isset($_REQUEST['siteid']) && trim($_REQUEST['siteid']) ? intval($_REQUEST['siteid']) : 1;
                 //过滤非当前站点会员模型
                 $modellist = getcache('member_model', 'commons');
                 foreach ($modellist as $k => $v) {
                     if ($v['siteid'] != $siteid || $v['disabled']) {
                         unset($modellist[$k]);
                     }
                 }
                 if (empty($modellist)) {
                     showmessage(L('site_have_no_model') . L('deny_register'), HTTP_REFERER);
                 }
                 $modelid = 10;
                 //设定默认值
                 if (array_key_exists($modelid, $modellist)) {
                     //获取会员模型表单
                     require CACHE_MODEL_PATH . 'member_form.class.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;
                 }
                 include template('member', 'connect');
             }
         } else {
             showmessage(L('login_failure'), 'index.php?m=member&c=index&a=login');
         }
     } else {
         $oauth_callback = APP_PATH . 'index.php?m=member&c=index&a=public_qq_login&callback=1';
         $oauth_nonce = md5(SYS_TIME);
         $oauth_signature_method = 'HMAC-SHA1';
         $oauth_timestamp = SYS_TIME;
         $oauth_version = '1.0';
         $url = "https://open.t.qq.com/cgi-bin/request_token?oauth_callback={$oauth_callback}&oauth_consumer_key=" . QQ_AKEY . "&oauth_nonce={$oauth_nonce}&oauth_signature=" . QQ_SKEY . "&oauth_signature_method=HMAC-SHA1&oauth_timestamp={$oauth_timestamp}&oauth_version={$oauth_version}";
         $o = new WeiboOAuth(QQ_AKEY, QQ_SKEY);
         $keys = $o->getRequestToken(array('callback' => $oauth_callback));
         $_SESSION['keys'] = $keys;
         $aurl = $o->getAuthorizeURL($keys['oauth_token'], false, $oauth_callback);
         include template('member', 'connect_qq');
     }
 }
Esempio n. 2
0
 /**
  * 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');
     }
 }
Esempio n. 3
0
 /**
  * 会员注册
  */
 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');
     }
 }
Esempio n. 4
0
 /**
  * 修改会员
  */
 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');
     }
 }
Esempio n. 5
0
File: index.php Progetto: hxzyzz/ddc
	public function account_manage_info() {
		if(isset($_POST['dosubmit'])) {
			//更新用户昵称
			$nickname = isset($_POST['nickname']) && trim($_POST['nickname']) ? trim($_POST['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');
		}
	}