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

[2.3.x]Latest Posts


HGhost

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

index.php?app=downloads&module=display&section=screenshot&id=884

Название: Latest Posts

Добавил: HGhost

Добавлен: 17 Дек 2005

Обновлен: 01 Май 2007

Категория: IP.Board 2.3.x

 

Этот мод для форумов Invision Power Board. Отображает последние сообщения с вашего форума на вашем сайте.

 

Перед тем как устанавливать этот мод вам необходимо его корректно настроить, так как неправильная настройка может привести к отображению скрытых форумов.

 

Нажмите здесь, чтобы скачать файл

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

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

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

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

а как сделать чтоб он отображал последние сообщения с моего форума не на сайте, а на моем же форуме где нить снизу??? там допустим.. 10 последних сообщений...
Ссылка на комментарий
Поделиться на других сайтах

Код ставиш куда хочеш и будет все отображаться.

 

тебе надо слазить в основные html - которые в настройках скина находяться. там найти что надо и вставить.

 

1. админцентр -> Стили -> активный стиль -> Изменить HTML фрагменты -> Куда хочеш вставить -> добавь код.

 

2. админцентр -> Стили -> Щаблон форума (Нижние и верхние колонтитулы)

 

<% BOARD HEADER %> - щапка

<% MEMBER BAR %> - меню юзера

<% NAVIGATION %> - навигация

 

Начало форумов

 

там дальше и так понятно все..

 

и заканчиваеться все это копиратами

<% COPYRIGHT %>

 

вот выбери куда хочеш и вставляй, лудше сделать через html и добавить в таблицу.

 

<table width="613" height="159" border="0">
 <tr>
<td width="301"><div align="center">Сюда можно вставить код часов</div></td>
<td width="302"><?php include("http://my_site.ru/forum/latest_posts.php");?>
</tr>
</table>

 

в теории должно работать, но хз не проверял.

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

странно чтото, сделал блок для нюки и ничего в нем не показывает.

 

<?php
if (eregi("block-Block_forum.php",$PHP_SELF)) {
Header("Location: index.php");
die();
}
$content  =  "<?php include(\"http://***********/latest_posts.php\");?>";
?>

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

А возможно ли сделать чтобы последние 10 постов выводились не из всех разедлов форума а допустим из 5 мною выбраных?

 

Баниш функцией $forumexclude ЧЕРЕЗ ЗАПЯТУЮ В КАВЫЧКАХ все форумы которы должны быть скрыты.

 

к примеру у тебя 10 форумов, тебе надо чтобы показывался только 3,5 и 6

 

код будет такой

 

$forumexclude = "1,2,4,7,8,9,10";

 

<?php

if (eregi("block-Block_forum.php",$PHP_SELF)) {

Header("Location: index.php");

die();

}

$content = "<?php include(\"http://***********/latest_posts.php\");?>";

?>

 

Проверь синтаксис

и загляни сюда http://***********/latest_posts.php - это должно выводить всю информацию, а код <?php include("http://my_site.ru/forum/latest_posts.php");?> только ее переносит

 

?только как он к вложенным <? ?> относится я хз, тебя надо спросить

 

?и еще http://***********/latest_posts.php\

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

Все работает, только если вы не хотите скрывать форумы делайте так:

$forumexclude = "0";

иначе:

$forumexclude = ""; - вызовет такую ошибку:

 

mySQL query error: SELECT posts, last_poster_name, last_poster_id, title, tid, forum_id, last_post FROM topics WHERE (forum_id NOT IN ()) ORDER BY last_post DESC LIMIT 1

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

Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /home/www/forum/ips_kernel/class_db.php on line 144

 

Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /home/www/forum/ips_kernel/class_db.php on line 886

 

выдает над сообщениями это...

Как лечить?

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

У меня тексты инклюдятся в koi8-r, несмотря на то, что по ссылке вида http://www.*****/latest_posts.php - всё отображается корректно.

В чём может быть дело?

ок, не знаю, на сколько это правильно, попытаюсь с хостером договориться, вобщем кинул в корень форума .htaccess содержащий строку CharsetDisable On - терь он не перекодирует в кои.

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

