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

Sobsoft

  • Захожу иногда
  • 63
  • 1 / 0
  • Бешеный кролег
Возникла проблема. На внутреннем сайте организации установлен JomSocial и при регистрации указывается Никнейм (логин), Имя (ФИО), Email (только корпоративный - иначе не пропустит). Заметил что пользователи могут изменить себе имя (не логин) и мыло после регистрации и активации. Как можно запретить им изменять эти поля (они как я понял не редактируются в админке никак).

И попутный вопрос как сделать чтобы можно было использовать один и тот же email многократно?
« Последнее редактирование: 08.02.2010, 13:55:09 от Sobsoft »
*

Sobsoft

  • Захожу иногда
  • 63
  • 1 / 0
  • Бешеный кролег
Re: Запрет редактирования E-mail и Имени
« Ответ #1 : 31.01.2010, 15:26:32 »
А если есть плагин, запрещающий редактирование всех полей (включая мыло и имя), то будет вообще отлично. Я использовал подобный плагин для CommunityBuilder, но для JS не нашёл (
*

kharol

  • Moderator
  • 1721
  • 217 / 0
Re: Запрет редактирования E-mail и Имени
« Ответ #2 : 01.02.2010, 19:46:09 »
Возможно пойти сложный путем.
1) Подключите CommunityBuilder и задействуйте от него только те ресурсы, которые Вам нужны.
2) Если планируете создать форум на сайте, то при при использовании в качестве скрипта форума phpBB3, все эти возможности можно задействовать, настроив правильно форум.
 - phpBB3 позволяет запрет регистрации с одного email, либо разрешает его
 - phpBB3 дает возможность запрета на изменение имени пользователя самим пользователем
Правда в этом случае придется организовывать мост между Joomla и phpBB3 и в качестве основной базы выбрать скрипт форума.
Об организации подобной интеграции, здесь очень много информации. Как вариант: JFusion, RokBridge или платный компонент P8PBB.
Чтобы сказать "спасибо" достаточно нажать на "+"
Чтобы сделать бухгалтерскую проводку "спасибо" реквизиты: R192102130372, ЯД:41001768818003
*

Sobsoft

  • Захожу иногда
  • 63
  • 1 / 0
  • Бешеный кролег
Re: Запрет редактирования E-mail и Имени
« Ответ #3 : 01.02.2010, 21:20:01 »
Спасибо за совет. Но к сожалению это не то что мне нужно. Связка там немного другая. JomSocial + Agora + ещё много различных плагинов, которые интегрируются в JS (Jpresents например). Форум конечно самая популярная часть ресурса. Но безусловно развлекательная. Проще говоря ставка на форум не будет делаться. А мне именно для JomSocial такой плагин нужен. Ну чтож как говорил Юрий Никулин в бриллиантовой руке - "будем искать" ))
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Re: Запрет редактирования E-mail и Имени
« Ответ #4 : 02.02.2010, 05:26:46 »
Это же элементарная связка if then else... можно тупо удалить поля из шаблона, можно, чтобы перестраховаться, отключить эти поля в ядре...
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Re: Запрет редактирования E-mail и Имени
« Ответ #5 : 02.02.2010, 05:37:33 »
в файле /controllers/profile.php начиная с 449 строки, есть такой код

Цитировать
      // we don't want users to edit certain fields so we will unset them
      unset($post['gid']);
      unset($post['block']);
      unset($post['usertype']);
      unset($post['registerDate']);
      unset($post['activation']);

ну вот если сюда добавить ещё 2 строки:

Цитировать
      unset($post['username']);
      unset($post['email']);

то может получиться то, что вам нужно... ну, только я бы добавил ещё проверку на суперадминистратора, чтобы админ всё-таки мог менять свои данные :)
« Последнее редактирование: 03.02.2010, 06:14:06 от Zombeee »
*

steelcat

  • Захожу иногда
  • 118
  • 13 / 0
Re: Запрет редактирования E-mail и Имени
« Ответ #6 : 02.02.2010, 14:58:43 »
Молодца, плюсанул тебе!  ;)
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Re: Запрет редактирования E-mail и Имени
« Ответ #7 : 02.02.2010, 16:36:30 »
Спасибо  :) обращайтесь, я на этой штуке уже ни одну собаку съел и далеко не пинчеров :) Я все шаблоны с нуля переписываю, уже почти закончил... один только CSS больше 2000 строк кода... ну и попутно ещё всякие правки в ядро приходится делать, т.к. не всё у них меня устраивает...
*

