Разработчикам   / шаблоны сайтов / создание сайтов / форум / партнерство
Авторизация Закрыть [x]  
     
   
Запомнить / Напомнить
SiteEdit

Найти:


Карта сайта

Сайт разработчиков SiteEdit

Класс seUser

Категории:

Универсальный класс работы с таблицей seTable.class.php

Универсальный класс работы с таблицей seTable.class.php
$table = new seTable('users', 'u');
$table->select('u.id, u.name, ug.name as grname')
->innerJoin('user_group ug', 'u.group_id=ug.id')->where("ug.ident='?'", 'clients')->groupBy('u.id, u.name, ug.name');
// Выводим список пользователей из группы с идентификатором 'client'

$userlist = $table->getList();
foreach($userlist as $row)
{
        echo $row['id'] . ' ' . $row['name'] . ' ' . $row['grname'] . '<br>';
}

Класс seUser.class.php

Класс пользователей seUser.class.php

Параметры класса seUser() Версия 3.9 Версия 4.0
Имя таблицы author se_user
Алиас a u
Поле   Тип поля
id   integer
username   varchar(40)
password   varcahr(40)
tmppassw   varcahr(40)
is_active   enum('Y','N')
Параметры класса sePerson() Версия 3.9 Версия 4.0
Имя таблицы - person
Алиас - p
Алиас полей Поля таблицы author версии 3.9 Поля версии 4.0 Тип полей
id id id begint
upid upid upid begint
first_name a_first_name first_name varchar(40)
last_name a_last_name last_name varchar(40)
sec_name a_sec_name sec_name varchar(40)
login a_login - varchar(40)
password a_password - varchar(32)
tmppassw a_tmppassw - varchar(32)
sex a_sex sex char(1)
birth_date a_birth_date birth_date date
nick a_nick nick varchar(40)
treaty a_treaty treaty varchar(125)
access_group a_group - integer
access_name a_admin - varchar(40)
email a_email email varchar(60)
reg_date a_reg_date reg_date date
log_date a_log_date log_date date
is_active a_enable is_active char(1)
doc_ser doc_ser doc_ser varchar(10)
doc_num doc_num doc_num varchar(10)
doc_registr doc_registr doc_registr varchar(255)
post_index post_index post_index varchar(10)
country country country_id integer
state state state_id integer
city city town_id integer
overcity overcity overcity varchar(255)
addr addr addr varchar(255)
phone phone phone varchar(125)
icq icq icq varchar(125)
  discount discount float
  a_reg_date reg_date datetime

Пример чтения строки таблицы:

$user = new seUser();
$user ->find($user_id); // $user_id - ID пользователя в базе
$person = $user->getPerson();

echo $person->firstname;
echo $person->lastname;
echo $person->secname;

Добавление новой записи:

$user = new seUser();
$user->username= 'mylogin';
$user->password = $password;
$user->is_active = 'Y';
$user->save();
$person = $user->getPerson();
$person->firstname = 'Иванов';
$person->lastname = 'Иван'
$person->secname = 'Иванович';
$person->save();

Найти нужную строку и сделать изменения:

$person = new sePerson();
$person->where("first_name='?'", 'Иванов')->andWhere("last_name='?'", 'Иван')->fetchOne();
$person->firstname = 'Петров';
$person->lastname = 'Николай'
$person->secname = 'Сергеевич';
$person->save();

Установка прав доступа:

$user = new seUser();
$user->find($iuser_id);
$access = array();
$level = 1; // User;
$name = 'group1'; // Имя группы
$access[] = array($level, $name);
$user->setAccess($access);

Чтение прав доступа:

$user = new seUser();
$user->find($iuser_id);
$accesslist = $user->getAccess();
     foreach($accesslist as $access){
     return ($access['level'] == $level && $access['name'] == $name);
}

Метод registration($req, $ref, $group, $groupname)

Входные параметры: массив переменных для регисстрнации 

$req['username']  - логин пользователя;
$req['passw'] - пароль пользователя
$req['confirm'] - подтверждение пароля
$req['last_name'] - Фамилия
$req['first_name'] - Имя
$req['sec_name'] - отчество;
$req['email']  - e-mail
$req['phone'] - Номер телефона

$ref - реферный номер (человека, который пригласил)
$group - номер группы (1 - обычный, 2- модератор, 3- администратор) 
$groupname - имя группы пользователей 

$user = new seUser();
$new_user_id = $user->registration($req, $ref, $group, $groupname); 


Метод возвращает ID пользователя

 
Copyright © Edgestile Company, 2004-09
тел.:  8 (495) 229-45-50, 8 (812) 777-01-30, 8 (34241) 3-69-90
e-mail:  info@siteedit.ru - общие вопросы
icq: 268-447-867 - общие вопросы
все контакты