Changeset 32324 in spip-zone for _plugins_/authentification


Ignore:
Timestamp:
Oct 24, 2009, 10:37:38 AM (11 years ago)
Author:
cedric@…
Message:

faire et defaire ! on remet a la racine tout ce qui peut etre commun entre les 2 versions du plugin
et on commence a faire le portage 2.1

Location:
_plugins_/authentification/openid
Files:
9 added
2 edited
11 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/authentification/openid/inc/openid.php

    r32249 r32324  
    22
    33@define('_OPENID_LOG', true);
     4
     5
     6function openid_login_form($texte,$contexte){
     7        $scriptopenid = "";
     8        if ($login = $contexte['var_login']
     9        AND $openid = sql_getfetsel('openid','spip_auteurs','login='.sql_quote($login))
     10        ) {
     11                $openid = preg_replace(',^http://,i','',$openid);
     12                $message = _T('openid:form_login_openid_ok')  // . $openid
     13                . "<br />[<a href=\"#\" onclick=\"jQuery('.editer_login .explication').hide();jQuery('.editer_password').show();return false;\">"._T('openid:form_login_openid_pass')."</a>]";
     14                $scriptopenid = "jQuery('#var_login').keyup(function(){
     15                        if (jQuery(this).val()!='".addslashes($login)."') {
     16                                jQuery('.editer_login .explication').hide();
     17                                jQuery('.editer_password').show();
     18                        } else {
     19                                jQuery('.editer_login .explication').show();
     20                        }
     21                });";
     22        }
     23        else
     24                $message = _T('openid:form_login_openid');
     25
     26        $texte .= "<style type='text/css'>"
     27        ."input#var_login {width:10em;background-image : url(".find_in_path('images/login_auth_openid.gif').");background-repeat:no-repeat;background-position:center left;padding-left:18px;}\n"
     28        ."input#password {width:10em;padding-right:18px;}\n"
     29        .".explication {margin:5px 0;}"
     30        ."</style>"
     31        ."<script type='text/javascript'>"
     32        ."jQuery(document).ready(function(){jQuery('input#var_login').after('<div class=\'explication\'>".addslashes($message)."</div>');"
     33        .($scriptopenid?"if (!jQuery('.editer_password').is('.erreur')) jQuery('.editer_password').hide();":"")
     34        ."$scriptopenid});"
     35        ."</script>";
     36        return $texte;
     37}
     38
     39// determine si un login est de type openid (une url avec http ou https)
     40function is_openid($login){
     41        // Detection s'il s'agit d'un URL à traiter comme un openID
     42        // RFC3986 Regular expression for matching URIs
     43        #if (preg_match('_^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?$_', $login, $uri_parts)
     44        #       AND ($uri_parts[1] == "http" OR $uri_parts[1] == "https")) {
     45
     46        // s'il y a un point, c'est potentiellement un login openid
     47        // ca permet d'eliminer un bon nombre de pseudos tout en
     48        // autorisant les connexions openid sans avoir besoin de renseigner le http://
     49        if (strpos($login, '.')!==false) {
     50                return true;
     51        } else {
     52                return false;
     53        }
     54}
    455
    556function nettoyer_openid($openid){
  • _plugins_/authentification/openid/openid_pipelines.php

    r32249 r32324  
    5454/**
    5555 * Afficher l'openid sur le formulaire de login
     56 * Utilise uniquement pour spip 2.0.x
    5657 * @param <type> $flux
    5758 * @return <type>
     
    5960function openid_recuperer_fond($flux) {
    6061        if ($flux['args']['fond']=='formulaires/login'){
    61                 $login = pipeline('social_login_links','');
    62 
    63                 $scriptopenid = "";
    64                 if ($login = $flux['data']['contexte']['var_login']
    65                 AND $openid = sql_getfetsel('openid','spip_auteurs','login='.sql_quote($login))
    66                 ) {
    67                         $openid = preg_replace(',^http://,i','',$openid);
    68                         $message = _T('openid:form_login_openid_ok')  // . $openid
    69                         . "<br />[<a href=\"#\" onclick=\"jQuery('.editer_login .explication').hide();jQuery('.editer_password').show();return false;\">"._T('openid:form_login_openid_pass')."</a>]";
    70                         $scriptopenid = "jQuery('#var_login').keyup(function(){
    71                                 if (jQuery(this).val()!='".addslashes($login)."') {
    72                                         jQuery('.editer_login .explication').hide();
    73                                         jQuery('.editer_password').show();
    74                                 } else {
    75                                         jQuery('.editer_login .explication').show();
    76                                 }
    77                         });";
    78                 }
    79                 else
    80                         $message = _T('openid:form_login_openid');
    81 
    82                 $flux['data']['texte'] .= "<style type='text/css'>"
    83                 ."input#var_login {width:10em;background-image : url(".find_in_path('images/login_auth_openid.gif').");background-repeat:no-repeat;background-position:center left;padding-left:18px;}\n"
    84                 ."input#password {width:10em;padding-right:18px;}\n"
    85                 .".explication {margin:5px 0;}"
    86                 ."</style>"
    87                 ."<script type='text/javascript'>"
    88                 ."jQuery(document).ready(function(){jQuery('input#var_login').after('<div class=\'explication\'>".addslashes($message)."</div>');"
    89                 .($scriptopenid?"if (!jQuery('.editer_password').is('.erreur')) jQuery('.editer_password').hide();":"")
    90                 ."$scriptopenid});"
    91                 ."</script>";
     62                include_spip('inc/openid');
     63                $flux['data']['texte'] = openid_login_form($flux['data']['texte'],$flux['data']['contexte']);
    9264        }
    9365        /*if ($flux['args']['fond']=='formulaires/inscription'){
  • _plugins_/authentification/openid/plugin.xml

    r32228 r32324  
    1616        <version_base>0.2</version_base>
    1717        <etat>test</etat>
    18         <icon>spip_2_0/images/openid_big.png</icon>
     18        <icon>images/openid_big.png</icon>
    1919        <description>
    2020                <multi>
     
    2525                 </multi>
    2626        </description>
    27         <options>spip_2_0/openid_options.php</options>
     27        <options>openid_options.php</options>
    2828        <lien>http://www.spip-contrib.net/Plugin-d-authentification-OpenID</lien><!-- URI de documentation -->
    2929        <necessite id='SPIP' version='[2.0.0;2.1.0)' />
    3030        <necessite id="lib:php-openid-2.1.3" src="http://openidenabled.com/files/php-openid/packages/php-openid-2.1.3.zip" />
     31        <chemin dir="./" />
    3132        <chemin dir="spip_2_0" />
    3233        <prefix>openid</prefix>
    33         <install>spip_2_0/base/openid_install.php</install>
     34        <install>base/openid_install.php</install>
    3435        <pipeline>
    3536                <nom>declarer_tables_principales</nom>
    36                 <inclure>spip_2_0/base/openid.php</inclure>
    37         </pipeline>
    38         <pipeline>
    39                 <nom>formulaire_charger</nom>
    40                 <inclure>spip_2_0/openid_pipelines.php</inclure>
     37                <inclure>base/openid.php</inclure>
    4138        </pipeline>
    4239        <pipeline>
    4340                <nom>afficher_contenu_objet</nom>
    44                 <inclure>spip_2_0/openid_pipelines.php</inclure>
     41                <inclure>openid_pipelines.php</inclure>
    4542        </pipeline>
    4643        <pipeline>
    4744                <nom>editer_contenu_objet</nom>
    48                 <inclure>spip_2_0/openid_pipelines.php</inclure>
     45                <inclure>openid_pipelines.php</inclure>
    4946        </pipeline>
    5047        <pipeline>
    5148                <nom>pre_edition</nom>
    52                 <inclure>spip_2_0/openid_pipelines.php</inclure>
     49                <inclure>openid_pipelines.php</inclure>
    5350        </pipeline>
    5451        <pipeline>
    5552                <nom>recuperer_fond</nom>
    56                 <inclure>spip_2_0/openid_pipelines.php</inclure>
     53                <inclure>openid_pipelines.php</inclure>
    5754        </pipeline>
    5855</plugin>
     56
     57
    5958<plugin spip="[2.1.0 dev;]">
    6059        <nom> <!-- Nom du plugin -->
     
    8685        <lien>http://www.spip-contrib.net/Plugin-d-authentification-OpenID</lien>
    8786        <necessite id="lib:php-openid-2.1.3" src="http://openidenabled.com/files/php-openid/packages/php-openid-2.1.3.zip" />
     87        <chemin dir="./" />
     88        <chemin dir="spip_2_1" />
    8889        <prefix>openid</prefix>
    8990        <install>base/openid_install.php</install>
     
    9192                <nom>declarer_tables_principales</nom>
    9293                <inclure>base/openid.php</inclure>
    93         </pipeline>
    94         <pipeline>
    95                 <nom>formulaire_charger</nom>
    96                 <inclure>openid_pipelines.php</inclure>
    9794        </pipeline>
    9895        <pipeline>
     
    108105                <inclure>openid_pipelines.php</inclure>
    109106        </pipeline>
    110         <pipeline>
    111                 <nom>recuperer_fond</nom>
    112                 <inclure>openid_pipelines.php</inclure>
    113         </pipeline>
    114107</plugin>
  • _plugins_/authentification/openid/spip_2_0/auth/openid.php

    r32228 r32324  
    2222        if (!$login) return false;
    2323        $auteur = false;
    24        
     24
    2525        // il faut au moins que ca ressemble un peu a un openid !
     26        include_spip('inc/openid');
    2627        if (is_openid($login)){
    27                 include_spip('inc/openid');
    2828                // si pas de protocole, mettre http://
    2929                $idurl = nettoyer_openid($login);
     
    6161}
    6262
    63 // determine si un login est de type openid (une url avec http ou https)
    64 function is_openid($login){
    65         // Detection s'il s'agit d'un URL à traiter comme un openID
    66         // RFC3986 Regular expression for matching URIs
    67         #if (preg_match('_^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?$_', $login, $uri_parts)
    68         #       AND ($uri_parts[1] == "http" OR $uri_parts[1] == "https")) {
    69 
    70         // s'il y a un point, c'est potentiellement un login openid
    71         // ca permet d'eliminer un bon nombre de pseudos tout en
    72         // autorisant les connexions openid sans avoir besoin de renseigner le http://
    73         if (strpos($login, '.')!==false) {
    74                 return true;
    75         } else {
    76                 return false;
    77         }
    78 }
    7963
    8064?>
Note: See TracChangeset for help on using the changeset viewer.