Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Интегрирование phphBB в DLE 
:(
    Опции темы
IN4matOR
  Дата 26.4.2007, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 3.2.2006
Где: Запорожье, Украин а

Репутация: нет
Всего: 1



Итак, модуль вывода последних сообщений из форума 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} 



А у миня чето не работает( все сделал по инструкции, а в том месте где долже быть собственно модуль он и пишет:
{lasttopicphpbb}

Это сообщение отредактировал(а) IN4matOR - 26.4.2007, 22:41
--------------------
 Respect is everything 
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0906 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.