IT-Security Опубликовано 30 Апреля 2007 Жалоба Поделиться Опубликовано 30 Апреля 2007 (изменено) <?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>'; } ?>Пользуемся, комментируем... Изменено 24 Декабря 2007 пользователем IT-Security Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 4 Мая 2007 Жалоба Поделиться Опубликовано 4 Мая 2007 проще и правильнее настроить RSS поток на соответствующие форум и экспортировать ним. там и кеширование присутствует, а соответственно меньше нагрузка на сервер. если хотите чтобы была HTML страничка, то можна написать скрипт, который будет брать этот XML и трансформировать его по нужному шаблону. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Aliance spb Опубликовано 4 Мая 2007 Жалоба Поделиться Опубликовано 4 Мая 2007 Зачем изобретать велосипед? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
IT-Security Опубликовано 9 Мая 2007 Автор Жалоба Поделиться Опубликовано 9 Мая 2007 Когда я спрашивал как такое сделать в клиентском форуме - мне не ответили, вот и пришлось изобретать велосипед.Не нравится - не пользуйтесь, в чём проблема?Мне нужна была именно страничка без использования RSS/XML и я её сделал.Появилось желание поделится тем, на чем я сидел полдня.Видимо зря. Ниодной благодарности, только упрёки. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 9 Мая 2007 Жалоба Поделиться Опубликовано 9 Мая 2007 IT-Security, расслабся никто тебя не упрекает)) просто показывают, что есть и другие решения, а там, быть может, ты и себе прооптимизируешь этот код... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
coguar Опубликовано 15 Мая 2007 Жалоба Поделиться Опубликовано 15 Мая 2007 самое забавное что вариант от IT-Security заработал сразу.в то время как велосипед ув. Aliance spb, загнулся в какой-то ошибке. Лень было проверять в чем именно проблема. Но ИМХО иногда роликовые коньки бывают все же полезнее велосипеда. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
anaxronix Опубликовано 19 Мая 2007 Жалоба Поделиться Опубликовано 19 Мая 2007 Хороший мод, понравилось.единственное что поменял, это require на require_once. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
IT-Security Опубликовано 22 Мая 2007 Автор Жалоба Поделиться Опубликовано 22 Мая 2007 В конфигу вынес папку с смайликами. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Glomen Опубликовано 24 Мая 2007 Жалоба Поделиться Опубликовано 24 Мая 2007 Еще можно сделать настройку если у когото префикс таблиц отличный от ibf_Ну как вариант развития скрипта =) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
IT-Security Опубликовано 31 Мая 2007 Автор Жалоба Поделиться Опубликовано 31 Мая 2007 <?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>'; } ?> Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Glomen Опубликовано 31 Мая 2007 Жалоба Поделиться Опубликовано 31 Мая 2007 А если на одной страничке ну3жно вывести 3 скрипта- форум id 5- форум id 6- форум id 7 (урезанный с другими настройками скрипта) Можно какнить модефицировать скрипт под такие задачи ? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
IT-Security Опубликовано 13 Июня 2007 Автор Жалоба Поделиться Опубликовано 13 Июня 2007 (изменено) Как будет время - сделаю.Только зачем новости из нескольких форумов??? Изменено 13 Июня 2007 пользователем IT-Security Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Glomen Опубликовано 15 Июня 2007 Жалоба Поделиться Опубликовано 15 Июня 2007 Только зачем новости из нескольких форумов???мне незачем , но просто ля так сказать расширения возможностей данного скрипта Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
softmax Опубликовано 23 Июня 2007 Жалоба Поделиться Опубликовано 23 Июня 2007 Забил параметры подключения и путь к форуму , пишет :Parse error: parse error, unexpected T_LNUMBER in T:\home\localhost\news.php on line 57 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 23 Июня 2007 Жалоба Поделиться Опубликовано 23 Июня 2007 SSI экпорт последних тем и сообщенийЕсли нету ssi.php - ищем в сети. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
IT-Security Опубликовано 24 Декабря 2007 Автор Жалоба Поделиться Опубликовано 24 Декабря 2007 Обновил исходник. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.