Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 10 Ответов
  • 2337 Просмотров
*

vdaminov

  • Новичок
  • 6
  • 0 / 0
Добрый всем день!

Делаю подтверждение данных введёных пользователем (пока лишь поля Фамилия, Имя, Отчество, в будущем возможно место проживания).
Пользователь данные которого полностью проверены должен будет обладать большими правами.
Для этой цели создал поле-чекбокс - "Данные подтверждены", значение которого пока устанавливается администратором.
Требуется сделать так, чтобы при изменении пользователем данных требующих подтверждения чекбокс сбрасывался.

Прошу подсказать проводится ли какая-нибудь проверка изменений при сохранении профиля, чтобы там можно было вставить свой код?

Так как это, прошу не судить строго - первый опыт веб-программирования, возможно направление было выбрано не слишком удачно. Сейчас нужно везде вставлять проверки на значение поля  "Данные подтверждены". Было бы намного проще, если в Joomla существует возможность относить пользователя к той или иной группе программным методом. В этом случае можно было бы создать две группы "Зарегистрированные" и "Удостоверенные" с раздельными правами и переносить пользователя из одной группы в другую в зависимости от значения поля.

Может ли кто-нибудь подсказать, можно ли задавать группу пользователя программно?

С уважением.
« Последнее редактирование: 16.07.2012, 17:19:41 от vdaminov »
*

AlexSmirnov

  • Завсегдатай
  • 1862
  • 272 / 16
  • Ищите и найдете
Re: Подтверждение данных профиля
« Ответ #1 : 16.07.2012, 16:23:52 »
кто и как проводит проверку данных пользователя?
# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
*

vdaminov

  • Новичок
  • 6
  • 0 / 0
Re: Подтверждение данных профиля
« Ответ #2 : 16.07.2012, 17:52:04 »
кто и как проводит проверку данных пользователя?
Если организационно, то это дело администрации. Периодически будут проводиться собрания, где желающие пользователи могут прийти и удостоверить свою личность.

Если речь о программе, то, например, в модуле голосования будут подводиться три итога голосования: анонимные, зарегистрированых пользователей и удостоверенных пользователей(или "граждан").
Также в комментариях и на форуме все пользователи должны видеть информацию друг о друге и знать, чьи данные в профиле подтверждены.
В этом случае нужно либо проверять висят ли флаги проверки данных пользователей, либо сразу разносить пользователей по группам и оперировать уже группами. В последнем случае скорее всего не придётся вмешиваться программно, если нужно дать разрешение исключительно "гражданам" на использование стандартных модулей, например на размещение статей или открытие голосований.
« Последнее редактирование: 16.07.2012, 17:57:37 от vdaminov »
*

AlexSmirnov

  • Завсегдатай
  • 1862
  • 272 / 16
  • Ищите и найдете
Re: Подтверждение данных профиля
« Ответ #3 : 16.07.2012, 18:19:03 »
если Вы планируете удостоверять личность зарегистрированного через CommunityBuilder на Вашем сайте пользователя один раз, а затем назначать ему различные права и действия на сайте, то эта логика уже встроена в СВ и Joomla ACL.

По его подтверждению своей регистрации (если Вы выбрали подтверждение), включайте его в менеджере пользователей, но назначьте ему пока параметр "Не одобрен", закрывая ему тем самым вход на сайт.

Затем, как только Вы удостоверились в действительности его личных данных, измените параметр "Не одобрен" на "Одобрен". Затем переходите к работе с этим пользователем через Joomla ACL.
# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
*

vdaminov

  • Новичок
  • 6
  • 0 / 0
Re: Подтверждение данных профиля
« Ответ #4 : 16.07.2012, 19:34:56 »
Спасибо но, к сожалению,  Ваш вариант не подойдет. У пользователей без удостоверения личности должна быть возможность участвовать в обсуждениях.

Также возможно придётся удостоверять поля по отдельности.
Например, возможен такой вариант - совет "граждан" решает, что отслужившие в армии или имеющие высшее образование получают "+" к весу голоса. В этом случае "удостоверенный"(по ФИО) пользователь работает как обычно, но дополнительные поля начинают учитываться лишь после того, как он докажет, что имеет на это право.
*

AlexSmirnov

  • Завсегдатай
  • 1862
  • 272 / 16
  • Ищите и найдете
Re: Подтверждение данных профиля
« Ответ #5 : 16.07.2012, 21:35:00 »
О каком обсуждении идет речь? Форум? Комментирование материалов?
# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
*

vdaminov

  • Новичок
  • 6
  • 0 / 0
Re: Подтверждение данных профиля
« Ответ #6 : 17.07.2012, 08:46:40 »
Форум. Движок Kunena. Комментирование материалов предварительно планирую сделать также на основе форума, примерно как на сайте rosbalt.ru
*

