Changeset 8166


Ignore:
Timestamp:
12/16/10 22:53:03 (9 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.