Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
egr 03.10.2003 13:49 / 03.10.2003 13:51
Нужно взять класс auth (у Миши), найти там метод insertUser и заменить это (старый код метода):################################################################################ # добавление пользователя # 0 - all ok # 1 - не задано имя, пароль или email в некоректном формате # 2 - пользователь с таким именем уже существует # 3 - неверно подтвержден пароль @insertUser[user_data][exist] ^if(def $user_data.[auth.name] && ^is_email[$user_data.[auth.email]] && def $user_data.[auth.passwd]){ ^rem{ *** правильно подтвержден пароль? *** } ^if($user_data.[auth.passwd] eq $user_data.[auth.passwd_confirm]){ ^rem{ *** пароль подтвержден правильно. есть уже пользователь с таким именем? ***} $exist(^csql.sql[int]{ SELECT COUNT(*) FROM auser WHERE auser_type_id = $USER_ID AND ^csql.lower[name] = '^user_data.[auth.name].lower[]' }) ^if(!$exist){ ^rem{ *** нету пользователя с таким именем, регистрируем ***} ^csql.sql[void]{ INSERT INTO auser ( auser_type_id, name, email, passwd, dt_register, event_type ^if(def $user_data.[auth.rights]){, rights} ) VALUES ( $USER_ID, '$user_data.[auth.name]', '$user_data.[auth.email]', '^cryptPassword[$user_data.[auth.passwd]]', ^csql.now[], $new_user_event_type ^if(def $user_data.[auth.rights]){, '$user_data.[auth.rights]'} )} $new_user[ $.user_id(^csql.last_insert_id[auser]) $.name[$user_data.[auth.name]] $.email[$user_data.[auth.email]] $.rights[$user_data.rights] ] $result(0) ^rem{ *** загружаем полный список групп *** } ^getGroups[] ^rem{ *** а теперь включаем вновь добавленного пользователя в группы, у которых установлен is_default *** } ^groups.menu{ ^if($groups.is_default){ ^csql.sql[void]{ INSERT INTO auser_to_auser ( auser_id, parent_id ) VALUES ( $new_user.user_id, $groups.group_id )} } } }{ ^rem{ *** есть уже пользователь с таким именем ***} $result(2) } }{ ^rem{ *** неверно подтвержден пароль ***} $result(3) } }{ ^rem{ *** пришли неверные данные для регистрации: не задано имя/пароль или не валидный email ***} $result(1) } ^rem{ *** пишем в лог об этом событии *** } ^logEvent[ $.user_id(^new_user.user_id.int(0)) $.name[$user_data.[auth.name]] $.email[$user_data.[auth.email]] $.rights[$user_data.rights] $.event_type[$EVENT.insert_user] ]($EVENT.insert_user)[$result] #end @insertUser[]На вот это:
################################################################################ # добавление пользователя # 0 - all ok # 1 - не задано имя, пароль или email в некоректном формате # 2 - пользователь с таким именем уже существует # 3 - неверно подтвержден пароль @insertUser[user_data][exist] ^if(def $user_data.[auth.name] && ^is_email[$user_data.[auth.email]] && def $user_data.[auth.passwd]){ ^rem{ *** правильно подтвержден пароль? *** } ^if($user_data.[auth.passwd] eq $user_data.[auth.passwd_confirm]){ ^rem{ *** пароль подтвержден правильно. есть уже пользователь с таким именем? ***} ^try{ ^csql.sql[void]{ INSERT INTO auser ( auser_type_id, name, email, passwd, dt_register, event_type ^if(def $user_data.[auth.rights]){, rights} ) VALUES ( $USER_ID, '$user_data.[auth.name]', '$user_data.[auth.email]', '^cryptPassword[$user_data.[auth.passwd]]', ^csql.now[], $new_user_event_type ^if(def $user_data.[auth.rights]){, '$user_data.[auth.rights]'} )} $new_user[ $.user_id(^csql.last_insert_id[auser]) $.name[$user_data.[auth.name]] $.email[$user_data.[auth.email]] $.rights[$user_data.rights] ] $result(0) ^rem{ *** загружаем полный список групп *** } ^getGroups[] ^rem{ *** а теперь включаем вновь добавленного пользователя в группы, у которых установлен is_default *** } ^groups.menu{ ^if($groups.is_default){ ^csql.sql[void]{ INSERT INTO auser_to_auser ( auser_id, parent_id ) VALUES ( $new_user.user_id, $groups.group_id )} } } }{ ^rem{ *** есть уже пользователь с таким именем ***} $exception.handled(1) $result(2) } }{ ^rem{ *** неверно подтвержден пароль ***} $result(3) } }{ ^rem{ *** пришли неверные данные для регистрации: не задано имя/пароль или не валидный email ***} $result(1) } ^rem{ *** пишем в лог об этом событии *** } ^logEvent[ $.user_id(^new_user.user_id.int(0)) $.name[$user_data.[auth.name]] $.email[$user_data.[auth.email]] $.rights[$user_data.rights] $.event_type[$EVENT.insert_user] ]($EVENT.insert_user)[$result] #end @insertUser[]При добавлении пользователя, логин которого уже есть в БД, появится эта ошибка, - если поместить ^logEvent[...] в ^try все проходит нормально, - вам говорится что уже есть такой логин, правда при этом событие в лог по понятным причинам не пишется.