Да, забыл сказать, что это тоже было абсолютно лишнее.Payalnik610 писал(а):нашел
Уважаемые пользователи!
В версии 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 | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ).
-
- Former team member
- Сообщения: 12113
- Стаж: 17 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 41 раз
- Поблагодарили: 1717 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
- phpBB 1.4.0
- Сообщения: 39
- Стаж: 13 лет 6 месяцев
-
- phpBB 3.3.0
- Сообщения: 11288
- Стаж: 14 лет 8 месяцев
- Откуда: fotovideoforum.ru
- Благодарил (а): 673 раза
- Поблагодарили: 121 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Фотовидеофорум ; Форум Кировского района ; Форумы Калдина-Клуба ; Форум Japan Navigation Group
Фотовидеофорум ; Форум Кировского района ; Форумы Калдина-Клуба ; Форум Japan Navigation Group
-
- phpBB 1.4.0
- Сообщения: 39
- Стаж: 13 лет 6 месяцев
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Спасибо!!!!Пчелкин писал(а):Post Expire 1.0.3
Кому лень лопатить код, подсказка
Код: Выделить всё
$sql = 'SELECT post_id
FROM '. POSTS_TABLE . '
WHERE post_expire_time < '. $current_time . ' AND post_expire_time <> 0';
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if ($row)
{
if (!function_exists('delete_posts'))
{
include($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
}
delete_posts('post_id', $row);
}
-
- phpBB 2.0.0
- Сообщения: 241
- Стаж: 11 лет 10 месяцев
- Откуда: РФ, Тюмень
- Благодарил (а): 12 раз
- Поблагодарили: 90 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Код: Выделить всё
$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);
При добавлении поста дебаг выдаёт ошибку
Код: Выделить всё
[phpBB Debug] PHP Notice: in file [ROOT]/ext/phpbbseo/usu/event/listener.php on line 887: Undefined index: topic_type
Код: Выделить всё
if ($data['post_visibility'] == ITEM_APPROVED)
{
$params .= '&t=' . $data['topic_id'];
if ($mode != 'post')
{
$params .= '&p=' . $data['post_id'];
$add_anchor = '#p' . $data['post_id'];
}
}
else if ($mode != 'post' && $post_mode != 'edit_first_post' && $post_mode != 'edit_topic')
{
$params .= '&t=' . $data['topic_id'];
}
if ($params)
{
$data['topic_type'] = $post_data['topic_type'];
$this->core->prepare_topic_url($data);
}
$url = (!$params) ? "{$this->phpbb_root_path}viewforum.{$this->php_ext}" : "{$this->phpbb_root_path}viewtopic.{$this->php_ext}";
$url = $this->core->url_rewrite($url, 'f=' . $data['forum_id'] . $params, true, false, false, true) . $add_anchor;
$event['url'] = $url;
$event['data'] = $data;
Немало нужно знания, чтобы уметь скрыть перед другими свое незнание.
-
- Former team member
- Сообщения: 1965
- Стаж: 14 лет 6 месяцев
- Благодарил (а): 57 раз
- Поблагодарили: 626 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
saturn-z, Нужно добавить значение topic_type в массиве.
После
Добавить
POST_STICKY - Прикреплённая тема, POST_ANNOUNCE - объявление.
После
Код: Выделить всё
'topic_title' => $my_subject,
Код: Выделить всё
'topic_type' => POST_NORMAL,
Не пишите вопросы лично, если можете задать их на форуме!
Спецзаказы не интересуют!
Спецзаказы не интересуют!
-
- phpBB 2.0.0
- Сообщения: 241
- Стаж: 11 лет 10 месяцев
- Откуда: РФ, Тюмень
- Благодарил (а): 12 раз
- Поблагодарили: 90 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Anvar, это я пробовал ещё первым делом, ничего не меняется.
Немало нужно знания, чтобы уметь скрыть перед другими свое незнание.
-
- Former team member
- Сообщения: 12113
- Стаж: 17 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 41 раз
- Поблагодарили: 1717 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Можно дурацкий вопрос? А при чем тут FAQ (phpBB 3.0.x)
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
- phpBB 1.0.0
- Сообщения: 9
- Стаж: 15 лет 1 месяц
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Скрипты работают, все хорошо.
Но один вопрос не дает покоя, если я не авторизировался на сайте, и скриптом добавляю сообщение в тему, то оно не учитывается, т.е. количество сообщений от юзера не меняется, если же я авторизировался, то после добавления сообщения скриптом, количество сообщений увеличивается.
Хочется, чтобы после добавления скриптом, количество сообщений юзера (от лица которого постим), изменялось.
В какую сторону копать? (v 3.1)
Спасибо.
Но один вопрос не дает покоя, если я не авторизировался на сайте, и скриптом добавляю сообщение в тему, то оно не учитывается, т.е. количество сообщений от юзера не меняется, если же я авторизировался, то после добавления сообщения скриптом, количество сообщений увеличивается.
Хочется, чтобы после добавления скриптом, количество сообщений юзера (от лица которого постим), изменялось.
В какую сторону копать? (v 3.1)
Спасибо.
-
- phpBB 1.0.0
- Сообщения: 9
- Стаж: 15 лет 1 месяц
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Решено, вопрос не актуален, все оказалось проще чем я думал.
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Подскажите - добавляю новый пост, а добавляется тема (3.2.1):
Тема с topic_id = 1 присутствует. Замена на другой topic_id не помогает.
Код: Выделить всё
<?php
define('IN_PHPBB', true);
$phpbb_root_path='./';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
$poll='';
$bitfield='';
$uid='';
// more phpBB setup...need to replace the session data setup above
// with a hack, i mean sql query, then array_merge it into $user->data
// below. couldn't just setup a session for the user/bot we want to
// post as? Credit to RMcGirr83 on phpbb community support forum
$sql = 'SELECT * FROM ' . USERS_TABLE . ' WHERE user_id = 1481';
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
// reset the current users info to that of the bot
$user->data = array_merge($user->data, $row);
$message="message[b]message[/b]message";
$subject="subject2";
generate_text_for_storage($message, $uid, $bitfield, $options, true, true, true);
$data = array(
// General Posting Settings
'forum_id' => 2, // The forum ID in which the post will be placed. (int)
'topic_id' => 1, // Post a new topic or in an existing one? Set to 0 to create a new one, if not, specify your topic ID here instead.
'icon_id' => false, // The Icon ID in which the post will be displayed with on the viewforum, set to false for icon_id. (int)
// Defining Post Options
'enable_bbcode' => true, // Enable BBcode in this post. (bool)
'enable_smilies' => true, // Enabe smilies in this post. (bool)
'enable_urls' => true, // Enable self-parsing URL links in this post. (bool)
'enable_sig' => true, // Enable the signature of the poster to be displayed in the post. (bool)
// Message Body
'message' => $message, // Your text you wish to have submitted. It should pass through generate_text_for_storage() before this. (string)
'message_md5' => md5($message),// The md5 hash of your message
// Values from generate_text_for_storage()
'bbcode_bitfield' => $bitfield, // Value created from the generate_text_for_storage() function.
'bbcode_uid' => $uid, // Value created from the generate_text_for_storage() function.
// Other Options
'post_edit_locked' => 0, // Disallow post editing? 1 = Yes, 0 = No
'topic_title' => $subject, // Subject/Title of the topic. (string)
// Email Notification Settings
'notify_set' => false, // (bool)
'notify' => false, // (bool)
'post_time' => 0, // Set a specific time, use 0 to let submit_post() take care of getting the proper time (int)
'forum_name' => '', // For identifying the name of the forum in a notification email. (string)
// Indexing
'enable_indexing' => true, // Allow indexing the post? (bool)
// 3.0.6
'force_approved_state' => true, // Allow the post to be submitted without going into unapproved queue
// 3.1-dev, overwrites force_approve_state
'force_visibility' => true, // Allow the post to be submitted without going into unapproved queue, or make it be deleted
);
$ret=submit_post('post','subject',$user->data['username'],POST_NORMAL,$poll,$data);
echo $ret;
?>
-
- phpBB Guru
- Сообщения: 16614
- Стаж: 18 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 544 раза
- Поблагодарили: 1817 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Режим добавления темы. Режим ответа -
'reply'
.-
- phpBB 1.4.1
- Сообщения: 40
- Стаж: 9 лет 7 месяцев
- Благодарил (а): 3 раза
- Поблагодарили: 2 раза
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Здравствуйте товарищи, снова Я), по проблеме выше, создал я тогда скрипт записи инфо в тему, да вот проблема, пришло время перенести этот скрипт на другой проект. вроде все моменты помню, переношу, а теперь ошибка:
Отправлено спустя 17 минут 45 секунд:
А понял походу, не нравиться что в функцию все загоняю. ну и ладно...
Код: Выделить всё
Fatal error: Call to a member function sql_query() on a non-object in C:\web-server\htdocs\forum\includes\cache.php on line 51
Код: Выделить всё
function forum_write() {
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . '/includes/functions_posting.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
$topic_title = $name_post ;
$topic_text = $text_post;
$user_id = 48;
$username = "prosistem";
$user->data['user_id'] = $user_id;
$user->data['is_registered'] = 1;
$user->data['user_colour'] = 'DD0000';
$user->ip = '127.0.0.0';
$user->data['username'] = $username;
$poll = $uid = $bitfield = $options = '';
generate_text_for_storage($topic_text, $uid, $bitfield, $options, true, true, true);
$data = array(
'topic_title' => $topic_title, // Subject
'forum_id' => $fid, // тут ID форума
'forum_name' => '',
'icon_id' => 0,
'poster_id' => $user_id, // Тут ID юзера, от имени которого размещается пост
'enable_bbcode' => (bool) true,
'enable_smilies' => (bool) true,
'enable_urls' => (bool) true,
'enable_sig' => (bool) true,
'notify' => 0,
'notify_set' => '',
'enable_indexing' => (bool) false,
'message' => $topic_text,
'message_md5' => (string) '',
'bbcode_bitfield' => $bitfield,
'bbcode_uid' => $uid,
'post_edit_locked' => 0,
);
submit_post('post', $topic_title, $username, 0, $poll, $data, false); // $username - ник юзера, от имени которого размещается пост _title, $username, 0, $poll, $data, false); // $username - ник юзера, от имени которого размещается пост
echo "</br></br></br>Создана новая тема на форуме";
}
А понял походу, не нравиться что в функцию все загоняю. ну и ладно...
-
- phpBB 1.4.1
- Сообщения: 40
- Стаж: 9 лет 7 месяцев
- Благодарил (а): 3 раза
- Поблагодарили: 2 раза
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Доброе утро, а можете подсказать пару вопросов,
1. как правильно по практике описанной выше добавить пост в определенный форум, тему с вложением(файлами..)..
2. как после создания темы узнать id темы?
1. как правильно по практике описанной выше добавить пост в определенный форум, тему с вложением(файлами..)..
2. как после создания темы узнать id темы?
-
- Поддержка
- Сообщения: 12561
- Стаж: 13 лет 1 месяц
- Благодарил (а): 168 раз
- Поблагодарили: 2519 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Форум - указать id форума
Вложения - разбирайте файл
id сообщения возвращает
Вложения - разбирайте файл
posting.php
, по словам attach
и attachments
id сообщения возвращает
submit_post
, а по этому id можно запросом получить id темы