Changeset 26723


Ignore:
Timestamp:
01/14/14 22:59:01 (5 years ago)
Author:
mistic100
Message:

use external JS with template features

Location:
extensions/oAuth/template
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/oAuth/template/identification_common.tpl

    r26608 r26723  
    88{/if} 
    99 
     10{combine_script id='oauth' load='footer' require='jquery.colorbox' template=true path=$OAUTH_PATH|cat:'template/script.js'} 
     11 
    1012{html_style} 
    1113#openid_form { padding:20px; } 
     
    1416{/html_style} 
    1517 
    16 {footer_script} 
    17 // redirect, called from the popup 
    18 function oauth_redirect(type) { 
    19   var url = '{$OAUTH.u_redirect}'; 
    20   if (type && type != 'default') { 
    21     url = '{$ABS_ROOT_URL}'+ type +'.php'; 
    22   } 
    23  
    24   window.location.href = url; 
    25 } 
    26  
    27 // open authentication popup 
    28 function open_auth(url) { 
    29   window.open( 
    30     '{$OAUTH.u_login}' + url + '&key={$OAUTH.key}',  
    31     'hybridauth_social_sign_on',  
    32     'location=0,status=0,scrollbars=0,width=800,height=500' 
    33   );   
    34 } 
    35  
    36 // click on a button 
    37 jQuery('a.oauth:not(.persona)').click(function(e) { 
    38   e.preventDefault(); 
    39    
    40   var idp = jQuery(this).data('idp'); 
    41    
    42   switch(idp) { 
    43     case 'OpenID': case 'Wordpress': case 'Flickr': case 'Steam': 
    44       switch(idp) { 
    45         case 'OpenID': 
    46           jQuery('#openid_label').html('{'Please enter your OpenID URL'|translate|escape:javascript}'); break; 
    47         case 'Wordpress': case 'Steam': 
    48           jQuery('#openid_label').html('{'Please enter your username'|translate|escape:javascript}'); break; 
    49         case 'Flickr':  
    50           jQuery('#openid_label').html('{'Please enter your user ID'|translate|escape:javascript}'); break; 
    51       } 
    52        
    53       var bg_color = $('#the_page #content').css('background-color'); 
    54       if (!bg_color || bg_color=='transparent') { 
    55         bg_color = $('body').css('background-color'); 
    56       } 
    57       jQuery('#openid_form').css('background-color', bg_color); 
    58  
    59       jQuery('#openid_form .oauth_38px').removeClass().addClass('oauth_38px ' + idp.toLowerCase()); 
    60       jQuery('#openid_form h3').html(idp); 
    61       jQuery('#openid_form').data('idp', idp); 
    62  
    63       jQuery.colorbox({ 
    64         inline: true, 
    65         href: '#openid_form', 
    66         initialWidth: 0, 
    67         initialHeight: 0, 
    68         mawWidth: '100%', 
    69         onComplete: function(){ jQuery.colorbox.resize({ speed:0 }) } // prevent misalignement when icon not loaded 
    70       }); 
    71       break; 
    72        
    73     default: 
    74       open_auth(idp); 
    75   } 
    76 }); 
    77  
    78 jQuery('#openid_form').submit(function(e) { 
    79   e.preventDefault(); 
    80    
    81   var idp = jQuery(this).data('idp'); 
    82   var oi = jQuery('#openid_form input[name=openid_identifier]').val(); 
    83   jQuery('#openid_form input[name=openid_identifier]').val(''); 
    84    
    85   jQuery('#openid_label').removeClass('error'); 
    86   if (!oi) { 
    87     jQuery('#openid_label').addClass('error'); 
    88     return; 
    89   } 
    90    
    91   switch(idp) { 
    92     case 'Wordpress': oi = 'http://' + oi + '.wordpress.com'; break; 
    93     case 'Flickr': oi = 'http://www.flickr.com/photos/' + oi + '/'; break; 
    94     case 'Steam': oi = 'http://steamcommunity.com/openid/' + oi; break; 
    95   } 
    96  
    97   open_auth('OpenID&openid_identifier=' + encodeURI(oi)); 
    98  
    99   jQuery.colorbox.close(); 
    100 }); 
    101  
    102 jQuery('#openid_cancel').click(function(e) { 
    103   e.preventDefault(); 
    104    
    105   jQuery('#openid_label').removeClass('error'); 
    106   jQuery.colorbox.close(); 
    107 }); 
    108  
    109 {if $OAUTH.providers.Persona.enabled} 
    110 jQuery('a.oauth.persona').click(function(e) { 
    111   e.preventDefault(); 
    112   navigator.id.request(); 
    113 }); 
    114  
    115 {if not empty($OAUTH.persona_email)} 
    116 jQuery('a[href$="act=logout"]').click(function(e) { 
    117   e.preventDefault(); 
    118   navigator.id.logout(); 
    119 }); 
    120 {/if} 
    121  
    122 navigator.id.watch({ 
    123   loggedInUser: {if not empty($OAUTH.persona_email)}'{$OAUTH.persona_email}'{else}null{/if}, 
    124    
    125   onlogin: function(assertion) { 
    126     jQuery.ajax({ 
    127       type: 'POST', 
    128       url: '{$OAUTH.u_login}Persona', 
    129       dataType: 'json', 
    130       data: { 
    131         assertion: assertion, 
    132         key: '{$OAUTH.key}' 
    133       }, 
    134       success: function(data) { 
    135         oauth_redirect(data.redirect_to); 
    136       }, 
    137       error: function() { 
    138         alert('Unknown error'); 
    139       } 
    140     }); 
    141   }, 
    142    
    143   onlogout: function() { 
    144     window.location.href = '{$U_LOGOUT}'; 
    145   } 
    146 }); 
    147 {/if} 
    148 {/footer_script} 
    14918 
    15019<div style="display:none;"> 
Note: See TracChangeset for help on using the changeset viewer.