コード例 #1
0
ファイル: member.php プロジェクト: reboxhost/phpb2b
 function checkUserLogin($uname, $upass)
 {
     global $_PB_CACHE, $passport, $memberfield, $phpb2b_auth_key, $if_need_check, $membergroup;
     $default_membergroupid = $membergroup->field("id", "is_default=1");
     //$is_company = 1;
     $userid = trim($uname);
     if (pb_check_email($userid)) {
         $sql = "SELECT m.id,m.username,m.userpass,status,email,credits,service_end_date,office_redirect,af.member_id AS aid FROM {$this->table_prefix}members m LEFT JOIN {$this->table_prefix}adminfields af ON m.id=af.member_id WHERE m.email='{$userid}'";
     } else {
         $sql = "SELECT m.id,m.username,m.userpass,status,email,credits,service_end_date,office_redirect,af.member_id AS aid FROM {$this->table_prefix}members m LEFT JOIN {$this->table_prefix}adminfields af ON m.id=af.member_id WHERE m.username='******'";
     }
     $tmpUser = $this->dbstuff->GetRow($sql);
     if (empty($tmpUser)) {
         //check passport
         //check user
         $passport_userinfo = $passport->ucGetUserInfo($uname);
         //if exists, get info
         if ($passport_userinfo) {
             $tmpUser = $passport_userinfo;
             //Todo:check passport passowrd
             if (!$passport->ucSinleCheckPass($uname, $upass)) {
                 return -3;
                 //passports password wrong
             }
             //add member to system
             if (!empty($tmpUser['email'])) {
                 $this->params['data']['member']['username'] = $uname;
                 $this->params['data']['member']['userpass'] = $upass;
                 $this->params['data']['member']['email'] = $tmpUser['email'];
                 $this->params['data']['member']['last_login'] = $this->params['data']['member']['created'] = $this->params['data']['member']['modified'] = $this->timestamp;
                 $this->params['data']['member']['space_name'] = PbController::toAlphabets($this->params['data']['member']['username']);
                 //Todo:
                 //some memberfiled info
                 $this->params['data']['member']['membergroup_id'] = !empty($passport->default_groupid) ? $passport->default_groupid : $default_membergroupid;
                 $time_limits = $this->dbstuff->GetOne("SELECT default_live_time FROM {$this->table_prefix}membergroups WHERE id={$this->params['data']['member']['membergroup_id']}");
                 $this->params['data']['member']['service_start_date'] = $this->timestamp;
                 $this->params['data']['member']['service_end_date'] = $membergroup->getServiceEndtime($time_limits);
                 $this->params['data']['member']['membertype_id'] = !empty($passport->default_typeid) ? $passport->default_typeid : 1;
                 $this->params['data']['member']['status'] = 1;
                 //set login info
                 $this->ins_passport = false;
                 $this->Add();
                 $passport->ucenter($uname, $upass, $tmpUser['email'], 'login');
                 return true;
             }
         }
         //or return -2
         return -2;
     } else {
         $true_pass = $tmpUser['userpass'];
     }
     if (empty($userid) || empty($upass)) {
         return -1;
     } elseif (strcmp($true_pass, $this->authPasswd($upass)) != 0) {
         return -3;
     } elseif ($tmpUser['status'] != 1) {
         return -4;
     } else {
         if (!empty($tmpUser['aid'])) {
             $tmpUser['is_admin'] = 1;
         } else {
             $tmpUser['is_admin'] = 0;
         }
         $this->info = $tmpUser;
         $tmpUser['userpass'] = $upass;
         $tmpUser['useremail'] = $tmpUser['email'];
         //add useremail
         //check the passport if has the user
         //if not, register this user.
         $this->putLoginStatus($tmpUser);
         $loginip = pb_get_client_ip();
         $this->dbstuff->Execute("UPDATE {$this->table_prefix}members SET last_login="******",last_ip='" . $loginip . "' WHERE id='{$tmpUser['id']}'");
         unset($tmpUser);
         return true;
     }
 }
コード例 #2
0
ファイル: getpasswd.php プロジェクト: reboxhost/phpb2b
 if (!pb_check_email($user_email)) {
     setvar("ERRORS", L("wrong_email_format"));
     $checked = false;
 } else {
     $member->setInfoByUserName($login_name);
     $member_info = $member->getInfo();
     if (!$member_info || empty($member_info)) {
         setvar("ERRORS", L('member_not_exists'));
         setvar("postLoginName", $login_name);
         setvar("postUserEmail", $user_email);
         $checked = false;
     } elseif (!pb_strcomp($user_email, $member_info['email'])) {
         setvar("ERRORS", L("please_input_email"));
         $checked = false;
     }
     if (!pb_check_email($member_info['email'])) {
         $checked = false;
     }
     if ($checked) {
         $exp_time = $time_stamp + 86400;
         $hash = authcode(addslashes($member_info['username']) . "\t" . $exp_time, "ENCODE");
         setvar("hash", rawurlencode($hash));
         setvar("expire_date", date("Y-m-d H:i", strtotime("+1 day")));
         $sended = pb_sendmail(array($member_info['email'], $login_name), L("pls_reset_passwd"), "getpasswd");
         if (!$sended) {
             flash("email_send_false");
         } else {
             flash("getpasswd_email_sended");
         }
     }
 }
コード例 #3
0
ファイル: ajax.php プロジェクト: reboxhost/phpb2b
                }
                $output .= '<a href="logging.php?action=logout">[' . L('login_out', 'tpl') . ']</a>';
                die($output);
            } else {
                die('<em>' . L('hello_welcome_to', 'tpl') . $G['setting']['site_name'] . '</em>
        <a href="logging.php">&nbsp;[' . L('pls_login', 'tpl') . ']</a>
        <a href="member.php" title="register" ><strong>[' . L('free', 'tpl') . L('register', 'tpl') . ']</strong></a>');
            }
            break;
        case "checkemail":
            if (isset($_GET['email'])) {
                $result = call_user_func_array($action, array($_GET['email']));
                if ($result) {
                    $return["isError"] = 1;
                } else {
                    if (!pb_check_email($_GET['email'])) {
                        $return["isError"] = 2;
                    } else {
                        $return["isError"] = 0;
                    }
                }
            }
            ajax_exit($return);
            break;
    }
}
function checkusername($input_username)
{
    global $member;
    return $member->checkUserExist($input_username, false);
}
コード例 #4
0
ファイル: member.php プロジェクト: renduples/alibtob
 function checkUserExistsByEmail($email)
 {
     if (!pb_check_email($email)) {
         flash("email_exists");
     }
     $result = $this->field("id", "email='" . $email . "'");
     if (!$result || empty($result)) {
         return false;
     } else {
         return true;
     }
 }