本文整理汇总了PHP中USER::getUserById方法的典型用法代码示例。如果您正苦于以下问题:PHP USER::getUserById方法的具体用法?PHP USER::getUserById怎么用?PHP USER::getUserById使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类USER
的用法示例。
在下文中一共展示了USER::getUserById方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
function __construct()
{
if (User::isAuth()) {
MG::redirect('/');
}
// Шаг первый.
$form = 1;
$fPass = new Models_Forgotpass();
// Ввторой шаг, производящий проверку введеного электронного адреса.
if (URL::getQueryParametr('forgotpass')) {
$email = URL::getQueryParametr('email');
if ($userInfo = USER::getUserInfoByEmail($email)) {
//Если введенных адрес совпадает с зарегистрированным в системе, то
$form = 0;
$message = 'Инструкция по восстановлению пароля была отправлена на <strong>' . $email . '</strong>';
$hash = $fPass->getHash($email);
//а) Случайный хэш заносится в БД.
$fPass->sendHashToDB($email, $hash);
$siteName = MG::getOption('sitename');
$emailMessage = MG::layoutManager('email_forgot', array('siteName' => $siteName, 'email' => $email, 'hash' => $hash, 'userId' => $userInfo->id, 'link' => SITE . '/forgotpass?sec=' . $hash . '&id=' . $userInfo->id));
$emailData = array('nameFrom' => $siteName, 'emailFrom' => MG::getSetting('noReplyEmail'), 'nameTo' => 'Пользователю сайта ' . $siteName, 'emailTo' => $email, 'subject' => 'Восстановление пароля на сайте ' . $siteName, 'body' => $emailMessage, 'html' => true);
//б) На указанный электронный адрес отправляется письмо со сылкой на страницу восстановления пароля.
$fPass->sendUrlToEmail($emailData);
} else {
$form = 0;
$error = 'К сожалению, такой логин не найден<br>
Если вы уверены, что данный логин существует, пожалуйста, свяжитесь с нами.';
}
}
// Шаг 3. Обработка перехода по ссылки. Принимается id пользователя и сгенерированный хэш.
if ($_GET) {
$userInfo = USER::getUserById(URL::getQueryParametr('id'));
$hash = URL::getQueryParametr('sec');
// Если присланный хэш совпадает с хэшом из БД для соответствующего id.
if ($userInfo->restore == $hash) {
$form = 2;
// Меняе в БД случайным образом хэш, делая невозможным повторный переход по ссылки.
$fPass->sendHashToDB($userInfo->email, $fPass->getHash('0'));
$_SESSION['id'] = URL::getQueryParametr('id');
} else {
$form = 0;
$error = 'Некорректная ссылка. Повторите заново запрос восстановления пароля.';
}
}
// Шаг 4. обрабатываем запрос на ввод нового пароля
if (URL::getQueryParametr('chengePass')) {
$form = 2;
$person = new Models_Personal();
$msg = $person->changePass(URL::getQueryParametr('newPass'), $_SESSION['id'], true);
if ('Пароль изменен' == $msg) {
$form = 0;
$message = $msg . '! ' . 'Вы можете войти в личный кабинет по адресу <a href="' . SITE . '/enter" >' . SITE . '/enter</a>';
$fPass->activateUser($_SESSION['id']);
unset($_SESSION['id']);
} else {
$error = $msg;
}
}
$this->data = array('error' => $error, 'message' => $message, 'form' => $form, 'meta_title' => 'Восстановление пароля', 'meta_keywords' => $model->currentCategory['meta_keywords'] ? $model->currentCategory['meta_keywords'] : "забыли пароль, восстановить пароль, восстановление пароля", 'meta_desc' => $model->currentCategory['meta_desc'] ? $model->currentCategory['meta_desc'] : "Если вы забыли пароль от личного кабинета, его модно восстановить с помощью формы восстановления паролей.");
}
示例2: __construct
function __construct()
{
$this->fPass = new Models_Forgotpass();
$form = true;
// Отображение формы.
//
// Оброботка действий пользователя при регистрации.
if (isset($_POST['registration'])) {
// Если данные введены верно.
if (!$this->unValidForm()) {
USER::add($this->userData);
$message = '<span class="succes-reg">Вы успешно зарегистрировались! Для активации пользователя Вам необходимо перейти по ссылке высланной на Ваш электронный адрес <strong>' . $this->userData['email'] . '</strong></span>';
$form = false;
// Рассылаем письма со ссылкой для подтверждения регистрации.
$this->_sendActivationMail($this->userData['email']);
} else {
$error = $this->error;
$form = true;
}
}
// Обработка действий перехода по ссылки.
if (URL::getQueryParametr('id')) {
$userInfo = USER::getUserById(URL::getQueryParametr('id'));
$hash = URL::getQueryParametr('sec');
// Если присланный хэш совпадает с хэшом из БД для соответствующего id.
if ($userInfo->restore == $hash) {
// Меняет в БД случейным образом хэш, делая невозможным повторный переход по ссылки.
$this->fPass->sendHashToDB($userInfo->email, $this->fPass->getHash('0'));
$message = 'Ваша учетная запись активирована. Теперь Вы можете <a href="' . SITE . '/enter">войти в личный кабинет</a> используя логин и пароль заданный при регистрации.';
$form = false;
$this->fPass->activateUser(URL::getQueryParametr('id'));
} else {
$error = 'Некорректная ссылка. Повторите активацию!';
$form = false;
}
}
// Обработка действий при запросе на повторную активацию.
if ($_POST['reActivate']) {
$email = URL::getQueryParametr('activateEmail');
if (USER::getUserInfoByEmail($email)) {
$this->_sendActivationMail($email);
$message = 'Для активации пользователя Вам необходимо перейти по ссылке высланной на Ваш электронный адрес ' . $this->userData['email'];
$form = false;
} else {
$error = 'К сожалению, такой логин не найден. Если вы уверены, что данный логин существует, свяжитесь, пожалуйста, с нами.';
$form = false;
}
}
$this->data = array('error' => $error, 'message' => $message, 'form' => $form, 'meta_title' => 'Регистрация', 'meta_keywords' => !empty($model->currentCategory['meta_keywords']) ? $model->currentCategory['meta_keywords'] : "регистрация, зарегистрироваться", 'meta_desc' => !empty($model->currentCategory['meta_desc']) ? $model->currentCategory['meta_desc'] : "Зарегистрируйтесь в системе, чтобы получить дополнительные возможности, такие как просмотр состояния заказа");
}
示例3: update
/**
* Обновляет пользователя учетную запись пользователя.
* @param $id - id пользователя.
* @param $data - массив значений для вставки в БД [Поле => Значение].
* @param $authRewrite - false = перезапишет данные в сессии детущего пользователя, на полученные у $data.
* @return void
*/
public static function update($id, $data, $authRewrite = false)
{
$userInfo = USER::getUserById($id);
foreach ($data as $k => $v) {
if ($k !== 'pass') {
$v = htmlspecialchars_decode($v);
$data[$k] = htmlspecialchars($v);
}
}
//только если пытаемся разжаловать админа, проверяем,
// не является ли он последним админом
// Без админов никак незя!
if ($userInfo->role == '1' && $data['role'] != '1') {
$countAdmin = DB::query('
SELECT count(id) as "count"
FROM `' . PREFIX . 'user`
WHERE role = 1
');
if ($row = DB::fetchAssoc($countAdmin)) {
if ($row['count'] == 1) {
// остался один админ
$data['role'] = 1;
// не даем разжаловать админа, уж лучше плохой чем никакого :-)
}
}
}
DB::query('
UPDATE `' . PREFIX . 'user`
SET ' . DB::buildPartQuery($data) . '
WHERE id = ' . DB::quote($id));
if (!$authRewrite) {
foreach ($data as $k => $v) {
self::$_instance->auth->{$k} = $v;
}
$_SESSION['user'] = self::$_instance->auth;
}
return true;
}
示例4: getUserData
/**
* Получает параметры редактируемого пользователя.
*/
public function getUserData()
{
$this->messageError = $this->lang['ACT_GET_USER'];
$response = USER::getUserById($_POST['id']);
foreach ($response as $k => $v) {
if ($k != 'pass') {
$response->{$k} = htmlspecialchars_decode($v);
}
}
$this->data = $response;
return false;
}
示例5: ulogin_registration_user
/**
* Регистрация на сайте и в таблице uLogin
* @param Array $u_user - данные о пользователе, полученные от uLogin
* @param int $in_db - при значении 1 необходимо переписать данные в таблице uLogin
* @return bool|int|Error
*/
function ulogin_registration_user($u_user, $in_db = 0)
{
if (!isset($u_user['email'])) {
die("Через данную форму выполнить вход/регистрацию невозможно. </br>" . "Сообщиете администратору сайта о следующей ошибке: </br></br>" . "Необходимо указать <b>email</b> в возвращаемых полях <b>uLogin</b>");
}
$u_user['network'] = isset($u_user['network']) ? $u_user['network'] : '';
$u_user['phone'] = isset($u_user['phone']) ? $u_user['phone'] : '';
// данные о пользователе есть в ulogin_table, но отсутствуют в Базе
if ($in_db == 1) {
DB::query("DELETE FROM " . PREFIX . "ulogin WHERE `identity` = " . DB::quote($u_user['identity']));
}
$user_id = USER::getUserInfoByEmail($u_user['email']);
$user_id = $user_id->id;
// $check_m_user == true -> есть пользователь с таким email
$check_m_user = $user_id > 0 ? true : false;
$current_user = USER::isAuth() ? USER::getThis() : 0;
// $isLoggedIn == true -> ползователь онлайн
$isLoggedIn = isset($current_user->id) && $current_user->id > 0 ? true : false;
if (!$check_m_user && !$isLoggedIn) {
// отсутствует пользователь с таким email в базе -> регистрация
$date = explode('.', $u_user['bdate']);
$insert_user = array('pass' => md5(microtime(true)), 'email' => $u_user['email'], 'role' => 2, 'name' => $u_user['first_name'], 'sname' => $u_user['last_name'], 'address' => '', 'phone' => $u_user['phone'], 'birthday' => $date['2'] . '-' . $date['1'] . '-' . $date['0'], 'activity' => 1);
$user_id = USER::add($insert_user);
$user_id = DB::insertId();
$userData = USER::getUserById($user_id);
$res = DB::query("INSERT INTO " . PREFIX . "ulogin (user_id, identity, network)\n\t\tVALUES (" . DB::quote($user_id) . "," . DB::quote($u_user['identity']) . "," . DB::quote($u_user['network']) . ")");
return $userData->id;
} else {
// существует пользователь с таким email или это текущий пользователь
if (!isset($u_user["verified_email"]) || intval($u_user["verified_email"]) != 1) {
die('<head></head><body><script src="//ulogin.ru/js/ulogin.js" type="text/javascript"></script><script type="text/javascript">uLogin.mergeAccounts("' . $_POST['token'] . '")</script>' . "Электронный адрес данного аккаунта совпадает с электронным адресом существующего пользователя. <br>Требуется подтверждение на владение указанным email.</br></br>" . "Подтверждение аккаунта" . "</body>");
}
if (intval($u_user["verified_email"]) == 1) {
$user_id = $isLoggedIn ? $current_user->id : $user_id;
$other_u = DB::query("SELECT identity FROM " . PREFIX . "ulogin where `user_id` = " . DB::quote($user_id));
$other_u = DB::fetchAssoc($other_u);
if ($other_u) {
if (!$isLoggedIn && !isset($u_user['merge_account'])) {
die('<head></head><body><script src="//ulogin.ru/js/ulogin.js" type="text/javascript"></script><script type="text/javascript">uLogin.mergeAccounts("' . $_POST['token'] . '","' . $other_u['identity'] . '")</script>' . "С данным аккаунтом уже связаны данные из другой социальной сети. <br>Требуется привязка новой учётной записи социальной сети к этому аккаунту.<br/>" . "Синхронизация аккаунтов" . "</body>");
}
}
DB::query("INSERT INTO " . PREFIX . "ulogin (user_id, identity, network)\n\t\t\tVALUES (" . DB::quote($user_id) . "," . DB::quote($u_user['identity']) . "," . DB::quote($u_user['network']) . ")");
return $user_id;
}
}
return false;
}
示例6: USER
<?php
session_start();
?>
<!DOCTYPE html>
<?php
include_once 'header.php';
require_once 'classes/userClass.php';
$userObj = new USER();
$userInfo = $userObj->getUserById($_SESSION['result']['id']);
//echo ""; print_r($userInfo); exit;
?>
<div class="panel panel-primary" style="width:35%;margin:0 auto; margin-top:2%">
<div class="panel-heading"><h3>User Profile</h3></div>
<div class="panel-body" style="height:40%; text-align:center;" >
<p class="bg-info" id="msg"></p>
<form class="form-horizontal" role="form" id="signupForm" method="post" action="function.php?formType=signup">
<div class="form-group">
<label class="control-label col-sm-3" for="name">Name:</label>
<div class="col-sm-9">
<?php
echo $userInfo['result']['name'];
?>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3" for="username">Username:</label>
<div class="col-sm-9">
<?php
echo $userInfo['result']['username'];
?>