Changeset 7955


Ignore:
Timestamp:
11/30/10 17:24:38 (9 years ago)
Author:
Eric
Message:
  • Bug 1585 fixed : Adding plugin's version number in #_config table
  • Performing old code cleanup
  • 1st step to branch 2.16
Location:
extensions/NBC_UserAdvManager/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • extensions/NBC_UserAdvManager/trunk/admin/UAM_admin.php

    r6801 r7955  
    1616include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php'); 
    1717include_once (PHPWG_ROOT_PATH.'/include/constants.php'); 
    18 $my_base_url = get_admin_plugin_menu_link(__FILE__); 
    1918 
    2019load_language('plugin.lang', UAM_PATH); 
    2120load_language('help/plugin.lang', UAM_PATH); 
     21 
     22 
     23// +-----------------------------------------------------------------------+ 
     24// |                   Variables initialization                            | 
     25// +-----------------------------------------------------------------------+ 
     26$my_base_url = get_admin_plugin_menu_link(__FILE__); 
    2227 
    2328$page['global'] = array(); 
     
    2833$UAM_Password_Test_Score = 0; 
    2934$UAM_Exclusionlist_Error = false; 
     35 
    3036 
    3137// +-----------------------------------------------------------------------+ 
     
    6470// |            FCK Editor for email text fields              | 
    6571// +----------------------------------------------------------+ 
    66  
    67 /* Available only for ConfirmMail return page customization */ 
    6872$toolbar = 'Basic'; 
    6973$width = '750px'; 
     
    104108  { 
    105109 
    106 /* General configuration settings */ 
     110    //General configuration settings 
    107111                $_POST['UAM_MailInfo_Text'] = str_replace('\"', '"', str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UAM_MailInfo_Text']))); 
    108112     
     
    112116 
    113117 
    114 /* Check if CR-LF exist at begining and end of mail exclusion list - If yes, removes them */ 
     118    //Check if CR-LF exist at begining and end of mail exclusion list - If yes, removes them 
    115119    if (preg_match('/^[\s]+/', $_POST['UAM_MailExclusion_List'])) 
    116120    { 
     
    154158                pwg_query($query); 
    155159 
    156 /* Email confirmation settings */ 
     160    //Email confirmation settings 
    157161    $_POST['UAM_ConfirmMail_ReMail_Txt1'] = str_replace('\"', '"', str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UAM_ConfirmMail_ReMail_Txt1']))); 
    158162 
     
    187191 
    188192 
    189 /* Testing password enforcement */ 
     193  //Testing password enforcement 
    190194  if (isset($_POST['PasswordTest']) and !is_adviser() and isset($_POST['UAM_Password_Test']) and !empty($_POST['UAM_Password_Test'])) 
    191195  { 
     
    199203  $conf_UAM = unserialize($conf['UserAdvManager']); 
    200204 
    201 /* Group setting for unvalidated and validated users */ 
     205  //Group setting for unvalidated and validated users 
    202206  $groups[-1] = '---------'; 
    203207  $No_Valid = -1; 
    204208  $Valid = -1; 
    205209         
    206 /* Check groups list in database  */ 
     210  //Check groups list in database  
    207211  $query = ' 
    208212SELECT id, name 
     
    216220  { 
    217221    $groups[$row['id']] = $row['name']; 
    218 /* configuration value for unvalidated users */ 
     222    //configuration value for unvalidated users 
    219223    if (isset($conf_UAM[2]) and $conf_UAM[2] == $row['id']) 
    220224    { 
    221225                $No_Valid = $row['id']; 
    222226                } 
    223 /* configuration value for validated users */ 
     227    //configuration value for validated users 
    224228    if (isset($conf_UAM[3]) and $conf_UAM[3] == $row['id']) 
    225229                { 
     
    228232  } 
    229233         
    230 /* Template initialization for unvalidated users group */ 
     234  //Template initialization for unvalidated users group 
    231235  $template->assign( 
    232236    'No_Confirm_Group', 
     
    236240                        ) 
    237241                ); 
    238 /* Template initialization for validated users group */ 
     242  //Template initialization for validated users group 
    239243  $template->assign( 
    240244    'Validated_Group', 
     
    245249        ); 
    246250         
    247 /* Status setting for unvalidated and validated users */ 
     251  //Status setting for unvalidated and validated users 
    248252  $status_options[-1] = '------------'; 
    249253  $No_Valid_Status = -1; 
    250254  $Valid_Status = -1; 
    251255         
    252 /* Get status values */ 
     256  //Get status values 
    253257  foreach (get_enums(USER_INFOS_TABLE, 'status') as $status) 
    254258  { 
     
    259263          } 
    260264           
    261 /* Template initialization for unvalidated users group */ 
     265      //Template initialization for unvalidated users group 
    262266      $template->assign( 
    263267        'No_Confirm_Status', 
     
    269273  } 
    270274   
    271 /* Get status values */ 
     275  //Get status values 
    272276  foreach (get_enums(USER_INFOS_TABLE, 'status') as $status) 
    273277  { 
     
    278282                } 
    279283                 
    280 /* Template initialization for unvalidated users group */ 
     284      //Template initialization for unvalidated users group 
    281285      $template->assign( 
    282286            'Confirm_Status', 
     
    288292        } 
    289293 
    290 /* Save last opened paragraph in configuration tab */ 
     294  //Save last opened paragraph in configuration tab 
    291295  $nb_para=(isset($_POST["nb_para"])) ? $_POST["nb_para"]:""; 
    292296  $nb_para2=(isset($_POST["nb_para2"])) ? $_POST["nb_para2"]:""; 
    293297 
    294298  $conf_UAM_ConfirmMail = unserialize($conf['UserAdvManager_ConfirmMail']); 
    295    
     299 
     300  // Template initialization for forms and data 
    296301  $template->assign( 
    297302    array( 
     
    352357                $msg_error1 = ''; 
    353358                 
    354 /* Username without forbidden keys */ 
     359    //Username without forbidden keys 
    355360    if ( isset($conf_UAM[6]) and $conf_UAM[6] == 'true' ) 
    356361          { 
     
    371376                $msg_error2 = ''; 
    372377                 
    373 /* Email without forbidden domain */ 
     378    //Email without forbidden domain 
    374379    if ( isset($conf_UAM[11]) and $conf_UAM[11] == 'true' ) 
    375380          { 
     
    464469 
    465470// +-----------------------------------------------------------------------+ 
    466 // |                           Template Init                               | 
    467 // +-----------------------------------------------------------------------+ 
    468                 /*$base_url = PHPWG_ROOT_PATH.'admin.php?page=user_list'; 
    469  
    470     if (isset($_GET['start']) and is_numeric($_GET['start'])) 
    471     { 
    472       $start = $_GET['start']; 
    473     } 
    474     else 
    475     { 
    476       $start = 0; 
    477     }*/ 
    478  
    479 // +-----------------------------------------------------------------------+ 
    480 // |                            navigation bar                             | 
    481 // +-----------------------------------------------------------------------+ 
    482  
    483 /*$url = PHPWG_ROOT_PATH.'admin.php'.get_query_string_diff(array('start')); 
    484  
    485 $navbar = create_navigation_bar( 
    486   $url, 
    487   count($page['filtered_users']), 
    488   $start, 
    489   $conf['users_page'] 
    490   ); 
    491  
    492 $template->assign('navbar', $navbar);*/ 
    493  
    494 // +-----------------------------------------------------------------------+ 
    495471// |                               user list                               | 
    496472// +-----------------------------------------------------------------------+ 
     
    499475    foreach ($page['filtered_users'] as $num => $local_user) 
    500476    { 
    501 // simulate LIMIT $start, $conf['users_page'] 
    502                         /*if ($num < $start) 
    503       { 
    504         continue; 
    505       } 
    506       if ($num >= $start + $conf['users_page']) 
    507       { 
    508         break; 
    509       }*/ 
    510  
    511477      $visible_user_list[] = $local_user; 
    512478                } 
     
    557523                        ); 
    558524                } 
    559     /* Plugin version inserted */ 
     525    //Plugin version inserted 
    560526    $template->assign( 
    561527      array( 
     
    977943    } 
    978944 
    979 // +-----------------------------------------------------------------------+ 
    980 // |                           Template Init                               | 
    981 // +-----------------------------------------------------------------------+ 
    982                 /*$base_url = PHPWG_ROOT_PATH.'admin.php?page=user_list'; 
    983  
    984     if (isset($_GET['start']) and is_numeric($_GET['start'])) 
    985     { 
    986       $start = $_GET['start']; 
    987     } 
    988     else 
    989     { 
    990       $start = 0; 
    991     }*/ 
    992  
    993 /* Hide radio-button if not allow to assign adviser */ 
     945    //Hide radio-button if not allow to assign adviser 
    994946                if ($conf['allow_adviser']) 
    995947        { 
    996948        $template->assign('adviser', true); 
    997949        } 
    998  
    999 // +-----------------------------------------------------------------------+ 
    1000 // |                            navigation bar                             | 
    1001 // +-----------------------------------------------------------------------+ 
    1002  
    1003 /*$url = PHPWG_ROOT_PATH.'admin.php'.get_query_string_diff(array('start')); 
    1004  
    1005 $navbar = create_navigation_bar( 
    1006   $url, 
    1007   count($page['filtered_users']), 
    1008   $start, 
    1009   $conf['users_page'] 
    1010   ); 
    1011  
    1012 $template->assign('navbar', $navbar);*/ 
    1013950 
    1014951// +-----------------------------------------------------------------------+ 
     
    1022959    foreach ($page['filtered_users'] as $num => $local_user) 
    1023960    { 
    1024 /* simulate LIMIT $start, $conf['users_page'] */ 
    1025                         /*if ($num < $start) 
    1026       { 
    1027         continue; 
    1028       } 
    1029       if ($num >= $start + $conf['users_page']) 
    1030       { 
    1031         break; 
    1032       }*/ 
    1033  
    1034961      $visible_user_list[] = $local_user; 
    1035962                } 
     
    11241051    }  
    11251052     
    1126     /* Plugin version inserted */ 
     1053    //Plugin version inserted 
    11271054    $template->assign( 
    11281055      array( 
     
    13571284    if (isset($_POST['GhostTracker_Init'])) 
    13581285    { 
    1359       /* Reset is only allowed for admins ! */ 
     1286      //Reset is only allowed for admins ! 
    13601287      if (is_admin() and !is_adviser()) 
    13611288      { 
     
    14261353    } 
    14271354 
    1428 // +-----------------------------------------------------------------------+ 
    1429 // |                           Template Init                               | 
    1430 // +-----------------------------------------------------------------------+ 
    1431                 /*$base_url = PHPWG_ROOT_PATH.'admin.php?page=user_list'; 
    1432  
    1433     if (isset($_GET['start']) and is_numeric($_GET['start'])) 
    1434     { 
    1435       $start = $_GET['start']; 
    1436     } 
    1437     else 
    1438     { 
    1439       $start = 0; 
    1440     }*/ 
    1441  
    1442 /* Hide radio-button if not allow to assign adviser */ 
     1355    //Hide radio-button if not allow to assign adviser 
    14431356                if ($conf['allow_adviser']) 
    14441357    { 
     
    14471360 
    14481361// +-----------------------------------------------------------------------+ 
    1449 // |                            navigation bar                             | 
    1450 // +-----------------------------------------------------------------------+ 
    1451  
    1452 /*$url = PHPWG_ROOT_PATH.'admin.php'.get_query_string_diff(array('start')); 
    1453  
    1454 $navbar = create_navigation_bar( 
    1455   $url, 
    1456   count($page['filtered_users']), 
    1457   $start, 
    1458   $conf['users_page'] 
    1459   ); 
    1460  
    1461 $template->assign('navbar', $navbar);*/ 
    1462  
    1463 // +-----------------------------------------------------------------------+ 
    14641362// |                               user list                               | 
    14651363// +-----------------------------------------------------------------------+ 
     
    14681366    foreach ($page['filtered_users'] as $num => $local_user) 
    14691367    { 
    1470 /* simulate LIMIT $start, $conf['users_page'] */ 
    1471                         /*if ($num < $start) 
    1472       { 
    1473         continue; 
    1474       } 
    1475       if ($num >= $start + $conf['users_page']) 
    1476       { 
    1477         break; 
    1478       }*/ 
    1479  
    14801368      $visible_user_list[] = $local_user; 
    14811369                } 
    14821370 
    1483 /* Plugin version inserted */ 
     1371      //Plugin version inserted 
    14841372      $template->assign( 
    14851373        array( 
  • extensions/NBC_UserAdvManager/trunk/changelog.txt.php

    r7277 r7955  
    202202            Bug 1936 fixed - Bad home link in ConfirmMail page when gallery URL is not set 
    203203            small CSS improvement (thx to Gotcha) 
     204 
     205-- 2.15.9 : Bug 2010 fixed - No confirmation email when information email is not set 
    204206*/ 
    205207?> 
  • extensions/NBC_UserAdvManager/trunk/include/upgradedb.inc.php

    r6775 r7955  
    208208} 
    209209 
    210 /* upgrade from branch 2.15.3 to 2.15.4 */ 
    211 /* ************************************ */ 
     210/* upgrade from 2.15.3 to 2.15.4 */ 
     211/* ***************************** */ 
    212212function upgrade_2153_2154() 
    213213{ 
     
    267267  pwg_query($query); 
    268268} 
     269 
     270/* upgrade from 2.15.9 to 2.16.0 */ 
     271/* ***************************** */ 
     272function upgrade_2159_2160() 
     273{ 
     274  global $conf; 
     275 
     276/* Upgrading options */ 
     277  $query = ' 
     278SELECT value 
     279  FROM '.CONFIG_TABLE.' 
     280WHERE param = "UserAdvManager" 
     281;'; 
     282 
     283  $result = pwg_query($query); 
     284  $conf_UAM = pwg_db_fetch_assoc($result); 
     285     
     286  $Newconf_UAM = unserialize($conf_UAM['value']); 
     287   
     288  $Newconf_UAM[22] = 'false'; 
     289  $Newconf_UAM[23] = 'false'; 
     290  $Newconf_UAM[24] = 'false'; 
     291  $Newconf_UAM[25] = 'Sorry, your account has been deleted due to a too long time passed since your last visit.'; 
     292  $Newconf_UAM[26] = 'Sorry, your account has been deprecated due to a too long time passed since your last visit. Please, use the following link to revalidate your account.'; 
     293   
     294  $update_conf = serialize($Newconf_UAM); 
     295     
     296  $query = ' 
     297      UPDATE '.CONFIG_TABLE.' 
     298                        SET value="'.addslashes($update_conf).'" 
     299                        WHERE param="UserAdvManager" 
     300                        LIMIT 1 
     301                ;'; 
     302 
     303        pwg_query($query); 
     304 
     305  // Insert a new config entry for futur plugin's version check 
     306  $query = ' 
     307INSERT INTO '.CONFIG_TABLE.' (param, value, comment) 
     308VALUES ("UserAdvManager_Version","2.15.8","UAM version check") 
     309  ;'; 
     310   
     311  pwg_query($query); 
     312} 
    269313?> 
  • extensions/NBC_UserAdvManager/trunk/main.inc.php

    r7656 r7955  
    22/* 
    33Plugin Name: UserAdvManager 
    4 Version: 2.15.9 
     4Version: 2.16.0-alpha 
    55Description: Renforcer la gestion des utilisateurs - Enforce users management 
    66Plugin URI: http://fr.piwigo.org/ext/extension_view.php?eid=216 
     
    2626 
    2727 
    28 /* Plugin admin */ 
     28// Plugin administration panel 
    2929add_event_handler('get_admin_plugin_menu_links', 'UAM_admin_menu'); 
    30  
    31 function UAM_admin_menu($menu) 
    32 { 
    33 // +-----------------------------------------------------------------------+ 
    34 // |                      Getting plugin name                              | 
    35 // +-----------------------------------------------------------------------+ 
    36   $plugin =  PluginInfos(UAM_PATH); 
    37   $name = $plugin['name']; 
    38    
    39   array_push($menu, 
    40     array( 
    41       'NAME' => $name, 
    42       'URL'  => get_admin_plugin_menu_link(UAM_PATH.'/admin/UAM_admin.php') 
    43     ) 
    44   ); 
    45  
    46   return $menu; 
    47 } 
    4830 
    4931/* Lastvisit table feed for Ghost Tracker */ 
    5032add_event_handler('loc_begin_index', 'UAM_GhostTracker'); 
    5133 
    52 function UAM_GhostTracker() 
    53 { 
    54   global $conf, $user; 
    55  
    56   $conf_UAM = unserialize($conf['UserAdvManager']); 
    57  
    58   /* Admins, Guests and Adult_Content users are not tracked for Ghost Tracker or Users Tracker */ 
    59   if (!is_admin() and !is_a_guest() and $user['username'] != "16" and $user['username'] != "18") 
    60   { 
    61     if ((isset($conf_UAM[16]) and $conf_UAM[16] == 'true') or (isset($conf_UAM[19]) and $conf_UAM[19] == 'true')) 
    62     { 
    63  
    64       $userid = get_userid($user['username']); 
    65            
    66       /* Looking for existing entry in last visit table */ 
    67       $query = ' 
    68 SELECT * 
    69   FROM '.USER_LASTVISIT_TABLE.' 
    70 WHERE user_id = '.$userid.' 
    71 ;'; 
    72          
    73       $count = pwg_db_num_rows(pwg_query($query)); 
    74           
    75       if ($count == 0) 
    76       { 
    77         /* If not, data are inserted in table */ 
    78         $query = ' 
    79 INSERT INTO '.USER_LASTVISIT_TABLE.' (user_id, lastvisit, reminder) 
    80 VALUES ('.$userid.', now(), "false") 
    81 ;'; 
    82         pwg_query($query); 
    83       } 
    84       else if ($count > 0) 
    85       { 
    86         /* If yes, data are updated in table */ 
    87         $query = ' 
    88 UPDATE '.USER_LASTVISIT_TABLE.' 
    89 SET lastvisit = now(), reminder = "false" 
    90 WHERE user_id = '.$userid.' 
    91 LIMIT 1 
    92 ;'; 
    93         pwg_query($query); 
    94       } 
    95     } 
    96   } 
    97 } 
    98  
    99  
    100 /* User creation */ 
     34// User creation 
    10135add_event_handler('register_user', 'UAM_Adduser'); 
    10236 
    103 function UAM_Adduser($register_user) 
    104 { 
    105   global $conf; 
    106  
    107   $conf_UAM = unserialize($conf['UserAdvManager']); 
    108  
    109   // Exclusion of Adult_Content users 
    110   if ($register_user['username'] != "16" and $register_user['username'] != "18") 
    111   { 
    112     if ((isset($conf_UAM[0]) and $conf_UAM[0] == 'true') and (isset($conf_UAM[1]) and $conf_UAM[1] == 'local')) 
    113     { 
    114       /* This is to send an information email and set user to "waiting" group or status until admin validation */ 
    115       $passwd = (isset($_POST['password'])) ? $_POST['password'] : ''; 
    116       SendMail2User(1, $register_user['id'], $register_user['username'], $passwd, $register_user['email'], false); 
    117       setgroup($register_user['id']);// Set to "waiting" group or status until admin validation 
    118     } 
    119     elseif ((isset($conf_UAM[0]) and $conf_UAM[0] == 'false') and (isset($conf_UAM[1]) and $conf_UAM[1] == 'local')) 
    120     { 
    121       /* This is to set user to "waiting" group or status until admin validation */ 
    122       setgroup($register_user['id']);// Set to "waiting" group or status until admin validation 
    123     } 
    124     elseif ((isset($conf_UAM[0]) and $conf_UAM[0] == 'true') and (isset($conf_UAM[1]) and $conf_UAM[1] == 'false')) 
    125     { 
    126       /* This is to send an information email without validation key */ 
    127       $passwd = (isset($_POST['password'])) ? $_POST['password'] : ''; 
    128       SendMail2User(1, $register_user['id'], $register_user['username'], $passwd, $register_user['email'], false); 
    129     } 
    130     /* Sending registration confirmation by email */ 
    131     elseif ((isset($conf_UAM[0]) and $conf_UAM[0] == 'true' or $conf_UAM[0] == 'false') and (isset($conf_UAM[1]) and $conf_UAM[1] == 'true')) 
    132     { 
    133       if (is_admin() and isset($conf_UAM[20]) and $conf_UAM[20] == 'true') 
    134       { 
    135         $passwd = (isset($_POST['password'])) ? $_POST['password'] : ''; 
    136         SendMail2User(1, $register_user['id'], $register_user['username'], $passwd, $register_user['email'], true);  
    137       } 
    138       elseif (is_admin() and isset($conf_UAM[20]) and $conf_UAM[20] == 'false') 
    139       { 
    140         $passwd = (isset($_POST['password'])) ? $_POST['password'] : ''; 
    141         SendMail2User(1, $register_user['id'], $register_user['username'], $passwd, $register_user['email'], false); 
    142       } 
    143       elseif (!is_admin()) 
    144       { 
    145         $passwd = (isset($_POST['password'])) ? $_POST['password'] : ''; 
    146         SendMail2User(1, $register_user['id'], $register_user['username'], $passwd, $register_user['email'], true); 
    147       } 
    148     } 
    149   } 
    150 } 
    151  
    152  
    153 /* User deletion */ 
     37// User deletion 
    15438add_event_handler('delete_user', 'UAM_Deluser'); 
    155  
    156 function UAM_Deluser($user_id) 
    157 { 
    158   /* Cleanup for ConfirmMail table */ 
    159   DeleteConfirmMail($user_id); 
    160   /* Cleanup for LastVisit table */ 
    161   DeleteLastVisit($user_id); 
    162   /* Cleanup Redirection settings */ 
    163   DeleteRedir($user_id); 
    164 } 
    165  
    16639 
    16740// Check users registration 
    16841add_event_handler('register_user_check', 'UAM_RegistrationCheck', EVENT_HANDLER_PRIORITY_NEUTRAL, 2); 
    16942 
    170 function UAM_RegistrationCheck($err, $user) 
    171 { 
    172   global $errors, $conf; 
    173  
    174   // Exclusion of Adult_Content users 
    175   if ($user['username'] != "16" and $user['username'] != "18") 
    176   { 
    177 // *********************************************************** 
    178 // We need to reset the standard Piwigo's register controls    
    179 // because the call of register_user_check trigger resets them 
    180 // *********************************************************** 
    181   // ********************************** 
    182   // Standard Piwigo's username control 
    183   // ********************************** 
    184     if ($_POST['login'] == '') 
    185     { 
    186       return l10n('reg_err_login1'); 
    187     } 
    188     if (preg_match('/^.* $/', $_POST['login'])) 
    189     { 
    190       return l10n('reg_err_login2'); 
    191     } 
    192     if (preg_match('/^ .*$/', $_POST['login'])) 
    193     { 
    194       return l10n('reg_err_login3'); 
    195     } 
    196     if (get_userid($_POST['login'])) 
    197     { 
    198       return l10n('reg_err_login5'); 
    199     } 
    200    
    201     if (script_basename() == 'admin' and isset($_GET['page']) and $_GET['page'] == 'user_list') // not the same email variable if we are on users registration page or on admin's user registration page 
    202     { 
    203     // Email doblons check 
    204       $atom   = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]';   // before  arobase 
    205       $domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // domain name 
    206       $regex = '/^' . $atom . '+' . '(\.' . $atom . '+)*' . '@' . '(' . $domain . '{1,63}\.)+' . $domain . '{2,63}$/i'; 
    207    
    208       if (!preg_match($regex, $_POST['email'])) 
    209       { 
    210         return l10n('reg_err_mail_address'); 
    211       } 
    212      
    213       $query = ' 
    214 SELECT count(*) 
    215 FROM '.USERS_TABLE.' 
    216 WHERE upper('.$conf['user_fields']['email'].') = upper(\''.$_POST['email'].'\') 
    217 ;'; 
    218       list($count) = pwg_db_fetch_row(pwg_query($query)); 
    219       if ($count != 0) 
    220       { 
    221         return l10n('reg_err_mail_address_dbl'); 
    222       } 
    223     } 
    224  
    225     if (script_basename() == 'register') // not the same email variable if we are on users registration page or on admin's user registration page 
    226     { 
    227   // Email doblons check 
    228       $atom   = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]';   // before  arobase 
    229       $domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // domain name 
    230       $regex = '/^' . $atom . '+' . '(\.' . $atom . '+)*' . '@' . '(' . $domain . '{1,63}\.)+' . $domain . '{2,63}$/i'; 
    231    
    232       if (!preg_match($regex, $_POST['mail_address'])) 
    233       { 
    234         return l10n('reg_err_mail_address'); 
    235       } 
    236      
    237       $query = ' 
    238 SELECT count(*) 
    239 FROM '.USERS_TABLE.' 
    240 WHERE upper('.$conf['user_fields']['email'].') = upper(\''.$_POST['mail_address'].'\') 
    241 ;'; 
    242       list($count) = pwg_db_fetch_row(pwg_query($query)); 
    243       if ($count != 0) 
    244       { 
    245         return l10n('reg_err_mail_address_dbl'); 
    246       } 
    247     } 
    248 // ****************************************** 
    249 // End of Piwigo's standard register controls 
    250 // ****************************************** 
    251  
    252  
    253 // ****************************************** 
    254 // Here begins the advanced register controls 
    255 // ****************************************** 
    256     $PasswordCheck = 0; 
    257  
    258     $conf_UAM = unserialize($conf['UserAdvManager']); 
    259  
    260     // Password enforcement control 
    261     if (isset($conf_UAM[13]) and $conf_UAM[13] == 'true' and !empty($conf_UAM[14])) 
    262     { 
    263       if (!empty($user['password']) and !is_admin()) 
    264       { 
    265         $PasswordCheck = testpassword($user['password']); 
    266    
    267         if ($PasswordCheck < $conf_UAM[14]) 
    268         { 
    269           $message = get_l10n_args('reg_err_login4_%s', $PasswordCheck); 
    270           return($lang['reg_err_pass'] = l10n_args($message).$conf_UAM[14]); 
    271         } 
    272       } 
    273       else if (!empty($user['password']) and is_admin() and isset($conf_UAM[15]) and $conf_UAM[15] == 'true') 
    274       { 
    275         $PasswordCheck = testpassword($user['password']); 
    276    
    277         if ($PasswordCheck < $conf_UAM[14]) 
    278         { 
    279           $message = get_l10n_args('reg_err_login4_%s', $PasswordCheck); 
    280           return($lang['reg_err_pass'] = l10n_args($message).$conf_UAM[14]); 
    281         } 
    282       } 
    283     } 
    284  
    285     // Username without forbidden keys 
    286     if (isset($conf_UAM[6]) and $conf_UAM[6] == 'true' and !empty($_POST['login']) and ValidateUsername($_POST['login']) and !is_admin()) 
    287     { 
    288       $_POST['login'] = ''; 
    289       return($lang['reg_err_login1'] = l10n('reg_err_login6')."'".$conf_UAM[7]."'"); 
    290     } 
    291  
    292     // Email without forbidden domains 
    293     if (isset($conf_UAM[11]) and $conf_UAM[11] == 'true' and !empty($_POST['mail_address']) and ValidateEmailProvider($_POST['mail_address']) and !is_admin()) 
    294     { 
    295       $_POST['mail_address'] = ''; 
    296       return($lang['reg_err_login1'] = l10n('reg_err_login7')."'".$conf_UAM[12]."'"); 
    297     } 
    298   } 
    299 } 
    300  
    301  
    30243if (script_basename() == 'profile') 
    30344{ 
    30445  add_event_handler('loc_begin_profile', 'UAM_Profile_Init'); 
    305  
    306   function UAM_Profile_Init() 
    307   { 
    308     global $conf, $user, $template; 
    309  
    310     $conf_UAM = unserialize($conf['UserAdvManager']); 
    311      
    312     if ((isset($conf_UAM[21]) and $conf_UAM[21] == 'true')) 
    313     { 
    314       $user_idsOK = array(); 
    315       if (!check_consult($user['id'], $user_idsOK)) 
    316       { 
    317         $user_idsOK[] = $user['id']; 
    318          
    319         $query = " 
    320           UPDATE ".CONFIG_TABLE." 
    321           SET value = \"".implode(',', $user_idsOK)."\" 
    322           WHERE param = 'UserAdvManager_Redir';"; 
    323            
    324         pwg_query($query); 
    325       } 
    326     } 
    327  
    328     if (isset($_POST['validate']) and !is_admin()) 
    329     { 
    330       /* Email without forbidden domains */ 
    331       if (isset($conf_UAM[11]) and $conf_UAM[11] == 'true' and !empty($_POST['mail_address'])) 
    332       { 
    333         if (ValidateEmailProvider($_POST['mail_address'])) 
    334         { 
    335           $template->append('errors', l10n('reg_err_login7')."'".$conf_UAM[12]."'"); 
    336           unset($_POST['validate']); 
    337         } 
    338       } 
    339  
    340       $typemail = 3; 
    341        
    342       if (!empty($_POST['use_new_pwd'])) 
    343       { 
    344         $typemail = 2; 
    345          
    346         /* Password enforcement control */ 
    347         if (isset($conf_UAM[13]) and $conf_UAM[13] == 'true' and !empty($conf_UAM[14])) 
    348         { 
    349           $PasswordCheck = testpassword($_POST['use_new_pwd']); 
    350           
    351           if ($PasswordCheck < $conf_UAM[14]) 
    352           { 
    353             $message = get_l10n_args('reg_err_login4_%s', $PasswordCheck); 
    354             $template->append('errors', l10n_args($message).$conf_UAM[14]); 
    355             unset($_POST['use_new_pwd']); 
    356             unset($_POST['validate']); 
    357           } 
    358         } 
    359       } 
    360        
    361       /* Sending registration confirmation by email */ 
    362       if ((isset($conf_UAM[0]) and $conf_UAM[0] == 'true') or (isset($conf_UAM[1]) and $conf_UAM[1] == 'true') or (isset($conf_UAM[1]) and $conf_UAM[1] == 'local')) 
    363       { 
    364         $confirm_mail_need = false; 
    365                
    366         if (!empty($_POST['mail_address'])) 
    367         { 
    368           $query = ' 
    369 SELECT '.$conf['user_fields']['email'].' AS email 
    370 FROM '.USERS_TABLE.' 
    371 WHERE '.$conf['user_fields']['id'].' = \''.$user['id'].'\' 
    372 ;'; 
    373            
    374           list($current_email) = pwg_db_fetch_row(pwg_query($query)); 
    375  
    376           /* This is to send a new validation key */ 
    377           if ($_POST['mail_address'] != $current_email and (isset($conf_UAM[1]) and $conf_UAM[1] == 'true')) 
    378          
    379             $confirm_mail_need = true; 
    380  
    381           /* This is to set the user to "waiting" group or status until admin validation */ 
    382           if ($_POST['mail_address'] != $current_email and (isset($conf_UAM[1]) and $conf_UAM[1] == 'local')) 
    383          
    384             setgroup($register_user['id']);// Set to "waiting" group or status until admin validation 
    385             $confirm_mail_need = false; 
    386         } 
    387          
    388         if ((!empty($_POST['use_new_pwd']) and (isset($conf_UAM[0]) and $conf_UAM[0] == 'true') or $confirm_mail_need)) 
    389         { 
    390           $query = ' 
    391 SELECT '.$conf['user_fields']['username'].' 
    392 FROM '.USERS_TABLE.' 
    393 WHERE '.$conf['user_fields']['id'].' = \''.$user['id'].'\' 
    394 ;'; 
    395          
    396           list($username) = pwg_db_fetch_row(pwg_query($query)); 
    397  
    398           SendMail2User($typemail, $user['id'], $username, $_POST['use_new_pwd'], $_POST['mail_address'], $confirm_mail_need); 
    399         } 
    400       } 
    401     } 
    402   } 
    40346} 
    40447 
    405  
    406 // RedirectToProfile - Thx to LucMorizur 
    407 // redirects a visitor (except for admins, webmasters and generic statuses) to his 
    408 // profile.php page 
    409 // 
    410 // no variable, no return 
     48// Redirection to profile page 
    41149add_event_handler('login_success', 'RedirectToProfile'); 
    41250 
    413 function RedirectToProfile() 
    414 { 
    415   global $conf, $user; 
    416    
    417   $conf_UAM = unserialize($conf['UserAdvManager']); 
    418    
    419   $query =' 
    420 SELECT user_id, status 
    421 FROM '.USER_INFOS_TABLE.' 
    422 WHERE user_id = '.$user['id'].' 
    423 ;'; 
    424   $data = pwg_db_fetch_assoc(pwg_query($query)); 
    425    
    426   if ($data['status'] <> "admin" and $data['status'] <> "webmaster" and $data['status'] <> "generic") 
    427   { 
    428     if ((isset($conf_UAM[21]) and $conf_UAM[21] == 'true')) 
    429     { 
    430       $user_idsOK = array(); 
    431       if (!check_consult($user['id'], $user_idsOK)) 
    432         redirect(PHPWG_ROOT_PATH.'profile.php'); 
    433     } 
    434   } 
    435 } 
     51// *** Important ! This is necessary to make email exclusion work in admin's users management panel *** 
     52add_event_handler('init', 'UAM_InitPage'); 
    43653 
    437  
    438 add_event_handler('init', 'UAM_InitPage'); 
    439 /* *** Important ! This is necessary to make email exclusion work in admin's users management panel *** */ 
    440 function UAM_InitPage() 
    441 { 
    442   load_language('plugin.lang', UAM_PATH); 
    443   global $conf, $template, $page, $lang, $errors; 
    444  
    445   $conf_UAM = unserialize($conf['UserAdvManager']); 
    446  
    447 /* Admin user management */ 
    448   if (script_basename() == 'admin' and isset($_GET['page']) and $_GET['page'] == 'user_list') 
    449   { 
    450     if (isset($_POST['submit_add'])) 
    451     { 
    452       /* Email without forbidden domains */ 
    453       if (isset($conf_UAM[11]) and $conf_UAM[11] == 'true' and !empty($_POST['email']) and ValidateEmailProvider($_POST['email'])) 
    454       { 
    455         $template->append('errors', l10n('reg_err_login7')."'".$conf_UAM[12]."'"); 
    456         unset($_POST['submit_add']); 
    457       } 
    458     } 
    459   } 
    460 } 
    461  
    462  
     54// Comment without author 
    46355add_event_handler('user_comment_check', 'UAM_CheckEmptyCommentAuthor', 50, 2); 
    464  
    465 function UAM_CheckEmptyCommentAuthor($comment_action, $comm) 
    466 { 
    467   load_language('plugin.lang', UAM_PATH); 
    468   global $infos, $conf, $template; 
    469  
    470   $conf_UAM = unserialize($conf['UserAdvManager']); 
    471  
    472 /* User creation OR update */ 
    473   if (isset($conf_UAM[5]) and $conf_UAM[5] == 'true' and $conf['comments_forall'] == 'true' and $comm['author'] == 'guest') 
    474   { 
    475     $comment_action = 'reject'; 
    476  
    477     array_push($infos, l10n('UAM_Empty Author')); 
    478   } 
    479  
    480   return $comment_action; 
    481 } 
    48256?> 
  • extensions/NBC_UserAdvManager/trunk/maintain.inc.php

    r6822 r7955  
    180180  } 
    181181 
     182 
     183        $query = ' 
     184SELECT param 
     185  FROM '.CONFIG_TABLE.' 
     186WHERE param = "UserAdvManager_Version" 
     187;'; 
     188  $count = pwg_db_num_rows(pwg_query($query)); 
     189   
     190  if ($count == 0) 
     191  { 
     192    upgrade_2159_2160(); 
     193  } 
     194 
    182195load_conf_from_db('param like \'UserAdvManager\\_%\''); 
    183196} 
Note: See TracChangeset for help on using the changeset viewer.