Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[FAQ] Как программно добавить тему / пост / личное сообщение

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
xp2000
phpBB 1.0.0
Сообщения: 2
Стаж: 13 лет 5 месяцев
Откуда: Краснокаменск
Благодарил (а): 1 раз
Контактная информация:

Re: [FAQ] Как программно добавить тему / пост / личное сообщ

Сообщение xp2000 »

Как сделать, чтобы добавлять новость на сайт, и появлялась эта же новость на форуме, обсуждения на форуме.
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 15 лет
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 4 раза
Поблагодарили: 352 раза
Контактная информация:

Re: [FAQ] Как программно добавить тему / пост / личное сообщ

Сообщение MIT »

Я бы сделал так:
На хостинге с форумом разместил файл post_topic.php, который GET параметром принимал авторизационный токен (например, post_topic.php?auth=[url=http://www.guidgenerator.com/online-guid-generator.aspx]c8e2711c-0588-4afd-a661-a3523b584824[/url], что бы посторонние не смогли воспользоваться этим скриптом), а POST`ом принимал данные, которые необходимо разместить: id форума, заголовок, текст, id пользователя, от которого надо тему разместить.
На хостинге с DLE вызывал бы первый скрипт при помощи cURL`а и передавал POST`ом всю информацию.

Также потребуется небольшая правка функции submit_post форума, что бы она могла размещать сообщение от имени любого пользователя, а не от «обладателя» сессии.

Если тебя это не испугало, то удачи ;)
Metag
phpBB 1.4.2
Сообщения: 51
Стаж: 16 лет 1 месяц
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Re: [FAQ] Как программно добавить тему / пост / личное сообщ

Сообщение Metag »

Продолжение мысли "Обсудить на форуме" - возможно ли сделать так:

В конце статьи человек нажимает по ссылке "Обсудить на форуме" - открывается окно создания новой темы и тема уже прописана (предположим совпадает с темой статьи)

То есть - это не совсем программное добавление - иными словами в $_POST или в $_GET можно отправить id форума и тему нового поста - при создании новой темы?
Спасибо за ваш портал!!!
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3335
Стаж: 15 лет
Благодарил (а): 35 раз
Поблагодарили: 1434 раза

Re: [FAQ] Как программно добавить тему / пост / личное сообщ

Сообщение Nekstati »

Metag, Joomla + jFusion, всё уже придумано.
Metag
phpBB 1.4.2
Сообщения: 51
Стаж: 16 лет 1 месяц
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Re: [FAQ] Как программно добавить тему / пост / личное сообщ

Сообщение Metag »

Nekstati писал(а):Joomla + jFusion, всё уже придумано.
У меня ситуация "Самопис + phpBB" - так что еще не все:)
Или вы имеете ввиду ковырять jFusion?
Спасибо за ваш портал!!!
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 13 лет 11 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз
Контактная информация:

Re: [FAQ] Как программно добавить тему / пост / личное сообщ

Сообщение HAMMER663 »

Metag писал(а):Или вы имеете ввиду ковырять jFusion?
он имеет ввиду что такая интеграция уже есть.
Metag
phpBB 1.4.2
Сообщения: 51
Стаж: 16 лет 1 месяц
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Re: [FAQ] Как программно добавить тему / пост / личное сообщ

Сообщение Metag »

Если я правильно его понял - он имеет ввиду что есть связка Joomla - jFusion - phpBB
Я же скромно указал что у меня немного другая история.
Спасибо за ваш портал!!!
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3335
Стаж: 15 лет
Благодарил (а): 35 раз
Поблагодарили: 1434 раза

Re: [FAQ] Как программно добавить тему / пост / личное сообщ

Сообщение Nekstati »

Это вам лишний повод отказаться от своего самописа и не изобретать велосипед. ;)
Metag
phpBB 1.4.2
Сообщения: 51
Стаж: 16 лет 1 месяц
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Re: [FAQ] Как программно добавить тему / пост / личное сообщ

Сообщение Metag »

:)

К сожалению, мне не отказаться.
Спасибо за ваш портал!!!
Аватара пользователя
AlexSport
phpBB 1.4.0
Сообщения: 30
Стаж: 13 лет 11 месяцев
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 2 раза
Контактная информация:

Re: [FAQ] Как программно добавить тему / пост / личное сообщ

Сообщение AlexSport »

Добрый день!

Скажите пожалуйста, как можно узнать topic_id только что созданной (с помощью предложенного скрипта) темы ?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: [FAQ] Как программно добавить тему / пост / личное сообщ

Сообщение rxu »

AlexSport
Простого пути нет. Функция submit_post() возвратит ссылку на созданную тему. Идентификатор можно вынуть, например, через регулярное выражение, которое будет искать t=([0-9]+), ну например

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

$url = submit_post(... ... ...);
preg_match('#t=([0-9]+)#i', $url, $topic_id);
$topic_id = (sizeof($topic_id)) ? (int) $topic_id[1] : 0;
Изображение
Аватара пользователя
AlexSport
phpBB 1.4.0
Сообщения: 30
Стаж: 13 лет 11 месяцев
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 2 раза
Контактная информация:

Re: [FAQ] Как программно добавить тему / пост / личное сообщ

Сообщение AlexSport »

Понял, спасибо большое.

Еще два небольших вопроса - скажите прожалуйста, правильно я догадываюсь, что $uid - это user_id ?
И второе - почему 'post_time' => 0, какая в итоге будет дата у сообщения, текущая?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: [FAQ] Как программно добавить тему / пост / личное сообщ

Сообщение rxu »

AlexSport писал(а):правильно я догадываюсь, что $uid - это user_id ?
Нет, это идентификатор bbcode для конкретного сообщения.
AlexSport писал(а):почему 'post_time' => 0, какая в итоге будет дата у сообщения, текущая?
Дата будет текущая при любом значении этого параметра, как ни странно.
Изображение
Аватара пользователя
AlexSport
phpBB 1.4.0
Сообщения: 30
Стаж: 13 лет 11 месяцев
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 2 раза
Контактная информация:

Re: [FAQ] Как программно добавить тему / пост / личное сообщ

Сообщение AlexSport »

Спасибо огромное за подробные ответы. И еще один вопрос (в продолжении про topic_id)
Как я уже понял, если я хочу добавить сообщения к имеющемуся топику, мне нужно в строке

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

submit_post('post', $my_subject, '', POST_NORMAL, $poll, $data);
post заменить на reply

А где мне указывать номер топика? Ввести в массив $data элемент

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

'topic_id'		=> номер_топика,
Или я не прав? Если я прав, то нужно ли удалять из массива элемент 'forum_id' ?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: [FAQ] Как программно добавить тему / пост / личное сообщ

Сообщение rxu »

AlexSport писал(а):Или я не прав?
Всё верно.
AlexSport писал(а):Если я прав, то нужно ли удалять из массива элемент 'forum_id' ?
Нет.
Изображение
Перенесено из форума FAQ (phpBB 3.0.x) в форум FAQ 28.09.2016 15:02 модератором rxu

Перенесено из форума FAQ в форум Для авторов 13.09.2017 18:31 модератором rxu

Ответить

Вернуться в «Для разработчиков»