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

Вывод последних сообщений с IPB 2.0 в РНР-нуке


бочкин

Вопрос

Тут есть в архиве скрипт для решения этой задачи, но мне он ничего не дал! Сделал как и сказано в инструкции, перепробовал несколько вариантов, но результата не добился.

Подскажите решение!

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

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

  • 0
Дайте мне скрипт, который выводит этот блок в портал IPB 2.0, и я напишу Вам блок для нюки (в приват) :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Iris

У меня этого скрипта нет, есть только скрипт из местной базы, и то он категорически отказывается работать с нюкой.. по-крайней мере у меня..

 

А ЭТОТ скрипт нельзя подогнать под нюку? На мой взгляд актуальный мод.

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

  • 0

бочкин

если Вы дадите мне в приват не ссылку, а код, работающего скрипта на пхп, то я сделаю этот мод для нюки. :D

Добавлено в [mergetime]1104015300[/mergetime]

Повторяю - пришлите мне работающий у Вас на штмл шаблоне пхп скрипт (создайте в дримвивере страницу и поставьте на нее скрипт, чтобы он работал и показывал новые темы форума), а потом я Вам переделаю его так, что он будет работать, как блок нюки

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

  • 0

бочкин

Повторяю - пришлите мне работающий у Вас на штмл шаблоне пхп скрипт (создайте в дримвивере страницу и поставьте на нее скрипт, чтобы он работал и показывал новые темы форума), а потом я Вам переделаю его так, что он будет работать, как блок нюки

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

  • 0
  • 0

вообщем вот

http://www.jewniverse.net/board/ssi.php?a=lastpost

или можно так

http://www.jewniverse.net/board/ssi.php?a=lastpost&show=5

вместо 5 можно любое число

экспорт последних сообщений из форумов в которых разрешено ЧТЕНИЕ сообщений гостям (Read Topics)

 

ну и пример можно посмотреть в правом столбце портала

 

ну и сам файлик ssi.php с шаблоном

lastpost.zip

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

  • 0

Ага, установка подробно описывается так

 

встал перед нами вопрос о создании болка phpnuke, способного экспортировать последние сообщение форума IPB v2.0.x на главную страницу phpnuke

 

И эту задачу решил winnie следующим образом:

1. в корневой папке форума находится файл ssi.php Скачиваем его на локальную машину и сохраняем для бекапа.

Проводим модернизацию файла ssi.php под наши нужды

а)находим код в районе строки 245

	case 'news':
  do_news();
  break;

б) после него вписываем код

	case 'lastpost':
  do_last_post();
  break;

в) находим код в районе строки 506

 //-----------------------------------------
// Get the topics, member info and other stuff
//-----------------------------------------

$DB->query("SELECT m.name as member_name, m.mgroup, m.id as member_id,m.title as member_title, t.*, p.*
             FROM ".SQL_PREFIX."topics t
              LEFT JOIN ".SQL_PREFIX."posts p ON (t.topic_firstpost=p.pid)
              LEFT JOIN ".SQL_PREFIX."members m ON (m.id=t.starter_id)
       WHERE t.forum_id={$ibforums->vars['news_forum_id']} AND t.approved=1 ORDER BY t.tid DESC LIMIT 0, $perpage");
      
if ( ! $DB->get_num_rows() )
{
  fatal_error("Could not get the information from the database");
}

while ( $row = $DB->fetch_row() )
{
  $row['post'] = str_replace( '<br>', '<br />', $row['post'] );
  
  $parser->pp_do_html  = ( $ibforums->cache['forum_cache'][ $row['forum_id'] ]['use_html'] and $ibforums->cache['group_cache'][ $row['mgroup'] ]['g_dohtml'] and $row['post_htmlstate'] ) ? 1 : 0;
  $parser->pp_wordwrap = $ibforums->vars['post_wordwrap'];
  $parser->pp_nl2br    = $row['post_htmlstate'] == 2 ? 1 : 0;
  
  $row['post'] = $parser->post_db_parse( $row['post'] );
  
  $to_echo .= parse_template( $template,
            array (
               'profile_link'   => $ibforums->base_url."?act=Profile&CODE=03&MID=".$row['member_id'],
               'member_name'    => $row['member_name'],
               'post_date'      => $std->get_date( $row['post_date'], 'LONG', 1 ),
               'topic_title'    => $row['title'],
               'post'           => $row['post'],
               'comments'       => $row['posts'],
               'view_all_link'  => $ibforums->base_url."?act=ST&f={$row['forum_id']}&t={$row['tid']}"
               )
            );
}

$to_echo = str_replace( "<#IMG_DIR#>", $ibforums->skin['_imagedir'], $to_echo );
$to_echo = str_replace( "<#EMO_DIR#>", $ibforums->skin['_emodir']  , $to_echo );
  
echo $to_echo;

exit();

}

г) после него добавьте код функции do_last_post

function do_last_post()
{
global $DB, $ibforums, $templates_dir, $std, $max_show;

require ROOT_PATH."sources/lib/post_parser.php";
        
$parser = new post_parser();
        
$perpage = intval($ibforums->input['show']) > 0 ? intval($ibforums->input['show']) : 10;

$perpage = ( $perpage > $max_show ) ? $max_show : $perpage;

$forums = array();

foreach ($ibforums->cache['forum_cache'] as $key=>$val)
{
  if ($val['parent_id'] != -1)
  {
   if ($val['read_perms'] == "*") 
   {
    $forums[] = $key;
   }
   else if (in_array($ibforums->vars['guest_group'], explode(',', $val['read_perms'])))
   {
    $forums[] = $key;
   }
    
  }
}
  
if (count($forums)>0)
{
  $forums = implode(',', $forums);
}
else
{
  exit();
}

Файл сохраняем и записываем на FTP

2. Создаем блок phpnuke (нюки) с таким содержимым:

<?php

/* Блок последних сообщений с форума IPB v2.0.x */

if (eregi("block-WP_IPB_Lastpost.php",$PHP_SELF)) {
   Header("Location: index.php");
   die();
}

ob_start();
include("http://www.ваш_домен.ru/forum/ssi.php?a=lastpost&show=5");
$output = ob_get_contents();
ob_end_clean();
$content = $output;

?>

В котором редактируете строку http://www.ваш_домен.ru/forum/ssi.php?a=lastpost&show=5 под ваши нужды

3. Заливаете блок на FTP, где расположены блоки phpnuke, создаете в админке phpnuke новый блок и подключаете его.

 

Все

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

  • 0

А как можно принудительно обрезать выводимое название темы, что для этого нужно в ssi.php дописать?

P.S. Спасибо за мод

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

  • 0
winnie или другие. Помогите. Мне нада сделать так, чтобы последние новости выходили только с определённых форумов. Как это сделать? Очень нада. Спасибо.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Ну что неужели никто ничего не знает????

Читай второе сообщение

 

Если поставишь мод, который позволяет указывать несколько форумов для экспорта новостей, то реализуешь свой замысел полностью.

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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