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; } }
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"); } } }
} $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"> [' . 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); }
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; } }