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

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

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

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

Сообщение xp2000 » 24.10.2010 10:48

Как сделать, чтобы добавлять новость на сайт, и появлялась эта же новость на форуме, обсуждения на форуме.

Аватара пользователя
MIT
Former team member
Сообщения: 2500
Зарегистрирован: 14.03.2009 17:52
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 4 раза
Поблагодарили: 353 раза
Контактная информация:

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

Сообщение MIT » 24.10.2010 11:12

Я бы сделал так:
На хостинге с форумом разместил файл 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
Зарегистрирован: 08.02.2008 12:25
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

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

Сообщение Metag » 22.03.2011 11:35

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

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

То есть - это не совсем программное добавление - иными словами в $_POST или в $_GET можно отправить id форума и тему нового поста - при создании новой темы?
Спасибо за ваш портал!!!

Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 2740
Зарегистрирован: 19.03.2009 17:43
Благодарил (а): 21 раз
Поблагодарили: 966 раз

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

Сообщение Nekstati » 22.03.2011 13:18

Metag, Joomla + jFusion, всё уже придумано.

Metag
phpBB 1.4.2
Сообщения: 51
Зарегистрирован: 08.02.2008 12:25
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

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

Сообщение Metag » 22.03.2011 15:12

Nekstati писал(а):Joomla + jFusion, всё уже придумано.
У меня ситуация "Самопис + phpBB" - так что еще не все:)
Или вы имеете ввиду ковырять jFusion?
Спасибо за ваш портал!!!

Аватара пользователя
HAMMER663
Former team member
Сообщения: 2028
Зарегистрирован: 17.04.2010 12:59
Откуда: Зеленоград
Благодарил (а): 71 раз
Поблагодарили: 245 раз
Контактная информация:

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

Сообщение HAMMER663 » 22.03.2011 17:08

Metag писал(а):Или вы имеете ввиду ковырять jFusion?
он имеет ввиду что такая интеграция уже есть.

Metag
phpBB 1.4.2
Сообщения: 51
Зарегистрирован: 08.02.2008 12:25
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

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

Сообщение Metag » 22.03.2011 23:44

Если я правильно его понял - он имеет ввиду что есть связка Joomla - jFusion - phpBB
Я же скромно указал что у меня немного другая история.
Спасибо за ваш портал!!!

Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 2740
Зарегистрирован: 19.03.2009 17:43
Благодарил (а): 21 раз
Поблагодарили: 966 раз

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

Сообщение Nekstati » 23.03.2011 8:19

Это вам лишний повод отказаться от своего самописа и не изобретать велосипед. ;)

Metag
phpBB 1.4.2
Сообщения: 51
Зарегистрирован: 08.02.2008 12:25
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

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

Сообщение Metag » 23.03.2011 8:45

:)

К сожалению, мне не отказаться.
Спасибо за ваш портал!!!

Аватара пользователя
AlexSport
phpBB 1.4.0
Сообщения: 30
Зарегистрирован: 30.03.2010 8:37
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 2 раза
Контактная информация:

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

Сообщение AlexSport » 25.04.2011 14:54

Добрый день!

Скажите пожалуйста, как можно узнать topic_id только что созданной (с помощью предложенного скрипта) темы ?

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

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

Сообщение rxu » 25.04.2011 16:36

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
Зарегистрирован: 30.03.2010 8:37
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 2 раза
Контактная информация:

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

Сообщение AlexSport » 25.04.2011 17:00

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

Еще два небольших вопроса - скажите прожалуйста, правильно я догадываюсь, что $uid - это user_id ?
И второе - почему 'post_time' => 0, какая в итоге будет дата у сообщения, текущая?

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

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

Сообщение rxu » 25.04.2011 17:28

AlexSport писал(а):правильно я догадываюсь, что $uid - это user_id ?
Нет, это идентификатор bbcode для конкретного сообщения.
AlexSport писал(а):почему 'post_time' => 0, какая в итоге будет дата у сообщения, текущая?
Дата будет текущая при любом значении этого параметра, как ни странно.
Изображение

Аватара пользователя
AlexSport
phpBB 1.4.0
Сообщения: 30
Зарегистрирован: 30.03.2010 8:37
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 2 раза
Контактная информация:

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

Сообщение AlexSport » 25.04.2011 18:17

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

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

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

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

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

'topic_id'		=> номер_топика,
Или я не прав? Если я прав, то нужно ли удалять из массива элемент 'forum_id' ?

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

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

Сообщение rxu » 25.04.2011 18:27

AlexSport писал(а):Или я не прав?
Всё верно.
AlexSport писал(а):Если я прав, то нужно ли удалять из массива элемент 'forum_id' ?
Нет.
Изображение

Перенесено из форума FAQ (phpBB 3.0.x) в форум FAQ 28.09.2016 15:02 модератором rxu

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

Ответить

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