/phpcms/modules/member/classes/foreground.class.php
https://github.com/hxzyzz/ddc · PHP · 76 lines · 61 code · 8 blank · 7 comment · 20 complexity · 4930dc12a4b08decd190e410449d98b1 MD5 · raw file
- <?php
- class foreground {
- public $db, $memberinfo;
- private $_member_modelinfo;
-
- public function __construct() {
- $this->db = pc_base::load_model('member_model');
- //ajaxÑéÖ¤ÐÅÏ¢²»ÐèÒªµÇ¼
- if(substr(ROUTE_A, 0, 7) != 'public_') {
- self::check_member();
- }
- }
-
- /**
- * ÅжÏÓû§ÊÇ·ñÒѾµÇ½
- */
- final public function check_member() {
- $phpcms_auth = param::get_cookie('auth');
- if(ROUTE_M =='member' && ROUTE_C =='index' && in_array(ROUTE_A, array('login', 'register', 'mini'))) {
- if ($phpcms_auth && ROUTE_A != 'mini') {
- showmessage(L('login_success', '', 'member'), 'index.php?m=member&c=index');
- } else {
- return true;
- }
- } else {
- //ÅжÏÊÇ·ñ´æÔÚauth cookie
- if ($phpcms_auth) {
- $auth_key = md5(pc_base::load_config('system', 'auth_key').str_replace('7.0' ,'8.0',$_SERVER['HTTP_USER_AGENT']));
- list($userid, $password) = explode("\t", sys_auth($phpcms_auth, 'DECODE', $auth_key));
- //ÑéÖ¤Óû§£¬»ñÈ¡Óû§ÐÅÏ¢
- $this->memberinfo = $this->db->get_one(array('userid'=>$userid));
- //»ñÈ¡Óû§Ä£ÐÍÐÅÏ¢
- $this->db->set_model($this->memberinfo['modelid']);
- $this->_member_modelinfo = $this->db->get_one(array('userid'=>$userid));
- $this->_member_modelinfo = $this->_member_modelinfo ? $this->_member_modelinfo : array();
- $this->db->set_model();
- if(is_array($this->memberinfo)) {
- $this->memberinfo = array_merge($this->memberinfo, $this->_member_modelinfo);
- }
-
- if($this->memberinfo && $this->memberinfo['password'] === $password) {
-
- if (!defined('SITEID')) {
- define('SITEID', $this->memberinfo['siteid']);
- }
-
- if($this->memberinfo['groupid'] == 1) {
- param::set_cookie('auth', '');
- param::set_cookie('_userid', '');
- param::set_cookie('_username', '');
- param::set_cookie('_groupid', '');
- showmessage(L('userid_banned_by_administrator', '', 'member'), 'index.php?m=member&c=index&a=login');
- } elseif($this->memberinfo['groupid'] == 7) {
- param::set_cookie('auth', '');
- param::set_cookie('_userid', '');
- param::set_cookie('_groupid', '');
- param::set_cookie('email', $this->memberinfo['email']);
- showmessage(L('need_emial_authentication', '', 'member'), 'index.php?m=member&c=index&a=register&t=2');
- }
- } else {
- param::set_cookie('auth', '');
- param::set_cookie('_userid', '');
- param::set_cookie('_username', '');
- param::set_cookie('_groupid', '');
- }
- unset($userid, $password, $phpcms_auth, $auth_key);
- } else {
- $forward= isset($_GET['forward']) ? urlencode($_GET['forward']) : urlencode(get_url());
- showmessage(L('please_login', '', 'member'), 'index.php?m=member&c=index&a=login&forward='.$forward);
- }
- }
- }
-
- }