diff --git a/phpBB/adm/style/acp_main.html b/phpBB/adm/style/acp_main.html
index 3bfa7602c7..4b6bc1910d 100644
--- a/phpBB/adm/style/acp_main.html
+++ b/phpBB/adm/style/acp_main.html
@@ -22,8 +22,7 @@
-
-
{L_WARNING}
+
diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css
index 219ff20eba..344b5cacf0 100644
--- a/phpBB/adm/style/admin.css
+++ b/phpBB/adm/style/admin.css
@@ -1175,6 +1175,10 @@ input.disabled {
font-weight: bold;
}
+.notice {
+ background-color: #62A5CC;
+}
+
/* Special cases for the error page */
#errorpage #page-header a {
font-weight: bold;
diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php
index 96ac3de3ce..2ee5ded01d 100644
--- a/phpBB/includes/acp/acp_groups.php
+++ b/phpBB/includes/acp/acp_groups.php
@@ -88,7 +88,7 @@ class acp_groups
// Approve, demote or promote
$group_name = ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name'];
$error = group_user_attributes($action, $group_id, $mark_ary, false, $group_name);
-
+
if (!$error)
{
switch ($action)
@@ -112,7 +112,7 @@ class acp_groups
{
trigger_error($user->lang[$error] . adm_back_link($this->u_action . '&action=list&g=' . $group_id), E_USER_WARNING);
}
-
+
break;
case 'default':
@@ -180,13 +180,17 @@ class acp_groups
case 'deleteusers':
case 'delete':
+ if (!$group_id)
+ {
+ trigger_error($user->lang['NO_GROUP'] . adm_back_link($this->u_action), E_USER_WARNING);
+ }
+ else if ($action === 'delete' && $group_row['group_type'] == GROUP_SPECIAL)
+ {
+ trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action), E_USER_WARNING);
+ }
+
if (confirm_box(true))
{
- if (!$group_id)
- {
- trigger_error($user->lang['NO_GROUP'] . adm_back_link($this->u_action), E_USER_WARNING);
- }
-
$error = '';
switch ($action)
@@ -749,14 +753,14 @@ class acp_groups
foreach ($row_ary as $group_id => $row)
{
$group_name = (!empty($user->lang['G_' . $row['group_name']]))? $user->lang['G_' . $row['group_name']] : $row['group_name'];
-
+
$template->assign_block_vars('groups', array(
'U_LIST' => "{$this->u_action}&action=list&g=$group_id",
'U_EDIT' => "{$this->u_action}&action=edit&g=$group_id",
'U_DELETE' => ($auth->acl_get('a_groupdel')) ? "{$this->u_action}&action=delete&g=$group_id" : '',
'S_GROUP_SPECIAL' => ($row['group_type'] == GROUP_SPECIAL) ? true : false,
-
+
'GROUP_NAME' => $group_name,
'TOTAL_MEMBERS' => $row['total_members'],
)
diff --git a/phpBB/includes/acp/acp_main.php b/phpBB/includes/acp/acp_main.php
index 2b932ebeeb..d100c49381 100644
--- a/phpBB/includes/acp/acp_main.php
+++ b/phpBB/includes/acp/acp_main.php
@@ -485,9 +485,10 @@ class acp_main
$template->assign_var('S_REMOVE_INSTALL', true);
}
- if (file_exists($phpbb_root_path . 'config.' . $phpEx) && is_writable($phpbb_root_path . 'config.' . $phpEx))
+ if (!defined('PHPBB_DISABLE_CONFIG_CHECK') && file_exists($phpbb_root_path . 'config.' . $phpEx) && is_writable($phpbb_root_path . 'config.' . $phpEx))
{
- $template->assign_var('S_WRITABLE_CONFIG', true);
+ // World-Writable? (000x)
+ $template->assign_var('S_WRITABLE_CONFIG', (bool) (@fileperms($phpbb_root_path . 'config.' . $phpEx) & 0x0002));
}
$this->tpl_name = 'acp_main';
diff --git a/phpBB/includes/acp/acp_styles.php b/phpBB/includes/acp/acp_styles.php
index 70c306014d..e0fb1459c2 100644
--- a/phpBB/includes/acp/acp_styles.php
+++ b/phpBB/includes/acp/acp_styles.php
@@ -679,7 +679,7 @@ parse_css_file = {PARSE_CSS_FILE}
{
global $phpbb_root_path, $phpEx, $config, $db, $cache, $user, $template, $safe_mode;
- if (defined('DISABLE_ACP_EDITOR'))
+ if (defined('PHPBB_DISABLE_ACP_EDITOR'))
{
trigger_error($user->lang['EDITOR_DISABLED'] . adm_back_link($this->u_action));
}
diff --git a/phpBB/includes/constants.php b/phpBB/includes/constants.php
index e2a43da8c4..3a468e4952 100644
--- a/phpBB/includes/constants.php
+++ b/phpBB/includes/constants.php
@@ -25,7 +25,7 @@ if (!defined('IN_PHPBB'))
*/
// phpBB Version
-define('PHPBB_VERSION', '3.0.3-RC1');
+define('PHPBB_VERSION', '3.0.3');
// QA-related
// define('PHPBB_QA', 1);
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index fabb1e1aa3..b96024e4e3 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -3707,7 +3707,7 @@ function page_header($page_title = '', $display_online_list = true)
'T_THEME_PATH' => "{$phpbb_root_path}styles/" . $user->theme['theme_path'] . '/theme',
'T_TEMPLATE_PATH' => "{$phpbb_root_path}styles/" . $user->theme['template_path'] . '/template',
- 'T_SUPER_TEMPLATE_PATH' => (isset($user->theme['template_inherit_path'])) ? "{$phpbb_root_path}styles/" . $user->theme['template_inherit_path'] . '/template' : '',
+ 'T_SUPER_TEMPLATE_PATH' => (isset($user->theme['template_inherit_path']) && $user->theme['template_inherit_path']) ? "{$phpbb_root_path}styles/" . $user->theme['template_inherit_path'] . '/template' : "{$phpbb_root_path}styles/" . $user->theme['template_path'] . '/template',
'T_IMAGESET_PATH' => "{$phpbb_root_path}styles/" . $user->theme['imageset_path'] . '/imageset',
'T_IMAGESET_LANG_PATH' => "{$phpbb_root_path}styles/" . $user->theme['imageset_path'] . '/imageset/' . $user->data['user_lang'],
'T_IMAGES_PATH' => "{$phpbb_root_path}images/",
diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php
index eaa3ab0cd3..030ce72d7c 100644
--- a/phpBB/includes/functions_posting.php
+++ b/phpBB/includes/functions_posting.php
@@ -1608,7 +1608,7 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
$post_approval = 1;
// Check the permissions for post approval, as well as the queue trigger where users are put on approval with a post count lower than specified. Moderators are not affected.
- if (($config['enable_queue_trigger'] && $user->data['user_posts'] < $config['queue_trigger_posts'] && !$auth->acl_get('m_approve', $data['forum_id'])) || !$auth->acl_get('f_noapprove', $data['forum_id']))
+ if ((($config['enable_queue_trigger'] && $user->data['user_posts'] < $config['queue_trigger_posts']) || !$auth->acl_get('f_noapprove', $data['forum_id'])) && !$auth->acl_get('m_approve', $data['forum_id']))
{
$post_approval = 0;
}
diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php
index e84d63a950..48fd4e3ad2 100644
--- a/phpBB/install/database_update.php
+++ b/phpBB/install/database_update.php
@@ -8,7 +8,7 @@
*
*/
-$updates_to_version = '3.0.3-RC1';
+$updates_to_version = '3.0.3';
// Return if we "just include it" to find out for which version the database update is responsible for
if (defined('IN_PHPBB') && defined('IN_INSTALL'))
@@ -78,7 +78,7 @@ if (version_compare(PHP_VERSION, '6.0.0-dev', '>='))
}
else
{
- set_magic_quotes_runtime(0);
+ @set_magic_quotes_runtime(0);
define('STRIP', (get_magic_quotes_gpc()) ? true : false);
}
@@ -545,6 +545,9 @@ $database_update_info = array(
),
),
),
+
+ // No changes from 3.0.3-RC1 to 3.0.3
+ '3.0.3-RC1' => array(),
);
// Determine mapping database type
@@ -1935,6 +1938,16 @@ function change_database_data(&$no_updates, $version)
$no_updates = false;
break;
+
+ // Changes from 3.0.3-RC1 to 3.0.3
+ case '3.0.3-RC1':
+ $sql = 'UPDATE ' . LOG_TABLE . "
+ SET log_operation = 'LOG_DELETE_TOPIC'
+ WHERE log_operation = 'LOG_TOPIC_DELETED'";
+ _sql($sql, $errored, $error_ary);
+
+ $no_updates = false;
+ break;
}
}
diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql
index f774090a66..1fd0f96332 100644
--- a/phpBB/install/schemas/schema_data.sql
+++ b/phpBB/install/schemas/schema_data.sql
@@ -218,7 +218,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('topics_per_page',
INSERT INTO phpbb_config (config_name, config_value) VALUES ('tpl_allow_php', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_icons_path', 'images/upload_icons');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_path', 'files');
-INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.0.3-dev');
+INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.0.3');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_expire_days', '90');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_gc', '14400');
diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php
index a9708308ac..c1317b4615 100644
--- a/phpBB/language/en/acp/common.php
+++ b/phpBB/language/en/acp/common.php
@@ -688,9 +688,4 @@ $lang = array_merge($lang, array(
'LOG_WORD_EDIT' => '
Edited word censorยป %s',
));
-// Two language keys with the same text were used in different locations
-// LOG_DELETE_TOPIC is the correct one, this line is here so that existing
-// log entries are not broken. Ensure it is included in your language file.
-$lang['LOG_TOPIC_DELETED'] = $lang['LOG_DELETE_TOPIC'];
-
?>
\ No newline at end of file
diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php
index ccd0568fd6..c78acaf92d 100644
--- a/phpBB/memberlist.php
+++ b/phpBB/memberlist.php
@@ -1261,8 +1261,9 @@ switch ($mode)
if ($mode)
{
$params[] = "mode=$mode";
- $sort_params[] = "mode=$mode";
}
+ $sort_params[] = "mode=$mode";
+
$pagination_url = append_sid("{$phpbb_root_path}memberlist.$phpEx", implode('&', $params));
$sort_url = append_sid("{$phpbb_root_path}memberlist.$phpEx", implode('&', $sort_params));
diff --git a/phpBB/posting.php b/phpBB/posting.php
index a3dcc27d44..1666342c9b 100644
--- a/phpBB/posting.php
+++ b/phpBB/posting.php
@@ -1001,7 +1001,7 @@ if ($submit || $preview || $refresh)
$redirect_url = submit_post($mode, $post_data['post_subject'], $post_data['username'], $post_data['topic_type'], $poll, $data, $update_message);
// Check the permissions for post approval, as well as the queue trigger where users are put on approval with a post count lower than specified. Moderators are not affected.
- if (($config['enable_queue_trigger'] && $user->data['user_posts'] < $config['queue_trigger_posts'] && !$auth->acl_get('m_approve', $data['forum_id'])) || !$auth->acl_get('f_noapprove', $data['forum_id']))
+ if ((($config['enable_queue_trigger'] && $user->data['user_posts'] < $config['queue_trigger_posts']) || !$auth->acl_get('f_noapprove', $data['forum_id'])) && !$auth->acl_get('m_approve', $data['forum_id']))
{
meta_refresh(10, $redirect_url);
$message = ($mode == 'edit') ? $user->lang['POST_EDITED_MOD'] : $user->lang['POST_STORED_MOD'];