diff options
| author | Jules Laplace <carbon@melanarchy.org> | 2013-08-02 17:14:26 -0500 |
|---|---|---|
| committer | Jules Laplace <carbon@melanarchy.org> | 2013-08-02 17:14:26 -0500 |
| commit | 79670053c7247d3a49b607960efd284e93f057e5 (patch) | |
| tree | 9617f6eefa38b2686ae409bf75cc27a340444eda /bPod | |
| parent | c53827d5d044ae5ca7ebb27acb404b7a8988918e (diff) | |
install.pl
Diffstat (limited to 'bPod')
52 files changed, 2956 insertions, 0 deletions
diff --git a/bPod/bPod.fla b/bPod/bPod.fla Binary files differnew file mode 100644 index 0000000..c7c68b7 --- /dev/null +++ b/bPod/bPod.fla diff --git a/bPod/bPod.swd b/bPod/bPod.swd Binary files differnew file mode 100644 index 0000000..a50f546 --- /dev/null +++ b/bPod/bPod.swd diff --git a/bPod/bPod.swf b/bPod/bPod.swf Binary files differnew file mode 100644 index 0000000..77523ad --- /dev/null +++ b/bPod/bPod.swf diff --git a/bPod/beta2.tmproj b/bPod/beta2.tmproj new file mode 100644 index 0000000..5075db6 --- /dev/null +++ b/bPod/beta2.tmproj @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>documents</key> + <array> + <dict> + <key>expanded</key> + <true/> + <key>name</key> + <string>beta2</string> + <key>regexFolderFilter</key> + <string>!.*/(\.[^/]*|CVS|_darcs|_MTN|\{arch\}|blib|.*~\.nib|.*\.(framework|app|pbproj|pbxproj|xcode(proj)?|bundle))$</string> + <key>sourceDirectory</key> + <string></string> + </dict> + </array> + <key>fileHierarchyDrawerWidth</key> + <integer>253</integer> + <key>metaData</key> + <dict/> + <key>showFileHierarchyDrawer</key> + <true/> + <key>windowFrame</key> + <string>{{-21, 4}, {1177, 874}}</string> +</dict> +</plist> diff --git a/bPod/boxtester.fla b/bPod/boxtester.fla Binary files differnew file mode 100644 index 0000000..f25fb96 --- /dev/null +++ b/bPod/boxtester.fla diff --git a/bPod/boxtester.swf b/bPod/boxtester.swf Binary files differnew file mode 100644 index 0000000..0a4ea4c --- /dev/null +++ b/bPod/boxtester.swf diff --git a/bPod/com/events/Event.as b/bPod/com/events/Event.as new file mode 100644 index 0000000..377ae1c --- /dev/null +++ b/bPod/com/events/Event.as @@ -0,0 +1,7 @@ + +class com.events.Event +{ + public function Event() {} + public var type:String; + public var params:Object; +};
\ No newline at end of file diff --git a/bPod/com/events/EventBroadcaster.as b/bPod/com/events/EventBroadcaster.as new file mode 100644 index 0000000..c8f3483 --- /dev/null +++ b/bPod/com/events/EventBroadcaster.as @@ -0,0 +1,32 @@ +import com.events.Event; +import mx.events.EventDispatcher; + +// var howdy:Object = new Object; +// howdy.bonghits = "five bonghits"; +// EventBroadcaster.getInstance().broadcastEvent("curtainsUp", howdy); + +class com.events.EventBroadcaster +{ + private var dispatchEvent:Function; + public var addEventListener:Function; + public var removeEventListener:Function; + private static var eventBroadcaster; + + private function EventBroadcaster() { + EventDispatcher.initialize (this); + } + + public static function getInstance():EventBroadcaster { + if (eventBroadcaster == undefined) { + eventBroadcaster = new EventBroadcaster(); + } + return eventBroadcaster; + } + + public function broadcastEvent (_eventName:String, _params:Object):Void { + var event:Event = new Event(); + event.type = _eventName; + event.params = _params; + dispatchEvent (event); + } +};
\ No newline at end of file diff --git a/bPod/com/events/RightClick.as b/bPod/com/events/RightClick.as new file mode 100644 index 0000000..df5f5d1 --- /dev/null +++ b/bPod/com/events/RightClick.as @@ -0,0 +1,15 @@ +class com.events.RightClick { + + private var rcMenu:ContextMenu; + + public function RightClick () { + rcMenu = new ContextMenu(); + rcMenu.hideBuiltInItems(); + rcMenu.customItems.push (new ContextMenuItem ("(c) 2007 carbon pictures", vanityPlate)); + _root.menu = rcMenu; + } + + private function vanityPlate():Void { +// getURL("https://www.carbonpictures.com/cgi-bin/bucky/profile?username=tfarnon"); + } +}
\ No newline at end of file diff --git a/bPod/com/feeds/FeedButton.as b/bPod/com/feeds/FeedButton.as new file mode 100644 index 0000000..d8d1ed2 --- /dev/null +++ b/bPod/com/feeds/FeedButton.as @@ -0,0 +1,36 @@ +import mx.utils.Delegate;
+import mx.transitions.easing.*;
+import mx.transitions.Tween;
+import com.events.EventBroadcaster;
+
+import com.keywords.KeywordButton;
+
+class com.feeds.FeedButton extends KeywordButton {
+
+ private var username_mc:MovieClip;
+ private var backing:MovieClip;
+ private var initialAlpha:Number;
+ private var overlay:MovieClip;
+
+ private function makeButton(_val:Object):Void {
+
+ overlay._visible = false;
+ initialAlpha = backing._alpha;
+ title_mc.title_txt.text = _val.name;
+
+ super.setPosition();
+ }
+
+ private function handleRollOver():Void {
+ var tTween = new Tween(backing, "_alpha", Regular.easeOut, backing._alpha, 40, .4, true);
+ }
+
+ private function handleRollOut():Void {
+
+ if(visited) { var fadeVal:Number = initialAlpha; }
+ else { var fadeVal:Number = initialAlpha; }
+
+ var tTween = new Tween(backing, "_alpha", Regular.easeOut, backing._alpha, initialAlpha, .4, true);
+ }
+
+};
\ No newline at end of file diff --git a/bPod/com/feeds/FeedItemButton.as b/bPod/com/feeds/FeedItemButton.as new file mode 100644 index 0000000..8666253 --- /dev/null +++ b/bPod/com/feeds/FeedItemButton.as @@ -0,0 +1,59 @@ +import mx.utils.Delegate;
+import mx.transitions.easing.*;
+import mx.transitions.Tween;
+import com.events.EventBroadcaster;
+
+import com.threads.ThreadButton;
+
+class com.feeds.FeedItemButton extends ThreadButton {
+
+ private var username_mc:MovieClip;
+ private var alphabet_mc:MovieClip;
+ private var backing:MovieClip;
+ private var initialAlpha:Number;
+ private var overlay:MovieClip;
+
+ private function makeButton(_val:Object):Void {
+ title_mc.title_txt.autoSize = true;
+ title_mc.title_txt.text = _val.name;
+
+ if (title_mc._height > 26) {
+ title_mc.title_txt.autoSize = false;
+ title_mc.title_txt._height = 28.1;
+ }
+
+ initialAlpha = backing._alpha;
+
+
+ title_mc._y = (_y + _height / 2) - (title_mc._height / 2) ;
+
+ // backing._height = title_mc.title_txt._height;
+
+ this.cacheAsBitmap = true;
+ super.setPosition();
+ }
+
+
+ private function handleRollOver():Void {
+ var tTween = new Tween(backing, "_alpha", Regular.easeOut, backing._alpha, 40, .4, true);
+// makeWhite();
+ }
+
+ private function handleRollOut():Void {
+
+ if(visited) { var fadeVal:Number = initialAlpha; }
+ else { var fadeVal:Number = initialAlpha; }
+
+ var tTween = new Tween(backing, "_alpha", Regular.easeOut, backing._alpha, initialAlpha, .4, true);
+// makeBlack();
+ }
+
+ private function makeWhite():Void {
+ title_mc.title_txt.textColor =0xFFFFFF;
+ }
+
+ private function makeBlack():Void {
+ title_mc.title_txt.textColor =0x000000;
+ }
+
+};
\ No newline at end of file diff --git a/bPod/com/feeds/FeedItemScroller.as b/bPod/com/feeds/FeedItemScroller.as new file mode 100644 index 0000000..960d5c2 --- /dev/null +++ b/bPod/com/feeds/FeedItemScroller.as @@ -0,0 +1,17 @@ +import com.oop.ScrollingMenuFrame;
+
+class com.feeds.FeedItemScroller extends ScrollingMenuFrame
+{
+ var intRate:Number = 20; // scroller speed
+
+ public function doLoad(_dataArray:Array ):Void {
+
+
+ holder_mc.attachMovie("FeedItemSelectionSystem", "feeds", 1000);
+ holder_mc["feeds"].doInit(_dataArray, "FeedItemButton" );
+
+// holder_mc._x = 0; // use as needed! this puts the horiz scroller back in view
+ holder_mc._y = 0; // when a keyword tile is clicked.
+ }
+
+};
\ No newline at end of file diff --git a/bPod/com/feeds/FeedItemSelectionSystem.as b/bPod/com/feeds/FeedItemSelectionSystem.as new file mode 100644 index 0000000..e928f73 --- /dev/null +++ b/bPod/com/feeds/FeedItemSelectionSystem.as @@ -0,0 +1,64 @@ +import com.threads.ThreadSelectionSystem; +import com.services.BuckyServices; + +class com.feeds.FeedItemSelectionSystem extends ThreadSelectionSystem { + + private var itemsPerRow:Number = 1; + private var vertSpace:Number = 1; + + public function doAction():Void { + + var theItem:Object = systemData[getCurrentSelection()]; + + var theDesc:String = stripTags (theItem.desc); + +/* if (theDesc.length <= 1 ) + trace ( stripTags (theItem.desc) ); + else + trace (theItem.link ); */ + + + getURL (theItem.link , "_blank"); + + +/* for (var prop in theItem) { + trace (prop + " : " + theItem[prop]); + }*/ + } + + + private function stripTags (s:String):String + { + var gay:Boolean = false; + + var a:Array = s.split (""); + var b:Array = new Array (); + + for (var i = 0; i < a.length; i++) + { + if (a[i] == '<') + { + gay = true; + } + else if (a[i] == '>') + { + gay = false; + } + else if (!gay) + { + b.push (a[i]); + } + } + +/* var final:String = b.join(""); + + trace ("final == " + final); + + return final; +*/ + return b.join (""); + + + } + +};
\ No newline at end of file diff --git a/bPod/com/feeds/FeedScroller.as b/bPod/com/feeds/FeedScroller.as new file mode 100644 index 0000000..2b3d835 --- /dev/null +++ b/bPod/com/feeds/FeedScroller.as @@ -0,0 +1,16 @@ +import com.oop.ScrollingMenuFrame;
+
+class com.feeds.FeedScroller extends ScrollingMenuFrame
+{
+ var intRate:Number = 20; // scroller speed
+
+ public function doLoad( _dataArray:Array ):Void {
+ trace ( "FeedScroller: doLoad");
+ holder_mc.attachMovie("FeedSelectionSystem", "feeds", 1000);
+ holder_mc["feeds"].doInit(_dataArray, "FeedItemButton" );
+
+// holder_mc._x = 0; // use as needed! this puts the horiz scroller back in view
+ holder_mc._y = 0; // when a keyword tile is clicked.
+ }
+
+};
\ No newline at end of file diff --git a/bPod/com/feeds/FeedSelectionSystem.as b/bPod/com/feeds/FeedSelectionSystem.as new file mode 100644 index 0000000..56ef7c4 --- /dev/null +++ b/bPod/com/feeds/FeedSelectionSystem.as @@ -0,0 +1,32 @@ +import com.feeds.ProcessRSS;
+import com.services.BuckyServices;
+import com.events.EventBroadcaster;
+import com.keywords.KeywordSelectionSystem;
+
+class com.feeds.FeedSelectionSystem extends KeywordSelectionSystem {
+
+ private var vertSpace:Number = 1;
+ private var theArray:Array;
+
+ private var newFeed:ProcessRSS;
+
+ private function doAction():Void {
+ return;
+// trace ( "FeedSelectionSystem: doAction");
+ eraseExistingSpinners();
+ startButtonSpinner();
+ theArray = new Array();
+ newFeed = new ProcessRSS (theArray, BuckyServices.rssProxy);
+ newFeed.loadFeed (selectedData().feed);
+ EventBroadcaster.getInstance().addEventListener("feedListMade", this);
+ }
+
+ private function feedListMade():Void {
+
+ BuckyServices.feedThreadsMC.doLoad( newFeed.target_txt , "FeedItemButton" );
+ EventBroadcaster.getInstance().broadcastEvent("switchToFeedThreadsView", this);
+ eraseExistingSpinners();
+
+ }
+
+};
\ No newline at end of file diff --git a/bPod/com/feeds/ProcessRSS.as b/bPod/com/feeds/ProcessRSS.as new file mode 100644 index 0000000..1c09d8d --- /dev/null +++ b/bPod/com/feeds/ProcessRSS.as @@ -0,0 +1 @@ +import mx.utils.Delegate;
import mx.controls.TextArea;
import com.events.EventBroadcaster;
class com.feeds.ProcessRSS {
//declare public properties:
//the TextArea component which will display the information
public var target_txt:Array;
//the address of the PHP proxy script
public var proxyURL:String;
//declare private properties:
private var _xml:XML;
private var items:Array;
private var senderObj:LoadVars;
private var loaderID:Number;
//constructor
function ProcessRSS (target:Array, proxy:String) {
target_txt = target;
proxyURL = proxy;
_xml = new XML();
_xml.ignoreWhite = true;
_xml.onLoad = Delegate.create(this, onLoadEvent);
}
private function onLoadEvent(success:Boolean):Void {
if (success) {
//terminate any running intervals
clearInterval(loaderID);
// target_txt.text = "<p>Click a headline to open that entry in a new window.</p><br>";
//populate "items" array
items = getNodes(_xml, "item");
displayContent(items);
} else {
// target_txt.text = "<p>XML failed to load.</p>";
}
}
public function loadFeed(feedURL:String):Void {
//initialization:
//terminate any running intervals
clearInterval(loaderID);
//start with an empty array - replace any previous content
items = new Array();
//clear any previous text
// target_txt.text = "";
//reset scroll position of TextArea component
// target_txt.vPosition = 0;
//create LoadVars Object
senderObj = new LoadVars();
//assign a value to a property of the LoadVars Object
senderObj.rss = feedURL;
/*
The LoadVars.sendAndLoad method conveniently accepts an XML Object as
its target. We can send a string (url) to the PHP proxy script and
get an XML document back.
*/
senderObj.sendAndLoad(proxyURL, _xml, "GET");
/*
Use setInterval to monitor load progress every 25 milliseconds. Pass
the XML document whose download progress you wish to monitor as the 4th
argument. Ue of "this" in "this.loaderID" is critical for telling
the loadingFeedback() method in what scope to find the XML object.
Thanks to Colin Moock for the code this is based loosely on.
*/
this.loaderID = setInterval(this, "loadingFeedback", 25, _xml);
}
/*
getNodes(): a recursive method for "walking" the XML tree searching for a
match to a node name. This is based on an ActionScript 1 XML prototype by
Peter Hall. The method returns an array of all XML nodes that match "name".
It is used to populate the "items" array with all nodes in the rss document
named "item". Note that a node of nodeType 3 is a text node (a string). We
don't want to waste time with that now, so the script skips them.
*/
private function getNodes(node:XMLNode, name:String):Array {
var nodes:Array = new Array();
var c:XMLNode = node.firstChild;
while (c) {
if (c.nodeType != 3) {
if (c.nodeName == name) {
nodes.push(c);
}
nodes = nodes.concat(getNodes(c, name));
}
c = c.nextSibling;
}
return nodes;
}
/*
displayContent() is the method responsible for extracting the data I am
interested in (the text content of title, link and description) and
formatting it for the TextArea component.
*/
private function displayContent(source:Array):Void {
var entries:Number = source.length;
var currentNode:XMLNode;
var tempTitle:String;
var tempLink:String;
var tempDescription:String;
for (var i:Number = 0; i<entries; i++){
currentNode = source[i];
tempTitle = extractContent(currentNode, "title");
tempLink = extractContent(currentNode, "link");
tempDescription = extractContent(currentNode, "description");
var oneEntry:String = "<headline><a href='"+
tempLink+"' target='_blank'>"+tempTitle+
"</a></headline><p>"+
tempDescription+"</p><br>";
var tmpObj:Object = new Object();
tmpObj.name = tempTitle;
tmpObj.link = tempLink;
tmpObj.desc = tempDescription;
target_txt.push (tmpObj);
// target_txt.text += oneEntry;
}
EventBroadcaster.getInstance().broadcastEvent("feedListMade", null);
}
/*
extractContent() is a modified version of getNodes(). Like getNodes(),
it searches the source node recursively for a match to "name", but what it
returns when it does find a match is the text content of that node.
*/
private function extractContent (source:XMLNode, name:String):String {
var nodeTxt:String = "";
var c:XMLNode = source.firstChild;
while (c) {
if (c.nodeType != 3) {
if (c.nodeName == name) {
nodeTxt = c.firstChild.nodeValue;
}
nodeTxt += extractContent(c, name);
}
c = c.nextSibling;
}
return nodeTxt;
}
//the progress monitor called by setInterval
private function loadingFeedback(xmlObj:XML):Void {
var amtLoaded:Number = xmlObj.getBytesLoaded();
if (amtLoaded <= 4){
// target_txt.text = "<p>Requesting Data...</p>";
} else {
// target_txt.text = "<p>Loaded: "+ Math.floor(amtLoaded/1024) + " kilobytes</p>";
}
}
}
\ No newline at end of file diff --git a/bPod/com/files/FileButton.as b/bPod/com/files/FileButton.as new file mode 100644 index 0000000..f5adced --- /dev/null +++ b/bPod/com/files/FileButton.as @@ -0,0 +1,89 @@ +
+import com.services.BuckyServices;
+import com.threads.ThreadButton;
+
+class com.files.FileButton extends ThreadButton {
+ private var username_mc:MovieClip;
+ private var backing:MovieClip;
+ private var initialAlpha:Number;
+
+ private function handleRollOut():Void {
+// _root.thumbnail.removeMovieClip();
+ makeBlack();
+ super.handleRollOut();
+ }
+
+ private function handleRollOver():Void {
+ super.handleRollOver();
+ if ( (itemData.filetype == "JPG") ||
+ (itemData.filetype == "GIF") ||
+ (itemData.filetype == "PNG") ) { displayImageThumbnail (BuckyServices.getThumbURL (itemData.filename));
+ makeWhite();
+ }
+ }
+
+ private function displayImageThumbnail(_inURL:String):Void {
+
+ _root.imagesHolder.thumbnail.unloadMovie();
+ _root.imagesHolder.createEmptyMovieClip ("thumbnail", _root.getNextHighestDepth());
+
+ try {
+ _root.imagesHolder.thumbnail.loadMovie (_inURL);
+ }
+
+ catch (_err:Error) {}
+
+ _root.imagesHolder.thumbnail._alpha = 50;
+
+ var j:MovieClip = _root.imagesHolder.thumbnail;
+
+ j._xscale = j._yscale = 200;
+/* j._x = (Stage.width/2 - j._width/2);
+ j._y = (Stage.height/2 - j._height/2);
+*/
+
+// _root.imagesHolder.thumbnail._xscale = _root.imagesHolder.thumbnail._yscale = 250;
+ }
+
+
+
+
+ private function makeWhite():Void {
+ title_mc.title_txt.textColor =0xFFFFFF;
+ }
+
+ private function makeBlack():Void {
+ title_mc.title_txt.textColor =0x000000;
+ }
+
+
+
+ private function makeButton(_val:Object):Void {
+ title_mc.title_txt.text = _val.filename;
+ title_mc.title_txt.autoSize = true;
+
+
+ if (title_mc._height > 28.1) {
+ title_mc.title_txt.autoSize = false;
+ title_mc.title_txt._height = 28.1;
+ }
+
+ initialAlpha = backing._alpha;
+
+ if (_val.filetype == "MP3") {
+ transformTheButtonColor();
+ }
+
+
+ title_mc._y = (_y + _height / 2) - (title_mc._height / 2) ;
+
+ // backing._height = title_mc.title_txt._height;
+
+ this.cacheAsBitmap = true;
+ super.setPosition();
+ }
+
+ private function transformTheButtonColor():Void {
+ }
+
+};
\ No newline at end of file diff --git a/bPod/com/files/FileScroller.as b/bPod/com/files/FileScroller.as new file mode 100644 index 0000000..991cf9c --- /dev/null +++ b/bPod/com/files/FileScroller.as @@ -0,0 +1,15 @@ +import com.oop.ScrollingMenuFrame;
+
+class com.files.FileScroller extends ScrollingMenuFrame
+{
+ var intRate:Number = 20; // scroller speed
+
+ public function doLoad(_dataArray:Array):Void {
+ holder_mc.attachMovie("FileSelectionSystem", "files", 1000);
+ holder_mc["files"].doInit(_dataArray, "FileButton");
+
+// holder_mc._x = 0; // use as needed! this puts the vert scroller back in view
+ holder_mc._y = 0; // when a keyword tile is clicked.
+ }
+
+};
\ No newline at end of file diff --git a/bPod/com/files/FileSelectionSystem.as b/bPod/com/files/FileSelectionSystem.as new file mode 100644 index 0000000..d93ea58 --- /dev/null +++ b/bPod/com/files/FileSelectionSystem.as @@ -0,0 +1,19 @@ +import com.threads.ThreadSelectionSystem;
+import com.services.BuckyServices;
+
+class com.files.FileSelectionSystem extends ThreadSelectionSystem {
+
+ private var itemsPerRow:Number = 1;
+ private var vertSpace:Number = 1;
+
+ public function doAction():Void {
+
+ var theItem:Object = systemData[getCurrentSelection()];
+ var fileURL:String = BuckyServices.singleFilePath + theItem.filename;
+
+ _root.debug.text = theItem.theURL;
+
+ if (theItem.filetype == "MP3") { _root.player.init ( theItem ); }
+ else { getURL (theItem.theURL, "_blank"); }
+ }
+};
\ No newline at end of file diff --git a/bPod/com/graphics/BuckyGradientBox.as b/bPod/com/graphics/BuckyGradientBox.as new file mode 100644 index 0000000..ffae2de --- /dev/null +++ b/bPod/com/graphics/BuckyGradientBox.as @@ -0,0 +1,43 @@ +// +// Gradient Box!!!!!!! +// +// Created by Brian Ortiz on 2007-09-08. +// Copyright (c) 2007 BONER FACTORY LTD. All rights reserved. +// + +import flash.geom.Matrix; + +class com.graphics.BuckyGradientBox extends MovieClip + { + private var _bar:MovieClip; + private var matrix:Matrix; + private var lineWidth:Number = 2; + + public function BuckyGradientBox() + { + } + + public function initColors(inColorOne:Number, inColorTwo:Number, inColorThree:Number, inW:Number, inH:Number) + { + + if (inColorOne == undefined) + inColorOne = 0xFFFFFF; + if (inColorTwo == undefined) + inColorTwo = 0xDDDDDD; + if (inColorThree == undefined) + inColorThree = 0x000000; + + matrix = new Matrix(); + matrix.createGradientBox(inW, inH, 0, 0, 0); + + beginGradientFill("radial", [inColorOne, inColorTwo], [100, 100], [0, 0xFF], matrix); + lineStyle(lineWidth, inColorThree, 100, true, "none", "none", "miter", 1); + + moveTo(0, 0); + lineTo(inW, 0); + lineTo(inW, inH); + lineTo(0, inH); + lineTo(0, 0); + endFill(); + } + };
\ No newline at end of file diff --git a/bPod/com/keywords/KeywordButton.as b/bPod/com/keywords/KeywordButton.as new file mode 100644 index 0000000..aec9648 --- /dev/null +++ b/bPod/com/keywords/KeywordButton.as @@ -0,0 +1,95 @@ +import com.oop.UIButton;
+import com.oop.SelectionSystem;
+import mx.utils.Delegate;
+
+import mx.transitions.easing.*;
+import mx.transitions.Tween;
+
+class com.keywords.KeywordButton extends UIButton
+{
+ private var title_mc:MovieClip;
+ private var desc_mc:MovieClip;
+ private var icon_mc:MovieClip;
+ private var bg_mc:MovieClip;
+ private var gridObj:Object;
+ private var shine_mc:MovieClip;
+ private var element_mc:MovieClip;
+ private var initialAlpha:Number = 60;
+ private var initialShine:Number = 30;
+ private var tint:Number;
+
+ public var elementSymbol:String;
+
+ private var installedX:Number = 0;
+ private var installedY:Number = 0;
+
+ public function KeywordButton() {}
+
+ public function init(_selectionSystem:SelectionSystem, _id:Number, _itemData:Object, _gridObj:Object ):Void {
+ gridObj = _gridObj;
+ super.init (_selectionSystem, _id, _itemData);
+ makeButton(itemData);
+ }
+
+ public function hashColor (_inStr:String):Number {
+ switch (_inStr) {
+ case "ivory": return (0xE0E0D8);
+ case "orange": return (0xFFD799);
+ case "yellow": return (0xFFF7A8);
+ case "green": return (0xDAF4B2);
+ case "blue": return (0xCCCCFF);
+ case "purple": return (0xDDB1FF);
+ case "pink": return (0xFFAECD);
+ case "plain": return (0xE6f0f0);
+ default: return (0xFFFFFF);
+ }
+ }
+
+
+ private function makeButton(_val:Object):Void {
+ icon_mc._alpha = initialAlpha;
+ shine_mc._alpha = initialShine;
+ title_mc.title_txt.text = _val.name.toLowerCase();
+
+ var c:String = _val.name.charAt(0); // b
+ var cc:String = _val.name.charAt(1); // u
+ var u:String = c.toUpperCase(); // B (if b)
+ var uu:String = cc.toLowerCase(); // u (if U)
+ var tmp:String = u.concat (uu); // Bu
+
+ element_mc.element_txt.text = tmp;
+
+ elementSymbol = tmp;
+
+
+ var tmpColor:Number = hashColor ( _val.color.toString() );
+ element_mc.element_txt.textColor = tmpColor; // &= 0x7F7F7F;
+ setPosition();
+ }
+
+ private function setPosition():Void {
+ _x = Math.round ( (gridObj.grid_x * _width) + (gridObj.horizSpace * gridObj.grid_x));
+ _y = Math.round ( ((gridObj.grid_y-1) * _height) + (gridObj.vertSpace * (gridObj.grid_y-1)));
+
+ installedX = _x;
+ installedY = _y;
+ }
+
+ private function handleRollOver():Void {
+ var tTween = new Tween(icon_mc, "_alpha", Regular.easeOut, icon_mc._alpha, 100, 1, true);
+ var shineTween = new Tween(shine_mc, "_alpha", Regular.easeOut, shine_mc._alpha, 0, .2, true);
+ }
+
+ private function handleRollOut():Void
+ {
+ if(visited) { var fadeVal:Number = initialAlpha; }
+ else { var fadeVal:Number = initialAlpha; }
+
+ var tTween = new Tween (icon_mc, "_alpha", Regular.easeOut, icon_mc._alpha, initialAlpha, 1, true);
+ var shineTween = new Tween (shine_mc, "_alpha", Regular.easeOut, shine_mc._alpha, initialShine, .2, true);
+ }
+
+ public function setSelected():Void
+ {
+ }
+}
\ No newline at end of file diff --git a/bPod/com/keywords/KeywordScroller.as b/bPod/com/keywords/KeywordScroller.as new file mode 100644 index 0000000..5bcda46 --- /dev/null +++ b/bPod/com/keywords/KeywordScroller.as @@ -0,0 +1,67 @@ +import com.oop.ScrollingMenuFrame; + +class com.keywords.KeywordScroller extends ScrollingMenuFrame +{ + var intRate:Number = 14; // scroller speed + var adornments:Number = 0 ; + + var tagArray:Array; + + public function doLoad(_dataArray:Array):Void { + holder_mc.attachMovie("KeywordSelectionSystem", "keywordTiles", 1000); + holder_mc["keywordTiles"].doInit(_dataArray, "KeywordButton"); + } + + public function insertAdornment():Void { + adornments++; + var adorn:MovieClip = holder_mc["keywordTiles"].attachMovie ("adornment", "adornment" + adornments , this.getNextHighestDepth()-adornments ); + _root.debug.text += "\nadorn: " + adorn; + adorn._y = _height; + } + + public function insertFeeds():Void { + holder_mc.attachMovie ("FeedSelectionSystem", "feeds", 2000); + holder_mc["feeds"]._y = _height; + holder_mc["feeds"].doInit ( buckyFeeds() , "KeywordButton"); + } + + public function insertTags(_inArray:Array):Void { + holder_mc.attachMovie ("KeywordSelectionSystem", "tags", 3000); + holder_mc["tags"]._y = _height; + holder_mc["tags"].doInit ( _inArray , "TagButton"); + } + + public function buckyFeeds():Array { + +// return []; + var feeds:Array = [ + {name:"bboing", color:"yellow", feed:"http://feeds.feedburner.com/boingboing/iBag" }, + {name:"drawn", color:"plain", feed:"http://drawn.ca/feed/" }, + {name:"daily rotn", color:"orange", feed:"http://feeds.dailyrotten.com/dailyrotten.rss" }, + + {name:"slashdot", color:"green", feed:"http://rss.slashdot.org/Slashdot/slashdot" }, + {name:"trailers", color:"blue", feed:"http://images.apple.com/trailers/rss/newtrailers.rss" }, + {name:"info", color:"yellow", feed:"http://feeds.infosthetics.com/infosthetics" }, + + {name:"reddit", color:"orange", feed:"http://reddit.com/.rss" }, + {name:"jerkcity", color:"yellow", feed:"http://www.jerkcity.com/jc.rss" }, + {name:"d.lic.us", color:"purple", feed:"http://del.icio.us/rss/" }, + + {name:"w4m", color:"pink", feed:"http://sfbay.craigslist.org/search/w4m?query=&minAsk=min&maxAsk=max&hasPic=1&format=rss" }, + {name:"m4m", color:"pink", feed:"http://sfbay.craigslist.org/search/m4m?query=&minAsk=min&maxAsk=max&hasPic=1&format=rss" }, + {name:"casual", color:"pink", feed:"http://sfbay.craigslist.org/search/cas?query=&minAsk=min&maxAsk=max&hasPic=1&format=rss" }, + + {name:"art farts", color:"ivory", feed:"http://www.asciiartfarts.com/farts.rss" } + + + + ]; + + + return (feeds); + + } + + + +};
\ No newline at end of file diff --git a/bPod/com/keywords/KeywordSelectionSystem.as b/bPod/com/keywords/KeywordSelectionSystem.as new file mode 100644 index 0000000..45183f4 --- /dev/null +++ b/bPod/com/keywords/KeywordSelectionSystem.as @@ -0,0 +1,85 @@ +import com.tubes.BuckyThreadTube; +import com.events.EventBroadcaster; +import com.oop.GridSelectionSystem; +import com.services.BuckyServices; + +class com.keywords.KeywordSelectionSystem extends GridSelectionSystem { + + private var tube:BuckyThreadTube; + private var cockblocker:Boolean = false; // to discourage crazy button clickage + private var lastClicked:Number; // failsafe for crazy button clickage + + private function doAction():Void { + if (!cockblocker) { + eraseExistingSpinners(); + lastClicked = currentSelection; + BuckyServices.setActiveKeyword ( selectedData() ); + EventBroadcaster.getInstance().addEventListener("threadListMade", this); + var tag_preamble:String; + if (selectedData().isTag) { + tag_preamble = "tag_"; + } else { + tag_preamble = ""; + } + tube = new BuckyThreadTube ( BuckyServices.threads + tag_preamble + selectedData().name); + startButtonSpinner(); + cockblocker = true; + } + } + + private function eraseExistingSpinners():Void { + for (var i:Number = 0 ; i < listItems.length ; i++) { + var t:MovieClip = listItems[i]; + t.element_mc._visible = true; + t.element_mc.element_txt.text = t.elementSymbol; + t["spinnerHolder"].removeMovieClip(); // kill if exists .. fail silently if not + } + EventBroadcaster.getInstance().removeEventListener("threadListMade", this); + } + + private function startButtonSpinner():Void { + var t:MovieClip = listItems[currentSelection]; + t.element_mc._visible = false; + t.createEmptyMovieClip ("spinnerHolder", t.getNextHighestDepth()); + t["spinnerHolder"].attachMovie ("Spinner", "spinner" , 100, {_x:40, _y:29, _width:27, _height:27}); + } + + + private function threadListMade (_evt:Object):Void { + eraseExistingSpinners(); + + if ((tube.articles.length != undefined) && (tube.articles.length != 0)) { + BuckyServices.threadsMC.doLoad( tube.articles, "ThreadButton" ); + EventBroadcaster.getInstance().broadcastEvent("switchToThreadsView", this); + BuckyServices.setActiveKeyword ( selectedData() ); + setCurrentSelection ( currentSelection ); + cockblocker = false; + } + + else if (tube.articles.length == 0) { + drawFrownyFace(); + cockblocker = false; + } + + else { trace ("sigh, some other weird scenario"); } + } + + + private function drawFrownyFace():Void { + listItems[lastClicked].element_mc.element_txt.text = listItems[lastClicked].elementSymbol = ":("; + } + + public function setSelection(_id:Number):Void { + + // overriding existing selection system's setSelection so tiles that get + // clicked do not killMouseEvents() -- the same tile can be clicked over and over. + + listItems[currentSelection].setUnselected(); + currentSelection = _id; + listItems[currentSelection].setSelected(); + doAction(); + } + + +}; + diff --git a/bPod/com/oop/GridSelectionSystem.as b/bPod/com/oop/GridSelectionSystem.as new file mode 100644 index 0000000..c9694ca --- /dev/null +++ b/bPod/com/oop/GridSelectionSystem.as @@ -0,0 +1,49 @@ +import com.oop.SelectionSystem;
+
+class com.oop.GridSelectionSystem extends SelectionSystem
+{
+ private var itemsPerRow:Number = 3;
+ private var currentRow:Number = 0;
+ private var currentColumn:Number = 0;
+
+ //space between rows and columns
+ private var horizSpace:Number = -6; //60;
+ private var vertSpace:Number = 0; //50;
+
+ public function GridSelectionSystem() {}
+
+ private function attachButtonItems():Void {
+ //get placement object according to counts
+ for (var i:Number = 0; i < systemData.length; i++) {
+ updateGrid(i);
+ var item:MovieClip = this.attachMovie(exportName, "Item_" + i, i );
+ item.init(this, i, systemData[i], getItemPositionObj());
+ listItems.push(item);
+ }
+ }
+
+
+
+ private function updateGrid(_index:Number) {
+ if(!(_index % itemsPerRow)) { currentColumn = 0; currentRow++; }
+ else { currentColumn++; }
+ }
+
+
+ private function getItemPositionObj():Object {
+ var obj:Object = new Object();
+ obj.horizSpace = horizSpace;
+ obj.vertSpace = vertSpace;
+ obj.grid_x = currentColumn;
+ obj.grid_y = currentRow;
+ return obj;
+ }
+
+
+
+ private function selectedData():MovieClip {
+ return systemData[ getCurrentSelection() ];
+ }
+
+
+}
\ No newline at end of file diff --git a/bPod/com/oop/ScrollingMenuFrame.as b/bPod/com/oop/ScrollingMenuFrame.as new file mode 100644 index 0000000..5c91751 --- /dev/null +++ b/bPod/com/oop/ScrollingMenuFrame.as @@ -0,0 +1,148 @@ +
+class com.oop.ScrollingMenuFrame extends MovieClip
+{
+ private var hotSpot_mc:MovieClip; // used to detect mouse events
+ private var holder_mc:MovieClip; // holder for the flat-list SelectionSystem
+ private var hotSpotMask:MovieClip; // bluh .. also used i guess
+
+ private var initY:Number;
+ private var initX:Number;
+
+ private var initHolderX:Number;
+ private var initHolderY:Number;
+
+ var intRate:Number = 10; // scroller speed
+
+
+ public function ScrollingMenuFrame() {
+ doInit();
+ }
+
+
+/* public function doLoad(_dataArray:Array):Void {
+ holder_mc.attachMovie("KeywordSelectionSystem", "keywordTiles", 1000);
+ holder_mc["keywordTiles"].doInit(_dataArray, "KeywordButton");
+ }
+*/
+ public function enableMenu():Void {
+ initMenuScroll();
+ initMouseWatch();
+ setHotSpot(true);
+ }
+
+
+ public function disableMenu():Void {
+ killMouseWatch();
+ killMenuScroll();
+ setHotSpot(false);
+ }
+
+
+ private function doInit():Void {
+
+ initY = _x;
+ initX = _y;
+
+ initHolderX = holder_mc._x;
+ initHolderY = holder_mc._y;
+
+ initMenuScroll();
+
+ holder_mc.onMouseDown = function() {
+ if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
+// _parent.disableMenu();
+ }
+ }
+ }
+
+
+ private function setHotSpot(_isMenuEnabled:Boolean):Void {
+ if (_isMenuEnabled) {
+ hotSpot_mc.onRollOver = undefined;
+ } else {
+ hotSpot_mc.onRollOver = function() {
+ this._parent.enableMenu();
+ }
+ }
+ }
+
+
+
+ private function initMouseWatch():Void {
+ this.onMouseMove = function() {
+ if (!this.hitTest(_root._xmouse, _root._ymouse, true)) {
+ disableMenu();
+ }
+ }
+ }
+
+
+ private function killMouseWatch():Void {
+ this.onMouseMove = undefined;
+ }
+
+
+ private function initMenuScroll():Void {
+ this.onEnterFrame = function() {
+ if ((holder_mc._height >= hotSpotMask._height) || (holder_mc._width >= hotSpotMask._width)) {
+ doMenuScroll();
+ }
+ }
+ }
+
+
+ private function killMenuScroll():Void {
+ this.onEnterFrame = undefined;
+ }
+
+
+ private function doMenuScroll():Void {
+ var intTop:Number = initHolderY;
+ var intLeft:Number = initHolderX;
+ var intBottom:Number = intTop + hotSpotMask._height;
+ var intRight:Number = intLeft + hotSpotMask._width;
+
+
+ var intZero:Number = (intBottom + intTop) / 2;
+ var intZeroW:Number = (intRight + intLeft) / 2;
+
+ var intMousePos:Number = _ymouse - intZero;
+ var intMousePosW:Number = _xmouse - intZeroW;
+
+ var intMaxUp:Number = intTop - intZero;
+ var intMaxLeft:Number = intLeft - intZeroW;
+ var intMaxDown:Number = intBottom - intZero;
+ var intMaxRight:Number = intRight - intZeroW;
+
+ var _isHit:Boolean = this.hitTest(_root._xmouse, _root._ymouse, true);
+
+ if (_isHit) {
+
+ if (holder_mc._height > hotSpotMask._height ) {
+
+ // top & bottom bounds check
+
+ if (intMousePos > 0) { // below intZero? scroll up
+ holder_mc._y = Math.max(holder_mc._y - intRate * Math.pow((intMousePos/intMaxDown),2), intBottom - holder_mc._height) ;
+ }
+ else if (intMousePos < 0) { // above intZero? scroll down
+ holder_mc._y = Math.min(holder_mc._y + intRate * Math.pow((intMousePos/intMaxUp),2), intTop );
+ }
+
+
+ // left & right bounds check
+
+/* if (intMousePosW > 0) { // right of intZero? scroll left
+ holder_mc._x = Math.max(holder_mc._x - intRate * Math.pow((intMousePosW/intMaxRight),2), intRight - holder_mc._width);
+ }
+ else if (intMousePosW < 0) { // left of intZero? scroll right
+ holder_mc._x = Math.min(holder_mc._x + intRate * Math.pow((intMousePosW/intMaxLeft),2), intLeft);
+ }
+*/
+
+ }
+
+ }
+
+ }
+}
diff --git a/bPod/com/oop/SelectionSwitcher.as b/bPod/com/oop/SelectionSwitcher.as new file mode 100644 index 0000000..f5685ea --- /dev/null +++ b/bPod/com/oop/SelectionSwitcher.as @@ -0,0 +1,194 @@ +import mx.utils.Delegate;
+import com.services.BuckyServices;
+import com.events.EventBroadcaster;
+import mx.transitions.easing.Regular;
+import mx.transitions.Tween;
+
+class com.oop.SelectionSwitcher extends MovieClip
+{
+ private static var slideAround:Boolean = true; // turn off while debugging only
+
+ private var selectionsMC:MovieClip; // all scrolling selection systems
+ private var initX:Number; // where they start
+ private var initY:Number;
+
+ private var bb:MovieClip; // back button
+
+ private var bbX:Number; // starting positions of nav buttons;
+ private var thX:Number;
+ private var kwX:Number;
+
+ private var initAlpha:Number = 70;
+
+ private var openKeywordsBtn:MovieClip; // open keywords button
+ private var openThreadBtn:MovieClip; // open threads button
+
+ private var currentView:String; // might as well be a string
+ private var agreedAlpha:Number = 75;
+ private var slideAmountX:Number = 210;
+ private var slideAmountY:Number = 210;
+ private var slideSpeed:Number = .4
+ private var activeThread:String; // to open a new browser window instead of
+ // switching to keyword/thread/file view.
+
+ public function SelectionSwitcher() {
+ establishStartingPoints();
+ EventBroadcaster.getInstance().addEventListener("switchToKeywordsView", this);
+ EventBroadcaster.getInstance().addEventListener("switchToThreadsView", this);
+ EventBroadcaster.getInstance().addEventListener("switchToFilesView", this);
+
+ EventBroadcaster.getInstance().addEventListener("switchToFeedThreadsView", this);
+
+
+ bb.onRelease = Delegate.create (this, handleBackButton);
+ openKeywordsBtn.onRelease = Delegate.create (this, handleOpenKeywordsBtn);
+ openThreadBtn.onRelease = Delegate.create (this, handleOpenThreadBtn);
+ }
+
+ private function handleBackButton():Void {
+ switch (currentView) {
+ case "threads" : switchToKeywordsView(); break;
+ case "files" : switchToThreadsView(); break;
+ case "feeds" : switchToFeedsView(); break;
+ default : break;
+ }
+ }
+
+ private function establishStartingPoints():Void {
+ initX = selectionsMC._x;
+ initY = selectionsMC._y;
+ bbX= bb._x;
+ thX= openThreadBtn._x;
+ kwX= openKeywordsBtn._x;
+ currentView = "keywords";
+ hideBackButton();
+ hideOpenThreadBtn();
+ hideOpenKeywordsBtn();
+
+ bb._alpha = openKeywordsBtn._alpha = openThreadBtn._alpha = initAlpha;
+ }
+
+ private function swapPlaces(_inA:MovieClip, _inB:MovieClip):Void {
+
+ var oldX:Number = _inA._x;
+ var oldY:Number = _inA._y;
+
+ _inA._x = _inB._x;
+ _inA._y = _inB._y;
+
+ _inB._x = oldX;
+ _inB._y = oldY;
+ }
+
+ private function handleOpenKeywordsBtn():Void {
+ switchToKeywordsView();
+ }
+
+ public function handleOpenThreadBtn():Void {
+ getURL ( BuckyServices.activeThreadPath , "_blank");
+ }
+
+ public function switchToKeywordsView(_evt:Object):Void {
+ removeAnyThumbnails();
+ hideBackButton();
+ hideOpenKeywordsBtn();
+ hideOpenThreadBtn();
+ _root.thumbnail.removeMovieClip();
+
+ // swapPlaces ( BuckyServices.threadsMC , BuckyServices.feedThreadsMC );
+
+ if (slideAround) {
+ var sTween = new Tween(selectionsMC, "_x", Regular.easeOut, selectionsMC._x, initX, slideSpeed, true);
+ }
+ currentView = "keywords";
+ }
+
+
+ public function switchToFeedsView(_evt:Object):Void {
+ removeAnyThumbnails();
+ hideBackButton();
+ hideOpenKeywordsBtn();
+ hideOpenThreadBtn();
+ _root.thumbnail.removeMovieClip();
+
+// swapPlaces ( BuckyServices.threadsMC , BuckyServices.feedThreadsMC );
+
+ if (slideAround) {
+ var xTween = new Tween(selectionsMC, "_x", Regular.easeOut, selectionsMC._x, initX, slideSpeed, true);
+ var yTween = new Tween(selectionsMC, "_y", Regular.easeOut, selectionsMC._y, initY, slideSpeed, true);
+ }
+ currentView = "feeds";
+ }
+
+
+
+
+ public function switchToThreadsView(_evt:Object):Void {
+ removeAnyThumbnails();
+ hideOpenKeywordsBtn();
+ hideOpenThreadBtn();
+ _root.thumbnail.removeMovieClip();
+
+ if (slideAround) {
+ var sTween = new Tween(selectionsMC, "_x", Regular.easeOut, selectionsMC._x, -slideAmountX, slideSpeed, true);
+ sTween.onMotionFinished = Delegate.create (this, showBackButton);
+ }
+ currentView = "threads";
+ }
+
+
+
+ public function switchToFeedThreadsView(_evt:Object):Void {
+ removeAnyThumbnails();
+ hideOpenKeywordsBtn();
+ hideOpenThreadBtn();
+ _root.thumbnail.removeMovieClip();
+
+ if (slideAround) {
+ var sTween = new Tween(selectionsMC, "_y", Regular.easeOut, selectionsMC._y, -slideAmountY, slideSpeed, true);
+ var sTween = new Tween(selectionsMC, "_x", Regular.easeOut, selectionsMC._x, -slideAmountX, slideSpeed, true);
+ sTween.onMotionFinished = Delegate.create (this, showBackButton);
+ }
+ currentView = "feeds";
+ }
+
+
+
+
+
+
+
+ public function switchToFilesView(_evt:Object):Void {
+// removeAnyThumbnails();
+ showOpenKeywordsBtn();
+ showOpenThreadBtn();
+
+ if (slideAround) {
+ var sTween = new Tween(selectionsMC, "_x", Regular.easeOut, selectionsMC._x, -slideAmountX*2, slideSpeed, true);
+ sTween.onMotionFinished = Delegate.create (this, showBackButton);
+ }
+ currentView = "files";
+ }
+
+
+
+
+
+
+
+ public function removeAnyThumbnails():Void {
+ _root.imagesHolder.thumbnail.unloadMovie();
+ }
+
+
+ private function showBackButton():Void { bb._x = bbX; }
+ private function showOpenKeywordsBtn():Void { openKeywordsBtn._x = kwX; }
+ private function showOpenThreadBtn():Void { openThreadBtn._x = thX; }
+
+ private function hideBackButton():Void { bb._x = -5000; }
+ private function hideOpenKeywordsBtn():Void { openKeywordsBtn._x = -5000; }
+ private function hideOpenThreadBtn():Void { openThreadBtn._x = -5000; }
+
+
+
+}
diff --git a/bPod/com/oop/SelectionSystem.as b/bPod/com/oop/SelectionSystem.as new file mode 100644 index 0000000..2c89bf0 --- /dev/null +++ b/bPod/com/oop/SelectionSystem.as @@ -0,0 +1,89 @@ +/*
+ Manages a set of UI Buttons and controls selection state
+*/
+
+class com.oop.SelectionSystem extends MovieClip
+{
+
+//----------------------------------------------------------------------------------
+
+
+
+ // Data array passed in at instantiation
+ private var systemData:Array;
+
+ // Linkage name of button clip
+ private var exportName:String;
+
+ // Store our current state as a number
+ private var currentSelection:Number;
+
+ // Store references to our items
+ private var listItems:Array;
+
+
+
+
+
+//----------------------------------------------------------------------------------
+
+ public function SelectionSystem()
+ {
+
+ }
+
+//----------------------------------------------------------------------------------
+
+ public function doInit(_systemData:Array, _exportName:String):Void
+ {
+ systemData = _systemData;
+ exportName = _exportName;
+ listItems = new Array();
+ attachButtonItems();
+
+ }
+
+
+
+ public function setSelection(_id:Number):Void
+ {
+ if(currentSelection!=_id)
+ {
+ listItems[currentSelection].setUnselected();
+ currentSelection = _id;
+ listItems[currentSelection].setSelected();
+ doAction();
+ }
+ }
+
+ private function attachButtonItems():Void {
+ //override
+ }
+
+
+ private function doAction():Void
+ {
+ //override
+ }
+
+
+ // Getter/setters
+
+ public function getSystemData():Array
+ {
+ return systemData;
+ }
+
+ public function getCurrentSelection():Number
+ {
+ return currentSelection;
+ }
+
+ public function setCurrentSelection(_val:Number):Void
+ {
+ currentSelection = _val;
+ }
+
+
+
+}
\ No newline at end of file diff --git a/bPod/com/oop/UIButton.as b/bPod/com/oop/UIButton.as new file mode 100644 index 0000000..035c16c --- /dev/null +++ b/bPod/com/oop/UIButton.as @@ -0,0 +1,171 @@ +
+
+import com.oop.SelectionSystem;
+
+class com.oop.UIButton extends MovieClip
+{
+
+//--------------------------------------------------------------------------------------------
+
+ // Stores a reference to a SelectionSystem instance
+ private var selectionSystem:Object;
+
+ // Numeric id passed in by SelectionSystem when attached
+ private var id:Number;
+
+
+
+
+ // Keeps track of the selection status of this clip
+ private var selected:Boolean;
+
+ // Holds any custom visual information (such as title)
+ private var itemData:Object;
+
+ // stores the history of this item
+ private var visited:Boolean;
+
+
+
+
+//--------------------------------------------------------------------------------------------
+// constructor
+//--------------------------------------------------------------------------------------------
+
+ public function UIButton()
+ {
+ }
+
+//--------------------------------------------------------------------------------------------
+
+ /*
+ Set up our reference, ID, and item data
+ then take care of the clip's ui
+ */
+ public function init(_selectionSystem:SelectionSystem, _id:Number, _itemData:Object ):Void
+ {
+ selectionSystem = _selectionSystem;
+ itemData = _itemData;
+ id = _id;
+ _focusrect = false;
+ initMouseEvents();
+ }
+
+//--------------------------------------------------------------------------------------------
+
+ /*
+ Select this clip. It will stay visually selected
+ because the mouse is rolled over it
+ */
+ private function setSelected():Void
+ {
+ selected = visited = true;
+ killMouseEvents();
+ }
+
+//--------------------------------------------------------------------------------------------
+
+ /*
+ Unselect this clip
+ */
+ private function setUnselected():Void
+ {
+ selected = false;
+ initMouseEvents();
+ }
+
+//--------------------------------------------------------------------------------------------
+
+ private function setTitle(_val:Object):Void
+ {
+ // override
+ }
+
+//--------------------------------------------------------------------------------------------
+
+ private function setPosition():Void
+ {
+ //override
+ }
+
+//--------------------------------------------------------------------------------------------
+
+ /*
+ Tell selectionSystem about the click and pass this clips ID with it
+ */
+ private function handleRelease():Void
+ {
+ selectionSystem.setSelection(id);
+ }
+
+//--------------------------------------------------------------------------------------------
+
+ private function handlePress():Void
+ {
+ //override
+ }
+
+//--------------------------------------------------------------------------------------------
+
+ private function handleRollOver():Void
+ {
+ //override
+ }
+
+//--------------------------------------------------------------------------------------------
+
+ private function handleRollOut():Void
+ {
+ //override
+ }
+
+//--------------------------------------------------------------------------------------------
+
+ /*
+ Capture all of our mouse events and pass them
+ to the internal hander methods
+ */
+ private function initMouseEvents() : Void
+ {
+ useHandCursor = false;
+ onRollOver = handleRollOver;
+ onRollOut = handleRollOut;
+ onReleaseOutside = handleRollOut;
+ onPress = handlePress;
+ onRelease = handleRelease;
+ }
+
+//--------------------------------------------------------------------------------------------
+
+ /*
+ Remove all mouse events while the clip is selected
+ */
+ private function killMouseEvents():Void
+ {
+ useHandCursor = false;
+ delete onRollOver;
+ delete onRollOut;
+ delete onReleaseOutside;
+ delete this.onPress;
+ delete this.onRelease;
+ }
+
+//--------------------------------------------------------------------------------------------
+// Getter/Setters
+//--------------------------------------------------------------------------------------------
+
+ public function getId():Number
+ {
+ return id;
+ }
+
+//--------------------------------------------------------------------------------------------
+
+ public function setId(_val:Number):Void
+ {
+ id = _val;
+ }
+
+//--------------------------------------------------------------------------------------------
+
+}
diff --git a/bPod/com/player/Player.as b/bPod/com/player/Player.as new file mode 100644 index 0000000..81acd3b --- /dev/null +++ b/bPod/com/player/Player.as @@ -0,0 +1,131 @@ +
+import mx.utils.Delegate;
+import com.services.BuckyServices;
+
+import mx.transitions.easing.*;
+import mx.transitions.Tween;
+
+
+class com.player.Player extends MovieClip
+{
+ var songList:Array;
+ public static var s:Sound;
+
+ var currentSongTitle:String;
+ var currentSongInfo:String;
+
+ var backing:MovieClip;
+ var collapseBtn:MovieClip;
+ var infoBtn:MovieClip;
+ var playPauseBtn:MovieClip;
+
+
+ var collapsed:Boolean;
+ var dragging:Boolean;
+ var initted:Boolean;
+ var infoState:Boolean;
+ var isPlaying:Boolean;
+
+ var title_txt:TextField;
+
+ var initBacking:Number;
+ var oldX:Number;
+ var oldY:Number;
+
+ public function Player() {
+ initted = dragging = collapsed = infoState = useHandCursor = _focusrect = isPlaying = false;
+ }
+
+
+ public function init(_inObject:Object):Void {
+
+ if (!initted) {
+ var t:Tween = new Tween(this, "_y", Elastic.easeOut, _y, 120, 1, true);
+ initted = true;
+ }
+
+ infoBtn.gotoAndStop ("info");
+ infoBtn._rotation = 0;
+ infoState = false;
+ collapseBtn.gotoAndStop ("collapse");
+ playPauseBtn.gotoAndStop ("pauseIcon");
+
+ isPlaying = true;
+
+ currentSongTitle = _inObject.filename;
+ title_txt.text = currentSongTitle;
+ songList.push (_inObject.theURL);
+ initBacking = backing._alpha;
+
+ currentSongInfo = BuckyServices.activeKeyword + " > " + BuckyServices.activeThread;
+
+
+ stopAllSounds();
+
+
+ s = new Sound(_root);
+ s.loadSound ( _inObject.theURL , true );
+ s.start();
+ }
+
+
+
+
+ private function doCollapse():Void {
+ if (!collapsed) {
+ oldX = _x; oldY = _y;
+ var vFunc:Function = function () {
+ var xTween = new Tween(this, "_x", Regular.easeOut, _x, 11, .2, true);
+ var yTween = new Tween(this, "_y", Regular.easeOut, _y, 9, .2, true);
+ collapsed = true;
+ }
+ var bTween = new Tween (collapseBtn, "_rotation", Regular.easeOut, collapseBtn._rotation, 90, .4, true);
+ var rTween = new Tween (this, "_rotation", Regular.easeOut, _rotation, -90, .4, true);
+ rTween.onMotionFinished = Delegate.create (this, vFunc);
+ } else {
+ var xTween = new Tween(this, "_x", Regular.easeOut, _x, oldX, .4, true);
+ var bTween = new Tween (collapseBtn, "_rotation", Elastic.easeOut, collapseBtn._rotation, 0, .8, true);
+ var yTween = new Tween(this, "_y", Regular.easeOut, _y, oldY, .4, true);
+ rTween = new Tween (this, "_rotation", Regular.easeOut, _rotation, 0, .4, true);
+ collapsed = false;
+ }
+ }
+
+ private function doInfoBtn():Void {
+ var r:Number = infoState == true ? 0 : 180;
+ title_txt.text = infoState == true ? currentSongTitle : currentSongInfo;
+ new Tween(infoBtn, "_rotation", Regular.easeOut, infoBtn._rotation, r, .4, true);
+ infoState = !infoState;
+ }
+
+
+ private function doPlayPause():Void {
+ if (isPlaying) { s.stop(); isPlaying = false; playPauseBtn.gotoAndStop ("playIcon"); }
+ else { s.start(); isPlaying = true; playPauseBtn.gotoAndStop ("pauseIcon"); }
+ }
+
+
+ private function onPress():Void {
+ if (collapseBtn.hitTest (_root._xmouse, _root._ymouse)) {
+ doCollapse();
+ }
+ else if (infoBtn.hitTest (_root._xmouse, _root._ymouse))
+ {
+ doInfoBtn();
+ }
+ else if (playPauseBtn.hitTest (_root._xmouse, _root._ymouse))
+ {
+ doPlayPause();
+ }
+ else {
+ var aTween:Tween = new Tween(this, "_alpha", Regular.easeOut, _alpha, 20, .4, true);
+ startDrag(this);
+ }
+ }
+
+ private function onRelease():Void {
+ stopDrag();
+ var aTween:Tween = new Tween(this, "_alpha", Regular.easeOut, _alpha, 100, .4, true);
+ }
+
+}
\ No newline at end of file diff --git a/bPod/com/player/Visuals.as b/bPod/com/player/Visuals.as new file mode 100644 index 0000000..2a4ac7b --- /dev/null +++ b/bPod/com/player/Visuals.as @@ -0,0 +1,85 @@ + + +class com.player.Visuals extends MovieClip { + +// private var theRoot:MovieClip; + private var numParticles:Number = 10; + private var minDist:Number = 50; + private var springAmount:Number = .001; + + private var vbounds:MovieClip; + + public function Visuals() {} + + public function init():Void + { + setMask (vbounds); + + for(var i:Number=0; i< numParticles;i++) { + var particle:MovieClip = this.attachMovie("particle", "p" + i, i); + particle._x = Math.random() * vbounds._width; + particle._y = Math.random() * vbounds._height; + particle.vx = Math.random() * 6 - 3; + particle.vy = Math.random() * 6 - 3; + particle._xscale = particle._yscale = 10 + Math.random() * 100; + particle.mass = particle._xscale / 100; + } + +// onEnterFrame = initAnimation; + + + } + + private function onEnterFrame():Void + { + for(var i:Number = 0;i<numParticles;i++) + { + var particle:MovieClip = this["p" + i]; + particle._x += particle.vx; + particle._y += particle.vy; + if(particle._x > vbounds._width) { + particle._x = vbounds._x; + } + else if(particle._x < -10) { + particle._x = vbounds._width; + } + if(particle._y > vbounds._height) { + particle._y = vbounds._y; + } + else if(particle._y < -46) { + particle._y = vbounds._height; + } + } + + clear(); + for(i=0;i<numParticles-1;i++) + { + var partA:MovieClip = this["p" + i]; + for(var j:Number = i+1;j<numParticles;j++) { + var partB:MovieClip = this["p" + j]; + spring(partA, partB); + } + } + } + + function spring(partA:MovieClip, partB:MovieClip):Void + { + var dx:Number = partB._x - partA._x; + var dy:Number = partB._y - partA._y; + var dist:Number = Math.sqrt(dx*dx + dy*dy); + if(dist < minDist) + { + lineStyle(1, 0xffffff, 100 - dist / minDist * 100); + moveTo(partA._x, partA._y); + lineTo(partB._x, partB._y); + var ax:Number = dx * springAmount; + var ay:Number = dy * springAmount; + partA.vx += ax / partA.mass; + partA.vy += ay / partA.mass; + partB.vx -= ax / partB.mass; + partB.vy -= ay / partB.mass; + } + } + + +};
\ No newline at end of file diff --git a/bPod/com/services/BuckyServices.as b/bPod/com/services/BuckyServices.as new file mode 100644 index 0000000..d2d8560 --- /dev/null +++ b/bPod/com/services/BuckyServices.as @@ -0,0 +1,133 @@ + + +class com.services.BuckyServices { + + // on-stage movie clip references: + public static var keywordsMC:MovieClip = _root.switcher.selectionsMC.keywordsMC; + public static var threadsMC:MovieClip = _root.switcher.selectionsMC.threadsMC; + public static var filesMC:MovieClip = _root.switcher.selectionsMC.filesMC; + + // scrollers for feeds + public static var feedThreadsMC:MovieClip = _root.switcher.selectionsMC.feedThreadsMC; + public static var feedItemsMC:MovieClip = _root.switcher.selectionsMC.feedItemsMC; + + + // http:// or https:// ? + public static var urlRoot:String; + + // rss proxy processing: + public static var rssProxy:String = "www.carbonpictures.com/tfarnon/bucky/services/beta/buckyRSSproxy.php"; + + // constructors for php query strings which return lists of data +// public static var keywords:String = "www.carbonpictures.com/tfarnon/bucky/services/beta/buckyk.php"; + public static var keywords:String ;// = "kitchenhacklab.foodhacking.com/cgi-bin/bucky/services_k" +// public static var threads:String = "www.carbonpictures.com/tfarnon/bucky/services/beta/buckyth.php?k="; + public static var threads:String ; // = "kitchenhacklab.foodhacking.com/cgi-bin/bucky/services_th?k="; +// public static var files:String = "www.carbonpictures.com/tfarnon/bucky/services/beta/buckyf.php?pid="; + public static var files:String ; // = "kitchenhacklab.foodhacking.com/cgi-bin/bucky/services_f?pid=" + +// public static var tags:String; + + // bucky-specific paths -- these are SET IN STONE until julian instructs otherwise +// public static var singleFilePath:String = "www.carbonpictures.com/bucky/data/"; + public static var singleFilePath:String ; // = "kitchenhacklab.foodhacking.com/bucky/data/"; +// public static var singleThreadPath:String = "www.carbonpictures.com/cgi-bin/bucky/details?id="; + public static var singleThreadPath:String ; // = "kitchenhacklab.foodhacking.com/cgi-bin/bucky/details?id=" + + // repository of active (ever-changing) settings ---------------------------------- + + public static var activeKeyword:String; // human readable keyword name + + public static var activeThread:String; // human readable thread name + public static var activeThreadID:Number; // bucky thread ID + public static var activeThreadPath:String; // full URL to active thread + + public static var activeFile:String; // human readable filename + public static var activeFileID:Number; // bucky file ID + public static var activeFilePath:String; // full URL to active mp3, jpg, gif, etc. + + public static var activeUserID:Number; // human readable user name + public static var activeUserName:String; // bucky user ID + + // end repository ----------------------------------------------------------------- + + + public function BuckyServices() {} + + public static function init():Void + { + var u:String = _url.slice (4,5); + + switch ( u ) { case ":" : urlRoot = "http://"; break; + case "s" : urlRoot = "https://"; break; + } + + _root.debug.text = urlRoot + _root.keywords; + + // these variables now magially come to us via the + // SWFObject html, instead of being hardcoded + // inside a flash movie + +// if (_root.keywords != undefined ) +// { + keywords = urlRoot + _root.keywords; + threads = urlRoot + _root.threads; + files = urlRoot + _root.files; + singleFilePath = urlRoot + _root.singleFilePath; + singleThreadPath = urlRoot + _root.singleThreadPath; + rssProxy = urlRoot + rssProxy; + +/* } + else + { +*/ +/* keywords = "kitchenhacklab.foodhacking.com/cgi-bin/bucky/services_k" + threads = "kitchenhacklab.foodhacking.com/cgi-bin/bucky/services_f?pid=" + files = "kitchenhacklab.foodhacking.com/cgi-bin/bucky/services_th?k=" + singleFilePath = "kitchenhacklab.foodhacking.com/bucky/data/" + singleThreadPath = "kitchenhacklab.foodhacking.com/cgi-bin/bucky/details?id=" + rssProxy = urlRoot + rssProxy; + + } +*/ + } + + public static function setActiveKeyword (_inObj:Object):Void { + activeKeyword = _inObj.name; + _root.debug.text += "\nKEYWORD: " + activeKeyword; + + } + + + public static function setActiveThread (_inObj:Object):Void { + activeThread = _inObj.name; + activeThreadID = _inObj.id; + activeThreadPath = singleThreadPath + activeThreadID; + _root.debug.text += "\nTHREAD:" + activeThread; + } + + public static function setActiveFile (_inObj:Object):Void { + activeFile = _inObj.filename; + activeFilePath = urlRoot + singleFilePath + activeFile; + _root.debug.text += "\nFILE: " + activeFilePath; + } + + public static function setActiveUserID (_inNumber:Number):Void { + activeUserID = _inNumber; + _root.debug.text += "\n" + activeUserID; + } + + public static function setActiveUserName (_inString:String):Void { + activeUserName = _inString; + } + + public static function getThumbURL (_inName:String):String { + + return ( singleFilePath + activeThreadID + "/.thumb/b." + _inName ); + //"www.carbonpictures.com/bucky/data/" + + + + } + + +};
\ No newline at end of file diff --git a/bPod/com/tags/TagButton.as b/bPod/com/tags/TagButton.as new file mode 100644 index 0000000..b2d908e --- /dev/null +++ b/bPod/com/tags/TagButton.as @@ -0,0 +1,95 @@ +import com.oop.UIButton;
+import com.oop.SelectionSystem;
+import mx.utils.Delegate;
+
+import mx.transitions.easing.*;
+import mx.transitions.Tween;
+
+class com.tags.TagButton extends UIButton
+{
+ private var title_mc:MovieClip;
+ private var desc_mc:MovieClip;
+ private var icon_mc:MovieClip;
+ private var bg_mc:MovieClip;
+ private var gridObj:Object;
+ private var shine_mc:MovieClip;
+ private var element_mc:MovieClip;
+ private var initialAlpha:Number = 60;
+ private var initialShine:Number = 30;
+ private var tint:Number;
+
+ public var elementSymbol:String;
+
+ private var installedX:Number = 0;
+ private var installedY:Number = 0;
+
+ public function KeywordButton() {}
+
+ public function init(_selectionSystem:SelectionSystem, _id:Number, _itemData:Object, _gridObj:Object ):Void {
+ gridObj = _gridObj;
+ super.init (_selectionSystem, _id, _itemData);
+ makeButton(itemData);
+ }
+
+ public function hashColor (_inStr:String):Number {
+ switch (_inStr) {
+ case "ivory": return (0xE0E0D8);
+ case "orange": return (0xFFD799);
+ case "yellow": return (0xFFF7A8);
+ case "green": return (0xDAF4B2);
+ case "blue": return (0xCCCCFF);
+ case "purple": return (0xDDB1FF);
+ case "pink": return (0xFFAECD);
+ case "plain": return (0xE6f0f0);
+ default: return (0xFFFFFF);
+ }
+ }
+
+
+ private function makeButton(_val:Object):Void {
+ icon_mc._alpha = initialAlpha;
+ shine_mc._alpha = initialShine;
+ title_mc.title_txt.text = _val.name.toLowerCase();
+
+ var c:String = _val.name.charAt(0); // b
+ var cc:String = _val.name.charAt(1); // u
+ var u:String = c.toUpperCase(); // B (if b)
+ var uu:String = cc.toLowerCase(); // u (if U)
+ var tmp:String = u.concat (uu); // Bu
+
+ element_mc.element_txt.text = tmp;
+
+ elementSymbol = tmp;
+
+
+ var tmpColor:Number = hashColor ( _val.color.toString() );
+ element_mc.element_txt.textColor = tmpColor; // &= 0x7F7F7F;
+ setPosition();
+ }
+
+ private function setPosition():Void {
+ _x = Math.round ( (gridObj.grid_x * _width) + (gridObj.horizSpace * gridObj.grid_x));
+ _y = Math.round ( ((gridObj.grid_y-1) * _height) + (gridObj.vertSpace * (gridObj.grid_y-1)));
+
+ installedX = _x;
+ installedY = _y;
+ }
+
+ private function handleRollOver():Void {
+ var tTween = new Tween(icon_mc, "_alpha", Regular.easeOut, icon_mc._alpha, 100, 1, true);
+ var shineTween = new Tween(shine_mc, "_alpha", Regular.easeOut, shine_mc._alpha, 0, .2, true);
+ }
+
+ private function handleRollOut():Void
+ {
+ if(visited) { var fadeVal:Number = initialAlpha; }
+ else { var fadeVal:Number = initialAlpha; }
+
+ var tTween = new Tween (icon_mc, "_alpha", Regular.easeOut, icon_mc._alpha, initialAlpha, 1, true);
+ var shineTween = new Tween (shine_mc, "_alpha", Regular.easeOut, shine_mc._alpha, initialShine, .2, true);
+ }
+
+ public function setSelected():Void
+ {
+ }
+}
\ No newline at end of file diff --git a/bPod/com/threads/ThreadButton.as b/bPod/com/threads/ThreadButton.as new file mode 100644 index 0000000..296c15f --- /dev/null +++ b/bPod/com/threads/ThreadButton.as @@ -0,0 +1,57 @@ +import mx.utils.Delegate;
+import mx.transitions.easing.*;
+import mx.transitions.Tween;
+import com.events.EventBroadcaster;
+
+import com.keywords.KeywordButton;
+
+class com.threads.ThreadButton extends KeywordButton {
+
+ private var username_mc:MovieClip;
+ private var alphabet_mc:MovieClip;
+ private var backing:MovieClip;
+ private var initialAlpha:Number;
+ private var overlay:MovieClip;
+
+ private function makeButton(_val:Object):Void {
+ overlay._visible = false;
+ initialAlpha = backing._alpha;
+ title_mc.title_txt.text = _val.name;
+ username_mc.username_txt.text = _val.user;
+
+ var ok:String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ var stru:String = _val.name.toUpperCase();
+ var strc:String = stru.charAt(0);
+ var strl:String = stru.charAt(1).toLowerCase();
+
+ if ( ok.indexOf (strc) != -1)
+ alphabet_mc.alphabet_txt.text = strc + strl;
+ else
+ alphabet_mc.alphabet_txt.text = "";
+
+ super.setPosition();
+ }
+
+ private function handleRollOver():Void {
+ var tTween = new Tween(backing, "_alpha", Regular.easeOut, backing._alpha, 40, .4, true);
+// makeWhite();
+ }
+
+ private function handleRollOut():Void {
+
+ if(visited) { var fadeVal:Number = initialAlpha; }
+ else { var fadeVal:Number = initialAlpha; }
+
+ var tTween = new Tween(backing, "_alpha", Regular.easeOut, backing._alpha, initialAlpha, .4, true);
+// makeBlack();
+ }
+
+ private function makeWhite():Void {
+ title_mc.title_txt.textColor =0xFFFFFF;
+ }
+
+ private function makeBlack():Void {
+ title_mc.title_txt.textColor =0x000000;
+ }
+
+};
\ No newline at end of file diff --git a/bPod/com/threads/ThreadScroller.as b/bPod/com/threads/ThreadScroller.as new file mode 100644 index 0000000..2aecde6 --- /dev/null +++ b/bPod/com/threads/ThreadScroller.as @@ -0,0 +1,15 @@ +import com.oop.ScrollingMenuFrame;
+
+class com.threads.ThreadScroller extends ScrollingMenuFrame
+{
+ var intRate:Number = 20; // scroller speed
+
+ public function doLoad(_dataArray:Array , _buttonType:String):Void {
+ holder_mc.attachMovie("ThreadSelectionSystem", "threads", 1000);
+ holder_mc["threads"].doInit(_dataArray, _buttonType );
+
+// holder_mc._x = 0; // use as needed! this puts the horiz scroller back in view
+ holder_mc._y = 0; // when a keyword tile is clicked.
+ }
+
+};
\ No newline at end of file diff --git a/bPod/com/threads/ThreadSelectionSystem.as b/bPod/com/threads/ThreadSelectionSystem.as new file mode 100644 index 0000000..c94b57d --- /dev/null +++ b/bPod/com/threads/ThreadSelectionSystem.as @@ -0,0 +1,74 @@ +import com.keywords.KeywordSelectionSystem;
+import com.events.EventBroadcaster;
+import com.tubes.BuckyFileTube;
+import com.services.BuckyServices;
+
+class com.threads.ThreadSelectionSystem extends KeywordSelectionSystem {
+
+ private var itemsPerRow:Number = 1;
+ private var vertSpace:Number = 1;
+ private var tube:BuckyFileTube;
+
+ private function doAction():Void {
+ eraseExistingSpinners();
+ BuckyServices.setActiveThread( selectedData() );
+ EventBroadcaster.getInstance().addEventListener("fileListMade", this);
+ tube = new BuckyFileTube ( BuckyServices.files + selectedData().id );
+ startButtonSpinner();
+ }
+
+
+ private function showSelectedFeedback():Void {
+ for (var i:Number = listItems.length ; i >= 0 ; i--) {
+ var t:MovieClip = listItems[i];
+
+ t.overlay._visible = ( currentSelection == i) ? true : false;
+
+ }
+ }
+
+ private function eraseExistingSpinners():Void {
+ for (var i:Number = 0 ; i < listItems.length ; i++) {
+ var t:MovieClip = listItems[i];
+ t.alphabet_mc._visible = true;
+ t.username_mc.username_txt.text = systemData[i].user;
+ t["spinnerHolder"].removeMovieClip(); // kill if exists .. fail silently if not
+ }
+ EventBroadcaster.getInstance().removeEventListener("threadListMade", this);
+ }
+
+ private function startButtonSpinner():Void {
+ var t:MovieClip = listItems[currentSelection];
+ t.alphabet_mc._visible = false;
+ t.username_mc.username_txt.text = "loading!!!";
+ t.createEmptyMovieClip ("spinnerHolder", t.getNextHighestDepth());
+ t["spinnerHolder"].attachMovie ("Spinner", "spinner" , 100, {_x:196, _y:15, _width:18, _height:18});
+ }
+
+
+ private function fileListMade (_evt:Object):Void {
+
+ eraseExistingSpinners();
+
+ _root.debug.text = tube.articles.length;
+
+ if (( tube.articles.length != undefined) && ( tube.articles.length != 0 )) {
+
+ BuckyServices.setActiveThread ( selectedData() );
+
+ setCurrentSelection ( currentSelection );
+ showSelectedFeedback();
+
+ BuckyServices.filesMC.doLoad( tube.articles , "FileButton" );
+
+ EventBroadcaster.getInstance().broadcastEvent("switchToFilesView", null);
+
+ } else if ( tube.articles.length == 0 ) {
+
+ _root.switcher.handleOpenThreadBtn();
+ var t:MovieClip = listItems[currentSelection];
+ t.username_mc.username_txt.text = "opening " + selectedData().user + "'s thread..";
+
+ }
+ }
+};
\ No newline at end of file diff --git a/bPod/com/tubes/BuckyFileTube.as b/bPod/com/tubes/BuckyFileTube.as new file mode 100644 index 0000000..958523b --- /dev/null +++ b/bPod/com/tubes/BuckyFileTube.as @@ -0,0 +1,29 @@ +import com.events.EventBroadcaster; +import com.tubes.BuckyTube; + +class com.tubes.BuckyFileTube extends BuckyTube { + + public function BuckyFileTube(_inQuery:String) { + super (_inQuery); + } + + private function buildArray():Void { + articles = new Array(); + for ( var i=0 ; i < theTube.numItems ; i++) { + var fileNameStr:String = new String( theTube["filename"+i] ); + var fileSizeStr:String = new String( theTube["size"+i] ); + var urlStr:String = new String( theTube["url"+i] ); + var filetypeStr:String = new String( theTube["filetype"+i] ); + + var tmpObj:Object = new Object(); + tmpObj.filename = fileNameStr; + tmpObj.filesize = fileSizeStr; + tmpObj.filetype = filetypeStr; + tmpObj.theURL = urlStr; + +// if (filetypeStr == "MP3" || filetypeStr == "JPG" || filetypeStr == "GIF") + articles.push (tmpObj); + } + EventBroadcaster.getInstance().broadcastEvent("fileListMade", null); + } +};
\ No newline at end of file diff --git a/bPod/com/tubes/BuckyKeywordTube.as b/bPod/com/tubes/BuckyKeywordTube.as new file mode 100644 index 0000000..cff96ef --- /dev/null +++ b/bPod/com/tubes/BuckyKeywordTube.as @@ -0,0 +1,46 @@ +import com.events.EventBroadcaster; +import com.tubes.BuckyTube; + +class com.tubes.BuckyKeywordTube extends BuckyTube { + + public var tags:Array; + private var tagColor:Number = 0xFFFFFF; + + public function BuckyKeywordTube(_inQuery:String) { + super (_inQuery); + tags = new Array(); + } + + private function buildArray() { + articles = new Array(); + + + for ( var i=0 ; i < theTube.numItems ; i++) { + var keywordStr:String = new String( theTube["keyword"+i] ); + var colorStr:String = new String( theTube["color"+i] ); + + var tmpObj:Object = new Object(); + tmpObj.name = keywordStr; + tmpObj.color = colorStr; + + articles.push (tmpObj); + } + + if ( theTube.numTags ) + { + + for (var i:Number = 0 ; i < theTube.numTags ; i++) + { + var tagName:String = new String( theTube["tag"+i] ); + + var tmpObj:Object = new Object(); + tmpObj.name = tagName; +// tmpObj.color = tagColor; + tmpObj.isTag = 1; + tags.push (tmpObj); + } + } + + EventBroadcaster.getInstance().broadcastEvent("curtainsUp", null); + } +};
\ No newline at end of file diff --git a/bPod/com/tubes/BuckyThreadTube.as b/bPod/com/tubes/BuckyThreadTube.as new file mode 100644 index 0000000..f0fc0ad --- /dev/null +++ b/bPod/com/tubes/BuckyThreadTube.as @@ -0,0 +1,26 @@ +import com.events.EventBroadcaster; +import com.tubes.BuckyTube; + +class com.tubes.BuckyThreadTube extends BuckyTube { + + public function BuckyThreadTube(_inQuery:String) { + super (_inQuery); + } + + private function buildArray() { + articles = new Array(); + for ( var i=0 ; i < theTube.numItems ; i++) { + var titleStr:String = new String( theTube["title"+i] ); + var userStr:String = new String( theTube["user"+i] ); + var idStr:String = new String( theTube["id"+i] ); + + var tmpObj:Object = new Object(); + tmpObj.name = titleStr; + tmpObj.user = userStr; + tmpObj.id = idStr; + + articles.push (tmpObj); + } + EventBroadcaster.getInstance().broadcastEvent("threadListMade", null); + } +};
\ No newline at end of file diff --git a/bPod/com/tubes/BuckyTube.as b/bPod/com/tubes/BuckyTube.as new file mode 100644 index 0000000..8e57a80 --- /dev/null +++ b/bPod/com/tubes/BuckyTube.as @@ -0,0 +1,23 @@ +import com.events.EventBroadcaster; +import mx.utils.Delegate; + +class com.tubes.BuckyTube { + + private var query:String; + private var theTube:LoadVars; + public var articles:Array; + + public function BuckyTube(_inQuery:String) { + query = _inQuery; + init(); + } + + private function init() { + theTube = new LoadVars(); + theTube.onLoad = Delegate.create (this, buildArray); + theTube.sendAndLoad( query, theTube, "POST"); + } + + private function buildArray() {} // override plz; + +};
\ No newline at end of file diff --git a/bPod/css/bogart.css b/bPod/css/bogart.css new file mode 100644 index 0000000..d07ef77 --- /dev/null +++ b/bPod/css/bogart.css @@ -0,0 +1,228 @@ + + +#console { + display: box; +/* visibility: hidden; + height: 0px; initial state */ +} + + +body { + background-color: #eaf0f0; + color: #111111; + font-size: 10px; + font-family: Trebuchet MS, Helvetica, Arial, sans-serif; + margin: 20px; +} +small + { + font-size: 10px; + } +table { + border: 0px; + margin: 3px; +} +.threadmain { + border: 0px; +} +.main { + border: 1px solid #e0e8e8; +} +.head { + background-color: #d8e0e8; +} +.head a:link { color: #000;} +.head a:visited { color: #000;} +.head a:active { color: #000;} +.head a:hover { color: #558;} +.bare { + background-color: #e6f0f0; + padding: 0px; + margin: 0px; +} +tr:hover { } +tr.row + { + background-color: #e6f0f0; + } +tr.row0 + { + background-color: #e6f0f0; + } +tr.row0:hover + { + background-color: #d8e0ec; + color: #000000; + } +tr.row1 + { + background-color: #e0e8e8; + } +tr.row1:hover + { + background-color: #d8e0ec; + color: #000000; + } + +td.row0 + { + background-color: #eaf0f0; + border-bottom: 1px solid #e8eaea; + } +td.row0:hover + { + background-color: #d9e0ec; + color: #000000; + border-bottom: 1px solid #d0d3d3; + } +td.row1 + { + background-color: #dde6e6; + border-bottom: 1px solid #e8eaea; + } +td.row1:hover + { + background-color: #d9e0ec; + color: #000000; + border-bottom: 1px solid #d0d3d3; + } + +td { + color: #111111; + font-size: .71em; + font-family: Trebuchet MS, Helvetica, Arial, sans-serif; + margin: 0; + padding: 1px; + border: 0px; +} +.bluebox { + background-color: #d8e0ec; + color: #000000; + text-align: center; + border: 2px solid #201010; + padding: 3px; + margin: 3px; +} +.message { + background-color: #d8e0ec; + color: #000000; + width: 200px; + text-align: center; + border: 2px solid #201010; + padding: 3px; + margin: 3px; +} +.new { + font-weight: bold; + color: #000000; +} +.recent { + color: #001111; +} +.med { + color: #203838; +} +.old { + color: #425050; +} +.older { + color: #5D6464; +} +.quiet { + color: #787878; +} +.nfo { + background-color: #e0e8e8; + color: #000000; + border: 2px solid #201010; + width: 570px; + font-size: 12px; + font-family: Courier New, Fixedsys, monospace; + white-space: pre; + text-align: left; + margin-left: 90px; + padding: 3px; +} +a:link { color: #2050ca; text-decoration: underline; } +a:visited { color: #1030aa; text-decoration: none; } +a:active { color: #a0a0c7; text-decoration: underline; } +a:hover { color: #2040f0; text-decoration: underline; } +hr { + background-color: #201010; +} +.commentbox + { + padding: 0px; + margin: 1px; + text-align: left; + width: 100%; + } +.commentuser + { + padding: 0px 2px 6px 0px; + text-align: right; + font-size: 9px; + border: 0px; + color: #454565; + border-top: 1px #666 solid; + margin: 0px; + } +.comment + { + border: 0px; + padding: 0px 2px 0px 2px; + font-size: 11px; + } +.commenttop + { + border: 0px; + padding: 2px 2px 0px 2px; + font-size: 11px; + } +.threadname + { + padding: 3px; + font-size: 11px; + font-family: georgia, garamond, serif; + } +.bigtitle + { + font-size: 30px; + font-weight: bold; + } +.clicky + { + font-size: 10px; + font-family: Trebuchet MS, Helvetica, Arial, sans-serif; + font-weight: bold; + color: #140A0A; + border: 2px #140A0A solid; + padding: 1px; + margin: 3px; + background-color: #c8d0dc; + } +.thumb + { + border: 1px solid #38383d; + padding: 0px; margin: 0px; + } +.thumb a + { + color: #38383d; + } +.filename + { + text-align: left; + padding-left: 5px; + padding-right: 10px; + } +.filesize + { + text-align: right; + padding-left: 10px; + padding-right: 5px; + } + + + + diff --git a/bPod/index.html b/bPod/index.html new file mode 100644 index 0000000..e40d925 --- /dev/null +++ b/bPod/index.html @@ -0,0 +1,205 @@ +<html> + <head> + <title>buckyPhone: 1.0 beta</title> + <link rel="stylesheet" href="http://www.carbonpictures.com/css/bogart.css" type="text/css"> + </head> + +<body> +<center> +<table cellpadding=0 cellspacing=0 border=0> + <tr> + <td align="center" style="border: 0px;"> + +<div style="width: 900px; text-align: left; border: 0px; margin-bottom: 120px;"> +<table width=100% cellpadding=0 cellspacing=0 border=0 style="padding: 0px margin: 0px;"> +<tr><td align=left style="padding: 0px 4px 0px 4px;"><span class="bigtitle">buckyPhone: 1.0 beta</span></td> +<td align="right" valign="bottom" style="padding: 0px 3px 0px 3px;"><nobr><small></tr></table><table width=100% cellpadding=0 cellspacing=0 border=0 style="padding: 0px margin: 0px;"> +<tr><td colspan=2 align="center"> +<hr color="#504040" style="padding: 0px; margin: 2px;"> +</td></tr> +<tr> +<td align=left nowrap style="padding: 0px 4px 0px 4px;"><small> +<span class="lite"><a href="/cgi-bin/bucky/index">home</a></span> | <a href="/cgi-bin/bucky/library">library</a> | +<a href="/cgi-bin/dump/index">dump</a> | +<a href="/cgi-bin/bucky/post">post</a> | +<a href="/cgi-bin/bucky/import">ftp</a> | +<a href="/cgi-bin/bucky/inbox">inbox</a> | +<a href="/cgi-bin/bucky/profile">profile</a> | +<a href="/cgi-bin/bucky/logout">logout</a> +</small></td> +<td align=right nowrap style="padding: 0px 4px 0px 4px;"><small> +<a href="/cgi-bin/bucky/profile?username=jules">jules</a>, <a href="/cgi-bin/bucky/profile?username=rfleming">rfleming</a> [6m], <a href="/cgi-bin/bucky/profile?username=rakubian">rakubian</a> [26m], <a href="/cgi-bin/bucky/profile?username=tfarnon">tfarnon</a> [1h3m], <a href="/cgi-bin/bucky/profile?username=pants">pants</a> [1h13m], <a href="/cgi-bin/bucky/profile?username=winslow">winslow</a> [5h], <a href="/cgi-bin/bucky/profile?username=marc">marc</a> [20h] | <a href="/cgi-bin/bucky/users">userlist</a> +</small></td></tr> +<tr><td colspan=2 align="center"> +<hr color="#504040" style="padding: 0px; margin: 2px;"> +</td></tr> +</table> +<table width="100%" cellpadding=0 cellspacing=0 border=0><tr><td align=left valign=top> + +<table border=0 cellpadding=0 cellspacing=0 class="threadmain" width="650"><tr><td align="right"><big><a href="/cgi-bin/bucky/library?keyword=up13" class="quietlink"><span style="font-weight: bold;">up13</span></a></big><small> · </small></td><td align="left" valign="bottom" colspan=4><small><a href="/cgi-bin/bucky/library?keyword=up13">show all</a> · <a href="/cgi-bin/bucky/post?keyword=up13">post</a> · <a href="/cgi-bin/bucky/import?keyword=up13">ftp</a> · <a href="/cgi-bin/bucky/library?keyword=up13&c=edit">settings</a></small></td></tr><tr><td></td><td style="border-bottom: 1px solid #b6aeab; background-color: #;"><img src="http://carbonpictures.com/bucky/blank.gif" width=1 height=1></td></tr><tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=marc" class="quietlink">marc</a> · </small></td><td align="left" valign="middle" nowrap class="pink0" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname newthread"><a href="/cgi-bin/bucky/details?id=181&q=305">BUCK-E-VITE: up13 party SAT FEB 24</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 2-Mar-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small> 4:06 am</small></span></td><td align="right" valign="middle" nowrap><small><span class="med">14 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="new">756.0 mb.</span></small></td><td align="left"><small> in <span class="new">57 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=marc" class="quietlink">marc</a> · </small></td><td align="left" valign="middle" nowrap class="pink1" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=251&q=54">murphy's quest</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 26-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small>12:48 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">2 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="quiet">1.2 mb.</span></small></td><td align="left"><small> in <span class="med">10 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=jules" class="quietlink">jules</a> : </small></td><td align="left" valign="middle" nowrap class="pink0" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=256&q=305">Civilization ll Multiplayer GOLD</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 26-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small>10:22 am</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="med">52.9 mb.</span></small></td><td align="left"><small> in <span class="quiet">1 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=marc" class="quietlink">marc</a> · </small></td><td align="left" valign="middle" nowrap class="pink1" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=194&q=837">up13 circa 2007</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 13-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small> 3:23 pm</small></span></td><td align="right" valign="middle" nowrap><small></small></td><td align="right" valign="middle" nowrap><small><span class="quiet">3.6 mb.</span></small></td><td align="left"><small> in <span class="new">24 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=tfarnon" class="quietlink">tfarnon</a> · </small></td><td align="left" valign="middle" nowrap class="pink0" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=184&q=76">up13 circa 2001</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 5-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small> 8:20 am</small></span></td><td align="right" valign="middle" nowrap><small><span class="older">3 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="quiet">3.8 mb.</span></small></td><td align="left"><small> in <span class="new">63 f.</span></small></td></tr> +<tr><td></td><td style="border-top: 1px solid #b6aeab; background-color: #;"><img src="http://carbonpictures.com/bucky/blank.gif" width=1 height=2></td></tr><tr><td><img src="http://carbonpictures.com/bucky/blank.gif" height=5></td></tr><tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=jules" class="quietlink">jules</a> · </small></td><td align="left" valign="middle" nowrap class="blue1"><span class="threadname newthread"><a href="/cgi-bin/bucky/details?id=27&q=55">Buckminster suggestion dome</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="new"> 3-Mar-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="new"><small> 8:12 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="new">42 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="quiet">50 kb.</span></small></td><td align="left"><small> in <span class="quiet">1 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=winslow" class="quietlink">winslow</a> · </small></td><td align="left" valign="middle" nowrap class="red0"><span class="threadname newthread"><a href="/cgi-bin/bucky/details?id=97&q=169">Youtube Depot</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="new"> 3-Mar-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="new"><small> 2:13 am</small></span></td><td align="right" valign="middle" nowrap><small><span class="new">71 c.</span></small></td><td align="right" valign="middle" nowrap></td></tr> +<tr><td><img src="http://carbonpictures.com/bucky/blank.gif" height=5 width=1></td></tr><tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/library?keyword=owl" class="quietlink"><span style="font-size: 9px; font-weight: bold;">OWL</span></a> · </small></td><td align="left" valign="middle" nowrap class="yellow1"><span class="threadname newthread"><a href="/cgi-bin/bucky/details?id=270&q=113">OWL - oogy boogy</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 1-Mar-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small>10:47 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="quiet">638 kb.</span></small></td><td align="left"><small> in <span class="quiet">2 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=winslow" class="quietlink">winslow</a> · </small></td><td align="left" valign="middle" nowrap class="plain0"><span class="threadname newthread"><a href="/cgi-bin/bucky/details?id=265&q=464">Fivel and I Folk it up (not really an album)</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 1-Mar-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small> 1:28 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="older">5 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="quiet">2.0 mb.</span></small></td><td align="left"><small> in <span class="quiet">2 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=cocco" class="quietlink">cocco</a> · </small></td><td align="left" valign="middle" nowrap class="plain1"><span class="threadname newthread"><a href="/cgi-bin/bucky/details?id=254&q=352">whos bot omhboys delay?</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 1-Mar-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small> 1:26 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="older">3 c.</span></small></td><td align="right" valign="middle" nowrap></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=bwhit" class="quietlink">bwhit</a> · </small></td><td align="left" valign="middle" nowrap class="plain0"><span class="threadname newthread"><a href="/cgi-bin/bucky/details?id=200&q=320">vid 4 jules</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 1-Mar-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small> 1:26 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="older">3 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="old">27.6 mb.</span></small></td><td align="left"><small> in <span class="quiet">1 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=ilya" class="quietlink">ilya</a> · </small></td><td align="left" valign="middle" nowrap class="plain1"><span class="threadname"><a href="/cgi-bin/bucky/details?id=244&q=755">Attack of the Kino-Eye ('mysterious' trailer)</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 1-Mar-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small> 2:12 am</small></span></td><td align="right" valign="middle" nowrap><small><span class="med">10 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="recent">100.5 mb.</span></small></td><td align="left"><small> in <span class="older">3 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=flop4andy" class="quietlink">flop4andy</a> · </small></td><td align="left" valign="middle" nowrap class="plain0"><span class="threadname"><a href="/cgi-bin/bucky/details?id=263&q=412">Mac Software from Leafcutter John</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 27-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small>11:20 am</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap></td></tr> +<tr><td></td><td style="border-bottom: 1px solid #b6aeab; background-color: #edf8f6;"><img src="http://carbonpictures.com/bucky/blank.gif" width=1 height=1></td></tr><tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/library?keyword=photos" class="quietlink"><span style="font-size: 9px; font-weight: bold;">PHOTOS</span></a> · </small></td><td align="left" valign="middle" nowrap class="orange1" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=250&q=966">Sampson at Arby's</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="med"> 23-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="med"><small> 9:38 pm</small></span></td><td align="right" valign="middle" nowrap><small></small></td><td align="right" valign="middle" nowrap><small><span class="quiet">1.6 mb.</span></small></td><td align="left"><small> in <span class="old">9 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=bwhit" class="quietlink">bwhit</a> · </small></td><td align="left" valign="middle" nowrap class="orange0" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=246&q=626">pics for jules</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="med"> 22-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="med"><small> 7:14 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="older">4 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="quiet">12.8 mb.</span></small></td><td align="left"><small> in <span class="old">6 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=marc" class="quietlink">marc</a> · </small></td><td align="left" valign="middle" nowrap class="orange1" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=211&q=935">cortland and mission</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 13-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small> 7:18 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">2 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="quiet">3.4 mb.</span></small></td><td align="left"><small> in <span class="med">11 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=marc" class="quietlink">marc</a> · </small></td><td align="left" valign="middle" nowrap class="orange0" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=213&q=28">more like bernal whites...</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 13-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small> 5:06 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="quiet">6.7 mb.</span></small></td><td align="left"><small> in <span class="new">41 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=marc" class="quietlink">marc</a> · </small></td><td align="left" valign="middle" nowrap class="orange1" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=199&q=264">Donuts</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 6-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small> 7:17 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="quiet">1.1 mb.</span></small></td><td align="left"><small> in <span class="med">13 f.</span></small></td></tr> +<tr><td></td><td style="border-top: 1px solid #b6aeab; background-color: #edf8f6;"><img src="http://carbonpictures.com/bucky/blank.gif" width=1 height=2></td></tr><tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=cocco" class="quietlink">cocco</a> · </small></td><td align="left" valign="middle" nowrap class="plain0"><span class="threadname"><a href="/cgi-bin/bucky/details?id=236&q=223">daft punk samples revealed</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="med"> 21-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="med"><small> 7:51 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="med">13 c.</span></small></td><td align="right" valign="middle" nowrap></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=marc" class="quietlink">marc</a> · </small></td><td align="left" valign="middle" nowrap class="pink1"><span class="threadname"><a href="/cgi-bin/bucky/details?id=242&q=530">OMG you guys</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="med"> 19-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="med"><small> 7:12 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">2 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="quiet">10.9 mb.</span></small></td><td align="left"><small> in <span class="quiet">1 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=hireo" class="quietlink">hireo</a> · </small></td><td align="left" valign="middle" nowrap class="plain0"><span class="threadname"><a href="/cgi-bin/bucky/details?id=238&q=643">adobe audition for mac???</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="med"> 19-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="med"><small> 3:04 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">2 c.</span></small></td><td align="right" valign="middle" nowrap></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=winslow" class="quietlink">winslow</a> · </small></td><td align="left" valign="middle" nowrap class="plain1"><span class="threadname"><a href="/cgi-bin/bucky/details?id=233&q=538">jamsogooood</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="med"> 18-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="med"><small> 4:53 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">2 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="old">20.0 mb.</span></small></td><td align="left"><small> in <span class="quiet">1 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/library?keyword=samples" class="quietlink"><span style="font-size: 9px; font-weight: bold;">SAMPLES</span></a> · </small></td><td align="left" valign="middle" nowrap class="plain0"><span class="threadname"><a href="/cgi-bin/bucky/details?id=149&q=932">Sample Act Royale</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="med"> 18-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="med"><small> 8:25 am</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="old">33.3 mb.</span></small></td><td align="left"><small> in <span class="new">26 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=winslow" class="quietlink">winslow</a> · </small></td><td align="left" valign="middle" nowrap class="plain1"><span class="threadname"><a href="/cgi-bin/bucky/details?id=235&q=134">FOR MY DEAREST WINSLITO</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="med"> 18-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="med"><small>12:26 am</small></span></td><td align="right" valign="middle" nowrap><small></small></td><td align="right" valign="middle" nowrap><small><span class="new">208.8 mb.</span></small></td><td align="left"><small> in <span class="quiet">1 f.</span></small></td></tr> +<tr><td></td><td style="border-bottom: 1px solid #b6aeab; background-color: #edf8f6;"><img src="http://carbonpictures.com/bucky/blank.gif" width=1 height=1></td></tr><tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=marc" class="quietlink">marc</a> · </small></td><td align="left" valign="middle" nowrap class="purple0" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=234&q=860">hellay channelz</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="med"> 17-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="med"><small> 9:35 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="new">174.3 mb.</span></small></td><td align="left"><small> in <span class="older">5 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=jules" class="quietlink">jules</a> · </small></td><td align="left" valign="middle" nowrap class="green1" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=232&q=510">rock club today?</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 17-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small> 7:33 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="older">4 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="old">38.3 mb.</span></small></td><td align="left"><small> in <span class="old">6 f.</span></small></td></tr> +<tr><td></td><td style="border-top: 1px solid #b6aeab; background-color: #edf8f6;"><img src="http://carbonpictures.com/bucky/blank.gif" width=1 height=2></td></tr><tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=winslow" class="quietlink">winslow</a> · </small></td><td align="left" valign="middle" nowrap class="plain0"><span class="threadname"><a href="/cgi-bin/bucky/details?id=230&q=980">songforwinslow</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 16-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small> 9:15 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="older">3 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="recent">111.1 mb.</span></small></td><td align="left"><small> in <span class="quiet">1 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=rakubian" class="quietlink">rakubian</a> · </small></td><td align="left" valign="middle" nowrap class="plain1"><span class="threadname"><a href="/cgi-bin/bucky/details?id=219&q=12">Happy D-DAY</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 15-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small> 7:52 am</small></span></td><td align="right" valign="middle" nowrap><small><span class="older">3 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="quiet">5.4 mb.</span></small></td><td align="left"><small> in <span class="old">6 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=winslow" class="quietlink">winslow</a> · </small></td><td align="left" valign="middle" nowrap class="plain0"><span class="threadname"><a href="/cgi-bin/bucky/details?id=218&q=872">Ilya song, end theme</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 15-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small> 3:57 am</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="new">173.1 mb.</span></small></td><td align="left"><small> in <span class="quiet">2 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/library?keyword=hellay" class="quietlink"><span style="font-size: 9px; font-weight: bold;">HELLAY</span></a> · </small></td><td align="left" valign="middle" nowrap class="purple1"><span class="threadname"><a href="/cgi-bin/bucky/details?id=215&q=159">hellay jasperfied 20070127</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 14-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small> 4:08 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="old">9 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="recent">124.4 mb.</span></small></td><td align="left"><small> in <span class="med">13 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=cocco" class="quietlink">cocco</a> · </small></td><td align="left" valign="middle" nowrap class="plain0"><span class="threadname"><a href="/cgi-bin/bucky/details?id=216&q=177">studio jam</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 14-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small> 7:16 am</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=cocco" class="quietlink">cocco</a> · </small></td><td align="left" valign="middle" nowrap class="pink1"><span class="threadname"><a href="/cgi-bin/bucky/details?id=210&q=627">new avalanches!!!!!!!</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 13-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small> 7:29 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">2 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="quiet">9.5 mb.</span></small></td><td align="left"><small> in <span class="quiet">2 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=cocco" class="quietlink">cocco</a> · </small></td><td align="left" valign="middle" nowrap class="plain0"><span class="threadname"><a href="/cgi-bin/bucky/details?id=204&q=115">so this kid gets his report card</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 10-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small>11:30 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="older">3 c.</span></small></td><td align="right" valign="middle" nowrap></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/library?keyword=samples" class="quietlink"><span style="font-size: 9px; font-weight: bold;">SAMPLES</span></a> · </small></td><td align="left" valign="middle" nowrap class="plain1"><span class="threadname"><a href="/cgi-bin/bucky/details?id=206&q=174">Winslow's Sample Library CD 4</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 10-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small> 4:52 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="recent">70.7 mb.</span></small></td><td align="left"><small> in <span class="older">3 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=cocco" class="quietlink">cocco</a> · </small></td><td align="left" valign="middle" nowrap class="plain0"><span class="threadname"><a href="/cgi-bin/bucky/details?id=203&q=502">help my pc died!!!</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 8-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small> 9:45 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="older">3 c.</span></small></td><td align="right" valign="middle" nowrap></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=bwhit" class="quietlink">bwhit</a> · </small></td><td align="left" valign="middle" nowrap class="plain1"><span class="threadname"><a href="/cgi-bin/bucky/details?id=195&q=421">fly fishing shows</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 5-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small> 6:57 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="new">271.5 mb.</span></small></td><td align="left"><small> in <span class="old">7 f.</span></small></td></tr> +<tr><td></td><td style="border-bottom: 1px solid #b6aeab; background-color: #edf8f6;"><img src="http://carbonpictures.com/bucky/blank.gif" width=1 height=1></td></tr><tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/library?keyword=albums" class="quietlink"><span style="font-size: 9px; font-weight: bold;">ALBUMS</span></a> · </small></td><td align="left" valign="middle" nowrap class="tan0" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=264&q=906">Eccentric Soul - Deep City Label</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 27-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small>11:06 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="recent">84.1 mb.</span></small></td><td align="left"><small> in <span class="recent">18 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=winslow" class="quietlink">winslow</a> · </small></td><td align="left" valign="middle" nowrap class="tan1" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=262&q=350">David Axelrod- Heavy Axe</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 27-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small>11:02 am</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="recent">134.7 mb.</span></small></td><td align="left"><small> in <span class="med">10 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=winslow" class="quietlink">winslow</a> · </small></td><td align="left" valign="middle" nowrap class="tan0" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=259&q=370">Pixies, Coachella 5/1/04</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 26-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small>10:51 pm</small></span></td><td align="right" valign="middle" nowrap><small></small></td><td align="right" valign="middle" nowrap><small><span class="new">145.2 mb.</span></small></td><td align="left"><small> in <span class="new">23 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=winslow" class="quietlink">winslow</a> · </small></td><td align="left" valign="middle" nowrap class="tan1" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=257&q=469">Pixies, Newport Jazz Fest 05</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 26-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small> 2:18 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="new">177.9 mb.</span></small></td><td align="left"><small> in <span class="new">23 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=rakubian" class="quietlink">rakubian</a> · </small></td><td align="left" valign="middle" nowrap class="tan0" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=253&q=564">Joe Gibbs and the Professionals - African Dub</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 25-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small> 5:17 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="recent">68.5 mb.</span></small></td><td align="left"><small> in <span class="med">11 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=rakubian" class="quietlink">rakubian</a> · </small></td><td align="left" valign="middle" nowrap class="tan1" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=252&q=687">Augustus Pablo - East of the River Nile (dub)</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 25-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small>12:53 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="recent">87.6 mb.</span></small></td><td align="left"><small> in <span class="recent">19 f.</span></small></td></tr> +<tr><td></td><td style="border-top: 1px solid #b6aeab; background-color: #edf8f6;"><img src="http://carbonpictures.com/bucky/blank.gif" width=1 height=2></td></tr><tr><td></td><td style="border-bottom: 1px solid #b6aeab; background-color: #edf8f6;"><img src="http://carbonpictures.com/bucky/blank.gif" width=1 height=1></td></tr><tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/library?keyword=movies" class="quietlink"><span style="font-size: 9px; font-weight: bold;">MOVIES</span></a> · </small></td><td align="left" valign="middle" nowrap class="tan0" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=258&q=819">Space Is The Place (1974)</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 26-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small> 2:40 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="new">682.8 mb.</span></small></td><td align="left"><small> in <span class="quiet">2 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=al" class="quietlink">al</a> · </small></td><td align="left" valign="middle" nowrap class="tan1" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=229&q=964">Zardoz (1974)</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="med"> 23-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="med"><small> 3:49 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">2 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="new">698.5 mb.</span></small></td><td align="left"><small> in <span class="quiet">2 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=al" class="quietlink">al</a> · </small></td><td align="left" valign="middle" nowrap class="tan0" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=248&q=821">Assault On Precinct 13 (1976)</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="med"> 22-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="med"><small> 1:11 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">2 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="new">696.0 mb.</span></small></td><td align="left"><small> in <span class="quiet">2 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=tfarnon" class="quietlink">tfarnon</a> · </small></td><td align="left" valign="middle" nowrap class="tan1" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=217&q=244">The Prestige (2006)</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="med"> 22-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="med"><small> 1:57 am</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">2 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="new">700.7 mb.</span></small></td><td align="left"><small> in <span class="quiet">2 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=al" class="quietlink">al</a> · </small></td><td align="left" valign="middle" nowrap class="tan0" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=226&q=355">Beyond The Valley Of The Dolls (1970)</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="med"> 20-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="med"><small>12:58 am</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">2 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="new">701.8 mb.</span></small></td><td align="left"><small> in <span class="quiet">2 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=pants" class="quietlink">pants</a> · </small></td><td align="left" valign="middle" nowrap class="tan1" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=227&q=439">Hollywoodland (2006)</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 15-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small> 9:34 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="older">3 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="new">1 020.8 mb.</span></small></td><td align="left"><small> in <span class="quiet">2 f.</span></small></td></tr> +<tr><td></td><td style="border-top: 1px solid #b6aeab; background-color: #edf8f6;"><img src="http://carbonpictures.com/bucky/blank.gif" width=1 height=2></td></tr><tr><td></td><td style="border-bottom: 1px solid #b6aeab; background-color: #edf8f6;"><img src="http://carbonpictures.com/bucky/blank.gif" width=1 height=1></td></tr><tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/library?keyword=tv" class="quietlink"><span style="font-size: 9px; font-weight: bold;">TV</span></a> · </small></td><td align="left" valign="middle" nowrap class="tan0" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=255&q=622">Metalocalypse season one</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 27-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small> 2:15 am</small></span></td><td align="right" valign="middle" nowrap><small><span class="older">4 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="new">2 010.5 mb.</span></small></td><td align="left"><small> in <span class="new">21 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=marc" class="quietlink">marc</a> · </small></td><td align="left" valign="middle" nowrap class="tan1" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=214&q=607">Stephen King - La Rebelion De Las Maquinas</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 13-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small>11:22 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="new">696.6 mb.</span></small></td><td align="left"><small> in <span class="quiet">2 f.</span></small></td></tr> +<tr><td></td><td style="border-top: 1px solid #b6aeab; background-color: #edf8f6;"><img src="http://carbonpictures.com/bucky/blank.gif" width=1 height=2></td></tr><tr><td></td><td style="border-bottom: 1px solid #b6aeab; background-color: #edf8f6;"><img src="http://carbonpictures.com/bucky/blank.gif" width=1 height=1></td></tr><tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/library?keyword=warez" class="quietlink"><span style="font-size: 9px; font-weight: bold;">WAREZ</span></a> · </small></td><td align="left" valign="middle" nowrap class="tan0" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=249&q=930">Toast 7.1.2 for Mac</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="recent"> 28-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="recent"><small> 3:27 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="older">4 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="recent">81.0 mb.</span></small></td><td align="left"><small> in <span class="quiet">2 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=jules" class="quietlink">jules</a> · </small></td><td align="left" valign="middle" nowrap class="purple1" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=212&q=261">FL Studio v7.0.0 XXL</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="med"> 22-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="med"><small> 4:21 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="med">11 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="new">158.7 mb.</span></small></td><td align="left"><small> in <span class="new">21 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=tonylim80" class="quietlink">tonylim80</a> · </small></td><td align="left" valign="middle" nowrap class="tan0" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=60&q=641">ableton live for winslow</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="med"> 21-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="med"><small> 9:05 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="older">4 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="med">50.1 mb.</span></small></td><td align="left"><small> in <span class="quiet">2 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=cocco" class="quietlink">cocco</a> · </small></td><td align="left" valign="middle" nowrap class="tan1" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=245&q=552">wavelabbe 5.01b</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="med"> 21-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="med"><small> 8:13 pm</small></span></td><td align="right" valign="middle" nowrap><small><span class="quiet">1 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="old">26.3 mb.</span></small></td><td align="left"><small> in <span class="quiet">1 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=marc" class="quietlink">marc</a> · </small></td><td align="left" valign="middle" nowrap class="tan0" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=205&q=25">Renoise 1.52 OSX - tracker</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 14-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small>12:02 am</small></span></td><td align="right" valign="middle" nowrap><small><span class="older">4 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="quiet">15.2 mb.</span></small></td><td align="left"><small> in <span class="quiet">1 f.</span></small></td></tr> +<tr><td align="right" valign="middle" nowrap><small><a href="/cgi-bin/bucky/profile?username=tonylim80" class="quietlink">tonylim80</a> · </small></td><td align="left" valign="middle" nowrap class="tan1" style="border-left: 1px solid #b6aeab; border-right: 1px solid #b6aeab;"><span class="threadname"><a href="/cgi-bin/bucky/details?id=193&q=605">reaktor UB(for intel mac)</a></span></td><td align="right" valign="middle" nowrap style="padding-right: 0px; margin-right: 0px;"><span class="old"> 13-Feb-2007 </span></td><td align="left" valign="middle" nowrap style="padding-left: 0px; margin-left: 0px; padding-top: 2px;"><span class="old"><small>12:06 am</small></span></td><td align="right" valign="middle" nowrap><small><span class="old">8 c.</span></small></td><td align="right" valign="middle" nowrap><small><span class="new">192.2 mb.</span></small></td><td align="left"><small> in <span class="quiet">1 f.</span></small></td></tr> +<tr><td></td><td style="border-top: 1px solid #b6aeab; background-color: #edf8f6;"><img src="http://carbonpictures.com/bucky/blank.gif" width=1 height=2></td></tr><tr><td align="right" colspan=7 style="padding-top: 15px;"><big><a href="/cgi-bin/bucky/index?start=1170730662&end=1164872157">next <b>50</b> threads >></a></big></td></tr></table></td> +<td width="200" align=right valign=top> +<div class="message"> +<b>buckyPhone: 1.0 beta</b> +<hr color="#201010"> +<small>you are using <span class="new">5 327.9 mb.</span> in 95 files</small></div><div class="message"> +<small><b>RADIO: GOING DARK</b><br> +<a href="http://radiofreehanoi.com/HOWTO">click here for broadcast instructions</a> +</small></div> + + +<!-- buckybeta --> +<div id = "buckyBeta"></div> +<script type="text/javascript" src="swfobject/swfobject.js"></script> +<script type="text/javascript"> + // <![CDATA[ + var so = new SWFObject ("bPod.swf", "buckyBeta", 215, 210, 8, "EAF0F0" ); + + // user ID + so.addVariable("activeUser", 00000 /* PROLLY NEED A VARIABLE HERE INSTEAD*/ ); + + // global services which drive your keywords, files & threads: + so.addVariable ("keywords", "kitchenhacklab.foodhacking.com/cgi-bin/bucky/services_k" ); + so.addVariable ("files", "kitchenhacklab.foodhacking.com/cgi-bin/bucky/services_f?pid=" ); + so.addVariable ("threads", "kitchenhacklab.foodhacking.com/cgi-bin/bucky/services_th?k=" ); + so.addVariable ("singleFilePath", "kitchenhacklab.foodhacking.com/bucky/data/" ); + so.addVariable ("singleThreadPath", "kitchenhacklab.foodhacking.com/cgi-bin/bucky/details?id=" ); + + // look & feel -- background colors for gradient + so.addVariable("uiGradient1", "0xFFFFFF"); + so.addVariable("uiGradient2", "0xCCCCCC"); + so.addVariable("uiStroke", "0x000000"); + // so.addVariable("backgroundImage", "http://hentaiheroes.netpass.tv/us/bandeaux/200x200/200x200hentaiheroes.gif") + // so.addVariable ("backgroundImageAlpha", 60); + + // extra bonus things + //so.addVariable ("debuggerVisible", 1); + so.addVariable ("showFeeds", 1); + + so.addParam ("scale", "noscale"); + so.write("buckyBeta"); + + + + + // ]]> +</script> +<!-- end buckybeta --> + + +<!-- upload form --> + +<div class="message"> +quick-start a <b>new thread</b> +<hr color="#201010"> +<small> +<form action="/cgi-bin/bucky/post" method="post" enctype="multipart/form-data"> + +<input type=hidden name="c" value="new"> + +subject:<input name="title" value="" size=20 maxlength=50 style="font-size: 10px; font-family: Trebuchet MS, Helvetica, Arial, sans-serif; + color: #140A0A; border: 1px #140A0A solid; padding: 1px; margin: 5px 5px 0px 5px; + background-color: #e7f1f9;"><br> + +<input type="file" name="file1" size="12" maxlength="192" style="font-size: 10px; font-family: Trebuchet MS, Helvetica, Arial, sans-serif; + color: #140A0A; border: 1px #140A0A solid; padding: 1px; margin: 5px; + background-color: #e7f1f9;" /><br> + +description:<br> +<textarea name="comment" value="" rows="5" style="width: 100%; padding: 0px 1px 1px 1px; background-color: #f1f8fb; font-family: trebuchet ms, sans serif; font-size: 11px;"></textarea> +<br> + +<input type="submit" value="CREATE THREAD" class="clicky"> +</form> +</small> +</div> + + + + + + + +<div class="message"> +<form action="/cgi-bin/bucky/comment" method="post" enctype="multipart/form-data"> +<input type="hidden" name="id" value="1"> + +<table width=100% cellpadding=0 cellspacing=0 border=0> +<tr> +<td style="text-align: center; vertical-align: middle;"> +<input name="comment" value="" size=25 maxlength=1024 style="font-size: 10px; font-family: Trebuchet MS, Helvetica, Arial, sans-serif; + color: #140A0A; border: 1px #140A0A solid; padding: 1px; margin: 0px 0px 0px 0px; + background-color: #e7f1f9;"> +</td> +<td style="text-align: center; vertical-align: middle;"> +<input type="submit" value="HOOT" class="clicky" style="margin: 0px 5px 0px 5px;"> +</td></tr></table> +</form> +<hr color="#201010"><table class="commentbox" cellpadding=0 cellspacing=0 border=0><tr><td class="comment"><small>king kill 33 <a href="http://www.revisionisthistory.org/kingkill33.html">[revisionisthistory.org]</a></small></td></tr><tr><td class="commentuser"><a href="/cgi-bin/bucky/profile?username=marc">marc</a></a> at 1-Mar-2007 4:30 pm</td></tr><tr><td class="comment"><small>Rabbit Rabbit!</small></td></tr><tr><td class="commentuser"><a href="/cgi-bin/bucky/profile?username=winslow">winslow</a></a> at 1-Mar-2007 3:30 pm</td></tr><tr><td class="comment"><small>HOOT BONGS</small></td></tr><tr><td class="commentuser"><a href="/cgi-bin/bucky/profile?username=jules">jules</a></a> at 1-Mar-2007 12:53 pm</td></tr><tr><td class="comment"><small>anybody but anybody got some kind of audio tracker program that isn't fruity?</small></td></tr><tr><td class="commentuser"><a href="/cgi-bin/bucky/profile?username=flop4andy">flop4andy</a></a> at 27-Feb-2007 11:04 am</td></tr><tr><td class="comment"><small>hmoob earcammed it from through the vent</small></td></tr><tr><td class="commentuser"><a href="/cgi-bin/bucky/profile?username=jules">jules</a></a> at 25-Feb-2007 10:42 pm</td></tr><tr><td class="comment"><small>wewp w3wp w00p! Any body capture any of it on various electronic devices besides marc?</small></td></tr><tr><td class="commentuser"><a href="/cgi-bin/bucky/profile?username=rakubian">rakubian</a></a> at 25-Feb-2007 4:00 pm</td></tr><tr><td class="comment"><small>Awesome Party Dude!</small></td></tr><tr><td class="commentuser"><a href="/cgi-bin/bucky/profile?username=winslow">winslow</a></a> at 25-Feb-2007 9:37 am</td></tr><tr><td class="comment"><small>up with wangs / down with chungs</small></td></tr><tr><td class="commentuser"><a href="/cgi-bin/bucky/profile?username=tfarnon">tfarnon</a></a> at 23-Feb-2007 11:38 am</td></tr><tr><td class="comment"><small>CPA 4 life!</small></td></tr><tr><td class="commentuser"><a href="/cgi-bin/bucky/profile?username=winslow">winslow</a></a> at 21-Feb-2007 10:26 pm</td></tr><tr><td class="comment"><small>Consider this: a man, alone, watching TV, craving ice cream.</small></td></tr><tr><td class="commentuser"><a href="/cgi-bin/bucky/profile?username=rfleming">rfleming</a></a> at 21-Feb-2007 5:52 pm</td></tr><tr><td class="comment"><small>gotta have an O / M / G .. if you wanna be / with / me</small></td></tr><tr><td class="commentuser"><a href="/cgi-bin/bucky/profile?username=tfarnon">tfarnon</a></a> at 21-Feb-2007 11:50 am</td></tr><tr><td class="comment"><small>Mayb e we can change it to Carl Weathers' Day</small></td></tr><tr><td class="commentuser"><a href="/cgi-bin/bucky/profile?username=rakubian">rakubian</a></a> at 20-Feb-2007 4:24 pm</td></tr><tr><td class="comment"><small>Carl Weathers, Carl Weathers, talk to me about, Carl Weathers!</small></td></tr><tr><td class="commentuser"><a href="/cgi-bin/bucky/profile?username=winslow">winslow</a></a> at 20-Feb-2007 11:23 am</td></tr></table> +</div></td></tr></table> + +</div> + + </td> + </tr> +</table> +</center> + +</body> +</html> + diff --git a/bPod/main.as b/bPod/main.as new file mode 100644 index 0000000..0c7ef13 --- /dev/null +++ b/bPod/main.as @@ -0,0 +1,47 @@ +import com.tubes.BuckyKeywordTube; +import com.events.EventBroadcaster; +import com.events.RightClick; +import com.services.BuckyServices; + +var tube:BuckyKeywordTube; + +initApp(); + +function initApp():Void { + _root.debug.text = _root.activeUser; + new RightClick(); + BuckyServices.init(); + EventBroadcaster.getInstance().addEventListener("curtainsUp", this); + + tube = new BuckyKeywordTube ( BuckyServices.keywords ); +} + +function curtainsUp(_evt:Object):Void { + + // these vals passed in via html SWFObject. + + if (_root.debuggerVisible) + _root.debug._x = 4; // _root.debuggerVisible; + + _root.squareBackground.initColors (_root.uiGradient1, _root.uiGradient2, _root.uiStroke, 208, 208); + + if (_root.backgroundImage != undefined) + { + _root.squareBackground.image.loadMovie ( _root.backgroundImage); + _root.squareBackground.image._alpha = _root.backgroundImageAlpha; + } + + BuckyServices.keywordsMC.doLoad( tube.articles ); + + BuckyServices.keywordsMC.insertAdornment(); + if (tube.tags.length > 0) + { + BuckyServices.keywordsMC.insertTags ( tube.tags ); + } + + if (_root.showFeeds) + { + BuckyServices.keywordsMC.insertAdornment(); + BuckyServices.keywordsMC.insertFeeds(); + } +}
\ No newline at end of file diff --git a/bPod/php/buckyFiles.php b/bPod/php/buckyFiles.php new file mode 100644 index 0000000..00fdafd --- /dev/null +++ b/bPod/php/buckyFiles.php @@ -0,0 +1,102 @@ + <?php + + $kWarez = "http://www.carbonpictures.com/bucky/data/"; + + mysql_connect("localhost","tfarnon","blunderbus"); // lol security + mysql_select_db("bucky"); + + if (!isset ($_GET['s']) || !isset ($_GET['e'])) { + $startIndex = 0; + $endIndex = 9; + } else { + $startIndex = $_GET['s']; + $endIndex = $_GET['e']; + } + + $page = ($endIndex - $startIndex); + + $query = mysql_query("SELECT * FROM `files` order by `date` desc limit $startIndex, $endIndex"); + $nrows = mysql_num_rows($query); + $rString = "&numItems=".$page; + + if (!isset ($_GET['p'])) { + // display as querystring (&p=1) + for ($i = $startIndex; $i <= $endIndex; $i++) { + $row = mysql_fetch_array($query); + $rString .= "&filetype" .$i ."=". fileExt($row['filename']); + $rString .= "&filename" .$i ."=". $row['filename']; + $rString .= "&username" .$i ."=". $row['username']; + $rString .= "&date" .$i ."=". strtolower (date("D M j", $row['date'] )); + $rString .= "&url" .$i ."=". $kWarez . $row['parent_id'] . "/" . str_replace(" ", "%20", $row['filename']); + $rString .= "&size" .$i ."=". sizeinK ($row['size']); + } + echo $rString; + } + // display pretty: + else { + $nextURL = "http://www.carbonpictures.com/tfarnon/buckyFiles.php?p=1&s=" . ($endIndex+1) . "&e=" . ($endIndex+$page+1); + $prevURL = "http://www.carbonpictures.com/tfarnon/buckyFiles.php?p=1&s=" . ($startIndex-$page-1) . "&e=" . ($startIndex-1) ; + echo "<br><br>"; + if ($startIndex > 0) { + echo "<a href = '$prevURL'>previous " . ($page+1) . "</a>"; + echo " | "; + } + + echo "<a href = '$nextURL'>next " . ($page+1) . "</a>"; + echo "<br>files " . $startIndex . " - " . $endIndex . " on bucky:<br>"; + + for ($i=$startIndex; $i <= $endIndex; $i++) { + $row = mysql_fetch_array($query); + if (doubleCheck ($row)) + { + echo "<br>"; + echo $i . " "; + echo fileExt($row['filename'] . ": "); + echo "on "; + echo strtolower (date("D M j", $row['date'] )); + echo " "; + echo $row['username']; + echo " uploaded "; + echo "<b>" . + "<a href = \"" . $kWarez . + $row['parent_id']. + "/". + str_replace(" ", "%20", $row['filename']) . "\" target = \"_blank\">". + $row['filename']. + "</a>". + "</b>"; + echo " (" . sizeinK ($row['size']) . ")"; + } + } + } + + function doubleCheck ($row) { + if (!$row['filename'] || !$row['date'] || !$row['username'] || !$row['parent_id'] || !$row['size']) + { + echo "<br>(this file looks weird/null -- not listing)"; + return (false); + } else { + return (true); + } + } + + function fileExt ($inStr) { + return strtoupper (end(explode('.',$inStr))); + } + + function sizeinK($bytes) { + $size = $bytes / 1024; + if($size < 1024) { + $size = number_format($size, 2); + $size .= 'k'; + } else { if ($size / 1024 < 1024) { + $size = number_format($size / 1024, 2); + $size .= 'mb'; + } else if ($size / 1024 / 1024 < 1024) { + $size = number_format($size / 1024 / 1024, 2); + $size .= ' GB'; + } + } + return $size; + } +?>
\ No newline at end of file diff --git a/bPod/php/buckyf.php b/bPod/php/buckyf.php new file mode 100644 index 0000000..3f92939 --- /dev/null +++ b/bPod/php/buckyf.php @@ -0,0 +1,66 @@ + + + + + <?php + + $kWarez = "http://www.carbonpictures.com/bucky/data/"; + + mysql_connect("localhost","tfarnon","blunderbus"); // lol QUEERS + mysql_select_db("bucky"); + + $pid = $_GET['pid']; + + $page = ($endIndex - $startIndex); + + $query = mysql_query("SELECT * FROM `files` where `parent_id` = $pid order by `filename` asc"); //" limit $startIndex, $endIndex"); + $nrows = mysql_num_rows($query); + $rString = "&numItems=". $nrows; + +// display as querystring (&p=1) + for ($i = 0; $i < $nrows; $i++) { + $row = mysql_fetch_array($query); + $rString .= "&filetype" .$i ."=". fileExt($row['filename']); + $rString .= "&filename" .$i ."=". $row['filename']; + $rString .= "&username" .$i ."=". $row['username']; + $rString .= "&date" .$i ."=". strtolower (date("D M j", $row['date'] )); + $rString .= "&url" .$i ."=". $kWarez . $row['parent_id'] . "/" . str_replace(" ", "%20", $row['filename']); + $rString .= "&size" .$i ."=". sizeinK ($row['size']); + } + echo $rString; + + +// --- UTILS.H --- // + + + function doubleCheck ($row) { + if (!$row['filename'] || !$row['parent_id'] || !$row['date']) + { + echo "<br>(this file looks weird/null -- not listing)"; + return (false); + } else { + return (true); + } + } + + function fileExt ($inStr) { + return strtoupper (end(explode('.',$inStr))); + } + + + function sizeinK($bytes) { + $size = $bytes / 1024; + if($size < 1024) { + $size = number_format($size, 2); + $size .= 'k'; + } else { if ($size / 1024 < 1024) { + $size = number_format($size / 1024, 2); + $size .= 'mb'; + } else if ($size / 1024 / 1024 < 1024) { + $size = number_format($size / 1024 / 1024, 2); + $size .= ' GB'; + } + } + return $size; + } +?>
\ No newline at end of file diff --git a/bPod/php/buckyk.php b/bPod/php/buckyk.php new file mode 100644 index 0000000..bda0355 --- /dev/null +++ b/bPod/php/buckyk.php @@ -0,0 +1,37 @@ + <?php + + // TOUCH NOT LEST YE BE TOUCHED _______________________________ + + mysql_connect ("localhost","tfarnon","blunderbus"); // lol security + mysql_select_db ("bucky"); + + $query = mysql_query ("SELECT * FROM `keywords` order by `keyword` asc"); + + $nrows = mysql_num_rows ($query); + + if (!isset ($_GET['s']) || !isset ($_GET['e'])) { + $startIndex = 0; + $endIndex = $nrows; + } else { + $startIndex = $_GET['s']; + $endIndex = $_GET['e']; + } + + if ($startIndex != 0) { + $page = ($endIndex - $startIndex); // select a set between _ and _ + } else { + $page = $nrows; // select all from _ + } + + // SET UP STRING BELOW HERE ___________________________________ + + $rString = "&numItems=" . $page; + + for ($i = 0 ; $i <= $endIndex; $i++) { + $row = mysql_fetch_array($query); + $rString .= "&keyword" .$i ."=". $row['keyword']; + if ($row['color']) $rString .= "&color" .$i ."=". $row['color']; + else $rString .= "&color" .$i ."=". "plain"; + } + echo $rString; +?>
\ No newline at end of file diff --git a/bPod/php/buckyth.php b/bPod/php/buckyth.php new file mode 100644 index 0000000..617e354 --- /dev/null +++ b/bPod/php/buckyth.php @@ -0,0 +1,34 @@ + <?php + + + // TOUCH NOT LEST YE BE TOUCHED _______________________________ + + mysql_connect ("localhost","tfarnon","blunderbus"); // lol security + mysql_select_db ("bucky"); + + $keyword = $_GET['k']; + + $q = "SELECT * FROM threads where keyword = '" . $keyword . "' order by title desc"; + +// echo $q; + + $query = mysql_query ( $q ); + + $nrows = mysql_num_rows ($query); + + + + // SET UP STRING BELOW HERE ___________________________________ + +// echo "$nrows = " . $nrows; + + $rString = "&numItems=" . $nrows; + + for ($i = $nrows-1 ; $i > -1; $i--) { + $row = mysql_fetch_array($query); + $rString .= "&title" .$i ."=". $row['title']; + $rString .= "&user" .$i ."=". $row['username']; + $rString .= "&id" .$i ."=". $row['id']; + } + echo $rString; +?>
\ No newline at end of file diff --git a/bPod/php/cybozuLab/rssParser/FetchingRss.as b/bPod/php/cybozuLab/rssParser/FetchingRss.as new file mode 100644 index 0000000..bca92c1 --- /dev/null +++ b/bPod/php/cybozuLab/rssParser/FetchingRss.as @@ -0,0 +1 @@ +/*
Action script 2.0 RSS parser package
Copyright (C) 2006 Cybozu Labs, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
class: com.cybozuLab.rssParser.FetchingRss
version: 0.1
modified: 31/Jan/2006
Fetching RSS2.0 feed and set Action Script 2.0 XML tree.
*/
import com.cybozuLab.rssParser.*;
class com.cybozuLab.rssParser.FetchingRss
{
private static var DEBUG:Boolean = false;
private var targetURL:String; //target rss feed URL
private var httpStatusCode:Number;
private var httpStatusType:String;
private var errorMessage:String;
private var rssXml:XML;
private var rssParser:ParsingRss;
private var calledParserFlag:Boolean;
/*
function: FetchingRss
constructor
*/
public function FetchingRss( url:String )
{
var thisObj:FetchingRss = this;
calledParserFlag = false;
if( url != undefined )
{
targetURL = url;
}
rssXml = new XML();
rssXml.ignoreWhite = true;
rssXml.onHTTPStatus = function( httpStatus:Number )
{
thisObj.FetchingRssOnHTTPStatus( httpStatus );
}
rssXml.onLoad = function( successFlag:Boolean )
{
thisObj.FetchingRssOnLoad( successFlag, thisObj.rssXml.status );
if( successFlag == true )
{
thisObj.calledParserFlag = true;
thisObj.rssParser = new ParsingRss( thisObj.rssXml );
}
thisObj.onLoad( successFlag, thisObj.errorMessage );
}
}
public function load( url:String ):Boolean
{
if( url != undefined )
{
targetURL = url;
}
if( targetURL == undefined )
{
errorMessage = "Setting Error : Called without source URL.";
return false;
}
calledParserFlag = false;
rssXml.load( targetURL );
return true;
}
public function onLoad( success:Boolean, errorMessage:String )
{
}
public function getTargetUrl():String
{
return targetURL;
}
public function getRssXml():XML
{
return rssXml;
}
public function getRssObject():Object
{
if( calledParserFlag )
{
return rssParser.getRssObject();
}
return new Object();
}
public function traceRssObject():Void
{
if( calledParserFlag )
{
Utils.traceObj( rssParser.getRssObject() );
}
}
public function getErrorMessage():String
{
return errorMessage;
}
/*
function: FetchingRssOnHTTPStatus
Classify an HTTP status code.
*/
private function FetchingRssOnHTTPStatus( httpStatus:Number )
{
httpStatusCode = httpStatus;
if( httpStatus < 100 )
{
httpStatusType = "flashError";
}
else if( httpStatus < 200 )
{
httpStatusType = "information";
}
else if( httpStatus < 300 )
{
httpStatusType = "successful";
}
else if( httpStatus < 400 )
{
httpStatusType = "redirection";
}
else if( httpStatus < 500 )
{
httpStatusType = "client error";
}
else if (httpStatus < 600 )
{
httpStatusType = "server error";
}
else
{
httpStatusType = "unknown";
}
if( DEBUG )
{
trace( "httpStatus : " + httpStatusCode );
trace( "httpStatusType : " + httpStatusType );
}
}
private function FetchingRssOnLoad( successFlag:Boolean, statusNum:Number )
{
var eMessage:String;
if( successFlag )
{
switch ( statusNum ) {
case 0 :
eMessage = "Parse was completed successfully.";
break;
case -2 :
eMessage = "A CDATA section was not properly terminated.";
break;
case -3 :
eMessage = "The XML declaration was not properly terminated.";
break;
case -4 :
eMessage = "The DOCTYPE declaration was not properly terminated.";
break;
case -5 :
eMessage = "A comment was not properly terminated.";
break;
case -6 :
eMessage = "An XML element was malformed.";
break;
case -7 :
eMessage = "Out of memory.";
break;
case -8 :
eMessage = "An attribute value was not properly terminated.";
break;
case -9 :
eMessage = "A start-tag was not matched with an end-tag.";
break;
case -10 :
eMessage = "An end-tag was encountered without a matching start-tag.";
break;
default :
eMessage = "An unknown error has occurred.";
break;
}
if( statusNum != 0 )
{
errorMessage = "Parsing Error : XML was loaded successfully, but was unable to be parsed. (Error : "+eMessage+")";
}
else
{
errorMessage = eMessage;
}
}
else
{
errorMessage = "Loading Error : Failed to load RSS feed. ( httpStatus : "+httpStatusCode+" - "+httpStatusType+")";
}
}
}
\ No newline at end of file diff --git a/bPod/php/cybozuLab/rssParser/ParsingRss.as b/bPod/php/cybozuLab/rssParser/ParsingRss.as new file mode 100644 index 0000000..bff2161 --- /dev/null +++ b/bPod/php/cybozuLab/rssParser/ParsingRss.as @@ -0,0 +1 @@ +/*
Action script 2.0 RSS parser package
Copyright (C) 2006 Cybozu Labs, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
class: com.cybozuLab.rssParser.ParsingRss
version: 0.1
Last-modified: 01/Feb/2006
Parsing RSS 2.0 feed for Action Script 2.0
*/
import com.cybozuLab.rssParser.*;
class com.cybozuLab.rssParser.ParsingRss
{
private static var DEBUG:Boolean = false;
private var targetRssXml:XMLNode; //rss feed XML Node tree
private var errorMessage:String;
private var parsedRssObj:Object;
private var parsedRssChannelObj:Object;
private var parsedRssItemObj:Array;
private var isInRssTag:Boolean;
private var isInChannelTag:Boolean;
private var isInItemTag:Boolean;
private var currentChannelNum:Number;
private var currentItemNum:Number;
private var channelStackArray:Array;
private var itemStackArray:Array;
private var nodeObjStack:Array;
/*
function: ParsingRss
constructor
*/
public function ParsingRss ( sourceData:XMLNode )
{
if( sourceData == undefined )
{
errorMessage = "Parsing Error : Called without source data.";
throw new RssParserException( errorMessage );
}
targetRssXml = sourceData;
isInRssTag = false;
isInChannelTag = false;
isInItemTag = false;
currentItemNum = 0;
channelStackArray = new Array();
itemStackArray = new Array();
parsedRssObj = new Object();
parsedRssChannelObj = new Object();
parsedRssItemObj = new Array();
parseRss( targetRssXml );
parsedRssObj["channel"] = parsedRssChannelObj;
parsedRssObj["channel"]["item"] = parsedRssItemObj;
}
public function getRssObject():Object
{
return parsedRssObj;
}
public function traceRssObject():Void
{
Utils.traceObj( parsedRssObj );
}
private function parseRss( currentNode:XMLNode ):Void
{
for ( var aNode:XMLNode = currentNode; aNode != null; aNode = aNode.nextSibling )
{
if( isInItemTag )
{
itemStackArray.unshift( aNode.nodeName );
}
else if( isInChannelTag )
{
channelStackArray.unshift( aNode.nodeName );
}
/*
Parse attributes.
*/
if( ! isInRssTag
&& aNode.nodeName.toLowerCase() == "rss"
&& Utils.countProperty( aNode.attributes ) >0 )
{
nodeObjStack = Array();
appendAttribute( parsedRssObj, aNode.attributes );
}
else if( isInItemTag
&& Utils.countProperty( aNode.attributes) >0 )
{
nodeObjStack = itemStackArray.slice( 0 );
appendAttribute( parsedRssItemObj[ currentItemNum ], aNode.attributes );
}
else if( isInChannelTag
&& Utils.countProperty( aNode.attributes ) >0 )
{
nodeObjStack = channelStackArray.slice( 0 );
appendAttribute( parsedRssChannelObj, aNode.attributes );
}
/*
Parse child node or data.
*/
if( ! isInRssTag
&& aNode.nodeName.toLowerCase() == "rss" )
{
isInRssTag = true;
parseRss(aNode.firstChild);
isInRssTag = false;
}
else if( ! isInChannelTag
&& aNode.nodeName.toLowerCase() == "channel" )
{
isInChannelTag = true;
parseRss(aNode.firstChild);
isInChannelTag = false;
currentChannelNum++;
}
else if( ! isInItemTag
&& channelStackArray.length == 1
&& aNode.nodeName.toLowerCase() == "item" )
{
isInItemTag = true;
parsedRssItemObj[ currentItemNum ] = new Object();
parseRss(aNode.firstChild);
isInItemTag = false;
currentItemNum++;
}
else if( aNode.firstChild.nodeType == 1 )
{
parseRss( aNode.firstChild );
}
else if( aNode.firstChild.nodeType == 3 )
{
if( isInItemTag )
{
nodeObjStack = itemStackArray.slice( 0 );
appendNodeValue( parsedRssItemObj[ currentItemNum ], aNode.firstChild.nodeValue );
}
else if( isInChannelTag )
{
nodeObjStack = channelStackArray.slice( 0 );
appendNodeValue( parsedRssChannelObj, aNode.firstChild.nodeValue );
}
else
{
trace("no rss value : "+ aNode.firstChild.nodeValue);
}
}
if( isInItemTag )
{
itemStackArray.shift( );
}
else if( isInChannelTag )
{
channelStackArray.shift( );
}
} // close for loop
} // close function
private function appendNodeValue( nodeObj:Object, nodeValue:String )
{
if( nodeObjStack.length > 0 )
{
var key = nodeObjStack.pop();
if( nodeObj[ key ] == undefined )
{
nodeObj[ key ] = new Object();
if( key != key.toLowerCase() )
{
nodeObj[ key.toLowerCase() ] = new Object();
}
}
appendNodeValue( nodeObj[ key ], nodeValue );
if( key != key.toLowerCase() )
{
appendNodeValue( nodeObj[ key.toLowerCase() ], nodeValue );
}
}
else
{
nodeObj["value"] = nodeValue;
}
}
private function appendAttribute( nodeObj:Object, attributes:Object )
{
if( nodeObjStack.length > 0 )
{
var key = nodeObjStack.pop();
if( nodeObj[ key ] == undefined )
{
nodeObj[ key ] = new Object();
if( key != key.toLowerCase() )
{
nodeObj[ key.toLowerCase() ] = new Object();
}
}
appendAttribute( nodeObj[ key ], attributes );
if( key != key.toLowerCase() )
{
appendAttribute( nodeObj[ key.toLowerCase() ], attributes );
}
}
else
{
nodeObj["attrs"] = attributes;
}
}
}
\ No newline at end of file diff --git a/bPod/php/cybozuLab/rssParser/RssParserException.as b/bPod/php/cybozuLab/rssParser/RssParserException.as new file mode 100644 index 0000000..6b8f9dc --- /dev/null +++ b/bPod/php/cybozuLab/rssParser/RssParserException.as @@ -0,0 +1 @@ +/*
Action script 2.0 RSS parser package
Copyright (C) 2006 Cybozu Labs, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
class: com.cybozuLab.rssParser.RssParserException
modified: 12/Jan/2006
Exception Class for RssParser package.
*/
class com.cybozuLab.rssParser.RssParserException extends Error
{
public function RssParserException( errMessage:String )
{
message = errMessage;
}
}
\ No newline at end of file diff --git a/bPod/php/cybozuLab/rssParser/Utils.as b/bPod/php/cybozuLab/rssParser/Utils.as new file mode 100644 index 0000000..ddfe31c --- /dev/null +++ b/bPod/php/cybozuLab/rssParser/Utils.as @@ -0,0 +1 @@ +/*
Action script 2.0 RSS parser package
Copyright (C) 2006 Cybozu Labs, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
class: com.cybozuLab.rssParser.Utils
modified: 20/Jan/2006
Utilities for RSS parser package.
*/
class com.cybozuLab.rssParser.Utils
{
private static var INTEND_SPACE_NUMBER:Number = 3;
static public function traceObj( targetObj:Object, hierarchyLevel:Number ):Void
{
if( hierarchyLevel == undefined )
{
hierarchyLevel = 0;
}
for( var prop in targetObj )
{
if( typeof( targetObj[prop] ) != "object" )
{
trace( makeIntendSpace( hierarchyLevel ) + prop + " : " + targetObj[prop] );
}
else
{
trace( makeIntendSpace( hierarchyLevel ) + prop );
hierarchyLevel++;
traceObj( targetObj[prop], hierarchyLevel );
hierarchyLevel--;
}
}
}
static public function objToString( targetObj:Object, hierarchyLevel:Number ):String
{
var resultStr:String = "";
if( hierarchyLevel == undefined )
{
hierarchyLevel = 0;
}
for( var prop in targetObj )
{
if( typeof( targetObj[prop] ) != "object" )
{
resultStr += makeIntendSpace( hierarchyLevel ) + prop + " : " + targetObj[prop] + "\n";
}
else
{
resultStr += makeIntendSpace( hierarchyLevel ) + prop + "\n";
hierarchyLevel++;
resultStr += objToString( targetObj[prop], hierarchyLevel );
hierarchyLevel--;
}
}
return resultStr;
}
static private function makeIntendSpace( hierarchyLevel:Number ):String
{
var resultString:String = "";
for( var i:Number=0; i < INTEND_SPACE_NUMBER * hierarchyLevel; i++ )
{
resultString += " ";
}
return resultString+"|-";
}
static public function countProperty( targetObj:Object ):Number
{
var i:Number = 0;
for( var prop in targetObj ) { i++; }
return i;
}
}
\ No newline at end of file diff --git a/bPod/rssProxy.php b/bPod/rssProxy.php new file mode 100644 index 0000000..d9c6e44 --- /dev/null +++ b/bPod/rssProxy.php @@ -0,0 +1,11 @@ +<?php +$rss = $_GET['rss']; +// make sure that some page is really being called +if ($rss && $rss != ""){ + // make sure that an http call is being made - otherwise there's access to any file on machine... + if ((strpos($rss, "http://") === 0) || (strpos($rss, "https://") === 0)){ + readfile($rss); + } +} + +?>
\ No newline at end of file diff --git a/bPod/swfobject/swfobject.js b/bPod/swfobject/swfobject.js new file mode 100644 index 0000000..7345ef0 --- /dev/null +++ b/bPod/swfobject/swfobject.js @@ -0,0 +1,138 @@ +/** + * SWFObject v1.4.4: Flash Player detection and embed - http://blog.deconcept.com/swfobject/ + * + * SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License: + * http://www.opensource.org/licenses/mit-license.php + * + * **SWFObject is the SWF embed script formerly known as FlashObject. The name was changed for + * legal reasons. + */ +if(typeof deconcept=="undefined"){var deconcept=new Object();} +if(typeof deconcept.util=="undefined"){deconcept.util=new Object();} +if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();} +deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){if(!document.getElementById){return;} +this.DETECT_KEY=_b?_b:"detectflash"; +this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY); +this.params=new Object(); +this.variables=new Object(); +this.attributes=new Array(); +if(_1){this.setAttribute("swf",_1);} +if(id){this.setAttribute("id",id);} +if(w){this.setAttribute("width",w);} +if(h){this.setAttribute("height",h);} +if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));} +this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion(); +if(c){this.addParam("bgcolor",c);} +var q=_8?_8:"high"; +this.addParam("quality",q); +this.setAttribute("useExpressInstall",_7); +this.setAttribute("doExpressInstall",false); +var _d=(_9)?_9:window.location; +this.setAttribute("xiRedirectUrl",_d); +this.setAttribute("redirectUrl",""); +if(_a){this.setAttribute("redirectUrl",_a);}}; +deconcept.SWFObject.prototype={setAttribute:function(_e,_f){ +this.attributes[_e]=_f; +},getAttribute:function(_10){ +return this.attributes[_10]; +},addParam:function(_11,_12){ +this.params[_11]=_12; +},getParams:function(){ +return this.params; +},addVariable:function(_13,_14){ +this.variables[_13]=_14; +},getVariable:function(_15){ +return this.variables[_15]; +},getVariables:function(){ +return this.variables; +},getVariablePairs:function(){ +var _16=new Array(); +var key; +var _18=this.getVariables(); +for(key in _18){_16.push(key+"="+_18[key]);} +return _16;},getSWFHTML:function(){var _19=""; +if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){ +if(this.getAttribute("doExpressInstall")){ +this.addVariable("MMplayerType","PlugIn");} +_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\""; +_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" "; +var _1a=this.getParams(); +for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";} +var _1c=this.getVariablePairs().join("&"); +if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>"; +}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");} +_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">"; +_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />"; +var _1d=this.getParams(); +for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";} +var _1f=this.getVariablePairs().join("&"); +if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";} +return _19; +},write:function(_20){ +if(this.getAttribute("useExpressInstall")){ +var _21=new deconcept.PlayerVersion([6,0,65]); +if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){ +this.setAttribute("doExpressInstall",true); +this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl"))); +document.title=document.title.slice(0,47)+" - Flash Player Installation"; +this.addVariable("MMdoctitle",document.title);}} +if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){ +var n=(typeof _20=="string")?document.getElementById(_20):_20; +n.innerHTML=this.getSWFHTML();return true; +}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}} +return false;}}; +deconcept.SWFObjectUtil.getPlayerVersion=function(){ +var _23=new deconcept.PlayerVersion([0,0,0]); +if(navigator.plugins&&navigator.mimeTypes.length){ +var x=navigator.plugins["Shockwave Flash"]; +if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));} +}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");} +catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); +_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";} +catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");} +catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}} +return _23;}; +deconcept.PlayerVersion=function(_27){ +this.major=_27[0]!=null?parseInt(_27[0]):0; +this.minor=_27[1]!=null?parseInt(_27[1]):0; +this.rev=_27[2]!=null?parseInt(_27[2]):0; +}; +deconcept.PlayerVersion.prototype.versionIsValid=function(fv){ +if(this.major<fv.major){return false;} +if(this.major>fv.major){return true;} +if(this.minor<fv.minor){return false;} +if(this.minor>fv.minor){return true;} +if(this.rev<fv.rev){ +return false; +}return true;}; +deconcept.util={getRequestParameter:function(_29){ +var q=document.location.search||document.location.hash; +if(q){var _2b=q.substring(1).split("&"); +for(var i=0;i<_2b.length;i++){ +if(_2b[i].substring(0,_2b[i].indexOf("="))==_29){ +return _2b[i].substring((_2b[i].indexOf("=")+1));}}} +return "";}}; +deconcept.SWFObjectUtil.cleanupSWFs=function(){if(window.opera||!document.all){return;} +var _2d=document.getElementsByTagName("OBJECT"); +for(var i=0;i<_2d.length;i++){_2d[i].style.display="none";for(var x in _2d[i]){ +if(typeof _2d[i][x]=="function"){_2d[i][x]=function(){};}}}}; +deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){}; +__flash_savedUnloadHandler=function(){}; +if(typeof window.onunload=="function"){ +var _30=window.onunload; +window.onunload=function(){ +deconcept.SWFObjectUtil.cleanupSWFs();_30();}; +}else{window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}}; +if(typeof window.onbeforeunload=="function"){ +var oldBeforeUnload=window.onbeforeunload; +window.onbeforeunload=function(){ +deconcept.SWFObjectUtil.prepUnload(); +oldBeforeUnload();}; +}else{window.onbeforeunload=deconcept.SWFObjectUtil.prepUnload;} +if(Array.prototype.push==null){ +Array.prototype.push=function(_31){ +this[this.length]=_31; +return this.length;};} +var getQueryParamValue=deconcept.util.getRequestParameter; +var FlashObject=deconcept.SWFObject; +var SWFObject=deconcept.SWFObject; |
