diff options
author | Sem <sembrestels@riseup.net> | 2012-07-29 04:13:33 +0200 |
---|---|---|
committer | Sem <sembrestels@riseup.net> | 2012-07-29 04:13:33 +0200 |
commit | 7a9177c9df49d6fc02280df02d6e7f6d52531382 (patch) | |
tree | 518ecb9df491374faa1062fee2d32dca61ba74a3 /vendors/uploadify/com/adobe/protocols/dict/Dict.as | |
parent | f9e9c6cb5950ccf1d1d5396caa9dbb2803aacdad (diff) | |
parent | 24ff6662195222479b4d83d41fa89edc8a3c05d1 (diff) | |
download | elgg-7a9177c9df49d6fc02280df02d6e7f6d52531382.tar.gz elgg-7a9177c9df49d6fc02280df02d6e7f6d52531382.tar.bz2 |
Merge branch 'no-flash-uploader' of git://github.com/sembrestels/Tidypics
Diffstat (limited to 'vendors/uploadify/com/adobe/protocols/dict/Dict.as')
-rw-r--r-- | vendors/uploadify/com/adobe/protocols/dict/Dict.as | 328 |
1 files changed, 0 insertions, 328 deletions
diff --git a/vendors/uploadify/com/adobe/protocols/dict/Dict.as b/vendors/uploadify/com/adobe/protocols/dict/Dict.as deleted file mode 100644 index 07d2530cf..000000000 --- a/vendors/uploadify/com/adobe/protocols/dict/Dict.as +++ /dev/null @@ -1,328 +0,0 @@ -package com.adobe.protocols.dict
-{
- import com.adobe.protocols.dict.events.*;
- import com.adobe.protocols.dict.util.*;
-
- import flash.events.Event;
- import flash.events.EventDispatcher;
- import flash.events.IOErrorEvent;
- import flash.events.ProgressEvent;
- import flash.events.SecurityErrorEvent;
- import flash.net.Socket;
- import mx.rpc.http.HTTPService;
- import mx.rpc.events.ResultEvent;
- import mx.rpc.events.FaultEvent;
- import flash.xml.XMLNode;
- import mx.utils.StringUtil;
-
- public class Dict
- extends EventDispatcher
- {
- // Event type names.
- public static var CONNECTED:String = "connected";
- public static var DISCONNECTED:String = "disconnected";
- public static var IO_ERROR:String = IOErrorEvent.IO_ERROR;
- public static var ERROR:String = "error";
- public static var SERVERS:String = "servers";
- public static var DATABASES:String = "databases";
- public static var MATCH_STRATEGIES:String = "matchStrategies";
- public static var DEFINITION:String = "definition";
- public static var DEFINITION_HEADER:String = "definitionHeader";
- public static var MATCH:String = "match";
- public static var NO_MATCH:String = "noMatch";
-
- public static var FIRST_MATCH:uint = 0;
- public static var ALL_DATABASES:uint = 1;
-
- private var socket:SocketHelper;
-
- private var dbShortList:Boolean;
-
- public function Dict()
- {
- this.socket = new SocketHelper();
- this.socket.addEventListener(Event.CONNECT, connected);
- this.socket.addEventListener(Event.CLOSE, disconnected);
- this.socket.addEventListener(SocketHelper.COMPLETE_RESPONSE, incomingData);
- this.socket.addEventListener(IOErrorEvent.IO_ERROR, ioError);
- this.socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityError);
- }
-
- public function connect(server:String, port:uint = 2628):void
- {
- if (this.socket.connected)
- {
- this.socket.close();
- }
- this.socket.connect(server, port);
- }
-
- public function connectThroughProxy(proxyServer:String,
- proxyPort:int,
- server:String,
- port:uint = 2628):void
- {
- if (this.socket.connected)
- {
- this.socket.close();
- }
- this.socket.setProxyInfo(proxyServer, proxyPort);
- this.socket.connect(server, port);
- }
-
- public function disconnect():void
- {
- this.socket.close();
- this.disconnected(null);
- }
-
- public function getServers():void
- {
- var http:HTTPService = new HTTPService();
- http.url = "http://luetzschena-stahmeln.de/dictd/xmllist.php";
- http.addEventListener(ResultEvent.RESULT, incomingServerXML);
- http.addEventListener(FaultEvent.FAULT, httpError);
- http.resultFormat = HTTPService.RESULT_FORMAT_E4X;
- http.send();
- }
-
- public function getDatabases(shortList:Boolean=true):void
- {
- this.dbShortList = shortList;
- this.socket.writeUTFBytes("show db\r\n");
- this.socket.flush();
- }
-
- public function getMatchStrategies():void
- {
- this.socket.writeUTFBytes("show strat\r\n");
- this.socket.flush();
- }
-
- public function match(database:String, term:String, scope:String="prefix"):void
- {
- this.socket.writeUTFBytes("match " + database + " " + scope + " \"" + term + "\"\r\n");
- this.socket.flush();
- }
-
- public function define(database:String, term:String):void
- {
- this.socket.writeUTFBytes("define " + database + " \"" + term + "\"\r\n");
- this.socket.flush();
- }
-
- public function lookup(term:String, scope:uint):void
- {
- var flag:String;
- if (scope == Dict.ALL_DATABASES)
- {
- flag = "*";
- }
- else if (scope == Dict.FIRST_MATCH)
- {
- flag = "!";
- }
- this.socket.writeUTFBytes("define " + flag + " \"" + term + "\"\r\n");
- this.socket.flush();
- }
-
- //// Private functions ////
-
- private function connected(event:Event):void
- {
- // Wait to dispatch an event until we get the 220 response.
- }
-
- private function disconnected(event:Event):void
- {
- dispatchEvent(new DisconnectedEvent());
- }
-
- private function incomingServerXML(event:ResultEvent):void
- {
- var dictd:Namespace = new Namespace("http://www.luetzschena-stahmeln.de/dictd/");
- var result:XML = event.result as XML;
- var server:String, description:String;
- var servers:Array = new Array();
- for each (var serverNode:XML in result.dictd::server)
- {
- server = serverNode.dictd::dictdurl;
- description = serverNode.dictd::description;
- if (StringUtil.trim(server).length != 0 &&
- StringUtil.trim(description).length != 0)
- {
- var dServer:DictionaryServer = new DictionaryServer();
- dServer.server = server.replace("dict://", "");
- dServer.description = description;
- servers.push(dServer);
- }
- }
- var dEvent:DictionaryServerEvent = new DictionaryServerEvent();
- dEvent.servers = servers;
- dispatchEvent(dEvent);
- }
-
- private function incomingData(event:CompleteResponseEvent):void
- {
- var rawResponse:String = event.response;
- var response:Response = this.parseRawResponse(rawResponse);
- var responseCode:uint = response.code;
- if (responseCode == 552) // no matches
- {
- throwNoMatchEvent(response);
- }
- else if (responseCode >= 400 && responseCode <= 599) // error
- {
- throwErrorEvent(response);
- }
- else if (responseCode == 220) // successful connection
- {
- dispatchEvent(new ConnectedEvent());
- }
- else if (responseCode == 110) // databases are being returned
- {
- throwDatabasesEvent(response);
- }
- else if (responseCode == 111) // matches strategies
- {
- throwMatchStrategiesEvent(response);
- }
- else if (responseCode == 152) // matches
- {
- throwMatchEvent(response);
- }
- else if (responseCode == 150)
- {
- throwDefinitionHeaderEvent(response);
- }
- else if (responseCode == 151)
- {
- throwDefinitionEvent(response);
- }
- }
-
- private function ioError(event:IOErrorEvent):void
- {
- dispatchEvent(event);
- }
-
- private function httpError(event:FaultEvent):void
- {
- trace("httpError!");
- }
-
- private function securityError(event:SecurityErrorEvent):void
- {
- trace("security error!");
- trace(event.text);
- }
-
- // Dispatch new events.
-
- private function throwDatabasesEvent(response:Response):void
- {
- var databases:Array = new Array();
- var responseArray:Array = response.body.split("\r\n");
- for each (var line:String in responseArray)
- {
- var name:String = line.substring(0, line.indexOf(" "));
- if (name == "--exit--")
- {
- if (this.dbShortList)
- {
- break;
- }
- continue;
- }
- var description:String = line.substring(line.indexOf(" ")+1, line.length).replace(/\"/g,"");
- databases.push(new Database(name, description));
- }
- var event:DatabaseEvent = new DatabaseEvent();
- event.databases = databases;
- dispatchEvent(event);
- }
-
- private function throwMatchStrategiesEvent(response:Response):void
- {
- var strategies:Array = new Array();
- var responseArray:Array = response.body.split("\r\n");
- for each (var line:String in responseArray)
- {
- var name:String = line.substring(0, line.indexOf(" "));
- var description:String = line.substring(line.indexOf(" ")+1, line.length).replace(/\"/g,"");
- strategies.push(new MatchStrategy(name, description));
- }
- var event:MatchStrategiesEvent = new MatchStrategiesEvent();
- event.strategies = strategies;
- dispatchEvent(event);
- }
-
- private function throwMatchEvent(response:Response):void
- {
- var matches:Array = new Array();
- var responseArray:Array = response.body.split("\r\n");
- for each (var line:String in responseArray)
- {
- var match:String = line.substring(line.indexOf(" ")+1, line.length).replace(/\"/g,"");
- matches.push(match);
- }
- var event:MatchEvent = new MatchEvent();
- event.matches = matches;
- dispatchEvent(event);
- }
-
- private function throwErrorEvent(response:Response):void
- {
- var event:ErrorEvent = new ErrorEvent();
- event.code = response.code;
- event.message = response.headerText;
- dispatchEvent(event);
- }
-
- private function throwNoMatchEvent(response:Response):void
- {
- dispatchEvent(new NoMatchEvent());
- }
-
- private function throwDefinitionHeaderEvent(response:Response):void
- {
- var event:DefinitionHeaderEvent = new DefinitionHeaderEvent();
- event.definitionCount = uint(response.headerText.substring(0, response.headerText.indexOf(" ")));
- dispatchEvent(event);
- }
-
- private function throwDefinitionEvent(response:Response):void
- {
- var event:DefinitionEvent = new DefinitionEvent();
- var def:Definition = new Definition();
- var headerText:String = response.headerText;
- var tokens:Array = headerText.match(/"[^"]+"/g);
- def.term = String(tokens[0]).replace(/"/g, "");
- def.database = String(tokens[1]).replace(/"/g, "");
- def.definition = response.body;
- event.definition = def;
- dispatchEvent(event);
- }
-
- private function parseRawResponse(rawResponse:String):Response
- {
- var response:Response = new Response();
- var fullHeader:String;
- if (rawResponse.indexOf("\r\n") != -1)
- {
- fullHeader = rawResponse.substring(0, rawResponse.indexOf("\r\n"));
- }
- else
- {
- fullHeader = rawResponse;
- }
- var responseCodeMatch:Array = fullHeader.match(/^\d{3}/);
- response.code = uint(responseCodeMatch[0]);
- response.headerText = fullHeader.substring(fullHeader.indexOf(" ")+1, fullHeader.length);
- var body:String = rawResponse.substring(rawResponse.indexOf("\r\n")+2, rawResponse.length);
- body = body.replace(/\r\n\.\./, "\r\n.");
- response.body = body;
- return response;
- }
- }
-}
\ No newline at end of file |