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; } ]]>