Sobsoft

  • Захожу иногда
  • 63
  • 1 / 0
  • Бешеный кролег
Re: Запрет редактирования E-mail и Имени
« Ответ #8 : 02.02.2010, 18:16:49 »
Zombeee, красафчег! Огромнейшее спасибо. Тока можно ещё уточнение насчет проверки суперадмина - ты имел ввиду добавить в код условие типа if это типа админ то можно edit, а если else то типа хрен? Если да то как это можно дописать? Если есть что нить буду оооочень рад. Ещё раз спс. Ща тож плюсану.
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Re: Запрет редактирования E-mail и Имени
« Ответ #9 : 03.02.2010, 06:12:15 »
Ну, во- первых нашел в 406 строке того же файла отмену редактирования username

Цитировать
      $post['username']   = $username;//JRequest::getVar('username', $username, 'post', 'username');

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

Что касается проверки, я не тестил, но как-то так должно заработать:

Цитировать
if (!isCommunityAdmin( $user->get('id') ) {
      unset($post['email']);
}

т.е. вместо тех двух строк, которые я до этого добавлял, надо вставить этот код и работает он при условии, что юзер не админ... по сути тут мы только запрещаем редактировать имайл, юзернейм, как я раньше написал, не должен редактироваться и так...
*

Sobsoft

  • Захожу иногда
  • 63
  • 1 / 0
  • Бешеный кролег
Re: Запрет редактирования E-mail и Имени
« Ответ #10 : 03.02.2010, 07:35:02 »
Ну почему то мои юзеры могут редактировать имя (не логин)
*

Sobsoft

  • Захожу иногда
  • 63
  • 1 / 0
  • Бешеный кролег
Re: Запрет редактирования E-mail и Имени
« Ответ #11 : 03.02.2010, 07:41:26 »
Видимо мы про разные параметры говорили
Ты говорил
unset($post['username']);
он действительно не редактируется - он же логин
А мне нужны были
      unset($post['name']);
      unset($post['email']);
Использовал помогло.
Но могу поменять в админке сам - и не нужна никакая (мне лично) проверка на админ или нет.
Спасибо ещё раз тебе огромное.
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Re: Запрет редактирования E-mail и Имени
« Ответ #12 : 03.02.2010, 08:45:44 »
Дело хозяйское, можно и в админке:) Обращайтесь, если ещё будут вопросы... Я вот сейчас пытаюсь разобраться как сделать чтобы приглашения в группу приходили по внутренней почте, а не на мыло...
*

Sobsoft

  • Захожу иногда
  • 63
  • 1 / 0
  • Бешеный кролег
Re: Запрет редактирования E-mail и Имени
« Ответ #13 : 03.02.2010, 19:54:10 »
Цитировать
приходили по внутренней почте
всмысле через ЛС?
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Re: Запрет редактирования E-mail и Имени
« Ответ #14 : 04.02.2010, 04:42:35 »
да

Здравствуйте! У меня такой же вопрос только немного другого плана. У меня есть поле профиля Статус, которое должен устанавливать Администратор для каждого юзера. Как скрыть это поле для фронтенд редактирования (чтоб сам юзер с фронтенда не смог его изменить). При этом чтобы админ из бекенда мог сам устанавливать значения данного поля. Буду благодарен за ответ! 
*

Sobsoft

  • Захожу иногда
  • 63
  • 1 / 0
  • Бешеный кролег
ну смори есть 2 места где можно отредактировать статус - модуль авторизации от JS и собственно твой профиль. В модуле (папка modules найди заветный файлик и закоментируй или удали код поля ввода), а для профиля - смори в папке templates (шаблоны) для каждого шаблона индивидуально. Конкретно какой файл не скажу т.к. нет под рукой движка.
*

jmsfx

  • Новичок
  • 7
  • 1 / 0
У меня схожая проблема, но мне надо запретить клиентам редактировать группу, которую я создаю в Custom Profiles. т.е. чтоб информация была видна юзеру в сообществе, но при редактировании профиля он не мог внести изменения именно в эту группу. А я как админ мог бы её редактировать в админ панели как мне удобно, создать типо того, чтоб управлять этой группой мог только я, а содержимое в сообществе видел только юзер, помогите решить задачку может кто сталкивался уже?  Или скажите плагин какой-нибудь где я как админ мог публиковать инфу в сообществе индивидуально для каждого юзера, но юзер эту инфу не мог редактировать?
*

