Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Русский IkonBoard »   Хаки для Ikonboard »   Вывод последних сообщений/тем на главную сайта
RSS

Вывод последних сообщений/тем на главную сайта

есть ли решение?

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Модератор: GramПечать
 
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
уже были запросы и предложения, но вроде это так и не решилось (или есть такой хак???)
может будут у кого предложения как эту радость реализовать?
Вывести например при помощи SSI

(Сообщение отредактировал Igor 30 апр. 2004 20:09)


---
FYI  AKA  Shatun
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
Дык ведь есть же активные темы! JESUS хак выкладывал - там даже по моему и сообщения были. Этот хак в легкую переделывается (точнее вырезается ненужная часть) и все. Я бы занялся, но у меня сейчас времени на это нет... защита надвигается в универе.
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
Вот что мне удалось...
значит порезал всё возмо-ненужное :)
сохранил как animac.cgi
<br>#!/usr/bin/perl <p>use CGI::Carp "fatalsToBrowser"; <br>use CGI qw(:standard); <br>$CGI::POST_MAX=1024 * 150; <br>$CGI::DISABLE_UPLOADS = 1; <br>$CGI::HEADERS_ONCE = 1; <p>eval { <br>($0 =~ m,(.*)/[^/]+,)   and unshift (@INC, "$1"); <br>($0 =~ m,(.*)\[^\]+,) and unshift (@INC, "$1"); <br>require "ikon.lib"; <br>require "data/progs.cgi"; <br>require "data/styles.cgi"; <br>require "data/addons.cgi"; <br>require "data/boardinfo.cgi"; <br>require "data/styles.cgi"; <br>}; <br>if ($@) { <br>    print header(-charset=>$forumcharset); print start_html(-title=>"Ошибка Ikonboard!");<br>    print "Невозможно найти следующие файлы: $@\nЕсли вы используете Windows NT, вам, возможно придется прописать полный путь в каждый оператор require во всех скриптах";<br>    print end_html; exit;<br>    }<p>########################################################## <br># Перечислите все форумы в этом массиве, для которых нужна проверка на активность <br># <br>my @fnumbers = (1,3,4,5,7,9,10,12,13,14,17,18,19,20,21,22,24,26,27,28,29,30,31,32,33,34); <p># Максимальное число тем для отображения <br>my $maxthreads = 10; <p>my $summary = "no"; <p># Отображение картинок (on/off) <br>my $imgs = "off"; <p>########################################################## <p>my $q = new CGI; <br>$action = $q->param("action"); <p>if ($action eq "ssi") { <br>$recent_topics = &getrecenttopics; <br>print qq~ <br>~; <br>exit; <br>} <p><br>$inmembername = cookie("amembernamecookie"); <p>if ($inmembername eq "") { <br>   $inmembername = "Guest"; <br>   } <br>&whosonline("$inmembername|Просматривает <a href=$boardurl/animac.cgi>Активные темы</a>|none"); <p>foreach $number (@fnumbers) { <p>opendir(THREADS, "$ikondir/forum$number"); <br>my @threads = readdir(THREADS); <br>closedir(THREADS); <br>@unsortedthreads = grep(/\w+.pl/, @threads); <br>@thethreads = sort {$b <=> $a} @unsortedthreads; <p>$maxt = $maxthreads; <br>$tcount = 0; <p>(my $sec,my $min,my $hour,my $day,my $month,my $year,my $wday,my $yday,my $isdst) = localtime(); <p>foreach $thread (@thethreads) { <br>$tcount++; <br>if ($tcount < $maxt) { <br>open(DETAILS,"$ikondir/forum$number/$thread"); <br>$details = <DETAILS>; <br>close(DETAILS); <p><br>($tno,$title,$desc,$status,$replies,$views,$poster,$postdate,$lastrep,$lastrepdate) = split(/\|/,$details); <p>open(TDETAILS,"$ikondir/forum$number/$tno.thd"); <br>$Tdetails = <TDETAILS>; <br>close(TDETAILS); <p><br>($user,$title,$ip,$smilies,$signature,$postdate,$thread) = split(/\|/,$Tdetails); <br>($trash,$trash,$trash,$postday,$postmonth,$postyear,$trash,$trash,$trash) = localtime($lastrepdate); <p>if (($day eq $postday) && ($month eq $postmonth) && ($year eq $postyear)) { <br>$gubbins = qq~$lastrepdate|$lastrep|$poster|$title|$thread|$postdate|$replies|$number|$tno~; <br>push(@finishedthreads2, $gubbins); <br>} <br>} <br>} <br>} <p>@finishedthreads2 = sort {$b <=> $a} @finishedthreads2; <p>$maxout = $maxthreads; <br>$toutcount = 0; <p>foreach $outthread (@finishedthreads2) { <br>$toutcount++; <br>if ($toutcount < $maxout) { <br>($lastrepdate,$lastrep,$poster,$title,$thread,$postdate,$replies,$number,$tno) = split(/\|/,$outthread); <p>if ($imgs eq "off") { <br>   $thread =~ s/\[img\](.+?)\[\/img\]/<a href=$1 target=_blank><font size=2>[IMAGE]<\/font><\/a>/isg; <br>} <p>unless ($summary eq "yes") { <br>$thread = doemoticons("$thread"); <br>$thread = ikoncode("$thread"); <br>$thread = qq~<tr><td colspan=3 bgcolor=$miscbackone><font face=$font color=$postfontcolorone size=2>$thread</font></td></tr>~; <br>} else { <br>undef $thread; <br>} <p> $postdate = $postdate + ($timedifferencevalue*3600) + ($timezone*3600); <br> $postdate = &dateformat("$postdate"); <p> $lastrepdate = $lastrepdate + ($timedifferencevalue*3600) + ($timezone*3600); <br> $lastrepdate = &dateformat("$lastrepdate"); <p>if ($lastrep) { <br>$lastrep = "автор: <a href=$boardurl/profile.cgi?action=show&member=$lastrep>$lastrep</a> - $lastrepdate"; <br>} <br>open(TDETAILS,"$ikondir/forum$number/$tno.thd");   <br>@Tdetails = <TDETAILS>; <br>close(TDETAILS);   <br>$Tdetails_lastpost = $Tdetails[$#Tdetails]; <br>($userlp,$titlelp,$iplp,$smilieslp,$signaturelp,$postdatelp,$threadlp) = split(/\|/,$Tdetails_lastpost); <p>&getforum("$number"); <p>if ($privateforum ne "yes"){ <br>$output .= qq~ <br><table cellspacing=0 cellpadding=0 width="100%" border=0 align="center"><br>  <tbody> <br>  <tr> <br>    <td bgcolor="#bbdefe"><font size="2" face="Arial, Helvetica, sans-serif" color="#000099">&nbsp; <br>      форум: <a href=$boardurl/forums.cgi?forum=$number><font size="1">$forumname</font></a></font></td><br>    <td bgcolor="#d1e7fb"><font face="Arial, Helvetica, sans-serif" size="1" color="#000099"><font size="2">&nbsp; <br>      тема: $title</font></font></td><br>    <td bgcolor="#eaf3fb"><font face="Arial, Helvetica, sans-serif" size="1" color="#000099">$lastrep</font></td><br>  </tr><br>  <tr> <br>    <td colspan=3><font face="Arial, Helvetica, sans-serif" size="1" color="#000099"><a href="$boardurl/topic.cgi?forum=$number&topic=$tno">$threadlp <br>      </a></font></td><br>  </tr><br>  </tbody> <br></table><p>~; <br>} <br>} <br>} <p>print header(-charset=>$forumcharset, -cookie=>[$permvisitcookie, $tempvisitcookie]);<br>print $output;<br>exit;<br>
т.е. когда вызываю сам файлик http://www.animac.ru/cgi-bin/ikonboard/animac.cgi
вроде всё работает и можно смело инклудить в PHP.
Но вот не задача :(
работает только тогда когда прописываю такой путь
<?php include("http://www.animac.ru/modules/Test/animac.shtml");?>
в самом файлике animac.shtml инклуд на скрипт CGI
#include virtual="/cgi-bin/ikonboard/animac.cgi"
(кавычки убрал т.к. наверно в этом форуме их порежет)
Но при этом кодировка сбивается...
вот пример - http://www.animac.ru/modules.php?name=Test
в .htaccess
добавил...
<br>AddDefaultCharset windows-1251
это тоже не спасло :(

Есть какие идеи как ещё на главную можно закинуть последние сообщения?


---
FYI  AKA  Shatun
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
Всё решилось после звонка хостеру.<br>Оказывается (русский)апач не корректно выдавал данные.<br>Так что всё работает отменно инклудьте если кому это необходимо ;)<p>Вопрос к XXXXPro. <br>На сколько этот скрипт грузит сервер (возможно ли ещё что лишнее из скрипта убрать?)

---
FYI  AKA  Shatun
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
По-моему, единственное, что можно оптимизировать - это читать не отдельные файлы тем, а list.cgi (так не тратится время на открытие файлов).

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
Именно это я и делал :)
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
XXXX Pro, спасибо за вектор помощи..
Я так понимаю..... придётся самому с хаком корячиться :(


---
FYI  AKA  Shatun
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
Igor, а ты посмотри как это в newposts.cgi реализовано и сделай аналогично :)
Guest
Гость



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

(Сообщение отредактировал Sergeyka 28 июня 2004 23:39)

(Сообщение отредактировал Sergeyka 28 июня 2004 23:40)

Guest
Гость



Ответьте кто-нибудь, пожалуйста!:confused:
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Для этого надо после ($user,$title,$ip,$smilies,$signature,$postdate,$thread) = split(/\|/,$Tdetails);<br>
вставить строчку <br>if (length($thread)>255) { $thread=substr($thread,0,255); }<br>
Вместо 255 можно подставить любое другое число.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Guest
Гость



XXXX Pro - ты лучший! ;) Спасибо!
<<Назад  Вперед>>Модератор: GramПечать
Объединенный Открытый Проект »   Русский IkonBoard »   Хаки для Ikonboard »   Вывод последних сообщений/тем на главную сайта
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.0903. Количество выполненных запросов: 18, время выполнения запросов 0.0411