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}

+

{L_WRITABLE_CONFIG}

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'];