diff options
| author | Zaran <zaran.krleza@gmail.com> | 2012-04-06 21:53:52 -0400 |
|---|---|---|
| committer | Zaran <zaran.krleza@gmail.com> | 2012-04-06 21:53:52 -0400 |
| commit | 8a83f72870bd4a291fdcf78d5ac17727b0a7618b (patch) | |
| tree | eafed45b4ed45f38fa307658ec19a8f33fb96e72 | |
| parent | 05f8a92e9f90f58a637501b38de7b4c8b6b60619 (diff) | |
| download | alias-8a83f72870bd4a291fdcf78d5ac17727b0a7618b.tar.gz | |
Basic style for the roster.
Remove JavascriptMVC code in the angular branch
49 files changed, 22 insertions, 1920 deletions
diff --git a/alias-angular/app/css/app.css b/alias-angular/app/css/app.css index c925240..b391db1 100644 --- a/alias-angular/app/css/app.css +++ b/alias-angular/app/css/app.css @@ -1,30 +1,31 @@ /* app css stylesheet */ -.menu { - list-style: none; - border-bottom: 0.1em solid black; - margin-bottom: 2em; - padding: 0 0 0.5em; +body{ + padding: 0; + margin: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif } -.menu:before { - content: "["; +#roster{ + width: 250px; } -.menu:after { - content: "]"; +#roster ul{ + list-style:none; + padding:0; + margin:0; } -.menu > li { - display: inline; +#roster li{ + background-color: #F4F3F1; + border-bottom: 1px solid #E0E0E0; + border-top: 1px solid white; + padding: 0; + margin: 0; + padding: 1em 1em; + color: #363636; } -.menu > li:before { - content: "|"; - padding-right: 0.3em; -} - -.menu > li:nth-child(1):before { - content: ""; - padding: 0; +#roster li:hover{ + background-color: white; } diff --git a/alias-angular/app/index.html b/alias-angular/app/index.html index 709f59f..528c754 100644 --- a/alias-angular/app/index.html +++ b/alias-angular/app/index.html @@ -12,7 +12,7 @@ <input type="submit" value="Login" ng-disabled="!username"/> </form> - <div ng-controller="RosterCtl"> + <div id="roster" ng-controller="RosterCtl"> <ul> <li ng-repeat="contact in contacts">{{contact}}</li> </ul> diff --git a/alias-angular/app/js/controllers.js b/alias-angular/app/js/controllers.js index 0548675..97b44ee 100644 --- a/alias-angular/app/js/controllers.js +++ b/alias-angular/app/js/controllers.js @@ -2,8 +2,6 @@ /* App Controllers */ function ConnectCtl($scope, StropheSrv, $log, $rootScope) { - $scope.username = ''; - $scope.password = ''; function connect_callback(status){ if ( status == Strophe.Status.CONNECTING ) { $log.log('Strophe is connecting.'); @@ -43,4 +41,4 @@ function RosterCtl($scope, StropheSrv, $log) { }; } -RosterCtl.$inject = ['$scope','StropheSrv','$log'];
\ No newline at end of file +RosterCtl.$inject = ['$scope','StropheSrv','$log']; diff --git a/webclient/.gitignore b/webclient/.gitignore deleted file mode 100644 index 05d8dd4..0000000 --- a/webclient/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -production.* -docs.html -docs/ diff --git a/webclient/alias/alias.css b/webclient/alias/alias.css deleted file mode 100644 index 73068f1..0000000 --- a/webclient/alias/alias.css +++ /dev/null @@ -1,29 +0,0 @@ -body { - font-family:Lucida Sans,Lucida Grande,Arial,sans-serif; - margin:0; - line-height:22px; - width:960px; - margin:0 auto; -} -h1 { - padding:30px 0 10px; - margin-top:0; - line-height:30px; -} - -ul{ - padding:0 0 0 15px; - list-style : none; -} - -a { - color:#ae3d26; - text-decoration:none; -} - -a:hover { text-decoration:underline; } - -hr { - border:none; - border-top:1px dotted #000; -}
\ No newline at end of file diff --git a/webclient/alias/alias.html b/webclient/alias/alias.html deleted file mode 100644 index 1d98242..0000000 --- a/webclient/alias/alias.html +++ /dev/null @@ -1,21 +0,0 @@ -<!DOCTYPE HTML> -<html lang="en"> - <head> - <title>alias</title> - </head> - <body> - <h1>Welcome to JavaScriptMVC 3.2!</h1> - <ul> - <li>Steal plugins and files in <i>alias/alias.js</i>.</li> - <li>Change to production mode by changing <i>steal.js</i> to <i>steal.production.js</i> in this file.</li> - </ul> - - <div id="roster"> - - </div> - <!-- <script type='text/ejs' id='contactEJS'> --> - <!-- <li <%= this %> ><%= name %></li> --> - <!-- </script> --> - <script type='text/javascript' src='../steal/steal.js?alias'></script> - </body> -</html> diff --git a/webclient/alias/alias.js b/webclient/alias/alias.js deleted file mode 100644 index df5e4fe..0000000 --- a/webclient/alias/alias.js +++ /dev/null @@ -1,27 +0,0 @@ -steal('./alias.css', - './models/models.js', - './fixtures/fixtures.js', - 'lib/strophe/src/md5.js', - 'lib/strophe/src/sha1.js', - 'lib/strophe/src/base64.js', - 'lib/strophe/src/core.js', - 'config.js', - function(){ - function connect_callback(status){ - if ( status == Strophe.Status.CONNECTING ) { - steal.dev.log('Strophe is connecting.'); - } else if ( status == Strophe.Status.CONNFAIL ) { - steal.dev.log('Strophe failed to connect.'); - } else if ( status == Strophe.Status.DISCONNECTING ) { - steal.dev.log('Strophe is disconnecting.'); - } else if ( status == Strophe.Status.DISCONNECTED ) { - steal.dev.log('Strophe is disconnected.'); - } else if ( status == Strophe.Status.CONNECTED ) { - steal.dev.log('Strophe is connected.'); - $("#roster").roster({connection: connection}); - } - }; - // configure your application - var connection = new Strophe.Connection(BOSH_SERVICE); - connection.connect(NAME, PASSWORD, connect_callback); - });
\ No newline at end of file diff --git a/webclient/alias/fixtures/fixtures.js b/webclient/alias/fixtures/fixtures.js deleted file mode 100644 index 636837a..0000000 --- a/webclient/alias/fixtures/fixtures.js +++ /dev/null @@ -1,5 +0,0 @@ -// map fixtures for this application - -steal("jquery/dom/fixture", function(){ - -}) diff --git a/webclient/alias/funcunit.html b/webclient/alias/funcunit.html deleted file mode 100644 index 5564c46..0000000 --- a/webclient/alias/funcunit.html +++ /dev/null @@ -1,15 +0,0 @@ -<!DOCTYPE HTML> -<html> - <head> - <link rel="stylesheet" type="text/css" href="../funcunit/qunit/qunit.css" /> - <title>alias FuncUnit Test</title> - <script type='text/javascript' src='../steal/steal.js?alias/test/funcunit'></script> - </head> - <body> - <h1 id="qunit-header">alias Test Suite</h1> - <h2 id="qunit-banner"></h2> - <div id="qunit-testrunner-toolbar"></div> - <h2 id="qunit-userAgent"></h2> - <ol id="qunit-tests"></ol> - </body> -</html>
\ No newline at end of file diff --git a/webclient/alias/models/contact.js b/webclient/alias/models/contact.js deleted file mode 100644 index d5673bb..0000000 --- a/webclient/alias/models/contact.js +++ /dev/null @@ -1,32 +0,0 @@ -steal('jquery/view/ejs').then('alias/views/contact.ejs'); -steal('jquery/model/list', - 'jquery/controller', -function(){ - - $.Model('Contact', { - template: "contact.ejs", - - findAll: function(params,success,error) { - var query = $iq({type : 'get'}).c('query', {xmlns : Strophe.NS.ROSTER}); - params.connection.sendIQ(query, success); - } - }, {} ); - - $.Controller('Roster', {}, { - onRoster: function(iq) { - var elems = iq.getElementsByTagName('query'); - var query = elems[0]; - Strophe.forEachChild(query, 'item', function(item){ - var jid = item.getAttribute('jid'); - var name = item.getAttribute('name') || jid; - var contact = new Contact({jid: jid, name: name}); - $("#roster").append('contact.ejs',contact); - }); - return true; - }, - init: function() { - Contact.findAll({connection: this.options.connection}, this.onRoster); - } - - }); -});
\ No newline at end of file diff --git a/webclient/alias/models/models.js b/webclient/alias/models/models.js deleted file mode 100644 index e0f0ec7..0000000 --- a/webclient/alias/models/models.js +++ /dev/null @@ -1,2 +0,0 @@ -// steal model files -steal("jquery/model", './contact.js')
\ No newline at end of file diff --git a/webclient/alias/qunit.html b/webclient/alias/qunit.html deleted file mode 100644 index 313f62f..0000000 --- a/webclient/alias/qunit.html +++ /dev/null @@ -1,21 +0,0 @@ -<!DOCTYPE HTML> -<html> - <head> - <link rel="stylesheet" type="text/css" href="../funcunit/qunit/qunit.css" /> - <title>alias QUnit Test</title> - <script type='text/javascript'> - steal = {ignoreControllers: true} - </script> - <script type='text/javascript' src='../steal/steal.js?alias/test/qunit'></script> - </head> - <body> - - <h1 id="qunit-header">alias Test Suite</h1> - <h2 id="qunit-banner"></h2> - <div id="qunit-testrunner-toolbar"></div> - <h2 id="qunit-userAgent"></h2> - <div id="test-content"></div> - <ol id="qunit-tests"></ol> - <div id="qunit-test-area"></div> - </body> -</html>
\ No newline at end of file diff --git a/webclient/alias/scripts/build.html b/webclient/alias/scripts/build.html deleted file mode 100644 index 7c4ee74..0000000 --- a/webclient/alias/scripts/build.html +++ /dev/null @@ -1,21 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" - "http://www.w3.org/TR/html4/strict.dtd"> -<html lang="en"> - <head> - <title>alias Build Page</title> - </head> - <body> - <h1>alias Build Page</h1> - <p>This is a dummy page that loads your app so steal can - get all the files. - </p> - <p>If you built your app - to depend on HTML in the page before DOMContent loaded or - onload, you can add the HTML here, or you can change the - build.js script to point to a better html file. - </p> - <script type='text/javascript' - src='../../steal/steal.js?alias'> - </script> - </body> -</html>
\ No newline at end of file diff --git a/webclient/alias/scripts/build.js b/webclient/alias/scripts/build.js deleted file mode 100644 index ebae72b..0000000 --- a/webclient/alias/scripts/build.js +++ /dev/null @@ -1,6 +0,0 @@ -//js alias/scripts/build.js - -load("steal/rhino/rhino.js"); -steal('steal/build').then('steal/build/scripts','steal/build/styles',function(){ - steal.build('alias/scripts/build.html',{to: 'alias'}); -}); diff --git a/webclient/alias/scripts/clean.js b/webclient/alias/scripts/clean.js deleted file mode 100644 index b390fef..0000000 --- a/webclient/alias/scripts/clean.js +++ /dev/null @@ -1,17 +0,0 @@ -//steal/js alias/scripts/compress.js - -load("steal/rhino/rhino.js"); -steal('steal/clean',function(){ - steal.clean('alias/alias.html',{ - indent_size: 1, - indent_char: '\t', - jslint : false, - ignore: /jquery\/jquery.js/, - predefined: { - steal: true, - jQuery: true, - $ : true, - window : true - } - }); -}); diff --git a/webclient/alias/scripts/crawl.js b/webclient/alias/scripts/crawl.js deleted file mode 100644 index 9022e25..0000000 --- a/webclient/alias/scripts/crawl.js +++ /dev/null @@ -1,7 +0,0 @@ -// load('alias/scripts/crawl.js') - -load('steal/rhino/rhino.js') - -steal('steal/html/crawl', function(){ - steal.html.crawl("alias/alias.html","alias/out") -}); diff --git a/webclient/alias/scripts/docs.js b/webclient/alias/scripts/docs.js deleted file mode 100644 index 5da7184..0000000 --- a/webclient/alias/scripts/docs.js +++ /dev/null @@ -1,8 +0,0 @@ -//js alias/scripts/doc.js - -load('steal/rhino/rhino.js'); -steal("documentjs").then(function(){ - DocumentJS('alias/alias.html', { - markdown : ['alias'] - }); -});
\ No newline at end of file diff --git a/webclient/alias/test/funcunit/alias_test.js b/webclient/alias/test/funcunit/alias_test.js deleted file mode 100644 index 40c225d..0000000 --- a/webclient/alias/test/funcunit/alias_test.js +++ /dev/null @@ -1,11 +0,0 @@ -steal("funcunit", function(){ - module("alias test", { - setup: function(){ - S.open("//alias/alias.html"); - } - }); - - test("Copy Test", function(){ - equals(S("h1").text(), "Welcome to JavaScriptMVC 3.2!","welcome text"); - }); -})
\ No newline at end of file diff --git a/webclient/alias/test/funcunit/funcunit.js b/webclient/alias/test/funcunit/funcunit.js deleted file mode 100644 index 234b53b..0000000 --- a/webclient/alias/test/funcunit/funcunit.js +++ /dev/null @@ -1,2 +0,0 @@ -steal("funcunit") - .then("./alias_test.js");
\ No newline at end of file diff --git a/webclient/alias/test/qunit/alias_test.js b/webclient/alias/test/qunit/alias_test.js deleted file mode 100644 index f3037b0..0000000 --- a/webclient/alias/test/qunit/alias_test.js +++ /dev/null @@ -1,7 +0,0 @@ -steal("funcunit/qunit", function(){ - module("alias"); - - test("alias testing works", function(){ - ok(true,"an assert is run"); - }); -})
\ No newline at end of file diff --git a/webclient/alias/test/qunit/contact_test.js b/webclient/alias/test/qunit/contact_test.js deleted file mode 100644 index e4c8b23..0000000 --- a/webclient/alias/test/qunit/contact_test.js +++ /dev/null @@ -1,51 +0,0 @@ -steal("funcunit/qunit", "alias/fixtures", "alias/models/contact.js", function(){ - module("Model: Alias.Models.Contact") - - test("findAll", function(){ - expect(4); - stop(); - Alias.Models.Contact.findAll({}, function(contacts){ - ok(contacts) - ok(contacts.length) - ok(contacts[0].name) - ok(contacts[0].description) - start(); - }); - - }) - - test("create", function(){ - expect(3) - stop(); - new Alias.Models.Contact({name: "dry cleaning", description: "take to street corner"}).save(function(contact){ - ok(contact); - ok(contact.id); - equals(contact.name,"dry cleaning") - contact.destroy() - start(); - }) - }) - test("update" , function(){ - expect(2); - stop(); - new Alias.Models.Contact({name: "cook dinner", description: "chicken"}). - save(function(contact){ - equals(contact.description,"chicken"); - contact.update({description: "steak"},function(contact){ - equals(contact.description,"steak"); - contact.destroy(); - start(); - }) - }) - - }); - test("destroy", function(){ - expect(1); - stop(); - new Alias.Models.Contact({name: "mow grass", description: "use riding mower"}). - destroy(function(contact){ - ok( true ,"Destroy called" ) - start(); - }) - }) -})
\ No newline at end of file diff --git a/webclient/alias/test/qunit/qunit.js b/webclient/alias/test/qunit/qunit.js deleted file mode 100644 index f025b68..0000000 --- a/webclient/alias/test/qunit/qunit.js +++ /dev/null @@ -1 +0,0 @@ -steal("funcunit/qunit", "./alias_test.js", './contact_test.js');
\ No newline at end of file diff --git a/webclient/config.js.sample b/webclient/config.js.sample deleted file mode 100644 index 3a0aae6..0000000 --- a/webclient/config.js.sample +++ /dev/null @@ -1,4 +0,0 @@ -var BOSH_SERVICE = 'http://alias.im/http-bind'; -var server_component = 'social.alias.im'; -var NAME = "zaran@alias.im"; -var PASSWORD = "xxxx";
\ No newline at end of file diff --git a/webclient/documentjs b/webclient/documentjs deleted file mode 160000 -Subproject fb234cc7ae5f7c2a86b3af7289af07326aa7a7d diff --git a/webclient/favicon.ico b/webclient/favicon.ico Binary files differdeleted file mode 100644 index 8815cea..0000000 --- a/webclient/favicon.ico +++ /dev/null diff --git a/webclient/funcunit b/webclient/funcunit deleted file mode 160000 -Subproject e3135ca1da1a00df42c17e51b80b47b934b6199 diff --git a/webclient/jquery b/webclient/jquery deleted file mode 160000 -Subproject 3e2c03046ca2047a1e7b65fbec308955264b44b diff --git a/webclient/js b/webclient/js deleted file mode 100755 index 0d5b9d9..0000000 --- a/webclient/js +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# This script checks for arguments, if they don't exist it opens the Rhino dialog -# if arguments do exist, it loads the script in the first argument and passes the other arguments to the script -# ie: ./js steal/script/controller Todo - -if [ $# -eq 0 ] -then - java -cp steal/rhino/js.jar:funcunit/java/selenium-java-client-driver.jar org.mozilla.javascript.tools.shell.Main - exit 127 -fi -CP=funcunit/java/selenium-java-client-driver.jar:steal/rhino/js.jar - -ERRORLEV=0 -if [ $1 = "-e" ] -then - ERRORLEV=1 - shift -fi - -if [ $1 = "-h" -o $1 = "-?" -o $1 = "--help" ] -then -echo Load a command line Rhino JavaScript environment or run JavaScript script files in Rhino. -echo Available commands: -echo -e "./js\t\t\t\tOpens a command line JavaScript environment" -echo -e "./js -d\t\t\t\tOpens the Rhino debugger" -echo -e "./js [FILE]\t\t\tRuns FILE in the Rhino environment" -echo -e "" -echo -e "JavaScriptMVC script usage:" -echo -e "./js steal/generate/app [NAME]\t\tCreates a new JavaScriptMVC application" -echo -e "./js steal/generate/page [APP] [PAGE]\tGenerates a page for the application" -echo -e "./js steal/generate/controller [NAME]\tGenerates a Controller file" -echo -e "./js steal/generate/model [TYPE] [NAME]\tGenerates a Model file" -echo -e "./js apps/[NAME]/compress.js\t\tCompress your application and generate documentation" - exit 127 -fi - -if [ $1 = "-d" ] -then - java -classpath steal/rhino/js.jar:steal/rhino/selenium-java-client-driver.jar org.mozilla.javascript.tools.debugger.Main - exit 127 -fi - -ARGS=[ -for arg -do - if [ $arg != $1 ] - then - ARGS=$ARGS"'$arg'", - fi -done -ARGS=$ARGS] -java -Xmx512m -Xss1024k -cp $CP org.mozilla.javascript.tools.shell.Main -e _args=$ARGS -opt -1 -e 'load('"'"$1"'"')' - -if [ $ERRORLEV = "1" -a $? = "1" ] -then - exit $? -fi diff --git a/webclient/js.bat b/webclient/js.bat deleted file mode 100644 index ee1a8d7..0000000 --- a/webclient/js.bat +++ /dev/null @@ -1,65 +0,0 @@ -:: This script checks for arguments, if they don't exist it opens the Rhino dialog -:: if arguments do exist, it loads the script in the first argument and passes the other arguments to the script -:: ie: js jmvc\script\controller Todo -@echo off -SETLOCAL ENABLEDELAYEDEXPANSION -if "%1"=="" ( - java -cp steal\rhino\js.jar org.mozilla.javascript.tools.shell.Main - GOTO END -) -if "%1"=="-h" GOTO PRINT_HELP -if "%1"=="-?" GOTO PRINT_HELP -if "%1"=="--help" GOTO PRINT_HELP - -if "%1"=="-d" ( - java -classpath funcunit/java/selenium-java-client-driver.jar;steal/rhino/js.jar org.mozilla.javascript.tools.debugger.Main - GOTO END -) -SET CP=funcunit/java/selenium-java-client-driver.jar;steal\rhino\js.jar -SET ERRORLEV=0 -if "%1"=="-e" ( - SET ERRORLEV=1 - SHIFT /1 -) -SET ARGS=[ -SET FILENAME=%1 -SET FILENAME=%FILENAME:\=/% -::haven't seen any way to loop through all args yet, so for now this goes through arg 2-7 -::dos sucks and for some reason this structure doesn't respect the shift, so we branch -if "%ERRORLEV%"=="1" ( - for /f "tokens=3,4,5,6,7,8 delims= " %%a in ("%*") do SET ARGS=!ARGS!'%%a','%%b','%%c','%%d','%%e','%%f' -) ELSE ( - for /f "tokens=2,3,4,5,6,7 delims= " %%a in ("%*") do SET ARGS=!ARGS!'%%a','%%b','%%c','%%d','%%e','%%f' -) -::remove the empty args -:: for %%a in (",''=") do ( call set ARGS=%%ARGS:%%~a%% ) -SET ARGS=%ARGS:,''=% -::remove the spaces -:: for /f "tokens=1*" %%A in ("%ARGS%") do SET ARGS=%%A -SET ARGS=%ARGS: =% -SET ARGS=%ARGS%] -set ARGS=%ARGS:\=/% -java -Xmx512m -Xss1024k -cp %CP% org.mozilla.javascript.tools.shell.Main -opt -1 -e _args=%ARGS% -e load('%FILENAME%') - -if "%ERRORLEV%"=="1" ( - if errorlevel 1 exit 1 -) - -GOTO END - -:PRINT_HELP -echo Load a command line Rhino JavaScript environment or run JavaScript script files in Rhino. -echo Available commands: -echo js Opens a command line JavaScript environment -echo js -d Opens the Rhino debugger -echo js -selenium Starts selenium server -echo js [FILE] Runs FILE in the Rhino environment - -echo JavaScriptMVC script usage: -echo js steal/generate/app [NAME] Creates a new JavaScriptMVC application -echo js steal/generate/page [APP] [PAGE] Generates a page for the application -echo js steal/generate/controller [NAME] Generates a Controller file -echo js steal/generate/model [TYPE] [NAME] Generates a Model file -echo js apps/[NAME]/compress.js Compress your application and generate documentation - -:END diff --git a/webclient/lib/alias.js b/webclient/lib/alias.js deleted file mode 100644 index 5e4714d..0000000 --- a/webclient/lib/alias.js +++ /dev/null @@ -1,502 +0,0 @@ -/** - * Alias namespace - */ -var Alias = { - - /** - * Status constants - */ - Status: { - ONLINE: 2, - AWAY: 1, - OFFLINE: 0 - }, - - /** - * Strophe xmpp connection - */ - connection: null, - - /** - * Send registration request to the component - */ - getRegister: function() { - var init = $iq({to: server_component, type:'get'}); - init.c('query',{xmlns:'jabber:iq:register'}); - Alias.connection.sendIQ(init, Alias.onRegister); - }, - - /** - * Receive registration data - */ - onRegister: function(iq) { - var form = $(iq).find('query x'); - if ($(iq).find('registered').length !== 0){ - // user is registered, get the info from the form - var pubkey = form.find('field[var="pubkey"] > value').text(); - var privkey = form.find('field[var="privkey"] > value').text(); - privkey = sjcl.decrypt(Alias.connection.pass, privkey); - pubkey = JSON.parse(pubkey); - privkey = JSON.parse(privkey); - var rsa = new RSAKey(); - rsa.setPublic(pubkey.n, pubkey.e); - rsa.setPrivateEx(pubkey.n, pubkey.e, privkey.d, - privkey.p, privkey.q, privkey.dp, - privkey.dq, privkey.c); - this.rsa = rsa; - } - else{ - $('#register').empty(); - //populate the register dialog - var instructions = $(iq).find('instructions'); - if ( instructions.length !== 0 ){ - $('#register').append('<p>' + instructions.text() + '</p>'); - } - $('#register').append('<p><a href="#" id="generate-link">Generate</a></p>'); - var result = form.xmppForm('render'); - $('#register').append(result); - $('#register').append('<input type="button" value="Register" id="register-button"/>'); - - $('#generate-link').click(function(){ - var rsa = new RSAKey(); - rsa.generate(1024, "10001"); - var pubkey = { - n: rsa.n.toString(16), - e: rsa.e.toString(16) - }; - var privkey = { - d: rsa.d.toString(16), - p: rsa.p.toString(16), - q: rsa.q.toString(16), - dp: rsa.dmp1.toString(16), - dq: rsa.dmq1.toString(16), - c: rsa.coeff.toString(16) - }; - privkey = sjcl.encrypt(Alias.connection.pass, JSON.stringify(privkey)); - $("#form-pubkey").val(JSON.stringify(pubkey)); - $("#form-privkey").val(privkey); - }); - - $('#register-button').click(function(){ - var pubkey = $('<value></value').text($("#form-pubkey").val()); - var privkey = $('<value></value').text($("#form-privkey").val()); - form.find('field[var="privkey"]').append(privkey); - form.find('field[var="pubkey"]').append(pubkey); - form.attr('type', 'submit'); - var reg = $iq({to: server_component, type:'set'}); - reg.c('query',{xmlns:'jabber:iq:register'}); - reg.cnode(form.get(0)); - Alias.connection.sendIQ(reg); - $('#dialogs').dialog('hide', 'register') - }); - $('#dialogs').dialog('show', 'register'); - } - }, - - /** - * Send a roster request to server - */ - getRoster: function() { - var roster = $iq({type : 'get'}).c('query', {xmlns : Strophe.NS.ROSTER}); - Alias.connection.sendIQ(roster, Alias.onRoster); - }, - - /** - * Return the status of a contact - * @param {jQuery} contact The contact - * @return {Number} The status' number - * @see Alias.Status - */ - getPresence: function(contact) { - if ( contact.hasClass("online") ) - return Alias.Status["ONLINE"]; - else if ( contact.hasClass("away") ) - return Alias.Status["AWAY"]; - else - return Alias.Status["OFFLINE"]; - }, - - /** - * Convert a jid to an id string suitable for css id - * @param {String} jid - * @return {String} id - */ - jid_to_id: function(jid) { - return Strophe.getBareJidFromJid(jid).replace(/[@.]/g,'-'); - }, - - /** - * Return the id of a contact - * @param contact jquery object - * @return {String} id - */ - getID: function(contact) { - return contact.find('.roster-jid').text(); - }, - - /** - * Return the name of a contact - */ - getName : function(contact) { - return contact.find('.roster-name').text(); - }, - - /** - * Get the home node of a user - * @param {String} owner The owner's JID - */ - getHome: function(owner) { - //var objectName = MD5.hexdigest(owner); - var objectName = sjcl.codec.hex.fromBits(sjcl.hash.sha256.hash(owner)) - Alias.getObject(objectName, owner); - }, - - /** - * Get the content of an object - * @param {String} object The hash identifying the requested object - * @param {String} owner The owner's JID - */ - getObject: function(object, owner) { - var name = Base64.encode(owner) + '@' + server_component; - var iq = $iq({type : 'get', to : name}).c('query', { - xmlns : 'alias:iq:object', - type : 'get', - node : object - }); - Alias.connection.sendIQ(iq, Alias.onObject); - }, - - /** - * Decrypt and display a received object - * @param {XMLElement} iq The received iq stanza from the component - */ - onObject: function(iq) { - var query = $(iq).find('query'); - var encryptedKey = query.find('key').text(); - var key = this.rsa.decrypt(encryptedKey); - var encryptedContent = query.find('content').text(); - var content = sjcl.decrypt(sjcl.codec.base64.toBits(key), encryptedContent); - $('#profile').html(content); - }, - - /** - * Insert a contact keeping the sorting of the roster - * The contacts are sorted based on their status and on their names - * @param {jQuery} contact The contact to insert - */ - insertContact: function(contact) { - var presence = Alias.getPresence(contact); - var jid = Alias.getID(contact); - var contacts = $('#roster li'); - if (contacts.length > 0) { - var inserted = false; - contacts.each(function () { - var locpres = Alias.getPresence($(this)); - var locjid = Alias.getID($(this)); - if (presence > locpres) - { - $(this).before(contact); - inserted = true; - return false; - } - else if ( (presence == locpres) && (jid < locjid) ) - { - $(this).before(contact); - inserted = true; - return false; - } - }); - - if (!inserted) - $('#roster ul').append(contact); - } - else - $('#roster ul').append(contact); - - // init tooltip - contact.tipTip({ - content: "<ul><li>Jid: " + jid - + '</li><li><a href="'+ jid - +'" class="chat-link">Start Chat</a></li></ul>', - defaultPosition: "right", - keepAlive: true - }); - }, - - /** - * Update the roster when receiving a presence stanza - * @param {XMLElement} presence The presence stanza - * @returns {Boolean} - */ - onPresence: function(presence) { - var who = $(presence).attr('from'); - var type = $(presence).attr('type'); - if (type !== 'error') - { - var contact = $('#' + Alias.jid_to_id(who)); - contact.removeClass('online away offline'); - if (type === 'unavailable') - { - contact.addClass('offline'); - } - else - { - var show = $(presence).find('show').text(); - if (show === '' || show === '') - { - contact.addClass('online'); - } - else - { - contact.addClass('away'); - } - } - contact.remove(); - Alias.insertContact(contact); - } - return true; - }, - - /** - * Rebuild the contact list when receiving a roster iq - * @param {XMLElement} iq - * @return {Boolean} - */ - onRoster: function(iq) { - $('#roster li').remove(); - var elems = iq.getElementsByTagName('query'); - var query = elems[0]; - Strophe.forEachChild(query, 'item', function(item) - { - var jid = item.getAttribute('jid'); - var name = item.getAttribute('name') || jid; - var id = Alias.jid_to_id(jid); - var contact = $("<li id='" + id + "' class='roster-contact offline'>" - + "<div class='roster-name'>" + name + "</div>" - + "<div class='roster-jid'>" + jid + "</div></li>"); - Alias.insertContact(contact); - }); - Alias.connection.addHandler(Alias.onPresence,null,'presence', null, null, null, null); - Alias.connection.send($pres()); - return true; - }, - - /** - * Called when the status of Strophe's connection changes. - * This function is passed to the Strophe's connect function - * @param {Int} status The new status - */ - onStatusChanged: function(status) { - var jid = $('#jid').get(0).value; - if ( status == Strophe.Status.CONNECTING ) { - log('Strophe is connecting.'); - } else if ( status == Strophe.Status.CONNFAIL ) { - log('Strophe failed to connect.'); - } else if ( status == Strophe.Status.DISCONNECTING ) { - log('Strophe is disconnecting.'); - } else if ( status == Strophe.Status.DISCONNECTED ) { - log('Strophe is disconnected.'); - } else if ( status == Strophe.Status.CONNECTED ) { - log('Strophe is connected.'); - Alias.onConnect(); - } - }, - - /** - * Initialization after connection - * - * Set the interface and the handlers - */ - onConnect: function() { - Alias.getRoster(); - Alias.getRegister(); - - // hide the login dialog and load the interface - $('#login').hide(); - $('#password').val(''); - $('#left').show(); - $('#right').show(); - $('#status').append($('<a href="#" id="disconnect">Disconnect</a>')); - $('#disconnect').click(function(){ - Alias.connection.disconnect(); - $('#roster ul').empty(); - $('#left').hide(); - $('#right').hide(); - $('#login').hide(); - $(this).remove(); - }); - - // handlers must be added only after connection is made - Alias.connection.addHandler(Alias.onMessage, null, "message", "chat"); - }, - - /** - * Add a new chat tab - * @param {String} jid The jid of the contact to chat with - */ - addChatTab: function(jid) { - var jid_id = Alias.jid_to_id(jid); - $('#tabs').tabs('add', jid, 'chat-' + jid_id, true); - $('#chat-' + jid_id).addClass('chat-tab'); - $('#chat-' + jid_id).append("<div class='chat-messages'></div>" - + "<input type='text' class='chat-input'>"); - $('#chat-' + jid_id).data({jid: jid}); - }, - - /** - * Add a chat message - * @param {String} chatId The id of the chat tab - * @param {String} authorId The jid of the message's author - * @param {String} body The text of the message - */ - addMessage: function(chatId, authorId, body) { - var author = Strophe.getNodeFromJid( authorId ); - var message = $('<p class="chat-message"><span class="chat-name">' - + author + '</span> <span class="chat-text">' - + body + '</span></p>'); - - if ( authorId == Alias.connection.jid ) { - message.find('.chat-name').addClass('me'); - } - - var chatArea = $('#chat-' + chatId).find('.chat-messages'); - chatArea.append(message); - chatArea.scrollTop(chatArea.height()); - }, - - /** - * Callback upon receiving a chat message - * @param {String} message The xml code of the message iq - * @return {Boolean} - */ - onMessage: function (message) { - var full_jid = $(message).attr('from'); - var jid = Strophe.getBareJidFromJid(full_jid); - var jid_id = Alias.jid_to_id(jid); - - if ( !$('#tabs').tabs('exist','#chat-' + jid_id) ) { - Alias.addChatTab(jid); - } - - $('#chat-' + jid_id).data({jid: full_jid}); - var body = $(message).find("html > body"); - - if (body.length === 0) { - body = $(message).find('body'); - - if (body.length > 0) { - body = body.text(); - } else { - body = null; - } - - } else { - body = body.contents(); - var span = $("<span></span>"); - - body.each(function () { - - if (document.importNode) { - $(document.importNode(this, true)).appendTo(span); - } else { - // IE workaround - span.append(this.xml); - } - - }); - body = span; - } - - if (body) { - Alias.addMessage( jid_id, jid , body); - } - - return true; - } - -}; - -function log(msg, color) { - $('#log').append($('<div></div>').css('background-color', color).text(msg)); -} - -function rawInput(data) { - log('RECV: ' + data, '#FBB6B4'); -} - -function rawOutput(data) { - log('SENT: ' + data, '#B5BBFB'); -} - -jQuery.expr[':'].Contains = function(a,i,m){ - return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0; -}; - -$(document).ready(function(){ - var connection = new Strophe.Connection(BOSH_SERVICE); - connection.rawInput = rawInput; - connection.rawOutput = rawOutput; - Alias.connection = connection; - - $('#connect').click(function () { - Alias.connection.connect($('#jid').get(0).value, - $('#pass').get(0).value, - Alias.onStatusChanged); - }); - - $('#pass').keyup(function(event) { - if(event.keyCode == 13) { - $('#connect').click() - } - }); - - $('#bottomup').click(function(){ - $(this).next().slideToggle(); - }); - - $('#tabs').tabs(); - - $('#rosterfilter').keyup(function() { - var filter = $(this).val(); - $('#roster ul li div.roster-name:not(:Contains("' + filter + '"))').parent().hide(); - $('#roster ul li div.roster-name:Contains("' + filter + '")').parent().show(); - }); - - $('.roster-contact').live('click', function(){ - var jid = Alias.getID($(this)); - Alias.getHome(jid); - }); - - $('.chat-link').live('click', function(event) { - event.preventDefault(); - var jid = $(this).attr('href'); - var id = Alias.jid_to_id(jid); - if ( !$('#tabs').tabs('exist','#chat-' + id) ) { - Alias.addChatTab(jid); - } - $('#tabs').tabs('select', '#chat-' + id ); - $('#chat-' + id + ' input').focus(); - }); - - $('.chat-input').live('keypress', function (ev) { - var jid = $(this).parent().data('jid'); - var id = Alias.jid_to_id(jid); - var me = Alias.connection.jid; - - if (ev.which === 13) { - ev.preventDefault(); - - var body = $(this).val(); - var message = $msg({to: jid, "type": "chat"}) - .c('body').t(body).up() - .c('active', {xmlns: "http://jabber.org/protocol/chatstates"}); - Alias.connection.send(message); - Alias.addMessage(id, me, body); - $(this).val(''); - } - }); - - $('#dialogs').dialog(); -}); - - diff --git a/webclient/lib/config.js.sample b/webclient/lib/config.js.sample deleted file mode 100644 index 9339c27..0000000 --- a/webclient/lib/config.js.sample +++ /dev/null @@ -1,2 +0,0 @@ -var BOSH_SERVICE = 'http://alias.im/http-bind'; -var server_component = 'social.alias.im';
\ No newline at end of file diff --git a/webclient/lib/jquery.dialog.js b/webclient/lib/jquery.dialog.js deleted file mode 100644 index 1a5679e..0000000 --- a/webclient/lib/jquery.dialog.js +++ /dev/null @@ -1,63 +0,0 @@ -/** - * jQuery dialog plugin - * - * <div id="dialogs"> - * <div id="#dialog-overlay"></div> - * <div class="dialog" id="dialog1"></div> - * <div class="dialog" id="dialog2"></div> - * </div> - */ -(function( $ ){ - - var methods = { - - init: function(){ - this.data('dialog', {opened: []}); - this.find('#dialog-overlay').bind('click.dialog', function(){ - $(this).parent().dialog('hide'); - }); - }, - - show: function(name){ - var maskHeight = $(document).height(); - var maskWidth = $(window).width(); - var overlay = this.find('#dialog-overlay'); - overlay.css({'width':maskWidth,'height':maskHeight}); - var winH = $(window).height(); - var winW = $(window).width(); - var dialog = this.find('#'+name); - dialog.css('top', winH/2-dialog.height()/2); - dialog.css('left', winW/2-dialog.width()/2); - this.data('dialog').opened.push(name); - overlay.show(); - dialog.show(); - }, - - hide: function(){ - var name = this.data('dialog').opened.pop(); - var dialog = this.find('#'+name); - var overlay = this.find('#dialog-overlay'); - dialog.hide(); - if (this.data('dialog').opened.length === 0){ - overlay.hide(); - } - } - }; - - /* - * Register the 'dialog' method to the jQuery objects - * the first argument of this method is the submethod - * you want to call - */ - $.fn.dialog = function(method) { - if ( methods[method] ) { - return methods[method].apply(this, Array.prototype.slice - .call(arguments, 1)); - } else if ( typeof method === 'object' || !method ) { - return methods.init.apply(this, arguments); - } else { - $.error('Method ' + method + ' does not exist on jQuery.dialog'); - } - }; - -})(jQuery);
\ No newline at end of file diff --git a/webclient/lib/jquery.forms.js b/webclient/lib/jquery.forms.js deleted file mode 100644 index e9a5258..0000000 --- a/webclient/lib/jquery.forms.js +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Form manipulation with jQuery - */ -(function( $ ){ - - var methods = { - - render: function(){ - var result = $('<form></form>'); - if ( this.find('title').length !== 0 ){ - result.append('<p class="title">' + this.find('title') + '</p>'); - } - - if ( this.find('instructions').length !== 0 ){ - result.append('<p class="instructions">' - + this.find('instructions') + '</p>'); - } - - this.find('field').each(function(index){ - var type = $(this).attr("type"); - var name = $(this).attr("var"); - var required = $(this).find('required').length !== 0; - - if ( $(this).find('desc').length !== 0 ){ - result.append('<p class="description">' - + $(this).find('desc').text() - + '</p>'); - } - - if ( $(this).attr('label') !== undefined ){ - result.append('<label for="form-' + name + '">' - + $(this).attr('label') - + (required ? ' (*): ' : ': ') - + '</label>'); - } - - switch(type){ - case("text-single"): - var input = $('<input/>'); - input.attr('type', 'text'); - input.attr('name', name); - input.attr('id', 'form-' + name); - - if ( $(this).find('value').length !== 0 ){ - input.attr('value', $(this).find('value').text()); - } - result.append(input); - result.append('<br/>'); - } - }); - return result; - } - }; - - /* - * Register the 'xmppForm' method to the jQuery objects - * the first argument of this method is the submethod - * you want to call - */ - $.fn.xmppForm = function(method) { - if ( methods[method] ) { - return methods[method].apply(this, Array.prototype.slice - .call(arguments, 1)); - } else if ( typeof method === 'object' || !method ) { - return methods.init.apply(this, arguments); - } else { - $.error('Method ' + method + ' does not exist on jQuery.xmppForm'); - } - }; - -})(jQuery);
\ No newline at end of file diff --git a/webclient/lib/jquery.tabs.js b/webclient/lib/jquery.tabs.js deleted file mode 100644 index 7898afa..0000000 --- a/webclient/lib/jquery.tabs.js +++ /dev/null @@ -1,121 +0,0 @@ -/** - * Light jQuery tab plugin - * - * the html structure is: - * - * <div id="generalid"> - * <ul class="tabbar"> - * <li><a href="#tab-1">Title 1</a></li> - * </ul> - * <div id="tab-1"> - * Content 1 - * </div> - * </div> - */ -(function( $ ){ - - var methods = { - - /** - * Initialise the general tab area - * @return this (to preserve chainability) - */ - init: function() { - var tabs = this; - this.find('ul.tabbar li').bind('click.tabs', function(event){ - event.preventDefault(); - tabs.tabs('select',$(this).find('a').attr('href')); - }); - this.data('tabs',{}); - return this; - }, - - /** - * Select a tab - * @param {String} id The tab id with # - * @return this - */ - select: function(id) { - var selectedId = this.data('tabs').selected; - - if ( selectedId == id) { - return this; - } - - this.find('ul.tabbar li a[href="' + selectedId + '"]').parent().removeClass('selected'); - this.find('ul.tabbar li a[href="' + id + '"]').parent().addClass('selected'); - $(selectedId).hide(); - $(id).show(); - this.data('tabs').selected = id; - return this; - }, - - /** - * Add a tab - * @param {String} name The tab Title - * @param {String} id The tab id without # - * @pram {Bool} remove Wether the tab should be closable - * return this - */ - add: function(name, id, remove) { - var tabs = this; - var li = $('<li><a href="#' + id + '">' + name +'</a></li>'); - - if ( remove ) { - li.append('<span class="tab-close"/>'); - li.find('.tab-close').bind('click', function() { - tabs.tabs('remove', '#'+id); - }); - } - - li.bind('click.tabs',function(event){ - event.preventDefault(); - tabs.tabs('select',$(this).find('a').attr('href')); - }); - $(this).find('ul.tabbar').append(li); - $(this).append('<div class="tab" id="' + id + '"></div>'); - return this; - }, - - /** - * Test if a tab exists - * @param {String} id The tab id with # - * @return {Bool} - */ - exist: function(id) { - return (this.find('ul.tabbar li a[href="' + id + '"]').length != 0); - }, - - /** - * Remove a tab - * @param {String} id The tab id with # - * @return this - */ - remove: function(id) { - this.find('ul.tabbar li a[href="' + id + '"]').parent().remove(); - $(id).remove(); - - if (this.data('tabs').selected == id) { - var first = this.find('ul.tabbar li:first a').attr('href'); - this.tabs('select', first); - } - } - }; - - /* - * Register the 'tabs' method to the jQuery objects - * the first argument of this method is the submethod - * you want to call - */ - $.fn.tabs = function(method) { - if ( methods[method] ) { - return methods[method].apply(this, Array.prototype.slice - .call(arguments, 1)); - } else if ( typeof method === 'object' || !method ) { - return methods.init.apply(this, arguments); - } else { - $.error('Method ' + method + ' does not exist on jQuery.tabs'); - } - }; - -})(jQuery);
\ No newline at end of file diff --git a/webclient/lib/jquery.tipTip.js b/webclient/lib/jquery.tipTip.js deleted file mode 100644 index 7eacf35..0000000 --- a/webclient/lib/jquery.tipTip.js +++ /dev/null @@ -1,191 +0,0 @@ - /* - * TipTip - * Copyright 2010 Drew Wilson - * www.drewwilson.com - * code.drewwilson.com/entry/tiptip-jquery-plugin - * - * Version 1.3 - Updated: Mar. 23, 2010 - * - * This Plug-In will create a custom tooltip to replace the default - * browser tooltip. It is extremely lightweight and very smart in - * that it detects the edges of the browser window and will make sure - * the tooltip stays within the current window size. As a result the - * tooltip will adjust itself to be displayed above, below, to the left - * or to the right depending on what is necessary to stay within the - * browser window. It is completely customizable as well via CSS. - * - * This TipTip jQuery plug-in is dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - */ - -(function($){ - $.fn.tipTip = function(options) { - var defaults = { - activation: "hover", - keepAlive: false, - maxWidth: "200px", - edgeOffset: 3, - defaultPosition: "bottom", - delay: 400, - fadeIn: 200, - fadeOut: 200, - attribute: "title", - content: false, // HTML or String to fill TipTIp with - enter: function(){}, - exit: function(){} - }; - var opts = $.extend(defaults, options); - - // Setup tip tip elements and render them to the DOM - if($("#tiptip_holder").length <= 0){ - var tiptip_holder = $('<div id="tiptip_holder" style="max-width:'+ opts.maxWidth +';"></div>'); - var tiptip_content = $('<div id="tiptip_content"></div>'); - var tiptip_arrow = $('<div id="tiptip_arrow"></div>'); - $("body").append(tiptip_holder.html(tiptip_content).prepend(tiptip_arrow.html('<div id="tiptip_arrow_inner"></div>'))); - } else { - var tiptip_holder = $("#tiptip_holder"); - var tiptip_content = $("#tiptip_content"); - var tiptip_arrow = $("#tiptip_arrow"); - } - - return this.each(function(){ - var org_elem = $(this); - if(opts.content){ - var org_title = opts.content; - } else { - var org_title = org_elem.attr(opts.attribute); - } - if(org_title != ""){ - if(!opts.content){ - org_elem.removeAttr(opts.attribute); //remove original Attribute - } - var timeout = false; - - if(opts.activation == "hover"){ - org_elem.hover(function(){ - active_tiptip(); - }, function(){ - if(!opts.keepAlive){ - deactive_tiptip(); - } - }); - if(opts.keepAlive){ - tiptip_holder.hover(function(){}, function(){ - deactive_tiptip(); - }); - } - } else if(opts.activation == "focus"){ - org_elem.focus(function(){ - active_tiptip(); - }).blur(function(){ - deactive_tiptip(); - }); - } else if(opts.activation == "click"){ - org_elem.click(function(){ - active_tiptip(); - return false; - }).hover(function(){},function(){ - if(!opts.keepAlive){ - deactive_tiptip(); - } - }); - if(opts.keepAlive){ - tiptip_holder.hover(function(){}, function(){ - deactive_tiptip(); - }); - } - } - - function active_tiptip(){ - opts.enter.call(this); - tiptip_content.html(org_title); - tiptip_holder.hide().removeAttr("class").css("margin","0"); - tiptip_arrow.removeAttr("style"); - - var top = parseInt(org_elem.offset()['top']); - var left = parseInt(org_elem.offset()['left']); - var org_width = parseInt(org_elem.outerWidth()); - var org_height = parseInt(org_elem.outerHeight()); - var tip_w = tiptip_holder.outerWidth(); - var tip_h = tiptip_holder.outerHeight(); - var w_compare = Math.round((org_width - tip_w) / 2); - var h_compare = Math.round((org_height - tip_h) / 2); - var marg_left = Math.round(left + w_compare); - var marg_top = Math.round(top + org_height + opts.edgeOffset); - var t_class = ""; - var arrow_top = ""; - var arrow_left = Math.round(tip_w - 12) / 2; - - if(opts.defaultPosition == "bottom"){ - t_class = "_bottom"; - } else if(opts.defaultPosition == "top"){ - t_class = "_top"; - } else if(opts.defaultPosition == "left"){ - t_class = "_left"; - } else if(opts.defaultPosition == "right"){ - t_class = "_right"; - } - - var right_compare = (w_compare + left) < parseInt($(window).scrollLeft()); - var left_compare = (tip_w + left) > parseInt($(window).width()); - - if((right_compare && w_compare < 0) || (t_class == "_right" && !left_compare) || (t_class == "_left" && left < (tip_w + opts.edgeOffset + 5))){ - t_class = "_right"; - arrow_top = Math.round(tip_h - 13) / 2; - arrow_left = -12; - marg_left = Math.round(left + org_width + opts.edgeOffset); - marg_top = Math.round(top + h_compare); - } else if((left_compare && w_compare < 0) || (t_class == "_left" && !right_compare)){ - t_class = "_left"; - arrow_top = Math.round(tip_h - 13) / 2; - arrow_left = Math.round(tip_w); - marg_left = Math.round(left - (tip_w + opts.edgeOffset + 5)); - marg_top = Math.round(top + h_compare); - } - - var top_compare = (top + org_height + opts.edgeOffset + tip_h + 8) > parseInt($(window).height() + $(window).scrollTop()); - var bottom_compare = ((top + org_height) - (opts.edgeOffset + tip_h + 8)) < 0; - - if(top_compare || (t_class == "_bottom" && top_compare) || (t_class == "_top" && !bottom_compare)){ - if(t_class == "_top" || t_class == "_bottom"){ - t_class = "_top"; - } else { - t_class = t_class+"_top"; - } - arrow_top = tip_h; - marg_top = Math.round(top - (tip_h + 5 + opts.edgeOffset)); - } else if(bottom_compare | (t_class == "_top" && bottom_compare) || (t_class == "_bottom" && !top_compare)){ - if(t_class == "_top" || t_class == "_bottom"){ - t_class = "_bottom"; - } else { - t_class = t_class+"_bottom"; - } - arrow_top = -12; - marg_top = Math.round(top + org_height + opts.edgeOffset); - } - - if(t_class == "_right_top" || t_class == "_left_top"){ - marg_top = marg_top + 5; - } else if(t_class == "_right_bottom" || t_class == "_left_bottom"){ - marg_top = marg_top - 5; - } - if(t_class == "_left_top" || t_class == "_left_bottom"){ - marg_left = marg_left + 5; - } - tiptip_arrow.css({"margin-left": arrow_left+"px", "margin-top": arrow_top+"px"}); - tiptip_holder.css({"margin-left": marg_left+"px", "margin-top": marg_top+"px"}).attr("class","tip"+t_class); - - if (timeout){ clearTimeout(timeout); } - timeout = setTimeout(function(){ tiptip_holder.stop(true,true).fadeIn(opts.fadeIn); }, opts.delay); - } - - function deactive_tiptip(){ - opts.exit.call(this); - if (timeout){ clearTimeout(timeout); } - tiptip_holder.fadeOut(opts.fadeOut); - } - } - }); - } -})(jQuery);
\ No newline at end of file diff --git a/webclient/lib/jsbn b/webclient/lib/jsbn deleted file mode 160000 -Subproject c9d0d1a19fc80565aee9c37eb35dc71c5e082c3 diff --git a/webclient/lib/sjcl b/webclient/lib/sjcl deleted file mode 160000 -Subproject 933f8f8ec10fd5c305ec83573e4528cbcefd172 diff --git a/webclient/lib/strophe b/webclient/lib/strophe deleted file mode 160000 -Subproject a8e5e949c6f84db42d1bf9518e4396d42f822db diff --git a/webclient/steal b/webclient/steal deleted file mode 160000 -Subproject b277bdc3b49cd994ea8a26dac41de0ac8bd8d18 diff --git a/webclient/style/alias.css b/webclient/style/alias.css deleted file mode 100644 index 9efdba2..0000000 --- a/webclient/style/alias.css +++ /dev/null @@ -1,322 +0,0 @@ -@font-face { - font-family: "street"; - src: url("images/bold.ttf"); - font-weight: bold; -} - -a -{ - color: #3058A3; - text-decoration: none; - font-weight: bold; -} - -a:hover -{ - text-decoration: underline; -} - -hr -{ - color: #D8D8D8; - border-bottom: 1px solid white; -} - -html -{ - height: 100%; -} - -body -{ - padding: 0px; - margin: 0px; - font-family: sans-serif; - height: 100%; - background-image: url('images/bb.png'); -} - -div -{ - margin: 0px; - padding: 0px; -} - -.info -{ - font-style: italic; -} - -#register label{ - display: block; - float: left; - width: 150px; -} - -input -{ - border: 1px solid black; -} - -#login -{ - width: 400px; - height: 300px; - position: absolute; - top: 50%; - left: 50%; - margin-left: -200px; - margin-top: -150px; - background-color: #F4F4F4; - box-shadow: 5px 5px 5px 0px #434343; - border-radius: 10px; - color: #313131; -} - -#login h2 -{ - margin: 0px; - background-image: -moz-linear-gradient(top center, white, #D8D8D8); - background: -webkit-gradient(linear, left top, left bottom, from(#F6F6F6), to(#D9D9D9)); - border-bottom: 1px solid #CDCDCD; - color: #3058A3; - font-family: "street"; - font-size: 120%; - font-weight: bold; - padding-left: 10px; - text-shadow: 0px 1px 0px #EBEBEB; - border-radius: 10px 10px 0px 0px; -} - -#login label -{ - float: left; - width: 8em; -} - -#login .info -{ - margin: 0px; -} - -#login .content -{ - padding: 1em; -} - -#login .connect -{ - text-align: center; - margin-top: 2em; -} - -#connect -{ - height: 2.5em; - border: 1px solid #6D6D6D; - border-radius: 5px; - font-weight: bold; - background-color: #DEDEDE; -} - -#connect:hover -{ - color: white; - background-color: #3058A3; -} - -#bottom -{ - position: fixed; - bottom: 0px; - width: 100%; - clear: both; -} - -#bottomup -{ - text-align: right; -} - -#consolea -{ - text-decoration: none; - color: black; - background-color: gray; - margin: 0px; - padding-left: 5px; - padding-right: 5px; - padding-top: 5px; -} - -#log -{ - height: 400px; - width: 100%; - overflow: auto; - display: none; - border-top: 1px solid black; -} - -#header -{ - margin: 0px; - margin-bottom: 20px; - background-image: -moz-linear-gradient(top center, #F4F4F4, #C1C1C1); - background: -webkit-gradient(linear, left top, left bottom, from(#F6F6F6), to(#D9D9D9)); - border-bottom: 1px solid #CDCDCD; - box-shadow: 0px 5px 10px #434343; - height:70px; -} - - -#logo -{ - color: #515159; - font-family: "street"; - font-size: 300%; - font-weight: bold; - padding-left: 30px; - text-shadow: 0px 1px 0px #EBEBEB; -} - -#left -{ - margin: 0px; - margin-left: 8px; - float: left; - width: 20%; - background-color: #F4F4F4; - height: 95%; - display: none; - border-radius: 5px; - box-shadow: 5px 5px 5px 0px #434343; -} - -#left h2{ - margin: 0px; - background-image: -moz-linear-gradient(top center, white, #D8D8D8); - background: -webkit-gradient(linear, left top, left bottom, from(#F6F6F6), to(#D9D9D9)); - border-bottom: 1px solid #CDCDCD; - color: #3058A3; - font-family: "street"; - font-size: 120%; - font-weight: bold; - padding-left: 10px; - text-shadow: 0px 1px 0px #EBEBEB; - border-radius: 10px 10px 0px 0px; -} - -#right -{ - border-radius: 5px; - float: left; - width: 75%; - height: 95%; - display: none; - margin-left:2%; - margin-right:2%; - background-color: transparent; - padding: 0px; -} - -#tabs{ - height: 100%; - padding: 0px; -} - -.chat-messages{ - height: 80%; - width: 100%; - margin-top: 10px; - margin-bottom: 10px; - overflow: auto; - border: 1px solid #787878; -} - -.chat-message{ - margin: 0px; -} - -.chat-name{ - font-weight: bold; - color: #0073EA; -} - -.me{ - color: #FF0084; -} - -.chat-name:before{ - content: "<"; -} - -.chat-name:after{ - content: ">"; -} - -.chat-input{ - width: 100%; - border: 1px solid #787878; -} - -#roster -{ - height: 100%; - font-size: 0.8em; - padding: 5px; -} - -#roster > ul -{ - list-style-type: none; - padding: 0px; -} - -.roster-contact -{ - -moz-transition-property: background-color; - -moz-transition-duration: 0.5s; - -webkit-transition-property: background-color; - -webkit-transition-duration: 1s; - -o-transition-property: background-color; - -o-transition-duration: 1s; - border-bottom: 1px dotted black; - padding: 5px; - cursor: pointer; -} - -.roster-contact:hover -{ - box-shadow: 2px 2px 2px #434343; -} - -.roster-name -{ - font-weight: bold; -} - -.online -{ - background-color: #DBFFDC; -} - -.away -{ - background-color: #E3E3E3; -} - -#tiptip_holder ul -{ - padding: 0; - margin: 0; - margin-left:10px; -} - -#status -{ - margin: 0px; - margin-top: 10px; - margin-right: 10px; - float: right; -}
\ No newline at end of file diff --git a/webclient/style/dialog.css b/webclient/style/dialog.css deleted file mode 100644 index 5fbc208..0000000 --- a/webclient/style/dialog.css +++ /dev/null @@ -1,16 +0,0 @@ -#dialog-overlay{ - position:absolute; - z-index:9000; - background-color:#575757; - opacity: 0.7; - display:none; -} - -#dialogs .dialog{ - position:absolute; - display:none; - z-index:9999; - padding:5px; - border: 1px solid #727272; - background-color: #F5F5F5; -}
\ No newline at end of file diff --git a/webclient/style/images/bb.png b/webclient/style/images/bb.png Binary files differdeleted file mode 100644 index b6d7f8e..0000000 --- a/webclient/style/images/bb.png +++ /dev/null diff --git a/webclient/style/images/bb2.png b/webclient/style/images/bb2.png Binary files differdeleted file mode 100644 index 8efe39e..0000000 --- a/webclient/style/images/bb2.png +++ /dev/null diff --git a/webclient/style/images/bold.ttf b/webclient/style/images/bold.ttf Binary files differdeleted file mode 100644 index 049dc43..0000000 --- a/webclient/style/images/bold.ttf +++ /dev/null diff --git a/webclient/style/images/cross.png b/webclient/style/images/cross.png Binary files differdeleted file mode 100644 index 871db41..0000000 --- a/webclient/style/images/cross.png +++ /dev/null diff --git a/webclient/style/images/cross2.png b/webclient/style/images/cross2.png Binary files differdeleted file mode 100644 index 3e31d3b..0000000 --- a/webclient/style/images/cross2.png +++ /dev/null diff --git a/webclient/style/images/logo.png b/webclient/style/images/logo.png Binary files differdeleted file mode 100644 index ee58f05..0000000 --- a/webclient/style/images/logo.png +++ /dev/null diff --git a/webclient/style/tabs.css b/webclient/style/tabs.css deleted file mode 100644 index 262f5c4..0000000 --- a/webclient/style/tabs.css +++ /dev/null @@ -1,72 +0,0 @@ -ul.tabbar{ - background-color: transparent; - padding: 0px; - margin: 0px; - list-style-type: none; - height:20px; -} - -ul.tabbar > li{ - background-image: -moz-linear-gradient(top center, white, #D8D8D8); - border-radius: 5px 5px 0px 0px; - padding: 5px; - margin: 0px; - margin-right: 1px; - height: 20px; - float: left; - display: block; - margin-top: 0px; - width: 200px; - overflow: hidden; - color: #2D2D2D; -} - -ul.tabbar > li.selected{ - background-image:none; - background-color: #3765BB; - box-shadow: 2px -2px 2px #434343; - color: white; -} - -ul.tabbar > li:hover{ - color: #3765BB; - cursor: pointer; -} - -ul.tabbar > li.selected:hover{ - color: #2D2D2D; -} - -ul.tabbar > li > span.tab-close{ - display: block; - width: 15px; - height: 15px; - float: right; - margin-left: 5px; - margin-top: 2px; - background-image: url("images/cross.png"); -} - -ul.tabbar > li:hover > span.tab-close{ - background-image: url("images/cross2.png"); -} - -ul.tabbar > li > a{ - color: inherit; -} - -ul.tabbar > li > a:hover{ - text-decoration: none; -} - -ul.tabbar > li > a:focus{ - border: none; -} - -.tab{ - padding: 10px; - height: 100%; - display: none; - background-color: white; - box-shadow: 5px 5px 5px 0px #434343; -} diff --git a/webclient/style/tipTip.css b/webclient/style/tipTip.css deleted file mode 100644 index 70411d6..0000000 --- a/webclient/style/tipTip.css +++ /dev/null @@ -1,125 +0,0 @@ -/* TipTip CSS - Version 1.2 */ - -/** structure - -<div id="tiptip_holder"> - <div id="tiptip_content"> - <div id="tiptip_arrow"> - <div id="tiptip_arrow_inner"></div> - </div> - </div> -</div> - -*/ - -#tiptip_holder { - display: none; - position: absolute; - top: 0; - left: 0; - z-index: 99999; -} - -#tiptip_holder.tip_top { - padding-bottom: 5px; -} - -#tiptip_holder.tip_bottom { - padding-top: 5px; -} - -#tiptip_holder.tip_right { - padding-left: 5px; -} - -#tiptip_holder.tip_left { - padding-right: 5px; -} - -#tiptip_content { - font-size: 11px; - color: #fff; - text-shadow: 0 0 2px #000; - padding: 4px 8px; - border: 1px solid rgba(255,255,255,0.25); - background-color: rgb(25,25,25); - background-color: rgba(25,25,25,0.92); - background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(transparent), to(#000)); - border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - box-shadow: 0 0 3px #555; - -webkit-box-shadow: 0 0 3px #555; - -moz-box-shadow: 0 0 3px #555; -} - -#tiptip_arrow, #tiptip_arrow_inner { - position: absolute; - border-color: transparent; - border-style: solid; - border-width: 6px; - height: 0; - width: 0; -} - -#tiptip_holder.tip_top #tiptip_arrow { - border-top-color: #fff; - border-top-color: rgba(255,255,255,0.35); -} - -#tiptip_holder.tip_bottom #tiptip_arrow { - border-bottom-color: #fff; - border-bottom-color: rgba(255,255,255,0.35); -} - -#tiptip_holder.tip_right #tiptip_arrow { - border-right-color: #fff; - border-right-color: rgba(255,255,255,0.35); -} - -#tiptip_holder.tip_left #tiptip_arrow { - border-left-color: #fff; - border-left-color: rgba(255,255,255,0.35); -} - -#tiptip_holder.tip_top #tiptip_arrow_inner { - margin-top: -7px; - margin-left: -6px; - border-top-color: rgb(25,25,25); - border-top-color: rgba(25,25,25,0.92); -} - -#tiptip_holder.tip_bottom #tiptip_arrow_inner { - margin-top: -5px; - margin-left: -6px; - border-bottom-color: rgb(25,25,25); - border-bottom-color: rgba(25,25,25,0.92); -} - -#tiptip_holder.tip_right #tiptip_arrow_inner { - margin-top: -6px; - margin-left: -5px; - border-right-color: rgb(25,25,25); - border-right-color: rgba(25,25,25,0.92); -} - -#tiptip_holder.tip_left #tiptip_arrow_inner { - margin-top: -6px; - margin-left: -7px; - border-left-color: rgb(25,25,25); - border-left-color: rgba(25,25,25,0.92); -} - -/* Webkit Hacks */ -@media screen and (-webkit-min-device-pixel-ratio:0) { - #tiptip_content { - padding: 4px 8px 5px 8px; - background-color: rgba(45,45,45,0.88); - } - #tiptip_holder.tip_bottom #tiptip_arrow_inner { - border-bottom-color: rgba(45,45,45,0.88); - } - #tiptip_holder.tip_top #tiptip_arrow_inner { - border-top-color: rgba(20,20,20,0.92); - } -}
\ No newline at end of file |
