Changeset 3841


Ignore:
Timestamp:
09/12/09 18:57:18 (10 years ago)
Author:
Eric
Message:
  • Adding management of unvalidated users according time limit
  • Adding actions : Resend validation email with new key generation (reset of time limit), send reminder mail for validation (no new key generation), delete expired unvalidated users.

Note : There is still a problem with the display of a new validation link when using function "Resend validation email with new key generation"

Location:
extensions/NBC_UserAdvManager/trunk
Files:
5 edited

Legend:

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

    r3836 r3841  
    2222// +-----------------------------------------------------------------------+ 
    2323if (!isset($_GET['tab'])) 
    24   $page['tab'] = 'global'; 
     24        $page['tab'] = 'global'; 
    2525else 
    2626  $page['tab'] = $_GET['tab']; 
     
    3333               l10n('Tab_ConfirmMail'), 
    3434               $my_base_url.'&tab=confirmmail'); 
     35/* For futur options */ 
    3536//$tabsheet->add('Misc_Options', 
    3637//               l10n('Tab_Misc_Options'), 
     
    5354  case 'global': 
    5455         
    55   if ( isset($_POST['submit']) and !is_adviser() and isset($_POST['UserAdvManager_Mail_Info']) and isset($_POST['UserAdvManager_No_Casse']) and isset($_POST['UserAdvManager_Username_Char']) and isset($_POST['UserAdvManager_Confirm_Mail']) and isset($_POST['UserAdvManager_No_Comment_Anonymous']) ) 
     56        if ( isset($_POST['submit']) and !is_adviser() and isset($_POST['UserAdvManager_Mail_Info']) and isset($_POST['UserAdvManager_No_Casse']) and isset($_POST['UserAdvManager_Username_Char']) and isset($_POST['UserAdvManager_Confirm_Mail']) and isset($_POST['UserAdvManager_No_Comment_Anonymous']) ) 
    5657  { 
    57     $_POST['UserAdvManager_MailInfo_Text'] = str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UserAdvManager_MailInfo_Text'])); 
    58         $_POST['UserAdvManager_ConfirmMail_Text'] = str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UserAdvManager_ConfirmMail_Text'])); 
    59                  
    60         $newconf_nbc_UserAdvManager = $_POST['UserAdvManager_Mail_Info'].';'.$_POST['UserAdvManager_No_Casse'].';'.$_POST['UserAdvManager_Confirm_Mail'].';'.(isset($_POST['UserAdvManager_No_Confirm_Group'])?$_POST['UserAdvManager_No_Confirm_Group']:'').';'.(isset($_POST['UserAdvManager_Validated_Group'])?$_POST['UserAdvManager_Validated_Group']:'').';'.(isset($_POST['UserAdvManager_Validated_Status'])?$_POST['UserAdvManager_Validated_Status']:'').';'.$_POST['UserAdvManager_No_Comment_Anonymous'].';'.$_POST['UserAdvManager_Username_Char'].';'.$_POST['UserAdvManager_Username_List'].';'.(isset($_POST['UserAdvManager_No_Confirm_Status'])?$_POST['UserAdvManager_No_Confirm_Status']:'').';'.$_POST['UserAdvManager_MailInfo_Text'].';'.$_POST['UserAdvManager_ConfirmMail_Text'].';'.$_POST['UserAdvManager_MailExclusion'].';'.$_POST['UserAdvManager_MailExclusion_List']; 
    61                  
    62         $conf['nbc_UserAdvManager'] = $newconf_nbc_UserAdvManager; 
    63                  
    64         $query = ' 
    65           UPDATE '.CONFIG_TABLE.' 
    66           SET value="'.$newconf_nbc_UserAdvManager.'" 
    67           WHERE param="nbc_UserAdvManager" 
    68           LIMIT 1 
    69           ;'; 
    70                  
    71         pwg_query($query); 
    72                  
    73         array_push($page['infos'], l10n('UserAdvManager_save_config')); 
     58                $_POST['UserAdvManager_MailInfo_Text'] = str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UserAdvManager_MailInfo_Text'])); 
     59                $_POST['UserAdvManager_ConfirmMail_Text'] = str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UserAdvManager_ConfirmMail_Text'])); 
     60                 
     61                $newconf_nbc_UserAdvManager = $_POST['UserAdvManager_Mail_Info'].';'.$_POST['UserAdvManager_No_Casse'].';'.$_POST['UserAdvManager_Confirm_Mail'].';'.(isset($_POST['UserAdvManager_No_Confirm_Group'])?$_POST['UserAdvManager_No_Confirm_Group']:'').';'.(isset($_POST['UserAdvManager_Validated_Group'])?$_POST['UserAdvManager_Validated_Group']:'').';'.(isset($_POST['UserAdvManager_Validated_Status'])?$_POST['UserAdvManager_Validated_Status']:'').';'.$_POST['UserAdvManager_No_Comment_Anonymous'].';'.$_POST['UserAdvManager_Username_Char'].';'.$_POST['UserAdvManager_Username_List'].';'.(isset($_POST['UserAdvManager_No_Confirm_Status'])?$_POST['UserAdvManager_No_Confirm_Status']:'').';'.$_POST['UserAdvManager_MailInfo_Text'].';'.$_POST['UserAdvManager_ConfirmMail_Text'].';'.$_POST['UserAdvManager_MailExclusion'].';'.$_POST['UserAdvManager_MailExclusion_List']; 
     62                 
     63                $conf['nbc_UserAdvManager'] = $newconf_nbc_UserAdvManager; 
     64                 
     65                $query = ' 
     66                UPDATE '.CONFIG_TABLE.' 
     67                SET value="'.$newconf_nbc_UserAdvManager.'" 
     68                WHERE param="nbc_UserAdvManager" 
     69                LIMIT 1 
     70                ;'; 
     71                 
     72                pwg_query($query); 
     73                 
     74                array_push($page['infos'], l10n('UserAdvManager_save_config')); 
    7475  } 
    7576         
     
    8485  $query = ' 
    8586    SELECT id, name 
    86         FROM '.GROUPS_TABLE.' 
    87         ORDER BY name ASC 
    88         ;'; 
     87                FROM '.GROUPS_TABLE.' 
     88                ORDER BY name ASC 
     89                ;'; 
    8990         
    9091  $result = pwg_query($query); 
     
    9697    if (isset($conf_nbc_UserAdvManager[3]) and $conf_nbc_UserAdvManager[3] == $row['id']) 
    9798    { 
    98           $No_Valid = $row['id']; 
    99         } 
     99                $No_Valid = $row['id']; 
     100                } 
    100101/* configuration value for validated users */ 
    101102    if (isset($conf_nbc_UserAdvManager[4]) and $conf_nbc_UserAdvManager[4] == $row['id']) 
    102         { 
    103           $Valid = $row['id']; 
    104         } 
     103                { 
     104                $Valid = $row['id']; 
     105                } 
    105106  } 
    106107         
     
    108109  $template->assign( 
    109110    'No_Confirm_Group', 
    110     array( 
    111           'group_options'=> $groups, 
    112           'group_selected' => $No_Valid 
    113         ) 
    114   ); 
     111        array( 
     112                'group_options'=> $groups, 
     113                'group_selected' => $No_Valid 
     114                        ) 
     115                ); 
    115116/* Template initialization for validated users group */ 
    116117  $template->assign( 
    117118    'Validated_Group', 
    118         array( 
     119                array( 
    119120      'group_options'=> $groups, 
    120121      'group_selected' => $Valid 
    121         ) 
    122   ); 
     122                        ) 
     123        ); 
    123124         
    124125/* Status setting for unvalidated and validated users */ 
     
    129130/* Get status values */ 
    130131  foreach (get_enums(USER_INFOS_TABLE, 'status') as $status) 
    131     { 
     132  { 
    132133          $status_options[$status] = l10n('user_status_'.$status); 
    133134          if (isset($conf_nbc_UserAdvManager[9]) and $conf_nbc_UserAdvManager[9] == $status) 
     
    139140        'No_Confirm_Status', 
    140141        array( 
    141                   'Status_options' => $status_options, 
    142                   'Status_selected' => $No_Valid_Status 
    143                 ) 
    144           ); 
    145     } 
     142                                        'Status_options' => $status_options, 
     143                                'Status_selected' => $No_Valid_Status 
     144                                        ) 
     145                        ); 
     146  } 
    146147/* Get status values */ 
    147148  foreach (get_enums(USER_INFOS_TABLE, 'status') as $status) 
    148     { 
     149  { 
    149150          $status_options[$status] = l10n('user_status_'.$status); 
    150151          if (isset($conf_nbc_UserAdvManager[5]) and $conf_nbc_UserAdvManager[5] == $status) 
    151             { 
     152                { 
    152153                  $Valid_Status = $status; 
    153154                } 
     
    156157            'Confirm_Status', 
    157158            array( 
    158                   'Status_options' => $status_options, 
    159                   'Status_selected' => $Valid_Status 
    160                 ) 
    161           ); 
    162     } 
     159                    'Status_options' => $status_options, 
     160                    'Status_selected' => $Valid_Status 
     161                    ) 
     162            ); 
     163        } 
    163164         
    164165  $template->assign( 
     
    189190 
    190191  if ( isset($_POST['audit']) or isset($_POST['submit']) ) 
    191     { 
    192           $msg_error1 = ''; 
     192  { 
     193                $msg_error1 = ''; 
    193194                 
    194195/* username insensible a la casse */ 
    195       if (isset($conf_nbc_UserAdvManager[3]) and $conf_nbc_UserAdvManager[3] == 'true') 
    196             { 
    197                   $query = " 
    198                     SELECT ".$conf['user_fields']['username']." 
    199                         FROM ".USERS_TABLE." p1 
    200                         WHERE EXISTS( 
    201                         SELECT ".$conf['user_fields']['username']." 
    202                         FROM ".USERS_TABLE." p2 
    203                         WHERE p1.".$conf['user_fields']['id']." <> p2.".$conf['user_fields']['id']." 
    204                         AND LOWER(p1.".$conf['user_fields']['username'].") = LOWER(p2.".$conf['user_fields']['username'].") 
    205                         ) 
     196    if (isset($conf_nbc_UserAdvManager[3]) and $conf_nbc_UserAdvManager[3] == 'true') 
     197          { 
     198                        $query = " 
     199                        SELECT ".$conf['user_fields']['username']." 
     200                                FROM ".USERS_TABLE." p1 
     201                                WHERE EXISTS( 
     202                                SELECT ".$conf['user_fields']['username']." 
     203                                FROM ".USERS_TABLE." p2 
     204                                WHERE p1.".$conf['user_fields']['id']." <> p2.".$conf['user_fields']['id']." 
     205                                AND LOWER(p1.".$conf['user_fields']['username'].") = LOWER(p2.".$conf['user_fields']['username'].") 
     206                                ) 
    206207                        ;"; 
    207208                           
     
    209210                         
    210211                  while($row = mysql_fetch_array($result)) 
    211                     { 
    212                           $msg_error1 .= (($msg_error1 <> '') ? '<br/>' : '') . l10n('Err_audit_no_casse').$row['username']; 
     212                { 
     213                                $msg_error1 .= (($msg_error1 <> '') ? '<br/>' : '') . l10n('Err_audit_no_casse').$row['username']; 
    213214                        } 
    214215                } 
    215216 
    216       $msg_error2 = ''; 
     217                $msg_error2 = ''; 
    217218                 
    218219/* Username without forbidden keys */ 
    219220      if ( isset($conf_nbc_UserAdvManager[7]) and $conf_nbc_UserAdvManager[7] == 'true' ) 
    220221            { 
    221                   $query = " 
    222                     SELECT ".$conf['user_fields']['username'].", ".$conf['user_fields']['email']." 
    223                         FROM ".USERS_TABLE." 
    224                         ;"; 
     222                        $query = " 
     223                        SELECT ".$conf['user_fields']['username'].", ".$conf['user_fields']['email']." 
     224                                        FROM ".USERS_TABLE." 
     225                                ;"; 
    225226                           
    226                   $result = pwg_query($query); 
     227                          $result = pwg_query($query); 
    227228                         
    228                   while($row = mysql_fetch_array($result)) 
    229                     { 
    230                           if ( !ValidateUsername($row['username']) ) 
    231                             $msg_error2 .= (($msg_error2 <> '') ? '<br/>' : '') . l10n('Err_audit_username_char').$row['username']; 
     229                          while($row = mysql_fetch_array($result)) 
     230                          { 
     231                                        if (!ValidateUsername($row['username'])) 
     232                                    $msg_error2 .= (($msg_error2 <> '') ? '<br/>' : '') . l10n('Err_audit_username_char').$row['username']; 
     233                                } 
    232234                        } 
    233                 } 
    234  
    235       $msg_error3 = ''; 
     235 
     236                $msg_error3 = ''; 
    236237                 
    237238/* Email without forbidden domain */ 
    238239      if ( isset($conf_nbc_UserAdvManager[12]) and $conf_nbc_UserAdvManager[12] == 'true' ) 
    239240            { 
    240                   $query = " 
    241                     SELECT ".$conf['user_fields']['username'].", ".$conf['user_fields']['email']." 
    242                         FROM ".USERS_TABLE." 
    243                         ;"; 
     241                        $query = " 
     242                        SELECT ".$conf['user_fields']['username'].", ".$conf['user_fields']['email']." 
     243                                        FROM ".USERS_TABLE." 
     244                                ;"; 
    244245                           
    245                   $result = pwg_query($query); 
     246                        $result = pwg_query($query); 
    246247                         
    247                   while($row = mysql_fetch_array($result)) 
     248                        while($row = mysql_fetch_array($result)) 
    248249                    { 
    249                           $conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array(); 
    250                           $conf_nbc_MailExclusion = preg_split('/,/',$conf_nbc_UserAdvManager[13]); 
    251                           for ($i = 0 ; $i < count($conf_nbc_MailExclusion) ; $i++) 
     250                                $conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array(); 
     251                                $conf_nbc_MailExclusion = preg_split('/,/',$conf_nbc_UserAdvManager[13]); 
     252                                for ($i = 0 ; $i < count($conf_nbc_MailExclusion) ; $i++) 
    252253                            { 
    253                           $pattern = '/'.$conf_nbc_MailExclusion[$i].'/'; 
    254                                   if (preg_match($pattern, $row['mail_address'])) 
     254                                                $pattern = '/'.$conf_nbc_MailExclusion[$i].'/'; 
     255                                        if (preg_match($pattern, $row['mail_address'])) 
    255256                                    { 
    256                                           $msg_error3 .=  (($msg_error3 <> '') ? '<br/>' : '') . l10n('Err_audit_email_forbidden').$row['username'].' ('.$row['mail_address'].')'; 
     257                                                $msg_error3 .=  (($msg_error3 <> '') ? '<br/>' : '') . l10n('Err_audit_email_forbidden').$row['username'].' ('.$row['mail_address'].')'; 
     258                                                } 
    257259                                        } 
    258260                                } 
    259261                        } 
    260                 } 
    261262                 
    262263      if ($msg_error1 <> '') 
    263             $errors[] = $msg_error1.'<br/><br/>'; 
     264                    $errors[] = $msg_error1.'<br/><br/>'; 
    264265                 
    265266      if ($msg_error2 <> '') 
    266             $errors[] = $msg_error2.'<br/><br/>'; 
    267                  
    268           if ($msg_error3 <> '') 
    269             $errors[] = $msg_error3.'<br/><br/>'; 
    270                  
    271           if ($msg_error1 <> '' or $msg_error2 <> '' or $msg_error3 <> '') 
    272             array_push($page['errors'], l10n('Err_audit_advise')); 
    273           else 
     267                    $errors[] = $msg_error2.'<br/><br/>'; 
     268                 
     269                if ($msg_error3 <> '') 
     270                $errors[] = $msg_error3.'<br/><br/>'; 
     271                 
     272                if ($msg_error1 <> '' or $msg_error2 <> '' or $msg_error3 <> '') 
     273                array_push($page['errors'], l10n('Err_audit_advise')); 
     274                else 
    274275        array_push($page['infos'], l10n('UserAdvManager_audit_ok')); 
    275     } 
     276        } 
    276277 
    277278 
     
    280281// +-----------------------------------------------------------------------+ 
    281282  if ( isset ($errors) and count($errors) != 0) 
    282     { 
     283  { 
    283284          $template->assign('errors',array()); 
    284285          foreach ($errors as $error) 
    285             { 
     286          { 
    286287                  array_push($page['errors'], $error); 
    287288                } 
     
    304305         
    305306  if (isset($conf_nbc_UserAdvManager[2]) and $conf_nbc_UserAdvManager[2]=='true' ) 
    306     { 
    307       if ( isset($_POST['submit']) and !is_adviser() and isset($_POST['UserAdvManager_ConfirmMail_TimeOut']) ) 
    308             {            
    309                   $newconf_nbc_UserAdvManager_ConfirmMail = $_POST['UserAdvManager_ConfirmMail_TimeOut'].';'.$_POST['UserAdvManager_ConfirmMail_Delay']; 
    310         //NODO:Adding new option [Auto deletion : True | False] - No access to cron functionnalities 
    311         //TODO:Adding new option [Resend_new_validation_key : True | False] 
    312                   $conf['nbc_UserAdvManager_ConfirmMail'] = $newconf_nbc_UserAdvManager_ConfirmMail; 
    313                  
    314                   $query = ' 
    315                     UPDATE '.CONFIG_TABLE.' 
    316                         SET value="'.$newconf_nbc_UserAdvManager_ConfirmMail.'" 
    317                         WHERE param="nbc_UserAdvManager_ConfirmMail" 
    318                         LIMIT 1 
    319                         ;'; 
    320                  
    321                   pwg_query($query); 
    322                  
    323                   array_push($page['infos'], l10n('UserAdvManager_save_config')); 
    324                 } 
    325          
    326       $conf_nbc_UserAdvManager_ConfirmMail = isset($conf['nbc_UserAdvManager_ConfirmMail']) ? explode(";" , $conf['nbc_UserAdvManager_ConfirmMail']) : array(); 
    327  
    328       function get_unvalid_user_list() 
    329         { 
    330           global $conf, $page; 
     307  { 
     308    if ( isset($_POST['submit']) and !is_adviser() and isset($_POST['UserAdvManager_ConfirmMail_TimeOut']) ) 
     309                { 
     310                $_POST['UserAdvManager_ConfirmMail_ReMail_Txt'] = str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UserAdvManager_ConfirmMail_ReMail_Txt'])); 
     311                   
     312                $newconf_nbc_UserAdvManager_ConfirmMail = $_POST['UserAdvManager_ConfirmMail_TimeOut'].';'.$_POST['UserAdvManager_ConfirmMail_Delay'].';'.$_POST['UserAdvManager_ConfirmMail_ReMail_Txt']; 
     313                   
     314//NODO:Adding new option [Auto deletion : True | False] - No access to cron functionnalities 
     315 
     316                $conf['nbc_UserAdvManager_ConfirmMail'] = $newconf_nbc_UserAdvManager_ConfirmMail; 
     317                 
     318                $query = ' 
     319                UPDATE '.CONFIG_TABLE.' 
     320                                SET value="'.$newconf_nbc_UserAdvManager_ConfirmMail.'" 
     321                                WHERE param="nbc_UserAdvManager_ConfirmMail" 
     322                                LIMIT 1 
     323                        ;'; 
     324                 
     325                        pwg_query($query); 
     326                 
     327                        array_push($page['infos'], l10n('UserAdvManager_save_config')); 
     328                } 
     329         
     330                $conf_nbc_UserAdvManager_ConfirmMail = isset($conf['nbc_UserAdvManager_ConfirmMail']) ? explode(";" , $conf['nbc_UserAdvManager_ConfirmMail']) : array(); 
     331 
     332// +-----------------------------------------------------------------------+ 
     333// |                           initialization                              | 
     334// +-----------------------------------------------------------------------+ 
     335 
     336        if (!defined('PHPWG_ROOT_PATH')) 
     337    { 
     338        die('Hacking attempt!'); 
     339    } 
    331340           
    332                 /* Get ConfirmMail configuration */ 
    333           $conf_nbc_UserAdvManager_ConfirmMail = isset($conf['nbc_UserAdvManager_ConfirmMail']) ? explode(";" , $conf['nbc_UserAdvManager_ConfirmMail']) : array(); 
     341    include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); 
     342 
     343// +-----------------------------------------------------------------------+ 
     344// | Check Access and exit when user status is not ok                      | 
     345// +-----------------------------------------------------------------------+ 
     346        check_status(ACCESS_ADMINISTRATOR); 
     347 
     348    $page['order_by_items'] = array( 
     349      'id' => l10n('registration_date'), 
     350      'username' => l10n('Username'), 
     351      'level' => l10n('Privacy level'), 
     352      'language' => l10n('language'), 
     353    ); 
     354 
     355// +-----------------------------------------------------------------------+ 
     356// |                               user list                               | 
     357// +-----------------------------------------------------------------------+ 
     358 
     359        $page['filtered_users'] = get_unvalid_user_list(); 
     360 
     361// +-----------------------------------------------------------------------+ 
     362// |                            selected users                             | 
     363// +-----------------------------------------------------------------------+ 
     364        if (isset($_POST['Del_Selected'])) 
     365        { 
     366        $collection = array(); 
     367 
     368                switch ($_POST['target']) 
     369    { 
     370        case 'all' : 
     371      { 
     372        foreach($page['filtered_users'] as $local_user) 
     373        { 
     374                array_push($collection, $local_user['id']); 
     375        } 
     376        break; 
     377                        } 
     378      case 'selection' : 
     379      { 
     380        if (isset($_POST['selection'])) 
     381        { 
     382                $collection = $_POST['selection']; 
     383        } 
     384        break; 
     385      } 
     386                } 
     387 
     388    if (count($collection) == 0) 
     389    { 
     390        array_push($page['errors'], l10n('Select at least one user')); 
     391    } 
     392        } 
     393 
     394// +-----------------------------------------------------------------------+ 
     395// |                             delete users                              | 
     396// +-----------------------------------------------------------------------+ 
     397        if (isset($_POST['Del_Selected']) and count($collection) > 0) 
     398    { 
     399      if (in_array($conf['guest_id'], $collection)) 
     400          { 
     401        array_push($page['errors'], l10n('Guest cannot be deleted')); 
     402      } 
     403      if (($conf['guest_id'] != $conf['default_user_id']) and 
     404        in_array($conf['default_user_id'], $collection)) 
     405      { 
     406        array_push($page['errors'], l10n('Default user cannot be deleted')); 
     407      } 
     408      if (in_array($conf['webmaster_id'], $collection)) 
     409      { 
     410        array_push($page['errors'], l10n('Webmaster cannot be deleted')); 
     411      } 
     412      if (in_array($user['id'], $collection)) 
     413      { 
     414        array_push($page['errors'], l10n('You cannot delete your account')); 
     415      } 
     416 
     417      if (count($page['errors']) == 0) 
     418      { 
     419        foreach ($collection as $user_id) 
     420        { 
     421          delete_user($user_id); 
     422        } 
     423        array_push( 
     424          $page['infos'], 
     425          l10n_dec( 
     426          '%d user deleted', '%d users deleted', 
     427          count($collection) 
     428          ) 
     429        ); 
     430 
     431        foreach ($page['filtered_users'] as $filter_key => $filter_user) 
     432        { 
     433          if (in_array($filter_user['id'], $collection)) 
     434          { 
     435            unset($page['filtered_users'][$filter_key]); 
     436          } 
     437        } 
     438      } 
     439        } 
     440 
     441// +-----------------------------------------------------------------------+ 
     442// |                            selected users                             | 
     443// +-----------------------------------------------------------------------+ 
     444        if (isset($_POST['Mail_With_Key'])) 
     445        { 
     446        $collection = array(); 
     447 
     448                switch ($_POST['target']) 
     449    { 
     450        case 'all' : 
     451      { 
     452        foreach($page['filtered_users'] as $local_user) 
     453        { 
     454                array_push($collection, $local_user['id']); 
     455        } 
     456        break; 
     457                        } 
     458      case 'selection' : 
     459      { 
     460        if (isset($_POST['selection'])) 
     461        { 
     462                $collection = $_POST['selection']; 
     463        } 
     464        break; 
     465      } 
     466                } 
     467 
     468    if (count($collection) == 0) 
     469    { 
     470        array_push($page['errors'], l10n('Select at least one user')); 
     471    } 
     472        } 
     473// +-----------------------------------------------------------------------+ 
     474// |                 Resend new validation key to users                    | 
     475// +-----------------------------------------------------------------------+ 
     476        if (isset($_POST['Mail_With_Key']) and count($collection) > 0) 
     477        { 
     478                if (in_array($conf['guest_id'], $collection)) 
     479        { 
     480        array_push($page['errors'], l10n('No_validation_for_Guest')); 
     481    } 
     482    if (($conf['guest_id'] != $conf['default_user_id']) and 
     483        in_array($conf['default_user_id'], $collection)) 
     484    { 
     485        array_push($page['errors'], l10n('No_validation_for_default_user')); 
     486    } 
     487        if (in_array($conf['webmaster_id'], $collection)) 
     488    { 
     489        array_push($page['errors'], l10n('No_validation_for_Webmaster')); 
     490    } 
     491    if (in_array($user['id'], $collection)) 
     492    { 
     493        array_push($page['errors'], l10n('No_validation_for_your_account')); 
     494    } 
     495 
     496    if (count($page['errors']) == 0) 
     497    { 
     498        foreach ($collection as $user_id) 
     499      {          
     500        $typemail = 1; 
     501                                    $query = " 
     502                                                        SELECT id, username, mail_address 
     503                                                        FROM ".USERS_TABLE." 
     504                                                        WHERE id = '".$user_id."' 
     505                                                ;"; 
     506                                $data = mysql_fetch_array(pwg_query($query)); 
     507                                 
     508        ResendMail2User($typemail,$user_id,$data['username'],$data['mail_address'],true); 
     509      } 
     510      array_push( 
     511        $page['infos'], 
     512        l10n_dec( 
     513        '%d_Mail_With_Key', '%d_Mails_With_Key', 
     514        count($collection) 
     515        ) 
     516      ); 
     517 
     518      foreach ($page['filtered_users'] as $filter_key => $filter_user) 
     519      { 
     520        if (in_array($filter_user['id'], $collection)) 
     521        { 
     522                unset($page['filtered_users'][$filter_key]); 
     523        } 
     524                        } 
     525                } 
     526        } 
     527 
     528// +-----------------------------------------------------------------------+ 
     529// |                            selected users                             | 
     530// +-----------------------------------------------------------------------+ 
     531        if (isset($_POST['Mail_Without_Key'])) 
     532        { 
     533        $collection = array(); 
     534 
     535                switch ($_POST['target']) 
     536    { 
     537        case 'all' : 
     538      { 
     539        foreach($page['filtered_users'] as $local_user) 
     540        { 
     541                array_push($collection, $local_user['id']); 
     542        } 
     543        break; 
     544                        } 
     545      case 'selection' : 
     546      { 
     547        if (isset($_POST['selection'])) 
     548        { 
     549                $collection = $_POST['selection']; 
     550        } 
     551        break; 
     552      } 
     553                } 
     554 
     555    if (count($collection) == 0) 
     556    { 
     557        array_push($page['errors'], l10n('Select at least one user')); 
     558    } 
     559        } 
     560// +-----------------------------------------------------------------------+ 
     561// |             Send reminder without new key to users                    | 
     562// +-----------------------------------------------------------------------+ 
     563        if (isset($_POST['Mail_Without_Key']) and count($collection) > 0) 
     564        { 
     565                if (in_array($conf['guest_id'], $collection)) 
     566        { 
     567        array_push($page['errors'], l10n('No_validation_for_Guest')); 
     568    } 
     569    if (($conf['guest_id'] != $conf['default_user_id']) and 
     570        in_array($conf['default_user_id'], $collection)) 
     571    { 
     572        array_push($page['errors'], l10n('No_validation_for_default_user')); 
     573    } 
     574        if (in_array($conf['webmaster_id'], $collection)) 
     575    { 
     576        array_push($page['errors'], l10n('No_validation_for_Webmaster')); 
     577    } 
     578    if (in_array($user['id'], $collection)) 
     579    { 
     580        array_push($page['errors'], l10n('No_validation_for_your_account')); 
     581    } 
     582 
     583    if (count($page['errors']) == 0) 
     584    { 
     585        foreach ($collection as $user_id) 
     586      { 
     587        $typemail = 2; 
     588                                    $query = " 
     589                                                        SELECT id, username, mail_address 
     590                                                        FROM ".USERS_TABLE." 
     591                                                        WHERE id = '".$user_id."' 
     592                                                ;"; 
     593                                $data = mysql_fetch_array(pwg_query($query)); 
     594                                 
     595        ResendMail2User($typemail,$user_id,$data['username'],$data['mail_address'],false);                               
     596      } 
     597      array_push( 
     598        $page['infos'], 
     599        l10n_dec( 
     600        '%d_Reminder_Sent', '%d_Reminders_Sent', 
     601        count($collection) 
     602        ) 
     603      ); 
     604 
     605      foreach ($page['filtered_users'] as $filter_key => $filter_user) 
     606      { 
     607        if (in_array($filter_user['id'], $collection)) 
     608        { 
     609                unset($page['filtered_users'][$filter_key]); 
     610        } 
     611                        } 
     612                } 
     613        } 
     614 
     615// +-----------------------------------------------------------------------+ 
     616// |                              groups list                              | 
     617// +-----------------------------------------------------------------------+ 
     618 
     619        $groups[-1] = '------------'; 
     620 
     621    $query = ' 
     622      SELECT id, name 
     623      FROM '.GROUPS_TABLE.' 
     624      ORDER BY name ASC 
     625      ;'; 
     626 
     627        $result = pwg_query($query); 
    334628           
    335                 /* Get UserAdvManager configuration */ 
    336                   $conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array();   
    337    
    338           $users = array(); 
    339      
    340 /* search users depending expiration date */ 
    341           $query = ' 
    342             SELECT DISTINCT u.'.$conf['user_fields']['id'].' AS id, 
    343                             u.'.$conf['user_fields']['username'].' AS username, 
    344                             u.'.$conf['user_fields']['email'].' AS email, 
    345                             ui.status, 
    346                             ui.adviser, 
    347                             ui.enabled_high, 
    348                             ui.level, 
    349                             ui.registration_date, 
    350                             ug.group_id 
    351             FROM '.USERS_TABLE.' AS u 
    352                 INNER JOIN '.USER_INFOS_TABLE.' AS ui 
    353                         ON u.'.$conf['user_fields']['id'].' = ui.user_id 
    354                 INNER JOIN '.USER_GROUP_TABLE.' AS ug 
    355                         ON u.'.$conf['user_fields']['id'].' = ug.user_id 
    356                 WHERE u.'.$conf['user_fields']['id'].' >= 0 
    357                                 AND ug.group_id = "'.$conf_nbc_UserAdvManager[3].'" 
    358                         AND TO_DAYS(NOW()) - TO_DAYS(ui.registration_date) >= "'.$conf_nbc_UserAdvManager_ConfirmMail[1].'" 
    359                         ORDER BY id ASC 
    360           ;'; 
    361  
    362           $result = pwg_query($query); 
    363        
    364           while ($row = mysql_fetch_array($result)) 
    365             { 
    366               $user = $row; 
    367               $user['groups'] = array(); 
    368  
    369               array_push($users, $user); 
    370             } 
    371  
    372 /* add group lists */ 
    373           $user_ids = array(); 
    374           foreach ($users as $i => $user) 
    375             { 
    376               $user_ids[$i] = $user['id']; 
    377             } 
    378           $user_nums = array_flip($user_ids); 
    379  
    380           if (count($user_ids) > 0) 
    381             { 
    382               $query = ' 
    383                 SELECT user_id, group_id 
    384                 FROM '.USER_GROUP_TABLE.' 
    385                 WHERE user_id IN ('.implode(',', $user_ids).') 
    386               ;'; 
    387          
    388               $result = pwg_query($query); 
    389          
    390                   while ($row = mysql_fetch_array($result)) 
    391                 { 
    392                   array_push( 
    393                     $users[$user_nums[$row['user_id']]]['groups'], 
    394                     $row['group_id'] 
    395                   ); 
    396                 } 
    397               } 
    398  
    399           return $users; 
    400         } 
    401  
    402 // +-----------------------------------------------------------------------+ 
    403 // |                           initialization                              | 
    404 // +-----------------------------------------------------------------------+ 
    405  
    406         if (!defined('PHPWG_ROOT_PATH')) 
    407           { 
    408             die('Hacking attempt!'); 
    409           } 
    410            
    411         include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); 
    412  
    413 // +-----------------------------------------------------------------------+ 
    414 // | Check Access and exit when user status is not ok                      | 
    415 // +-----------------------------------------------------------------------+ 
    416         check_status(ACCESS_ADMINISTRATOR); 
    417  
    418         $page['order_by_items'] = array( 
    419           'id' => l10n('registration_date'), 
    420           'username' => l10n('Username'), 
    421           'level' => l10n('Privacy level'), 
    422           'language' => l10n('language'), 
     629    while ($row = mysql_fetch_array($result)) 
     630    { 
     631      $groups[$row['id']] = $row['name']; 
     632    } 
     633 
     634// +-----------------------------------------------------------------------+ 
     635// |                           Template Init                               | 
     636// +-----------------------------------------------------------------------+ 
     637        $base_url = PHPWG_ROOT_PATH.'admin.php?page=user_list'; 
     638 
     639    if (isset($_GET['start']) and is_numeric($_GET['start'])) 
     640    { 
     641      $start = $_GET['start']; 
     642    } 
     643    else 
     644    { 
     645      $start = 0; 
     646    } 
     647 
     648    $template->assign( 
     649      array( 
     650        'F_ADD_ACTION' => $base_url, 
     651        'F_USERNAME' => @htmlentities($_GET['username']), 
     652        'F_FILTER_ACTION' => get_root_url().'admin.php' 
     653        ) 
     654          ); 
     655 
     656/* Hide radio-button if not allow to assign adviser */ 
     657        if ($conf['allow_adviser']) 
     658    { 
     659      $template->assign('adviser', true); 
     660    } 
     661         
     662// +-----------------------------------------------------------------------+ 
     663// |                               user list                               | 
     664// +-----------------------------------------------------------------------+ 
     665 
     666        $profile_url = get_root_url().'admin.php?page=profile&amp;user_id='; 
     667    $perm_url = get_root_url().'admin.php?page=user_perm&amp;user_id='; 
     668 
     669    $visible_user_list = array(); 
     670    foreach ($page['filtered_users'] as $num => $local_user) 
     671    { 
     672/* simulate LIMIT $start, $conf['users_page'] */ 
     673      if ($num < $start) 
     674      { 
     675        continue; 
     676      } 
     677      if ($num >= $start + $conf['users_page']) 
     678      { 
     679        break; 
     680      } 
     681 
     682      $visible_user_list[] = $local_user; 
     683        } 
     684 
     685        foreach ($visible_user_list as $local_user) 
     686    { 
     687      $groups_string = preg_replace( 
     688        '/(\d+)/e', 
     689        "\$groups['$1']", 
     690        implode( 
     691                ', ', 
     692            $local_user['groups'] 
     693         ) 
    423694        ); 
    424695 
    425 // +-----------------------------------------------------------------------+ 
    426 // |                               user list                               | 
    427 // +-----------------------------------------------------------------------+ 
    428  
    429             $page['filtered_users'] = get_unvalid_user_list(); 
    430  
    431 // +-----------------------------------------------------------------------+ 
    432 // |                            selected users                             | 
    433 // +-----------------------------------------------------------------------+ 
    434 //TODO:Link deletion to all users selected or single user 
    435         if (isset($_POST['delete'])) 
    436           { 
    437             $collection = array(); 
    438    
    439             switch ($_POST['target']) 
    440               { 
    441                 case 'all' : 
    442                   { 
    443                     foreach($page['filtered_users'] as $local_user) 
    444                       { 
    445                         array_push($collection, $local_user['id']); 
    446                       } 
    447                     break; 
    448                   } 
    449                 case 'selection' : 
    450                   { 
    451                     if (isset($_POST['selection'])) 
    452                       { 
    453                         $collection = $_POST['selection']; 
    454                       } 
    455                     break; 
    456                   } 
    457               } 
    458  
    459             if (count($collection) == 0) 
    460               { 
    461                 array_push($page['errors'], l10n('Select at least one user')); 
    462               } 
    463           } 
    464  
    465 // +-----------------------------------------------------------------------+ 
    466 // |                             delete users                              | 
    467 // +-----------------------------------------------------------------------+ 
    468         if (isset($_POST['delete']) and count($collection) > 0) 
    469           { 
    470             if (in_array($conf['guest_id'], $collection)) 
    471               { 
    472                 array_push($page['errors'], l10n('Guest cannot be deleted')); 
    473               } 
    474             if (($conf['guest_id'] != $conf['default_user_id']) and 
    475             in_array($conf['default_user_id'], $collection)) 
    476               { 
    477                 array_push($page['errors'], l10n('Default user cannot be deleted')); 
    478               } 
    479             if (in_array($conf['webmaster_id'], $collection)) 
    480               { 
    481                 array_push($page['errors'], l10n('Webmaster cannot be deleted')); 
    482               } 
    483             if (in_array($user['id'], $collection)) 
    484               { 
    485                 array_push($page['errors'], l10n('You cannot delete your account')); 
    486               } 
    487  
    488             if (count($page['errors']) == 0) 
    489               { 
    490                 if (isset($_POST['confirm_deletion']) and 1 == $_POST['confirm_deletion']) 
    491                   { 
    492                     foreach ($collection as $user_id) 
    493                       { 
    494                         delete_user($user_id); 
    495                       } 
    496                     array_push( 
    497                     $page['infos'], 
    498                     l10n_dec( 
    499                       '%d user deleted', '%d users deleted', 
    500                       count($collection) 
    501                       ) 
    502                     ); 
    503  
    504                     foreach ($page['filtered_users'] as $filter_key => $filter_user) 
    505                       { 
    506                         if (in_array($filter_user['id'], $collection)) 
    507                           { 
    508                             unset($page['filtered_users'][$filter_key]); 
    509                           } 
    510                       } 
    511                   } 
    512                 else 
    513                   { 
    514                     array_push($page['errors'], l10n('You need to confirm deletion')); 
    515                   } 
    516                } 
    517           } 
    518 // +-----------------------------------------------------------------------+ 
    519 // |                 Resend new validation key to users                    | 
    520 // +-----------------------------------------------------------------------+ 
    521  
    522 //TODO:Function to send a new validation key to all | single | selected users 
    523  
    524 // +-----------------------------------------------------------------------+ 
    525 // |                              groups list                              | 
    526 // +-----------------------------------------------------------------------+ 
    527  
    528           $groups[-1] = '------------'; 
    529  
    530           $query = ' 
    531             SELECT id, name 
    532             FROM '.GROUPS_TABLE.' 
    533             ORDER BY name ASC 
    534             ;'; 
    535  
    536           $result = pwg_query($query); 
    537            
    538           while ($row = mysql_fetch_array($result)) 
    539             { 
    540               $groups[$row['id']] = $row['name']; 
    541             } 
    542  
    543 // +-----------------------------------------------------------------------+ 
    544 // |                           Template Init                               | 
    545 // +-----------------------------------------------------------------------+ 
    546         $base_url = PHPWG_ROOT_PATH.'admin.php?page=user_list'; 
    547  
    548         if (isset($_GET['start']) and is_numeric($_GET['start'])) 
    549           { 
    550             $start = $_GET['start']; 
    551           } 
    552         else 
    553           { 
    554             $start = 0; 
    555           } 
    556  
    557         $template->assign( 
    558           array( 
    559             'F_ADD_ACTION' => $base_url, 
    560             'F_USERNAME' => @htmlentities($_GET['username']), 
    561             'F_FILTER_ACTION' => get_root_url().'admin.php' 
    562             ) 
    563           ); 
    564  
    565 /* Hide radio-button if not allow to assign adviser */ 
    566         if ($conf['allow_adviser']) 
    567           { 
    568             $template->assign('adviser', true); 
    569           } 
    570          
    571 // +-----------------------------------------------------------------------+ 
    572 // |                               user list                               | 
    573 // +-----------------------------------------------------------------------+ 
    574  
    575         $profile_url = get_root_url().'admin.php?page=profile&amp;user_id='; 
    576         $perm_url = get_root_url().'admin.php?page=user_perm&amp;user_id='; 
    577  
    578         $visible_user_list = array(); 
    579         foreach ($page['filtered_users'] as $num => $local_user) 
    580           { 
    581 /* simulate LIMIT $start, $conf['users_page'] */ 
    582             if ($num < $start) 
    583               { 
    584                 continue; 
    585               } 
    586             if ($num >= $start + $conf['users_page']) 
    587               { 
    588                 break; 
    589               } 
    590  
    591             $visible_user_list[] = $local_user; 
    592           } 
    593  
    594         foreach ($visible_user_list as $local_user) 
    595           { 
    596             $groups_string = preg_replace( 
    597               '/(\d+)/e', 
    598               "\$groups['$1']", 
    599               implode( 
    600                 ', ', 
    601                 $local_user['groups'] 
    602               ) 
    603             ); 
    604  
    605             if (isset($_POST['pref_submit']) 
    606               and isset($_POST['selection']) 
    607               and in_array($local_user['id'], $_POST['selection'])) 
    608               { 
    609                 $checked = 'checked="checked"'; 
    610               } 
    611             else 
    612               { 
    613                 $checked = ''; 
    614               } 
    615  
    616             $properties = array(); 
    617             if ( $local_user['level'] != 0 ) 
    618               { 
    619                 $properties[] = l10n( sprintf('Level %d', $local_user['level']) ); 
    620               } 
    621             $properties[] = 
    622             (isset($local_user['enabled_high']) and ($local_user['enabled_high'] == 'true')) 
    623               ? l10n('is_high_enabled') : l10n('is_high_disabled'); 
     696          if (isset($_POST['pref_submit']) 
     697        and isset($_POST['selection']) 
     698        and in_array($local_user['id'], $_POST['selection'])) 
     699          { 
     700        $checked = 'checked="checked"'; 
     701          } 
     702      else 
     703      { 
     704        $checked = ''; 
     705      } 
     706 
     707      $properties = array(); 
     708      if ( $local_user['level'] != 0 ) 
     709      { 
     710        $properties[] = l10n( sprintf('Level %d', $local_user['level']) ); 
     711      } 
     712      $properties[] = 
     713        (isset($local_user['enabled_high']) and ($local_user['enabled_high'] == 'true')) 
     714          ? l10n('is_high_enabled') : l10n('is_high_disabled'); 
    624715               
    625             if (isset($conf_nbc_UserAdvManager_ConfirmMail[1]) and $conf_nbc_UserAdvManager_ConfirmMail[0]=='true' ) 
    626               { 
    627                 $template->append( 
    628                   'users', 
    629                   array( 
    630                     'ID' => $local_user['id'], 
    631                     'CHECKED' => $checked, 
    632                     'U_PROFILE' => $profile_url.$local_user['id'], 
    633                     'U_PERM' => $perm_url.$local_user['id'], 
    634                     'USERNAME' => $local_user['username'] 
    635                       .($local_user['id'] == $conf['guest_id'] 
    636                         ? '<BR />['.l10n('is_the_guest').']' : '') 
    637                       .($local_user['id'] == $conf['default_user_id'] 
    638                         ? '<BR />['.l10n('is_the_default').']' : ''), 
    639                     'STATUS' => l10n('user_status_'. 
    640                       $local_user['status']).(($local_user['adviser'] == 'true') 
    641                       ? '<BR />['.l10n('adviser').']' : ''), 
    642                     'EMAIL' => get_email_address_as_display_text($local_user['email']), 
    643                     'GROUPS' => $groups_string, 
    644                     //TODO:Changing ACTION from $properties to Single_Deletion 
    645                     //TODO:Addin new ACTION to Resend new validation key 
    646                     'ACTION' => implode( ', ', $properties), 
    647                   ) 
    648                 ); 
    649               } 
    650           }              
    651  
    652           $template->assign( 
    653             array( 
    654                   'UserAdvManager_CONFIRMMAIL_TIMEOUT_TRUE'             => $conf_nbc_UserAdvManager_ConfirmMail[0]=='true' ?  'checked="checked"' : '' , 
    655                   'UserAdvManager_CONFIRMMAIL_TIMEOUT_FALSE'    => $conf_nbc_UserAdvManager_ConfirmMail[0]=='false' ?  'checked="checked"' : '' , 
    656                   'UserAdvManager_CONFIRMMAIL_DELAY'                    => $conf_nbc_UserAdvManager_ConfirmMail[1], 
    657                   //TODO:Adding new option [Resend_new_validation_key : True | False] 
    658             ) 
    659           );             
     716      if (isset($conf_nbc_UserAdvManager_ConfirmMail[1]) and $conf_nbc_UserAdvManager_ConfirmMail[0]=='true' ) 
     717      { 
     718        $template->append( 
     719                'users', 
     720              array( 
     721                'ID' => $local_user['id'], 
     722                'CHECKED' => $checked, 
     723                'U_PROFILE' => $profile_url.$local_user['id'], 
     724                'U_PERM' => $perm_url.$local_user['id'], 
     725                'USERNAME' => $local_user['username'] 
     726                  .($local_user['id'] == $conf['guest_id'] 
     727                    ? '<BR />['.l10n('is_the_guest').']' : '') 
     728                  .($local_user['id'] == $conf['default_user_id'] 
     729                    ? '<BR />['.l10n('is_the_default').']' : ''), 
     730                'STATUS' => l10n('user_status_'. 
     731                  $local_user['status']).(($local_user['adviser'] == 'true') 
     732                    ? '<BR />['.l10n('adviser').']' : ''), 
     733                'EMAIL' => get_email_address_as_display_text($local_user['email']), 
     734                'GROUPS' => $groups_string, 
     735                'REGISTRATION' => $local_user['registration_date'], 
     736                ) 
     737              ); 
     738        } 
     739          }              
     740 
     741          $template->assign( 
     742          array( 
     743                'UserAdvManager_CONFIRMMAIL_TIMEOUT_TRUE'               => $conf_nbc_UserAdvManager_ConfirmMail[0]=='true' ?  'checked="checked"' : '' , 
     744                'UserAdvManager_CONFIRMMAIL_TIMEOUT_FALSE'      => $conf_nbc_UserAdvManager_ConfirmMail[0]=='false' ?  'checked="checked"' : '' , 
     745                'UserAdvManager_CONFIRMMAIL_DELAY'                                      => $conf_nbc_UserAdvManager_ConfirmMail[1], 
     746    'UserAdvManager_CONFIRMMAIL_REMAIL_TXT'                     => $conf_nbc_UserAdvManager_ConfirmMail[2], 
     747        ) 
     748          );             
    660749 
    661750// +-----------------------------------------------------------------------+ 
    662751// |                             errors display                            | 
    663752// +-----------------------------------------------------------------------+ 
    664           if ( isset ($errors) and count($errors) != 0) 
    665             { 
    666               $template->assign('errors',array()); 
    667               foreach ($errors as $error) 
    668                         { 
    669                           array_push($page['errors'], $error); 
    670                         } 
    671                  
     753        if ( isset ($errors) and count($errors) != 0) 
     754        { 
     755          $template->assign('errors',array()); 
     756      foreach ($errors as $error) 
     757          { 
     758                array_push($page['errors'], $error); 
     759          } 
     760         
    672761 
    673762// +-----------------------------------------------------------------------+ 
    674763// |                           templates display                           | 
    675764// +-----------------------------------------------------------------------+ 
    676       $template->set_filename('plugin_admin_content', dirname(__FILE__) . '/confirmmail.tpl'); 
    677       $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');                
    678     } 
     765        $template->set_filename('plugin_admin_content', dirname(__FILE__) . '/confirmmail.tpl'); 
     766    $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');          
     767  } 
    679768  else 
    680     { 
    681           array_push($page['infos'], l10n('Err_ConfirmMail_Settings')); 
    682     } 
     769  { 
     770        array_push($page['infos'], l10n('Err_ConfirmMail_Settings')); 
     771  } 
    683772  break; 
    684773} 
  • extensions/NBC_UserAdvManager/trunk/admin/confirmmail.tpl

    r3836 r3841  
    4040                        <td>{'Email address'|@translate}</td> 
    4141                        <td>{'Groups'|@translate}</td> 
    42                         <!--<td>{'UserAdvManager_Indiv_Suppr'|@translate}</td>--> 
     42                        <td>{'Registration'|@translate}</td> 
    4343                        </tr> 
    4444                        </thead> 
     
    5454                        {foreach from=$user.plugin_columns item=data} 
    5555                        <td>{$data}</td> 
    56                 {/foreach} 
    57                         <!--Todo - Display registration date --> 
    58                                 <!--Unaffected column - Can be used in the future --> 
    59                         <!--<td style="text-align:center;">--> 
    60                         <!--<a href="{$user.U_ACTION}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/edit_s.png" class="button" style="border:none" alt="{'Profile'|@translate}" title="{'Profile'|@translate}" /></a>--> 
    61                         <!--</td>--> 
     56                        {/foreach} 
     57                        <td style="text-align:center;">{$user.REGISTRATION}</td> 
    6258                        </tr> 
    6359                {/foreach} 
  • extensions/NBC_UserAdvManager/trunk/include/functions_UserAdvManager.inc.php

    r3836 r3841  
    77  global $conf; 
    88  $conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array(); 
    9   include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 
    10   $infos1_perso = ""; 
     9   
     10        include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 
     11   
     12        $infos1_perso = ""; 
    1113  $infos2_perso = ""; 
    1214 
     
    8486   fclose($fo) ; 
    8587   //return mail ($to,$subject) ; 
     88} 
     89 
     90 
     91function ResendMail2User($typemail, $user_id, $username, $email, $confirm) 
     92{ 
     93  global $conf; 
     94  $conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array(); 
     95        $conf_nbc_UserAdvManager_ConfirmMail = isset($conf['nbc_UserAdvManager_ConfirmMail']) ? explode(";" , $conf['nbc_UserAdvManager_ConfirmMail']) : array(); 
     96   
     97        include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 
     98   
     99        $infos1_perso = ""; 
     100  $infos2_perso = ""; 
     101 
     102  switch($typemail) 
     103  { 
     104    case 1: 
     105      $subject = '['.$conf['gallery_title'].'] '.l10n_args(get_l10n_args('Reminder_with_key_of_%s', $username)); 
     106       
     107      if (isset($conf_nbc_UserAdvManager_ConfirmMail[2]) and $conf_nbc_UserAdvManager_ConfirmMail[2] <> '') 
     108      { 
     109        if (function_exists('get_user_language_desc')) 
     110        { 
     111                                        $infos1 = get_user_language_desc($conf_nbc_UserAdvManager_ConfirmMail[2])."\n\n"; 
     112                                 
     113                                        if (isset($conf_nbc_UserAdvManager[2]) and $conf_nbc_UserAdvManager[2] == 'true' and $confirm) 
     114                                        { 
     115                                                $infos2 = array 
     116                                                ( 
     117                                                        get_l10n_args('Link: %s', ResetConfirmMail($user_id)), 
     118                                                        get_l10n_args('', ''), 
     119                                                ); 
     120                                        } 
     121        } 
     122        else 
     123        { 
     124                                        $infos1 = $conf_nbc_UserAdvManager_ConfirmMail[2]."\n\n"; 
     125 
     126                                        if (isset($conf_nbc_UserAdvManager[2]) and $conf_nbc_UserAdvManager[2] == 'true' and $confirm) 
     127                                        {        
     128                                                $infos2 = array 
     129                                                ( 
     130                                                        get_l10n_args('Link: %s', ResetConfirmMail($user_id)), 
     131                                                        get_l10n_args('', ''), 
     132                                                ); 
     133                                        } 
     134        } 
     135          pwg_mail($email, array( 
     136                        'subject' => $subject, 
     137                            'content' => (isset($infos1) ? $infos1."\n\n" : "").(isset($infos2) ? $infos2."\n\n" : "").get_absolute_root_url(), 
     138                                )); 
     139      } 
     140                        elseif (isset($conf_nbc_UserAdvManager[11]) and $conf_nbc_UserAdvManager[11] <> '' and !isset($conf_nbc_UserAdvManager_ConfirmMail[2]) and $conf_nbc_UserAdvManager_ConfirmMail[2] == '') 
     141                        { 
     142        if (function_exists('get_user_language_desc')) 
     143        { 
     144                                        $infos1 = get_user_language_desc($conf_nbc_UserAdvManager[11])."\n\n"; 
     145                                 
     146                                        if (isset($conf_nbc_UserAdvManager[2]) and $conf_nbc_UserAdvManager[2] == 'true' and $confirm) 
     147                                        { 
     148                                                $infos2 = array 
     149                                                ( 
     150                                                        get_l10n_args('Link: %s', ResetConfirmMail($user_id)), 
     151                                                        get_l10n_args('', ''), 
     152                                                ); 
     153                                        } 
     154        } 
     155        else 
     156        { 
     157                                        $infos1 = $conf_nbc_UserAdvManager[11]."\n\n"; 
     158 
     159                                        if (isset($conf_nbc_UserAdvManager[2]) and $conf_nbc_UserAdvManager[2] == 'true' and $confirm) 
     160                                        {        
     161                                                $infos2 = array 
     162                                                ( 
     163                                                        get_l10n_args('Link: %s', ResetConfirmMail($user_id)), 
     164                                                        get_l10n_args('', ''), 
     165                                                ); 
     166                                        } 
     167        } 
     168                                pwg_mail($email, array( 
     169                        'subject' => $subject, 
     170                        'content' => (isset($infos1) ? $infos1."\n\n" : "").(isset($infos2) ? $infos2."\n\n" : "").get_absolute_root_url(), 
     171                        )); 
     172                        } 
     173       
     174      break; 
     175       
     176    case 2: 
     177      $subject = '['.$conf['gallery_title'].'] '.l10n_args(get_l10n_args('Reminder_without_key_of_%s', $username)); 
     178       
     179      if (isset($conf_nbc_UserAdvManager_ConfirmMail[2]) and $conf_nbc_UserAdvManager_ConfirmMail[2] <> '' and isset($conf_nbc_UserAdvManager[11]) and $conf_nbc_UserAdvManager[11] <> '') 
     180      { 
     181        if (function_exists('get_user_language_desc')) 
     182        { 
     183                                        $infos1 = get_user_language_desc($conf_nbc_UserAdvManager_ConfirmMail[2])."\n\n"; 
     184        } 
     185        else 
     186        { 
     187                                        $infos1 = $conf_nbc_UserAdvManager_ConfirmMail[2]."\n\n"; 
     188        } 
     189                                pwg_mail($email, array( 
     190                        'subject' => $subject, 
     191                        'content' => (isset($infos1) ? $infos1."\n\n" : "").(isset($infos2) ? $infos2."\n\n" : "").get_absolute_root_url(), 
     192                        )); 
     193                        } 
     194                        elseif ((function_exists('get_user_language_desc') and isset($conf_nbc_UserAdvManager[11]) and $conf_nbc_UserAdvManager[11] <> '' and !isset($conf_nbc_UserAdvManager_ConfirmMail[2]) and $conf_nbc_UserAdvManager_ConfirmMail[2] == '')) 
     195                        { 
     196        if (function_exists('get_user_language_desc')) 
     197        { 
     198                                        $infos1 = get_user_language_desc($conf_nbc_UserAdvManager[11])."\n\n"; 
     199        } 
     200        else 
     201        { 
     202                                        $infos1 = $conf_nbc_UserAdvManager[11]."\n\n"; 
     203        } 
     204                                pwg_mail($email, array( 
     205                        'subject' => $subject, 
     206                        'content' => (isset($infos1) ? $infos1."\n\n" : "").(isset($infos2) ? $infos2."\n\n" : "").get_absolute_root_url(), 
     207                        )); 
     208                        } 
     209                         
     210      break; 
     211  } 
     212 
     213/* ********************** */ 
     214/* Email sending debugger */ 
     215/* This is only to trace  */ 
     216/* the send of emails for */ 
     217/* debugging              */ 
     218/* ********************** */   
     219  MailLog($email,$subject); 
     220/* ********************** */ 
     221 
    86222} 
    87223 
     
    167303} 
    168304 
     305 
     306function ResetConfirmMail($user_id) 
     307{ 
     308  global $conf; 
     309   
     310  $Confirm_Mail_ID = FindAvailableConfirmMailID(); 
     311 
     312  list($dbnow) = mysql_fetch_row(pwg_query('SELECT NOW();')); 
     313   
     314  if ( isset($Confirm_Mail_ID) ) 
     315  {  
     316    $query = " 
     317                        UPDATE ".USER_CONFIRM_MAIL_TABLE." 
     318                        SET id = '".$Confirm_Mail_ID."' 
     319                        WHERE user_id = '".$user_id."' 
     320    ;"; 
     321    pwg_query($query); 
     322 
     323                $query = " 
     324        UPDATE ".USER_INFOS_TABLE." 
     325      SET registration_date = '".$dbnow."' 
     326      WHERE user_id = '".$user_id."' 
     327      ;"; 
     328                pwg_query($query); 
     329     
     330    return get_absolute_root_url().NBC_UserAdvManager_PATH.'ConfirmMail.php?key='.$Confirm_Mail_ID; 
     331  } 
     332} 
    169333 
    170334 
     
    347511                } 
    348512      } 
    349 /* ****************** end ******************* */  
    350 // Original code without time limit 
    351 /*      list($dbnow) = mysql_fetch_row(pwg_query('SELECT NOW();')); 
    352  
    353       $query = ' 
    354         UPDATE '.USER_CONFIRM_MAIL_TABLE.' 
    355         SET date_check="'.$dbnow.'" 
    356         WHERE id = "'.$id.'" 
    357       ;'; 
    358       pwg_query($query); 
    359        
    360       if ( $conf_nbc_UserAdvManager[3] <> -1 ) 
    361       { 
    362         $query = " 
    363           DELETE FROM ".USER_GROUP_TABLE." 
    364           WHERE user_id = '".$data['user_id']."' 
    365           AND group_id = '".$conf_nbc_UserAdvManager[3]."' 
    366         ;"; 
    367         pwg_query($query); 
    368       } 
    369      
    370       if ( $conf_nbc_UserAdvManager[4] <> -1 ) 
    371       { 
    372         $query = " 
    373           DELETE FROM ".USER_GROUP_TABLE." 
    374           WHERE user_id = '".$data['user_id']."' 
    375           AND group_id = '".$conf_nbc_UserAdvManager[4]."' 
    376         ;"; 
    377         pwg_query($query); 
    378  
    379         $query = " 
    380           INSERT INTO ".USER_GROUP_TABLE." 
    381           (user_id, group_id) 
    382           VALUES 
    383           ('".$data['user_id']."', '".$conf_nbc_UserAdvManager[4]."') 
    384         ;"; 
    385         pwg_query($query); 
    386       } 
    387  
    388       if ( ( $conf_nbc_UserAdvManager[5] <> -1 or isset($data['status']) ) ) 
    389       { 
    390         $query = " 
    391           UPDATE ".USER_INFOS_TABLE." 
    392           SET status = '".(isset($data['status']) ? $data['status'] : $conf_nbc_UserAdvManager[5])."' 
    393           WHERE user_id = '".$data['user_id']."' 
    394         ;"; 
    395         pwg_query($query); 
    396       } 
    397 // Refresh user's category cache 
    398       invalidate_user_cache(); 
    399    
    400       return true;*/ 
    401513    } 
    402514  } 
     
    404516    return false; 
    405517} 
     518 
    406519 
    407520function NotSensibleSearchUsername($username) 
     
    421534  } 
    422535} 
     536 
    423537 
    424538function SearchMail($email) 
     
    470584                $conf_nbc_MailExclusion = preg_split('/,/',$conf_nbc_UserAdvManager[13]); 
    471585                for ($i = 0 ; $i < count($conf_nbc_MailExclusion) ; $i++) 
    472                         { 
    473                                 $pattern = '/'.$conf_nbc_MailExclusion[$i].'/'; 
    474                                 if (preg_match($pattern, $ncsemail)) 
    475                                         return false; 
    476                                 else 
    477                                         return true; 
    478                         } 
     586                { 
     587                        $pattern = '/'.$conf_nbc_MailExclusion[$i].'/'; 
     588                        if (preg_match($pattern, $ncsemail)) 
     589                        return false; 
     590                else 
     591                        return true; 
     592                } 
    479593        } 
    480594} 
     595 
     596 
     597function get_unvalid_user_list() 
     598{ 
     599        global $conf, $page; 
     600           
     601        /* Get ConfirmMail configuration */ 
     602    $conf_nbc_UserAdvManager_ConfirmMail = isset($conf['nbc_UserAdvManager_ConfirmMail']) ? explode(";" , $conf['nbc_UserAdvManager_ConfirmMail']) : array(); 
     603           
     604        /* Get UserAdvManager configuration */ 
     605        $conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array();   
     606   
     607    $users = array(); 
     608     
     609        /* search users depending expiration date */ 
     610    $query = ' 
     611        SELECT DISTINCT u.'.$conf['user_fields']['id'].' AS id, 
     612                                                                                        u.'.$conf['user_fields']['username'].' AS username, 
     613                      u.'.$conf['user_fields']['email'].' AS email, 
     614                      ui.status, 
     615                      ui.adviser, 
     616                      ui.enabled_high, 
     617                      ui.level, 
     618                      ui.registration_date, 
     619                      ug.group_id 
     620                        FROM '.USERS_TABLE.' AS u 
     621                        INNER JOIN '.USER_INFOS_TABLE.' AS ui 
     622                                ON u.'.$conf['user_fields']['id'].' = ui.user_id 
     623                INNER JOIN '.USER_GROUP_TABLE.' AS ug 
     624        ON u.'.$conf['user_fields']['id'].' = ug.user_id 
     625        WHERE u.'.$conf['user_fields']['id'].' >= 0 
     626        AND ug.group_id = "'.$conf_nbc_UserAdvManager[3].'" 
     627        AND TO_DAYS(NOW()) - TO_DAYS(ui.registration_date) >= "'.$conf_nbc_UserAdvManager_ConfirmMail[1].'" 
     628        ORDER BY id ASC 
     629                ;'; 
     630 
     631        $result = pwg_query($query); 
     632       
     633    while ($row = mysql_fetch_array($result)) 
     634        { 
     635        $user = $row; 
     636        $user['groups'] = array(); 
     637 
     638        array_push($users, $user); 
     639        } 
     640 
     641        /* add group lists */ 
     642    $user_ids = array(); 
     643    foreach ($users as $i => $user) 
     644    { 
     645        $user_ids[$i] = $user['id']; 
     646        } 
     647         
     648        $user_nums = array_flip($user_ids); 
     649 
     650    if (count($user_ids) > 0) 
     651    { 
     652        $query = ' 
     653                SELECT user_id, group_id 
     654                        FROM '.USER_GROUP_TABLE.' 
     655            WHERE user_id IN ('.implode(',', $user_ids).') 
     656            ;'; 
     657         
     658                $result = pwg_query($query); 
     659         
     660        while ($row = mysql_fetch_array($result)) 
     661        { 
     662                array_push( 
     663                $users[$user_nums[$row['user_id']]]['groups'], 
     664                $row['group_id'] 
     665                ); 
     666         } 
     667        } 
     668 
     669return $users; 
     670} 
    481671?> 
  • extensions/NBC_UserAdvManager/trunk/language/fr_FR/plugin.lang.php

    r3836 r3841  
    9696- Valider manuellement une inscription en attente de validation même si la date d\'expiration est révolue <b>(forçage de la validation)</b>. 
    9797<br>'; 
     98$lang['Registration'] = 'Date d\'enregistrement'; 
     99$lang['No_validation_for_Guest'] = 'Le compte Guest n\'est pas soumis à validation'; 
     100$lang['No_validation_for_default_user'] = 'Le compte par défaut n\'est pas soumis à validation'; 
     101$lang['No_validation_for_Webmaster'] = 'Le compte du Webmaster n\'est pas soumis à validation'; 
     102$lang['No_validation_for_your_account'] = 'Votre compte d\'admin n\'est pas soumis à validation'; 
     103 
     104$lang['%d_Mail_With_Key'] = '%d message avec renouvellement de clé a été envoyé'; 
     105$lang['%d_Mails_With_Key'] = '%d messages avec renouvellement de clé ont été envoyés'; 
     106$lang['%d_Reminder_Sent'] = '%d message de relance a été envoyé'; 
     107$lang['%d_Reminders_Sent'] = '%d messages de relance ont été envoyés'; 
     108 
     109$lang['Reminder_with_key_of_%s'] = '%s, votre clé de confirmation a été renouvelée'; 
     110$lang['Reminder_without_key_of_%s'] = '%s, votre clé de confirmation va expirer'; 
    98111 
    99112$lang['Delete_selected'] = 'Supprimer'; 
  • extensions/NBC_UserAdvManager/trunk/maintain.inc.php

    r3742 r3841  
    1616  $q = ' 
    1717    INSERT INTO '.CONFIG_TABLE.' (param, value, comment) 
    18     VALUES ("nbc_UserAdvManager_ConfirmMail","false;5;","Parametres nbc_UserAdvManager - ConfirmMail") 
     18    VALUES ("nbc_UserAdvManager_ConfirmMail","false;5;;","Parametres nbc_UserAdvManager - ConfirmMail") 
    1919  ;'; 
    2020  pwg_query($q); 
Note: See TracChangeset for help on using the changeset viewer.