/**
  * 校验邮箱
  * @param $email 邮箱
  * @return int
  */
 function checkEmail($email)
 {
     global $rg_config;
     if (!$email || !preg_match("/\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*/i", $email)) {
         return 1;
     }
     if ($rg_config['rg_emailtype'] == 1 && $rg_config['rg_email']) {
         $e_check = 0;
         $e_limit = explode(',', $rg_config['rg_email']);
         foreach ($e_limit as $key => $val) {
             if (strpos($email, "@" . $val) !== false) {
                 $e_check = 1;
                 break;
             }
         }
         if ($e_check == 0) {
             return 4;
         }
     }
     if ($rg_config['rg_emailtype'] == 2 && $rg_config['rg_banemail']) {
         $e_check = 0;
         $e_limit = explode(',', $rg_config['rg_banemail']);
         foreach ($e_limit as $key => $val) {
             if (strpos($email, "@" . $val) !== false) {
                 $e_check = 1;
                 break;
             }
         }
         if ($e_check == 1) {
             return 5;
         }
     }
     require_once R_P . 'uc_client/uc_client.php';
     if (uc_user_get($email, 2)) {
         return 2;
     } else {
         return 0;
     }
 }
示例#2
0
 function user_edit($newpassword = '', $ignoreoldpw = 0)
 {
     $userarr = uc_user_get($this->username, 0);
     $checkedit = uc_user_edit($userarr['uid'], $this->username, md5($newpassword), $this->usermail);
     if ($checkedit == 1) {
         return 1;
     } else {
         return -1;
     }
 }
示例#3
0
     $num = $db->result_first("select count(*) from {$tpf}files where userid='{$uid}'");
     if ($num) {
         $error = true;
         $sysmsg[] = '此用户帐号或回收站中还存在文件,请删除文件后再操作';
     }
     if (!$error) {
         $uid = (int) gpc('uid', 'G', 0);
         $db->query_unbuffered("delete from {$tpf}folders where userid='{$uid}'");
         $db->query_unbuffered("delete from {$tpf}users where userid='{$uid}'");
         $db->query_unbuffered("update {$tpf}files set is_del=1 where userid='{$uid}'");
         $db->query_unbuffered("delete from {$tpf}buddys where userid='{$uid}' or touserid='{$uid}'");
         $db->query_unbuffered("delete from {$tpf}messages where userid='{$uid}' or touserid='{$uid}'");
         if (display_plugin('api', 'open_uc_plugin', $settings['connect_uc'], 0)) {
             $username = @$db->result_first("select username from {$tpf}users where userid='{$uid}' limit 1");
             if ($settings['connect_uc_type'] == 'phpwind') {
                 $arr = uc_user_get($username, 1);
                 uc_user_delete($arr['uid']);
             } else {
                 $result = uc_user_delete($username);
                 if (!$result) {
                     $sysmsg[] = "UC:" . __('delete_user_error');
                 }
             }
         }
         $sysmsg[] = __('delete_user_success');
         redirect(urr(ADMINCP, "item=users&menu=user&action=index"), $sysmsg);
     } else {
         redirect('back', $sysmsg);
     }
     break;
 case 'add_user':
