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

IPB 2.3.6. постинг из стороннего скрипта


Ashterix

Вопрос

Доброго времени суток.

 

Сразу прошу меня извинить, если подобный вопрос уже обсуждался, поиском не нашёл. Если плохо искал, прошу ткнуть носом.

 

Вопрос следующий: можно ли в на указанном движке создавать темы минуя классы, т.е. добавляя информацию непосредственно в БД?

 

Есть необходимость публиковать новые темы и сообщения в определённом разделе (комментарии к новостям с сайта). Для этого написал почти рабочий скрипт, который добавляет в БД форума нужную информацию.

 

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

 

Если же тема вручную не создана, скрипт должен создавать тему и постить комменты в неё, но этого не происходит. Точнее в БД создаются нужные записи в нужных местах, но на форуме новая тема не отображается.

$insert_comments1 = mysql_query ("INSERT INTO ".$pref2."topics (title,state,posts,starter_id,start_date,last_poster_id,last_post,icon_id,starter_name,last_poster_name,poll_state,last_vote,views,forum_id) VALUES ('".$news_massiv["title"]."','open',2,'".$uzd['id']."','".time()."','".$uzc['id']."','".time()."',0,'".$news_massiv["dobavil"]."','".$_POST["author_name"]."',0,0,0,'".$topic."')") or die("Ошибка: ".mysql_error());

$resss =  mysql_query ("SELECT last_insert_id( ) FROM ".$pref2."topics ");
$rowss = mysql_fetch_array($resss);
$last_top =  $rowss[0]; //id топика

$insert_comments2 = mysql_query ("INSERT INTO ".$pref2."posts (author_id,author_name,post_date,post,ip_address,topic_id) VALUES ('".$_POST["author_id"]."','".$_POST["author_name"]."','".$_POST["post_date"]."','".$_POST["post"]."','".$_POST["ip_address"]."','$last_top')") or die("Ошибка: ".mysql_error());

 

Подскажите, пожалуйста, что я не учёл. Что и куда ещё нужно добавить, чтобы нужная тема стала видимой на форуме?

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

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

  • 0

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

 

Скажите, по каким ключевым словам вы искали?

 

Вдогонку: http://forums.ibresource.ru/index.php?/topic/49117/page__view__findpost__p__287079

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

  • 0

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

 

Немного офтопика.

Если у вас есть желание наговнокодить -- это хороший путь. Но лучше не стоит.

Нет слов! А вы сразу как родились умели программировать? Я же не прошу никого написать за меня скрипт, а стараюсь сделать сам.

Я задал вопрос не для того чтобы услышать (прочитать) в ответ о том, что я ламер или нуб, я это и так знаю, но в отличии от многих других, я стараюсь исправиться. Итак если вы считаете, что манипуляции с БД минуя код IPB - говнокодство, то я с вами не согласен и прошу аргументировать ваше мнение.

 

А теперь по теме.

А зачем вы себя так ограничиваете?

Да не ограничиваю я, просто не весь код привёл, а только нужный, на мой взгляд, фрагмент.

 

При публикации темы нужно сдалать запись в таблицы тем и сообщений, обновить информацию о последнем сообщении в форуме (нужно знать все про пользователя и полученные на предыдущем шаге номера темы и сообщения),

Это я делаю, всё нужную информацию я имею, учитываю и вставляю туда где это нужно. Это я учёл ещё на стадии планирования и составления алгоритма на бумаге.

 

обновить/сбросить кеш форумов, инкрементировать счётчики.

Вот это я, пожалуй, не учёл. Если не затруднит, подскажите, пожалуйста, как это правильно сделать? Или где почитать?

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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