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

Экспоритируем новости с форума


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

<?php
/*--------------------------------------------------------------------
Новостной скрипт для вывода новостей с форума IPB
Выводит последние топики с указанного форума
v.1.2 by IT-Security (Asafchik@inbox.ru)
ICQ: 683993
© 2007
----------------------------------------------------------------------*/
// Вставляем нужные файлы
require_once "forum/ips_kernel/class_db_mysql.php";
require_once "forum/conf_global.php";
// Создаём параметры подключения
$db = new db_driver_mysql;
$db->obj['sql_database']	 = $INFO['sql_database'];
$db->obj['sql_user']		 = $INFO['sql_user'];
$db->obj['sql_pass']		 = $INFO['sql_pass'];
$db->obj['sql_host']		 = $INFO['sql_host'];
$db->obj['sql_tbl_prefix']   = $INFO['sql_tbl_prefix'];
$db->obj['mysql_codepage']   = $INFO['mysql_codepage'];
// Подключаем базу
$db->connect();
// Настройки скрипта
// Сколько выводить новостей?
$limit = "10";
// ID форума для забора новостей
$forum_id = "4";
// Максимальная длина для обрезки
$max_lenght = "300";
// Путь к форуму
$forum_url = "http://some_site/forum/";
			// Папка смайликов
			$smiles = "default";
// Сам скрипт
$news = $db->query("Select t.tid, t.topic_firstpost, t.title,t.views ,t.posts, t.starter_id, t.start_date, t.starter_name, t.forum_id, m.post from ibf_topics t, ibf_posts m where t.topic_firstpost = m.pid and t.forum_id = '$forum_id' order by t.start_date desc limit $limit");
while ($res = $db->fetch_row($news))
	{
		$tid = $res['tid'];
		$views = $res['views'];
		$news_link = $forum_url."index.php?showtopic=".$tid;
		$title = $res['title'];
		$posts = $res['posts'];
		$author_id = $res['starter_id'];
		$author = $res['starter_name'];
		$author_link = $forum_url."index.php?showuser=".$author_id;
		$date = $res['start_date'];
		$news_date = date("d.m.Y H:i:s", $date);
		$message = $res['post'];
			if (strlen($message)> $max_lenght)
				{
					$mess = substr($message, 0, $max_lenght-3)."...<br><a target='_blank' href='".$news_link."'>Подробнее</a>";
				}
			else
				{
					$mess = $message;
				}
			$mess = str_replace("style_emoticons/<#EMO_DIR#>","forum/style_emoticons/".$smiles, $mess);
echo '<TABLE class=nb3 cellSpacing=1 cellPadding=2 width="100%" border=0>
<TBODY>
<TR>
<TD class=nb3 style="WIDTH: 90%">
<DIV class=nb3><A class=nb2  href='.$news_link.'>'.$title.'</A></DIV></TD>
<TD  style="FONT-WEIGHT: normal; FONT-SIZE: 8px; LINE-HEIGHT: normal; FONT-STYLE: normal; WHITE-SPACE: nowrap; FONT-VARIANT: normal" align=right>'
.$news_date.'</TD></TR>
<TR>
<TD class=nb3 colSpan=2>'.$mess.'</TD></TR>
<TR>
<TD class=nb2 colSpan=2>Просмотров: '.$views.' | Добавил: <A class=nb2 href="'.$author_link.'">'.$author.'</A> | <A class=nb2 href="'.$news_link.'">Комментарии 
					('.$posts.')</A> 
					<HR class=nb3>
				  </TD></TR></TBODY></TABLE><BR>';


	}
?>

Пользуемся, комментируем...

Изменено пользователем IT-Security
Ссылка на комментарий
Поделиться на других сайтах

проще и правильнее настроить RSS поток на соответствующие форум и экспортировать ним. там и кеширование присутствует, а соответственно меньше нагрузка на сервер.

 

если хотите чтобы была HTML страничка, то можна написать скрипт, который будет брать этот XML и трансформировать его по нужному шаблону.

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

Когда я спрашивал как такое сделать в клиентском форуме - мне не ответили, вот и пришлось изобретать велосипед.

Не нравится - не пользуйтесь, в чём проблема?Мне нужна была именно страничка без использования RSS/XML и я её сделал.

Появилось желание поделится тем, на чем я сидел полдня.

Видимо зря. Ниодной благодарности, только упрёки.

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

IT-Security, расслабся :D никто тебя не упрекает))

 

просто показывают, что есть и другие решения, а там, быть может, ты и себе прооптимизируешь этот код...

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

