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

(SnS) SSI экспорт последних тем и сообщений


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

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

  • Ответы 238
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

О!! А полный путь сработал...

Вот этот: http://www.сайт.ru/forum/ssi.php?a=lasttopics&show=5

 

прям не знаю, что и думать...

 

Когда поставил мод Latest Posts (инклюд не черзе ssi.php, а latest_posts.php), то выскакивает другая ошибка, я тут о ней написал - http://www.ibresource.ru/forums/index.php?...st&p=317855

 

Забыл изначально вот что добавить...

Эта байда происходит на Агаве... А вот на другом хостинге - СпейсВебе все прекрасно работает...

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

Можно попробовать включение скрипта через имя файла:

$_GET['a'] = "lasttopics";
# ... и т.д. ...
include("/home/nighttr6/public_html/forum/ssi.php");

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

  • 3 недели спустя...
Т.е. нескольких?
Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
Я так понимаю функционал вывода тем ТОЛЬКО из выбранных форумов отсутствует? Если да то можно его как-нибудь организовать? Потому как форум большой, да еще и разделы периодически добавляются, а надо чтобы выводились только новости из нескольких разделов, и исключать все остальные разделы поседеешь. К тому же хотелось бы чтобы можно было на разные сайты выводить темы из разных разделов форума.
Ссылка на комментарий
Поделиться на других сайтах

возможно данное уже где-то писалось...

 

при использовании возможности НЕ показывать сам открывающий топик, он показывается

строка вызова ..../ssi.php?a=lastposts&notopics=1&show=5&topic=xx

 

для того чтобы решить эту проблему:

открываем ssi.php

ищем метод do_last_posts

находим в нем формирование запроса

		$this->ipsclass->DB->build_query( array( 'select'   => 'p.*',
											 'from'	 => array( 'posts' => 'p' ),
											 'where'	=> $wheretopics.'p.queued=0',
											 'order'	=> 'p.post_date DESC',
											 'limit'	=> array( 0, $perpage ),

и немного изменяем

'where'	=> $wheretopics.'p.queued=0',

на

'where'	=> $whereposts.$wheretopics.'p.queued=0',

 

почему-то разработчики мода учли формирование $whereposts, но не учли его в запросе

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

Спасибо за найденную несуразность :D
Ссылка на комментарий
Поделиться на других сайтах

при формировании итого кода сообщения в do_last_topics и do_last_posts

$row['post'] = $parser->strip_all_tags( $row['post'] );
$row['post'] = preg_replace("#([^\s<>'\"/\.\\-\?&\n\r\%]{80})#i", " \\1"."<br />", $row['post']);
$row['post'] = str_replace( "\n", '<br />', trim($row['post']) );
if( $len and (strlen( $row['post'] ) > $len) )
{
$row['post'] = substr( $row['post'], 0, $len ) . '...';
$row['post'] = preg_replace( "/&(#(\d+;?)?)?\.\.\.$/", '...', $row['post'] );
}

использовании

$row['post'] = $parser->strip_all_tags( $row['post'] );

приводит к тому, что появляется в сообщении вместо HTML кода ББ код, хотя использование данного мода предусмотрено для встраивание его в часть HTML'a страница

 

так же использование

$row['post'] = str_replace( "\n", '<br />', trim($row['post']) );

приводит к тому, что появляется очень большая избыточность в отступах (дублирование таковых)

 

Сдается мне, что данные комбинации были придуманы только для отображения ББкодов, а не HTML...

 

Для более корректного отображение поста следует закоментировать все замены:

$row['post'] = $parser->strip_all_tags( $row['post'] );
$row['post'] = preg_replace("#([^\s<>'\"/\.\\-\?&\n\r\%]{80})#i", " \\1"."<br />", $row['post']);
$row['post'] = str_replace( "\n", '<br />', trim($row['post']) );

 

PS: если где-то недопонял или ошибся - просьба поправить меня :D

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

ББ-код появляться не должен, должен оставаться только текст. Но это, возможно, зависит от версии форума.

Да, если нужно оформление, то стоит их закомментировать. Другое дело, что если на форуме допустимо использование, скажем, большого шрифта или яркого цвета, то на сайте, в который импортируется лента, это может выглядеть не к месту и от это нужно застраховаться :D Где-то на первых страницах есть ещё дополнения по этому вопросу.

 

P.S. Я думаю, что как ведущий программист вы должны это знать лучше нас (;

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

2 Sannis

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

Если есть, вы бы не могли дать ссылку :D

если нету, то когда допишу - куда выкладывать?

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

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

Не видел. Пока в разработку.

создал отображение в виде дерева, добавлен метод do_treeview, изменен метод do_last_posts

куда то залить нада, что и де добавлять?

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

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

  • 4 недели спустя...

В этой теме посоветовали искать файл ssi.php (т.к. у меня такого нет) в сети...но и в сети такой файл не могу найти..

Может кто-нибудь его либо скинуть, либо сказать, где скачать? ))

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

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

  • 2 недели спустя...

День добрый, прочитал всю тему раз 5 и не понял главного:

 

1. Если работает только таким способом :

 

<?php

$_GET['a'] = 'lasttopics';

$_GET['len'] = 100;

 

chdir(dirname(__FILE__) . '/forum');

include('forum/ssi.php')

?>

 

То как это дело вмонтировать в DLE например, или любой другой движок?

Как сделать чтобы это выглядело в томже стиле что и шаблон сайта?

 

Может вопрос совсем глупый, но у меня голова уже сломалась...

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

День добрый, прочитал всю тему раз 5 и не понял главного:

 

1. Если работает только таким способом :

 

<?php

$_GET['a'] = 'lasttopics';

$_GET['len'] = 100;

 

chdir(dirname(__FILE__) . '/forum');

include('forum/ssi.php')

?>

 

То как это дело вмонтировать в DLE например, или любой другой движок?

Как сделать чтобы это выглядело в томже стиле что и шаблон сайта?

 

Может вопрос совсем глупый, но у меня голова уже сломалась...

Этот вопрос нужно адресовать разработчикам DLE или любого другого движка :D

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

  • 3 недели спустя...

Sannis, спасибо огромное! У меня правда сайт пока в разработке на денвере ;) но ваш плагин отлично работает! :D

