Changeset 9158


Ignore:
Timestamp:
02/10/11 21:31:02 (9 years ago)
Author:
LucMorizur
Message:

LCAS takes completely care for case sensitivity: $confinsensitive_case_logon set to false by LCAS

Location:
extensions/LCAS/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • extensions/LCAS/trunk/admin/LCAS_admin.php

    r8845 r9158  
    3838$version = $plugin['version']; 
    3939 
    40         if (isset($_POST['submit']) and isset($_POST['LCAS_Option']) and isset($_POST['LCAS_Mail'])) 
     40        if (isset($_POST['submit']) and !is_adviser() and isset($_POST['LCAS_Option']) and isset($_POST['LCAS_Mail'])) 
    4141  { 
    4242 
     
    4545     
    4646                // LCAS configuration is now hereby defined : 
    47     // $conf_LCAS[0] : "final case", describe how LCAS should behave; 
     47    // $conf_LCAS[0] : spare // quite lazy, but convenient to not have to 
     48      // decrease index of each option below everywhere :-/ ... 
    4849    // $conf_LCAS[1] : LCAS option, describe the choice of the webmaster; 
    4950    // $conf_LCAS[2] : LCAS_Mail; 
    5051    // $conf_LCAS[3] : LCAS_MailText. 
    5152    $newconf_LCAS= array( 
    52       LCAS_final_case($_POST['LCAS_Option']), 
     53      '', // quite lazy, but convenient to not have to 
     54      // decrease index of each option everywhere :-/ ... 
    5355      $_POST['LCAS_Option'], 
    54       // $_POST['LCAS__spare'] : quite lazy, but convenient to not have to 
    55       // decrease index of each option below everywhere :-/ ... 
    5656      $_POST['LCAS_Mail'], 
    5757      $_POST['LCAS_MailText']); 
     
    7272 
    7373        $conf_LCAS= unserialize($conf['LoginCaseAccentsSensitivity']); 
    74   $conf_LCAS[0] = LCAS_final_case($conf_LCAS[1]); 
    7574   
    76   if (isset($conf_LCAS[0])) 
     75  if (isset($conf_LCAS[1])) 
    7776  { 
    78     // $conf['insensitive_case_logon'] must be true or false when needed 
    79     if ($conf_LCAS[0]=='4' or $conf_LCAS[0]=='5') 
    80      array_push($page['errors'], l10n('LCAS_warning')); 
    81     elseif ($conf_LCAS[0]=='6' or $conf_LCAS[0]=='7') 
    82      array_push($page['errors'], l10n('LCAS_warning2')); 
    83  
    84     $case_ins = (in_array($conf_LCAS[0], array('1', '3','6','7'))); 
    85     $acc_ins = (in_array($conf_LCAS[0], array('2', '5', '3','6','7'))); 
     77    $case_ins = ($conf_LCAS[1] == '1' or $conf_LCAS[1] == '3'); 
     78    $acc_ins = ($conf_LCAS[1] == '2' or $conf_LCAS[1] == '3'); 
    8679 
    8780    if ($case_ins or $acc_ins) 
     
    128121// +-----------------------------------------------------------------------+ 
    129122 
    130       $page['all_users'] = LCAS_get_user_list($conf_LCAS[0]); 
     123      $page['all_users'] = LCAS_get_user_list($conf_LCAS[1]); 
    131124 
    132125// +-----------------------------------------------------------------------+ 
     
    157150        ); 
    158151      } 
    159       /* Plugin version insert */ 
    160       $template->assign( 
    161         array( 
    162           'LCAS_VERSION'  => $version, 
    163           'LCAS_PATH'     => LCAS_PATH, 
    164         ) 
    165       );     
    166  
    167152       
    168 // +-----------------------------------------------------------------------+ 
    169 // |                             errors display                            | 
    170 // +-----------------------------------------------------------------------+ 
    171       if ( isset ($errors) and count($errors) != 0) 
    172       { 
    173         $template->assign('errors',array()); 
    174         foreach ($errors as $error) 
    175         { 
    176           array_push($page['errors'], $error); 
    177         } 
    178       }   
    179  
    180153    } 
    181154  } 
     
    189162    'LCAS_VERSION'                  => $version, 
    190163    'LCAS_PATH'                     => LCAS_PATH, 
    191     'PWG_insensitive_case_logon'    => ($conf['insensitive_case_logon']), 
    192164    'Personalized_not_allowed'      => (!isset($conf['LCAS_replacement_set'][0])), 
    193                 'LCAS_final_case'               => $conf_LCAS[0], 
    194165                'LCAS_Option'                   => $conf_LCAS[1], 
    195                 'LCAS_MAIL_TRUE'                => $conf_LCAS[2]=='true'          ? 'checked="checked"' : '' , 
    196                 'LCAS_MAIL_FALSE'               => $conf_LCAS[2]=='false'         ? 'checked="checked"' : '' , 
     166                'LCAS_MAIL_TRUE'                => $conf_LCAS[2] == 'true'  ? 'checked = "checked"' : '' , 
     167                'LCAS_MAIL_FALSE'               => $conf_LCAS[2] == 'false' ? 'checked = "checked"' : '' , 
    197168    'LCAS_MAILTEXT'                 => $conf_LCAS[3] 
    198169    ) 
  • extensions/LCAS/trunk/admin/template/global.tpl

    r8840 r9158  
     1{known_script id="jquery" src=$ROOT_URL|@cat:"themes/default/js/jquery.packed.js"} 
     2{known_script id="jquery.cluetip" src=$ROOT_URL|@cat:"themes/default/js/plugins/jquery.cluetip.packed.js"} 
     3{known_script id="jquery.tablesorter" src=$LCAS_PATH|@cat:"admin/template/js/jquery.tablesorter.js"} 
     4{known_script id="jquery.tablesorter.pager" src=$LCAS_PATH|@cat:"admin/template/js/jquery.tablesorter.pager.js"} 
     5{* 
    16{combine_script id="jquery" path=$ROOT_URL|@cat:"themes/default/js/jquery.js"} 
    27{combine_script id="jquery.cluetip" path=$ROOT_URL|@cat:"themes/default/js/plugins/jquery.cluetip.packed.js"} 
    38{combine_script id="jquery.tablesorter" path=$LCAS_PATH|@cat:"admin/template/js/jquery.tablesorter.js"} 
    49{combine_script id="jquery.tablesorter.pager" path=$LCAS_PATH|@cat:"admin/template/js/jquery.tablesorter.pager.js"} 
     10*} 
    511 
    612{html_head}<link rel="stylesheet" type="text/css" href="{$LCAS_PATH}admin/template/lcas.css">{/html_head} 
    713 
    814<script type="text/javascript"> 
    9 var LCAS_final_case = '{$LCAS_final_case}'; 
    10 var PWG_insensitive_case_logon = {if $PWG_insensitive_case_logon}true{else}false{/if}; 
    1115var Personalized_not_allowed = {if $Personalized_not_allowed}true{else}false{/if}; 
    1216{literal} 
     
    1721    splitTitle: '|' 
    1822  }); 
    19 }); 
    20  
    21 jQuery().ready(function(){ 
    22   if (PWG_insensitive_case_logon) { 
    23     jQuery('#LCAS_id_Option0, #LCAS_id_Option2').attr('disabled', 'disabled'); 
    24     jQuery('#LCAS_id_Opt0, #LCAS_id_Opt2').attr("title", "{/literal}{'conf[insensitive_case_logon] is true'|@translate}{literal}"); 
    25   } 
    26   else { 
    27     jQuery('#LCAS_id_Option1, #LCAS_id_Option3').attr('disabled', 'disabled'); 
    28     jQuery('#LCAS_id_Opt1, #LCAS_id_Opt3').attr("title", "{/literal}{'conf[insensitive_case_logon] is false'|@translate}{literal}"); 
    29   } 
    30   if (Personalized_not_allowed) { 
    31     jQuery('#LCAS_id_Option0').attr('disabled', 'disabled'); 
    32     jQuery('#LCAS_id_Opt0').attr("title", "{/literal}{'Personalized not allowed tooltip'|@translate}{literal}"); 
    33   } 
    3423}); 
    3524 
     
    4938      .tablesorter({sortList:[[3,0]], headers: { 1: { sorter: false }, 4: { sorter: false }, 5: { sorter: false } } }) 
    5039      .tablesorterPager({container: jQuery("#pager"), positionFixed: false, size: 20, totalPages: 0}); 
     40      if (Personalized_not_allowed) { 
     41        jQuery('#LCAS_id_Option0').attr('disabled', 'disabled'); 
     42        jQuery('#LCAS_id_Opt0').attr("title", "{/literal}{'Personalized not allowed tooltip'|@translate}{literal}"); 
     43      } 
    5144    }  
    5245); 
     
    9487              {'LCAS_Option3'|@translate}<br> 
    9588            </label> 
     89            {* <!-- Shall be implemented later 
    9690            <label for = "LCAS_id_Option0" id ="LCAS_id_Opt0"> 
    9791              <input type="radio" value="0" {if $LCAS_Option == '0'}checked="checked"{/if} id="LCAS_id_Option0" name="LCAS_Option"> 
    98               {'LCAS_Option0'|@translate}{if $Personalized_not_allowed}{'Personalized not allowed explanation'|@translate}{/if}<br> 
    99             </label> 
     92              {'LCAS_Option0'|@translate}<br>{if $Personalized_not_allowed}{'Personalized not allowed explanation'|@translate}{/if}<br> 
     93            </label> 
     94            --> *} 
    10095            <br><br> 
    10196          </li> 
  • extensions/LCAS/trunk/include/functions.inc.php

    r8643 r9158  
    3333 * @return : string modified as stated 
    3434*/ 
    35 function LCAS_change_case($Username, $Opt, $At_login=true) 
     35function LCAS_change_case($Username, $Opt) 
    3636{ 
    3737  global $conf; 
     
    3939  if ($Opt == '0' and !isset($conf['LCAS_replacement_set'][0])) 
    4040   return $Username; 
     41  if ($Opt == '0') return $Username; // to be removed once rule 0 is done 
    4142  $Option = intval($Opt); 
    42   if (!isset($Opt) or ($Option < 0) or ($Option > 7)) return $Username; 
    43   if ($Option > 3) { 
    44     // Management of bad setting of $conf['insensitive_case_logon'] 
    45     switch ($Opt) { 
    46       case '4': 
    47         // LCAS set to case insensitive, but $conf['insensitive_case_logon'] 
    48         // is false : exit immediately, LCAS actually inactive 
    49         return $Username; 
    50       break; 
    51       case '5': 
    52         // LCAS set to case and accents insensitive, but 
    53         // $conf['insensitive_case_logon'] is false : only accents are 
    54         // insensitive 
    55         $Option = 2; 
    56       break; 
    57       case '6': 
    58         // LCAS set to accents only insensitive, but 
    59         // $conf['insensitive_case_logon'] is true : if check is done at 
    60         // login, LCAS cares for both case and accents insensitivity, but 
    61         // using strtolower() as does Piwigo at register; in case the check is 
    62         // done at register, Piwigo cares for the case, thus LCAS cares only 
    63         // for the accents. 
    64         $Option = 2;  
    65         if ($At_login) $Username = strtolower($Username); 
    66       break; 
    67       case '7': 
    68         // LCAS set to personal, but $conf['insensitive_case_logon'] is true : 
    69         // if check is done at login, LCAS cares for both case and personal 
    70         // insensitivity, but using strtolower() as does Piwigo at register; 
    71         // in case the check is done at register, Piwigo cares for the case, 
    72         // thus LCAS cares only for the personal setting. 
    73         $Option = 0; 
    74         if ($At_login) $Username = strtolower($Username); 
    75       break; 
    76     } 
    77   } 
     43  if (!isset($Opt) or ($Option < 0) or ($Option > 3)) return $Username; 
    7844   
    7945  include(LCAS_PATH.'include/LCAS_replacement_set.inc.php'); 
    8046 
    81   // Builds an array of characters that must be replaced 
     47  // Build an array of characters that must be replaced 
    8248  // $rep_char is the replacement character ; $char_rep_arr is an array of  
    8349  // characters which have to be replaced. ie : 
     
    320286 *  
    321287 */ 
    322 function LCAS_SearchCaseUsername($username, $rule, $At_login=true) 
     288function LCAS_SearchCaseUsername($username, $rule) 
    323289{ 
    324290  global $conf; 
    325291 
    326   $username_c = LCAS_change_case($username, $rule, $At_login); 
     292  $username_c = LCAS_change_case($username, $rule); 
    327293 
    328294  if (isset($username)) 
     
    336302    while ($r = pwg_db_fetch_assoc($q)) 
    337303     $LCAS_users[$r['username']] = 
    338       LCAS_change_case($r['username'], $rule, $At_login); 
     304      LCAS_change_case($r['username'], $rule); 
    339305     // $LCAS_users is now an associative table where the key is the account 
    340306     // as registered in the DB, and the value is this same account, 
     
    349315     return $users_found[0]; 
    350316  } 
    351 } 
    352  
    353  
    354 /* 
    355  * LCAS_final_case($var) 
    356  * return the value of the case in which is the gallery, regarding 
    357  * case and accents sensitivity 
    358  * 
    359  * @param $var 
    360  *   the inital proposal from the webmaster 
    361  * @return 
    362  *   string being an image of the case and accents sensitivity 
    363  */ 
    364 function LCAS_final_case($var) { 
    365  
    366   global $conf; 
    367    
    368   if (isset($conf['insensitive_case_logon']) and $conf['insensitive_case_logon'] == true) 
    369   { 
    370     // Uncomfortable status if $conf['insensitive_case_logon'] is true and 
    371     // case insensitivity is not set in LCAS 
    372     if ($var == '2') return '6'; 
    373     elseif  ($var == '0') return '7'; 
    374   } 
    375   else 
    376   { 
    377     // Uncomfortable status if $conf['insensitive_case_logon'] is false and 
    378     // case insensitivity is set in LCAS 
    379     if ($var == '1') return '4'; 
    380     elseif  ($var == '3') return '5'; 
    381   } 
    382    
    383   return $var; 
    384  
    385317} 
    386318 
  • extensions/LCAS/trunk/main.inc.php

    r8638 r9158  
    6363 
    6464  $conf_LCAS= unserialize($conf['LoginCaseAccentsSensitivity']); 
     65   
     66  // Set $conf['insensitive_case_logon'] to false, as LCAS takes completely 
     67  // in charge everything around the case and the accents 
     68  $conf['insensitive_case_logon'] = false; 
    6569  
    6670/* User identification */ 
    6771  if (script_basename() == 'identification') 
    6872  { 
    69     if (isset($_POST['username']) and isset($conf_LCAS[0])) 
     73    if (isset($_POST['username']) and isset($conf_LCAS[1])) 
    7074    { 
    71       $new_username = LCAS_SearchCaseUsername($_POST['username'],$conf_LCAS[0]); 
     75      $new_username = LCAS_SearchCaseUsername($_POST['username'],$conf_LCAS[1]); 
    7276      $_POST['username'] = $new_username == '' ? $_POST['username'] : $new_username; 
    7377    } 
     
    8791  load_language('plugin.lang', LCAS_PATH); 
    8892 
    89   if (isset($conf_LCAS[0])) 
    90    $NewPostLogin = LCAS_SearchCaseUsername($_POST['login'], $conf_LCAS[0], false); 
     93  if (isset($conf_LCAS[1])) 
     94   $NewPostLogin = LCAS_SearchCaseUsername($_POST['login'], $conf_LCAS[1]); 
    9195   
    9296  if (isset($NewPostLogin) and get_userid($NewPostLogin)) 
Note: See TracChangeset for help on using the changeset viewer.