Ignore:
Timestamp:
Nov 28, 2009, 12:58:32 PM (11 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/admin
Files:
4 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>
Note: See TracChangeset for help on using the changeset viewer.