Добавление пользователя через HTTP

Форум для авторов расширений для phpBB. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9641
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 173 раза
Поблагодарили: 2672 раза
Контактная информация:

Re: Добавление пользователя через HTTP

Сообщение Татьяна5 » 18.12.2018 17:33

Только те, которые перечислены в функции

zabe1
phpBB 1.4.1
Сообщения: 45
Зарегистрирован: 08.11.2018 19:07

Re: Добавление пользователя через HTTP

Сообщение zabe1 » 18.12.2018 17:40

Вопрос решил. Проблема была в формате даты. При использовании user_add не было указано формат даты. В личных настройках указал формат даты и теперь все в норме. Спасибо за помощь

Отправлено спустя 2 минуты 52 секунды:
Татьяна5 писал(а):
18.12.2018 17:33
Только те, которые перечислены в функции

Возник вопрос. Как с помощью HTTP запроса выдать права конкретному пользователю на конкретный раздел форума? Пробовал делать через БД. Права выдались но по факту их нет.

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9641
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 173 раза
Поблагодарили: 2672 раза
Контактная информация:

Re: Добавление пользователя через HTTP

Сообщение Татьяна5 » 18.12.2018 17:44

Татьяна5 писал(а):
17.12.2018 21:21
includes\acp\acp_permissions.php, метод set_permissions

zabe1
phpBB 1.4.1
Сообщения: 45
Зарегистрирован: 08.11.2018 19:07

Re: Добавление пользователя через HTTP

Сообщение zabe1 » 18.12.2018 17:46

Татьяна5 писал(а):
18.12.2018 17:44
includes\acp\acp_permissions.php, метод set_permissions
Можно пример использования. Параметры не совсем понятны

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9641
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 173 раза
Поблагодарили: 2672 раза
Контактная информация:

Re: Добавление пользователя через HTTP

Сообщение Татьяна5 » 18.12.2018 18:04

Там в том же файле параметры можно разобрать (вызов функции в том же файле, где она задана)

По-хорошему ещё можно добавить пользователя в некоторую группу, а этой группе назначить нужные права. Этот вариант гораздо гибче при дальнейшем использовании
Это в includes/functions_user.php, group_user_add

zabe1
phpBB 1.4.1
Сообщения: 45
Зарегистрирован: 08.11.2018 19:07

Re: Добавление пользователя через HTTP

Сообщение zabe1 » 18.12.2018 19:19

Татьяна5 писал(а):
18.12.2018 18:04
По-хорошему ещё можно добавить пользователя в некоторую группу, а этой группе назначить нужные права. Этот вариант гораздо гибче при дальнейшем использовании
Это в includes/functions_user.php, group_user_add
Придется тогда создать около 30 групп. Да и мне надо что бы писало ник пользователя в разделе где он модератор

Отправлено спустя 5 минут 58 секунд:
Татьяна5 писал(а):
18.12.2018 18:04
Там в том же файле параметры можно разобрать (вызов функции в том же файле, где она задана)
В том то и проблема что я не могу их разобрать. Поэтому и прошу пример кода. К примеру как выдать права ид 15 на раздел ид 10 пользователю ид которого 68?

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11451
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 52 раза
Поблагодарили: 2554 раза
Контактная информация:

Re: Добавление пользователя через HTTP

Сообщение Sheer » 18.12.2018 21:03

В phpBB нет никаких разделов - есть форумы.
zabe1 писал(а):
18.12.2018 19:25
мне надо что бы писало ник пользователя в разделе где он модератор
И из-за этого весь огород? А ведь это делается штатными методами
moder.jpg
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

zabe1
phpBB 1.4.1
Сообщения: 45
Зарегистрирован: 08.11.2018 19:07

Re: Добавление пользователя через HTTP

Сообщение zabe1 » 18.12.2018 21:06

Sheer писал(а):
18.12.2018 21:03
И из-за этого весь огород? А ведь это делается штатными методами
Тема посвящена тому как делать все через HTTP запрос а не штатно.

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14403
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 344 раза
Поблагодарили: 1514 раз
Контактная информация:

Re: Добавление пользователя через HTTP

Сообщение rxu » 18.12.2018 21:15

Смотрите includes/acp/auth.php function set_permissions($mode, $permission_type, &$auth_admin, &$user_id, &$group_id).
Изображение

zabe1
phpBB 1.4.1
Сообщения: 45
Зарегистрирован: 08.11.2018 19:07

Re: Добавление пользователя через HTTP

