]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - underlays/openid-selector/ikiwiki/openid/openid-jquery.js
Merge branch 'ready/chrysn/linkmapenhancement'
[git.ikiwiki.info.git] / underlays / openid-selector / ikiwiki / openid / openid-jquery.js
index 067d68f3fd8d8f0e616d38fc3b2f2289968a1387..0400ae6bbf6d0b6d24146f3b135692b79e3acc56 100644 (file)
@@ -8,12 +8,18 @@ This code is licenced under the New BSD License.
 var providers_large = {
     google: {
         name: 'Google',
-       icon: 'http://google.com/favicon.ico',
+        icon: 'ikiwiki/openid/goa-account-google.png',
         url: 'https://www.google.com/accounts/o8/id'
     },
+    verisign: {
+        name: 'Verisign',
+        icon: 'ikiwiki/openid/verisign.png',
+        label: 'Enter your Verisign username:',
+        url: 'http://{username}.pip.verisignlabs.com/'
+    },
     yahoo: {
         name: 'Yahoo',      
-       icon: 'http://yahoo.com/favicon.ico',
+        icon: 'ikiwiki/openid/goa-account-yahoo.png',
         url: 'http://me.yahoo.com/'
     },    
     openid: {
@@ -21,51 +27,33 @@ var providers_large = {
        icon: 'wikiicons/openidlogin-bg.gif',
         label: 'Enter your OpenID:',
         url: null
-    },
+    }
 };
 var providers_small = {
     livejournal: {
         name: 'LiveJournal',
-       icon: 'http://livejournal.com/favicon.ico',
+        icon: 'ikiwiki/openid/livejournal.png',
         label: 'Enter your Livejournal username:',
         url: 'http://{username}.livejournal.com/'
     },
     flickr: {
        name: 'Flickr',        
-       icon: 'http://flickr.com/favicon.ico',
+       icon: 'ikiwiki/openid/goa-account-flickr.png',
        label: 'Enter your Flickr username:',
        url: 'http://flickr.com/photos/{username}/'
     },
     wordpress: {
         name: 'Wordpress',
-       icon: 'https://ddgw.s3.amazonaws.com/wordpress.org.ico',
+       icon: 'ikiwiki/openid/wordpress.png',
         label: 'Enter your Wordpress.com username:',
         url: 'http://{username}.wordpress.com/'
     },
-    myopenid: {
-        name: 'MyOpenID',
-       icon: 'http://myopenid.com/favicon.ico',
-        label: 'Enter your MyOpenID username:',
-        url: 'http://{username}.myopenid.com/'
-    },
-    claimid: {
-        name: 'ClaimID',
-       icon: 'http://claimid.com/favicon.ico',
-        label: 'Enter your ClaimID username:',
-        url: 'http://claimid.com/{username}'
-    },
     aol: {
         name: 'AOL',     
-       icon: 'http://aol.com/favicon.ico',
+        icon: 'ikiwiki/openid/aol.png',
         label: 'Enter your AOL username:',
         url: 'http://openid.aol.com/{username}'
-    },
-    verisign: {
-        name: 'Verisign',
-       icon: 'http://verisign.com/favicon.ico',
-        label: 'Enter your Verisign username:',
-        url: 'http://{username}.pip.verisignlabs.com/'
-    },
+    }
 };
 var providers = $.extend({}, providers_large, providers_small);
 
@@ -82,8 +70,9 @@ var openid = {
        input_id: null,
        provider_url: null,
        provider_id: null,
+       localsignin_id: null,
        
-    init: function(input_id, localloginurl) {
+    init: function(input_id, localsignin_id) {
         
         var openid_btns = $('#openid_btns');
         
@@ -97,16 +86,6 @@ var openid = {
                openid_btns.append(this.getBoxHTML(providers_large[id], 'large'));
         }
 
-       if (localloginurl != "") {
-               openid_btns.append(
-                       '<a href="' + localloginurl + '"' +
-                       ' style="background: #FFF" ' +
-                       'class="openid_large_btn">' +
-                       '<img alt="" width="16" height="16" src="favicon.ico" />' +
-                       ' Local Account' +
-                       '</a>'
-               );
-       }
         if (providers_small) {
                openid_btns.append('<br/>');
                
@@ -115,13 +94,25 @@ var openid = {
                        openid_btns.append(this.getBoxHTML(providers_small[id], 'small'));
                }
         }
+       if (localsignin_id != "") {
+               this.localsignin_id=localsignin_id;
+               openid_btns.append(
+                       '<a href="javascript: openid.signin(\'localsignin\');"' +
+                       ' style="background: #FFF" ' +
+                       'class="localsignin openid_small_btn">' +
+                       '<img alt="" width="16" height="16" src="favicon.ico" />' +
+                       ' other' +
+                       '</a>'
+               );
+               $('#'+this.localsignin_id).hide();
+       }
         
         $('#openid_form').submit(this.submit);
         
         var box_id = this.readCookie();
         if (box_id) {
                this.signin(box_id, true);
-        }  
+        }
     },
     getBoxHTML: function(provider, box_size) {
        var label="";
@@ -143,22 +134,36 @@ var openid = {
     },
     /* Provider image click */
     signin: function(box_id, onload) {
-    
+
+       if (box_id == 'localsignin') {
+               this.highlight(box_id);
+               $('#openid_input_area').empty();
+               $('#'+this.localsignin_id).show();
+               this.setCookie(box_id);
+               return;
+       }
+       else {
+               if (this.localsignin_id) {
+                       $('#'+this.localsignin_id).hide();
+               }
+       }
+
        var provider = providers[box_id];
                if (! provider) {
                        return;
                }
                
                this.highlight(box_id);
-               this.setCookie(box_id);
                
                this.provider_id = box_id;
                this.provider_url = provider['url'];
                
                // prompt user for input?
                if (provider['label']) {
+                       this.setCookie(box_id);
                        this.useInputBox(provider);
                } else {
+                       this.setCookie('');
                        $('#openid_input_area').empty();
                        if (! onload) {
                                $('#openid_form').submit();
@@ -230,14 +235,14 @@ var openid = {
                var label = provider['label'];
                var style = '';
                
-               if (label) {
-                       html = '<p>' + label + '</p>';
-               }
                if (provider['name'] == 'OpenID') {
                        id = this.input_id;
                        value = '';
                        style = 'background:#FFF url(wikiicons/openidlogin-bg.gif) no-repeat scroll 0 50%; padding-left:18px;';
                }
+               if (label) {
+                       html = '<label for="'+ id +'" class="block">' + label + '</label>';
+               }
                html += '<input id="'+id+'" type="text" style="'+style+'" name="'+id+'" value="'+value+'" />' + 
                                        '<input id="openid_submit" type="submit" value="Login"/>';