vdaminov

  • Новичок
  • 6
  • 0 / 0
Re: Подтверждение данных профиля
« Ответ #7 : 18.07.2012, 21:51:11 »
Разрешил проблему запретив пользователю изменять проверенные данные.

Для этого в файле administrator/components/com_comprofiler/comprofiler.class.php изменил функцию _getFieldsContents вставив между строками
Код
foreach( $oFields AS $oField ){
$results .= $this->_getSingleFieldContent( $oField, $user, $output, $formattingFields, $reason, $list_compare_types );
}

свой код

Код
foreach( $oFields AS $oField ){

if($reason=='edit' && $user->cb_isperson==1 && $oField->name=='firstname') //cb_isperson -  поле-чекбокс, 1-пользователь удостоверен
{ $oField->readonly=1;} 
if($reason=='edit' && $user->cb_isperson==1 && $oField->name=='middlename')
{ $oField->readonly=1;}
if($reason=='edit' && $user->cb_isperson==1 && $oField->name=='lastname')
{ $oField->readonly=1;}

$results .= $this->_getSingleFieldContent( $oField, $user, $output, $formattingFields, $reason, $list_compare_types );
}

После этого возникали ошибки при сохранении формы: "Поле обязательно для сохранения!". Исправил аналогично изменив функцию saveTabsContents в том же файле:
Код
foreach ( $fields as $field ) {

        if($reason=='edit' && $user->cb_isperson==1 && $field->name=='firstname')
        { $field->readonly=1;}
if($reason=='edit' && $user->cb_isperson==1 && $field->name=='middlename')
{ $field->readonly=1;}
if($reason=='edit' && $user->cb_isperson==1 && $field->name=='lastname')
{ $field->readonly=1;}

Поиск способа задавать программно группы отложил на потом.
*

AlexSmirnov

  • Завсегдатай
  • 1862
  • 272 / 16
  • Ищите и найдете
Re: Подтверждение данных профиля
« Ответ #8 : 18.07.2012, 23:28:13 »
Не могу пока проверить мою идею в документации на kunena.org (сайт временно недоступен), но, если Kunena работает с Joomla 2.5 ACL (не вижу причины к обратному), то можно создать отдельную группу/группы для тех, кто зарегистрировался, подтвердил регистрацию через почту (если требуется), был включен и одобрен Вами, прошел Вашу проверку личности и назначать пользователям этой особой группы права и действия на Ваше усмотрение. Именно для этого и создан улучшенный начиная с Joomla 1.6 ACL (Access Control List).

Насчет Вашего хака. Я лично не сторонник хаков, главным образом ввиду полной непредсказуемости их поведения при изменениях в системе (смена параметров, установка новых версий системы и/или расширений). Исключение - только для хаков, рекомендуемых самими официальными разработчиками.
# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
*

AlexSmirnov

  • Завсегдатай
  • 1862
  • 272 / 16
  • Ищите и найдете
Re: Подтверждение данных профиля
« Ответ #9 : 19.07.2012, 01:33:21 »
Я был прав. Последняя версия Kunena отлично работает с Joomla 2.5 ACL.

1 В менеджере пользователей Joomla 2.5 cоздаем новую группу ДОСКОНАЛЬНО ПРОВЕРЕННЫЕ, дочернюю группе Registered (зарегистрированные)



2 В форуме Kunena 2.0.1 cоздаем специальную категорию с доступом только для этой особой группы проверенных:



3 В CommunityBuilder в менеджере профилей назначаем эту особенную группу пользователям по мере их проверки:

# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
*

vdaminov

  • Новичок
  • 6
  • 0 / 0
Re: Подтверждение данных профиля
« Ответ #10 : 19.07.2012, 07:44:18 »
Спасибо, попробую воспользоваться.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Кроссбраузерность профиля CommunityBuilder 2

Автор warlocksp

Ответов: 1
Просмотров: 2144
Последний ответ 05.03.2018, 08:15:18
от warlocksp
Вложенное меню при редактировании профиля

Автор alfaf1

Ответов: 0
Просмотров: 1661
Последний ответ 13.07.2016, 13:34:55
от alfaf1
Как сделать в редактировании профиля юзера поял ввиде таблицы?

Автор Dusk09

Ответов: 0
Просмотров: 1226
Последний ответ 11.08.2015, 21:21:46
от Dusk09
Вывод профиля на Печать, Отправить, PDF - ?

Автор warlocksp

Ответов: 1
Просмотров: 1398
Последний ответ 24.06.2015, 14:03:51
от warlocksp
Как отключить подтверждение почты в СВ?

Автор DmWagner

Ответов: 3
Просмотров: 1748
Последний ответ 15.06.2015, 21:35:27
от DmWagner