Уважаемые пользователи!
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.0.0
- Сообщения: 2
- Стаж: 16 лет 6 месяцев
[FAQ] Как программно добавить тему / пост / личное сообщение
Автоматическое создание темы / сообщения.
Как правильно программно создавать темы/сообщения под нужным юзером сторонним скриптом?
Как правильно программно создавать темы/сообщения под нужным юзером сторонним скриптом?
-
- Former team member
- Сообщения: 3942
- Стаж: 19 лет 7 месяцев
- Откуда: Оренбург (Южный Урал)
- Благодарил (а): 3 раза
Воспользуйтесь штатными средствами phpBB3
Inserting Posts and Private Messages
Ответы на некоторые вопросы содержатся в темах
How to create new threads, posts and private messages?
API submit_post
Create a new post
submit_post function leaves slashes in db
Inserting Posts and Private Messages
Ответы на некоторые вопросы содержатся в темах
How to create new threads, posts and private messages?
API submit_post
Create a new post
submit_post function leaves slashes in db
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции
наш форум http://forum.aeroion.ru/cat1.html
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции
наш форум http://forum.aeroion.ru/cat1.html
-
- phpBB 1.0.0
- Сообщения: 2
- Стаж: 16 лет 6 месяцев
Re: Программно добавить тему/пост под нужным юзером
Код: Выделить всё
<?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 1.4.0
- Сообщения: 32
- Стаж: 16 лет 10 месяцев
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Код: Выделить всё
<?
define('IN_PHPBB', true);
// Set phpBB root folder properly. Change in according to the actual board folder
define('PHPBB_ROOT_PATH', './forum/');
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('ucp');
// Initialize login result array
$login = array();
// Handle logouot button if pressed
if(isset($_POST['logout']) && $user->data['user_id'] != ANONYMOUS)
{
$user->session_kill();
}
// Check if user has submitted login and password and try to log in
if(isset($_POST['login']) && $user->data['user_id'] == ANONYMOUS)
{
$username = request_var('username', '', true);
$password = request_var('password', '', true);
$autologin = (!empty($_POST['autologin'])) ? true : false;
$login = $auth->login($username, $password, $autologin);
}
// Send headers
header('Cache-Control: private, no-cache="set-cookie"');
header('Expires: 0');
header('Pragma: no-cache');
// Check if user has tried to log in and greet him if login is successful
if((!empty($login) && $login['status'] == LOGIN_SUCCESS) || $user->data['user_id'] != ANONYMOUS)
{
// Reset permissions data if user has just logged in
}
?>
-
- phpBB Guru
- Сообщения: 16745
- Стаж: 18 лет 7 месяцев
- Откуда: Красноярск
- Благодарил (а): 562 раза
- Поблагодарили: 1857 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Koyot
Естественно, в рамках одной сессии можно использовать код для создания тем/сообщений (начинается с $my_subject = и заканчивается вызовом submit_post).
Естественно, в рамках одной сессии можно использовать код для создания тем/сообщений (начинается с $my_subject = и заканчивается вызовом submit_post).
-
- phpBB 1.0.0
- Сообщения: 3
- Стаж: 16 лет 3 месяца
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Доброго времени суток.
У меня вопрос, более сложный, чем просто программное добавление тем...
Вобщем:
В конференции есть подфорум под названием Библиотека. Администратор периодически добавляет туда новые материалы, типа статей и учебников. Допустим, есть некоторая форма с полями "Название темы", "Комментарий к материалу", "Материал". Админ заполняет поля, нажимает Отправить, и на форуме создаётся тема с "Название темы", вложенным материалом "Материал", и описанием темы "Комментарий к материалу", а также с опросом "Оцените материал по n-бальной шкале". Допустим, по пятибальной. Варианты ответов на опрос: числа от 1 до 5 соответственно...
Возможно ли такое реализовать? В каком направлении копать?
У меня вопрос, более сложный, чем просто программное добавление тем...
Вобщем:
В конференции есть подфорум под названием Библиотека. Администратор периодически добавляет туда новые материалы, типа статей и учебников. Допустим, есть некоторая форма с полями "Название темы", "Комментарий к материалу", "Материал". Админ заполняет поля, нажимает Отправить, и на форуме создаётся тема с "Название темы", вложенным материалом "Материал", и описанием темы "Комментарий к материалу", а также с опросом "Оцените материал по n-бальной шкале". Допустим, по пятибальной. Варианты ответов на опрос: числа от 1 до 5 соответственно...
Возможно ли такое реализовать? В каком направлении копать?
-
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 15 лет 9 месяцев
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
С добавлением поста понятно, а как добавить новый топик?
-
- phpBB Guru
- Сообщения: 16745
- Стаж: 18 лет 7 месяцев
- Откуда: Красноярск
- Благодарил (а): 562 раза
- Поблагодарили: 1857 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
В режиме 'post' добавляется новая тема, в режиме 'reply' добавляется ответ в существующую тему.
-
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 15 лет 9 месяцев
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Спасибо! Разобрался.
А есть ли готовый рецепт добавления поста от имени другого пользователя?
http://www.phpbb.com/community/viewtopi ... 5#p4028115 - здесь сказано что это не так просто, но больше ничего по этому поводу на этом форуме не нашел.
А есть ли готовый рецепт добавления поста от имени другого пользователя?
http://www.phpbb.com/community/viewtopi ... 5#p4028115 - здесь сказано что это не так просто, но больше ничего по этому поводу на этом форуме не нашел.
-
- Former team member
- Сообщения: 3942
- Стаж: 19 лет 7 месяцев
- Откуда: Оренбург (Южный Урал)
- Благодарил (а): 3 раза
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Как-то так, и читаем далее.
http://www.phpbb.com/community/viewtopi ... 9#p3630225
Иными словами, надо вызвать $auth->acl() для определения прав доступа другого пользователя.
Добавлено спустя 4 минуты 44 секунды:
submit_post - spoof auth?
http://www.phpbb.com/community/viewtopi ... 5#p4624845
Короче, материалов на офе полно, как ты искал, не понимаю.
http://www.phpbb.com/community/viewtopi ... 9#p3630225
Иными словами, надо вызвать $auth->acl() для определения прав доступа другого пользователя.
Добавлено спустя 4 минуты 44 секунды:
submit_post - spoof auth?
http://www.phpbb.com/community/viewtopi ... 5#p4624845
Короче, материалов на офе полно, как ты искал, не понимаю.
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции
наш форум http://forum.aeroion.ru/cat1.html
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции
наш форум http://forum.aeroion.ru/cat1.html
-
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 15 лет 9 месяцев
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
За линки спасибо - но там как-то муторно все описано...
Замечательное описание есть здесь:
http://phpbbmodders.net/articles/3.0/create_post/
И главное заработало из коробки.
Замечательное описание есть здесь:
http://phpbbmodders.net/articles/3.0/create_post/
И главное заработало из коробки.
-
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 15 лет 9 месяцев
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Есть проблема.
Когда в скрипте нет ничего кроме кода добавления форума - все работает замечательно.
Но если перед вызовом функции submit_post я что-то вычитываю из базы - мне светит такую ошибку:
Базу открываю, читаю, результат чищу, закрываю...
Не подскажите как лечить?
Когда в скрипте нет ничего кроме кода добавления форума - все работает замечательно.
Но если перед вызовом функции submit_post я что-то вычитываю из базы - мне светит такую ошибку:
Код: Выделить всё
General Error
SQL ERROR [ mysql4 ]
[]
BACKTRACE
FILE: includes/db/dbal.php
LINE: 264
CALL: dbal_mysql->sql_error()
FILE: includes/functions_posting.php
LINE: 1617
CALL: dbal_mysql->sql_transaction()
FILE: post_new_forum.php
LINE: 82
CALL: submit_post()
Не подскажите как лечить?
-
- phpBB Guru
- Сообщения: 16745
- Стаж: 18 лет 7 месяцев
- Откуда: Красноярск
- Благодарил (а): 562 раза
- Поблагодарили: 1857 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
dixon_che
А какой ваш скрипт вызывает ошибку - нам телепатировать?
А какой ваш скрипт вызывает ошибку - нам телепатировать?
-
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 15 лет 9 месяцев
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Это все что выводится на странице при ошибке.
В sql log ничего нету по поводу этой ошибки.
Но это уже не важно. Я кажется понял в чем проблема. Нельзя в рамках одного скрипта пользоваться phpbb подключением к БД и своим собственным.
Короче перестроил свои запросы через объект $db->...
Все заработало.
Спасибо за участие!
В sql log ничего нету по поводу этой ошибки.
Но это уже не важно. Я кажется понял в чем проблема. Нельзя в рамках одного скрипта пользоваться phpbb подключением к БД и своим собственным.
Короче перестроил свои запросы через объект $db->...
Код: Выделить всё
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
Спасибо за участие!