Что нового

Последние темы форума PhpBB + DLE

  • Автор темы Автор темы Kamikadze
  • Дата начала Дата начала
K

Kamikadze

Гость
Подскажите можно-ли как-нибудь сделать мод или есть ли такой хак чтобы выводились последние темы форума phpbb. (Интеграция ненужна, нужно только вывести название темы и ссылку на неё)
 
такое нашёлПоказать / Скрыть текстИтак, модуль вывода последних сообщений из форума pphpBB на страницах DLE1. Создаем файл lasttopicphpbb.php с таким кодом:<?php/*=================================================================Created by MSK. mywarez.ru=================================================================Файл: lasttopicphpBB.php-----------------------------------------------------------------Версия: 0.1 (19.02.2007)-----------------------------------------------------------------Назначение: Вывод тем последних сообщений из форума phpBB=================================================================*/if(!defined('DATALIFEENGINE')){ die("Hacking attempt!");}function lasttopicphpBB(){Global $db;//========== ОТРЕДАКТИРУЙТЕ ЭТИ ДАННЫЕ ======================$phpBB_mysql_data_base_name="имя базы данных";$phpBB_mysql_host="адрес сервера MySQL для форума phpBB";$phpBB_mysql_user="пользователь для MySQL";$phpBB_mysql_password="пароль MySQL";$phpBB_mysql_db_prefix="phpbb_";$phpBB_site="http://forum.mywarez.ru"; //адрес сайта форума (без / в конце)$koli4estvo_tem=5; //кол-во выводимых тем$dlina_temi=20; //кол-во символов в выводимом заголовке/*формат выводимого заголовка.{Full_title} - полное название темы{URL_to_post} - ссылка на последний пост темы{Short_title} - название темы, обрезанное до $dlina_temi символов{User_name} - имя последнего написавшего пост в теме{Date} - дата и время последнего поста{ReplyCount} - количество ответов{Views} - количество просмотров*///$format_stroki.="<li><a title='{Full_title}' href='{URL_to_post}'>{Short_title}</a> от <b>{User_name}</b> {Date} [{ReplyCount}|{Views}]</li>";$format_stroki.="<li>{Date} <b>{User_name}</b><br /><a title='{Full_title}' href='{URL_to_post}'>{Short_title}</a></li>";//========== Конец редактирования ===========================$db->connect($phpBB_mysql_user, $phpBB_mysql_password, $phpBB_mysql_data_base_name, $phpBB_mysql_host); $query_str = 'SELECT f.*, p.*, pt.*, t.*, u.* FROM phpbb_topics AS t, phpbb_users AS u, phpbb_posts_text AS pt, phpbb_posts AS p, phpbb_forums AS f WHERE t.topic_last_post_id = pt.post_id AND t.topic_last_post_id = p.post_id AND t.forum_id = f.forum_id AND u.user_id = p.poster_id ORDER BY p.post_time DESC LIMIT 0,'.$koli4estvo_tem; $sql_12354 = $db->query($query_str);while ($row = mysql_fetch_array($sql_12354, MYSQL_ASSOC)){ $format_stroki_user_profile='<a href='.$phpBB_site.'/profile.php?mode=viewprofile&u='.$row['poster_id'].'>'.$row["username"].'</a>'; switch (date("d.m.y",$row["post_time"])): case date("d.m.y"): $day=date("cегодня в H:i",$row["post_time"]); //пост был написан сегодня break; case date("d.m.y",time()-86400): $day=date("вчера в H:i",$row["post_time"]); //пост был написан вчера break; default: $day=date("d.m.y H:i",$row["post_time"]); //пост был написан более двух дней назад endswitch; $title1=$row['topic_title']; if (strlen($title1) > $dlina_temi) $title2 = substr ($title1, 0, $dlina_temi)." ..."; //если длина темы больше $dlina_temi символов, то обрезаем else $title2 = $title1; //если меньше или равна, то оставляем $replycount=$row["topic_replies"]; $views=$row['topic_views']; $zagolovok=preg_replace('/{Full_title}/',$title1, $format_stroki); $zagolovok=preg_replace('/{URL_to_post}/',$phpBB_site.'/viewtopic.php?p='.$row["post_id"].'#'.$row["post_id"], $zagolovok); $zagolovok=preg_replace('/{Short_title}/',$title2, $zagolovok); $zagolovok=preg_replace('/{User_name}/',$format_stroki_user_profile, $zagolovok); $zagolovok=preg_replace('/{Date}/',$day, $zagolovok); $zagolovok=preg_replace('/{ReplyCount}/',$replycount, $zagolovok); $zagolovok=preg_replace('/{Views}/',$views, $zagolovok); $asdaa.=$zagolovok;} mysql_free_result($sql_12354); return $asdaa;}$lasttopicphpbb=lasttopicphpbb();?>2. Кладем его на сервер в директорию /engine/modules/3. Правим файл index.php:после строкиrequire_once ROOT_DIR.'/engine/engine.php';добавить строкуrequire_once ROOT_DIR.'/engine/modules/lasttopicphpbb.php';после строки$tpl->set('{login}',$login_panel);добавить строку$tpl->set('{lasttopicphpbb}',lasttopicphpbb());4. В нужном шаблоне добавляем{lasttopicphpbb}
 
Цитата: Kamikadze(Интеграция ненужна, нужно только вывести название темы и ссылку на неё)у тебя что уже интегрировано ? или нет интеграции но хочешь просто сделать, попробуй вариант CrissCross, мб работает хз я не проверял
 
Dave,Интеграции пока нету да она мне в принципе и ненужна с форумом. Нужно только чтобы темы последние с форума показывались и все.Мне решение CrissCross думаю вполне подойдет. Завтра попробую работает или нет.
 
тогда отпишись так как сам не пробывал и если работает то пригодится
 
CrissCross,Не канает скрипт.Выдает ошибки наWarning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in T:\\home\\localhost\\engine\\modules\\lasttopicphpbb.php on line 60 Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in T:\\home\\localhost\\engine\\modules\\lasttopicphpbb.php on line 98 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in T:\\home\\localhost\\engine\\modules\\lasttopicphpbb.php on line 60 Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in T:\\home\\localhost\\engine\\modules\\lasttopicphpbb.php on line 98
 
он пишет что запрос MySQL не правильный посмотри ты правильно все сделал или нет потому что у меня все работает хорошо
 
Dave,Может это из-за того что я использую двиг TorrentPier 0.35 построенный на PhpBB хотя как я смотрю таблицы одинаковы как и в коде
 
скорее всего так как там он вроде слегка изменён или модифицирован хз
 
Верх