Итак, модуль вывода последних сообщений из форума pphpBB на страницах DLE 1. Создаем файл 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} Это сообщение отредактировал(а) IN4matOR - 26.4.2007, 22:41
--------------------
Respect is everything
|