Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Immortal 18.06.2003 12:45
# Класс для управления пользователями # Copyright (c) 2003 Immortal @CLASS user ################################# ## конструктор # без параметров нужен для вывода списка юзеров, # с параметром $user загружает инфу о конкретном юзере @load[user][user] ^if(def $user){ $result[^table::sql{ SELECT login, passwd, user_group, user_status, f_name, s_name, l_name, email FROM a_users WHERE login = '$user' } ] }{ $result[^table::sql{ SELECT login, passwd, user_group, user_status, f_name, s_name, l_name, email FROM a_users ORDER BY user_group, l_name, s_name, f_name } ] } ################################# ## метод редактирования пользователя @edit[][crypted] ^if(def $form:POST){ ^if(def $form:login && def $form:passwd){ $crypted[^math:crypt[$form:passwd;^$apr1^$]] ^void:sql{ UPDATE t_users SET login = '$form:login', passwd = '$crypted', user_group = '$form:user_group', user_status = '$form:user_status', f_name = ^if(def $form:f_name){'$form:f_name'}{'n/a'}, s_name = ^if(def $form:s_name){'$form:s_name'}{'n/a'}, l_name = ^if(def $form:l_name){'$form:l_name'}{'n/a'}, email = ^if(def $form:email){'$form:email'}{'n/a'} WHERE login = '$form:login' } $response:body[^skiner[user/ok]] }{ $response:body[^skiner[user/not_all_fields]] } } ################################# ## статический метод "заморозки" пользователя @disable[user] ^void:sql{UPDATE a_users SET user_status = 'frozen' WHERE login='$user'} ################################# ## статический метод "разморозки" пользователя @enable[user] ^void:sql{UPDATE a_users SET user_status = 'active' WHERE login='$user'} ################################# ## статический метод удаления пользователя @delete[user] ^void:sql{DELETE FROM a_users WHERE login = '$user'} ################################# ## статический метод добавления пользователя @add[][crypted] ^if(def $form:POST){ ^if(def $form:login && def $form:passwd){ ^if(^MAIN:users.locate[login;$form:login]){ $response:body[^skiner[user/user_present]] }{ $crypted[^math:crypt[$form:passwd;^$apr1^$]] ^void:sql{ INSERT INTO a_users SET login = '$form:login', passwd = '$crypted', user_group = '$form:user_group', user_status = '$form:user_status', f_name = ^if(def $form:f_name){'$form:f_name'}{'n/a'}, s_name = ^if(def $form:s_name){'$form:s_name'}{'n/a'}, l_name = ^if(def $form:l_name){'$form:l_name'}{'n/a'}, email = ^if(def $form:email){'$form:email'}{'n/a'} } $response:body[^skiner[user/ok]] } }{ # если не все обязательные поля заполнены $response:body[^skiner[user/not_all_fields]] } }