У меня у основного сайта документы выдаются в кодировке UTF-8, и поэтому когда инклудится latest_posts.php последние сообщения выводятся знаками вопроса "Windows Vista, ������� ��� ���?"

Как это можно исправить? Помогите плизз...

 

нашел след. функцию. Вот только как сделать наоборот, чтобы из CP1251 в UTF8?

 function UTF8toCP1251($str){ // Converting UTF-8 to CP1251 (C) SiMM
 static $table = array("\xD0\x81" => "\xA8", // Ё
					"\xD1\x91" => "\xB8", // ё
				   );
 return preg_replace('#([\xD0-\xD1])([\x80-\xBF])#se',
				  'isset($table["$0"]) ? $table["$0"] :
				   chr(ord("$2")+("$1" == "\xD0" ? 0x30 : 0x70))
				  ',
				  $str
				 );
}

 

пробовал использовать iconv, все равно не преобразует. А если и преобразует кодировку, то все хтмл теги пропадают :D

iconv("CP1251", "UTF-8", $post[full_title]);

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

Windows Vista, еще не вышла, и вобше не понимаю в чем проблема если нету в ней подержки CP1251 то зачем мучить пользователей UTF-8, я мод проверял на ос Linux Kubuntu - в Opera 8 и в Конкуероре и все прекрасно работало, просто надо дождаться норм винды а не ставить всякие позорные альфа версии глючных форточек
Ссылка на комментарий
Поделиться на других сайтах

HGhost Да нет, винда тут не при чем, это просто тема с форума так называется и выводится вместо "Windows Vista, ставить или нет?" ---> "Windows Vista, ������� ��� ���?"

 

А проблема в том, что скрипт выдает данные в кодировке CP1251. А на сайте используется кодировка UTF-8. И когда скрипт "latest_posts" инклудится в главную страницу, то все отображается нормально, кроме блока выводящего последние темы :D

 

короче вот скрин

http://img524.imageshack.us/img524/4563/forumbug7bb.gif

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

а форум тоже юникод юзает? просто юникод это как бы не совсем... для русского языка... Изменено пользователем HGhost
Ссылка на комментарий
Поделиться на других сайтах

HGhost нет, форум использует windows-1251. Юникод использует только основной сайт.

В этом то и проблема, надо, чтобы скрипт latest_posts выдавал данные в нужной кодировке =(

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

садомазо извращение какоето, ты меня с юникодом в щтопор ввел... по другому не сказать. я хз, если скрипт даже сделать чтобы он конвентировал то... кирилица с юникодом это вобще полный маразм - не проше ли сайт windows-1251 переделать? чесна хз, никогда даже и не пытался скрипты такие делать чтобы они кодировку перебатрачивали...
Ссылка на комментарий
Поделиться на других сайтах

HGhost я бы с радостью сайт под windows-1251 перевел, но это невозможно, т.к. используется Textpattern ;)

 

ладно, примерно разобрался с функцией iconv, попробую переделать :D

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

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

у меня над последними темами пише такую херню:

 

Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /home/............./http/forums/ips_kernel/class_db.php on line 144

 

Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /home/........../http/forums/ips_kernel/class_db.php on line 886

 

 

 

КАК ОТ ЭТОГО ИЗБАВИТЬСЯ? ПОДСКАЖИТЕ ПОЖАЛСТА.

 

 

помогите плиииз очень срочно надо эта какашка весь вид сайта портит

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

sinuspro

Если посты нормально выводятся, а только это раздражает, то пропиши в файле твоей главной странице сайта error_reporting 0;

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

а в каком месте нужно прописать эту строчку, извеняюсь за может быть глупый вопрос. В начале всей страницы или непосредственно перед кодом include "последние темы"?
Ссылка на комментарий
Поделиться на других сайтах

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

Допустим у тебя основной сайт "site.ru/index.php" и форум "site.ru/forum"

Тогда прописывай в самом начале файла site.ru/index.php и на вский случай в самом latest_posts.php (в начале)

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

Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /home/www/forum/ips_kernel/class_db.php on line 144

 

Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /home/www/forum/ips_kernel/class_db.php on line 886

 

выдает над сообщениями это...

Как лечить?

 

Может все-таки кто-нибудь посоветует, кроме как спрятать ошибки этим error_reporting 0;

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


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

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

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