//
// SHOP ZERO Tips38 RssReader script v1.0
//
// Created by Zero2000 Kid 2009/02/02
//
// Title
string title="++ ?????? ++";
// YahooPipe URL
string pipeURL="http://pipes.yahoo.com/pipes/pipe.run?_id=c890298689189b27880118f7b57b28c7&_render=rss&textinput=item.";
// Article Count
integer articleCount=5;
// Refresha rate
float refreshRate=300.0;
integer input_ch = -38;
integer handle;
key http_req;
string respons_data;
list article_list;
integer counter;
showInfo () {
integer i;
string msg=title+"\n";
integer ct = llGetListLength(article_list)/4;
for (i = 0; i ,1);
}
fetchdata(string data) {
string tmpstr;
counter++;
list l1 = llParseString2List(data, ["- "], []);
list l2 = llParseString2List(llList2String(l1,1), ["\n"], []);
string title = getvalue(llList2String(l2,0),"");
string link = getvalue(llList2String(l2,1),"");
string description = getvalue(llList2String(l2,2),"");
article_list+=[(string)counter,title,link,description];
if (counter,1);
http_req=llHTTPRequest(pipeURL+(string)counter,[HTTP_METHOD,"GET"],"");
}
default
{
state_entry() {
refresh_article();
llSetTimerEvent(refreshRate);
}
on_rez(integer param){
llResetScript();
}
touch_start(integer t) {
handle = llListen(input_ch,"",llDetectedKey(0),"");
list menulist=llList2ListStrided(article_list, 0, -1, 4);
menulist+=["Refresh"];
llDialog(llDetectedKey(0), "Please select articel.", menulist, input_ch);
}
listen(integer ch, string name, key id, string message) {
if (message=="Refresh") refresh_article();
else {
integer index=llListFindList(article_list,[message]);
string title=llList2String(article_list,index+1);
string link=llList2String(article_list,index+2);
string description=llList2String(article_list,index+3);
llLoadURL(llGetOwner(), "++++++++++++\n"+title+"\n++++++++++++\n"+description, link);
}
llListenRemove(handle);
}
timer(){
refresh_article();
}
http_response(key request_id, integer status, list metadata, string body) {
if (request_id == http_req) {
fetchdata(body);
}
}
}
>
>
>