Уважаемые пользователи!
В версии phpBB 3.3.13 обнаружены ошибки при использовании функции поиска по конференции.
Обсуждение проблемы и ее решения здесь Re: Вышел phpBB 3.3.13 [обсуждаем].
В связи с этим, не рекомендуется установка и обновление до phpBB 3.3.13.
Ошибка будет устранена разработчиками в версии phpBB 3.3.14.
Скачать предыдущую версию - phpBB 3.3.12 - можно здесь.
В версии phpBB 3.3.13 обнаружены ошибки при использовании функции поиска по конференции.
Обсуждение проблемы и ее решения здесь Re: Вышел phpBB 3.3.13 [обсуждаем].
В связи с этим, не рекомендуется установка и обновление до phpBB 3.3.13.
Ошибка будет устранена разработчиками в версии phpBB 3.3.14.
Скачать предыдущую версию - phpBB 3.3.12 - можно здесь.
Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
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] Как программно добавить тему / пост / личное сообщение
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ).
-
- phpBB 1.4.0
- Сообщения: 30
- Стаж: 14 лет 6 месяцев
- Откуда: Москва
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Добрый день! Подскажите пожалуйста, как сделать так, чтобы автор темы или авторы последующих сообщений были подписан на создаваемую или продолжаемую тему? Есть подозрение, что нужно добавить некую строчку в массив $data...
-
- Поддержка
- Сообщения: 3336
- Стаж: 15 лет 6 месяцев
- Благодарил (а): 25 раз
- Поблагодарили: 590 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Подписка на новые темы
Я знаю волшебную кнопку, я знаю тайную кнопку, она наверху, она всегда тут, она всем видна, но её никто не замечает…
Я знаю волшебную кнопку, я знаю тайную кнопку, она наверху, она всегда тут, она всем видна, но её никто не замечает…
-
- Former team member
- Сообщения: 2032
- Стаж: 14 лет 5 месяцев
- Откуда: Зеленоград
- Благодарил (а): 37 раз
- Поблагодарили: 39 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
вот создал я тему программно, теперь нужно сделать редирект на созданное сообщение, покопался в постинг.пхп и нашел такое (немного подправил для себя)
но возвращает на такую страницу
нужно взять forum_id и topic_id
но не пойму.. подскажите
Код: Выделить всё
$meta_info = ($mode == 'post') ? append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id) : append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id");
$my_text = $user->lang['POST_SENT'] . '<br /><br />' . sprintf($user->lang['RETURN_SEND_POST'], '<a href="' . $meta_info . '">', '</a>');
meta_refresh(3, $meta_info);
trigger_error($my_text);
что еще нужно добавить?/viewtopic.php?f&t
нужно взять forum_id и topic_id
но не пойму.. подскажите
-
- phpBB 1.4.4
- Сообщения: 117
- Стаж: 13 лет 7 месяцев
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Если верить: http://phpbbmodders.net/articles/3.0/create_post/
Когда такая задача стояла передо мной, я тупо читал таблицу posts.So after submitting the post, you can access the post id using $data['post_id'].
-
- Former team member
- Сообщения: 2032
- Стаж: 14 лет 5 месяцев
- Откуда: Зеленоград
- Благодарил (а): 37 раз
- Поблагодарили: 39 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
TomAlex можно немного поподробнее, пожалуйста))
-
- phpBB 1.4.4
- Сообщения: 117
- Стаж: 13 лет 7 месяцев
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Перед тем, как вызвать submit_post(), вы заполняете несколько структур, в том числе и массив, который в примерах чаще всего обозначается $data.
В цитируемой статье утверждается, что после вызова submit_post в поле 'post_id' содержится идентификатор сообщения.
Упс! Прошу прощения! Я не обратил внимания, что ван нужен идентификатор темы, а не сообщения!
Все равно, в таком случае стоит попытаться прочитать $data['topic_id']
А forum_id Вы задавали явно, когда готовили данные для вызова submit_post
Или я не понял вопроса?
В цитируемой статье утверждается, что после вызова submit_post в поле 'post_id' содержится идентификатор сообщения.
Упс! Прошу прощения! Я не обратил внимания, что ван нужен идентификатор темы, а не сообщения!
Все равно, в таком случае стоит попытаться прочитать $data['topic_id']
А forum_id Вы задавали явно, когда готовили данные для вызова submit_post
Или я не понял вопроса?
-
- Former team member
- Сообщения: 2032
- Стаж: 14 лет 5 месяцев
- Откуда: Зеленоград
- Благодарил (а): 37 раз
- Поблагодарили: 39 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
поняли, мне не важно на тему или на сообщение, хотя бы для начала просто разобраться.
вот например я делал так
вот куда тут вставить $data['topic_id'] ?
Вот это почему-то не работает
вот например я делал так
Код: Выделить всё
submit_post('post', $my_subject, '', POST_NORMAL, $poll, $data);
$meta_info = ($mode == 'post') ? append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id) : append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id");
$my_text = $user->lang['POST_SENT'] . '<br /><br />' . sprintf($user->lang['RETURN_SEND_POST'], '<a href="' . $meta_info . '">', '</a>');
meta_refresh(3, $meta_info);
trigger_error($my_text);
Вот это почему-то не работает
Код: Выделить всё
$meta_info = ($mode == 'post') ? append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id) : append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id");
-
- phpBB 1.4.4
- Сообщения: 117
- Стаж: 13 лет 7 месяцев
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
вместо $topic_idHAMMER663 писал(а):куда тут вставить $data['topic_id']
и $data['forum_id'] вместо $forum_id
-
- Former team member
- Сообщения: 2032
- Стаж: 14 лет 5 месяцев
- Откуда: Зеленоград
- Благодарил (а): 37 раз
- Поблагодарили: 39 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Код: Выделить всё
[error] PHP Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /forum/link.php on line 95
Добавлено спустя 3 минуты 31 секунду:
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
а вот так работает
Код: Выделить всё
$meta_info = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f={$data['forum_id']}&t={$data['topic_id']}");
-
- phpBB 1.0.0
- Сообщения: 3
- Стаж: 14 лет 3 месяца
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Будьте добры, подскажите, каким образом можно отправить пользователю ЛС, при это не используя и не подключая стандартные функции phpBB?
Вот тему, например, можно создать примерно так:
Однако с ЛС всё сложнее. В особенности неясно с таблице 'phpbb_privmsgs_to' (поле 'folder_id'). Буду рад, если кто-нибудь направит в верном направлении.
P.S. Использовать вариант с подключением стандартных функций не хочется, потому что придётся начинать новую сессию; плюс ко всему, ИМХО, незачем такое количество лишнего кода в стороннем скрипте...
Вот тему, например, можно создать примерно так:
Код: Выделить всё
...
$sql = mysql_query("SELECT * FROM `phpbb_users` WHERE user_id = $author");
$dp = mysql_fetch_object($sql);
$topicfirstpostername = $dp -> username;
$topicfirstpostercolour = $dp -> user_colour;
$userip = $dp -> user_ip;
$timenow = time();
$pheadline = 'Заголовок';
$ptext = 'Текст';
mysql_query("INSERT INTO `phpbb_topics` (forum_id, topic_title, topic_poster, topic_time, topic_first_poster_name, topic_first_poster_colour, topic_last_poster_id, topic_last_poster_name, topic_last_poster_colour, topic_last_post_time, topic_last_view_time, topic_last_post_subject, topic_type) VALUES (51, '$pheadline', $author, $timenow, '$topicfirstpostername', '$topicfirstpostercolour', $author, '$topicfirstpostername', '$topicfirstpostercolour', $timenow, $timenow, '$pheadline', 1)");
$topic_id = mysql_insert_id();
mysql_query("INSERT INTO `phpbb_posts` (topic_id, forum_id, poster_id, post_time, poster_ip, enable_sig, post_text, post_subject) VALUES ($topic_id, 51, $author, $timenow, '$userip', 1, '$ptext', '$pheadline')");
$post_id = mysql_insert_id();
mysql_query("UPDATE `phpbb_topics` SET topic_first_post_id = $post_id, topic_last_post_id = $post_id WHERE topic_id = $topic_id");
mysql_query("UPDATE `phpbb_users` SET user_lastvisit = $timenow, user_posts = (user_posts + 1) WHERE user_id = $author");
mysql_query("UPDATE `phpbb_forums` SET forum_posts = (forum_posts + 1), forum_topics = (forum_topics + 1), forum_topics_real = (forum_topics_real +1), forum_last_post_subject = '$pheadline', forum_last_post_id = $post_id, forum_last_post_time = $timenow, forum_last_poster_id = $author, forum_last_poster_name = '$topicfirstpostername', forum_last_poster_colour = '$topicfirstpostercolour' WHERE forum_id = 51");
P.S. Использовать вариант с подключением стандартных функций не хочется, потому что придётся начинать новую сессию; плюс ко всему, ИМХО, незачем такое количество лишнего кода в стороннем скрипте...
-
- phpBB 1.0.0
- Сообщения: 3
- Стаж: 12 лет 10 месяцев
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Код: Выделить всё
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require_once($phpbb_root_path . 'common.' . $phpEx);
require_once($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
// Start session management
$user->session_create( 54, true, false, false);
$auth->acl($user->data);
$user->setup();
$my_subject = utf8_normalize_nfc('Название темы');
$my_text = utf8_normalize_nfc('Текст');
$submit = (isset($_POST['submit'])) ? true : false;
// variables to hold the parameters for submit_post
$poll = $uid = $bitfield = $options = '';
//generate_text_for_storage($my_subject, $uid, $bitfield, $options, false, false, false);
//generate_text_for_storage($post_text, $uid, $bitfield, $options, true, true, true);
$data = array(
'forum_id' => 2,
'topic_id' => '',
'icon_id' => false,
'enable_bbcode' => true,
'enable_smilies' => true,
'enable_urls' => true,
'enable_sig' => true,
'from_user_id' => $user->data['user_id'],
'from_username' => $user->data['username'],
'from_user_ip' => $user->data['user_ip'],
'message' => $my_text,
'message_md5' => md5($my_text),
'bbcode_bitfield' => $bitfield,
'bbcode_uid' => $uid,
'post_edit_locked' => 0,
'topic_title' => $my_subject,
'notify_set' => false,
'notify' => false,
'post_time' => 0,
'forum_name' => '',
'enable_indexing' => true,
);
submit_post('post', $my_subject, '', POST_NORMAL, $poll, $data);
$user->session_kill();
?>
-
- phpBB 1.0.0
- Сообщения: 1
- Стаж: 12 лет 5 месяцев
Re: Программно добавить тему/пост под нужным юзером
crafter писал(а):Код: Выделить всё
<?php define('IN_PHPBB', true); $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '/'; $phpEx = substr(strrchr(__FILE__, '.'), 1); require($phpbb_root_path . 'common.' . $phpEx); require_once($phpbb_root_path . 'includes/functions_posting.' . $phpEx); // Start session management $user->session_begin(false); // no update_session_page // session_create($user_id = false, $set_admin = false, $persist_login = false, $viewonline = true) $user->session_create( [USER_ID_HERE], false, false, false); $auth->acl($user->data); $user->setup(); $my_subject = utf8_normalize_nfc(utf8_recode('subject test [русский сабж 3] text', 'windows-1251')); $my_text = utf8_normalize_nfc(utf8_recode('this is [русский текст 3] a text', 'windows-1251')); // variables to hold the parameters for submit_post $poll = $uid = $bitfield = $options = ''; generate_text_for_storage($my_subject, $uid, $bitfield, $options, false, false, false); generate_text_for_storage($my_text, $uid, $bitfield, $options, true, true, true); $data = array( 'forum_id' => [FORUM_ID_HERE], 'icon_id' => false, 'enable_bbcode' => true, 'enable_smilies' => true, 'enable_urls' => true, 'enable_sig' => true, 'message' => $my_text, 'message_md5' => md5($my_text), 'bbcode_bitfield' => $bitfield, 'bbcode_uid' => $uid, 'post_edit_locked' => 0, 'topic_title' => $my_subject, 'notify_set' => false, 'notify' => false, 'post_time' => 0, 'forum_name' => '', 'enable_indexing' => true, ); submit_post('post', $my_subject, '', POST_NORMAL, $poll, $data); $user->session_kill(); ?>
Подскажите пожалуйста какие конкретно параметры и куда нужно подставлять (Например: логин, пароль, ссылка на форум, текст заголовка, текст сообщения и т.д.)? Для успешно создания темы.
-
- phpBB 2.0.6
- Сообщения: 505
- Стаж: 14 лет 8 месяцев
- Благодарил (а): 17 раз
- Поблагодарили: 10 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Кто-нибудь, поделитесь, пожалуйста, скриптом для добавления поста с произвольным post_time.
-
- phpBB 1.0.0
- Сообщения: 1
- Стаж: 12 лет 3 месяца
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Добавляю программно тему,а после пробую её программно редактировать. Всё получается, тема сообщение в теме обновляется, только из таблицы phpbb_topics стирается данные из topic_first_poster_name. И получается при просмотре тем Автор - Гость, т.к. ек указан ник пользователя. Всё остальное правильно и ссылка на пользователя, и его цвет. В самой теме имя отображается корректно.
Помогите, пожалуйста, разобраться. Вот код, при помощи которого редактирую:
Помогите, пожалуйста, разобраться. Вот код, при помощи которого редактирую:
Код: Выделить всё
require_once($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
$my_subject = utf8_normalize_nfc($title);
$my_text = utf8_normalize_nfc($newstext);
// variables to hold the parameters for submit_post
$poll = $uid = $bitfield = $options = '';
generate_text_for_storage($my_subject, $uid, $bitfield, $options, false, false, false);
$data = array(
'forum_id' => $forum_id,
'topic_id' => $topic_id,
'post_id' => $post_id,
'poster_id' => $poster_id,
'icon_id' => false,
'enable_bbcode' => true,
'enable_smilies' => true,
'enable_urls' => true,
'enable_sig' => true,
'message' => $my_text,
'message_md5' => md5($my_text),
'bbcode_bitfield' => $bitfield,
'bbcode_uid' => $uid,
'post_edit_locked' => 0,
'topic_title' => $my_subject,
'notify_set' => false,
'notify' => false,
'post_time' => 0,
'enable_indexing' => true,
);
submit_post('edit', $my_subject, '', POST_NORMAL, $poll, $data);
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Подскажите пожалуйста почему цитата с атрибутом [quote=atr][quote] не преобразуется для сохранения в базе данных
Получаю на экране:
Добавлено спустя 44 минуты 21 секунду:
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Всё врубился,
кавычки " надо поменять на "
тогда функция generate_text_for_storage() сработает.
Код: Выделить всё
$text = '[quote]yuli,Quote (yuli)Inspiration, Мейн Кун? Похож...[/quote]
Нее, это сибирский кот с сиамским уклоном))) В подъезде кошка родила, мы приютили котенка, вот такой вырос.
[quote="Nochka"]Inspiration, классный такой!!![/quote]
[b]Спасибо![/b]';
utf8_normalize_nfc($text);
$poll = $bbcode_uid = $bbcode_bitfield = $options = '';
generate_text_for_storage($text, $bbcode_uid, $bbcode_bitfield, $options, true, true, true);
echo $text;
Код: Выделить всё
[quote:1s3t4z7w]yuli, Quote (yuli) Inspiration, Мейн Кун? Похож...[/quote:1s3t4z7w]
Нее, это сибирский кот с сиамским уклоном))) В подъезде кошка родила, мы приютили котенка, вот такой вырос.
[quote="Nochka"]Inspiration, классный такой!!![/quote]
[b:1s3t4z7w]Спасибо![/b:1s3t4z7w]
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Всё врубился,
кавычки " надо поменять на "
тогда функция generate_text_for_storage() сработает.