示例#4
0
    public function foreGroundSignin($userName, $unencryptPw, $nextUrl, $rememberMe = 1)
    {
        $systemConfig = loadConfig('system');
        $oUserName = $userName;
        //判断域名是不是ip
        $hostSections = explode('.', $_SERVER['HTTP_HOST']);
        //ip
        $isIP = 0;
        if (count($hostSections) == 4 && intval($hostSections[3])) {
            $isIP = 1;
        }
        //
        $sync = 0;
        $echoStr = '';
        $signSuccess = 0;
        //
        if ($systemConfig['syncWithUc']) {
            $ucenterUserName = $userName;
            if (defined('UCENTER_CHARSET') && UCENTER_CHARSET == 'utf-8') {
                $ucenterUserName = iconv('gbk', 'utf-8', $ucenterUserName);
            }
            $sync = 1;
            include ABS_PATH . 'uc_client' . DIRECTORY_SEPARATOR . 'client.php';
            list($uid, $userName, $password, $email) = uc_user_login($ucenterUserName, $unencryptPw);
            if ($uid > 0) {
                $ucsynlogin = uc_user_synlogin($uid);
                $signSuccess = 1;
                //
                $echoStr = $ucsynlogin;
            }
        } elseif ($systemConfig['syncWithPhpwind']) {
            $sync = 1;
            define('AUTOSYSTEM', '1');
            include ABS_PATH . 'pw_api.php';
            include ABS_PATH . 'uc_client' . DIRECTORY_SEPARATOR . 'uc_client.php';
            $logintype = 0;
            //登陆类型 0,1,2分别为 用户名,uid,邮箱登陆
            $pw = md5($unencryptPw);
            /*
            同步登录的返回值
            Array {
            Status:-1 用户名错误,找不到用户;-2 密码错误;-3 邮箱地址重复;1 正常登陆;
            Uid:用户ID
            Username:用户名
            Synlogin: 同步登陆代码(js)
            }
            */
            $userArr = uc_user_login($userName, $pw, $checkques = 0, $question = '', $answer = '');
            $thisUser = uc_user_get($userName);
            $email = $thisUser['email'];
            //
            $status = $userArr['status'];
            $uid = $userArr['uid'];
            $userName = $userArr['username'];
            if ($status > 0) {
                //login success
                $signSuccess = 1;
                $echoStr = $userArr['synlogin'];
            }
        }
        if (!$sync) {
            //if not sync with ucenter or phpwind
            $signSuccess = $this->signin($oUserName, $unencryptPw);
            $this->uid = $signSuccess;
        }
        if ($signSuccess > 0) {
            //登录成功,设置session和cookies
            $u = $this->getUserByUsername($oUserName);
            //
            if ($u) {
                $this->uid = $u->uid;
                $uid = $u->uid;
                $this->updateIP($u->uid);
                $_SESSION['autouid'] = $u->uid;
                session_regenerate_id();
                if ($rememberMe) {
                    setcookie('autousername', $oUserName, SYS_TIME + 2592000, '/', DOMAIN_ROOT);
                    if ($isIP) {
                        setcookie('autousername', $oUserName, SYS_TIME + 2592000, '/', $_SERVER['HTTP_HOST']);
                    }
                }
                unset($_SESSION['autoAdminUid']);
            } else {
                //ucenter或者phpwind上有此用户而系统内没有,注册到系统
                $rt = $this->signup($oUserName, $email, $password);
                $this->uid = $rt;
                //login
                setcookie('autousername', $oUserName, SYS_TIME + 2592000, '/', DOMAIN_ROOT);
                if ($isIP) {
                    setcookie('autousername', $oUserName, SYS_TIME + 2592000, '/', $_SERVER['HTTP_HOST']);
                }
            }
            //next url
            if (!strlen($nextUrl)) {
                $nextUrl = '/';
            }
            //检查是不是经销商
            $store_db = bpBase::loadModel('store_model');
            $storeUserIndependent = 0;
            //经销商用户是否单独建表存储
            if (intval(loadConfig('store', 'storeUserIndependent'))) {
                $storeUserIndependent = 1;
                //经销商用户是否单独建表存储
            }
            $isStoreUser = 0;
            if (!$storeUserIndependent) {
                $isStoreUser = $store_db->get_one(array('uid' => $uid));
                if (!$isStoreUser) {
                    $usedcar_store_db = bpBase::loadModel('usedcar_store_model');
                    $isStoreUser = $usedcar_store_db->get_one(array('uid' => $uid));
                }
            }
            if ($isStoreUser) {
                //如果是经销商
                $_SESSION['autostoreuid'] = $u->uid;
                if (isset($_POST['rememberme'])) {
                    setcookie('autostoreuid', $u->uid, SYS_TIME + 2592000, '/', DOMAIN_ROOT);
                }
            }
            if ($isStoreUser > 0 && AUTO_SKIN == 'ahauto') {
                //安徽汽车网的经销商用户会自动跳转到经销商控制面板
                $nextUrl = '/storeUser.php';
            }
            //
            if ($sync) {
                //如果跟其他集成,则输出同步登陆代码
                if (defined('UCENTER_CHARSET') && UCENTER_CHARSET == 'utf-8') {
                    $echoStr = iconv('utf-8', 'gbk', $echoStr);
                }
                //$successStr='<script>Cookie.write(\'jsusername\',\''.$oUserName.'\',{domain:\''.DOMAIN_ROOT.'\'});</script>';
            } else {
                //$successStr='<script>Cookie.write(\'jsusername\',\''.$oUserName.'\',{domain:\''.DOMAIN_ROOT.'\'});</script>';
                //return $signSuccess;
            }
            setcookie('jsusername', escape($oUserName), SYS_TIME + 2592000, '/', DOMAIN_ROOT);
            if ($sync) {
                echo $echoStr . '<script src="' . JS_URL_ROOT . '/mootools1.3.js"></script>
<script src="' . JS_URL_ROOT . '/mootools-more.js"></script>' . $successStr . '<span style="font-size:12px;">' . $oUserName . ',登陆成功,正在跳转</span><script>
window.addEvent(\'domready\',function(){
	(function(){window.location.href=\'' . $nextUrl . '\';}).delay(2000);
})
</script>';
            } else {
                showMessage('登录成功' . $successStr, $nextUrl, 2000, 0, 0);
            }
        } else {
            //登录不成功
            if (!isset($_POST['userType'])) {
                $backUrl = MAIN_URL_ROOT . '/sign.php?oper=signin';
            } else {
                $backUrl = $_SERVER['HTTP_REFERER'];
            }
            showMessage('用户名和密码不匹配', $backUrl, 2000, 1, 1);
            return -1;
        }
    }
示例#5
0
     if ($rg_config['rg_emailtype'] == 2 && $rg_config['rg_banemail']) {
         $e_check = 0;
         $e_limit = explode(',', $rg_config['rg_banemail']);
         foreach ($e_limit as $key => $val) {
             if (strpos($email, "@" . $val) !== false) {
                 $e_check = 1;
                 break;
             }
         }
         if ($e_check == 1) {
             echo 5;
             ajax_footer();
         }
     }
     require_once R_P . 'uc_client/uc_client.php';
     if (uc_user_get($email, 2)) {
         echo 2;
     } else {
         echo 0;
     }
 } elseif ($type == 'reggdcode') {
     InitGP('gdcode', 'P');
     if (!$gdcode || !SafeCheck(explode("\t", StrCode(GetCookie('cknum'), 'DECODE')), strtoupper($gdcode), 'cknum', 1800)) {
         echo 1;
     } else {
         echo 0;
     }
 } elseif ($type == 'qanswer') {
     InitGP(array('answer', 'question'), 'P');
     if ($db_question && (!isset($db_answer[$question]) || $answer != $db_answer[$question])) {
         echo 1;