Перенос активации пользователей с админа на модераторов

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Птолемей
phpBB 1.4.0
Сообщения: 39
Стаж: 19 лет 5 месяцев

Перенос активации пользователей с админа на модераторов

Сообщение Птолемей »

У меня на форуме активацией пользователей занимается администратор.
Хочу эту функцию переложить на модераторов.

Пытался, не залогиневшись на форуме, активировать пользователя. Не получилось. Сказало, что у меня нет доступа.

Что дает мне право активировать пользователей в этом случае? Звание администратора или какой-нибудь флаг в настройках пользователя?


P.S. на подходящий мод я не расчитываю... или, о чудо, есть такой?
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 20 лет 6 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

Тупой вариант: вырубаем активацию админом (VC и мыло на месте), делаем все форумы приватными и запрещаем всем в них писать, создаем закрытую группу и даем этой группе право писать во всем форуме, создаем бота, назначаем его модератором этой группы, имя и логин бота раздаем нужным модераторам. Всё. Теперь юзверь регится, но писать так и не может, а модераторы потом если одобряют кандидатуру, то включают его в эту группу и пользователь живет.
я люблю daft punk | новый sugoi.ru
Птолемей
phpBB 1.4.0
Сообщения: 39
Стаж: 19 лет 5 месяцев

Сообщение Птолемей »

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

Уже подумал и об решении такой проблемы:
1. сделать активацию по мылу нового пользователя
2. изменить процесс активации так, чтоб логин и пароль шли новому пользователю, а урл-активации к нужному модератору.


Господа, что вы на это скажете?

Какой файл(ы) отвечает(ют) за активацию нового пользователя?
Последний раз редактировалось Птолемей 25.11.2005 10:18, всего редактировалось 1 раз.
Аватара пользователя
Balamut
Former team member
Сообщения: 2214
Стаж: 20 лет 2 месяца
Откуда: {postrow.POSTER_FROM}
Поблагодарили: 68 раз

Сообщение Balamut »

Птолемей, а как пользователи будут сортироваться по регионам? По ИП? Тут стоит проблема с проксями. По значению поля "Откуда"? Тогда можно надеятся на честность юзеров, что тоже сомнительно.
//
// That's all, Folks!
// -------------------------------------------------
Птолемей
phpBB 1.4.0
Сообщения: 39
Стаж: 19 лет 5 месяцев

Сообщение Птолемей »

Smayliks
именно по полю "Откуда". Модераторы должны знать человека, прежде чем его активировать.

Форум мой не виртуальное объединение людей, а дополнение к общению людей в настоящей жизни.
Птолемей
phpBB 1.4.0
Сообщения: 39
Стаж: 19 лет 5 месяцев

Сообщение Птолемей »

В файле usercp_register.php
есть строчки (третья была мной изменена)

Код: Выделить всё

$sql = "SELECT user_email, user_lang
	FROM " . USERS_TABLE . "
	WHERE user_rank = '4' AND user_from = '5';
if ( !($result = $db->sql_query($sql)) )
	{
	message_die(GENERAL_ERROR, 'Could not select Administrators', '', __LINE__, __FILE__, $sql);
	}
Среди пользователей нет такого пользователя, который был со званием "4" и из "5". (Проверял в бд)
(Пользователи со званием "4" есть только из "1" и "3")
Но это не мешает проге находить такого пользователя и работать дальше, а не останавливаться с воплем: "Админ не найден!"

В каких же днк у меня ошибка?
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 20 лет 6 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

Птолемей
Чтоб ежики ели броколи, как вы можете сравнивать
Птолемей писал(а):WHERE user_rank = '4' AND user_from = '5';
если выбираете только
Птолемей писал(а):$sql = "SELECT user_email, user_lang
?
я люблю daft punk | новый sugoi.ru
Птолемей
phpBB 1.4.0
Сообщения: 39
Стаж: 19 лет 5 месяцев

Сообщение Птолемей »

VVVas
Мне надо пользователю со званием "начальник клуба" (как-раз user_rank = '4' - в бд посмотрел) живущему в регионе "5" (user_from = '5') отправить на (1) его майл письмо, написанное (2) на понятном ему языке, что произошло некое событие (новый пользователь из его региона объявился).

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

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

Добавлено спустя 4 часа 1 минуту 52 секунды:

Пытался найти решение сам...

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


Но в процессе отладки случайно создал бесконечный цикл с отправкой писем администратору и новому пользователю... к каждому ушло где-то 200 писем. (На сервере установлено максимальное время выполнения скрипта.)

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

изменения делал только в \includes\usercp_register.php
пробовал даже поставить резервную копию этого файла - безрезультатно.
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 20 лет 10 месяцев
Откуда: Бердск

Сообщение crash »

Птолемей
может вас хостер уже забанил?)
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Птолемей
phpBB 1.4.0
Сообщения: 39
Стаж: 19 лет 5 месяцев

Сообщение Птолемей »

crash
вполне возможно...

в понедельник свяжусь с хостером.




Промежуточные результаты:
- когда регистрируется новый пользователь, он должен выбрать в качестве своего местонахождения один из разрешенных географических регионов (городов).
- написание географических регионов зависит от языка
- при регистрации нового пользователя письмо с возможностью его активации приходит на почтовый ящик, человеку который отвечает за этот регион. Если этого человека нет, то письмо идет админу. (выбранный язык не играет роли)
- активация пользователей осуществляется контингентом пользователей с определенным званием, у которых нет прав админа.

Недостатки:
- нельзя зарегистрироваться пользователю из других географических регионов (придется им выбирать близжайший).
- нельзя уточнить в какой части этого региона живет пользователь (районы у городов, адреса)
- при установки мода надо вписывать разрешенные регионы.
- чтоб добавить потом новый регион надо изменить несколько файлов
- АйДи группы, которой можно активировать новых пользователей, смотрится во время установки мода непосредственно в самой БД.*


Вывод:
- мод получается слишком специализированный
- в чистом виде он не годится для Easymod'a и сложен для новичков. (Скорее всего придется делать прогу, которая под нужды генирирует код мода).


Кому-нибудь такой мод нужен?

* можно сделать и автоматическое, только это лишние запросы к БД.
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 20 лет 6 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

Птолемей
Насчет регионов, смотрите сюда http://www.phpbbguru.net/community/viewtopic.php?t=3602
Птолемей писал(а):- нельзя зарегистрироваться пользователю из других географических регионов (придется им выбирать близжайший).
- нельзя уточнить в какой части этого региона живет пользователь (районы у городов, адреса)
Решаеться вводом дополнительного тектового поля в профиль, как сделал я у себя.

Это так мысли, может пригодятся, а так я ничего не понимаю в реализации предложенного механизма.
я люблю daft punk | новый sugoi.ru
Птолемей
phpBB 1.4.0
Сообщения: 39
Стаж: 19 лет 5 месяцев

Сообщение Птолемей »

VVVas
знал бы прикуп...
Благодарю, я практически так и сделал.
Посмотрю на внутренюю реализацию, похоже, что она сделана лучше, чем у меня.

(Вообще-то я стараюсь подробно описать задание моего мода...)
Вот теперь к твоему моду добавь некую группу людей с определенным званием. И если на форуме регится новый пользователь, прога смотрит есть ли уже в этом регионе человек с нужным званием. Если да, то отправляется письмо ему со строчкой активации, а если нет, то админу.


P.S. кто-нибудь знает ответ на поставленный мною вопрос от 27.11.2005 9:50? (см. выше)

Вернуться в «Поддержка phpBB 2.0.x»