Changeset 8166


Ignore:
Timestamp:
Dec 16, 2010, 10:53:03 PM (10 years ago)
Author:
Eric
Message:
  • Add case sensitivity check at identification (testing in progress and much to do)
  • Add debuglog() function to help tracking variables state
  • Fix main.inc.php header informations
  • Add /*TODO*/ tags in language/en_UK/help/plugin.lang.php
Location:
extensions/LCAS/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • extensions/LCAS/trunk/include/functions.inc.php

    r8159 r8166  
    718718  }
    719719
    720 /* ******************************************************** */
    721 /* **** Pending code since to find how to make it work **** */
    722 /* ******************************************************** */
    723 // Testing if FCK Editor is used. Then decoding htmlchars to avoid problems with pwg_mail()
    724 /*$areas = array();
    725 array_push( $areas,'LCAS_MailInfo_Text','LCAS_accentSensitive_Text');
    726 
    727 if (function_exists('set_fckeditor_instance'))
    728 {
    729   $fcke_config = unserialize($conf['FCKEditor']);
    730   foreach($areas as $area)
    731   {
    732     if (isset($fcke_config['LCAS_MailInfo_Text']) and $fcke_config['LCAS_MailInfo_Text'] = true)
    733     {
    734       $infos1_perso = html_entity_decode($infos1_perso,ENT_QUOTES,UTF-8);
    735     }
    736    
    737     if (isset($fcke_config['LCAS_accentSensitive_Text']) and $fcke_config['LCAS_accentSensitive_Text'] = true)
    738     {
    739       $infos2_perso = html_entity_decode($infos2_perso,ENT_QUOTES,UTF-8);
    740     }
    741   }
    742 }*/
    743 
    744720/* Sending the email with subject and contents */
    745721  pwg_mail($email, array(
     
    747723    'content' => (isset($infos1) ? $infos1_perso.l10n_args($infos1)."\n\n" : "").(isset($infos2) ? $infos2_perso.l10n_args($infos2)."\n\n" : "").get_absolute_root_url(),
    748724  ));
    749 
    750 /* ********************** */
    751 /* Email sending debugger */
    752 /* This is only to trace  */
    753 /* the send of emails for */
    754 /* debugging              */
    755 /* ********************** */
    756 //$content = (isset($infos1) ? $infos1_perso.l10n_args($infos1)."\n\n" : "").(isset($infos2) ? $infos2_perso.l10n_args($infos2)."\n\n" : "").get_absolute_root_url();   
    757 //MailLog($email,$subject,$content,$language);
    758 /* ********************** */
    759725
    760726/* Switching back to default language */
     
    886852}
    887853
     854
     855/**
     856* Function called from main.inc.php
     857* Checks if username already exists in database according of case sensitivity
     858*
     859* @param : Username
     860*
     861* @return : Bool
     862*/
     863function CaseSensitiveUsername($username)
     864{
     865  global $conf;
     866 
     867  if (isset($username))
     868  {
     869    $query = "
     870SELECT ".$conf['user_fields']['username']."
     871FROM ".USERS_TABLE."
     872WHERE LOWER(".stripslashes($conf['user_fields']['username']).") = '".strtolower($username)."'
     873;";
     874    $users = mysql_num_rows(pwg_query($query));
     875    if ($users > 0)
     876    {
     877      return true;
     878    }
     879    else
     880    {
     881      return false;
     882    }
     883  }
     884}
     885
     886
     887// DebugLog function
     888function DebugLog($var1, $var2, $var3, $var4)
     889{
     890   $fo=fopen (LCAS_PATH.'admin/debuglog.txt','a') ;
     891   fwrite($fo,"======================\n") ;
     892   fwrite($fo,'le ' . date('D, d M Y H:i:s') . "\r\n");
     893   fwrite($fo, "\n" . $var1 . "\r\n") ;
     894   fwrite($fo, "\n" . $var2 . "\r\n") ;
     895   fwrite($fo, "\n" . $var3 . "\r\n") ;
     896   fwrite($fo, "\n" . $var4 . "\r\n") ;
     897   fclose($fo) ;
     898}
    888899?>
  • extensions/LCAS/trunk/language/en_UK/help/plugin.lang.php

    r8148 r8166  
    55global $lang;
    66
    7 $lang['LCAS_sensitiveTitle'] = 'Sensibilité à l\'enregistrement et la connexion';
    8 $lang['LCAS_sensitiveTitle_d'] = '
     7/*TODO*/$lang['LCAS_sensitiveTitle'] = 'Sensibilité à l\'enregistrement et la connexion';
     8/*TODO*/$lang['LCAS_sensitiveTitle_d'] = '
    99- Noms d\'utilisateur sensible ou non à la casse<br>
    1010- Noms d\'utilisateur ensible ou non aux accents<br>
    1111';
    12 $lang['LCAS_caseSensitiveTitle'] = 'La casse';
    13 $lang['LCAS_caseSensitiveTitle_d'] = 'Cette option permet de s\'authentifier sans tenir compte des majuscules et minuscules dans le nom de l\'utilisateur.<br/>
     12/*TODO*/$lang['LCAS_caseSensitiveTitle'] = 'La casse';
     13/*TODO*/$lang['LCAS_caseSensitiveTitle_d'] = 'Cette option permet de s\'authentifier sans tenir compte des majuscules et minuscules dans le nom de l\'utilisateur.<br/>
    1414<b style=&quot;color: red;&quot;>NB: Le mot de passe reste sensible à la casse !</b><br/>
    1515';
    1616
    17 $lang['LCAS_accentSensitiveTitle'] = 'Les accents';
    18 $lang['LCAS_accentSensitiveTitle_d'] = 'Cette option permet de s\'authentifier sans tenir compte des accents dans le nom de l\'utilisateur.<br/>
     17/*TODO*/$lang['LCAS_accentSensitiveTitle'] = 'Les accents';
     18/*TODO*/$lang['LCAS_accentSensitiveTitle_d'] = 'Cette option permet de s\'authentifier sans tenir compte des accents dans le nom de l\'utilisateur.<br/>
    1919<b style=&quot;color: red;&quot;>NB: Le mot de passe reste sensible à tous les caractères !</b><br/>
    2020C\'est Béatrice qui va être contente !<br/>
    2121';
    2222
    23 $lang['LCAS_currentPWGConfigTitle'] = 'Option de Piwigo concerant la casse';
    24 $lang['LCAS_currentPWGConfigTitle_d'] = 'Cette option est modifiable depuis votre fichier de configuration local.<br/>
     23/*TODO*/$lang['LCAS_currentPWGConfigTitle'] = 'Option de Piwigo concerant la casse';
     24/*TODO*/$lang['LCAS_currentPWGConfigTitle_d'] = 'Cette option est modifiable depuis votre fichier de configuration local.<br/>
    2525';
    2626
    27 $lang['LCAS_currentPWGConfig'] = '$conf[\'insensitive_case_logon\']';
    28 $lang['LCAS_currentPWGConfig_d'] = 'Lorsque la valeur vaut <b style=&quot;color: green;&quot;>true</b>, un utilisateur ne peut pas s\'enregistrer avec un identifiant dont seule la casse serait différente d\'un utilisateur existant..<br/>
     27/*TODO*/$lang['LCAS_currentPWGConfig'] = '$conf[\'insensitive_case_logon\']';
     28/*TODO*/$lang['LCAS_currentPWGConfig_d'] = 'Lorsque la valeur vaut <b style=&quot;color: green;&quot;>true</b>, un utilisateur ne peut pas s\'enregistrer avec un identifiant dont seule la casse serait différente d\'un utilisateur existant..<br/>
    2929';
    3030
    3131
    32 $lang['LCAS_userlistTitle'] = 'Vérification des utilisateurs';
    33 $lang['LCAS_userlistTitle_d'] = 'Cette page affiche les utilisateurs qui doivent être modififés afin d\'activer cette option.<br/><br/>
     32/*TODO*/$lang['LCAS_userlistTitle'] = 'Vérification des utilisateurs';
     33/*TODO*/$lang['LCAS_userlistTitle_d'] = 'Cette page affiche les utilisateurs qui doivent être modififés afin d\'activer cette option.<br/><br/>
    3434Si deux utilisateurs sont déjà enregistrés, par exemple, <em>Test</em> et <em>test</em>, et que l\'option pour l\'insensibilité à la casse est cochée, ils ne pourront plus se connecter correctement.<br/>
    3535Vous devez modifier l\'un des deux utilisateurs et éventuellement le prévenir avec le lien pour envoyer un email.';
  • extensions/LCAS/trunk/main.inc.php

    r8141 r8166  
    22/*
    33Plugin Name: LCAS
    4 Version: 0.0.1
     4Version: 2.1.0
    55Description: Allow to disable login/register name to be sensible to the case/accents
    66Plugin URI: http://fr.piwigo.org/forum/viewtopic.php?pid=158563
    7 Author: Nicco, Eric, LucMorizur, Whiler
    8 Author URI: http://gallery-nicco.no-ip.org, http://www.infernoweb.net, http://blogs.wittwer.fr/whiler/
     7Author: Eric, LucMorizur, Whiler
     8Author URI: http://www.infernoweb.net, http://blogs.wittwer.fr/whiler/
    99*/
    1010
     
    4747}
    4848
    49 /* User creation */
    50 add_event_handler('register_user', 'LCAS_Adduser');
    51 
    52 function LCAS_Adduser($register_user)
     49// Trigger sensitivity on user identification
     50if (script_basename() == 'identification')
    5351{
    5452  global $conf;
    55 
    56   $conf_LCAS= unserialize($conf['LoginCaseAccentsSensitivity']);
    57 
    58 }
    59 
    60 
    61 /* User deletion */
    62 add_event_handler('delete_user', 'LCAS_Deluser');
    63 
    64 function LCAS_Deluser($user_id)
    65 {
    66 
    67 }
    68 
    69 
    70 // Check users registration
    71 add_event_handler('register_user_check', 'LCAS_RegistrationCheck', EVENT_HANDLER_PRIORITY_NEUTRAL, 2);
    72 
    73 function LCAS_RegistrationCheck($errors, $user)
    74 {
    75   global $conf;
    76 
    77 }
    78 
    79 
    80 if (script_basename() == 'profile')
    81 {
    82   add_event_handler('loc_begin_profile', 'LCAS_Profile_Init');
    83 
    84   function LCAS_Profile_Init()
    85   {
    86 
    87   }
    88 }
    89 
    90 
    91 // RedirectToProfile - Thx to LucMorizur
    92 // redirects a visitor (except for admins, webmasters and generic statuses) to his
    93 // profile.php page
    94 //
    95 // no variable, no return
    96 add_event_handler('login_success', 'LCAS_RedirectToProfile');
    97 
    98 function LCAS_RedirectToProfile()
    99 {
    100   global $conf, $user;
    10153 
    10254  $conf_LCAS= unserialize($conf['LoginCaseAccentsSensitivity']);
    10355 
    104   $query ='
    105 SELECT user_id, status
    106 FROM '.USER_INFOS_TABLE.'
    107 WHERE user_id = '.$user['id'].'
    108 ;';
    109   $data = pwg_db_fetch_assoc(pwg_query($query));
    110  
    111   if ($data['status'] <> "admin" and $data['status'] <> "webmaster" and $data['status'] <> "generic")
     56  /* Username non case sensitive */
     57  if (isset($conf_LCAS[1]) and $conf_LCAS[1] == 'true' and CaseSensitiveUsername($_POST['username']))
    11258  {
    113     if ((isset($conf_LCAS[21]) and $conf_LCAS[21] == 'true'))
     59
     60/* ********************** */
     61DebugLog($var1,$var2,$var3,$var4);
     62/* ********************** */
     63// pending code for test
     64    /*add_event_handler('login_failure', 'LCAS_action');
     65   
     66    function LCAS_action()
    11467    {
    115       $user_idsOK = array();
    116       if (!check_consult($user['id'], $user_idsOK))
    117         redirect(PHPWG_ROOT_PATH.'profile.php');
    118     }
     68      return($lang['login_error'] = l10n('login_error'));
     69    }*/
    11970  }
    12071}
    121 
    122 
    123 add_event_handler('init', 'LCAS_InitPage');
    124 /* *** Important ! This is necessary to make email exclusion work in admin's users management panel *** */
    125 function LCAS_InitPage()
    126 {
    127   load_language('plugin.lang', LCAS_PATH);
    128   global $conf, $template, $page, $lang, $errors;
    129 
    130   $conf_LCAS= unserialize($conf['LoginCaseAccentsSensitivity']);
    131 
    132 /* Admin user management */
    133   if (script_basename() == 'admin' and isset($_GET['page']) and $_GET['page'] == 'user_list')
    134   {
    135     if (isset($_POST['submit_add']))
    136     {
    137 
    138     }
    139   }
    140 }
    141 
    14272?>
Note: See TracChangeset for help on using the changeset viewer.