Но возник небольшой вопрос... Параметр {member_name} всегда выводится жирным... как его сделать обычным? не таким...

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

Sannis, спасибо огромное! У меня правда сайт пока в разработке на денвере ;) но ваш плагин отлично работает! :D

Но возник небольшой вопрос... Параметр {member_name} всегда выводится жирным... как его сделать обычным? не таким...

Изменить шаблон отображения :)

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

Решение нашёл в использовании Latest Posts.

 

Нашёл кучу чего относящегося косвенно и напрямую к своей проблеме, но запутался только в конец.

Поясните, как мне вывести последние десять тем, в которые ответили пользователи (поднятые пользователями темы), на странице стандартного ipb портала?

 

Вроде как что-то насчёт последних тем в которые были ответы было сказано

 

Подскажите ещё, как можно убрать дублирующиеся сообщеняя?

Использую вывод последних 10 ssi.php?a=lastposts

Получаестя выводит последние 10 сообщений, даже если они написаны в одной теме.

Примерная мысль: В функции do_last_posts найти в запросе

2 => array( 'select' => 't.*',

и заменить на

2 => array( 'select' => 'DISTINCT(t.tid), t.title, t.forum_id',

 

Если после этого пропадёт часть информации в выводимых данных, нужно недостающие поля из таблицы topics внести по аналогии в эту строку.

 

Но это не помогло.

 

А насчёт портала я вставляю <?php ?> в html шаблоны при редактировании скина, это не даёт эффекта (ничего не изменяется на странице портала), что, наверное, не удивительно. Как понял нужно что-то добавлять в class_display но так и не понял какого вида должны быть добавки, чтобы потом в шаблоне написать что-то типа <!--::last_topics::--> и чтобы это выводило нужные темы.

 

Или может есть путь проще, а я как-то усложняю?

 

UPD: Причём на сайт я запихнул 10 последних сообщений, попробовал покопать в сторону совета насчёт убирания дублей (сообщений из той же темы), но что-то не получилось, эффекта не дало. А так я даже из cp1251 в utf-8 их перегоняю за счёт функции iconv("CP1251","UTF-8","переменная"); в шаблоне last_posts, который я сделал html а php. Правда аватарки там не появлялись, но мне они и не нужны. А вот как сделать чтобы на портале форума это было, вот это не понял.

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

  • 1 месяц спустя...

Не могу понять где нужно включить allow_url_fopen ?

Или это нужно обращаться к Хостеру ?

 

Подскажите если это в каком то файле нужно сделать,то в каком и где он точно находиться

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

В .htaccess можно,

php_value allow_url_fopen значение

Смотрите в википедии про .htaccess и php_value и в документации на php.net про значение переменной, on или yes.

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

×
×
  • Создать...

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

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