Сообщение zabe1 » 18.12.2018 21:36

rxu писал(а):
18.12.2018 21:15
Смотрите includes/acp/auth.php function set_permissions($mode, $permission_type, &$auth_admin, &$user_id, &$group_id).
Смотрел. Не могу разобрать как их использовать грамотно. Поэтому и прошу пример кода. К примеру как выдать права ид 15 на раздел ид 10 пользователю ид которого 68?

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14403
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 344 раза
Поблагодарили: 1514 раз
Контактная информация:

Re: Добавление пользователя через HTTP

Сообщение rxu » 18.12.2018 21:43

zabe1 писал(а):
18.12.2018 21:36
Поэтому и прошу пример кода.
Пример кода элементарно находится поиском вхождения set_permissions( по тексту исходного кода.
Например, в includes\acp\acp_permissions.php.
Изображение

zabe1
phpBB 1.4.1
Сообщения: 45
Зарегистрирован: 08.11.2018 19:07

Re: Добавление пользователя через HTTP

Сообщение zabe1 » 18.12.2018 21:48

rxu писал(а):
18.12.2018 21:43
Пример кода элементарно находится поиском вхождения set_permissions( по тексту исходного кода.
Например, в includes\acp\acp_permissions.php.
Я указал кокой именно пример мне нужен. Мне надо конкретному пользователю дать права к конкретному разделу. Функция set_permissions имеет вот такие переменные ($mode, $permission_type, $auth_admin, &$user_id, &$group_id) я не могу понять как мне их использовать так что бы я выдал конкретному пользователю доступ к конкретному разделу. К примеру в функции group_user_add все понятно. Вставил ид пользователя и ид группы функция сама все сделала. Как такое сделать с set_permissions если там даже нету переменной которая отвечает за номер конкретного раздела? Именно поэтому я и пишу сюда что бы мне хоть немного пролили свет на это все дело.

Отправлено спустя 1 минуту 34 секунды:
Обьясню ещё раз что мне надо. Через HTTP запрос выдать права конкретному пользователю к конкретному разделу. Делал все через БД все везде зафиксировано но почему то на практике прав нету. Если через адм панель проверить права пользователя то они будут а если зайти под самим пользователем то прав нету.

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11451
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 52 раза
Поблагодарили: 2554 раза
Контактная информация:

Re: Добавление пользователя через HTTP

Сообщение Sheer » 18.12.2018 21:59

zabe1 писал(а):
18.12.2018 21:36
как выдать права ид 15
Никак. Никто не может знать заранее, какой ID имеет право, например f_sticky
А пример такой.

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

	$forum_id = 15;
		$assigned_role = 0;
		$ug_type = 'user';
		$ug_id = array(68);
		$auth_settings = array(
			'f_announce' => 0,// Может создавать объявления - Никогда
			'f_announce_global' => 0, //Может создавать важные темы - Никогда
			'f_delete' => -1, //Может безвозвратно удалять собственные сообщения - Нет
			'f_edit' => 1, // Может редактировать собственные сообщения - Да
		);
		$auth_admin->acl_set($ug_type, $forum_id, $ug_id, $auth_settings, $assigned_role);
zabe1 писал(а):
18.12.2018 19:25
что бы писало ник пользователя в разделе где он модератор
Чтобы в данном случае пишется слитно. Еще раз - нет разделов, есть форумы. Придерживайтесь общепринятой терминологии.
Пример

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

INSERT INTO phpbb_moderator_cache (forum_id, user_id, username, group_id, group_name, display_on_index) VALUES
(3, 49, 'R8FAS', 0, '', 1);
При этом пользователю с ID 49 должны быть выданы соответствующие модераторские права или назначена роль.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

zabe1
phpBB 1.4.1
Сообщения: 45
Зарегистрирован: 08.11.2018 19:07

Re: Добавление пользователя через HTTP

Сообщение zabe1 » 18.12.2018 22:30

Sheer писал(а):
18.12.2018 21:59
Никак. Никто не может знать заранее, какой ID имеет право, например f_sticky
Я немного не правильно выразился. У меня есть готовые роли и я знаю их ID

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11451
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 52 раза
Поблагодарили: 2554 раза
Контактная информация:

Re: Добавление пользователя через HTTP

Сообщение Sheer » 18.12.2018 22:35

Тогда составляйте SQL-запросы и вперед. Только не запутайтесь в таблицах.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Ответить

Вернуться в «Для авторов»