aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2006-04-22 16:18:40 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2006-04-22 16:18:40 +0000
commit856650861f0c454b800fe816ba2592444ef13894 (patch)
treed73a41902d1d58784c7502c94ce4d03998131e0a /phpBB
parent68c349fdc1ad29ff3c80961297db31b1e725973f (diff)
downloadforums-856650861f0c454b800fe816ba2592444ef13894.tar
forums-856650861f0c454b800fe816ba2592444ef13894.tar.gz
forums-856650861f0c454b800fe816ba2592444ef13894.tar.bz2
forums-856650861f0c454b800fe816ba2592444ef13894.tar.xz
forums-856650861f0c454b800fe816ba2592444ef13894.zip
- removed group settings from roles
- added forum icon in front of forums in permissions acp - added trace permissions in permission masks (thanks naderman for writing the first code and for the idea... :)) - some bugfixes - PHP6 fix git-svn-id: file:///svn/phpbb/trunk@5824 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/adm/images/icon_folder_link_small.gifbin0 -> 1207 bytes
-rw-r--r--phpBB/adm/images/icon_folder_lock_small.gifbin0 -> 333 bytes
-rw-r--r--phpBB/adm/images/icon_folder_small.gifbin0 -> 344 bytes
-rw-r--r--phpBB/adm/images/icon_folder_sub_small.gifbin0 -> 1206 bytes
-rw-r--r--phpBB/adm/images/icon_trace.gifbin0 -> 307 bytes
-rw-r--r--phpBB/adm/style/acp_permission_roles.html20
-rw-r--r--phpBB/adm/style/acp_permissions.html2
-rw-r--r--phpBB/adm/style/overall_header.html8
-rw-r--r--phpBB/adm/style/permission_mask.html4
-rw-r--r--phpBB/adm/style/permission_trace.html49
-rw-r--r--phpBB/adm/style/simple_header.html2
-rw-r--r--phpBB/common.php65
-rw-r--r--phpBB/includes/acp/acp_board.php4
-rw-r--r--phpBB/includes/acp/acp_permission_roles.php328
-rw-r--r--phpBB/includes/acp/acp_permissions.php148
-rw-r--r--phpBB/includes/acp/acp_profile.php20
-rw-r--r--phpBB/includes/acp/acp_search.php10
-rw-r--r--phpBB/includes/acp/auth.php60
-rw-r--r--phpBB/includes/acp/info/acp_permissions.php1
-rw-r--r--phpBB/includes/auth.php4
-rw-r--r--phpBB/includes/db/dbal.php2
-rw-r--r--phpBB/includes/functions.php16
-rw-r--r--phpBB/includes/functions_admin.php3
-rw-r--r--phpBB/includes/functions_upload.php12
-rw-r--r--phpBB/includes/functions_user.php2
-rw-r--r--phpBB/includes/message_parser.php3
-rw-r--r--phpBB/includes/session.php6
-rw-r--r--phpBB/includes/ucp/ucp_main.php6
-rwxr-xr-xphpBB/install/index.php90
-rw-r--r--phpBB/install/schemas/firebird_schema.sql3
-rw-r--r--phpBB/install/schemas/mssql_schema.sql6
-rw-r--r--phpBB/install/schemas/mysql_schema.sql1
-rw-r--r--phpBB/install/schemas/oracle_schema.sql1
-rw-r--r--phpBB/install/schemas/postgres_schema.sql1
-rw-r--r--phpBB/install/schemas/schema_data.sql259
-rw-r--r--phpBB/install/schemas/sqlite_schema.sql3
-rw-r--r--phpBB/language/en/acp/common.php1
-rw-r--r--phpBB/language/en/acp/permissions.php38
-rw-r--r--phpBB/language/en/common.php5
-rw-r--r--phpBB/language/en/ucp.php2
-rw-r--r--phpBB/memberlist.php41
-rw-r--r--phpBB/styles/subSilver/template/overall_header.html4
-rw-r--r--phpBB/styles/subSilver/template/ucp_main_bookmarks.html4
-rw-r--r--phpBB/viewforum.php2
-rw-r--r--phpBB/viewtopic.php25
45 files changed, 617 insertions, 644 deletions
diff --git a/phpBB/adm/images/icon_folder_link_small.gif b/phpBB/adm/images/icon_folder_link_small.gif
new file mode 100644
index 0000000000..babe1e03cf
--- /dev/null
+++ b/phpBB/adm/images/icon_folder_link_small.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_folder_lock_small.gif b/phpBB/adm/images/icon_folder_lock_small.gif
new file mode 100644
index 0000000000..10eb776972
--- /dev/null
+++ b/phpBB/adm/images/icon_folder_lock_small.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_folder_small.gif b/phpBB/adm/images/icon_folder_small.gif
new file mode 100644
index 0000000000..c16bfa75d5
--- /dev/null
+++ b/phpBB/adm/images/icon_folder_small.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_folder_sub_small.gif b/phpBB/adm/images/icon_folder_sub_small.gif
new file mode 100644
index 0000000000..355ee9c708
--- /dev/null
+++ b/phpBB/adm/images/icon_folder_sub_small.gif
Binary files differ
diff --git a/phpBB/adm/images/icon_trace.gif b/phpBB/adm/images/icon_trace.gif
new file mode 100644
index 0000000000..5c622e9a9d
--- /dev/null
+++ b/phpBB/adm/images/icon_trace.gif
Binary files differ
diff --git a/phpBB/adm/style/acp_permission_roles.html b/phpBB/adm/style/acp_permission_roles.html
index 4a8654f82c..8e1076d701 100644
--- a/phpBB/adm/style/acp_permission_roles.html
+++ b/phpBB/adm/style/acp_permission_roles.html
@@ -70,13 +70,6 @@
<dt><label for="role_description">{L_ROLE_DESCRIPTION}:</label><br /><span>{L_ROLE_DESCRIPTION_EXPLAIN}</span></dt>
<dd><textarea id="role_description" name="role_description" rows="3" cols="45">{ROLE_DESCRIPTION}</textarea></dd>
</dl>
- <dl>
- <dt><label for="pre_select">{L_DISPLAY_FOR_GROUP}:</label><br /><span>{L_DISPLAY_FOR_GROUP_EXPLAIN}</span></dt>
- <dd><select name="pre_select" id="pre_select" onchange="if(this.value=='custom'){dE('custom_group',1);}else{dE('custom_group',-1);}">{S_PRESELECT_OPTIONS}</select></dd>
- <dd id="custom_group"<!-- IF not S_CUSTOM_GROUP_IDS --> style="display:none;"<!-- ENDIF -->>
- <select name="role_group_ids[]" id="role_group_id" style="width: 100%;" multiple="multiple" size="10">{S_GROUP_OPTIONS}</select>
- </dd>
- </dl>
</fieldset>
<fieldset class="quick">
@@ -180,7 +173,6 @@
<thead>
<tr>
<th style="width: 50%">{L_ROLE_NAME}</th>
- <th>{L_DISPLAY_FOR_GROUP}</th>
<th colspan="2">{L_OPTIONS}</th>
</tr>
</thead>
@@ -190,18 +182,6 @@
<td style="vertical-align: top;"><b>{roles.ROLE_NAME}</b>
<!-- IF roles.ROLE_DESCRIPTION --><br /><span>{roles.ROLE_DESCRIPTION}</span><!-- ENDIF -->
</td>
- <td style="vertical-align: top;">
- <!-- IF roles.S_GROUP -->
- <!-- a href="{roles.groups.U_GROUP}">{roles.groups.GROUP_NAME}</a><br / -->
- <select name="r_groups">
- <!-- BEGIN groups -->
- <option<!-- IF roles.groups.S_SPECIAL_GROUP --> class="sep"<!-- ENDIF -->>{roles.groups.GROUP_NAME}</option>
- <!-- END groups -->
- </select>
- <!-- ELSE -->
- {L_EVERY_USER_GROUP}
- <!-- ENDIF -->
- </td>
<td style="vertical-align: top; white-space: nowrap;"><!-- IF roles.U_DISPLAY_ITEMS --><a href="{roles.U_DISPLAY_ITEMS}">{L_VIEW_ASSIGNED_ITEMS}</a><!-- ELSE -->{L_VIEW_ASSIGNED_ITEMS}<!-- ENDIF --></td>
<td style="vertical-align: top; white-space: nowrap;">
<!-- IF not roles.S_FIRST_ROW --><a href="{roles.U_MOVE_UP}"><img src="images/icon_up.gif" alt="{L_MOVE_UP}" title="{L_MOVE_UP}" width="16" height="16" /></a> <!-- ENDIF -->
diff --git a/phpBB/adm/style/acp_permissions.html b/phpBB/adm/style/acp_permissions.html
index ad0e97cccd..e54eb81d47 100644
--- a/phpBB/adm/style/acp_permissions.html
+++ b/phpBB/adm/style/acp_permissions.html
@@ -347,7 +347,7 @@
<script type="text/javascript" src="style/tooltip.js"></script>
<script type="text/javascript">
<!--
- window.onload = function(){enable_tooltips_select('set_permissions', 'Role Description', 'role')};
+ window.onload = function(){enable_tooltips_select('set_permissions', '{L_ROLE_DESCRIPTION}', 'role')};
//-->
</script>
diff --git a/phpBB/adm/style/overall_header.html b/phpBB/adm/style/overall_header.html
index f719ec8074..232e8bd3ea 100644
--- a/phpBB/adm/style/overall_header.html
+++ b/phpBB/adm/style/overall_header.html
@@ -24,7 +24,7 @@ function jumpto()
if (page !== null && !isNaN(page) && page > 0)
{
- document.location.href = base_url.replace('&amp;', '&') + '&start=' + ((page - 1) * per_page);
+ document.location.href = base_url.replace(/&amp;/g, '&') + '&start=' + ((page - 1) * per_page);
}
}
@@ -71,6 +71,12 @@ function marklist(id, name, state)
}
}
+function trace(link)
+{
+ window.open(link, '_trace', 'height=515, resizable=yes, scrollbars=yes, width=680');
+ return false;
+}
+
<!-- IF S_INCLUDE_SWATCH -->
function swatch()
{
diff --git a/phpBB/adm/style/permission_mask.html b/phpBB/adm/style/permission_mask.html
index 8999c2b9da..5df845702d 100644
--- a/phpBB/adm/style/permission_mask.html
+++ b/phpBB/adm/style/permission_mask.html
@@ -150,7 +150,7 @@
<!-- IF not p_mask.S_VIEW --><input type="checkbox" name="inherit[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" value="1" /><!-- ELSE -->&nbsp;<!-- ENDIF -->
</span>
</td>
- <td>{p_mask.f_mask.PADDING}<a href="javascript:swap_options('{p_mask.S_ROW_COUNT}', '{p_mask.f_mask.S_ROW_COUNT}', '0');">{p_mask.f_mask.NAME}</a></span></td>
+ <td>{p_mask.f_mask.PADDING}<!-- IF p_mask.f_mask.FOLDER_IMAGE --> {p_mask.f_mask.FOLDER_IMAGE} <!-- ENDIF --><a href="javascript:swap_options('{p_mask.S_ROW_COUNT}', '{p_mask.f_mask.S_ROW_COUNT}', '0');">{p_mask.f_mask.NAME}</a></span></td>
<td style="text-align: right;">
<!-- IF p_mask.S_VIEW -->
&nbsp;
@@ -219,7 +219,7 @@
<tbody>
<!-- BEGIN mask -->
<!-- IF p_mask.f_mask.category.mask.S_ROW_COUNT is even --><tr class="row4"><!-- ELSE --><tr class="row3"><!-- ENDIF -->
- <th>{p_mask.f_mask.category.mask.PERMISSION}</th>
+ <th><!-- IF p_mask.f_mask.category.mask.U_TRACE --><a href="#" onclick="javascript:trace('{p_mask.f_mask.category.mask.U_TRACE}')" title="{L_TRACE_SETTING}"><img src="images/icon_trace.gif" alt="{L_TRACE_SETTING}" /></a> <!-- ENDIF -->{p_mask.f_mask.category.mask.PERMISSION}</th>
<!-- IF p_mask.S_VIEW -->
<td<!-- IF p_mask.f_mask.category.mask.S_YES --> class="yes"<!-- ELSE --> class="unset"<!-- ENDIF -->>&nbsp;</td>
<td<!-- IF p_mask.f_mask.category.mask.S_NO --> class="no"<!-- ELSE --> class="unset"<!-- ENDIF -->>&nbsp;</td>
diff --git a/phpBB/adm/style/permission_trace.html b/phpBB/adm/style/permission_trace.html
new file mode 100644
index 0000000000..25c7054dde
--- /dev/null
+++ b/phpBB/adm/style/permission_trace.html
@@ -0,0 +1,49 @@
+<!-- INCLUDE simple_header.html -->
+
+<div style="background-color: #fff; padding: 10px; margin-top: 10px;" class="permissions">
+
+ <h3>Trace for: {PERMISSION_USERNAME} / {PERMISSION}</h3>
+
+ <br />
+
+ <table cellspacing="1" class="type1">
+ <thead>
+ <tr>
+ <th>Who</th>
+ <th style="width: 50px;">Setting</th>
+ <th style="width: 50px;">Total</th>
+ <th>Information</th>
+ </tr>
+ </thead>
+ <tbody>
+ <!-- BEGIN trace -->
+ <!-- IF trace.S_ROW_COUNT is even --><tr class="row4"><!-- ELSE --><tr class="row3"><!-- ENDIF -->
+ <td style="white-space: nowrap;"><strong>{trace.WHO}</strong></td>
+
+ <!-- IF trace.S_SETTING_NO -->
+ <td class="no">{L_ACL_NO}</td>
+ <!-- ELSEIF trace.S_SETTING_YES -->
+ <td class="yes">{L_ACL_YES}</td>
+ <!-- ELSE -->
+ <td class="unset">{L_ACL_UNSET}</td>
+ <!-- ENDIF -->
+
+ <!-- IF trace.S_TOTAL_NO -->
+ <td class="no">{L_ACL_NO}</td>
+ <!-- ELSEIF trace.S_TOTAL_YES -->
+ <td class="yes">{L_ACL_YES}</td>
+ <!-- ELSE -->
+ <td class="unset">{L_ACL_UNSET}</td>
+ <!-- ENDIF -->
+
+ <td>{trace.INFORMATION}</td>
+ </tr>
+ <!-- END trace -->
+ </tbody>
+</table>
+
+<br />
+
+<!-- INCLUDE simple_footer.html -->
+
+</div>
diff --git a/phpBB/adm/style/simple_header.html b/phpBB/adm/style/simple_header.html
index 3a21c3bdab..5672e1d64b 100644
--- a/phpBB/adm/style/simple_header.html
+++ b/phpBB/adm/style/simple_header.html
@@ -24,7 +24,7 @@ function jumpto()
if (page !== null && !isNaN(page) && page > 0)
{
- document.location.href = base_url.replace('&amp;', '&') + '&start=' + ((page - 1) * per_page);
+ document.location.href = base_url.replace(/&amp;/g, '&') + '&start=' + ((page - 1) * per_page);
}
}
diff --git a/phpBB/common.php b/phpBB/common.php
index 0e3315f81a..802e16b2f0 100644
--- a/phpBB/common.php
+++ b/phpBB/common.php
@@ -25,46 +25,57 @@ $starttime = $starttime[1] + $starttime[0];
error_reporting(E_ERROR | E_WARNING | E_PARSE); // This will NOT report uninitialized variables
//error_reporting(E_ALL);
-set_magic_quotes_runtime(0);
-// Protect against GLOBALS tricks
-if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS']))
+// If we are on PHP >= 6.0.0 we do not need some code
+if (version_compare(phpversion(), '6.0.0', '>='))
{
- exit;
-}
-
-// Protect against _SESSION tricks
-if (isset($_SESSION) && !is_array($_SESSION))
-{
- exit;
+ define('STRIP', false);
}
-
-// Be paranoid with passed vars
-if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on')
+else
{
- $not_unset = array('_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_SESSION', '_ENV', '_FILES', 'phpEx', 'phpbb_root_path');
+ set_magic_quotes_runtime(0);
- // Not only will array_merge give a warning if a parameter
- // is not an array, it will actually fail. So we check if
- // _SESSION has been initialised.
- if (!isset($_SESSION) || !is_array($_SESSION))
+ // Protect against GLOBALS tricks
+ if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS']))
{
- $_SESSION = array();
+ exit;
}
- // Merge all into one extremely huge array; unset
- // this later
- $input = array_merge($_GET, $_POST, $_COOKIE, $_SERVER, $_SESSION, $_ENV, $_FILES);
+ // Protect against _SESSION tricks
+ if (isset($_SESSION) && !is_array($_SESSION))
+ {
+ exit;
+ }
- foreach ($input as $varname => $void)
+ // Be paranoid with passed vars
+ if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on')
{
- if (!in_array($varname, $not_unset))
+ $not_unset = array('_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_SESSION', '_ENV', '_FILES', 'phpEx', 'phpbb_root_path');
+
+ // Not only will array_merge give a warning if a parameter
+ // is not an array, it will actually fail. So we check if
+ // _SESSION has been initialised.
+ if (!isset($_SESSION) || !is_array($_SESSION))
{
- unset(${$varname});
+ $_SESSION = array();
}
+
+ // Merge all into one extremely huge array; unset
+ // this later
+ $input = array_merge($_GET, $_POST, $_COOKIE, $_SERVER, $_SESSION, $_ENV, $_FILES);
+
+ foreach ($input as $varname => $void)
+ {
+ if (!in_array($varname, $not_unset))
+ {
+ unset(${$varname});
+ }
+ }
+
+ unset($input);
}
- unset($input);
+ define('STRIP', (get_magic_quotes_gpc()) ? true : false);
}
if (defined('IN_CRON'))
@@ -101,8 +112,6 @@ if (!empty($load_extensions))
}
}
-define('STRIP', (get_magic_quotes_gpc()) ? true : false);
-
// Include files
require($phpbb_root_path . 'includes/acm/acm_' . $acm_type . '.' . $phpEx);
require($phpbb_root_path . 'includes/acm/acm_main.' . $phpEx);
diff --git a/phpBB/includes/acp/acp_board.php b/phpBB/includes/acp/acp_board.php
index 3fd97d2471..4abe3d0837 100644
--- a/phpBB/includes/acp/acp_board.php
+++ b/phpBB/includes/acp/acp_board.php
@@ -103,7 +103,7 @@ class acp_board
'pm_max_boxes' => array('lang' => 'BOXES_MAX', 'type' => 'text:4:4', 'explain' => true),
'pm_max_msgs' => array('lang' => 'BOXES_LIMIT', 'type' => 'text:4:4', 'explain' => true),
'full_folder_action' => array('lang' => 'FULL_FOLDER_ACTION', 'type' => 'select', 'method' => 'full_folder_select', 'explain' => true),
- 'pm_edit_time' => array('lang' => 'PM_EDIT_TIME', 'type' => 'text:3:3', 'explain' => true),
+ 'pm_edit_time' => array('lang' => 'PM_EDIT_TIME', 'type' => 'text:3:3', 'explain' => true, 'append' => ' ' . $user->lang['SECONDS']),
'legend2' => 'GENERAL_OPTIONS',
'allow_mass_pm' => array('lang' => 'ALLOW_MASS_PM', 'type' => 'radio:yes_no', 'explain' => false),
@@ -138,7 +138,7 @@ class acp_board
'legend2' => 'POSTING',
'bump_type' => false,
- 'edit_time' => array('lang' => 'EDIT_TIME', 'type' => 'text:3:3', 'explain' => true),
+ 'edit_time' => array('lang' => 'EDIT_TIME', 'type' => 'text:3:3', 'explain' => true, 'append' => ' ' . $user->lang['SECONDS']),
'display_last_edited' => array('lang' => 'DISPLAY_LAST_EDITED', 'type' => 'radio:yes_no', 'explain' => true),
'flood_interval' => array('lang' => 'FLOOD_INTERVAL', 'type' => 'text:3:4', 'explain' => true),
'bump_interval' => array('lang' => 'BUMP_INTERVAL', 'type' => 'custom', 'method' => 'bump_interval', 'explain' => true),
diff --git a/phpBB/includes/acp/acp_permission_roles.php b/phpBB/includes/acp/acp_permission_roles.php
index 5701ebb699..1088d9d2fb 100644
--- a/phpBB/includes/acp/acp_permission_roles.php
+++ b/phpBB/includes/acp/acp_permission_roles.php
@@ -14,7 +14,6 @@
class acp_permission_roles
{
var $u_action;
- var $pre_selection_array;
function main($id, $mode)
{
@@ -36,24 +35,6 @@ class acp_permission_roles
$action = request_var('action', '');
$action = (isset($_POST['add'])) ? 'add' : $action;
- // Define pre-selection array
- $this->pre_selection_array = array(
- 1 => array('lang' => 'PRE_ONLY_SPECIAL_GUEST', 'type' => GROUP_SPECIAL, 'name' => array('BOTS', 'GUESTS', 'INACTIVE', 'INACTIVE_COPPA'), 'negate' => false),
- 2 => array('lang' => 'PRE_ONLY_SPECIAL_REGISTERED', 'type' => GROUP_SPECIAL, 'name' => array('ADMINISTRATORS', 'SUPER_MODERATORS', 'REGISTERED', 'REGISTERED_COPPA'), 'negate' => false),
- 3 => array('lang' => 'PRE_NOT_SPECIAL_GUEST', 'type' => GROUP_SPECIAL, 'name' => array('BOTS', 'GUESTS', 'INACTIVE', 'INACTIVE_COPPA'), 'negate' => true),
- 4 => array('lang' => 'PRE_NOT_SPECIAL_REGISTERED', 'type' => GROUP_SPECIAL, 'name' => array('ADMINISTRATORS', 'SUPER_MODERATORS', 'REGISTERED', 'REGISTERED_COPPA'), 'negate' => true),
- 5 => array('lang' => 'PRE_ALL_SPECIAL', 'type' => GROUP_SPECIAL, 'negate' => false),
- 6 => array('lang' => 'PRE_NOT_SPECIAL', 'type' => GROUP_SPECIAL, 'negate' => true),
- 7 => array('lang' => 'PRE_ALL_FREE', 'type' => GROUP_FREE, 'negate' => false),
- 8 => array('lang' => 'PRE_NOT_FREE', 'type' => GROUP_FREE, 'negate' => true),
- 9 => array('lang' => 'PRE_ALL_CLOSED', 'type' => GROUP_CLOSED, 'negate' => false),
- 10 => array('lang' => 'PRE_NOT_CLOSED', 'type' => GROUP_CLOSED, 'negate' => true),
- 11 => array('lang' => 'PRE_ALL_HIDDEN', 'type' => GROUP_HIDDEN, 'negate' => false),
- 12 => array('lang' => 'PRE_NOT_HIDDEN', 'type' => GROUP_HIDDEN, 'negate' => true),
- 13 => array('lang' => 'PRE_ALL_OPEN', 'type' => GROUP_OPEN, 'negate' => false),
- 14 => array('lang' => 'PRE_NOT_OPEN', 'type' => GROUP_OPEN, 'negate' => true),
- );
-
switch ($mode)
{
case 'admin_roles':
@@ -151,8 +132,6 @@ class acp_permission_roles
$role_name = request_var('role_name', '', true);
$role_description = request_var('role_description', '', true);
- $role_group_ids = request_var('role_group_ids', array(0));
- $pre_select = request_var('pre_select', 'custom');
$auth_settings = request_var('setting', array('' => 0));
if (!$role_name)
@@ -160,99 +139,6 @@ class acp_permission_roles
trigger_error($user->lang['NO_ROLE_NAME_SPECIFIED'] . adm_back_link($this->u_action));
}
- // Adjust group array if we have a pre-selection
- if ($pre_select != 'custom')
- {
- $pre_select = (int) $pre_select;
-
- if (!$pre_select || !isset($this->pre_selection_array[$pre_select]))
- {
- $role_group_ids = array(0);
- }
- else
- {
- $sql = 'SELECT group_id, group_name, group_type
- FROM ' . GROUPS_TABLE . '
- ORDER BY group_type DESC, group_name ASC';
- $result = $db->sql_query($sql);
-
- $groups = array();
- while ($row = $db->sql_fetchrow($result))
- {
- $groups[$row['group_type']][$row['group_id']] = $row['group_name'];
- }
- $db->sql_freeresult($result);
-
- // Build role_group_ids
- $role_group_ids = array();
-
- $row = $this->pre_selection_array[$pre_select];
-
- if (!$row['negate'] && !isset($row['name']))
- {
- if (isset($groups[$row['type']]))
- {
- foreach ($groups[$row['type']] as $group_id => $group_name)
- {
- $role_group_ids[] = $group_id;
- }
- }
- }
- else if ($row['negate'] && !isset($row['name']))
- {
- $group_types = array(GROUP_OPEN, GROUP_CLOSED, GROUP_HIDDEN, GROUP_SPECIAL, GROUP_FREE);
- unset($group_types[array_search($row['type'], $group_types)]);
-
- foreach ($group_types as $type)
- {
- if (!isset($groups[$type]))
- {
- continue;
- }
-
- foreach ($groups[$type] as $group_id => $group_name)
- {
- $role_group_ids[] = $group_id;
- }
- }
- }
- else if (!$row['negate'] && isset($row['name']))
- {
- foreach ($groups[$row['type']] as $group_id => $group_name)
- {
- if (in_array($group_name, $row['name']))
- {
- $role_group_ids[] = $group_id;
- }
- }
- }
- else if ($row['negate'] && isset($row['name']))
- {
- $group_types = array(GROUP_OPEN, GROUP_CLOSED, GROUP_HIDDEN, GROUP_SPECIAL, GROUP_FREE);
-
- foreach ($group_types as $type)
- {
- if (!isset($groups[$type]))
- {
- continue;
- }
-
- foreach ($groups[$type] as $group_id => $group_name)
- {
- if ($type != $row['type'])
- {
- $role_group_ids[] = $group_id;
- }
- else if (!in_array($group_name, $row['name']))
- {
- $role_group_ids[] = $group_id;
- }
- }
- }
- }
- }
- }
-
// if we add/edit a role we check the name to be unique among the settings...
$sql = 'SELECT role_id
FROM ' . ACL_ROLES_TABLE . "
@@ -268,17 +154,10 @@ class acp_permission_roles
trigger_error(sprintf($user->lang['ROLE_NAME_ALREADY_EXIST'], $role_name) . adm_back_link($this->u_action));
}
- // If role_group_ids include "every user/group" we do not need to set it...
- if (in_array(0, $role_group_ids))
- {
- $role_group_ids = array(0);
- }
-
$sql_ary = array(
'role_name' => (string) $role_name,
'role_description' => (string) $role_description,
'role_type' => (string) $permission_type,
- 'role_group_ids' => (string) implode(':', $role_group_ids),
);
if ($action == 'edit')
@@ -329,7 +208,6 @@ class acp_permission_roles
'role_name' => request_var('role_name', '', true),
'role_description' => request_var('role_description', '', true),
'role_type' => $permission_type,
- 'role_group_ids' => implode(':', request_var('role_group_ids', array(0))),
);
if ($options_from)
@@ -401,14 +279,8 @@ class acp_permission_roles
trigger_error($user->lang['NO_PRESET_SELECTED'] . adm_back_link($this->u_action));
}
- // Build group options array (with pre-selection)
- $s_preselect_options = $s_group_options = array();
- $this->build_group_options($role_row['role_group_ids'], $s_preselect_options, $s_group_options);
-
$template->assign_vars(array(
- 'S_EDIT' => true,
- 'S_PRESELECT_OPTIONS' => $s_preselect_options,
- 'S_GROUP_OPTIONS' => $s_group_options,
+ 'S_EDIT' => true,
'U_ACTION' => $this->u_action . "&amp;action={$action}&amp;role_id={$role_id}",
'U_BACK' => $this->u_action,
@@ -418,7 +290,7 @@ class acp_permission_roles
'L_ACL_TYPE' => $user->lang['ACL_TYPE_' . strtoupper($permission_type)],
)
);
-
+
// We need to fill the auth options array with ACL_UNSET options ;)
$sql = 'SELECT auth_option_id, auth_option
FROM ' . ACL_OPTIONS_TABLE . "
@@ -480,7 +352,7 @@ class acp_permission_roles
$sql = 'SELECT role_id, role_order
FROM ' . ACL_ROLES_TABLE . "
WHERE role_type = '" . $db->sql_escape($permission_type) . "'
- ORDER BY role_order";
+ ORDER BY role_order ASC";
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
@@ -498,6 +370,9 @@ class acp_permission_roles
}
$db->sql_freeresult($result);
+ // Display assigned items?
+ $display_item = request_var('display_item', 0);
+
// Select existing roles
$sql = 'SELECT *
FROM ' . ACL_ROLES_TABLE . "
@@ -505,47 +380,13 @@ class acp_permission_roles
ORDER BY role_order ASC";
$result = $db->sql_query($sql);
- $roles = $groups = $group_ids = $group_info = array();
- while ($row = $db->sql_fetchrow($result))
- {
- $roles[] = $row;
- if ($row['role_group_ids'])
- {
- $groups[$row['role_id']] = explode(':', $row['role_group_ids']);
- $group_ids = array_merge($group_ids, $groups[$row['role_id']]);
- }
- }
- $db->sql_freeresult($result);
-
- if (sizeof($group_ids))
- {
- $sql = 'SELECT group_id, group_type, group_name
- FROM ' . GROUPS_TABLE . '
- WHERE group_id IN (' . implode(', ', array_map('intval', $group_ids)) . ')';
- $result = $db->sql_query($sql);
-
- while ($row = $db->sql_fetchrow($result))
- {
- $group_info[$row['group_id']] = array(
- 'group_name' => ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name'],
- 'group_special' => ($row['group_type'] == GROUP_SPECIAL) ? true : false,
- );
- }
- $db->sql_freeresult($result);
- }
-
- // Display assigned items?
- $display_item = request_var('display_item', 0);
-
$s_role_options = '';
- foreach ($roles as $row)
+ while ($row = $db->sql_fetchrow($result))
{
$template->assign_block_vars('roles', array(
'ROLE_NAME' => $row['role_name'],
'ROLE_DESCRIPTION' => nl2br($row['role_description']),
- 'S_GROUP' => ($row['role_group_ids']) ? true : false,
-
'U_EDIT' => $this->u_action . '&amp;action=edit&amp;role_id=' . $row['role_id'],
'U_REMOVE' => $this->u_action . '&amp;action=remove&amp;role_id=' . $row['role_id'],
'U_MOVE_UP' => $this->u_action . '&amp;action=move_up&amp;order=' . $row['role_order'],
@@ -553,18 +394,6 @@ class acp_permission_roles
'U_DISPLAY_ITEMS' => ($row['role_id'] == $display_item) ? '' : $this->u_action . '&amp;display_item=' . $row['role_id'] . '#assigned_to')
);
- if (isset($groups[$row['role_id']]) && sizeof($groups[$row['role_id']]))
- {
- foreach ($groups[$row['role_id']] as $group_id)
- {
- $template->assign_block_vars('roles.groups', array(
- 'S_SPECIAL_GROUP' => $group_info[$group_id]['group_special'],
- 'GROUP_NAME' => $group_info[$group_id]['group_name'],
- 'U_GROUP' => $phpbb_root_path . "memberlist.$phpEx$SID&amp;mode=group&amp;g=$group_id")
- );
- }
- }
-
$s_role_options .= '<option value="' . $row['role_id'] . '">' . $row['role_name'] . '</option>';
if ($display_item == $row['role_id'])
@@ -574,6 +403,7 @@ class acp_permission_roles
);
}
}
+ $db->sql_freeresult($result);
$template->assign_vars(array(
'S_ROLE_OPTIONS' => $s_role_options)
@@ -633,146 +463,6 @@ class acp_permission_roles
}
}
-
- /**
- * Build user-friendly group options
- */
- function build_group_options($role_group_ids, &$s_preselect_options, &$s_group_options)
- {
- global $db, $user, $template;
-
- $groups = $selected_groups = array();
-
- $sql = 'SELECT group_id, group_name, group_type
- FROM ' . GROUPS_TABLE . '
- ORDER BY group_type DESC, group_name ASC';
- $result = $db->sql_query($sql);
-
- $groups = array();
- while ($row = $db->sql_fetchrow($result))
- {
- $groups[$row['group_type']][$row['group_id']] = $row['group_name'];
- }
- $db->sql_freeresult($result);
-
- $selected_group_ids = explode(':', $role_group_ids);
-
- // First of all, build the group options for the custom interface...
- $s_group_options = '';
- foreach ($groups as $group_type => $group_row)
- {
- foreach ($group_row as $group_id => $group_name)
- {
- if (in_array($group_id, $selected_group_ids))
- {
- $selected_groups[$group_type][$group_id] = $group_name;
- }
- $s_group_options .= '<option value="' . $group_id . '"' . ((in_array($group_id, $selected_group_ids)) ? ' selected="selected"' : '') . (($group_type == GROUP_SPECIAL) ? ' class="sep"' : '') . '>' . (($group_type == GROUP_SPECIAL) ? $user->lang['G_' . $group_name] : $group_name) . '</option>';
- }
- }
-
- // Build preselect array...
- $one_selected_item = false;
-
- $s_preselect_options = '<option value="0"' . ((!$role_group_ids) ? ' selected="selected"' : '') . '>' . $user->lang['EVERY_USER_GROUP'] . '</option>';
- if (!$role_group_ids)
- {
- $one_selected_item = true;
- }
-
- // Build pre-selection dropdown field
- foreach ($this->pre_selection_array as $option_id => $row)
- {
- if (!$row['negate'] && !isset($row['name']))
- {
- $s_selected = false;
- if (sizeof($selected_groups) == 1 && isset($selected_groups[$row['type']]) && sizeof($selected_groups[$row['type']]) == sizeof($groups[$row['type']]))
- {
- $s_selected = true;
- }
- }
- else if ($row['negate'] && !isset($row['name']))
- {
- $group_types = array(GROUP_OPEN, GROUP_CLOSED, GROUP_HIDDEN, GROUP_SPECIAL, GROUP_FREE);
- unset($group_types[array_search($row['type'], $group_types)]);
-
- $s_selected = true;
- if (isset($selected_groups[$row['type']]))
- {
- $s_selected = false;
- }
-
- foreach ($group_types as $type)
- {
- if (!isset($selected_groups[$type]) || sizeof($selected_groups[$type]) != sizeof($groups[$type]))
- {
- $s_selected = false;
- }
- }
- }
- else if (!$row['negate'] && isset($row['name']))
- {
- $s_selected = false;
- if (sizeof($selected_groups) == 1 && isset($selected_groups[$row['type']]) && sizeof($selected_groups[$row['type']]) == sizeof($row['name']))
- {
- $s_selected = true;
-
- foreach ($row['name'] as $name)
- {
- if (!in_array($name, $selected_groups[$row['type']]))
- {
- $s_selected = false;
- }
- }
- }
- }
- else if ($row['negate'] && isset($row['name']))
- {
- $group_types = array(GROUP_OPEN, GROUP_CLOSED, GROUP_HIDDEN, GROUP_SPECIAL, GROUP_FREE);
- unset($group_types[array_search($row['type'], $group_types)]);
-
- $s_selected = true;
- if (isset($selected_groups[$row['type']]))
- {
- foreach ($row['name'] as $name)
- {
- if (in_array($name, $selected_groups[$row['type']]))
- {
- $s_selected = false;
- }
- }
- }
-
- if ($s_selected)
- {
- foreach ($group_types as $type)
- {
- if (!isset($groups[$type]))
- {
- continue;
- }
-
- if (!isset($selected_groups[$type]) || sizeof($selected_groups[$type]) != sizeof($groups[$type]))
- {
- $s_selected = false;
- }
- }
- }
- }
-
- if ($s_selected)
- {
- $one_selected_item = true;
- }
-
- $s_preselect_options .= '<option value="' . $option_id . '"' . (($s_selected) ? ' selected="selected"' : '') . '>' . $user->lang[$row['lang']] . '</option>';
- }
-
- $s_preselect_options .= '<option value="custom"' . ((!$one_selected_item) ? ' selected="selected"' : '') . '>' . $user->lang['CUSTOM'] . '</option>';
-
- $template->assign_var('S_CUSTOM_GROUP_IDS', ($one_selected_item) ? false : true);
- }
-
/**
* Remove role
*/
@@ -811,7 +501,7 @@ class acp_permission_roles
// Get role assignments
$hold_ary = $auth_admin->get_role_mask($role_id);
- // Re-assign permisisons
+ // Re-assign permissions
foreach ($hold_ary as $forum_id => $forum_ary)
{
if (isset($forum_ary['users']))
diff --git a/phpBB/includes/acp/acp_permissions.php b/phpBB/includes/acp/acp_permissions.php
index e46a3ffaca..44c73e8cf1 100644
--- a/phpBB/includes/acp/acp_permissions.php
+++ b/phpBB/includes/acp/acp_permissions.php
@@ -31,6 +31,25 @@ class acp_permissions
$this->tpl_name = 'acp_permissions';
+ // Trace has other vars
+ if ($mode == 'trace')
+ {
+ $user_id = request_var('u', 0);
+ $forum_id = request_var('f', 0);
+ $permission = request_var('auth', '');
+
+ $this->tpl_name = 'permission_trace';
+
+ if ($user_id && isset($auth_admin->option_ids[$permission]) && $auth->acl_get('a_viewauth'))
+ {
+ $this->page_title = sprintf($user->lang['TRACE_PERMISSION'], $user->lang['acl_' . $permission]['lang']);
+ $this->permission_trace($user_id, $forum_id, $permission);
+ return;
+ }
+
+ trigger_error('NO_MODE');
+ }
+
// Set some vars
$action = request_var('action', array('' => 0));
$action = key($action);
@@ -854,6 +873,135 @@ class acp_permissions
}
unset($perms);
}
+
+ /**
+ * Display a complete trace tree for the selected permission to determine where settings are set/unset
+ */
+ function permission_trace($user_id, $forum_id, $permission)
+ {
+ global $db, $template, $user, $auth;
+
+ $sql = 'SELECT username
+ FROM ' . USERS_TABLE . '
+ WHERE user_id = ' . $user_id;
+ $result = $db->sql_query($sql);
+ $username = (string) $db->sql_fetchfield('username');
+ $db->sql_freeresult($result);
+
+ if (!$username)
+ {
+ trigger_error('NO_USERS');
+ }
+
+ $template->assign_vars(array(
+ 'PERMISSION' => $user->lang['acl_' . $permission]['lang'],
+ 'PERMISSION_USERNAME' => $username)
+ );
+
+ $template->assign_block_vars('trace', array(
+ 'WHO' => $user->lang['DEFAULT'],
+ 'INFORMATION' => $user->lang['TRACE_DEFAULT'],
+
+ 'S_SETTING_UNSET' => true,
+ 'S_TOTAL_UNSET' => true)
+ );
+
+ $sql = 'SELECT DISTINCT g.group_name, g.group_id, g.group_type
+ FROM ' . GROUPS_TABLE . ' g
+ LEFT JOIN ' . USER_GROUP_TABLE . ' ug ON (ug.group_id = g.group_id)
+ WHERE ug.user_id = ' . $user_id . '
+ ORDER BY g.group_type DESC, g.group_id DESC';
+ $result = $db->sql_query($sql);
+
+ $groups = array();
+ while ($row = $db->sql_fetchrow($result))
+ {
+ $groups[$row['group_id']] = array(
+ 'auth_setting' => ACL_UNSET,
+ 'group_name' => ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']
+ );
+ }
+ $db->sql_freeresult($result);
+
+ if (sizeof($groups))
+ {
+ // Get group auth settings
+ $hold_ary = $auth->acl_group_raw_data(array_keys($groups), $permission, $forum_id);
+
+ foreach ($hold_ary as $group_id => $forum_ary)
+ {
+ $groups[$group_id]['auth_setting'] = $hold_ary[$group_id][$forum_id][$permission];
+ }
+ unset($hold_ary);
+
+ $total = ACL_UNSET;
+ foreach ($groups as $id => $row)
+ {
+ switch ($row['auth_setting'])
+ {
+ case ACL_UNSET:
+ $information = $user->lang['TRACE_GROUP_UNSET'];
+ break;
+
+ case ACL_YES:
+ $information = ($total == ACL_YES) ? $user->lang['TRACE_GROUP_YES_TOTAL_YES'] : (($total == ACL_NO) ? $user->lang['TRACE_GROUP_YES_TOTAL_NO'] : $user->lang['TRACE_GROUP_YES_TOTAL_UNSET']);
+ $total = ($total == ACL_UNSET) ? ACL_YES : $total;
+ break;
+
+ case ACL_NO:
+ $information = ($total == ACL_YES) ? $user->lang['TRACE_GROUP_NO_TOTAL_YES'] : (($total == ACL_NO) ? $user->lang['TRACE_GROUP_NO_TOTAL_NO'] : $user->lang['TRACE_GROUP_NO_TOTAL_UNSET']);
+ $total = ACL_NO;
+ break;
+ }
+
+ $template->assign_block_vars('trace', array(
+ 'WHO' => $row['group_name'],
+ 'INFORMATION' => $information,
+
+ 'S_SETTING_UNSET' => ($row['auth_setting'] == ACL_UNSET) ? true : false,
+ 'S_SETTING_YES' => ($row['auth_setting'] == ACL_YES) ? true : false,
+ 'S_SETTING_NO' => ($row['auth_setting'] == ACL_NO) ? true : false,
+ 'S_TOTAL_UNSET' => ($total == ACL_UNSET) ? true : false,
+ 'S_TOTAL_YES' => ($total == ACL_YES) ? true : false,
+ 'S_TOTAL_NO' => ($total == ACL_NO) ? true : false)
+ );
+ }
+ }
+
+ // Get user specific permission...
+ $hold_ary = $auth->acl_user_raw_data($user_id, $permission, $forum_id);
+ $auth_setting = (!sizeof($hold_ary)) ? ACL_UNSET : $hold_ary[$user_id][$forum_id][$permission];
+
+ switch ($auth_setting)
+ {
+ case ACL_UNSET:
+ $information = ($total == ACL_UNSET) ? $user->lang['TRACE_USER_UNSET_TOTAL_UNSET'] : $user->lang['TRACE_USER_KEPT'];
+ $total = ($total == ACL_UNSET) ? ACL_NO : $total;
+ break;
+
+ case ACL_YES:
+ $information = ($total == ACL_YES) ? $user->lang['TRACE_USER_YES_TOTAL_YES'] : (($total == ACL_NO) ? $user->lang['TRACE_USER_YES_TOTAL_NO'] : $user->lang['TRACE_USER_YES_TOTAL_UNSET']);
+ $total = ($total == ACL_UNSET) ? ACL_YES : $total;
+ break;
+
+ case ACL_NO:
+ $information = ($total == ACL_YES) ? $user->lang['TRACE_USER_NO_TOTAL_YES'] : (($total == ACL_NO) ? $user->lang['TRACE_USER_NO_TOTAL_NO'] : $user->lang['TRACE_USER_NO_TOTAL_UNSET']);
+ $total = ACL_NO;
+ break;
+ }
+
+ $template->assign_block_vars('trace', array(
+ 'WHO' => $username,
+ 'INFORMATION' => $information,
+
+ 'S_SETTING_UNSET' => ($auth_setting == ACL_UNSET) ? true : false,
+ 'S_SETTING_YES' => ($auth_setting == ACL_YES) ? true : false,
+ 'S_SETTING_NO' => ($auth_setting == ACL_NO) ? true : false,
+ 'S_TOTAL_UNSET' => ($total == ACL_UNSET) ? true : false,
+ 'S_TOTAL_YES' => ($total == ACL_YES) ? true : false,
+ 'S_TOTAL_NO' => ($total == ACL_NO) ? true : false)
+ );
+ }
}
?> \ No newline at end of file
diff --git a/phpBB/includes/acp/acp_profile.php b/phpBB/includes/acp/acp_profile.php
index 35fef141fd..db9b78b1fc 100644
--- a/phpBB/includes/acp/acp_profile.php
+++ b/phpBB/includes/acp/acp_profile.php
@@ -959,35 +959,39 @@ class acp_profile
if ($action == 'create')
{
+ /**
+ * @todo Adjust for every database
+ */
+
// We are defining the biggest common value, because of the possibility to edit the min/max values of each field.
$sql = 'ALTER TABLE ' . PROFILE_DATA_TABLE . " ADD $field_ident ";
switch ($field_type)
{
case FIELD_STRING:
- $sql .= ' VARCHAR(255) DEFAULT NULL NULL';
+ $sql .= ' VARCHAR(255) ';
break;
case FIELD_DATE:
- $sql .= 'VARCHAR(10) DEFAULT NULL NULL';
+ $sql .= 'VARCHAR(10) ';
break;
case FIELD_TEXT:
- $sql .= "TEXT NULL,
- ADD {$field_ident}_bbcode_uid VARCHAR(5) NOT NULL,
- ADD {$field_ident}_bbcode_bitfield INT(11) UNSIGNED";
+ $sql .= "TEXT";
+// ADD {$field_ident}_bbcode_uid VARCHAR(5) NOT NULL,
+// ADD {$field_ident}_bbcode_bitfield INT(11) UNSIGNED";
break;
case FIELD_BOOL:
- $sql .= 'TINYINT(2) DEFAULT NULL NULL';
+ $sql .= 'TINYINT(2) ';
break;
case FIELD_DROPDOWN:
- $sql .= 'MEDIUMINT(8) DEFAULT NULL NULL';
+ $sql .= 'MEDIUMINT(8) ';
break;
case FIELD_INT:
- $sql .= 'BIGINT(20) DEFAULT NULL NULL';
+ $sql .= 'BIGINT(20) ';
break;
}
diff --git a/phpBB/includes/acp/acp_search.php b/phpBB/includes/acp/acp_search.php
index 855bdea0f6..468d7894d5 100644
--- a/phpBB/includes/acp/acp_search.php
+++ b/phpBB/includes/acp/acp_search.php
@@ -183,7 +183,15 @@ class acp_search
global $db, $user, $auth, $template, $cache;
global $config, $SID, $phpbb_root_path, $phpbb_admin_path, $phpEx;
- $action = (isset($_REQUEST['action']) && is_array($_REQUEST['action'])) ? key(request_var('action', array('' => false))) : request_var('action', '');
+ if (isset($_REQUEST['action']) && is_array($_REQUEST['action']))
+ {
+ $action = request_var('action', array('' => false));
+ $action = key($action);
+ }
+ else
+ {
+ $action = request_var('action', '');
+ }
$this->state = explode(',', $config['search_indexing_state']);
if ($action)
diff --git a/phpBB/includes/acp/auth.php b/phpBB/includes/acp/auth.php
index 183e4a1db7..0aeffeb47e 100644
--- a/phpBB/includes/acp/auth.php
+++ b/phpBB/includes/acp/auth.php
@@ -239,7 +239,10 @@ class auth_admin extends auth
$tpl_mask = 'mask';
$l_acl_type = (isset($user->lang['ACL_TYPE_' . (($local) ? 'LOCAL' : 'GLOBAL') . '_' . strtoupper($permission_type)])) ? $user->lang['ACL_TYPE_' . (($local) ? 'LOCAL' : 'GLOBAL') . '_' . strtoupper($permission_type)] : 'ACL_TYPE_' . (($local) ? 'LOCAL' : 'GLOBAL') . '_' . strtoupper($permission_type);
-
+
+ // Allow trace for viewing permissions and in user mode
+ $show_trace = ($mode == 'view' && $user_mode == 'user') ? true : false;
+
// Get names
if ($user_mode == 'user')
{
@@ -293,7 +296,6 @@ class auth_admin extends auth
while ($row = $db->sql_fetchrow($result))
{
$roles[$row['role_id']] = $row;
- $roles[$row['role_id']]['groups'] = ($row['role_group_ids']) ? explode(':', $row['role_group_ids']) : array();
}
$db->sql_freeresult($result);
@@ -412,16 +414,13 @@ class auth_admin extends auth
$s_role_options = '';
foreach ($roles as $role_id => $role_row)
{
- if ($role_id == $current_role_id || !sizeof($role_row['groups']) || ($user_mode == 'group' && in_array($ug_id, $role_row['groups'])))
- {
- $title = ($role_row['role_description']) ? ' title="' . nl2br($role_row['role_description']) . '"' : '';
- $s_role_options .= '<option value="' . $role_id . '"' . (($role_id == $current_role_id) ? ' selected="selected"' : '') . $title . '>' . $role_row['role_name'] . '</option>';
- }
+ $title = ($role_row['role_description']) ? ' title="' . nl2br($role_row['role_description']) . '"' : '';
+ $s_role_options .= '<option value="' . $role_id . '"' . (($role_id == $current_role_id) ? ' selected="selected"' : '') . $title . '>' . $role_row['role_name'] . '</option>';
}
if ($s_role_options)
{
- $s_role_options = '<option value="0"' . ((!$current_role_id) ? ' selected="selected"' : '') . '>' . $user->lang['SELECT_ROLE'] . '</option>' . $s_role_options;
+ $s_role_options = '<option value="0"' . ((!$current_role_id) ? ' selected="selected"' : '') . '>' . $user->lang['NO_ROLE_ASSIGNED'] . '</option>' . $s_role_options;
}
$template->assign_block_vars($tpl_pmask . '.' . $tpl_fmask, array(
@@ -431,7 +430,7 @@ class auth_admin extends auth
'FORUM_ID' => $forum_id)
);
- $this->assign_cat_array($ug_array, $tpl_pmask . '.' . $tpl_fmask . '.' . $tpl_category, $tpl_mask, $ug_id, $forum_id);
+ $this->assign_cat_array($ug_array, $tpl_pmask . '.' . $tpl_fmask . '.' . $tpl_category, $tpl_mask, $ug_id, $forum_id, $show_trace);
}
}
}
@@ -472,10 +471,8 @@ class auth_admin extends auth
$s_role_options = '';
foreach ($roles as $role_id => $role_row)
{
- if ($role_id == $current_role_id || !sizeof($role_row['groups']) || ($user_mode == 'group' && in_array($ug_id, $role_row['groups'])))
- {
- $s_role_options .= '<option value="' . $role_id . '"' . (($role_id == $current_role_id) ? ' selected="selected"' : '') . '>' . $role_row['role_name'] . '</option>';
- }
+ $title = ($role_row['role_description']) ? ' title="' . nl2br($role_row['role_description']) . '"' : '';
+ $s_role_options .= '<option value="' . $role_id . '"' . (($role_id == $current_role_id) ? ' selected="selected"' : '') . $title . '>' . $role_row['role_name'] . '</option>';
}
if ($s_role_options)
@@ -483,15 +480,40 @@ class auth_admin extends auth
$s_role_options = '<option value="0"' . ((!$current_role_id) ? ' selected="selected"' : '') . '>' . $user->lang['SELECT_ROLE'] . '</option>' . $s_role_options;
}
+ if (!$forum_id)
+ {
+ $folder_image = '';
+ }
+ else
+ {
+ if ($forum_names_ary[$forum_id]['forum_status'] == ITEM_LOCKED)
+ {
+ $folder_image = '<img src="images/icon_folder_lock_small.gif" width="19" height="18" alt="' . $user->lang['FORUM_LOCKED'] . '" />';
+ }
+ else
+ {
+ switch ($forum_names_ary[$forum_id]['forum_type'])
+ {
+ case FORUM_LINK:
+ $folder_image = '<img src="images/icon_folder_link_small.gif" width="22" height="18" alt="' . $user->lang['FORUM_LINK'] . '" />';
+ break;
+
+ default:
+ $folder_image = ($forum_names_ary[$forum_id]['left_id'] + 1 != $forum_names_ary[$forum_id]['right_id']) ? '<img src="images/icon_folder_sub_small.gif" width="22" height="18" alt="' . $user->lang['SUBFORUM'] . '" />' : '<img src="images/icon_folder_small.gif" width="19" height="18" alt="' . $user->lang['FOLDER'] . '" />';
+ }
+ }
+ }
+
$template->assign_block_vars($tpl_pmask . '.' . $tpl_fmask, array(
'NAME' => ($forum_id == 0) ? $forum_names_ary[0] : $forum_names_ary[$forum_id]['forum_name'],
'PADDING' => ($forum_id == 0) ? '' : $forum_names_ary[$forum_id]['padding'],
+ 'FOLDER_IMAGE' => $folder_image,
'S_ROLE_OPTIONS' => $s_role_options,
'UG_ID' => $ug_id,
'FORUM_ID' => $forum_id)
);
- $this->assign_cat_array($forum_array, $tpl_pmask . '.' . $tpl_fmask . '.' . $tpl_category, $tpl_mask, $ug_id, $forum_id);
+ $this->assign_cat_array($forum_array, $tpl_pmask . '.' . $tpl_fmask . '.' . $tpl_category, $tpl_mask, $ug_id, $forum_id, $show_trace);
}
}
}
@@ -703,6 +725,7 @@ class auth_admin extends auth
$id_field = $ug_type . '_id';
// Get any flags as required
+ reset($auth);
$flag = key($auth);
$flag = substr($flag, 0, strpos($flag, '_') + 1);
@@ -833,6 +856,7 @@ class auth_admin extends auth
global $db;
// Get any-flag as required
+ reset($auth);
$flag = key($auth);
$flag = substr($flag, 0, strpos($flag, '_') + 1);
@@ -1011,9 +1035,9 @@ class auth_admin extends auth
* Assign category to template
* used by display_mask()
*/
- function assign_cat_array(&$category_array, $tpl_cat, $tpl_mask, $ug_id, $forum_id)
+ function assign_cat_array(&$category_array, $tpl_cat, $tpl_mask, $ug_id, $forum_id, $show_trace = false)
{
- global $template, $user;
+ global $template, $user, $phpbb_admin_path, $phpEx, $SID;
foreach ($category_array as $cat => $cat_array)
{
@@ -1024,7 +1048,7 @@ class auth_admin extends auth
'CAT_NAME' => $user->lang['permission_cat'][$cat])
);
-
+
foreach ($cat_array['permissions'] as $permission => $allowed)
{
$template->assign_block_vars($tpl_cat . '.' . $tpl_mask, array(
@@ -1037,6 +1061,8 @@ class auth_admin extends auth
'FIELD_NAME' => $permission,
'S_FIELD_NAME' => 'setting[' . $ug_id . '][' . $forum_id . '][' . $permission . ']',
+ 'U_TRACE' => ($show_trace) ? "{$phpbb_admin_path}index.$phpEx$SID&amp;i=permissions&amp;mode=trace&amp;u=$ug_id&amp;f=$forum_id&amp;auth=$permission" : '',
+
'PERMISSION' => $user->lang['acl_' . $permission]['lang'])
);
}
diff --git a/phpBB/includes/acp/info/acp_permissions.php b/phpBB/includes/acp/info/acp_permissions.php
index 17bdef94dc..313d191d3c 100644
--- a/phpBB/includes/acp/info/acp_permissions.php
+++ b/phpBB/includes/acp/info/acp_permissions.php
@@ -21,6 +21,7 @@ class acp_permissions_info
'version' => '1.0.0',
'modes' => array(
'intro' => array('title' => 'ACP_PERMISSIONS', 'auth' => 'acl_a_authusers || acl_a_authgroups || acl_a_viewauth'),
+ 'trace' => array('title' => 'ACP_PERMISSION_TRACE', 'auth' => 'acl_a_viewauth', 'display' => false),
'setting_user_global' => array('title' => 'ACP_USERS_PERMISSIONS', 'auth' => 'acl_a_authusers && (acl_a_aauth || acl_a_mauth || acl_a_uauth)'),
'setting_user_local' => array('title' => 'ACP_USERS_FORUM_PERMISSIONS', 'auth' => 'acl_a_authusers && (acl_a_mauth || acl_a_fauth)'),
diff --git a/phpBB/includes/auth.php b/phpBB/includes/auth.php
index fb1d2126a7..d32cb0a945 100644
--- a/phpBB/includes/auth.php
+++ b/phpBB/includes/auth.php
@@ -446,7 +446,7 @@ class auth
AND r.role_type = '" . $db->sql_escape($role_type) . "'
$sql_ug
$sql_forum
- ORDER BY r.role_name ASC";
+ ORDER BY r.role_order ASC";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
@@ -618,7 +618,7 @@ class auth
// Grab group settings...
$sql = 'SELECT a.group_id, ao.auth_option, a.forum_id, a.auth_setting, a.auth_role_id, r.auth_setting as role_auth_setting
FROM (' . ACL_OPTIONS_TABLE . ' ao, ' . ACL_GROUPS_TABLE . ' a)
- LEFT JOIN ' . ACL_ROLES_DATA_TABLE . ' r ON (a.auth_role_id = r.role_id)
+ LEFT JOIN ' . ACL_ROLES_DATA_TABLE . ' r ON (a.auth_role_id = r.role_id)
WHERE (ao.auth_option_id = a.auth_option_id OR ao.auth_option_id = r.auth_option_id)
' . (($sql_group) ? 'AND a.' . $sql_group : '') . "
$sql_forum
diff --git a/phpBB/includes/db/dbal.php b/phpBB/includes/db/dbal.php
index fbd699eadf..1a6b6f25a4 100644
--- a/phpBB/includes/db/dbal.php
+++ b/phpBB/includes/db/dbal.php
@@ -205,7 +205,7 @@ class dbal
$message = '<u>SQL ERROR</u> [ ' . SQL_LAYER . ' ]<br /><br />' . $error['message'] . ' [' . $error['code'] . ']';
// Show complete SQL error and path to administrators only
- if ($auth->acl_get('a_'))
+ if ($auth->acl_get('a_') || defined('IN_INSTALL'))
{
// Print out a nice backtrace...
$backtrace = get_backtrace();
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index 886865f645..1fe1082ea5 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -425,13 +425,15 @@ function tz_select($default = '')
/**
* Topic and forum watching common code
*/
-function watch_topic_forum($mode, &$s_watching, &$s_watching_img, $user_id, $match_id, $notify_status = 'unset', $start = 0)
+function watch_topic_forum($mode, &$s_watching, &$s_watching_img, $user_id, $forum_id, $topic_id, $notify_status = 'unset', $start = 0)
{
global $template, $db, $user, $phpEx, $SID, $start, $phpbb_root_path;
$table_sql = ($mode == 'forum') ? FORUMS_WATCH_TABLE : TOPICS_WATCH_TABLE;
$where_sql = ($mode == 'forum') ? 'forum_id' : 'topic_id';
- $u_url = ($mode == 'forum') ? 'f' : 't';
+ $match_id = ($mode == 'forum') ? $forum_id : $topic_id;
+
+ $u_url = ($mode == 'forum') ? 'f' : 'f=' . $forum_id . '&amp;t';
// Is user watching this thread?
if ($user_id != ANONYMOUS)
@@ -2113,6 +2115,16 @@ function get_backtrace()
$output .= '<br />';
$output .= '<b>FILE:</b> ' . htmlspecialchars($trace['file']) . '<br />';
$output .= '<b>LINE:</b> ' . $trace['line'] . '<br />';
+
+ // Do not display the users password
+ if (strpos($trace['function'], 'login') !== false)
+ {
+ if (isset($args[1]))
+ {
+ $args[1] = "'***'";
+ }
+ }
+
$output .= '<b>CALL:</b> ' . htmlspecialchars($trace['class'] . $trace['type'] . $trace['function']) . '(' . ((sizeof($args)) ? implode(', ', $args) : '') . ')<br />';
}
$output .= '</div>';
diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php
index 33afcc4920..057508c100 100644
--- a/phpBB/includes/functions_admin.php
+++ b/phpBB/includes/functions_admin.php
@@ -115,7 +115,7 @@ function make_forum_select($select_id = false, $ignore_id = false, $ignore_acl =
$acl = ($ignore_acl) ? '' : array('f_list', 'a_forum', 'a_forumadd', 'a_forumdel');
// This query is identical to the jumpbox one
- $sql = 'SELECT forum_id, parent_id, forum_name, forum_type, left_id, right_id
+ $sql = 'SELECT forum_id, parent_id, forum_name, forum_type, forum_status, left_id, right_id
FROM ' . FORUMS_TABLE . '
ORDER BY left_id ASC';
$result = $db->sql_query($sql);
@@ -166,6 +166,7 @@ function make_forum_select($select_id = false, $ignore_id = false, $ignore_acl =
if ($return_array)
{
+ // Include some more informations...
$selected = (is_array($select_id)) ? ((in_array($row['forum_id'], $select_id)) ? true : false) : (($row['forum_id'] == $select_id) ? true : false);
$forum_list[$row['forum_id']] = array_merge(array('padding' => $padding, 'selected' => $selected), $row);
}
diff --git a/phpBB/includes/functions_upload.php b/phpBB/includes/functions_upload.php
index 46449ff722..8b67769847 100644
--- a/phpBB/includes/functions_upload.php
+++ b/phpBB/includes/functions_upload.php
@@ -169,19 +169,15 @@ class filespec
*/
function get_mimetype($filename)
{
+ $mimetype = '';
+
if (function_exists('mime_content_type'))
{
$mimetype = mime_content_type($filename);
}
- else
- {
- $mimetype = 'application/octetstream';
- }
-
- // Opera adds the name to the mime type
- $mimetype = (strpos($mimetype, '; name') !== false) ? str_replace(strstr($mimetype, '; name'), '', $mimetype) : $mimetype;
- if (!$mimetype)
+ // Some browsers choke on a mimetype of application/octet-stream
+ if (!$mimetype || $mimetype == 'application/octet-stream')
{
$mimetype = 'application/octetstream';
}
diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php
index 4795348189..c404c096fb 100644
--- a/phpBB/includes/functions_user.php
+++ b/phpBB/includes/functions_user.php
@@ -29,7 +29,7 @@ function user_get_id_name(&$user_id_ary, &$username_ary)
$which_ary = ($user_id_ary) ? 'user_id_ary' : 'username_ary';
- if ($$which_ary && !is_array($$which_ary))
+ if ($$which_ary && !is_array($$which_ary))
{
$$which_ary = array($$which_ary);
}
diff --git a/phpBB/includes/message_parser.php b/phpBB/includes/message_parser.php
index 2c4f89bcec..d05dd1e48f 100644
--- a/phpBB/includes/message_parser.php
+++ b/phpBB/includes/message_parser.php
@@ -1064,7 +1064,8 @@ class parse_message extends bbcode_firstpass
{
$actual_comment_list = request_var('comment_list', array(''), true);
- $edit_comment = key(request_var('edit_comment', array(0 => '')));
+ $edit_comment = request_var('edit_comment', array(0 => ''));
+ $edit_comment = key($edit_comment);
$this->attachment_data[$edit_comment]['comment'] = $actual_comment_list[$edit_comment];
}
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php
index 793aad75f8..41f7e8c29f 100644
--- a/phpBB/includes/session.php
+++ b/phpBB/includes/session.php
@@ -141,11 +141,11 @@ class session
// Load limit check (if applicable)
if (@file_exists('/proc/loadavg'))
{
- if ($load = @file('/proc/loadavg'))
+ if ($load = @file_get_contents('/proc/loadavg'))
{
- list($this->load) = explode(' ', $load[0]);
+ $this->load = floatval(array_slice(explode(' ', $load), 0, 1));
- if ($config['limit_load'] && $this->load > doubleval($config['limit_load']))
+ if ($config['limit_load'] && $this->load > floatval($config['limit_load']))
{
trigger_error('BOARD_UNAVAILABLE');
}
diff --git a/phpBB/includes/ucp/ucp_main.php b/phpBB/includes/ucp/ucp_main.php
index cedb1ef091..c5b96ce7b6 100644
--- a/phpBB/includes/ucp/ucp_main.php
+++ b/phpBB/includes/ucp/ucp_main.php
@@ -551,11 +551,13 @@ class ucp_main
$template->assign_block_vars('topicrow', array(
'FORUM_ID' => $forum_id,
'TOPIC_ID' => $topic_id,
- 'S_DELETED_TOPIC' => (!$row['topic_id']) ? true : false,
'TOPIC_TITLE' => censor_text($row['topic_title']),
'TOPIC_TYPE' => $topic_type,
'FORUM_NAME' => $row['forum_name'],
-
+
+ 'S_DELETED_TOPIC' => (!$row['topic_id']) ? true : false,
+ 'S_GLOBAL_TOPIC' => (!$forum_id) ? true : false,
+
'TOPIC_AUTHOR' => topic_topic_author($row),
'FIRST_POST_TIME' => $user->format_date($row['topic_time']),
'LAST_POST_TIME' => $user->format_date($row['topic_last_post_time']),
diff --git a/phpBB/install/index.php b/phpBB/install/index.php
index 32728e0900..5a0ecc7bd0 100755
--- a/phpBB/install/index.php
+++ b/phpBB/install/index.php
@@ -13,65 +13,75 @@
define('IN_PHPBB', true);
define('IN_INSTALL', true);
-// Error reporting level and runtime escaping
-//error_reporting(E_ERROR | E_WARNING | E_PARSE);
-error_reporting(E_ALL);
-set_magic_quotes_runtime(0);
-
-@set_time_limit(120);
-
-// Include essential scripts
$phpbb_root_path = './../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
-require($phpbb_root_path . 'includes/functions.'.$phpEx);
-include($phpbb_root_path . 'includes/auth.' . $phpEx);
-include($phpbb_root_path . 'includes/session.'.$phpEx);
-include($phpbb_root_path . 'includes/template.'.$phpEx);
-include($phpbb_root_path . 'includes/acm/acm_file.'.$phpEx);
-include($phpbb_root_path . 'includes/acm/acm_main.'.$phpEx);
-include($phpbb_root_path . 'includes/functions_admin.'.$phpEx);
-// Protect against GLOBALS tricks
-if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS']))
-{
- exit;
-}
+// Error reporting level and runtime escaping
+//error_reporting(E_ERROR | E_WARNING | E_PARSE);
+error_reporting(E_ALL);
-// Protect against _SESSION tricks
-if (isset($_SESSION) && !is_array($_SESSION))
+// If we are on PHP >= 6.0.0 we do not need some code
+if (version_compare(phpversion(), '6.0.0', '>='))
{
- exit;
+ define('STRIP', false);
}
-
-// Be paranoid with passed vars
-if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on')
+else
{
- $not_unset = array('_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_SESSION', '_ENV', '_FILES', 'phpEx', 'phpbb_root_path');
+ set_magic_quotes_runtime(0);
- // Not only will array_merge give a warning if a parameter
- // is not an array, it will actually fail. So we check if
- // _SESSION has been initialised.
- if (!isset($_SESSION) || !is_array($_SESSION))
+ // Protect against GLOBALS tricks
+ if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS']))
{
- $_SESSION = array();
+ exit;
}
- // Merge all into one extremely huge array; unset
- // this later
- $input = array_merge($_GET, $_POST, $_COOKIE, $_SERVER, $_SESSION, $_ENV, $_FILES);
+ // Protect against _SESSION tricks
+ if (isset($_SESSION) && !is_array($_SESSION))
+ {
+ exit;
+ }
- foreach ($input as $varname => $void)
+ // Be paranoid with passed vars
+ if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on')
{
- if (!in_array($varname, $not_unset))
+ $not_unset = array('_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_SESSION', '_ENV', '_FILES', 'phpEx', 'phpbb_root_path');
+
+ // Not only will array_merge give a warning if a parameter
+ // is not an array, it will actually fail. So we check if
+ // _SESSION has been initialised.
+ if (!isset($_SESSION) || !is_array($_SESSION))
{
- unset(${$varname});
+ $_SESSION = array();
}
+
+ // Merge all into one extremely huge array; unset
+ // this later
+ $input = array_merge($_GET, $_POST, $_COOKIE, $_SERVER, $_SESSION, $_ENV, $_FILES);
+
+ foreach ($input as $varname => $void)
+ {
+ if (!in_array($varname, $not_unset))
+ {
+ unset(${$varname});
+ }
+ }
+
+ unset($input);
}
- unset($input);
+ define('STRIP', (get_magic_quotes_gpc()) ? true : false);
}
-define('STRIP', (get_magic_quotes_gpc()) ? true : false);
+@set_time_limit(120);
+
+// Include essential scripts
+require($phpbb_root_path . 'includes/functions.'.$phpEx);
+include($phpbb_root_path . 'includes/auth.' . $phpEx);
+include($phpbb_root_path . 'includes/session.'.$phpEx);
+include($phpbb_root_path . 'includes/template.'.$phpEx);
+include($phpbb_root_path . 'includes/acm/acm_file.'.$phpEx);
+include($phpbb_root_path . 'includes/acm/acm_main.'.$phpEx);
+include($phpbb_root_path . 'includes/functions_admin.'.$phpEx);
// Try and load an appropriate language if required
$language = request_var('language', '');
diff --git a/phpBB/install/schemas/firebird_schema.sql b/phpBB/install/schemas/firebird_schema.sql
index 746e442c1f..ccd89d8cf5 100644
--- a/phpBB/install/schemas/firebird_schema.sql
+++ b/phpBB/install/schemas/firebird_schema.sql
@@ -83,8 +83,7 @@ CREATE TABLE phpbb_auth_roles (
role_name VARCHAR(255) NOT NULL,
role_description BLOB SUB_TYPE TEXT,
role_type VARCHAR(10) NOT NULL,
- role_order INTEGER DEFAULT 0 NOT NULL,
- role_group_ids VARCHAR(255) NOT NULL
+ role_order INTEGER DEFAULT 0 NOT NULL
);;
ALTER TABLE phpbb_auth_roles ADD PRIMARY KEY (role_id);;
diff --git a/phpBB/install/schemas/mssql_schema.sql b/phpBB/install/schemas/mssql_schema.sql
index 93f80cf5e5..1dd49f53dc 100644
--- a/phpBB/install/schemas/mssql_schema.sql
+++ b/phpBB/install/schemas/mssql_schema.sql
@@ -131,8 +131,7 @@ CREATE TABLE [phpbb_auth_roles] (
[role_name] [varchar] (255) NOT NULL ,
[role_description] [text] ,
[role_type] [varchar] (10) NOT NULL ,
- [role_order] [int] NOT NULL ,
- [role_group_ids] [varchar] (255) NOT NULL
+ [role_order] [int] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
@@ -144,8 +143,7 @@ ALTER TABLE [phpbb_auth_roles] WITH NOCHECK ADD
GO
ALTER TABLE [phpbb_auth_roles] WITH NOCHECK ADD
- CONSTRAINT [DF_auth_p_role_role_order] DEFAULT(0) FOR [role_order],
- CONSTRAINT [DF_auth_p_role_group_ids] DEFAULT ('') FOR [role_group_ids]
+ CONSTRAINT [DF_auth_p_role_role_order] DEFAULT(0) FOR [role_order]
GO
CREATE INDEX [role_type] ON [phpbb_auth_roles]([role_type]) ON [PRIMARY]
diff --git a/phpBB/install/schemas/mysql_schema.sql b/phpBB/install/schemas/mysql_schema.sql
index a4de0cd981..a53b5b6fc7 100644
--- a/phpBB/install/schemas/mysql_schema.sql
+++ b/phpBB/install/schemas/mysql_schema.sql
@@ -58,7 +58,6 @@ CREATE TABLE phpbb_auth_roles (
role_description text,
role_type varchar(10) DEFAULT '' NOT NULL,
role_order smallint(4) UNSIGNED DEFAULT '0' NOT NULL,
- role_group_ids varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (role_id),
KEY role_type (role_type),
KEY role_order (role_order)
diff --git a/phpBB/install/schemas/oracle_schema.sql b/phpBB/install/schemas/oracle_schema.sql
index c40df033cc..7abf28e542 100644
--- a/phpBB/install/schemas/oracle_schema.sql
+++ b/phpBB/install/schemas/oracle_schema.sql
@@ -149,7 +149,6 @@ CREATE TABLE phpbb_auth_roles (
role_description clob,
role_type varchar2(10) DEFAULT '',
role_order number(4) DEFAULT '0' NOT NULL,
- role_group_ids varchar2(255) DEFAULT '' NOT NULL,
CONSTRAINT pk_phpbb_auth_roles PRIMARY KEY (role_id)
)
/
diff --git a/phpBB/install/schemas/postgres_schema.sql b/phpBB/install/schemas/postgres_schema.sql
index 2857ea2d87..61a533d0db 100644
--- a/phpBB/install/schemas/postgres_schema.sql
+++ b/phpBB/install/schemas/postgres_schema.sql
@@ -84,7 +84,6 @@ CREATE TABLE phpbb_auth_roles (
role_description TEXT,
role_type varchar(10) DEFAULT '' NOT NULL,
role_order INT4 DEFAULT '0' NOT NULL,
- role_group_ids varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (role_id)
);
diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql
index ae79ebc9a8..8adac87e6b 100644
--- a/phpBB/install/schemas/schema_data.sql
+++ b/phpBB/install/schemas/schema_data.sql
@@ -481,135 +481,136 @@ INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class,
INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (90, 1, 'pm', 'ucp', 0, 27, 96, 97, 'UCP_PM_POPUP_TITLE', 'popup', 'cfg_allow_privmsg');
# ACP
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (2, 1, '', 'acp', 1, 0, 259, 316, 'ACP_CAT_GENERAL', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (7, 1, 'modules', 'acp', 1, 67, 507, 508, 'ACP', 'acp', 'acl_a_modules');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (11, 1, '', 'acp', 1, 0, 359, 410, 'ACP_CAT_USERGROUP', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (41, 1, 'main', 'acp', 1, 2, 260, 261, 'ACP_MAIN', 'main', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (42, 1, '', 'acp', 1, 2, 276, 295, 'ACP_BOARD_CONFIGURATION', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (43, 1, '', 'acp', 1, 2, 296, 303, 'ACP_CLIENT_COMMUNICATION', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (44, 1, '', 'acp', 1, 2, 304, 315, 'ACP_SERVER_CONFIGURATION', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (46, 1, '', 'acp', 1, 0, 317, 334, 'ACP_CAT_FORUMS', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (47, 1, '', 'acp', 1, 0, 335, 358, 'ACP_CAT_POSTING', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (48, 1, '', 'acp', 1, 0, 411, 458, 'ACP_CAT_PERMISSIONS', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (49, 1, '', 'acp', 1, 0, 459, 472, 'ACP_CAT_STYLES', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (50, 1, '', 'acp', 1, 0, 473, 490, 'ACP_CAT_MAINTENANCE', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (51, 1, '', 'acp', 1, 0, 491, 514, 'ACP_CAT_SYSTEM', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (52, 1, '', 'acp', 1, 0, 515, 516, 'ACP_CAT_DOT_MODS', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (53, 1, '', 'acp', 1, 46, 318, 323, 'ACP_CAT_FORUMS', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (54, 1, '', 'acp', 1, 46, 324, 333, 'ACP_FORUM_BASED_PERMISSIONS', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (56, 1, '', 'acp', 1, 47, 348, 357, 'ACP_ATTACHMENTS', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (57, 1, '', 'acp', 1, 11, 360, 389, 'ACP_CAT_USERS', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (58, 1, '', 'acp', 1, 11, 390, 397, 'ACP_GROUPS', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (59, 1, '', 'acp', 1, 11, 398, 409, 'ACP_USER_SECURITY', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (61, 1, '', 'acp', 1, 48, 414, 419, 'ACP_BASIC_PERMISSIONS', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (62, 1, '', 'acp', 1, 49, 460, 463, 'ACP_STYLE_MANAGEMENT', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (63, 1, '', 'acp', 1, 50, 474, 481, 'ACP_FORUM_LOGS', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (64, 1, '', 'acp', 1, 50, 482, 489, 'ACP_CAT_DATABASE', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (65, 1, '', 'acp', 1, 51, 492, 493, 'ACP_AUTOMATION', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (66, 1, '', 'acp', 1, 51, 494, 505, 'ACP_GENERAL_TASKS', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (67, 1, '', 'acp', 1, 51, 506, 513, 'ACP_MODULE_MANAGEMENT', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (69, 1, 'modules', 'acp', 1, 67, 509, 510, 'UCP', 'ucp', 'acl_a_modules');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (71, 1, 'board', 'acp', 1, 42, 277, 278, 'ACP_BOARD_SETTINGS', 'settings', 'acl_a_board');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (73, 1, 'board', 'acp', 1, 42, 283, 284, 'ACP_AVATAR_SETTINGS', 'avatar', 'acl_a_board');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (74, 1, 'attachments', 'acp', 1, 42, 281, 282, 'ACP_ATTACHMENT_SETTINGS', 'attach', 'acl_a_attach');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (75, 1, '', 'acp', 1, 47, 336, 347, 'ACP_MESSAGES', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (76, 1, 'attachments', 'acp', 1, 56, 349, 350, 'ACP_ATTACHMENT_SETTINGS', 'attach', 'acl_a_attach');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (77, 1, 'attachments', 'acp', 1, 56, 351, 352, 'ACP_EXTENSION_GROUPS', 'ext_groups', 'acl_a_attach');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (78, 1, 'attachments', 'acp', 1, 56, 353, 354, 'ACP_MANAGE_EXTENSIONS', 'extensions', 'acl_a_attach');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (80, 1, 'attachments', 'acp', 1, 56, 355, 356, 'ACP_ORPHAN_ATTACHMENTS', 'orphan', 'acl_a_attach');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (81, 1, 'board', 'acp', 1, 42, 285, 286, 'ACP_MESSAGE_SETTINGS', 'message', 'acl_a_board');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (82, 1, 'board', 'acp', 1, 43, 297, 298, 'ACP_AUTH_SETTINGS', 'auth', 'acl_a_server');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (83, 1, 'board', 'acp', 1, 43, 299, 300, 'ACP_EMAIL_SETTINGS', 'email', 'acl_a_server');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (84, 1, 'jabber', 'acp', 1, 43, 301, 302, 'ACP_JABBER_SETTINGS', 'settings', 'acl_a_jabber');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (85, 1, 'board', 'acp', 1, 44, 305, 306, 'ACP_COOKIE_SETTINGS', 'cookie', 'acl_a_server');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (86, 1, 'board', 'acp', 1, 44, 307, 308, 'ACP_SERVER_SETTINGS', 'server', 'acl_a_server');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (87, 1, 'board', 'acp', 1, 44, 311, 312, 'ACP_LOAD_SETTINGS', 'load', 'acl_a_server');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (92, 1, 'modules', 'acp', 1, 67, 511, 512, 'MCP', 'mcp', 'acl_a_modules');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (93, 1, 'board', 'acp', 1, 75, 337, 338, 'ACP_MESSAGE_SETTINGS', 'message', 'acl_a_board');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (94, 1, 'bbcodes', 'acp', 1, 75, 339, 340, 'ACP_BBCODES', 'bbcodes', 'acl_a_bbcode');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (95, 1, 'icons', 'acp', 1, 75, 341, 342, 'ACP_ICONS', 'icons', 'acl_a_icons');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (96, 1, 'icons', 'acp', 1, 75, 343, 344, 'ACP_SMILIES', 'smilies', 'acl_a_icons');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (97, 1, 'words', 'acp', 1, 75, 345, 346, 'ACP_WORDS', 'words', 'acl_a_words');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (98, 1, 'logs', 'acp', 1, 63, 475, 476, 'ACP_ADMIN_LOGS', 'admin', 'acl_a_viewlogs');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (99, 1, 'logs', 'acp', 1, 63, 477, 478, 'ACP_MOD_LOGS', 'mod', 'acl_a_viewlogs');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (100, 1, 'logs', 'acp', 1, 63, 479, 480, 'ACP_CRITICAL_LOGS', 'critical', 'acl_a_viewlogs');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (101, 1, 'language', 'acp', 1, 66, 495, 496, 'ACP_LANGUAGE_PACKS', 'lang_packs', 'acl_a_language');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (102, 1, 'bots', 'acp', 1, 66, 497, 498, 'ACP_BOTS', 'bots', 'acl_a_bots');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (103, 1, 'groups', 'acp', 1, 58, 391, 392, 'ACP_GROUPS_MANAGE', 'manage', 'acl_a_group');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (105, 1, 'email', 'acp', 1, 66, 499, 500, 'ACP_MASS_EMAIL', 'email', 'acl_a_email');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (106, 1, 'ranks', 'acp', 1, 57, 365, 366, 'ACP_MANAGE_RANKS', 'ranks', 'acl_a_ranks');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (107, 1, 'ban', 'acp', 1, 59, 403, 404, 'ACP_BAN_EMAILS', 'email', 'acl_a_ban');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (108, 1, 'ban', 'acp', 1, 59, 405, 406, 'ACP_BAN_IPS', 'ip', 'acl_a_ban');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (109, 1, 'ban', 'acp', 1, 59, 407, 408, 'ACP_BAN_USERNAMES', 'user', 'acl_a_ban');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (110, 1, 'disallow', 'acp', 1, 59, 401, 402, 'ACP_DISALLOW_USERNAMES', 'usernames', 'acl_a_names');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (111, 1, 'prune', 'acp', 1, 59, 399, 400, 'ACP_PRUNE_USERS', 'users', 'acl_a_userdel');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (112, 1, 'prune', 'acp', 1, 53, 321, 322, 'ACP_PRUNE_FORUMS', 'forums', 'acl_a_prune');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (113, 1, 'profile', 'acp', 1, 57, 363, 364, 'ACP_CUSTOM_PROFILE_FIELDS', 'profile', 'acl_a_profile');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (114, 1, 'forums', 'acp', 1, 53, 319, 320, 'ACP_MANAGE_FORUMS', 'manage', 'acl_a_forum');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (115, 1, 'users', 'acp', 1, 57, 361, 362, 'ACP_MANAGE_USERS', 'overview', 'acl_a_user');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (116, 1, 'users', 'acp', 0, 57, 367, 368, 'ACP_USER_FEEDBACK', 'feedback', 'acl_a_user');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (117, 1, 'users', 'acp', 0, 57, 369, 370, 'ACP_USER_PROFILE', 'profile', 'acl_a_user');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (118, 1, 'users', 'acp', 0, 57, 371, 372, 'ACP_USER_PREFS', 'prefs', 'acl_a_user');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (119, 1, 'users', 'acp', 0, 57, 373, 374, 'ACP_USER_AVATAR', 'avatar', 'acl_a_user');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (120, 1, 'users', 'acp', 0, 57, 377, 378, 'ACP_USER_SIG', 'sig', 'acl_a_user');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (121, 1, 'users', 'acp', 0, 57, 379, 380, 'ACP_USER_GROUPS', 'groups', 'acl_a_user && acl_a_group');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (122, 1, 'users', 'acp', 0, 57, 381, 382, 'ACP_USER_PERM', 'perm', 'acl_a_user && acl_a_viewauth');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (123, 1, 'users', 'acp', 0, 57, 383, 384, 'ACP_USER_ATTACH', 'attach', 'acl_a_user');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (141, 1, '', 'acp', 1, 49, 464, 471, 'ACP_STYLE_COMPONENTS', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (142, 1, 'styles', 'acp', 1, 62, 461, 462, 'ACP_STYLES', 'style', 'acl_a_styles');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (143, 1, 'styles', 'acp', 1, 141, 465, 466, 'ACP_TEMPLATES', 'template', 'acl_a_styles');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (144, 1, 'styles', 'acp', 1, 141, 467, 468, 'ACP_THEMES', 'theme', 'acl_a_styles');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (145, 1, 'styles', 'acp', 1, 141, 469, 470, 'ACP_IMAGESETS', 'imageset', 'acl_a_styles');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (147, 1, 'users', 'acp', 0, 57, 375, 376, 'ACP_USER_RANK', 'rank', 'acl_a_user');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (148, 1, 'permissions', 'acp', 1, 61, 415, 416, 'ACP_USERS_PERMISSIONS', 'setting_user_global', 'acl_a_authusers && (acl_a_aauth || acl_a_mauth || acl_a_uauth)');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (149, 1, 'permissions', 'acp', 1, 180, 431, 432, 'ACP_USERS_FORUM_PERMISSIONS', 'setting_user_local', 'acl_a_authusers && (acl_a_mauth || acl_a_fauth)');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (150, 1, 'permissions', 'acp', 1, 61, 417, 418, 'ACP_GROUPS_PERMISSIONS', 'setting_group_global', 'acl_a_authgroups && (acl_a_aauth || acl_a_mauth || acl_a_uauth)');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (151, 1, 'permissions', 'acp', 1, 180, 433, 434, 'ACP_GROUPS_FORUM_PERMISSIONS', 'setting_group_local', 'acl_a_authgroups && (acl_a_mauth || acl_a_fauth)');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (152, 1, 'permissions', 'acp', 1, 174, 421, 422, 'ACP_ADMINISTRATORS', 'setting_admin_global', 'acl_a_aauth && (acl_a_authusers || acl_a_authgroups)');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (155, 1, 'permissions', 'acp', 1, 174, 423, 424, 'ACP_GLOBAL_MODERATORS', 'setting_mod_global', 'acl_a_mauth && (acl_a_authusers || acl_a_authgroups)');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (156, 1, 'permissions', 'acp', 1, 180, 429, 430, 'ACP_FORUM_MODERATORS', 'setting_mod_local', 'acl_a_mauth && (acl_a_authusers || acl_a_authgroups)');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (157, 1, 'permissions', 'acp', 1, 180, 427, 428, 'ACP_FORUM_PERMISSIONS', 'setting_forum_local', 'acl_a_fauth && (acl_a_authusers || acl_a_authgroups)');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (158, 1, '', 'acp', 1, 48, 446, 457, 'ACP_PERMISSION_MASKS', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (159, 1, 'permissions', 'acp', 1, 158, 447, 448, 'ACP_VIEW_ADMIN_PERMISSIONS', 'view_admin_global', 'acl_a_viewauth');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (160, 1, 'permissions', 'acp', 1, 158, 449, 450, 'ACP_VIEW_USER_PERMISSIONS', 'view_user_global', 'acl_a_viewauth');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (161, 1, 'permissions', 'acp', 1, 158, 451, 452, 'ACP_VIEW_GLOBAL_MOD_PERMISSIONS', 'view_mod_global', 'acl_a_viewauth');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (162, 1, 'permissions', 'acp', 1, 158, 453, 454, 'ACP_VIEW_FORUM_MOD_PERMISSIONS', 'view_mod_local', 'acl_a_viewauth');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (163, 1, 'permissions', 'acp', 1, 158, 455, 456, 'ACP_VIEW_FORUM_PERMISSIONS', 'view_forum_local', 'acl_a_viewauth');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (165, 1, '', 'acp', 1, 48, 436, 445, 'ACP_PERMISSION_ROLES', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (174, 1, '', 'acp', 1, 48, 420, 425, 'ACP_SPECIAL_PERMISSIONS', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (175, 1, 'permission_roles', 'acp', 1, 165, 437, 438, 'ACP_ADMIN_ROLES', 'admin_roles', 'acl_a_roles');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (176, 1, 'permissions', 'acp', 1, 48, 412, 413, 'ACP_PERMISSIONS', 'intro', 'acl_a_authusers || acl_a_authgroups || acl_a_viewauth');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (177, 1, 'permission_roles', 'acp', 1, 165, 439, 440, 'ACP_USER_ROLES', 'user_roles', 'acl_a_roles');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (178, 1, 'permission_roles', 'acp', 1, 165, 441, 442, 'ACP_MOD_ROLES', 'mod_roles', 'acl_a_roles');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (179, 1, 'permission_roles', 'acp', 1, 165, 443, 444, 'ACP_FORUM_ROLES', 'forum_roles', 'acl_a_roles');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (180, 1, '', 'acp', 1, 48, 426, 435, 'ACP_FORUM_BASED_PERMISSIONS', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (181, 1, 'permissions', 'acp', 1, 54, 325, 326, 'ACP_FORUM_PERMISSIONS', 'setting_forum_local', 'acl_a_fauth && (acl_a_authusers || acl_a_authgroups)');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (182, 1, 'permissions', 'acp', 1, 54, 327, 328, 'ACP_FORUM_MODERATORS', 'setting_mod_local', 'acl_a_mauth && (acl_a_authusers || acl_a_authgroups)');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (183, 1, 'permissions', 'acp', 1, 54, 329, 330, 'ACP_USERS_FORUM_PERMISSIONS', 'setting_user_local', 'acl_a_authusers && (acl_a_mauth || acl_a_fauth)');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (184, 1, 'permissions', 'acp', 1, 54, 331, 332, 'ACP_GROUPS_FORUM_PERMISSIONS', 'setting_group_local', 'acl_a_authgroups && (acl_a_mauth || acl_a_fauth)');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (185, 1, 'permissions', 'acp', 1, 57, 385, 386, 'ACP_USERS_PERMISSIONS', 'setting_user_global', 'acl_a_authusers && (acl_a_aauth || acl_a_mauth || acl_a_uauth)');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (186, 1, 'permissions', 'acp', 1, 58, 393, 394, 'ACP_GROUPS_PERMISSIONS', 'setting_group_global', 'acl_a_authgroups && (acl_a_aauth || acl_a_mauth || acl_a_uauth)');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (187, 1, 'permissions', 'acp', 1, 58, 395, 396, 'ACP_GROUPS_FORUM_PERMISSIONS', 'setting_group_local', 'acl_a_authgroups && (acl_a_mauth || acl_a_fauth)');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (188, 1, 'permissions', 'acp', 1, 57, 387, 388, 'ACP_USERS_FORUM_PERMISSIONS', 'setting_user_local', 'acl_a_authusers && (acl_a_mauth || acl_a_fauth)');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (199, 1, 'reasons', 'acp', 1, 66, 501, 502, 'ACP_MANAGE_REASONS', 'main', 'acl_a_reasons');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (204, 1, 'search', 'acp', 1, 64, 483, 484, 'ACP_SEARCH_INDEX', 'index', 'acl_a_search');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (205, 1, 'search', 'acp', 1, 44, 313, 314, 'ACP_SEARCH_SETTINGS', 'settings', 'acl_a_search');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (206, 1, 'database', 'acp', 1, 64, 485, 486, 'ACP_BACKUP', 'backup', 'acl_a_server');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (207, 1, 'database', 'acp', 1, 64, 487, 488, 'ACP_RESTORE', 'restore', 'acl_a_server');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (214, 1, '', 'acp', 1, 2, 262, 275, 'ACP_QUICK_ACCESS', '', '');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (215, 1, 'users', 'acp', 1, 214, 263, 264, 'ACP_MANAGE_USERS', 'overview', 'acl_a_user');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (216, 1, 'groups', 'acp', 1, 214, 265, 266, 'ACP_GROUPS_MANAGE', 'manage', 'acl_a_group');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (217, 1, 'forums', 'acp', 1, 214, 267, 268, 'ACP_MANAGE_FORUMS', 'manage', 'acl_a_forum');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (218, 1, 'logs', 'acp', 1, 214, 269, 270, 'ACP_MOD_LOGS', 'mod', 'acl_a_viewlogs');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (219, 1, 'bots', 'acp', 1, 214, 271, 272, 'ACP_BOTS', 'bots', 'acl_a_bots');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (220, 1, 'php_info', 'acp', 1, 214, 273, 274, 'ACP_PHP_INFO', 'info', 'acl_a_phpinfo');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (221, 1, 'php_info', 'acp', 1, 66, 503, 504, 'ACP_PHP_INFO', 'info', 'acl_a_phpinfo');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (222, 1, 'board', 'acp', 1, 44, 309, 310, 'ACP_SECURITY_SETTINGS', 'security', 'acl_a_server');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (223, 1, 'board', 'acp', 1, 42, 279, 280, 'ACP_BOARD_FEATURES', 'features', 'acl_a_board');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (224, 1, 'board', 'acp', 1, 42, 287, 288, 'ACP_POST_SETTINGS', 'post', 'acl_a_board');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (225, 1, 'board', 'acp', 1, 42, 289, 290, 'ACP_SIGNATURE_SETTINGS', 'signature', 'acl_a_board');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (226, 1, 'board', 'acp', 1, 42, 291, 292, 'ACP_REGISTER_SETTINGS', 'registration', 'acl_a_board');
-INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (227, 1, 'board', 'acp', 1, 42, 293, 294, 'ACP_VC_SETTINGS', 'visual', 'acl_a_board');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (2, 1, '', 'acp', 1, 0, 261, 318, 'ACP_CAT_GENERAL', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (7, 1, 'modules', 'acp', 1, 67, 511, 512, 'ACP', 'acp', 'acl_a_modules');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (11, 1, '', 'acp', 1, 0, 361, 412, 'ACP_CAT_USERGROUP', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (41, 1, 'main', 'acp', 1, 2, 262, 263, 'ACP_MAIN', 'main', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (42, 1, '', 'acp', 1, 2, 278, 297, 'ACP_BOARD_CONFIGURATION', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (43, 1, '', 'acp', 1, 2, 298, 305, 'ACP_CLIENT_COMMUNICATION', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (44, 1, '', 'acp', 1, 2, 306, 317, 'ACP_SERVER_CONFIGURATION', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (46, 1, '', 'acp', 1, 0, 319, 336, 'ACP_CAT_FORUMS', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (47, 1, '', 'acp', 1, 0, 337, 360, 'ACP_CAT_POSTING', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (48, 1, '', 'acp', 1, 0, 413, 462, 'ACP_CAT_PERMISSIONS', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (49, 1, '', 'acp', 1, 0, 463, 476, 'ACP_CAT_STYLES', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (50, 1, '', 'acp', 1, 0, 477, 494, 'ACP_CAT_MAINTENANCE', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (51, 1, '', 'acp', 1, 0, 495, 518, 'ACP_CAT_SYSTEM', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (52, 1, '', 'acp', 1, 0, 519, 520, 'ACP_CAT_DOT_MODS', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (53, 1, '', 'acp', 1, 46, 320, 325, 'ACP_CAT_FORUMS', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (54, 1, '', 'acp', 1, 46, 326, 335, 'ACP_FORUM_BASED_PERMISSIONS', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (56, 1, '', 'acp', 1, 47, 350, 359, 'ACP_ATTACHMENTS', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (57, 1, '', 'acp', 1, 11, 362, 391, 'ACP_CAT_USERS', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (58, 1, '', 'acp', 1, 11, 392, 399, 'ACP_GROUPS', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (59, 1, '', 'acp', 1, 11, 400, 411, 'ACP_USER_SECURITY', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (61, 1, '', 'acp', 1, 48, 416, 421, 'ACP_BASIC_PERMISSIONS', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (62, 1, '', 'acp', 1, 49, 464, 467, 'ACP_STYLE_MANAGEMENT', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (63, 1, '', 'acp', 1, 50, 478, 485, 'ACP_FORUM_LOGS', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (64, 1, '', 'acp', 1, 50, 486, 493, 'ACP_CAT_DATABASE', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (65, 1, '', 'acp', 1, 51, 496, 497, 'ACP_AUTOMATION', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (66, 1, '', 'acp', 1, 51, 498, 509, 'ACP_GENERAL_TASKS', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (67, 1, '', 'acp', 1, 51, 510, 517, 'ACP_MODULE_MANAGEMENT', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (69, 1, 'modules', 'acp', 1, 67, 513, 514, 'UCP', 'ucp', 'acl_a_modules');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (71, 1, 'board', 'acp', 1, 42, 279, 280, 'ACP_BOARD_SETTINGS', 'settings', 'acl_a_board');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (73, 1, 'board', 'acp', 1, 42, 285, 286, 'ACP_AVATAR_SETTINGS', 'avatar', 'acl_a_board');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (74, 1, 'attachments', 'acp', 1, 42, 283, 284, 'ACP_ATTACHMENT_SETTINGS', 'attach', 'acl_a_attach');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (75, 1, '', 'acp', 1, 47, 338, 349, 'ACP_MESSAGES', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (76, 1, 'attachments', 'acp', 1, 56, 351, 352, 'ACP_ATTACHMENT_SETTINGS', 'attach', 'acl_a_attach');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (77, 1, 'attachments', 'acp', 1, 56, 353, 354, 'ACP_EXTENSION_GROUPS', 'ext_groups', 'acl_a_attach');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (78, 1, 'attachments', 'acp', 1, 56, 355, 356, 'ACP_MANAGE_EXTENSIONS', 'extensions', 'acl_a_attach');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (80, 1, 'attachments', 'acp', 1, 56, 357, 358, 'ACP_ORPHAN_ATTACHMENTS', 'orphan', 'acl_a_attach');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (81, 1, 'board', 'acp', 1, 42, 287, 288, 'ACP_MESSAGE_SETTINGS', 'message', 'acl_a_board');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (82, 1, 'board', 'acp', 1, 43, 299, 300, 'ACP_AUTH_SETTINGS', 'auth', 'acl_a_server');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (83, 1, 'board', 'acp', 1, 43, 301, 302, 'ACP_EMAIL_SETTINGS', 'email', 'acl_a_server');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (84, 1, 'jabber', 'acp', 1, 43, 303, 304, 'ACP_JABBER_SETTINGS', 'settings', 'acl_a_jabber');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (85, 1, 'board', 'acp', 1, 44, 307, 308, 'ACP_COOKIE_SETTINGS', 'cookie', 'acl_a_server');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (86, 1, 'board', 'acp', 1, 44, 309, 310, 'ACP_SERVER_SETTINGS', 'server', 'acl_a_server');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (87, 1, 'board', 'acp', 1, 44, 313, 314, 'ACP_LOAD_SETTINGS', 'load', 'acl_a_server');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (92, 1, 'modules', 'acp', 1, 67, 515, 516, 'MCP', 'mcp', 'acl_a_modules');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (93, 1, 'board', 'acp', 1, 75, 339, 340, 'ACP_MESSAGE_SETTINGS', 'message', 'acl_a_board');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (94, 1, 'bbcodes', 'acp', 1, 75, 341, 342, 'ACP_BBCODES', 'bbcodes', 'acl_a_bbcode');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (95, 1, 'icons', 'acp', 1, 75, 343, 344, 'ACP_ICONS', 'icons', 'acl_a_icons');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (96, 1, 'icons', 'acp', 1, 75, 345, 346, 'ACP_SMILIES', 'smilies', 'acl_a_icons');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (97, 1, 'words', 'acp', 1, 75, 347, 348, 'ACP_WORDS', 'words', 'acl_a_words');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (98, 1, 'logs', 'acp', 1, 63, 479, 480, 'ACP_ADMIN_LOGS', 'admin', 'acl_a_viewlogs');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (99, 1, 'logs', 'acp', 1, 63, 481, 482, 'ACP_MOD_LOGS', 'mod', 'acl_a_viewlogs');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (100, 1, 'logs', 'acp', 1, 63, 483, 484, 'ACP_CRITICAL_LOGS', 'critical', 'acl_a_viewlogs');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (101, 1, 'language', 'acp', 1, 66, 499, 500, 'ACP_LANGUAGE_PACKS', 'lang_packs', 'acl_a_language');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (102, 1, 'bots', 'acp', 1, 66, 501, 502, 'ACP_BOTS', 'bots', 'acl_a_bots');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (103, 1, 'groups', 'acp', 1, 58, 393, 394, 'ACP_GROUPS_MANAGE', 'manage', 'acl_a_group');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (105, 1, 'email', 'acp', 1, 66, 503, 504, 'ACP_MASS_EMAIL', 'email', 'acl_a_email');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (106, 1, 'ranks', 'acp', 1, 57, 367, 368, 'ACP_MANAGE_RANKS', 'ranks', 'acl_a_ranks');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (107, 1, 'ban', 'acp', 1, 59, 405, 406, 'ACP_BAN_EMAILS', 'email', 'acl_a_ban');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (108, 1, 'ban', 'acp', 1, 59, 407, 408, 'ACP_BAN_IPS', 'ip', 'acl_a_ban');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (109, 1, 'ban', 'acp', 1, 59, 409, 410, 'ACP_BAN_USERNAMES', 'user', 'acl_a_ban');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (110, 1, 'disallow', 'acp', 1, 59, 403, 404, 'ACP_DISALLOW_USERNAMES', 'usernames', 'acl_a_names');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (111, 1, 'prune', 'acp', 1, 59, 401, 402, 'ACP_PRUNE_USERS', 'users', 'acl_a_userdel');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (112, 1, 'prune', 'acp', 1, 53, 323, 324, 'ACP_PRUNE_FORUMS', 'forums', 'acl_a_prune');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (113, 1, 'profile', 'acp', 1, 57, 365, 366, 'ACP_CUSTOM_PROFILE_FIELDS', 'profile', 'acl_a_profile');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (114, 1, 'forums', 'acp', 1, 53, 321, 322, 'ACP_MANAGE_FORUMS', 'manage', 'acl_a_forum');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (115, 1, 'users', 'acp', 1, 57, 363, 364, 'ACP_MANAGE_USERS', 'overview', 'acl_a_user');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (116, 1, 'users', 'acp', 0, 57, 369, 370, 'ACP_USER_FEEDBACK', 'feedback', 'acl_a_user');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (117, 1, 'users', 'acp', 0, 57, 371, 372, 'ACP_USER_PROFILE', 'profile', 'acl_a_user');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (118, 1, 'users', 'acp', 0, 57, 373, 374, 'ACP_USER_PREFS', 'prefs', 'acl_a_user');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (119, 1, 'users', 'acp', 0, 57, 375, 376, 'ACP_USER_AVATAR', 'avatar', 'acl_a_user');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (120, 1, 'users', 'acp', 0, 57, 379, 380, 'ACP_USER_SIG', 'sig', 'acl_a_user');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (121, 1, 'users', 'acp', 0, 57, 381, 382, 'ACP_USER_GROUPS', 'groups', 'acl_a_user && acl_a_group');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (122, 1, 'users', 'acp', 0, 57, 383, 384, 'ACP_USER_PERM', 'perm', 'acl_a_user && acl_a_viewauth');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (123, 1, 'users', 'acp', 0, 57, 385, 386, 'ACP_USER_ATTACH', 'attach', 'acl_a_user');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (141, 1, '', 'acp', 1, 49, 468, 475, 'ACP_STYLE_COMPONENTS', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (142, 1, 'styles', 'acp', 1, 62, 465, 466, 'ACP_STYLES', 'style', 'acl_a_styles');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (143, 1, 'styles', 'acp', 1, 141, 469, 470, 'ACP_TEMPLATES', 'template', 'acl_a_styles');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (144, 1, 'styles', 'acp', 1, 141, 471, 472, 'ACP_THEMES', 'theme', 'acl_a_styles');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (145, 1, 'styles', 'acp', 1, 141, 473, 474, 'ACP_IMAGESETS', 'imageset', 'acl_a_styles');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (147, 1, 'users', 'acp', 0, 57, 377, 378, 'ACP_USER_RANK', 'rank', 'acl_a_user');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (148, 1, 'permissions', 'acp', 1, 61, 417, 418, 'ACP_USERS_PERMISSIONS', 'setting_user_global', 'acl_a_authusers && (acl_a_aauth || acl_a_mauth || acl_a_uauth)');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (149, 1, 'permissions', 'acp', 1, 180, 433, 434, 'ACP_USERS_FORUM_PERMISSIONS', 'setting_user_local', 'acl_a_authusers && (acl_a_mauth || acl_a_fauth)');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (150, 1, 'permissions', 'acp', 1, 61, 419, 420, 'ACP_GROUPS_PERMISSIONS', 'setting_group_global', 'acl_a_authgroups && (acl_a_aauth || acl_a_mauth || acl_a_uauth)');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (151, 1, 'permissions', 'acp', 1, 180, 435, 436, 'ACP_GROUPS_FORUM_PERMISSIONS', 'setting_group_local', 'acl_a_authgroups && (acl_a_mauth || acl_a_fauth)');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (152, 1, 'permissions', 'acp', 1, 174, 423, 424, 'ACP_ADMINISTRATORS', 'setting_admin_global', 'acl_a_aauth && (acl_a_authusers || acl_a_authgroups)');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (155, 1, 'permissions', 'acp', 1, 174, 425, 426, 'ACP_GLOBAL_MODERATORS', 'setting_mod_global', 'acl_a_mauth && (acl_a_authusers || acl_a_authgroups)');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (156, 1, 'permissions', 'acp', 1, 180, 431, 432, 'ACP_FORUM_MODERATORS', 'setting_mod_local', 'acl_a_mauth && (acl_a_authusers || acl_a_authgroups)');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (157, 1, 'permissions', 'acp', 1, 180, 429, 430, 'ACP_FORUM_PERMISSIONS', 'setting_forum_local', 'acl_a_fauth && (acl_a_authusers || acl_a_authgroups)');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (158, 1, '', 'acp', 1, 48, 448, 461, 'ACP_PERMISSION_MASKS', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (159, 1, 'permissions', 'acp', 1, 158, 449, 450, 'ACP_VIEW_ADMIN_PERMISSIONS', 'view_admin_global', 'acl_a_viewauth');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (160, 1, 'permissions', 'acp', 1, 158, 451, 452, 'ACP_VIEW_USER_PERMISSIONS', 'view_user_global', 'acl_a_viewauth');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (161, 1, 'permissions', 'acp', 1, 158, 453, 454, 'ACP_VIEW_GLOBAL_MOD_PERMISSIONS', 'view_mod_global', 'acl_a_viewauth');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (162, 1, 'permissions', 'acp', 1, 158, 455, 456, 'ACP_VIEW_FORUM_MOD_PERMISSIONS', 'view_mod_local', 'acl_a_viewauth');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (163, 1, 'permissions', 'acp', 1, 158, 457, 458, 'ACP_VIEW_FORUM_PERMISSIONS', 'view_forum_local', 'acl_a_viewauth');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (165, 1, '', 'acp', 1, 48, 438, 447, 'ACP_PERMISSION_ROLES', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (174, 1, '', 'acp', 1, 48, 422, 427, 'ACP_SPECIAL_PERMISSIONS', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (175, 1, 'permission_roles', 'acp', 1, 165, 439, 440, 'ACP_ADMIN_ROLES', 'admin_roles', 'acl_a_roles');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (176, 1, 'permissions', 'acp', 1, 48, 414, 415, 'ACP_PERMISSIONS', 'intro', 'acl_a_authusers || acl_a_authgroups || acl_a_viewauth');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (177, 1, 'permission_roles', 'acp', 1, 165, 441, 442, 'ACP_USER_ROLES', 'user_roles', 'acl_a_roles');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (178, 1, 'permission_roles', 'acp', 1, 165, 443, 444, 'ACP_MOD_ROLES', 'mod_roles', 'acl_a_roles');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (179, 1, 'permission_roles', 'acp', 1, 165, 445, 446, 'ACP_FORUM_ROLES', 'forum_roles', 'acl_a_roles');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (180, 1, '', 'acp', 1, 48, 428, 437, 'ACP_FORUM_BASED_PERMISSIONS', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (181, 1, 'permissions', 'acp', 1, 54, 327, 328, 'ACP_FORUM_PERMISSIONS', 'setting_forum_local', 'acl_a_fauth && (acl_a_authusers || acl_a_authgroups)');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (182, 1, 'permissions', 'acp', 1, 54, 329, 330, 'ACP_FORUM_MODERATORS', 'setting_mod_local', 'acl_a_mauth && (acl_a_authusers || acl_a_authgroups)');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (183, 1, 'permissions', 'acp', 1, 54, 331, 332, 'ACP_USERS_FORUM_PERMISSIONS', 'setting_user_local', 'acl_a_authusers && (acl_a_mauth || acl_a_fauth)');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (184, 1, 'permissions', 'acp', 1, 54, 333, 334, 'ACP_GROUPS_FORUM_PERMISSIONS', 'setting_group_local', 'acl_a_authgroups && (acl_a_mauth || acl_a_fauth)');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (185, 1, 'permissions', 'acp', 1, 57, 387, 388, 'ACP_USERS_PERMISSIONS', 'setting_user_global', 'acl_a_authusers && (acl_a_aauth || acl_a_mauth || acl_a_uauth)');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (186, 1, 'permissions', 'acp', 1, 58, 395, 396, 'ACP_GROUPS_PERMISSIONS', 'setting_group_global', 'acl_a_authgroups && (acl_a_aauth || acl_a_mauth || acl_a_uauth)');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (187, 1, 'permissions', 'acp', 1, 58, 397, 398, 'ACP_GROUPS_FORUM_PERMISSIONS', 'setting_group_local', 'acl_a_authgroups && (acl_a_mauth || acl_a_fauth)');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (188, 1, 'permissions', 'acp', 1, 57, 389, 390, 'ACP_USERS_FORUM_PERMISSIONS', 'setting_user_local', 'acl_a_authusers && (acl_a_mauth || acl_a_fauth)');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (199, 1, 'reasons', 'acp', 1, 66, 505, 506, 'ACP_MANAGE_REASONS', 'main', 'acl_a_reasons');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (204, 1, 'search', 'acp', 1, 64, 487, 488, 'ACP_SEARCH_INDEX', 'index', 'acl_a_search');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (205, 1, 'search', 'acp', 1, 44, 315, 316, 'ACP_SEARCH_SETTINGS', 'settings', 'acl_a_search');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (206, 1, 'database', 'acp', 1, 64, 489, 490, 'ACP_BACKUP', 'backup', 'acl_a_server');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (207, 1, 'database', 'acp', 1, 64, 491, 492, 'ACP_RESTORE', 'restore', 'acl_a_server');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (214, 1, '', 'acp', 1, 2, 264, 277, 'ACP_QUICK_ACCESS', '', '');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (215, 1, 'users', 'acp', 1, 214, 265, 266, 'ACP_MANAGE_USERS', 'overview', 'acl_a_user');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (216, 1, 'groups', 'acp', 1, 214, 267, 268, 'ACP_GROUPS_MANAGE', 'manage', 'acl_a_group');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (217, 1, 'forums', 'acp', 1, 214, 269, 270, 'ACP_MANAGE_FORUMS', 'manage', 'acl_a_forum');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (218, 1, 'logs', 'acp', 1, 214, 271, 272, 'ACP_MOD_LOGS', 'mod', 'acl_a_viewlogs');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (219, 1, 'bots', 'acp', 1, 214, 273, 274, 'ACP_BOTS', 'bots', 'acl_a_bots');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (220, 1, 'php_info', 'acp', 1, 214, 275, 276, 'ACP_PHP_INFO', 'info', 'acl_a_phpinfo');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (221, 1, 'php_info', 'acp', 1, 66, 507, 508, 'ACP_PHP_INFO', 'info', 'acl_a_phpinfo');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (222, 1, 'board', 'acp', 1, 44, 311, 312, 'ACP_SECURITY_SETTINGS', 'security', 'acl_a_server');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (223, 1, 'board', 'acp', 1, 42, 281, 282, 'ACP_BOARD_FEATURES', 'features', 'acl_a_board');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (224, 1, 'board', 'acp', 1, 42, 289, 290, 'ACP_POST_SETTINGS', 'post', 'acl_a_board');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (225, 1, 'board', 'acp', 1, 42, 291, 292, 'ACP_SIGNATURE_SETTINGS', 'signature', 'acl_a_board');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (226, 1, 'board', 'acp', 1, 42, 293, 294, 'ACP_REGISTER_SETTINGS', 'registration', 'acl_a_board');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (227, 1, 'board', 'acp', 1, 42, 295, 296, 'ACP_VC_SETTINGS', 'visual', 'acl_a_board');
+INSERT INTO phpbb_modules (module_id, module_enabled, module_name, module_class, module_display, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (228, 1, 'permissions', 'acp', 0, 158, 459, 460, 'ACP_PERMISSION_TRACE', 'trace', 'acl_a_viewauth');
# MCP
INSERT INTO phpbb_modules (module_id, module_enabled, module_display, module_name, module_class, parent_id, left_id, right_id, module_langname, module_mode, module_auth) VALUES (124, 1, 1, '', 'mcp', 0, 59, 68, 'MCP_MAIN', '', '');
diff --git a/phpBB/install/schemas/sqlite_schema.sql b/phpBB/install/schemas/sqlite_schema.sql
index 291e5f7be5..6c20a82ea0 100644
--- a/phpBB/install/schemas/sqlite_schema.sql
+++ b/phpBB/install/schemas/sqlite_schema.sql
@@ -63,8 +63,7 @@ CREATE TABLE phpbb_auth_roles (
role_name varchar(50) NOT NULL DEFAULT '',
role_description text(65535),
role_type varchar(10) NOT NULL DEFAULT '',
- role_order mediumint(8) NOT NULL DEFAULT '0',
- role_group_ids varchar(255) NOT NULL DEFAULT ''
+ role_order mediumint(8) NOT NULL DEFAULT '0'
);
CREATE INDEX phpbb_auth_roles_role_type on phpbb_auth_roles (role_type);
diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php
index fb9ad7245d..fbc2ccb0f5 100644
--- a/phpBB/language/en/acp/common.php
+++ b/phpBB/language/en/acp/common.php
@@ -123,6 +123,7 @@ $lang = array_merge($lang, array(
'ACP_PERMISSION_MASKS' => 'Permission Masks',
'ACP_PERMISSION_ROLES' => 'Permission Roles',
'ACP_PERMISSION_SETTINGS' => 'Permission Settings',
+ 'ACP_PERMISSION_TRACE' => 'Permission Trace',
'ACP_PHP_INFO' => 'PHP Information',
'ACP_POST_SETTINGS' => 'Post Settings',
'ACP_PRUNE_FORUMS' => 'Prune Forums',
diff --git a/phpBB/language/en/acp/permissions.php b/phpBB/language/en/acp/permissions.php
index 00a42e36db..1ce066aac4 100644
--- a/phpBB/language/en/acp/permissions.php
+++ b/phpBB/language/en/acp/permissions.php
@@ -84,14 +84,12 @@ $lang = array_merge($lang, array(
'CREATE_ROLE_FROM' => 'Use settings from...',
'CUSTOM' => 'Custom...',
+ 'DEFAULT' => 'Default',
'DELETE_ROLE' => 'Delete role',
'DELETE_ROLE_CONFIRM' => 'Are you sure you want to remove this role? Items having this role assigned will <strong>not</strong> loosing their permission settings.',
- 'DISPLAY_FOR_GROUP' => 'Display for group',
- 'DISPLAY_FOR_GROUP_EXPLAIN' => 'The role only shows up for the selected group(s). This is helpful if you set options only meant for some groups for example.',
'DISPLAY_ROLE_ITEMS' => 'View Items using this role',
'EDIT_ROLE' => 'Edit Role',
- 'EVERY_USER_GROUP' => 'Every user/group',
'GROUPS_NOT_ASSIGNED' => 'No group assigned to this role',
@@ -103,6 +101,7 @@ $lang = array_merge($lang, array(
'MANAGE_USERS' => 'Manage Users',
'NO_AUTH_SETTING_FOUND' => 'Permission settings not defined.',
+ 'NO_ROLE_ASSIGNED' => 'No role assigned...',
'NO_ROLE_AVAILABLE' => 'No role available',
'NO_ROLE_NAME_SPECIFIED' => 'Please give the role a name.',
'NO_ROLE_SELECTED' => 'Role could not be found.',
@@ -111,20 +110,6 @@ $lang = array_merge($lang, array(
'PERMISSION_APPLIED_TO_ALL' => 'Permissions and Role will also be applied to all checked objects',
'PLUS_SUBFORUMS' => '+Subforums',
- 'PRE_ALL_CLOSED' => 'All closed groups',
- 'PRE_ALL_FREE' => 'All freely open groups',
- 'PRE_ALL_HIDDEN' => 'All hidden groups',
- 'PRE_ALL_OPEN' => 'All open groups',
- 'PRE_ALL_SPECIAL' => 'All special groups',
- 'PRE_NOT_CLOSED' => 'All groups excluding closed groups',
- 'PRE_NOT_FREE' => 'All groups excluding freely open groups',
- 'PRE_NOT_HIDDEN' => 'All groups excluding hidden groups',
- 'PRE_NOT_OPEN' => 'All groups excluding open groups',
- 'PRE_NOT_SPECIAL' => 'All groups excluding special groups',
- 'PRE_NOT_SPECIAL_GUEST' => 'All groups excluding special guest groups',
- 'PRE_NOT_SPECIAL_REGISTERED' => 'All groups excluding special registered groups',
- 'PRE_ONLY_SPECIAL_GUEST' => 'Only special guest groups',
- 'PRE_ONLY_SPECIAL_REGISTERED' => 'Only special registered groups',
'REMOVE_ROLE' => 'Remove Role',
'ROLE' => 'Role',
@@ -150,6 +135,25 @@ $lang = array_merge($lang, array(
'SET_USERS_PERMISSIONS' => 'Set users permissions',
'SET_USERS_FORUM_PERMISSIONS' => 'Set users forum permissions',
+ 'TRACE_DEFAULT' => 'By default every permission is UNSET. So the permission can be overwritten by other settings.',
+ 'TRACE_GROUP_NO_TOTAL_NO' => 'This group\'s permission is set to NO like the total result so the old result is kept.',
+ 'TRACE_GROUP_NO_TOTAL_UNSET' => 'This group\'s permission is set to NO which becomes the new total value because it wasn\'t set yet.',
+ 'TRACE_GROUP_NO_TOTAL_YES' => 'This group\'s permission is set to NO which overwrites the total YES to a NO for this user.',
+ 'TRACE_GROUP_UNSET' => 'The permission is UNSET for this group so the old total value is kept.',
+ 'TRACE_GROUP_YES_TOTAL_NO' => 'This group\'s permission is set to YES but the total NO cannot be overwritten.',
+ 'TRACE_GROUP_YES_TOTAL_UNSET' => 'This group\'s permission is set to YES which becomes the new total value because it wasn\'t set yet.',
+ 'TRACE_GROUP_YES_TOTAL_YES' => 'This group\'s permission is set to YES, and the total permission is already set to YES, so the total result is kept.',
+ 'TRACE_PERMISSION' => 'Trace permission - %s',
+ 'TRACE_SETTING' => 'Trace setting',
+ 'TRACE_USER_KEPT' => 'The user permission is UNSET so the old total value is kept.',
+ 'TRACE_USER_NO_TOTAL_NO' => 'The user permission is set to no and the total value is set to no, so nothing is changed.',
+ 'TRACE_USER_NO_TOTAL_UNSET' => 'The user permission is set to no which becomes the total value because it wasn\'t set yet.',
+ 'TRACE_USER_NO_TOTAL_YES' => 'The user permission is set to no and overwrites the previous yes.',
+ 'TRACE_USER_UNSET_TOTAL_UNSET' => 'The user permission is UNSET and the total value wasn\'t set yet so it defaults to NO.',
+ 'TRACE_USER_YES_TOTAL_NO' => 'The user permission is set to yes but the total no cannot be overwritten.',
+ 'TRACE_USER_YES_TOTAL_UNSET' => 'The user permission is set to YES which becomes the total value because it wasn\'t set yet.',
+ 'TRACE_USER_YES_TOTAL_YES' => 'The user permission is set to YES and the total value is set to YES, so nothing is changed.',
+
'USERS_NOT_ASSIGNED' => 'No user assigned to this role',
'USER_IS_MEMBER_OF_DEFAULT' => 'is a member of the following default groups',
'USER_IS_MEMBER_OF_CUSTOM' => 'is a member of the following custom groups',
diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php
index 43289507b4..88c50c7858 100644
--- a/phpBB/language/en/common.php
+++ b/phpBB/language/en/common.php
@@ -147,6 +147,7 @@ $lang = array_merge($lang, array(
'FORUMS' => 'Forums',
'FORUMS_MARKED' => 'All forums have been marked read',
'FORUM_INDEX' => 'Board Index',
+ 'FORUM_LINK' => 'Forum Link',
'FORUM_LOCATION' => 'Forum Location',
'FORUM_LOCKED' => 'Forum Locked',
'FORUM_RULES' => 'Forum Rules',
@@ -370,6 +371,7 @@ $lang = array_merge($lang, array(
'REPORTING_POST' => 'Reporting post',
'RESEND_ACTIVATION' => 'Resend activation email',
'RESET' => 'Reset',
+ 'RESTORE_PERMISSIONS' => 'Restore Permissions',
'RETURN_INDEX' => 'Click %sHere%s to return to the index',
'RETURN_FORUM' => 'Click %sHere%s to return to the forum',
'RETURN_PAGE' => 'Click %sHere%s to return to the previous page',
@@ -397,13 +399,14 @@ $lang = array_merge($lang, array(
'SEARCH_ADV_EXPLAIN' => 'View the advanced search options',
'SEARCH_KEYWORDS' => 'Enter search keywords',
'SEARCHING_FORUMS' => 'Searching forums',
- 'SELECT_DESTINATION_FORUM' => 'Please select a forum for destination',
'SEARCH_ACTIVE_TOPICS' => 'View active topics',
'SEARCH_FOR' => 'Search for',
'SEARCH_NEW' => 'View new posts',
'SEARCH_SELF' => 'View your posts',
'SEARCH_UNANSWERED' => 'View unanswered posts',
+ 'SECONDS' => 'Seconds',
'SELECT' => 'Select',
+ 'SELECT_DESTINATION_FORUM' => 'Please select a forum for destination',
'SELECT_FORUM' => 'Select a forum',
'SEND_EMAIL' => 'Email',
'SEND_PRIVATE_MESSAGE' => 'Send private message',
diff --git a/phpBB/language/en/ucp.php b/phpBB/language/en/ucp.php
index 2c6e335f4a..5f5db94f07 100644
--- a/phpBB/language/en/ucp.php
+++ b/phpBB/language/en/ucp.php
@@ -198,6 +198,8 @@ $lang = array_merge($lang, array(
'FWD_FROM' => 'From: %s',
'FWD_TO' => 'To: %s',
+ 'GLOBAL_ANNOUNCEMENT' => 'Global announcement',
+
'HIDE_ONLINE' => 'Hide my online status',
'HOLD_NEW_MESSAGES' => 'Do not accept new messages (New messages will be held back until enough space is available)',
diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php
index 50ea8d789a..c19e71c05b 100644
--- a/phpBB/memberlist.php
+++ b/phpBB/memberlist.php
@@ -77,7 +77,15 @@ switch ($mode)
{
foreach ($forum_ary as $auth_option => $id_ary)
{
- (!$forum_id && $auth_option == 'a_') ? $admin_id_ary += $id_ary : $mod_id_ary += $id_ary;
+ if (!$forum_id && $auth_option == 'a_')
+ {
+ $admin_id_ary = array_merge($admin_id_ary, $id_ary);
+ continue;
+ }
+ else
+ {
+ $mod_id_ary = array_merge($mod_id_ary, $id_ary);
+ }
if ($forum_id)
{
@@ -89,6 +97,9 @@ switch ($mode)
}
}
+ $admin_id_ary = array_unique($admin_id_ary);
+ $mod_id_ary = array_unique($mod_id_ary);
+
$sql = 'SELECT forum_id, forum_name
FROM ' . FORUMS_TABLE . '
WHERE forum_type = ' . FORUM_POST;
@@ -104,7 +115,7 @@ switch ($mode)
$sql = 'SELECT u.user_id, u.username, u.user_colour, u.user_rank, u.user_posts, g.group_id, g.group_name, g.group_colour, g.group_type, ug.user_id as ug_user_id
FROM (' . USERS_TABLE . ' u, ' . GROUPS_TABLE . ' g)
LEFT JOIN ' . USER_GROUP_TABLE . ' ug ON (ug.group_id = g.group_id AND ug.user_id = ' . $user->data['user_id'] . ')
- WHERE u.user_id IN (' . implode(', ', $admin_id_ary + $mod_id_ary) . ')
+ WHERE u.user_id IN (' . implode(', ', array_unique(array_merge($admin_id_ary, $mod_id_ary))) . ')
AND u.group_id = g.group_id
GROUP BY u.user_id
ORDER BY g.group_name ASC, u.username ASC';
@@ -492,14 +503,30 @@ switch ($mode)
trigger_error('NO_TOPIC');
}
- if (!$auth->acl_get('f_read', $row['forum_id']))
+ if ($row['forum_id'])
{
- trigger_error('NO_FORUM_READ');
- }
+ if (!$auth->acl_get('f_read', $row['forum_id']))
+ {
+ trigger_error($user->lang['SORRY_AUTH_READ']);
+ }
- if (!$auth->acl_get('f_email', $row['forum_id']))
+ if (!$auth->acl_get('f_email', $row['forum_id']))
+ {
+ trigger_error('NO_EMAIL');
+ }
+ }
+ else
{
- trigger_error('NO_EMAIL');
+ // If global announcement, we need to check if the user is able to at least read and email in one forum...
+ if (!$auth->acl_getf_global('f_read'))
+ {
+ trigger_error($user->lang['SORRY_AUTH_READ']);
+ }
+
+ if (!$auth->acl_getf_global('f_email'))
+ {
+ trigger_error('NO_EMAIL');
+ }
}
}
else
diff --git a/phpBB/styles/subSilver/template/overall_header.html b/phpBB/styles/subSilver/template/overall_header.html
index 7f73005671..0ea0ed442d 100644
--- a/phpBB/styles/subSilver/template/overall_header.html
+++ b/phpBB/styles/subSilver/template/overall_header.html
@@ -45,7 +45,7 @@ function jumpto()
if (page !== null && !isNaN(page) && page > 0)
{
- document.location.href = base_url.replace('&amp;', '&') + '&start=' + ((page - 1) * perpage);
+ document.location.href = base_url.replace(/&amp;/g, '&') + '&start=' + ((page - 1) * perpage);
}
}
@@ -95,7 +95,7 @@ function marklist(id, name, state)
<tr>
<td class="genmed">
<a href="{U_LOGIN_LOGOUT}"><img src="{T_THEME_PATH}/images/icon_mini_login.gif" width="12" height="13" border="0" alt="{L_LOGIN_LOGOUT}" /> {L_LOGIN_LOGOUT}</a>&nbsp;
- <!-- IF U_RESTORE_PERMISSIONS --> &nbsp;<a href="{U_RESTORE_PERMISSIONS}"><img src="{T_THEME_PATH}/images/icon_mini_login.gif" width="12" height="13" border="0" alt="{L_LOGIN_LOGOUT}" /> Restore Permissions</a><!-- ENDIF -->
+ <!-- IF U_RESTORE_PERMISSIONS --> &nbsp;<a href="{U_RESTORE_PERMISSIONS}"><img src="{T_THEME_PATH}/images/icon_mini_login.gif" width="12" height="13" border="0" alt="{L_LOGIN_LOGOUT}" /> {L_RESTORE_PERMISSIONS}</a><!-- ENDIF -->
<!-- IF S_USER_LOGGED_IN -->
<!-- IF S_DISPLAY_PM --> &nbsp;<a href="{U_PRIVATEMSGS}"><img src="{T_THEME_PATH}/images/icon_mini_message.gif" width="12" height="13" border="0" alt="{L_PRIVATE_MESSAGES}" /> {PRIVATE_MESSAGE_INFO}<!-- IF PRIVATE_MESSAGE_INFO_UNREAD -->, {PRIVATE_MESSAGE_INFO_UNREAD}<!-- ENDIF --></a><!-- ENDIF -->
<!-- ELSE --> &nbsp;<a href="{U_REGISTER}"><img src="{T_THEME_PATH}/images/icon_mini_register.gif" width="12" height="13" border="0" alt="{L_REGISTER}" /> {L_REGISTER}</a>
diff --git a/phpBB/styles/subSilver/template/ucp_main_bookmarks.html b/phpBB/styles/subSilver/template/ucp_main_bookmarks.html
index 984c313f1f..6bdb9fc131 100644
--- a/phpBB/styles/subSilver/template/ucp_main_bookmarks.html
+++ b/phpBB/styles/subSilver/template/ucp_main_bookmarks.html
@@ -25,8 +25,8 @@
<td class="postdetails" style="padding: 4px" width="100%" colspan="2">{L_DELETED_TOPIC}</td>
<!-- ELSE -->
<td style="padding: 4px;" width="100%" valign="top">
- <p class="topictitle">{topicrow.ATTACH_ICON_IMG} <a href="{topicrow.U_VIEW_TOPIC}">{topicrow.TOPIC_TITLE}</a></p><br />
- <span class="gensmall"><b>{L_FORUM}: </b><a href="{topicrow.U_VIEW_FORUM}">{topicrow.FORUM_NAME}</a></span>
+ <p class="topictitle">{topicrow.ATTACH_ICON_IMG} <a href="{topicrow.U_VIEW_TOPIC}">{topicrow.TOPIC_TITLE}</a></p>
+ <!-- IF topicrow.S_GLOBAL_TOPIC --><span class="gensmall">{L_GLOBAL_ANNOUNCEMENT}</span><!-- ELSE --><span class="gensmall"><b>{L_FORUM}: </b><a href="{topicrow.U_VIEW_FORUM}">{topicrow.FORUM_NAME}</a></span><!-- ENDIF -->
<!-- IF topicrow.PAGINATION -->
<p class="gensmall"> [ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {topicrow.PAGINATION} ] </p>
<!-- ENDIF -->
diff --git a/phpBB/viewforum.php b/phpBB/viewforum.php
index d0ef22428f..fff49c9620 100644
--- a/phpBB/viewforum.php
+++ b/phpBB/viewforum.php
@@ -162,7 +162,7 @@ if ($forum_data['forum_type'] == FORUM_POST || (($forum_data['forum_flags'] & 16
if (($config['email_enable'] || $config['jab_enable']) && $config['allow_forum_notify'] && $auth->acl_get('f_subscribe', $forum_id))
{
$notify_status = (isset($forum_data['notify_status'])) ? $forum_data['notify_status'] : NULL;
- watch_topic_forum('forum', $s_watching_forum, $s_watching_forum_img, $user->data['user_id'], $forum_id, $notify_status);
+ watch_topic_forum('forum', $s_watching_forum, $s_watching_forum_img, $user->data['user_id'], $forum_id, 0, $notify_status);
}
$s_forum_rules = '';
diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php
index afffb21b51..c25c152560 100644
--- a/phpBB/viewtopic.php
+++ b/phpBB/viewtopic.php
@@ -51,17 +51,14 @@ if ($view && !$post_id)
{
$sql = 'SELECT forum_id FROM ' . TOPICS_TABLE . "
WHERE topic_id = $topic_id";
- $db->sql_query_limit($sql, 1);
$result = $db->sql_query($sql);
- if ($row = $db->sql_fetchrow($result))
- {
- $forum_id = $row['forum_id'];
- }
- else
+ $forum_id = (int) $db->sql_fetchfield('forum_id');
+ $db->sql_freeresult($result);
+
+ if (!$forum_id)
{
trigger_error('NO_TOPIC');
}
- $db->sql_freeresult($result);
}
if ($view == 'unread')
@@ -80,8 +77,10 @@ if ($view && !$post_id)
OR p.post_id = t.topic_last_post_id)
ORDER BY p.post_time ASC";
$result = $db->sql_query_limit($sql, 1);
+ $row = $db->sql_fetchrow($result);
+ $db->sql_freeresult($result);
- if (!($row = $db->sql_fetchrow($result)))
+ if (!$row)
{
// Setup user environment so we can process lang string
$user->setup('viewtopic');
@@ -90,7 +89,6 @@ if ($view && !$post_id)
$message = $user->lang['NO_UNREAD_POSTS'] . '<br /><br />' . sprintf($user->lang['RETURN_TOPIC'], "<a href=\"viewtopic.$phpEx$SID&amp;f=$forum_id&amp;t=$topic_id\">", '</a>');
trigger_error($message);
}
- $db->sql_freeresult($result);
$post_id = $row['post_id'];
$topic_id = $row['topic_id'];
@@ -108,8 +106,10 @@ if ($view && !$post_id)
AND t.topic_last_post_time $sql_condition t2.topic_last_post_time
ORDER BY t.topic_last_post_time $sql_ordering";
$result = $db->sql_query_limit($sql, 1);
+ $row = $db->sql_fetchrow($result);
+ $db->sql_freeresult($result);
- if (!($row = $db->sql_fetchrow($result)))
+ if (!$row)
{
$message = ($view == 'next') ? 'NO_NEWER_TOPICS' : 'NO_OLDER_TOPICS';
trigger_error($message);
@@ -141,7 +141,6 @@ if ($view && !$post_id)
}
}
-
// This rather complex gaggle of code handles querying for topics but
// also allows for direct linking to a post (and the calculation of which
// page the post is on and the correct display of viewtopic)
@@ -195,7 +194,7 @@ $sql = "SELECT $select_sql $extra_fields
$join_sql_table . "
WHERE $join_sql
AND (f.forum_id = t.forum_id
- " . ((!$forum_id) ? '' : 'OR (t.topic_type = ' . POST_GLOBAL . " AND f.forum_id = $forum_id)") . "
+ " . ((!$forum_id) ? ' OR t.topic_type = ' . POST_GLOBAL : 'OR (t.topic_type = ' . POST_GLOBAL . " AND f.forum_id = $forum_id)") . "
)
$order_sql";
$result = $db->sql_query($sql);
@@ -354,7 +353,7 @@ $s_watching_topic = $s_watching_topic_img = array();
$s_watching_topic['link'] = $s_watching_topic['title'] = '';
if ($config['email_enable'] && $config['allow_topic_notify'] && $user->data['is_registered'])
{
- watch_topic_forum('topic', $s_watching_topic, $s_watching_topic_img, $user->data['user_id'], $topic_id, $topic_data['notify_status'], $start);
+ watch_topic_forum('topic', $s_watching_topic, $s_watching_topic_img, $user->data['user_id'], $forum_id, $topic_id, $topic_data['notify_status'], $start);
}
// Bookmarks