Дя? ну тада лааана
Показатель флудерства опустился до значения 245 сообщений за сутки. Непорядок, товарищи!
Показатель флудерства опустился до значения 245 сообщений за сутки. Непорядок, товарищи!
я же говорил Фейка уйдет и все
masai пишет:Показатель флудерства опустился до значения 245 сообщений за сутки. Непорядок, товарищи!
я же говорил Фейка уйдет и все
Туточки я) выходные кончились
zverek пишет:masai пишет:Показатель флудерства опустился до значения 245 сообщений за сутки. Непорядок, товарищи!
я же говорил Фейка уйдет и все
Туточки я) выходные кончились
ну все. мы спасены
если кому-то нужны rss фиды на список новых тем на форуме или на сообщения в теме, то их можно легко создать тут: http://www.feedyes.com/
на оргиях 1000 постов в день. там что, нашествие этиков?
на оргиях 1000 постов в день. там что, нашествие этиков?
небось Моралес с кем-нибудь перепирается. Или ЕленкаХа.
Витача пишет:а вдруг продуем?
кхм... я вообще-то смотрю на это пока с точки зрения "а вдруг обгоним".
Догнать. И перегнать.
Догнуть. И перегнуть.
Догнить. И ... перегнить ...
если кому-то нужны rss фиды на список новых тем на форуме или на сообщения в теме, то их можно легко создать тут: http://www.feedyes.com/
Кстати, а почему бы не встроить фиды в форум. Наверняка такой плагин есть.
А если нет, я тут накатал скрипт черновой. Генерирует RSS 1.0.
<?php
//----------------------------------------------------------------------
// Вставленная библиотека. Непосредственно создание фидов -- в конце.
// $Id: rss10.inc,v 1.3 2001/05/20 17:58:02 edmundd Exp $
class RSSWriter {
function RSSWriter($uri, $title, $description, $meta=array()) {
$this->chaninfo=array();
$this->website=$uri;
$this->chaninfo["link"]=$uri;
$this->chaninfo["description"]=$description;
$this->chaninfo["title"]=$title;
$this->items=array();
$this->modules=array("dc" => "http://purl.org/dc/elements/1.1/");
// thanks James Mills for bugfix to this line
$this->channelURI=str_replace("&", "&", "http://" . $GLOBALS["SERVER_NAME"] . $GLOBALS["REQUEST_URI"]);
foreach ($meta as $key => $value) {
$this->chaninfo[$key]=$value;
}
}
function useModule($prefix, $uri) {
$this->modules[$prefix]=$uri;
}
function setImage($imgURI, $imgAlt, $imgWidth=88, $imgHeight=31) {
$this->image=array(
"uri" => $imgURI, "title" => $imgAlt, "width" => $imgWidth,
"height" => $imgHeight);
}
function addItem($uri, $title, $meta=array()) {
$item=array("uri" => $uri, "link" => $uri,
"title" => $this->deTag($title));
foreach ($meta as $key => $value) {
// Отключил обрезание тегов
// if ($key == "description" || $key == "dc:description") {
// $value=$this->deTag($value);
// }
$item[$key]=$value;
}
$this->items[]=$item;
}
function serialize() {
$this->preamble();
$this->channelinfo();
$this->image();
$this->items();
$this->postamble();
}
function deTag($in) {
while(ereg('<[^>]+>', $in)) {
$in=ereg_replace('<[^>]+>', '', $in);
}
return $in;
}
function preamble() {
header("Content-type: text/xml");
// Изменил кодировку
print '<?xml version="1.0" encoding="windows-1251"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://purl.org/rss/1.0/"
xmlns:mn="http://usefulinc.com/rss/manifest/"
';
foreach ($this->modules as $prefix => $uri) {
print " xmlns:${prefix}=\"${uri}\"\n";
}
print ">\n\n";
}
function channelinfo() {
print ' <channel rdf:about="' . $this->channelURI . '">
';
$i=$this->chaninfo;
foreach (array("title", "link", "dc:source", "description", "dc:language", "dc:publisher",
"dc:creator", "dc:rights") as $f) {
if (isset($i[$f])) {
print " <${f}>" . htmlspecialchars($i[$f]) . "</${f}>\n";
}
}
if (isset($this->image)) {
print " <image rdf:resource=\"" . htmlspecialchars($this->image["uri"]) . "\" />\n";
}
print " <items>\n";
print " <rdf:Seq>\n";
foreach ($this->items as $i) {
print " <rdf:li rdf:resource=\"" . htmlspecialchars($i["uri"]) . "\" />\n";
}
print " </rdf:Seq>\n";
print " </items>\n";
print " </channel>\n\n";
}
function image() {
if (isset($this->image)) {
print " <image rdf:about=\"" . htmlspecialchars($this->image["uri"]) . "\">\n";
print " <title>" . htmlspecialchars($this->image["title"]) . "</title>\n";
print " <url>" . htmlspecialchars($this->image["uri"]) . "</url>\n";
print " <link>" . htmlspecialchars($this->website) . "</link>\n";
if ($this->chaninfo["description"])
print " <dc:description>" . htmlspecialchars($this->chaninfo["description"]) .
"</dc:description>\n";
print " </image>\n\n";
}
}
function postamble() {
print ' <rdf:Description rdf:ID="manifest">
<mn:channels>
<rdf:Seq>
<rdf:li rdf:resource="' . $this->channelURI . '" />
</rdf:Seq>
</mn:channels>
</rdf:Description>
</rdf:RDF>
';
}
function items() {
foreach ($this->items as $item) {
print " <item rdf:about=\"" . htmlspecialchars($item["uri"]) . "\">\n";
foreach ($item as $key => $value) {
if ($key!="uri") {
if (is_array($value)) {
foreach ($value as $v1) {
print " <${key}>" . htmlspecialchars($v1) . "</${key}>\n";
}
} else {
print " <${key}>" . htmlspecialchars($value) . "</${key}>\n";
}
}
}
print " </item>\n\n";
}
}
}
//----------------------------------------------------------------------
// Подключение общих функций
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';
require PUN_ROOT.'include/parser.php';
// Запросы на e-mail и адрес форума
// TODO: Объединить запросы или вставить константные значения.
$result=$db->query('select conf_value from '.$db->prefix.'config where conf_name=\'o_admin_email\';');
$mail = $db->fetch_row($result);
$result=$db->query('select conf_value from '.$db->prefix.'config where conf_name=\'o_base_url\';');
$url = $db->fetch_row($result);
// Заголовок RSS
// TODO: Брать описание из базы.
$rss = new RSSWriter($url, "СОЦИОН.",
"Соционический форум",
array("dc:creator" => $mail[0]));
// Запрос на последние сообщения (но не больше 50)
// TODO: Сделать количество выводимых постов настраиваемым
// TODO: Регулировать обрезание поста по длине и вообще его наличие.
$result = $db->query('SELECT p.poster, LEFT(p.message,500), p.id, t.subject,f.forum_name,p.posted FROM '.$db->prefix.'posts AS p LEFT JOIN '.$db->prefix.'topics AS t ON t.id=p.topic_id LEFT JOIN '.$db->prefix.' forums AS f ON f.id=t.forum_id ORDER BY p.posted DESC LIMIT 50;') or error('Unable to fetch topic list', __FILE__, __LINE__, $db->error());
// Вывод результата
// TODO: Лучше парсить bb-теги.
// TODO: Выводить время с учетом пояса.
// TODO: Изменить заголовок на что-то более читабельное.
while ($temp = $db->fetch_row($result))
{
$rss->addItem($url[0].'/viewtopic.php?pid='.$temp[2].'#p'.$temp[2],
$temp[3].' ['.$temp[0].' - '.date('j-m-Y, H:i',$temp[5]).' GMT]',
array("description" => do_bbcode($temp[1]),
"dc:subject" => $temp[4]));
}
// Сериализация ;)
$rss->serialize();
?>
ну и кто ими будет пользоваться, пара человек?
ну и кто ими будет пользоваться, пара человек?
Неужели так мало?
В общем, мое дело предложить...
800 постов в сутки. Это, имхо, рекорд.
Это все результат моих действий и происков Ёп!жик. (Загляни в соседнюю тему и все поймешь.)
Это все результат моих действий и происков Ёп!жик. (Загляни в соседнюю тему и все поймешь.)
вапщет это результат моих действий, если чо