All pastes #487678 Raw Edit

Miscellany

public javascript v1 · immutable
·published 2007-05-14 16:18 UTC
rendered paste body
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]";	}}