Инструменты пользователя

Инструменты сайта


ru:brandnew.php

Различия

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

Ссылка на это сравнение

ru:brandnew.php [2012/11/08 22:14] (текущий)
Строка 1: Строка 1:
 +Скрипт brandnew обходит RSS-новости [[http://​flylinkdc.com|блога разработчиков]] для поиска ссылок на последние сборки FlylinkDC++.
  
 +<file php brandnew.php>​
 +<?
 +/*
 + * Скрипт отображения версии,​ платформы и ссылки последней сборки FlylinkDC++
 + * По заказу:​ Fd <​fd@freefd.info>​ (NetByNet)
 + * Автор: SkazochNik
 + * Формат ответа:​ version|platform|link
 + * Данные используются на хабе PtokaX
 + * Скрипт на lua проверяет тег юзера на версию,​ потом парсит ответ скрипта и даёт юзеру ссылку на последнюю версию
 + */
 +include_once('​customloc/​simple_html_dom.php'​);​
 +
 +$dom = new domDocument;​
 +
 +$String = file_get_contents ("​http://​www.flylinkdc.ru/​feeds/​posts/​default?​alt=rss"​);​
 +
 +$Parser = xml_parser_create ();
 +xml_parser_set_option ($Parser, XML_OPTION_CASE_FOLDING,​ 0);
 +xml_parser_set_option ($Parser, XML_OPTION_SKIP_WHITE,​ 1);
 +xml_parse_into_struct ($Parser, $String, $Xml_Values);​
 +xml_parser_free ($Parser);
 +
 +for ($i = 0; $i < sizeof($Xml_Values) - 1; $i++) {
 + if ($Xml_Values[$i]["​tag"​] == "​title"​) {
 + if (preg_match("​(FlylinkDC\+\+ r)", $Xml_Values[$i]["​value"​])) { //
 + $inputdata = $Xml_Values[$i+1]["​value"​];​
 + break;
 +     }
 + }
 +}
 +if(isset($inputdata)){
 + $html = str_get_html($inputdata);​
 + $temp_output = "";​
 + // version|platform|link
 + foreach($html->​find('​a'​) as $element) {
 + if (preg_match("​(SetupFlylinkDC)",​ $element->​innertext)) {
 + $current_name = explode("​-",​ $element->​innertext);​
 + if (!preg_match("​(x)",​ $current_name[2])) {
 + $temp_output .= $current_name[2] . " " . $current_name[3] . "​|";​
 + $temp_output .= $current_name[1] . "​|";​
 + $temp_output .= $element->​href . "​\n";​
 + } else {
 + $temp_output .= $current_name[3] . " " . $current_name[4] . "​|";​
 + $temp_output .= $current_name[1] . "​-"​ . $current_name[2] . "​|";​
 + $temp_output .= $element->​href . "​\n";​
 + }
 + }
 + }
 + echo $temp_output;​
 +}
 +</​file>​
 +Класс для работы с DOM-деревом можно взять [[http://​sourceforge.net/​projects/​simplehtmldom/​|здесь]].
 +
 +На выходе получим следующий ответ в формате //​версия|платформа|ссылка//:​
 +
 +<​code>​
 +r501 rc7|x64|http://​narod.ru/​disk/​40382584001/​SetupFlylinkDC-x64-r501-rc7-build-9249.exe.html
 +r501 rc7|x86|http://​narod.ru/​disk/​40382644001/​SetupFlylinkDC-x86-r501-rc7-build-9249.exe.html
 +r501 rc7|x86-x64|http://​narod.ru/​disk/​40382739001/​SetupFlylinkDC-x86-x64-r501-rc7-build-9249.exe.html
 +</​code>​
 +
 +В данный момент скрипт используется по такому адресу:​ http://​flylinkdc.com/​brandnew.php
ru/brandnew.php.txt · Последние изменения: 2012/11/08 22:14 (внешнее изменение)