Klipfolio Inc.
Copyright © 2002-2009 Klipfolio Inc.
support@klipfolio.com
http://www.klipfolio.com/
Flickr Explore
eI6g7bG32LNK7cT1K4bmBsGz35KUFpDbCzqe1K5s9YCyioZqCC46SCgiM9pMeY8Y9rdsHpeV0yqZ7R9z/+ZJVpyEPm1TVyfiAAkiVfnF6xHbHRpmpVP+MKX/JJs2t5vbTShz8JM+45h+M5zan2JHQD9xzg+irjV2W8GVBD8Yv2g=
2.0
flickr_explore_89723
2009.01.13
View a random collection of interesting photos on Flickr. Refresh to get a new set of 9. Right-click to enable a search field or to locate a geo-tagged photo on Google Maps.
flickr explore photo picture random interesting
http://www.flickr.com
http://www.flickr.com/explore/interesting/7days/
http://www.serence.com/serence_klips/pics/flickr-explore/flickr_explore_icon.png
http://www.serence.com/serence_klips/pics/flickr-explore/flickr_explore_banner.gif
http://www.serence.com/serence_klips/flickr_explore.klip
4.0
30
true
false
permanent
--
utf-8
extended
true
Looking for photos...
No photos to display.
= 5897)
{
Items.actions = ["Hide search field", hideSearch];
Items.globalactions = ["Hide search field", hideSearch];
}
}
else
{
if (KlipFolio.build >= 5897)
{
Items.actions = ["Display search field", displaySearch];
Items.globalactions = ["Display search field", displaySearch];
}
}
}
function onSearch()
{
Prefs.setPref("search", Klip.searchtext);
Klip.requestRefresh ();
}
function displaySearch(item)
{
Klip.searchvisible = true;
Prefs.setPref("field", "yes");
Items.actions = ["Hide search field", hideSearch];
Items.globalactions = ["Hide search field", hideSearch];
}
function hideSearch(item)
{
Klip.searchvisible = false;
Prefs.setPref("field", "no");
Items.actions = ["Display search field", displaySearch];
Items.globalactions = ["Display search field", displaySearch];
Klip.requestRefresh();
}
function onRefresh ()
{
if(KFVersionOutOfDate())
{
return false;
}
else
{
// The version is not out of date. Make sure the welcome message is
// not displayed.
if(Items.length == 1)
{
if(Items[0].getData("introiid") == "welcome_message")
{
Items.clear(true);
}
}
}
var search = Klip.searchtext;
Prefs.setPref ("search", search);
if((search.length) && (Klip.searchvisible))
{
req = Engines.HTTP.newRequest ("http://www.flickr.com/search/?q="+search+"&w=all");
}
else
{
req = Engines.HTTP.newRequest (Prefs.contentsource);
}
if(req.send())
{
Items.clear(true);
var data = req.response.data.replace (/_m.jpg/g, ".jpg");
var success = Engines.KlipFood.process (data);
if (KlipFolio.build >= 5897)
{
geoTagPhotos();
}
return success;
}
return false;
}
function geoTagPhotos()
{
var i = 0;
for(i = 0; i < Items.length; i++)
{
Klip.progressmessage = "Geo-tagging photo #" + (i+1);
var rgx = RegExp (/\d{5,}/);
var id = rgx.exec (Items[i].getData ("img_lnk"));
var soap_client = new Engines.SOAP.newClient ("http://api.flickr.com/services/soap");
soap_client.namespace = "x";
soap_client.namespaceUri = "urn:flickr";
var resp = soap_client.call (
"FlickrRequest",
{
"method": "flickr.photos.geo.getLocation",
"api_key": "1a1767a3495987faaf0cd010cec8a090",
"photo_id": id.toString()
}
);
var response = Klip.processEntities (resp.getSource());
if (/Fault/.test (response))
{
Items[i].setData ("geo_link", "");
Items[i].setData("lat_long", "Lat: Unknown Long: Unknown");
continue;
}
rgx = RegExp (/latitude="(.*?)" longitude="(.*?)" accuracy="(\d{1,})"/);
var geo_set = rgx.exec (response);
if(!geo_set)
{
Items[i].setData ("geo_link", "");
Items[i].setData("lat_long", "Lat: Unknown Long: Unknown");
continue;
}
if (geo_set[1] && geo_set[2])
{
Items[i].setData ("lat_long", "Lat: " + geo_set[1] + " Long: " + geo_set[2]);
}
if (geo_set[1] != "0" && geo_set[2] != "0")
{
Items[i].actions = ["Map Image", mapImage];
Items[i].setData ("geo_link", "http://maps.google.com/maps?q=" + geo_set[1] + "," + geo_set[2]+ "&ll=" + geo_set[1] + "," + geo_set[2] + "&z=" + geo_set[3] + "&t=h&hl=en");
}
}
}
function mapImage (item)
{
Engines.Platform.launchDefaultBrowser(item.getData ("geo_link"));
}
function KFVersionOutOfDate ()
{
// check to see if this version of KlipFolio is out of date
if (KlipFolio == null || KlipFolio.build <= 5892)
{
var introText =
"" +
"" +
"KlipFolio verison 4 is required to run this Klip. Click here to download the latest version." +
"http://www.klipfolio.com/inkf-beta" +
"welcome_message" +
"" +
"";
var introStyle =
"introitem {type:item; definition: 'introtext,introlink,introiid';}" +
"introtext {itemcol:1; noterow:1; wrap:true; notelabel:false;}" +
"introlink {type:link;}" +
"introiid {key:override}";
Engines.KlipFood.stylesheet = introStyle;
Engines.KlipFood.process (introText);
Engines.KlipFood.stylesheet = "@import klip";
return true;
}
return false;
}
]]>