parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Прошу заценить user.p

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]]
	}
}