самое забавное что вариант от IT-Security заработал сразу.

в то время как велосипед ув. Aliance spb, загнулся в какой-то ошибке.

 

Лень было проверять в чем именно проблема. Но ИМХО иногда роликовые коньки бывают все же полезнее велосипеда.

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

<?php
/*--------------------------------------------------------------------
Новостной скрипт для вывода новостей с форума IPB
Выводит последние топики с указанного форума
v.1.2 by IT-Security (Asafchik@inbox.ru)
ICQ: 683993
© 2007
----------------------------------------------------------------------*/
// Вставляем нужные файлы
require_once "forum/ips_kernel/class_db_mysql.php";
require_once "forum/conf_global.php";
// Создаём параметры подключения
$db = new db_driver_mysql;
$db->obj['sql_database']	 = $INFO['sql_database'];
$db->obj['sql_user']		 = $INFO['sql_user'];
$db->obj['sql_pass']		 = $INFO['sql_pass'];
$db->obj['sql_host']		 = $INFO['sql_host'];
$db->obj['sql_tbl_prefix']   = $INFO['sql_tbl_prefix'];
$db->obj['mysql_codepage']   = $INFO['mysql_codepage'];
// Подключаем базу
$db->connect();
// Настройки скрипта
// Сколько выводить новостей?
$limit = "10";
// ID форума для забора новостей
$forum_id = "4";
// Максимальная длина для обрезки
$max_lenght = "300";
// Путь к форуму
$forum_url = "http://some_site/forum/";
			// Папка смайликов
			$smiles = "default";
		   // Префикс таблиц
		   $table_prefix = "ibf_";
// Сам скрипт
$news = $db->query("Select t.tid, t.topic_firstpost, t.title,t.views ,t.posts, t.starter_id, t.start_date, t.starter_name, t.forum_id, m.post from ".$table_prefix."topics t, ".$table_prefix."posts m where t.topic_firstpost = m.pid and t.forum_id = '$forum_id' order by t.start_date desc limit $limit");
while ($res = $db->fetch_row($news))
	{
		$tid = $res['tid'];
		$views = $res['views'];
		$news_link = $forum_url."index.php?showtopic=".$tid;
		$title = $res['title'];
		$posts = $res['posts'];
		$author_id = $res['starter_id'];
		$author = $res['starter_name'];
		$author_link = $forum_url."index.php?showuser=".$author_id;
		$date = $res['start_date'];
		$news_date = date("d.m.Y H:i:s", $date);
		$message = $res['post'];
			if (strlen($message)> $max_lenght)
				{
					$mess = substr($message, 0, $max_lenght-3)."...<br><a target='_blank' href='".$news_link."'>Подробнее</a>";
				}
			else
				{
					$mess = $message;
				}
			$mess = str_replace("style_emoticons/<#EMO_DIR#>","forum/style_emoticons/'.$smiles, $mess);
echo '<TABLE class=nb3 cellSpacing=1 cellPadding=2 width="100%" border=0>
<TBODY>
<TR>
<TD class=nb3 style="WIDTH: 90%">
<DIV class=nb3><A class=nb2  href='.$news_link.'>'.$title.'</A></DIV></TD>
<TD  style="FONT-WEIGHT: normal; FONT-SIZE: 8px; LINE-HEIGHT: normal; FONT-STYLE: normal; WHITE-SPACE: nowrap; FONT-VARIANT: normal" align=right>'
.$news_date.'</TD></TR>
<TR>
<TD class=nb3 colSpan=2>'.$mess.'</TD></TR>
<TR>
<TD class=nb2 colSpan=2>Просмотров: '.$views.' | Добавил: <A class=nb2 href="'.$author_link.'">'.$author.'</A> | <A class=nb2 href="'.$news_link.'">Комментарии 
					('.$posts.')</A> 
					<HR class=nb3>
				  </TD></TR></TBODY></TABLE><BR>';


	}
?>

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

А если на одной страничке ну3жно вывести 3 скрипта

- форум id 5

- форум id 6

- форум id 7 (урезанный с другими настройками скрипта)

 

Можно какнить модефицировать скрипт под такие задачи ?

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

  • 2 недели спустя...

Как будет время - сделаю.

Только зачем новости из нескольких форумов???

Изменено пользователем IT-Security
Ссылка на комментарий
Поделиться на других сайтах

Только зачем новости из нескольких форумов???

мне незачем , но просто ля так сказать расширения возможностей данного скрипта

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

SSI экпорт последних тем и сообщений

Если нету ssi.php - ищем в сети.

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

  • 6 месяцев спустя...

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

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

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