diff --git a/phpBB/adm/style/acp_inactive.html b/phpBB/adm/style/acp_inactive.html
new file mode 100755
index 0000000000..b4e617b864
--- /dev/null
+++ b/phpBB/adm/style/acp_inactive.html
@@ -0,0 +1,75 @@
+
+
+
+
+
{L_INACTIVE_USERS}
+
+{L_INACTIVE_USERS_EXPLAIN}
+
+
+
+
\ No newline at end of file
diff --git a/phpBB/adm/style/acp_main.html b/phpBB/adm/style/acp_main.html
index af1623146e..ce4dde47b0 100644
--- a/phpBB/adm/style/acp_main.html
+++ b/phpBB/adm/style/acp_main.html
@@ -133,17 +133,18 @@
{L_INACTIVE_USERS}
- {L_INACTIVE_USERS_EXPLAIN}
+ {L_INACTIVE_USERS_EXPLAIN_INDEX}
-
-
diff --git a/phpBB/includes/acp/acp_inactive.php b/phpBB/includes/acp/acp_inactive.php
new file mode 100755
index 0000000000..ebadb8446d
--- /dev/null
+++ b/phpBB/includes/acp/acp_inactive.php
@@ -0,0 +1,195 @@
+p_master = &$p_master;
+ }
+
+ function main($id, $mode)
+ {
+ global $config, $db, $user, $auth, $template;
+ global $phpbb_root_path, $phpbb_admin_path, $phpEx, $table_prefix;
+
+ $action = request_var('action', '');
+ $mark = (isset($_REQUEST['mark'])) ? request_var('mark', array(0)) : array();
+ $start = request_var('start', 0);
+
+ // Sort keys
+ $sort_days = request_var('st', 0);
+ $sort_key = request_var('sk', 'i');
+ $sort_dir = request_var('sd', 'd');
+
+ if (sizeof($mark))
+ {
+ switch ($action)
+ {
+ case 'activate':
+ case 'delete':
+ $sql = 'SELECT username
+ FROM ' . USERS_TABLE . '
+ WHERE ' . $db->sql_in_set('user_id', $mark);
+ $result = $db->sql_query($sql);
+
+ $user_affected = array();
+ while ($row = $db->sql_fetchrow($result))
+ {
+ $user_affected[] = $row['username'];
+ }
+ $db->sql_freeresult($result);
+
+ if ($action == 'activate')
+ {
+ include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
+
+ foreach ($mark as $user_id)
+ {
+ user_active_flip($user_id, USER_INACTIVE);
+ }
+
+ set_config('num_users', $config['num_users'] + sizeof($mark), true);
+
+ // Update latest username
+ update_last_username();
+ }
+ else if ($action == 'delete')
+ {
+ if (!$auth->acl_get('a_userdel'))
+ {
+ trigger_error($user->lang['NO_ADMIN'], E_USER_WARNING);
+ }
+
+ $sql = 'DELETE FROM ' . USER_GROUP_TABLE . ' WHERE ' . $db->sql_in_set('user_id', $mark);
+ $db->sql_query($sql);
+ $sql = 'DELETE FROM ' . USERS_TABLE . ' WHERE ' . $db->sql_in_set('user_id', $mark);
+ $db->sql_query($sql);
+
+ add_log('admin', 'LOG_INACTIVE_' . strtoupper($action), implode(', ', $user_affected));
+ }
+
+ break;
+
+ case 'remind':
+ if (empty($config['email_enable']))
+ {
+ trigger_error($user->lang['EMAIL_DISABLED'], E_USER_WARNING);
+ }
+
+ $sql = 'SELECT user_id, username, user_email, user_lang, user_jabber, user_notify_type, user_regdate, user_actkey
+ FROM ' . USERS_TABLE . '
+ WHERE ' . $db->sql_in_set('user_id', $mark);
+ $result = $db->sql_query($sql);
+
+ if ($row = $db->sql_fetchrow($result))
+ {
+ // Send the messages
+ include_once($phpbb_root_path . 'includes/functions_messenger.'.$phpEx);
+
+ $messenger = new messenger();
+
+ $board_url = generate_board_url() . "/ucp.$phpEx?mode=activate";
+ $sig = str_replace('
', "\n", "-- \n" . $config['board_email_sig']);
+
+ $usernames = array();
+ do
+ {
+ $messenger->template('user_remind_inactive', $row['user_lang']);
+
+ $messenger->replyto($config['board_email']);
+ $messenger->to($row['user_email'], $row['username']);
+ $messenger->im($row['user_jabber'], $row['username']);
+
+ $messenger->assign_vars(array(
+ 'EMAIL_SIG' => $sig,
+ 'USERNAME' => html_entity_decode($row['username']),
+ 'SITENAME' => $config['sitename'],
+ 'REGISTER_DATE' => $user->format_date($row['user_regdate']),
+
+ 'U_ACTIVATE' => "$board_url&mode=activate&u=" . $row['user_id'] . '&k=' . $row['user_actkey'])
+ );
+
+ $messenger->send($row['user_notify_type']);
+
+ $usernames[] = $row['username'];
+ }
+ while ($row = $db->sql_fetchrow($result));
+
+ $messenger->save_queue();
+
+ add_log('admin', 'LOG_INACTIVE_REMIND', implode(', ', $usernames));
+ unset($usernames);
+ }
+ $db->sql_freeresult($result);
+
+ break;
+ }
+ }
+
+ // Sorting
+ $limit_days = array(0 => $user->lang['ALL_ENTRIES'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 365 => $user->lang['1_YEAR']);
+ $sort_by_text = array('i' => $user->lang['SORT_INACTIVE'], 'j' => $user->lang['SORT_REG_DATE'], 'l' => $user->lang['SORT_LAST_VISIT'], 'r' => $user->lang['SORT_REASON'], 'u' => $user->lang['SORT_USERNAME']);
+ $sort_by_sql = array('i' => 'user_inactive_time', 'j' => 'user_regdate', 'l' => 'user_lastvisit', 'r' => 'user_inactive_reason', 'u' => 'username');
+
+ $s_limit_days = $s_sort_key = $s_sort_dir = $u_sort_param = '';
+ gen_sort_selects($limit_days, $sort_by_text, $sort_days, $sort_key, $sort_dir, $s_limit_days, $s_sort_key, $s_sort_dir, $u_sort_param);
+
+ // Define where and sort sql for use in displaying logs
+ $sql_where = ($sort_days) ? (time() - ($sort_days * 86400)) : 0;
+ $sql_sort = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC');
+
+ $inactive = array();
+ $inactive_count = 0;
+
+ view_inactive_users($inactive, $inactive_count, $config['topics_per_page'], $start, $sql_where, $sql_sort);
+
+ foreach ($inactive as $row)
+ {
+ $template->assign_block_vars('inactive', array(
+ 'INACTIVE_DATE' => $user->format_date($row['user_inactive_time']),
+ 'JOINED' => $user->format_date($row['user_regdate']),
+ 'LAST_VISIT' => (!$row['user_lastvisit']) ? ' - ' : $user->format_date($row['user_lastvisit']),
+ 'REASON' => $row['inactive_reason'],
+ 'USER_ID' => $row['user_id'],
+ 'USERNAME' => $row['username'],
+ 'U_USER_ADMIN' => append_sid("{$phpbb_admin_path}index.$phpEx", "i=users&mode=overview&u={$row['user_id']}"))
+ );
+ }
+
+ $option_ary = array('activate' => 'ACTIVATE', 'delete' => 'DELETE');
+ if ($config['email_enable'])
+ {
+ $option_ary += array('remind' => 'REMIND');
+ }
+
+ $template->assign_vars(array(
+ 'S_INACTIVE_USERS' => true,
+ 'S_INACTIVE_OPTIONS' => build_select($option_ary),
+
+ 'S_LIMIT_DAYS' => $s_limit_days,
+ 'S_SORT_KEY' => $s_sort_key,
+ 'S_SORT_DIR' => $s_sort_dir,
+ 'S_ON_PAGE' => on_page($inactive_count, $config['topics_per_page'], $start),
+ 'PAGINATION' => generate_pagination($this->u_action . "&$u_sort_param", $inactive_count, $config['topics_per_page'], $start, true),
+ ));
+
+ $this->tpl_name = 'acp_inactive';
+ $this->page_title = 'ACP_INACTIVE_USERS';
+ }
+}
+
+?>
\ No newline at end of file
diff --git a/phpBB/includes/acp/acp_main.php b/phpBB/includes/acp/acp_main.php
index b0c12c7928..cefb80badc 100644
--- a/phpBB/includes/acp/acp_main.php
+++ b/phpBB/includes/acp/acp_main.php
@@ -50,123 +50,6 @@ class acp_main
}
$action = request_var('action', '');
- $mark = (isset($_REQUEST['mark'])) ? request_var('mark', array(0)) : array();
-
- if (sizeof($mark))
- {
- switch ($action)
- {
- case 'activate':
- case 'delete':
-
- if (!$auth->acl_get('a_user'))
- {
- trigger_error($user->lang['NO_ADMIN'], E_USER_WARNING);
- }
-
- $sql = 'SELECT username
- FROM ' . USERS_TABLE . '
- WHERE ' . $db->sql_in_set('user_id', $mark);
- $result = $db->sql_query($sql);
-
- $user_affected = array();
- while ($row = $db->sql_fetchrow($result))
- {
- $user_affected[] = $row['username'];
- }
- $db->sql_freeresult($result);
-
- if ($action == 'activate')
- {
- include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
-
- foreach ($mark as $user_id)
- {
- user_active_flip($user_id, USER_INACTIVE);
- }
-
- set_config('num_users', $config['num_users'] + sizeof($mark), true);
-
- // Update latest username
- update_last_username();
- }
- else if ($action == 'delete')
- {
- if (!$auth->acl_get('a_userdel'))
- {
- trigger_error($user->lang['NO_ADMIN'], E_USER_WARNING);
- }
-
- $sql = 'DELETE FROM ' . USER_GROUP_TABLE . ' WHERE ' . $db->sql_in_set('user_id', $mark);
- $db->sql_query($sql);
- $sql = 'DELETE FROM ' . USERS_TABLE . ' WHERE ' . $db->sql_in_set('user_id', $mark);
- $db->sql_query($sql);
-
- add_log('admin', 'LOG_INDEX_' . strtoupper($action), implode(', ', $user_affected));
- }
-
- break;
-
- case 'remind':
- if (!$auth->acl_get('a_user'))
- {
- trigger_error($user->lang['NO_ADMIN'], E_USER_WARNING);
- }
-
- if (empty($config['email_enable']))
- {
- trigger_error($user->lang['EMAIL_DISABLED'], E_USER_WARNING);
- }
-
- $sql = 'SELECT user_id, username, user_email, user_lang, user_jabber, user_notify_type, user_regdate, user_actkey
- FROM ' . USERS_TABLE . '
- WHERE ' . $db->sql_in_set('user_id', $mark);
- $result = $db->sql_query($sql);
-
- if ($row = $db->sql_fetchrow($result))
- {
- // Send the messages
- include_once($phpbb_root_path . 'includes/functions_messenger.'.$phpEx);
-
- $messenger = new messenger();
-
- $board_url = generate_board_url() . "/ucp.$phpEx?mode=activate";
- $sig = str_replace('
', "\n", "-- \n" . $config['board_email_sig']);
-
- $usernames = array();
- do
- {
- $messenger->template('user_remind_inactive', $row['user_lang']);
-
- $messenger->replyto($config['board_email']);
- $messenger->to($row['user_email'], $row['username']);
- $messenger->im($row['user_jabber'], $row['username']);
-
- $messenger->assign_vars(array(
- 'EMAIL_SIG' => $sig,
- 'USERNAME' => html_entity_decode($row['username']),
- 'SITENAME' => $config['sitename'],
- 'REGISTER_DATE' => $user->format_date($row['user_regdate']),
-
- 'U_ACTIVATE' => "$board_url&mode=activate&u=" . $row['user_id'] . '&k=' . $row['user_actkey'])
- );
-
- $messenger->send($row['user_notify_type']);
-
- $usernames[] = $row['username'];
- }
- while ($row = $db->sql_fetchrow($result));
-
- $messenger->save_queue();
-
- add_log('admin', 'LOG_INDEX_REMIND', implode(', ', $usernames));
- unset($usernames);
- }
- $db->sql_freeresult($result);
-
- break;
- }
- }
switch ($action)
{
@@ -443,6 +326,7 @@ class acp_main
'U_ACTION' => append_sid("{$phpbb_admin_path}index.$phpEx"),
'U_ADMIN_LOG' => append_sid("{$phpbb_admin_path}index.$phpEx", 'i=logs&mode=admin'),
+ 'U_INACTIVE_USERS' => append_sid("{$phpbb_admin_path}index.$phpEx", 'i=inactive&mode=list'),
'S_ACTION_OPTIONS' => ($auth->acl_get('a_board')) ? $s_action_options : '',
)
@@ -468,17 +352,18 @@ class acp_main
if ($auth->acl_get('a_user'))
{
- $sql = 'SELECT user_id, username, user_regdate, user_lastvisit
- FROM ' . USERS_TABLE . '
- WHERE user_type = ' . USER_INACTIVE . '
- ORDER BY user_regdate ASC';
- $result = $db->sql_query($sql);
+ $inactive = array();
+ $inactive_count = 0;
- while ($row = $db->sql_fetchrow($result))
+ view_inactive_users($inactive, $inactive_count, 10);
+
+ foreach ($inactive as $row)
{
$template->assign_block_vars('inactive', array(
- 'DATE' => $user->format_date($row['user_regdate']),
+ 'INACTIVE_DATE' => $user->format_date($row['user_inactive_time']),
+ 'JOINED' => $user->format_date($row['user_regdate']),
'LAST_VISIT' => (!$row['user_lastvisit']) ? ' - ' : $user->format_date($row['user_lastvisit']),
+ 'REASON' => $row['inactive_reason'],
'USER_ID' => $row['user_id'],
'USERNAME' => $row['username'],
'U_USER_ADMIN' => append_sid("{$phpbb_admin_path}index.$phpEx", "i=users&mode=overview&u={$row['user_id']}"))
diff --git a/phpBB/includes/acp/acp_prune.php b/phpBB/includes/acp/acp_prune.php
index 0214a252d0..7c789e4773 100644
--- a/phpBB/includes/acp/acp_prune.php
+++ b/phpBB/includes/acp/acp_prune.php
@@ -269,7 +269,7 @@ class acp_prune
{
foreach ($user_ids as $user_id)
{
- user_active_flip($user_id, USER_NORMAL, false, false, true);
+ user_active_flip($user_id, USER_NORMAL, false, false, INACTIVE_MANUAL, true);
}
$l_log = 'LOG_PRUNE_USER_DEAC';
diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php
index cc5c1ffa78..87c9fc4edc 100644
--- a/phpBB/includes/acp/acp_users.php
+++ b/phpBB/includes/acp/acp_users.php
@@ -269,7 +269,7 @@ class acp_users
if ($user_row['user_type'] != USER_INACTIVE)
{
- user_active_flip($user_id, $user_row['user_type'], $user_actkey, $user_row['username']);
+ user_active_flip($user_id, $user_row['user_type'], $user_actkey, $user_row['username'], INACTIVE_MANUAL);
}
$messenger = new messenger(false);
@@ -311,7 +311,7 @@ class acp_users
trigger_error($user->lang['CANNOT_DEACTIVATE_YOURSELF'] . adm_back_link($this->u_action . '&u=' . $user_id), E_USER_WARNING);
}
- user_active_flip($user_id, $user_row['user_type'], false, $user_row['username']);
+ user_active_flip($user_id, $user_row['user_type'], false, $user_row['username'], INACTIVE_MANUAL);
$message = ($user_row['user_type'] == USER_INACTIVE) ? 'USER_ADMIN_ACTIVATED' : 'USER_ADMIN_DEACTIVED';
$log = ($user_row['user_type'] == USER_INACTIVE) ? 'LOG_USER_ACTIVE' : 'LOG_USER_INACTIVE';
diff --git a/phpBB/includes/acp/info/acp_inactive.php b/phpBB/includes/acp/info/acp_inactive.php
new file mode 100755
index 0000000000..bee9d977d4
--- /dev/null
+++ b/phpBB/includes/acp/info/acp_inactive.php
@@ -0,0 +1,37 @@
+ 'acp_inactive',
+ 'title' => 'ACP_INACTIVE_USERS',
+ 'version' => '1.0.0',
+ 'modes' => array(
+ 'list' => array('title' => 'ACP_INACTIVE_USERS', 'auth' => 'acl_a_user', 'cat' => array('ACP_CAT_USERS')),
+ ),
+ );
+ }
+
+ function install()
+ {
+ }
+
+ function uninstall()
+ {
+ }
+}
+
+?>
\ No newline at end of file
diff --git a/phpBB/includes/constants.php b/phpBB/includes/constants.php
index f20729e6c6..42d3c41463 100644
--- a/phpBB/includes/constants.php
+++ b/phpBB/includes/constants.php
@@ -30,6 +30,10 @@ define('USER_FOUNDER', 3);
//define('USER_BOT', 2);
//define('USER_GUEST', 4);
+define('INACTIVE_REGISTER', 1);
+define('INACTIVE_PROFILE', 2);
+define('INACTIVE_MANUAL', 3);
+
// ACL
define('ACL_NEVER', 0);
define('ACL_YES', 1);
diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php
index 2f2e333c78..1d5ec9ee68 100644
--- a/phpBB/includes/functions_admin.php
+++ b/phpBB/includes/functions_admin.php
@@ -2330,6 +2330,52 @@ function update_foes()
unset($perms);
}
+/**
+* Lists inactive users
+*/
+function view_inactive_users(&$users, &$user_count, $limit = 0, $offset = 0, $limit_days = 0, $sort_by = 'user_inactive_time DESC')
+{
+ global $db, $user;
+
+ $sql = 'SELECT user_id, username, user_regdate, user_lastvisit, user_inactive_time, user_inactive_reason
+ FROM ' . USERS_TABLE . '
+ WHERE user_type = ' . USER_INACTIVE .
+ (($limit_days) ? "AND user_inactive_time >= $limit_days" : '') . "
+ ORDER BY $sort_by";
+ $result = $db->sql_query_limit($sql, $limit, $offset);
+
+ while ($row = $db->sql_fetchrow($result))
+ {
+ $row['inactive_reason'] = $user->lang['INACTIVE_REASON_UNKNOWN'];
+ switch ($row['user_inactive_reason'])
+ {
+ case INACTIVE_REGISTER:
+ $row['inactive_reason'] = $user->lang['INACTIVE_REASON_REGISTER'];
+ break;
+
+ case INACTIVE_PROFILE:
+ $row['inactive_reason'] = $user->lang['INACTIVE_REASON_PROFILE'];
+ break;
+
+ case INACTIVE_MANUAL:
+ $row['inactive_reason'] = $user->lang['INACTIVE_REASON_MANUAL'];
+ break;
+ }
+
+ $users[] = $row;
+ }
+
+ $sql = 'SELECT count(user_id) AS user_count
+ FROM ' . USERS_TABLE . '
+ WHERE user_type = ' . USER_INACTIVE .
+ (($limit_days) ? "AND user_inactive_time >= $limit_days" : '');
+ $result = $db->sql_query($sql);
+ $user_count = (int) $db->sql_fetchfield('user_count');
+ $db->sql_freeresult($result);
+
+ return;
+}
+
/**
* Lists warned users
*/
diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php
index 07701f27ac..6b53736e88 100644
--- a/phpBB/includes/functions_user.php
+++ b/phpBB/includes/functions_user.php
@@ -158,6 +158,8 @@ function user_add($user_row, $cp_data = false)
'user_regdate' => time(),
'user_passchg' => time(),
+ 'user_inactive_reason' => 0,
+ 'user_inactive_time' => 0,
'user_lastmark' => time(),
'user_lastvisit' => 0,
'user_lastpost_time' => 0,
@@ -423,7 +425,7 @@ function user_delete($mode, $user_id, $post_username = false)
* Flips user_type from active to inactive and vice versa, handles
* group membership updates
*/
-function user_active_flip($user_id, $user_type, $user_actkey = false, $username = false, $no_log = false)
+function user_active_flip($user_id, $user_type, $user_actkey = false, $username = false, $reason = 0, $no_log = false)
{
global $db, $user, $auth;
@@ -467,7 +469,9 @@ function user_active_flip($user_id, $user_type, $user_actkey = false, $username
$db->sql_query($sql);
$sql_ary = array(
- 'user_type' => ($user_type == USER_NORMAL) ? USER_INACTIVE : USER_NORMAL
+ 'user_type' => ($user_type == USER_NORMAL) ? USER_INACTIVE : USER_NORMAL,
+ 'user_inactive_time' => ($user_type == USER_NORMAL) ? time() : 0,
+ 'user_inactive_reason' => ($user_type == USER_NORMAL) ? $reason : 0,
);
if ($user_actkey !== false)
diff --git a/phpBB/includes/ucp/ucp_activate.php b/phpBB/includes/ucp/ucp_activate.php
index 5f7ba150f4..b3c857b5d8 100644
--- a/phpBB/includes/ucp/ucp_activate.php
+++ b/phpBB/includes/ucp/ucp_activate.php
@@ -70,7 +70,7 @@ class ucp_activate
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
// Now we need to demote the user from the inactive group and add him to the registered group
- user_active_flip($user_row['user_id'], $user_row['user_type'], '', $user_row['username'], true);
+ user_active_flip($user_row['user_id'], $user_row['user_type'], '', $user_row['username'], 0, true);
// Update last username
update_last_username();
diff --git a/phpBB/includes/ucp/ucp_profile.php b/phpBB/includes/ucp/ucp_profile.php
index e070ba8453..e9ef944986 100644
--- a/phpBB/includes/ucp/ucp_profile.php
+++ b/phpBB/includes/ucp/ucp_profile.php
@@ -180,8 +180,10 @@ class ucp_profile
$messenger->save_queue();
$sql_ary += array(
- 'user_type' => USER_INACTIVE,
- 'user_actkey' => $user_actkey
+ 'user_type' => USER_INACTIVE,
+ 'user_actkey' => $user_actkey,
+ 'user_inactive_reason' => INACTIVE_PROFILE,
+ 'user_inactive_time' => time(),
);
}
diff --git a/phpBB/includes/ucp/ucp_register.php b/phpBB/includes/ucp/ucp_register.php
index 2638ea2ffe..0e0849982e 100644
--- a/phpBB/includes/ucp/ucp_register.php
+++ b/phpBB/includes/ucp/ucp_register.php
@@ -239,24 +239,30 @@ class ucp_register
$key_len = ($key_len < 6) ? 6 : $key_len;
$user_actkey = substr($user_actkey, 0, $key_len);
$user_type = USER_INACTIVE;
+ $user_inactive_reason = INACTIVE_REGISTER;
+ $user_inactive_time = time();
}
else
{
$user_type = USER_NORMAL;
$user_actkey = '';
+ $user_inactive_reason = 0;
+ $user_inactive_time = 0;
}
$user_row = array(
- 'username' => $username,
- 'user_password' => md5($new_password),
- 'user_email' => $email,
- 'group_id' => (int) $group_id,
- 'user_timezone' => (float) $tz,
- 'user_lang' => $lang,
- 'user_type' => $user_type,
- 'user_actkey' => $user_actkey,
- 'user_ip' => $user->ip,
- 'user_regdate' => time(),
+ 'username' => $username,
+ 'user_password' => md5($new_password),
+ 'user_email' => $email,
+ 'group_id' => (int) $group_id,
+ 'user_timezone' => (float) $tz,
+ 'user_lang' => $lang,
+ 'user_type' => $user_type,
+ 'user_actkey' => $user_actkey,
+ 'user_ip' => $user->ip,
+ 'user_regdate' => time(),
+ 'user_inactive_reason' => $user_inactive_reason,
+ 'user_inactive_time' => $user_inactive_time,
);
// Register user...
diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php
index aec12abb5a..74b8b52fc6 100755
--- a/phpBB/install/install_install.php
+++ b/phpBB/install/install_install.php
@@ -1357,7 +1357,7 @@ class install_install extends module
$_module->move_module_by($row, 'move_up', 4);
- // Move manage users screen module 4 up...
+ // Move manage users screen module 5 up...
$sql = 'SELECT *
FROM ' . MODULES_TABLE . "
WHERE module_basename = 'users'
@@ -1367,7 +1367,7 @@ class install_install extends module
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
- $_module->move_module_by($row, 'move_up', 4);
+ $_module->move_module_by($row, 'move_up', 5);
}
// And now for the special ones
@@ -1667,13 +1667,13 @@ class install_install extends module
break;
- case 'oracle':
case 'sqlite':
$prefix_length = 200;
break;
case 'firebird':
+ case 'oracle':
$prefix_length = 6;
break;
diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php
index 269cea8254..979deb5171 100644
--- a/phpBB/language/en/acp/common.php
+++ b/phpBB/language/en/acp/common.php
@@ -98,6 +98,7 @@ $lang = array_merge($lang, array(
'ACP_ICONS' => 'Topic Icons',
'ACP_ICONS_SMILIES' => 'Topic Icons/Smilies',
'ACP_IMAGESETS' => 'Imagesets',
+ 'ACP_INACTIVE_USERS' => 'Inactive users',
'ACP_INDEX' => 'Admin index',
'ACP_JABBER_SETTINGS' => 'Jabber Settings',
@@ -303,10 +304,6 @@ $lang = array_merge($lang, array(
'GZIP_COMPRESSION' => 'Gzip compression',
- 'INACTIVE_USERS' => 'Inactive Users',
- 'INACTIVE_USERS_EXPLAIN' => 'This is a list of users who have registered but whos accounts are inactive. You can activate, delete or remind (by sending an email) these users if you wish.',
-
- 'NO_INACTIVE_USERS' => 'No inactive users',
'NOT_AVAILABLE' => 'Not available',
'NUMBER_FILES' => 'Number of attachments',
'NUMBER_POSTS' => 'Number of posts',
@@ -329,12 +326,32 @@ $lang = array_merge($lang, array(
'UPLOAD_DIR_SIZE' => 'Size of posted attachments',
'USERS_PER_DAY' => 'Users per day',
- 'VALUE' => 'Value',
- 'VIEW_ADMIN_LOG' => 'View administrator log',
+ 'VALUE' => 'Value',
+ 'VIEW_ADMIN_LOG' => 'View administrator log',
+ 'VIEW_INACTIVE_USERS' => 'View inactive users',
'WELCOME_PHPBB' => 'Welcome to phpBB',
));
+// Inactive Users
+$lang = array_merge($lang, array(
+ 'INACTIVE_DATE' => 'Inactive date',
+ 'INACTIVE_REASON' => 'Reason',
+ 'INACTIVE_REASON_MANUAL' => 'Account deactivated by administrator',
+ 'INACTIVE_REASON_PROFILE' => 'Profile details changed',
+ 'INACTIVE_REASON_REGISTER' => 'Newly registered account',
+ 'INACTIVE_REASON_UNKNOWN' => 'Unknown',
+ 'INACTIVE_USERS' => 'Inactive Users',
+ 'INACTIVE_USERS_EXPLAIN' => 'This is a list of users who have registered but whos accounts are inactive. You can activate, delete or remind (by sending an email) these users if you wish.',
+ 'INACTIVE_USERS_EXPLAIN_INDEX' => 'This is a list of the last 10 registered users who have inactive accounts. A full list is available from the appropriate menu item or by following the link below from where you can activate, delete or remind (by sending an email) these users if you wish.',
+
+ 'NO_INACTIVE_USERS' => 'No inactive users',
+
+ 'SORT_INACTIVE' => 'Inactive date',
+ 'SORT_LAST_VISIT' => 'Last visit',
+ 'SORT_REASON' => 'Reason',
+ 'SORT_REG_DATE' => 'Registration date',
+));
// Log Entries
$lang = array_merge($lang, array(
'LOG_ACL_ADD_USER_GLOBAL_U_' => 'Added or edited users user permissions
» %s',
@@ -478,9 +495,9 @@ $lang = array_merge($lang, array(
'LOG_IMAGESET_EXPORT' => 'Exported imageset
» %s',
'LOG_IMAGESET_REFRESHED' => 'Refreshed imageset
» %s',
- 'LOG_INDEX_ACTIVATE' => 'Activated inactive users
» %s',
- 'LOG_INDEX_DELETE' => 'Deleted inactive users
» %s',
- 'LOG_INDEX_REMIND' => 'Sent reminder emails to inactive users
» %s',
+ 'LOG_INACTIVE_ACTIVATE' => 'Activated inactive users
» %s',
+ 'LOG_INACTIVE_DELETE' => 'Deleted inactive users
» %s',
+ 'LOG_INACTIVE_REMIND' => 'Sent reminder emails to inactive users
» %s',
'LOG_INSTALL_CONVERTED' => 'Converted from %1$s to phpBB %2$s',
'LOG_INSTALL_INSTALLED' => 'Installed phpBB %s',