Перейти к контенту
  • 0

Как дублировать созданную новость на сайте постом на форуме?


Вопрос

Выполняя этот код при каждом добавлении новости у себя в админке(в админке своего сайта), я получаю новую тему и новый пост, но на форуме их не видно, пока не напишешь ответ на созданный пост(видно только в таблицах в бд). Очевидно надо обновить еще какую-то таблицу, напирмер forums... Но я не смог понять какую...

Я пробовал обновлять таблицу forums даже в ручную, но изменения на форуме появились опять же только после ответа на созданный пост.

Помогите разобраться, пожалуйста, в какие таблицы нужно вносить инфу для полноценного добавления темы и поста.

include('../forum/conf_global.php');
$tbl_pref=$INFO['sql_tbl_prefix'];

/*
1)С начала добавляем новый топик(тему в форуме "новости", где название - заголовок новости). 
2)Потом добавляем новый пост(сообщение в теме, где сообшение - текст новости).
3)И обновляем созданный топик после добавления сообщения.
*/


// #### 1 ####
$forum_id='2'; // номер форума, в котором будем создавать новые темы с новостями
$title=$news_title; // Название новой темы - название новости
$description=strtok($news_text,'<br>'); // описание темы - первая строчка из текста новости

mysql_query("INSERT INTO ".$tbl_pref."topics(title, description, state, starter_id, start_date, last_post, starter_name, last_poster_name, last_vote, views, forum_id, approved) 
VALUES('$title','$description', 'open', '1','time()','time()','Admin','Admin','0','0','$forum_id','1') ");
$topic_id = mysql_insert_id();

// #### 2 ####
$post=$news_text;
$post_key=md5(microtime());

mysql_query("INSERT INTO ".$tbl_pref."posts(author_id, author_name, use_emo, post_date, post, topic_id, new_topic, post_key)
VALUES('1','Admin', '1', 'time()','$post','$topic_id','1','$post_key') ");
$post_id = mysql_insert_id();

// #### 3 ####
mysql_query("UPDATE  ".$tbl_pref."topics SET topic_firstpost='$post_id' WHERE tid = '$topic_id' ");

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Вот, случайно нашел пост Создание темы путем правки базы.

В этом способе все хорошо, короме того, что он работает, только если его положить в папку /forum.

И если его вызвать на прямую http://localhost/forum/add_post.php, то он добавит топик и его будет видно(но кстати его видно только когда зайдешь в форум, а когда смотришь список форумов, то последним ответом в нем значится сообщение оставленное ранее)

Мне это не подходит, потому что скрипт добавления новостей находится не в папке /forum, а если инклудить add_post.php то появляются те же ошибки что и в посте Создание темы путем правки базы.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Попробуй использовать RSS. Если не устраивает, то можно попробывать gladnews. Я бы поделился, но я этот скрипт покупал. Сам статус скрипта бесплатный, просто он апдейтеный.

Если интересует, стукни в асю 761223, я тебе поставлю.

 

На сайте будут публиковаться новости в которых:

В качестве заголовка новости будет название темы

Содержание темы будет контентом новости (ббкоды действуют, а вот смайлы нет)

Автор темы будет автором новости.

Дата создания темы (дд.мм.гггг) будет датой публикации новости.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Так тут товарищ просит я так понял наооборот, с сайта - на форум...

# Если нужно с форума на сайт - гляньте подпись, могу доработать под нужды. # Смайлы работают. #

 

tosheek, ошибки из той темы легко исправляются если привлечь воображение и инициализировать все необходимые переменные до вызова функции. Это будет проще, чем писать сейчас подъём вверх по форумам(о которых мы ничего не знаем так как вы не хотите подгружать кеш) и обновлять в них поля с названием и номером последней темы в форуме. Кроме того, при выводе этиданные форум берёт из кеша, так что после обновления бд всё равно прийдётся обновлять кеш, а для этого лучше использовать форумные функции, а не выдумавать велосипед :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

-Cross-, спасибо, но мне действительно нужно наоборот =)

 

Sannis, я же вроде не говорил, что не хочу подгружать кеш... С огромным удовольствием подгрузил бы, если бы знал как =)

На счет форумов все просто: я заранее создаю форум "Новости", а потом, тупо закидываю в него посты с новостями. Т.е. номер форума заранее известен и постоянен.

Т.к. с функциями и классами форума я не знаком(да и вабще первый раз посмотрел из чего он сделан), решил взять методом грубой силы =) Если бы вы просветили меня, в каких файлах искать смысл, я был бы вам очень признателен.

А в общем, мне все это нужно для того, чтобы посетители САЙТА, прочитав новость, могли обсудить ее на форуме, нажав на соответствующую ссылку под новостью. И очутившись в уже готовом посте, спокойно оставляли комментарии, а не как обчно - просто перекидывают на форум и делай что хочешь =)

Ссылка на комментарий
Поделиться на других сайтах

  • 0

tosheek, вам поможет файл ./sources/api/api_topics_and_posts.php

Там всё мне кажется понятно для вас должно быть, судя по первому посту...

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.