VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Честно искал на форуме, ничего не нашел по теме:
Возможно ли в шапке форума транслировать через RSS новости с другого сайта?
Если это где то уже обсуждалось-тыкните меня носом, пожалуйста
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<? $url='http://news.yandex.ru/index.rss' ; // че будем читать?
include ('../readerrss.php'); // где файл то?
?>
<body>
</body>
</html>
при этом, я хотел попробовать вставить код в объявление на форуме,
идея в том чтобы разделам форума, таким как софт/музыка и т.д.
дать ленту. например в софт транслировать rss новости вареза от netz'ов.
конечно - неработает.
Кто-нибудь пробовал подобное делать?
WBR!,
Serg
@SerV
Продвинутый
Join Date: Aug 2005
Location: Moscow
Posts: 21
Версия vB: 3.6.5
Reputation:
Опытный 17
Репутация в разделе: 9
0
немного "поковырялся", и поискал по инету варианты скриптов-парсеров.
в результате вот что получилось:
PHP Code:
<?php
class fase4_rdf {
var $_link_target = "_blank";
var $_phost = "";
var $_pport = "";
var $_pname = "";
var $_ppasswd = "";
var $_use_proxy = false;
var $_use_proxy_auth = false;
var $_refresh = 0; // int
var $_cached_file = ""; // String
var $_use_cached_file = false;
var $_cache_type = "";
var $_remote_file = "";
var $_cache_dir = "cache/"; // String
var $_cache_dir_ok = false;
var $_type = ""; // string (rss or rdf)
var $_display_opt = array(); // Array
var $_table_width = 400;
var $_use_dynamic_display = false;
var $_item_count = 0;
var $_max_count = false;
var $_array_channel = array();
var $_array_item = array();
var $_array_textinput = array();
var $_array_image = array();
var $_citem = array();
var $_cdepth = array();
var $_ctags = array( "x" );
var $_item = array(); // Array
var $_depth = array(); // Array
var $_tags = array( "x" ); // Array
var $gc_probability = 1;
var $_output = "";
function fase4_rdf()
{
$this->_refresh = (time() - 1200);
}
function parse_RDF( $rdf )
{
unset($this->_array_item);
$this->_remote_file = $rdf;
echo "<!-- http://www.fase4.com/rdf/ -->\n";
echo "<table width=\"".$this->_table_width."\">\n";
echo $this->cache();
echo "</table>\n";
unset($this->_output);
$this->_item_count = 0;
return true;
}
function finish()
{
flush();
$this->_garbage_collection();
}
function use_dynamic_display( $bool )
{
$this->_use_dynamic_display = $bool;
return true;
}
function _parse_xRDF( $data )
{
$this->_clear_Items();
$xml_parser = xml_parser_create();
xml_set_object($xml_parser,$this);
xml_parser_set_option($xml_parser,XML_OPTION_CASE_FOLDING,0);
xml_set_element_handler($xml_parser, "_startElement", "_endElement");
xml_set_character_data_handler($xml_parser, "_parseData");
if (!xml_parse($xml_parser, trim($data))) {
$this->_throw_exception(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser))."<br /><br />Exception in function parse_RDF().");
}
xml_parser_free($xml_parser);
}
function get_Options()
{
$options = array( "image"=>"If 'image' is set to \"hidden\" no image provided by the RDF Publisher will be displayed.",
"channel"=>"If 'channel' is set to \"hidden\" the Channel Meta Data (i.e the Title and the short description regarding the RDF Publisher will not be displayed",
"textinput"=>"If set to \"hidden\" no Input Form will be displayed",
"build"=>"If set to \"hidden\" the Build Date (if provided) of the RDF File will not be displayed",
"cache_update"=>"If set to \"hidden\" the Update Date/Time of the cached Rdf File will not be displayed");
return $options;
}
// PARSE HEADER ---- first line has to be <?xml, second rdf or rss, and third is blank
// strstr did not fit (ask Rasmus why), so we compare each character
if ( ($usable_data[$i][0] == "<" ) &&
($usable_data[$i][1] == "?" ) &&
($usable_data[$i][2] == "x" ) &&
($usable_data[$i][3] == "m" ) &&
($usable_data[$i][4] == "l" ) ) {
$usable_data[0] = $usable_data[$i]; // save current field
$i = 1; // just reset array to start
}
// there seems to be proxystuff after the <?xml....we delete this
if ( (
($usable_data[$i][0] == "<" ) &&
($usable_data[$i][1] == "r" ) &&
($usable_data[$i][2] == "d" ) &&
($usable_data[$i][3] == "f" ) &&
($usable_data[$i][4] == ":" )
)
||
(
($usable_data[$i][0] == "<" ) &&
($usable_data[$i][1] == "r" ) &&
($usable_data[$i][2] == "s" ) &&
($usable_data[$i][3] == "s" )
)
) {
$usable_data[1] = $usable_data[$i]; // save current field
$usable_data[2] = "\n";
$i = 2; // just reset array to start
}
}
fclose($fp);
return $usable_data;
} else {
return (file($this->_remote_file));
}
} // END _rdf_data()
} // END class
?>
подготовительная часть пройдена, начинаем забирать новости...
парсер позволяет делать "статику".
т.е. пользователю передается хакэшированные уже новости.
к примеру каждые 30 минут скрипт снимает новости с заказанных сайтов и кладет на диск - а потом выдает из кэша по вашему запросу.
статический кэш может хранитсья в 2-х видах.
1) файл вида: 2756q2r62697n7n6s6r2r6r6
2) news.html
вопрос: КАК это импортировать в ОБЪЯВЛЕНИЕ форума?
может быть через MySQL как?
Гуру Воблы подскажите пожалуйста :)
WBR, Serg.
Last edited by SerV : 09-07-2006 at 07:59 PM.
@Klonic_J
Продвинутый
Join Date: Nov 2005
Location: Саратов
Posts: 189
Reputation:
Опытный 21
Репутация в разделе: 18
0
up!
интересует счастливая концовка этой темы
@mikluho
Простоузер
Join Date: Sep 2006
Posts: 11
Reputation:
Novice 1
Репутация в разделе: 1
0
Quote:
Originally Posted by Klonic_J
up!
интересует счастливая концовка этой темы
аналогично
@SerV
Продвинутый
Join Date: Aug 2005
Location: Moscow
Posts: 21
Версия vB: 3.6.5
Reputation:
Опытный 17
Репутация в разделе: 9
0
Quote:
Originally Posted by mikluho
аналогично
к сожалению гуры воблы так и не откликнулись.
сделал просто каждые новости отдельной страницей
(отдельно авто, отдельно интернет, отдельно софт и т.д.)
далее просто сделал в нужном раздлеле форума "объявление", и внутри объявления разрешил HTML. ну и просто мета-редиректом перенаправляю пользователей на нужную страницу, когда они открывают объявление.
жаль конечно, никто не хочет развить тему.
иметь новости в самом объялении было гораздо интереснее.