Changeset 4380


Ignore:
Timestamp:
Nov 28, 2009, 12:58:32 PM (14 years ago)
Author:
Eric
Message:

[NBC_UserAdvManager] Pre 2.13

  • Evolution 1239 - New option to add a new tab that shows the number of days since their last visit for each registered user.
  • Evolution 1273 - Adding of reminder field in advanced user management tab. This allows to see if a reminder have already been send.
  • Evolution 1292 - Adding of navigation bar in tabs where users are listed (when more than 1 page is needed to display users).
  • Some code and translations refactory.
Location:
extensions/NBC_UserAdvManager/trunk
Files:
8 edited

Legend:

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

    r4340 r4380  
    1717
    1818load_language('plugin.lang', NBC_UserAdvManager_PATH);
     19
     20$page['global'] = array();
     21$error = array();
     22$UserAdvManager_Password_Test_Score = 0;
     23$pattern = '/;/';
     24$replacement = '.';
     25
     26$UserAdvManager_MailInfo_Error_Txt = false;
     27$UserAdvManager_ConfirmMail_Error_Txt = false;
     28$UserAdvManager_Reminder_Error_Txt = false;
     29$UserAdvManager_ConfirmMail_Error_Txt1 = false;
     30$UserAdvManager_ConfirmMail_Error_Txt2 = false;
     31$UserAdvManager_Exclusionlist_Error = false;
    1932
    2033// +-----------------------------------------------------------------------+
     
    2538else
    2639  $page['tab'] = $_GET['tab'];
     40
     41//$conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array();
    2742
    2843$tabsheet = new tabsheet();
     
    3348               l10n('Tab_ConfirmMail'),
    3449               $my_base_url.'&tab=confirmmail');
     50//if (isset($conf_nbc_UserAdvManager[20]) and $conf_nbc_UserAdvManager[20]=='true')
     51//{
     52  $tabsheet->add('userlist',
     53                 l10n('Tab_UserList'),
     54                 $my_base_url.'&tab=userlist');
     55//}
    3556$tabsheet->add('usermanager',
    3657               l10n('Tab_UserManager'),
     
    4162$tabsheet->select($page['tab']);
    4263$tabsheet->assign();
    43 
    44 $page['global'] = array();
    45 $error = array();
    46 $UserAdvManager_Password_Test_Score = 0;
    47 $pattern = '/;/';
    48 $replacement = '.';
    49 
    50 $UserAdvManager_MailInfo_Error_Txt = false;
    51 $UserAdvManager_ConfirmMail_Error_Txt = false;
    52 $UserAdvManager_Reminder_Error_Txt = false;
    53 $UserAdvManager_ConfirmMail_Error_Txt1 = false;
    54 $UserAdvManager_ConfirmMail_Error_Txt2 = false;
    55 $UserAdvManager_Exclusionlist_Error = false;
    5664
    5765// +-----------------------------------------------------------------------+
     
    108116    }
    109117               
    110                 $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'].';'.$_POST['UserAdvManager_Password_Enforced'].';'.$_POST['UserAdvManager_Password_Score'].';'.$_POST['UserAdvManager_AdminPassword_Enforced'].';'.$_POST['UserAdvManager_GhostUser_Tracker'].';'.$_POST['UserAdvManager_GhostTracker_DayLimit'].';'.$_POST['UserAdvManager_GhostTracker_ReminderText'];
     118                $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'].';'.$_POST['UserAdvManager_Password_Enforced'].';'.$_POST['UserAdvManager_Password_Score'].';'.$_POST['UserAdvManager_AdminPassword_Enforced'].';'.$_POST['UserAdvManager_GhostUser_Tracker'].';'.$_POST['UserAdvManager_GhostTracker_DayLimit'].';'.$_POST['UserAdvManager_GhostTracker_ReminderText'].';'.$_POST['UserAdvManager_Add_LastVisit_Column'];
    111119               
    112120                $conf['nbc_UserAdvManager'] = $newconf_nbc_UserAdvManager;
     
    124132  }
    125133
     134/* Testing password enforcement */
    126135  if (isset($_POST['PasswordTest']) and !is_adviser() and isset($_POST['UserAdvManager_Password_Test']) and !empty($_POST['UserAdvManager_Password_Test']))
    127136  {
     
    255264    'UserAdvManager_GHOSTRACKER_DAYLIMIT'     => $conf_nbc_UserAdvManager[18],
    256265    'UserAdvManager_GHOSTRACKER_REMINDERTEXT' => $conf_nbc_UserAdvManager[19],
     266    'UserAdvManager_ADDLASTVISIT_TRUE'        => $conf_nbc_UserAdvManager[20]=='true' ?  'checked="checked"' : '' ,
     267    'UserAdvManager_ADDLASTVISIT_FALSE'       => $conf_nbc_UserAdvManager[20]=='false' ?  'checked="checked"' : '' ,
    257268                'UserAdvManager_PASSWORD_TEST_SCORE'      => $UserAdvManager_Password_Test_Score,
    258269    'UserAdvManager_ERROR_REPORTS1'           => $UserAdvManager_MailInfo_Error_Txt,
     
    468479// *************************************************************************
    469480// +-----------------------------------------------------------------------+
     481// |                           Users list page                             |
     482// +-----------------------------------------------------------------------+
     483// *************************************************************************
     484  case 'userlist':
     485 
     486  $conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array();
     487 
     488  if (isset($conf_nbc_UserAdvManager[20]) and $conf_nbc_UserAdvManager[20]=='true')
     489  {
     490// +-----------------------------------------------------------------------+
     491// |                           initialization                              |
     492// +-----------------------------------------------------------------------+
     493
     494                if (!defined('PHPWG_ROOT_PATH'))
     495    {
     496        die('Hacking attempt!');
     497    }
     498         
     499    include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
     500
     501// +-----------------------------------------------------------------------+
     502// | Check Access and exit when user status is not ok                      |
     503// +-----------------------------------------------------------------------+
     504                check_status(ACCESS_ADMINISTRATOR);
     505
     506// +-----------------------------------------------------------------------+
     507// |                               user list                               |
     508// +-----------------------------------------------------------------------+
     509
     510                $page['filtered_users'] = get_user_list();
     511
     512// +-----------------------------------------------------------------------+
     513// |                           Template Init                               |
     514// +-----------------------------------------------------------------------+
     515                $base_url = PHPWG_ROOT_PATH.'admin.php?page=user_list';
     516
     517    if (isset($_GET['start']) and is_numeric($_GET['start']))
     518    {
     519      $start = $_GET['start'];
     520    }
     521    else
     522    {
     523      $start = 0;
     524    }
     525
     526// +-----------------------------------------------------------------------+
     527// |                            navigation bar                             |
     528// +-----------------------------------------------------------------------+
     529
     530$url = PHPWG_ROOT_PATH.'admin.php'.get_query_string_diff(array('start'));
     531
     532$navbar = create_navigation_bar(
     533  $url,
     534  count($page['filtered_users']),
     535  $start,
     536  $conf['users_page']
     537  );
     538
     539$template->assign('NAVBAR', $navbar);
     540
     541// +-----------------------------------------------------------------------+
     542// |                               user list                               |
     543// +-----------------------------------------------------------------------+
     544
     545    $visible_user_list = array();
     546    foreach ($page['filtered_users'] as $num => $local_user)
     547    {
     548/* simulate LIMIT $start, $conf['users_page'] */
     549                        if ($num < $start)
     550      {
     551        continue;
     552      }
     553      if ($num >= $start + $conf['users_page'])
     554      {
     555        break;
     556      }
     557
     558      $visible_user_list[] = $local_user;
     559                }
     560
     561                foreach ($visible_user_list as $local_user)
     562    {
     563      // dates formating and compare
     564      $today = date("d-m-Y"); // Get today's date
     565      list($day, $month, $year) = explode('-', $today); // explode date of today                                                 
     566      $daytimestamp = mktime(0, 0, 0, $month, $day, $year);// Generate UNIX timestamp
     567               
     568      list($regdate, $regtime) = explode(' ', $local_user['lastvisit']); // Explode date and time from registration date
     569      list($regyear, $regmonth, $regday) = explode('-', $regdate); // Explode date from registration date
     570      $regtimestamp = mktime(0, 0, 0, $regmonth, $regday, $regyear);// Generate UNIX timestamp
     571                       
     572      $deltasecs = $daytimestamp - $regtimestamp;// Compare the 2 UNIX timestamps       
     573      $deltadays = floor($deltasecs / 86400);// Convert result from seconds to days
     574     
     575      if (isset($conf_nbc_UserAdvManager[17]) and $conf_nbc_UserAdvManager[17]=='true' and $conf_nbc_UserAdvManager[18] <> '')
     576      {
     577        if ((($deltadays*100)/$conf_nbc_UserAdvManager[18]) <= ((50*$conf_nbc_UserAdvManager[18])/100))
     578        {
     579          $display = 'green';
     580        }
     581       
     582        if ((($deltadays*100)/$conf_nbc_UserAdvManager[18]) > ((50*$conf_nbc_UserAdvManager[18])/100) and (($deltadays*100)/$conf_nbc_UserAdvManager[18]) < ((100*$conf_nbc_UserAdvManager[18])/100))
     583        {
     584          $display = 'orange';
     585        }
     586       
     587        if ((($deltadays*100)/$conf_nbc_UserAdvManager[18]) >= ((100*$conf_nbc_UserAdvManager[18])/100))
     588        {
     589          $display = 'red';
     590        }
     591       
     592      }
     593
     594                $template->append(
     595                'users',
     596        array(
     597                'ID'         => $local_user['id'],
     598                'USERNAME'   => stripslashes($local_user['username']),
     599                                        'EMAIL'      => get_email_address_as_display_text($local_user['email']),
     600          'LASTVISIT'  => $local_user['lastvisit'],
     601          'DAYS'       => $deltadays,
     602          'DISPLAY'    => $display,
     603                                )
     604                        );
     605                }
     606// +-----------------------------------------------------------------------+
     607// |                             errors display                            |
     608// +-----------------------------------------------------------------------+
     609                if ( isset ($errors) and count($errors) != 0)
     610                {
     611                $template->assign('errors',array());
     612                        foreach ($errors as $error)
     613                {
     614                                array_push($page['errors'], $error);
     615                }
     616                } 
     617
     618// +-----------------------------------------------------------------------+
     619// |                           templates display                           |
     620// +-----------------------------------------------------------------------+
     621                $template->set_filename('plugin_admin_content', dirname(__FILE__) . '/userlist.tpl');
     622    $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');         
     623  }
     624  else
     625  {
     626                array_push($page['infos'], l10n('Err_Userlist_Settings'));
     627  }
     628  break;
     629
     630
     631// *************************************************************************
     632// +-----------------------------------------------------------------------+
    470633// |                           Users manager page                          |
    471634// +-----------------------------------------------------------------------+
     
    493656// +-----------------------------------------------------------------------+
    494657                check_status(ACCESS_ADMINISTRATOR);
    495 
    496     $page['order_by_items'] = array(
    497       'id' => l10n('registration_date'),
    498       'username' => l10n('Username'),
    499       'level' => l10n('Privacy level'),
    500       'language' => l10n('language'),
    501     );
    502658
    503659// +-----------------------------------------------------------------------+
     
    751907                )
    752908        );
    753        
     909       
    754910                                $page['filtered_users'] = get_unvalid_user_list();
    755911                        }
     
    8741030    }
    8751031
    876     $template->assign(
    877       array(
    878         'F_ADD_ACTION' => $base_url,
    879         'F_USERNAME' => @htmlentities($_GET['username']),
    880         'F_FILTER_ACTION' => get_root_url().'admin.php'
    881         )
    882           );
    883 
    8841032/* Hide radio-button if not allow to assign adviser */
    8851033                if ($conf['allow_adviser'])
     
    8871035        $template->assign('adviser', true);
    8881036        }
    889        
     1037
     1038// +-----------------------------------------------------------------------+
     1039// |                            navigation bar                             |
     1040// +-----------------------------------------------------------------------+
     1041
     1042$url = PHPWG_ROOT_PATH.'admin.php'.get_query_string_diff(array('start'));
     1043
     1044$navbar = create_navigation_bar(
     1045  $url,
     1046  count($page['filtered_users']),
     1047  $start,
     1048  $conf['users_page']
     1049  );
     1050
     1051$template->assign('NAVBAR', $navbar);
     1052
    8901053// +-----------------------------------------------------------------------+
    8911054// |                               user list                               |
     
    9221085                        );
    9231086
     1087      $query = '
     1088SELECT user_id, reminder
     1089FROM '.USER_CONFIRM_MAIL_TABLE.'
     1090WHERE user_id = '.$local_user['id'].'
     1091;';
     1092      $result = pwg_query($query);
     1093     
     1094      $row = mysql_fetch_assoc($result);
     1095   
     1096      if (isset($row['reminder']) and $row['reminder'] == 'true')
     1097      {
     1098        $reminder = l10n('Reminder_Sent_OK');
     1099      }
     1100      else if ((isset($row['reminder']) and $row['reminder'] == 'false') or !isset($row['reminder']))
     1101      {
     1102        $reminder = l10n('Reminder_Sent_NOK');
     1103      }
     1104
     1105
    9241106                if (isset($_POST['pref_submit'])
    9251107                and isset($_POST['selection'])
     
    9471129                'users',
    9481130        array(
    949                 'ID' => $local_user['id'],
    950                 'CHECKED' => $checked,
    951                 'U_PROFILE' => $profile_url.$local_user['id'],
    952                 'U_PERM' => $perm_url.$local_user['id'],
    953                 'USERNAME' => stripslashes($local_user['username'])
    954                                                 .($local_user['id'] == $conf['guest_id']
    955                                                 ? '<BR />['.l10n('is_the_guest').']' : '')
    956                 .($local_user['id'] == $conf['default_user_id']
    957                 ? '<BR />['.l10n('is_the_default').']' : ''),
    958                                         'STATUS' => l10n('user_status_'.
    959                                                 $local_user['status']).(($local_user['adviser'] == 'true')
    960                 ? '<BR />['.l10n('adviser').']' : ''),
    961                                         'EMAIL' => get_email_address_as_display_text($local_user['email']),
    962                 'GROUPS' => $groups_string,
    963                 'REGISTRATION' => $local_user['registration_date'],
    964                 'EXPIRATION' => $expiration,
     1131                'ID'               => $local_user['id'],
     1132                'CHECKED'          => $checked,
     1133                'U_PROFILE'        => $profile_url.$local_user['id'],
     1134                'U_PERM'           => $perm_url.$local_user['id'],
     1135                'USERNAME'         => stripslashes($local_user['username'])
     1136                                  .($local_user['id'] == $conf['guest_id']
     1137                                  ? '<BR>['.l10n('is_the_guest').']' : '')
     1138                                  .($local_user['id'] == $conf['default_user_id']
     1139                                  ? '<BR>['.l10n('is_the_default').']' : ''),
     1140                                  'STATUS' => l10n('user_status_'
     1141                                  .$local_user['status']).(($local_user['adviser'] == 'true')
     1142                                  ? '<BR>['.l10n('adviser').']' : ''),
     1143                                        'EMAIL'            => get_email_address_as_display_text($local_user['email']),
     1144                'GROUPS'           => $groups_string,
     1145                'REGISTRATION'     => $local_user['registration_date'],
     1146          'REMINDER'         => $reminder,   
     1147                'EXPIRATION'       => $expiration,
    9651148                                )
    9661149                        );
     
    10171200// +-----------------------------------------------------------------------+
    10181201                check_status(ACCESS_ADMINISTRATOR);
    1019 
    1020     $page['order_by_items'] = array(
    1021       'id' => l10n('registration_date'),
    1022       'username' => l10n('Username'),
    1023       'level' => l10n('Privacy level'),
    1024       'language' => l10n('language'),
    1025     );
    10261202
    10271203// +-----------------------------------------------------------------------+
     
    12801456    }
    12811457
    1282     $template->assign(
    1283       array(
    1284         'F_ADD_ACTION' => $base_url,
    1285         'F_USERNAME' => @htmlentities($_GET['username']),
    1286         'F_FILTER_ACTION' => get_root_url().'admin.php'
    1287         )
    1288           );
    1289 
    12901458/* Hide radio-button if not allow to assign adviser */
    12911459                if ($conf['allow_adviser'])
     
    12941462        }
    12951463
    1296        
     1464// +-----------------------------------------------------------------------+
     1465// |                            navigation bar                             |
     1466// +-----------------------------------------------------------------------+
     1467
     1468$url = PHPWG_ROOT_PATH.'admin.php'.get_query_string_diff(array('start'));
     1469
     1470$navbar = create_navigation_bar(
     1471  $url,
     1472  count($page['filtered_users']),
     1473  $start,
     1474  $conf['users_page']
     1475  );
     1476
     1477$template->assign('NAVBAR', $navbar);
     1478
    12971479// +-----------------------------------------------------------------------+
    12981480// |                               user list                               |
     
    13161498
    13171499    $reminder = '';
     1500   
    13181501    if (isset($local_user['reminder']) and $local_user['reminder'] == 'true')
    13191502    {
     
    13411524                'users',
    13421525        array(
    1343                 'ID' => $local_user['id'],
    1344                 'CHECKED' => $checked,
    1345                 'USERNAME' => stripslashes($local_user['username'])
    1346                                                 .($local_user['id'] == $conf['guest_id']
    1347                                                 ? '<BR />['.l10n('is_the_guest').']' : '')
    1348                 .($local_user['id'] == $conf['default_user_id']
    1349                 ? '<BR />['.l10n('is_the_default').']' : ''),
    1350                                         'EMAIL' => get_email_address_as_display_text($local_user['email']),
    1351           'LASTVISIT' => $local_user['lastvisit'],
    1352           'REMINDER' => $reminder,
     1526                'ID'         => $local_user['id'],
     1527                'CHECKED'    => $checked,
     1528                'USERNAME'   => stripslashes($local_user['username']),
     1529                                        'EMAIL'      => get_email_address_as_display_text($local_user['email']),
     1530          'LASTVISIT'  => $local_user['lastvisit'],
     1531          'REMINDER'   => $reminder,
    13531532                                )
    13541533                        );
     
    13771556                array_push($page['infos'], l10n('Err_GhostTracker_Settings'));
    13781557  }
     1558
    13791559  break;
    13801560}
  • extensions/NBC_UserAdvManager/trunk/admin/ghosttracker.tpl

    r4159 r4380  
    1515
    1616                <li><label>{'UserAdvManager_GhostTracker_User_List'|@translate}</label><br><br>
    17 
     17<div class="navigationBar">{$NAVBAR}</div>
    1818                <table class="table2" width="97%" summary="">
    1919                        <thead>
     
    2323                        <td>{'Email address'|@translate}</td>
    2424            <td>{'LastVisit_Date'|@translate}</td>
    25             <td>{'Ghost_Reminder'|@translate}</td>
     25            <td>{'Reminder'|@translate}</td>
    2626                        </tr>
    2727                        </thead>
     
    4545                {/foreach}
    4646                </table>
     47<div class="navigationBar">{$NAVBAR}</div>
    4748        <br>
    4849            </li>
  • extensions/NBC_UserAdvManager/trunk/admin/global.tpl

    r4340 r4380  
    8989        </li>
    9090{/if}
     91
     92        <li><label>{'UserAdvManager_Add_LastVisit_Column'|@translate}</label><br>
     93        <input type="radio" value="true" {$UserAdvManager_ADDLASTVISIT_TRUE} name="UserAdvManager_Add_LastVisit_Column">{'UserAdvManager_Add_LastVisit_Column_true'|@translate}<br>
     94        <input type="radio" value="false" {$UserAdvManager_ADDLASTVISIT_FALSE} name="UserAdvManager_Add_LastVisit_Column">{'UserAdvManager_Add_LastVisit_Column_false'|@translate}<br><br>
     95        </li>
    9196    </ul>
    9297   
  • extensions/NBC_UserAdvManager/trunk/admin/usermanager.tpl

    r4159 r4380  
    99                <li><label>{'UserAdvManager_ConfirmMail_User_List'|@translate}</label><br>
    1010      <br>
    11 
     11<div class="navigationBar">{$NAVBAR}</div>
    1212                <table class="table2" width="97%" summary="">
    1313                        <thead>
     
    1919                        <td>{'Groups'|@translate}</td>
    2020                        <td>{'Registration_Date'|@translate}</td>
     21            <td>{'Reminder'|@translate}</td>
    2122                        </tr>
    2223                        </thead>
     
    3031                        <td>{$user.GROUPS}</td>
    3132                                        <td {if $user.EXPIRATION == True}style="color:red;text-align:center;"{else}style="color:lime;text-align:center;"{/if}>{$user.REGISTRATION}</td>
     33          <td style="text-align:center;">{$user.REMINDER}</td>
    3234                        {foreach from=$user.plugin_columns item=data}
    3335                        <td>{$data}</td>
     
    3638                {/foreach}
    3739                </table>
     40<div class="navigationBar">{$NAVBAR}</div>
    3841        <br>
    3942            </li>
  • extensions/NBC_UserAdvManager/trunk/include/functions_UserAdvManager.inc.php

    r4340 r4380  
    134134        );       
    135135                        }
     136
     137/* Set reminder true */     
     138      $query = "
     139UPDATE ".USER_CONFIRM_MAIL_TABLE."
     140SET reminder = 'true'
     141WHERE user_id = '".$user_id."'
     142;";
     143      pwg_query($query);
    136144     
    137145                break;
     
    146154          $infos1 = get_user_language_desc($conf_nbc_UserAdvManager_ConfirmMail[2])."\n\n";
    147155        }
    148         else $infos1 = l10n($conf_nbc_UserAdvManager_ConfirmMail[2])."\n\n";                           
     156        else $infos1 = l10n($conf_nbc_UserAdvManager_ConfirmMail[2])."\n\n";
    149157      }
     158     
     159/* Set reminder true */     
     160      $query = "
     161UPDATE ".USER_CONFIRM_MAIL_TABLE."
     162SET reminder = 'true'
     163WHERE user_id = '".$user_id."'
     164;";
     165      pwg_query($query);
    150166     
    151167    break;
     
    786802WHERE (TO_DAYS(NOW()) - TO_DAYS(lv.lastvisit) >= "'.$conf_nbc_UserAdvManager[18].'")
    787803ORDER BY id ASC;';
     804
     805        $result = pwg_query($query);
     806     
     807  while ($row = mysql_fetch_assoc($result))
     808  {
     809        $user = $row;
     810    $user['groups'] = array();
     811
     812    array_push($users, $user);
     813        }
     814
     815        /* add group lists */
     816  $user_ids = array();
     817  foreach ($users as $i => $user)
     818  {
     819        $user_ids[$i] = $user['id'];
     820        }
     821
     822        return $users;
     823}
     824
     825
     826/* Function called from UserAdvManager.php - Get all users to display the number of days since their last visit */
     827function get_user_list()
     828{
     829        global $conf, $page;
     830 
     831  $users = array();
     832
     833        /* search users depending expiration date */
     834  $query = '
     835SELECT DISTINCT u.'.$conf['user_fields']['id'].' AS id,
     836                u.'.$conf['user_fields']['username'].' AS username,
     837                u.'.$conf['user_fields']['email'].' AS email,
     838                ug.lastvisit
     839FROM '.USERS_TABLE.' AS u
     840  INNER JOIN '.USER_LASTVISIT_TABLE.' AS ug
     841    ON u.'.$conf['user_fields']['id'].' = ug.user_id
     842WHERE u.'.$conf['user_fields']['id'].' >= 3
     843ORDER BY lastvisit DESC
     844;';
    788845
    789846        $result = pwg_query($query);
  • extensions/NBC_UserAdvManager/trunk/language/fr_FR/plugin.lang.php

    r4340 r4380  
    6060$lang['UserAdvManager_No_Casse_true'] = ' Rendre le compte utilisateur insensible à la casse, lors de l\'inscription et l\'identification (TOTO = toto = Toto = toTO...).';
    6161// --------- End: New or revised $lang ---- from version 2.12.6
     62// --------- Starting below: New or revised $lang ---- from version 2.13.0
     63$lang['UserAdvManager_Add_LastVisit_Column'] = ' Afficher le suivi des utilisateurs inscrits (date de leur dernière visite, le temps passé (en jours) depuis leur dernière visite,...). Le suivi est à caractère purement informatif pour l\'administrateur de la galerie.';
     64$lang['UserAdvManager_Add_LastVisit_Column_true'] = ' Activer l\'affichage de la liste.';
     65$lang['UserAdvManager_Add_LastVisit_Column_false'] = ' Désactiver l\'affichage de la liste (valeur par défaut).';
     66// --------- End: New or revised $lang ---- from version 2.13.0
    6267
    6368
    6469/* ConfirmMail Configuration Tab */
    65 $lang['ConfirmMail_Title'] = 'Configuration et gestion avancée de la confirmation par mail';
    66 $lang['Title_Tab2'] = 'UserAdvManager - Configuration de ConfirmMail';
    67 $lang['Tab_ConfirmMail'] = 'Configuration de ConfirmMail';
    6870$lang['UserAdvManager_ConfirmMail_Info'] = 'Limitation du délai de validation de l\'inscription :<br>Si vous activez cette option, sélectionnez le délai (x) souhaité dans la liste qui suit. Les visiteurs qui s\'inscriront alors auront x jours de délais pour valider leur inscription. Passé ce délai, le lien de validation qu\'ils auront reçu par mail sera expiré.<br>';
    6971$lang['UserAdvManager_ConfirmMail_TimeOut_true'] = 'Activer la limitation du délai d\'inscription.';
     
    7678$lang['UserAdvManager_ConfirmMail_ReMail_Txt1'] = 'Contenu personnalisé du message de rappel avec regénération de clé de validation.<br>Si laissé vide, le mail de rappel ne comportera que le lien de validation. Il est donc vivement conseillé de saisir un petit texte explicatif. (NB : Le texte pré-renseigné à l\'installation du plugin est donné en exemple)<br><br><b style="color: red;">(!!! </b><b style="text-decoration: underline; color: red;">ATTENTION !</b> <b style="color: red;">La modification du texte n\'est possible <b>QUE</b> si le rappel par email est activé. Utilisez la méthode multi language du plugin Extended Description si celui-ci est activé !!!)</b>';
    7779$lang['UserAdvManager_ConfirmMail_ReMail_Txt2'] = 'Contenu personnalisé du message de rappel sans regénération de clé de validation.<br>Si laissé vide, le mail de rappel sera vide. Il est donc vivement conseillé de saisir un petit texte explicatif. (NB : Le texte pré-renseigné à l\'installation du plugin est donné en exemple)<br><br><b style="color: red;">(!!! </b><b style="text-decoration: underline; color: red;">ATTENTION !</b> <b style="color: red;">La modification du texte n\'est possible <b>QUE</b> si le rappel par email est activé. Utilisez la méthode multi language du plugin Extended Description si celui-ci est activé !!!)</b>';
     80// --------- Starting below: New or revised $lang ---- from version 2.13.0
     81$lang['ConfirmMail_Title'] = 'Configuration avancée de la validation des inscriptions';
     82$lang['Title_Tab2'] = 'UserAdvManager - Configuration de la validation des inscriptions';
     83$lang['Tab_ConfirmMail'] = 'Configuration des validations';
     84// --------- End: New or revised $lang ---- from version 2.13.0
     85
     86
     87// --------- Starting below: New or revised $lang ---- from version 2.13.0
     88/* UserList Tab */
     89$lang['Title_Tab5'] = 'UserAdvManager - Informations sur les utilisateurs';
     90$lang['UserList_Title'] = 'Suivi des utilisateurs inscrits';
     91$lang['Tab_UserList'] = 'Suivi des utilisateurs';
     92$lang['UserAdvManager_User_List'] = 'Cette page est à titre d\'information pour l\'administrateur. Elle affiche la liste de tous les utilisateurs inscrits sur la galerie en faisant apparaitre la date et le nombre de jours depuis leur dernière visite. La liste est triée dans l\'ordre croissant du nombre de jours.
     93<br><br>
     94Lorsque le Ghost Tracker est actif, le nombre de jours sans visite s\'affiche selon le code couleur suivant, en fonction du délai maximum paramétré dans les options du Ghost Tracker :
     95<br>
     96- <b style="color: lime;">En vert</b> : Lorsque l\'utilisateur a visité la galerie <b style="color: lime;"><u>depuis moins de 50%</u></b> du délai maximum renseigné dans le Ghost Tracker.<br>
     97- <b style="color: orange;">En orange</b> : Lorsque l\'utilisateur a visité la galerie <b style="color: orange;"><u>entre 50% et 99%</u></b> du délai maximum renseigné dans le Ghost Tracker.<br>
     98- <b style="color: red;">En rouge</b> : Lorsque l\'utilisateur a visité la galerie <b style="color: red;"><u>depuis plus de 99%</u></b> du délai maximum renseigné dans le Ghost Tracker. <b><u>Dans ce cas, l\'utilisateur doit également apparaitre dans le tableau du Ghost Tracker.</u></b><br>
     99<br>
     100Exemple :
     101<br>
     102Le délai maximum du Ghost Tracker est configuré à 100 jours.
     103<br>
     104Un utilisateur apparaitra en vert s\'il a visité la galerie depuis moins de 50 jours, en orange si sa dernière visite s\'est déroulée entre 50 et 99 jours et en rouge à 100 jours et au-delà.
     105<br><br>
     106<b>A NOTER</b> : La liste n\'affiche pas les inscrits qui n\'auraient pas validé leur inscription (si l\'option de validation de l\'inscription est activée). Ces utilisateurs sont alors gérés de manière particulière dans l\'onglet "Gestion des visiteurs".';
     107$lang['Nb_Days'] = 'Nb de jours<br>depuis dernière visite';
     108// --------- End: New or revised $lang ---- from version 2.13.0
    78109
    79110
    80111/* UserManager Tab */
    81 $lang['UserManager_Title'] = 'Gestion avancée des inscrits non validés';
    82 $lang['Title_Tab3'] = 'UserAdvManager - Gestion des visiteurs';
    83 $lang['Tab_UserManager'] = 'Gestion des visiteurs';
    84112$lang['UserAdvManager_ConfirmMail_User_List'] = 'Lorsque la limitation du délai d\'inscription est activée, vous trouverez ci-dessous la liste des utilisateurs en attente de validation d\'inscription <b style="text-decoration: underline;">qu\'ils soient ou pas</b> dans les délais pour la valider.<br><br>Dans cette vue, vous pouvez :
    85113<br><br>
     
    93121<br>';
    94122$lang['Registration_Date'] = 'Date d\'enregistrement';
     123// --------- Starting below: New or revised $lang ---- from version 2.13.0
     124$lang['UserManager_Title'] = 'Gestion avancée des inscrits non validés';
     125$lang['Title_Tab3'] = 'UserAdvManager - Gestion des validations d\'inscription';
     126$lang['Tab_UserManager'] = 'Gestion des validations';
     127// --------- End: New or revised $lang ---- from version 2.13.0
    95128
    96129
     
    101134$lang['Tab_GhostTracker'] = 'Ghost Tracker';
    102135$lang['LastVisit_Date'] = 'Date de dernière visite';
    103 $lang['Ghost_Reminder'] = 'Email de rappel';
     136$lang['Reminder'] = 'Email de rappel';
    104137$lang['Reminder_Sent_OK'] = 'OUI';
    105138$lang['Reminder_Sent_NOK'] = 'NON';
     
    114147<br>';
    115148// --------- End: New or revised $lang ---- from version 2.12.2
     149// --------- Starting below: New or revised $lang ---- from version 2.13.0
     150$lang['Reminder'] = 'Email de rappel';
     151// --------- End: New or revised $lang ---- from version 2.13.0
    116152
    117153
     
    178214$lang['mail_exclusionlist_error'] = 'Attention ! Vous avez saisi un retour à la ligne en début de liste d\'exclusion des domaines de messagerie (affichée en rouge ci-dessous). Bien que ce retour à la ligne ne soit pas visible, il est tout de même présent et est susceptible de provoquer des dysfonctionnements du plugin. Veuillez resaisir votre liste d\'exclusion en veillant à ne pas commencer par un retour à la ligne.';
    179215// --------- End: New or revised $lang ---- from version 2.12.8
     216// --------- Starting below: New or revised $lang ---- from version 2.13.0
     217$lang['Err_Userlist_Settings'] = 'Cette page n\'est accessible que si le "suivi des utilisateur" est actif dans l\'onglet "Configuration Générale".';
     218// --------- End: New or revised $lang ---- from version 2.13.0
    180219
    181220
  • extensions/NBC_UserAdvManager/trunk/main.inc.php

    r4340 r4380  
    22/*
    33Plugin Name: NBC UserAdvManager
    4 Version: 2.12.8
     4Version: 2.13.0
    55Description: Renforcer les possibilités de gestion des utilisateurs - Enforce users management
    66Plugin URI: http://fr.piwigo.org/ext/extension_view.php?eid=216
     
    106106            Escaping all special characters typed in login name and recover them
    107107
    108 -- 2.12.8 : Bug 1259 fixed - PHP notice on user addition by admin in user_list page
     108
     109 ***** Plugin history (branch 2.13)*****
     110 
     111-- 2.13.0 : Bug 1246
     112            Evolution 1239 - New option to add a new tab that shows the number of days since their last visit for each registered user.
    109113            Bug 1257 fixed - If email exclusion list begins with a CR-LF, an informative warning message is displayed (I was unable to delete automatically this CR-LF).
     114            Bug 1259 fixed - PHP notice on user addition by admin in user_list page.
    110115            Bug 1260
     116            Evolution 1273 - Adding of reminder field in advanced user management tab. This allows to see if a reminder have already been send.
     117            Evolution 1292 - Adding of navigation bar in tabs where users are listed (when more than 1 page is needed to display users).
     118            Some code and translations refactory.
    111119*/
    112120
     
    114122
    115123 ***** TODO List *****
     124++ Adding ASC and DESC ordering for user's lists tables (Ghost Tracker, UserList and Unvalidated)
     125
    116126++ No validation needed for admins users comments (new trigger needed in comments.php ?)
    117127
     
    545555  return $comment_action;
    546556}
    547 
    548557?>
  • extensions/NBC_UserAdvManager/trunk/maintain.inc.php

    r4159 r4380  
    4646  status enum('webmaster','admin','normal','generic','guest') default NULL,
    4747  date_check datetime default NULL,
     48  reminder ENUM('true','false') NULL,
    4849PRIMARY KEY  (id)
    4950  )
     
    6667          global $conf;
    6768       
    68 /* Check for upgrade from 2.10 */
     69/* Check for upgrade from 2.10 to 2.11 */
    6970          $query = '
    7071SELECT *
     
    7475  $count = mysql_num_rows(pwg_query($query));
    7576 
    76   /* upgrade from branch 2.10 */
    7777        if ($count == 0)
    7878        {
     79         /* upgrade from branch 2.10 to 2.11 */
    7980                upgrade_210();
    8081        }
    8182
    82 /* Check for upgrade from 2.11 */
     83
     84/* Check for upgrade from 2.11 to 2.12 */
    8385  if (!table_exist(USER_LASTVISIT_TABLE))
    8486  {
    85     /* upgrade from branch 2.11 */
     87    /* upgrade from branch 2.11 to 2.12 */
    8688                upgrade_211();
     89  }
     90
     91
     92/* Check for upgrade from 2.12 to 2.13 */
     93  $query = '
     94SELECT *
     95FROM '.USER_CONFIRM_MAIL_TABLE.'
     96;';
     97
     98  $result = pwg_query($query);
     99       
     100        $numfields = mysql_num_fields($result);
     101
     102  if ($numfields < 6)
     103  {
     104    /* upgrade from branch 2.12 to 2.13 */
     105    upgrade_212();
    87106  }
    88107}
     
    120139}
    121140
    122 /* upgrade from branch 2.10 */
     141
     142/* upgrade from branch 2.10 to 2.11 */
    123143function upgrade_210()
    124144{
     
    139159  pwg_query($q);
    140160
    141 upgrade_211();
    142 }
    143 
    144 /* upgrade from branch 2.11 */
     161  upgrade_211();
     162}
     163
     164
     165/* upgrade from branch 2.11 to 2.12 */
    145166function upgrade_211()
    146167{
     
    179200;";
    180201  pwg_query($q);
     202
     203  upgrade_212();
     204}
     205
     206
     207/* upgrade from branch 2.12 to 2.13 */
     208function upgrade_212()
     209{
     210/* Create missing table */
     211  $query = "
     212ALTER TABLE ".USER_CONFIRM_MAIL_TABLE."
     213ADD reminder ENUM('true', 'false') NULL DEFAULT NULL
     214;";
     215 
     216  pwg_query($query);
     217
     218/* Upgrade plugin configuration */
     219        global $conf;
     220
     221  $conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array();
     222
     223  if ((!isset($conf_nbc_UserAdvManager[20])))
     224  {
     225    $upgrade_nbc_UserAdvManager = $conf_nbc_UserAdvManager[0].';'.$conf_nbc_UserAdvManager[1].';'.$conf_nbc_UserAdvManager[2].';'.$conf_nbc_UserAdvManager[3].';'.$conf_nbc_UserAdvManager[4].';'.$conf_nbc_UserAdvManager[5].';'.$conf_nbc_UserAdvManager[6].';'.$conf_nbc_UserAdvManager[7].';'.$conf_nbc_UserAdvManager[8].';'.$conf_nbc_UserAdvManager[9].';'.$conf_nbc_UserAdvManager[10].';'.$conf_nbc_UserAdvManager[11].';'.$conf_nbc_UserAdvManager[12].';'.$conf_nbc_UserAdvManager[13].';'.$conf_nbc_UserAdvManager[14].';'.$conf_nbc_UserAdvManager[15].';'.$conf_nbc_UserAdvManager[16].';'.$conf_nbc_UserAdvManager[17].';'.$conf_nbc_UserAdvManager[18].';'.$conf_nbc_UserAdvManager[19].';false';
     226               
     227                $query = '
     228UPDATE '.CONFIG_TABLE.'
     229SET value="'.$upgrade_nbc_UserAdvManager.'"
     230WHERE param="nbc_UserAdvManager"
     231LIMIT 1
     232;';
     233                pwg_query($query);
     234  }
    181235}
    182236?>
Note: See TracChangeset for help on using the changeset viewer.