Sobsoft

  • Захожу иногда
  • 63
  • 1 / 0
  • Бешеный кролег
jmsfx попробуйте поискать в файле groups.php (та же папка контроллер) и там есть где то права групп - там увидите, выражение типа
if superadmin то могёт тот то if user->my может тото... соответственно нужно условие типа if группа носит ИД такой то и если (if superadmin то могёт тот то if user->my) то труляля. Кода под рукой нету поэтому так невзрачно пишу))

в файле /controllers/profile.php начиная с 449 строки, есть такой код

ну вот если сюда добавить ещё 2 строки:

то может получиться то, что вам нужно... ну, только я бы добавил ещё проверку на суперадминистратора, чтобы админ всё-таки мог менять свои данные :)
Спасибо. Только у меня на Joomla 1.5.20 надо поправить joomla_root/components/com_user/controller.php
И что бы пользователи не задавали глупые вопросы "почему профиль не сохраняется" заменить inputbox на просто текст в joomla_root/components/com_user/views/user/tmpl/form.php заменить строки:
Цитировать
<input class="inputbox required" type="text" id="name" name="name" value="<?php echo $this->escape($this->user->get('name'));?>" size="40" />
и
Цитировать
<input class="inputbox required validate-email" type="text" id="email" name="email" value="<?php echo $this->escape($this->user->get('email'));?>" size="40" />
на
Цитировать
<span><?php echo $this->user->get('name');?></span>
и
Цитировать
<span><?php echo $this->user->get('email');?></span>
соответственно
*

trong

  • Осваиваюсь на форуме
  • 39
  • 1 / 0
Приветствую, подниму ка я тему  ^-^

В версии Joomla! 2.5.4 пытался найти в  /controllers/profile.php
Код
 // we don't want users to edit certain fields so we will unset them
      unset($post['gid']);
      unset($post['block']);
      unset($post['usertype']);
      unset($post['registerDate']);
      unset($post['activation']);


Для того что бы залочить пункты email и name на право редактировать пользователем в своем профиле, но к сожалению там нет.

Но есть в /models/profile.php

Код
// Unset the username so it does not get overwritten
unset($data['username']);
// Unset the sendEmail so it does not get overwritten
unset($data['sendEmail']);


Но к сожалению дополнение/изменение этого файла результатов не дает. Даже в настоящее время есть возможность редактировать пользователем свою почту хотя она как бы залочена.

Подскажите пожалуйста, куда копать?
*

trong

  • Осваиваюсь на форуме
  • 39
  • 1 / 0
Огромное всем спасибо за помощь! Один добрый человек в своем блоге подсказал - В новой версии (в старых всё подругому) всего то нужно переписать два пар-тра для того что бы любой пункт стал либо активен либо не активен! Либо вовсе был невидим. Теперь все пункты, которые нельзя редактировать - не активны.
Еще раз спасибо!
*

sebrotaller

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Огромное всем спасибо за помощь! Один добрый человек в своем блоге подсказал - В новой версии (в старых всё подругому) всего то нужно переписать два пар-тра для того что бы любой пункт стал либо активен либо не активен! Либо вовсе был невидим. Теперь все пункты, которые нельзя редактировать - не активны.
Еще раз спасибо!

А подробности не могли бы описать? Или на худой конец дать ссылку, где можно почитать?
*

87017017017

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Запрет редактирования E-mail и Имени
« Ответ #23 : 22.11.2012, 14:15:48 »
Огромное всем спасибо за помощь! Один добрый человек в своем блоге подсказал - В новой версии (в старых всё подругому) всего то нужно переписать два пар-тра для того что бы любой пункт стал либо активен либо не активен! Либо вовсе был невидим. Теперь все пункты, которые нельзя редактировать - не активны.
Еще раз спасибо!
подробнее пожалуйста, в каком файле, пункте?
*

Denis_Sadykov

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
RE: Запрет редактирования E-mail и Имени
« Ответ #24 : 09.04.2014, 14:15:19 »
А подробности не могли бы описать? Или на худой конец дать ссылку, где можно почитать?
Мне нужно такое сделать в 3-ей Joomla. Как это сделать?
*

trong

  • Осваиваюсь на форуме
  • 39
  • 1 / 0
RE: Запрет редактирования E-mail и Имени
« Ответ #25 : 10.04.2014, 13:11:03 »
Вся информация была взята с
http://lawans.ru/rasshirennaya-registraciya-polzovatelya
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться