import com.kelvinluck.util.LogWrapper;import com.kelvinluck.flashr.core.FlashrResponse;import com.dynamicflash.utils.Delegate;import com.kelvinluck.flashr.core.ResultsSet;import com.kelvinluck.flashr.core.Photo;import com.kelvinluck.flashr.core.Flashr;import com.kelvinluck.flashr.core.PhotoSize;/*** Class: FlashrSimpleSearch** Very simple example showing how to search for a tag using Flashr 0.5 and then* get more detailed information about each matching photo. * * Currently just traces the relvant information out.** Author:* Kelvin Luck*/class com.kelvinluck.flashr.example.FlashrSimpleSearch extends MovieClip{ public static var NUM_RESULTS:Number =1; public static var SCALE_PICS:Number; public static var ROW_NUMBERS:Number; public static var ROW_SPACING:Number; public static var SHIZZLE:Number; public static var SHIZZLE1:Number; public static var SEARCH_FOR:String; public static var single:String; public static var RA:Number; public static var RB:Number; public static var GA:Number; public static var GB:Number; public static var BA:Number; public static var BB:Number; public static var AA:Number; public static var AB:Number; public static var numbersOfPhotos:Number; public static var mc:MovieClip; public static var SCALEZ:Number; public static var ALFIE:Number; public var address:String; private var _flashr:Flashr; private var _flashrResponse:FlashrResponse; public var searchCounter = 0; public var count = 0; public var tryhard:String; private var _numResults:Number; private var _photos:Array; public var switched:Number; // these fields are just for debugging var out:TextField; var scrollDown:Button; var scrollUp:Button; /** * Function: FlashrSimpleSearch * Constructor **/ function setVariables(berk:Number) { NUM_RESULTS = berk; }function set1(bored1:Number) {RA = bored1;} function set2(bored2:Number) {RB = bored2;} function set3(bored3:Number) {GA = bored3;}function set4(bored4:Number) {GB = bored4;}function set5(bored5:Number) {BA = bored5;}function set6(bored6:Number) {BB = bored6;}function set7(bored7:Number) {AA = bored7;} function set8(bored8:Number) {AB = bored8;} function setTheScale(scaled:Number) { SCALEZ = scaled; } function setTheAlpha(seethroughyou:Number) { ALFIE = seethroughyou; } function setSearchTerm(searched:String) { SEARCH_FOR = searched; } function FlashrSimpleSearch() { // uncomment the following lines if you want to see the internals of what is happening with Flashr. LogWrapper.getInstance().init(); LogWrapper.getInstance().addTracePublisher(); //LogWrapper.getLog().setLevel(Level.ERROR); _photos = []; _flashr = Flashr.getFlashr(); _flashr.apiKey = "b40e05adf210ad4c4cc4da00f99f4184"; _flashr.cacheQueries = true; _flashrResponse = new FlashrResponse(); _flashrResponse.onPhotosSearch = Delegate.create(this, onPhotosSearch); _flashrResponse.onPhotosGetInfo = Delegate.create(this, onPhotosGetInfo); // initialise our debugging scroll buttons scrollDown.onRelease = Delegate.create(this, onScrollDown); scrollUp.onRelease = Delegate.create(this, onScrollUp); } function doSearch(tags:String) { switched = 0; log("Searching for " + NUM_RESULTS + " photos matching tag '" + tags + "'"); _flashr.photosSearch({tags:tags, per_page:NUM_RESULTS, extras:'tags'}); } function doSearch2(tags:String) { switched = 1; log("Searching for " + NUM_RESULTS + " photos matching tag '" + tags + "'"); _flashr.photosSearch({tags:tags, per_page:NUM_RESULTS, extras:'tags'}); }function onPhotosSearch(rs:ResultsSet) { _numResults = rs.photos.length; var depth = 0; var nextY = 70; _photos = new Array (); log("Loading " + _numResults + " photos out of possible " + rs.total + ""); SHIZZLE = rs.total; var l : Number = _numResults; var i : Number = -1; while (++i<l) { var thisPhoto:Photo = rs.photos[i]; _flashr.photosGetInfo(thisPhoto.id, thisPhoto.secret); var taggy:Array = thisPhoto.getTagsAsStrings(); trace('Photo: ' + thisPhoto + ', tags:' + taggy); _root.wow.text = taggy; for (var nother = 0; nother < taggy.length; nother++) { trace (taggy[nother]); var tempMC:MovieClip = attachMovie ("box", "box" + count, depth ++, {_y : (nextY) , _x : (55)} ); nextY += tempMC._height + 2; tempMC.name_txt.text = taggy[nother]; count ++; tempMC.onRelease = function () { _root.test.text = this.name_txt.text; tryhard = _root.test.text; trace(tryhard); address = this.result_txt; } } }} /*else {//from here _numResults = rs.photos.length; var depth = 0; var nextY = 70; _photos = new Array (); log("Loading " + _numResults + " photos out of possible " + rs.total + ""); SHIZZLE1 = rs.total; var l : Number = _numResults; var i : Number = -1; while (++i<l) { var thisPhoto:Photo = rs.photos[i]; _flashr.photosGetInfo(thisPhoto.id, thisPhoto.secret); } }}//to here*/ function onPhotosGetInfo(photo:Photo) { if (switched == 0) { _photos.push(photo); if (_photos.length == _numResults) { onAllPhotosLoaded(); } }//end else { _photos.push(photo); if (_photos.length == _numResults) { numbersOfPhotos = _numResults; onAllPhotosLoaded2(); } }//end } function onAllPhotosLoaded2() { var l : Number = _photos.length; var i : Number = -1; while (++i<l) { var thisPhoto:Photo = _photos[i]; var nY:Number=230; var nX:Number; nX = -70 + (_photos.length * 10) + (i * 78); trace(address); address.text = "Hurrah"; //var trying = (_level0.simpleSearch.box + //bong.text = SHIZZLE1; } } function onAllPhotosLoaded() { var l : Number = _photos.length; var i : Number = -1; while (++i<l) { // put all the photos into a variable each loop var thisPhoto:Photo = _photos[i]; // y co-ord var nY:Number=230; // x co-ord var nX:Number; // stolen from some old code, basically setting the spacing between each picture, it increases the //spacing as the loop increments nX = -70 + (_photos.length * 10) + (i * 78); // create a movieclip to load the photos into var mc:MovieClip = _root.createEmptyMovieClip("photo", i) mc.createEmptyMovieClip("img", 1); // and load the image into it mc.img.loadMovie(thisPhoto.smallUrl); mc.photo = thisPhoto; //var poo:Number = mc.photo[0]._width; //trace (poo); // position the images using our co-ords mc._x = 270; mc._y = 70; mc._alpha = ALFIE; mc._yscale = SCALEZ; mc._xscale = SCALEZ; trace(address); _global.address.text = "Hurrah"; // open photo page when photo clicked mc.onPress = function() { getURL(this["photo"].photoPageUrl, "_blank"); }; var trans= new Object();trans.ra = RA;trans.rb = RB;trans.ga = GA;trans.gb = GB;trans.ba = BA;trans.bb = BB;trans.aa = AA;trans.ab = AB;var col = new Color(mc.img); } } // the following functions are just used for the textfield we are tracing into... function log(m:String) { trace(m); out.text += m + newline; out.scroll = out.maxscroll; } function onScrollDown() { out.scroll += 1; } function onScrollUp() { out.scroll -= 1; } /** * Function: toString **/ public function toString():String { return "[com.kelvinluck.flashr.example.FlashrSimpleSearch]"; }}