при запуске этого кода - происходит редирект на install/index.phpcrafter писал(а):Код: Выделить всё
<?php define('IN_PHPBB', true); $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '/'; $phpEx = substr(strrchr(__FILE__, '.'), 1); require( 'forum/common.php'); require_once( 'forum/includes/functions_posting.php'); // Start session management $user->session_begin(true); // no update_session_page // session_create($user_id = false, $set_admin = false, $persist_login = false, $viewonline = true) $user->session_create( 2, true, false, false); $auth->acl($user->data); $user->setup(); $my_subject = utf8_normalize_nfc(utf8_recode('subject test [xx 3] text', 'windows-1251')); $my_text = utf8_normalize_nfc(utf8_recode('this is [xxx 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' => 2, '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(); ?>
Уважаемые пользователи!
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
- Сообщения: 1
- Стаж: 13 лет 7 месяцев
Re: Программно добавить тему/пост под нужным юзером
проблема с:
-
- phpBB 1.4.0
- Сообщения: 30
- Стаж: 14 лет 8 месяцев
- Откуда: Москва
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Вообще-то на рабочем форуме эта папка должна отсутствовать или быть переименована. Попробуйте сделать что-то из этого...при запуске этого кода - происходит редирект на install/index.php
-
- phpBB 1.2.0
- Сообщения: 14
- Стаж: 13 лет 9 месяцев
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(utf8_recode('Название темы', 'windows-1251'));
$my_text = utf8_normalize_nfc(utf8_recode('Текст', 'windows-1251'));
$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' => 57,
'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.4.0
- Сообщения: 30
- Стаж: 14 лет 8 месяцев
- Откуда: Москва
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Все просто - функция submit_post() возвращает ссылку на созданную тему, самый простой вариант - заменяете
на
Вместо второго {$url} во второй строке можно написать все, что захочется.
Добавлено спустя 10 минут 44 секунды:
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Уважаемый, rxu!
Вопрос не совсем в тему, но имеет отношение. Пробовал найти соответствующую тему на форуме, однако ничего не нашлось, поэтому задаю вопрос здесь. Скажите пожалуйста, есть ли что-то вроде этого скрипта, но который бы выводил (показывал) сообщения определенной темы на удаленной странице (т.е. нефорумной)? В первую очередь волнует обработка BBcode - без него можно конечно и по-простому вынимать тему из базы данных, однако там BBcode храниться в весьма непонятном (не исходном) виде, что и вызовет массу проблем при самостоятельной обработке.
Код: Выделить всё
submit_post('post', $my_subject, '', POST_NORMAL, $poll, $data);
Код: Выделить всё
$url = submit_post('post', $my_subject, '', POST_NORMAL, $poll, $data);
echo "<a href={$url}>{$url}</a>";
Добавлено спустя 10 минут 44 секунды:
Re: [FAQ] Как программно добавить тему / пост / личное сообщение
Уважаемый, rxu!
Вопрос не совсем в тему, но имеет отношение. Пробовал найти соответствующую тему на форуме, однако ничего не нашлось, поэтому задаю вопрос здесь. Скажите пожалуйста, есть ли что-то вроде этого скрипта, но который бы выводил (показывал) сообщения определенной темы на удаленной странице (т.е. нефорумной)? В первую очередь волнует обработка BBcode - без него можно конечно и по-простому вынимать тему из базы данных, однако там BBcode храниться в весьма непонятном (не исходном) виде, что и вызовет массу проблем при самостоятельной обработке.
-
- phpBB 1.2.0
- Сообщения: 14
- Стаж: 13 лет 9 месяцев
-
- phpBB 1.4.0
- Сообщения: 30
- Стаж: 14 лет 8 месяцев
- Откуда: Москва
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Уважаемый, rxu!
Вопрос не совсем в тему, но имеет отношение. Пробовал найти соответствующую тему на форуме, однако ничего не нашлось, поэтому задаю вопрос здесь. Скажите пожалуйста, есть ли что-то вроде этого скрипта, но который бы выводил (показывал) сообщения определенной темы на удаленной странице (т.е. нефорумной)? В первую очередь волнует обработка BBcode - без него можно конечно и по-простому вынимать тему из базы данных, однако там BBcode храниться в весьма непонятном (не исходном) виде, что и вызовет массу проблем при самостоятельной обработке.
Вопрос не совсем в тему, но имеет отношение. Пробовал найти соответствующую тему на форуме, однако ничего не нашлось, поэтому задаю вопрос здесь. Скажите пожалуйста, есть ли что-то вроде этого скрипта, но который бы выводил (показывал) сообщения определенной темы на удаленной странице (т.е. нефорумной)? В первую очередь волнует обработка BBcode - без него можно конечно и по-простому вынимать тему из базы данных, однако там BBcode храниться в весьма непонятном (не исходном) виде, что и вызовет массу проблем при самостоятельной обработке.
-
- phpBB Guru
- Сообщения: 16745
- Стаж: 18 лет 7 месяцев
- Откуда: Красноярск
- Благодарил (а): 562 раза
- Поблагодарили: 1857 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
AlexSport
Первое - по нашим Правилам, поднятие темы ранее, чем через 5 дней - нарушение.
Второе - дабл-поcтинг - нарушение.
Третье - вопрос не относится к теме, оффтоп - нарушение.
На 3 предупреждения уже наработали. Это на будущее.
Далее: попробуйте посмотреть вот этот пост (англ.), скорее всего, как раз нужный случай.
Первое - по нашим Правилам, поднятие темы ранее, чем через 5 дней - нарушение.
Второе - дабл-поcтинг - нарушение.
Третье - вопрос не относится к теме, оффтоп - нарушение.
На 3 предупреждения уже наработали. Это на будущее.
Далее: попробуйте посмотреть вот этот пост (англ.), скорее всего, как раз нужный случай.
-
- phpBB 1.4.0
- Сообщения: 30
- Стаж: 14 лет 8 месяцев
- Откуда: Москва
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
rxu, спасибо это то, что нужно.
Спасибо за лояльность, однако не пойму, как за ОДНО действие можно получить ДВА предупреждения... (вопрос риторический, отвечать на него не надо... :) ).rxu писал(а):Первое - по нашим Правилам, поднятие темы ранее, чем через 5 дней - нарушение.
Второе - дабл-поcтинг - нарушение.
-
- phpBB 1.2.0
- Сообщения: 12
- Стаж: 14 лет 7 месяцев
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Имеется CSV файлик(таблица) с содержанием раздела(категории),т.е в каждой строке по столбцам:
название топика,название раздела,содержание топика(html текст),название вложения и путь к нему,id топика,id раздела,id пользователя,id вложения.
Подскажите,можно ли создать топики при помощи запроса(импорта) к базе?
насколько я понимаю,нужно использовать таблицы phpbb_posts и phpbb_attachments
какие либо таблицы еще нужно учитывать и задействовать?
И еще:в таблице phpbb_posts в поле post_text содержание топика выглядит так;
т.е оформлено ббкодами.
а можно ли записать текст в html коде?
Иными словами,суть моего вопроса такова;
если можно ли создать топики с вложениями при помощи запроса к базе,то какова должна быть структура запроса,какие таблицы и поля необходимо учитывать?
В частности непонятен способ формирования значения поля:
post_checksum в таблице phpbb_posts
и
physical_filename в таблице phpbb_attachments
В этой теме обсуждается создание одного топика,мне же нужно создать сразу несколько.
По ссылкам в теме
Using the phpBB3.0 Basic Functions: inserting-posts (нерабочая)
Using phpBB3's Basic Functions: UsingphpBB3'sBasicFunctions-1%4%7%InsertingPostsandPrivateMessages
не разобрался (не силен в английском и PHP).
В теме приведены php файлы и функции,а как и где их использовать - не понятно.Более близкой темы не нашел.
название топика,название раздела,содержание топика(html текст),название вложения и путь к нему,id топика,id раздела,id пользователя,id вложения.
Подскажите,можно ли создать топики при помощи запроса(импорта) к базе?
насколько я понимаю,нужно использовать таблицы phpbb_posts и phpbb_attachments
какие либо таблицы еще нужно учитывать и задействовать?
И еще:в таблице phpbb_posts в поле post_text содержание топика выглядит так;
Код: Выделить всё
[i:fd6azyhq][color=#008040:fd6azyhq][b:fd6azyhq]Жанр:[/b:fd6azyhq] фантастика
[b:fd6azyhq]Язык интерфейса:[/b:fd6azyhq] только русский
[b:fd6azyhq]Таблэтка[/b:fd6azyhq]: Не требуется
а можно ли записать текст в html коде?
Иными словами,суть моего вопроса такова;
если можно ли создать топики с вложениями при помощи запроса к базе,то какова должна быть структура запроса,какие таблицы и поля необходимо учитывать?
В частности непонятен способ формирования значения поля:
post_checksum в таблице phpbb_posts
и
physical_filename в таблице phpbb_attachments
В этой теме обсуждается создание одного топика,мне же нужно создать сразу несколько.
По ссылкам в теме
Using the phpBB3.0 Basic Functions: inserting-posts (нерабочая)
Using phpBB3's Basic Functions: UsingphpBB3'sBasicFunctions-1%4%7%InsertingPostsandPrivateMessages
не разобрался (не силен в английском и PHP).
В теме приведены php файлы и функции,а как и где их использовать - не понятно.Более близкой темы не нашел.
-
- phpBB Guru
- Сообщения: 16745
- Стаж: 18 лет 7 месяцев
- Откуда: Красноярск
- Благодарил (а): 562 раза
- Поблагодарили: 1857 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
filosof
Трудно понять, что именно надо. Создать несколько топиков с вложениями?
Трудно понять, что именно надо. Создать несколько топиков с вложениями?
-
- phpBB 1.4.0
- Сообщения: 30
- Стаж: 14 лет 8 месяцев
- Откуда: Москва
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Добрый день!
Подскажите пожалуйста, как изменить эту строку, чтобы имя пользователя было БЕЗ ссылки?
Код: Выделить всё
get_username_string('full', $posts_row['poster_id'], $posts_row['username'], $posts_row['user_colour']);
-
- phpBB 1.2.0
- Сообщения: 12
- Стаж: 14 лет 7 месяцев
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Да,Вы правильно поняли,несколько топиков одним запросом к базе.rxu писал(а):filosof
Трудно понять, что именно надо. Создать несколько топиков с вложениями?
-
- phpBB Guru
- Сообщения: 16745
- Стаж: 18 лет 7 месяцев
- Откуда: Красноярск
- Благодарил (а): 562 раза
- Поблагодарили: 1857 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
Так не выйдет. Можно создать несоклько топиков несколькими вызовами функции submit_post.filosof писал(а):несколько топиков одним запросом к базе.
-
- phpBB 1.2.0
- Сообщения: 12
- Стаж: 14 лет 7 месяцев
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
подскажите пожалуйста,как в таком случае должен выглядеть запрос.(вызов функции)
-
- phpBB Guru
- Сообщения: 16745
- Стаж: 18 лет 7 месяцев
- Откуда: Красноярск
- Благодарил (а): 562 раза
- Поблагодарили: 1857 раз
Re: [FAQ] Как программно добавить тему / пост / личное сообщ
filosof
Вариантов масса. Например, создаете массив из массивов для каждой темы.
Для этого вместо
Как-то так.
Вариантов масса. Например, создаете массив из массивов для каждой темы.
Для этого вместо
$data =
используете $data[] =
, затем делаете цикл
Код: Выделить всё
foreach ($data as $new_topic)
{
submit_post('post', $my_subject, '', POST_NORMAL, $poll, $new_topic);
}