aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/adm/style/acp_main.html3
-rw-r--r--phpBB/adm/style/admin.css4
-rw-r--r--phpBB/adm/style/permission_mask.html2
-rw-r--r--phpBB/docs/INSTALL.html8
-rw-r--r--phpBB/docs/coding-guidelines.html39
-rw-r--r--phpBB/includes/acm/acm_file.php15
-rw-r--r--phpBB/includes/acp/acp_attachments.php6
-rw-r--r--phpBB/includes/acp/acp_groups.php11
-rw-r--r--phpBB/includes/acp/acp_main.php3
-rw-r--r--phpBB/includes/acp/acp_styles.php11
-rw-r--r--phpBB/includes/functions.php3
-rw-r--r--phpBB/includes/functions_messenger.php4
-rw-r--r--phpBB/includes/template.php4
-rw-r--r--phpBB/includes/ucp/ucp_pm_compose.php20
-rw-r--r--phpBB/install/convertors/convert_phpbb20.php2
-rw-r--r--phpBB/install/database_update.php7
-rw-r--r--phpBB/install/install_install.php2
-rw-r--r--phpBB/language/en/acp/styles.php2
-rw-r--r--phpBB/language/en/common.php12
-rw-r--r--phpBB/memberlist.php24
-rw-r--r--phpBB/posting.php2
-rw-r--r--phpBB/styles/prosilver/imageset/imageset.cfg2
-rw-r--r--phpBB/styles/prosilver/style.cfg3
-rw-r--r--phpBB/styles/prosilver/template/faq_body.html4
-rw-r--r--phpBB/styles/prosilver/template/template.cfg2
-rw-r--r--phpBB/styles/prosilver/theme/content.css9
-rw-r--r--phpBB/styles/prosilver/theme/theme.cfg2
-rw-r--r--phpBB/styles/subsilver2/imageset/imageset.cfg2
-rw-r--r--phpBB/styles/subsilver2/style.cfg2
-rw-r--r--phpBB/styles/subsilver2/template/faq_body.html4
-rw-r--r--phpBB/styles/subsilver2/template/template.cfg2
-rw-r--r--phpBB/styles/subsilver2/theme/theme.cfg2
-rw-r--r--phpBB/viewtopic.php2
33 files changed, 161 insertions, 59 deletions
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 @@
<!-- ENDIF -->
<!-- IF S_WRITABLE_CONFIG -->
- <div class="errorbox">
- <h3>{L_WARNING}</h3>
+ <div class="errorbox notice">
<p>{L_WRITABLE_CONFIG}</p>
</div>
<!-- ENDIF -->
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/adm/style/permission_mask.html b/phpBB/adm/style/permission_mask.html
index 19a24a48b8..fb4d3ef143 100644
--- a/phpBB/adm/style/permission_mask.html
+++ b/phpBB/adm/style/permission_mask.html
@@ -68,7 +68,7 @@
<!-- ELSE -->
<li class="permissions-preset-custom<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}">
<!-- ENDIF -->
- <a href="#" onclick="swap_options('{p_mask.S_ROW_COUNT}', '{p_mask.f_mask.S_ROW_COUNT}', '{p_mask.f_mask.category.S_ROW_COUNT}', false<!-- IF p_mask.S_VIEW -->, true<!-- ENDIF -->); return false;"><span class="tabbg"><span class="colour"></span>{category.CAT_NAME}</span></a></li>
+ <a href="#" onclick="swap_options('{p_mask.S_ROW_COUNT}', '{p_mask.f_mask.S_ROW_COUNT}', '{p_mask.f_mask.category.S_ROW_COUNT}', false<!-- IF p_mask.S_VIEW -->, true<!-- ENDIF -->); return false;"><span class="tabbg"><span class="colour"></span>{p_mask.f_mask.category.CAT_NAME}</span></a></li>
<!-- END category -->
</ul>
</div>
diff --git a/phpBB/docs/INSTALL.html b/phpBB/docs/INSTALL.html
index 59271a0c67..81e6f36e1b 100644
--- a/phpBB/docs/INSTALL.html
+++ b/phpBB/docs/INSTALL.html
@@ -273,7 +273,7 @@
<p>This package is meant for those wanting to only replace changed files from a previous version to the latest version. This package normally contains the changed files from up to five previous versions.</p>
- <p>This package contains a number of archives, each contains the files changed from a given release to the latest version. You should select the appropriate archive for your current version, e.g. if you currently have <samp>3.0.0</samp> you should select the phpBB-3.0.0_to_3.0.1.zip/tar.gz file.</p>
+ <p>This package contains a number of archives, each contains the files changed from a given release to the latest version. You should select the appropriate archive for your current version, e.g. if you currently have <samp>3.0.2</samp> you should select the phpBB-3.0.2_to_3.0.3.zip/tar.gz file.</p>
<p>The directory structure has been preserved enabling you (if you wish) to simply upload the contents of the archive to the appropriate location on your server, i.e. simply overwrite the existing files with the new versions. Do not forget that if you have installed any MODs these files will overwrite the originals possibly destroying them in the process. You will need to re-add MODs to any affected file before uploading.</p>
@@ -285,7 +285,7 @@
<p>The patch file is one solution for those with many Modifications (MODs) or other changes who do not want to re-add them back to all the changed files if they use the method explained above. To use this you will need command line access to a standard UNIX type <strong>patch</strong> application. If you do not have access to such an application but still want to use this update approach, we strongly recommend the <a href="#update_auto">Automatic update package</a> explained below. It is also the preferred update method.</p>
- <p>A number of patch files are provided to allow you to update from previous stable releases. Select the correct patch, e.g. if your current version is 3.0.0 you need the phpBB-3.0.0_to_3.0.1.patch file. Place the correct patch in the parent directory containing the phpBB3 core files (i.e. index.php, viewforum.php, etc.). With this done you should run the following command: <strong>patch -cl -d [PHPBB DIRECTORY] -p1 &lt; [PATCH NAME]</strong> (where PHPBB DIRECTORY is the directory name your phpBB Installation resides in, for example phpBB3, and where PATCH NAME is the relevant filename of the selected patch file). This should complete quickly, hopefully without any HUNK FAILED comments.</p>
+ <p>A number of patch files are provided to allow you to update from previous stable releases. Select the correct patch, e.g. if your current version is 3.0.2 you need the phpBB-3.0.2_to_3.0.3.patch file. Place the correct patch in the parent directory containing the phpBB3 core files (i.e. index.php, viewforum.php, etc.). With this done you should run the following command: <strong>patch -cl -d [PHPBB DIRECTORY] -p1 &lt; [PATCH NAME]</strong> (where PHPBB DIRECTORY is the directory name your phpBB Installation resides in, for example phpBB3, and where PATCH NAME is the relevant filename of the selected patch file). This should complete quickly, hopefully without any HUNK FAILED comments.</p>
<p>If you do get failures you should look at using the <a href="#update_files">Changed files only</a> package to replace the files which failed to patch, please note that you will need to manually re-add any Modifications (MODs) to these particular files. Alternatively if you know how you can examine the .rej files to determine what failed where and make manual adjustments to the relevant source.</p>
@@ -371,9 +371,9 @@
<p><strong>Path to your former board</strong> The converter expects the relative path to your old board's files. So, - for instance - if the old board is located at <code>http://www.yourdomain.com/forum</code> and the phpBB3 installation is located at <code>http://www.yourdomain.com/phpBB3</code>, then the correct value would be <code>../forum</code>. Note that the webserver user must be able to access the source installation's files.</p>
- <p><strong>Missing images</strong> If your default board language's language pack does not include all images, then some images might be missing in your installation. Always use a complete language pack as default language.</p>
+ <p><strong>Missing images</strong> If your default board language's language pack does not include all images, then some images might be missing in your installation. Always use a complete language pack as default language.</p>
- <p><strong>Smilies</strong> During the conversion you might see warnings about image files where the copying failed. That can happen if the old board's smilies have the same file names as those on the new board. Copy those files manually after the conversion, if you want to continue using the old smilies.</p>
+ <p><strong>Smilies</strong> During the conversion you might see warnings about image files where the copying failed. That can happen if the old board's smilies have the same file names as those on the new board. Copy those files manually after the conversion, if you want to continue using the old smilies.</p>
</div>
diff --git a/phpBB/docs/coding-guidelines.html b/phpBB/docs/coding-guidelines.html
index 942769b57a..310bf2ddb4 100644
--- a/phpBB/docs/coding-guidelines.html
+++ b/phpBB/docs/coding-guidelines.html
@@ -1000,8 +1000,18 @@ append_sid('memberlist', 'mode=group&amp;amp;g=' . $row['group_id'])
<div class="inner"><span class="corners-top"><span></span></span>
<div class="content">
-
-<h4>General things</h4>
+ <a name="cfgfiles"></a><h3>3.i. Style Config Files</h3>
+ <p>Style cfg files are simple name-value lists with the information necessary for installing a style. Similar cfg files exist for templates, themes and imagesets. These follow the same principle and will not be introduced individually. Styles can use installed components by using the required_theme/required_template/required_imageset entries. The important part of the style configuration file is assigning an unique name.</p>
+ <div class="codebox"><pre>
+ # General Information about this style
+ name = prosilver_duplicate
+ copyright = &copy; phpBB Group, 2007
+ version = 3.0.3
+ required_template = prosilver
+ required_theme = prosilver
+ required_imageset = prosilver
+ </pre></div>
+ <a name="genstyling"></a><h3>3.2. General Styling Rules</h3>
<p>Templates should be produced in a consistent manner. Where appropriate they should be based off an existing copy, e.g. index, viewforum or viewtopic (the combination of which implement a range of conditional and variable forms). Please also note that the intendation and coding guidelines also apply to templates where possible.</p>
<p>The outer table class <code>forumline</code> has gone and is replaced with <code>tablebg</code>.</p>
@@ -1069,6 +1079,8 @@ append_sid('memberlist', 'mode=group&amp;amp;g=' . $row['group_id'])
<div class="content">
+ <a name="templates"></a><h3>4.i. General Templating</h3>
+
<h4>File naming</h4>
<p>Firstly templates now take the suffix &quot;.html&quot; rather than &quot;.tpl&quot;. This was done simply to make the lifes of some people easier wrt syntax highlighting, etc.</p>
@@ -1456,6 +1468,29 @@ div
&lt;/fieldset&gt
&lt;/form&gt
</pre></div><br />
+
+ <a name="inheritance"></a><h3>4.ii. Template Inheritance</h3>
+ <p>When basing a new template on an existing one, it is not necessary to provide all template files. By declaring the template to be &quot;<strong>inheriting</strong>&quot; in the template configuration file.</p>
+
+ <p>The limitation on this is that the base style has to be installed and complete, meaning that it is not itself inheriting.</p>
+
+ <p>The effect of doing so is that the template engine will use the files in the new template where they exist, but fall back to files in the base template otherwise. Declaring a style to be inheriting also causes it to use some of the configuration settings of the base style, notably database storage.</p>
+
+ <p>We strongly encourage the use of inheritance for styles based on the bundled styles, as it will ease the update procedure.</p>
+
+ <div class="codebox"><pre>
+ # General Information about this template
+ name = inherits
+ copyright = &copy; phpBB Group, 2007
+ version = 3.0.3
+
+ # Defining a different template bitfield
+ template_bitfield = lNg=
+
+ # Are we inheriting?
+ inherit_from = prosilver
+ </pre></div>
+
</div>
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
diff --git a/phpBB/includes/acm/acm_file.php b/phpBB/includes/acm/acm_file.php
index 62d30f8018..e0e99d4153 100644
--- a/phpBB/includes/acm/acm_file.php
+++ b/phpBB/includes/acm/acm_file.php
@@ -84,6 +84,11 @@ class acm
@flock($fp, LOCK_UN);
fclose($fp);
+ if (!function_exists('phpbb_chmod'))
+ {
+ include(PHPBB_ROOT_PATH . 'includes/functions.' . PHP_EXT);
+ }
+
phpbb_chmod($this->cache_dir . 'data_global.' . PHP_EXT, CHMOD_WRITE);
}
else
@@ -182,6 +187,11 @@ class acm
@flock($fp, LOCK_UN);
fclose($fp);
+ if (!function_exists('phpbb_chmod'))
+ {
+ include(PHPBB_ROOT_PATH . 'includes/functions.' . PHP_EXT);
+ }
+
phpbb_chmod($this->cache_dir . "data{$var_name}." . PHP_EXT, CHMOD_WRITE);
}
}
@@ -392,6 +402,11 @@ class acm
@flock($fp, LOCK_UN);
fclose($fp);
+ if (!function_exists('phpbb_chmod'))
+ {
+ include(PHPBB_ROOT_PATH . 'includes/functions.' . PHP_EXT);
+ }
+
phpbb_chmod($filename, CHMOD_WRITE);
$query_result = $query_id;
diff --git a/phpBB/includes/acp/acp_attachments.php b/phpBB/includes/acp/acp_attachments.php
index 3b53d51417..7b866e3c36 100644
--- a/phpBB/includes/acp/acp_attachments.php
+++ b/phpBB/includes/acp/acp_attachments.php
@@ -768,6 +768,8 @@ class acp_attachments
$s_forum_id_options = '';
+ /** @todo use in-built function **/
+
$sql = 'SELECT forum_id, forum_name, parent_id, forum_type, left_id, right_id
FROM ' . FORUMS_TABLE . '
ORDER BY left_id ASC';
@@ -798,7 +800,7 @@ class acp_attachments
}
else if ($row['left_id'] > $right + 1)
{
- $padding = $padding_store[$row['parent_id']];
+ $padding = empty($padding_store[$row['parent_id']]) ? '' : $padding_store[$row['parent_id']];
}
$right = $row['right_id'];
@@ -1171,7 +1173,7 @@ class acp_attachments
$location .= '/';
}
- if (@is_readable($location . 'mogrify' . $exe) && @filesize($location . 'mogrify' . $exe) > 3000)
+ if (@file_exists($location) && @is_readable($location . 'mogrify' . $exe) && @filesize($location . 'mogrify' . $exe) > 3000)
{
$imagick = str_replace('\\', '/', $location);
continue;
diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php
index 1680dacfda..cae2c30433 100644
--- a/phpBB/includes/acp/acp_groups.php
+++ b/phpBB/includes/acp/acp_groups.php
@@ -87,7 +87,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)
@@ -111,7 +111,7 @@ class acp_groups
{
trigger_error($user->lang[$error] . adm_back_link($this->u_action . '&amp;action=list&amp;g=' . $group_id), E_USER_WARNING);
}
-
+
break;
case 'default':
@@ -179,7 +179,7 @@ class acp_groups
case 'deleteusers':
case 'delete':
- if (!$group_id)
+ if (!$group_id)
{
trigger_error($user->lang['NO_GROUP'] . adm_back_link($this->u_action), E_USER_WARNING);
}
@@ -187,6 +187,7 @@ class acp_groups
{
trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action), E_USER_WARNING);
}
+
if (confirm_box(true))
{
$error = '';
@@ -751,14 +752,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}&amp;action=list&amp;g=$group_id",
'U_EDIT' => "{$this->u_action}&amp;action=edit&amp;g=$group_id",
'U_DELETE' => ($auth->acl_get('a_groupdel')) ? "{$this->u_action}&amp;action=delete&amp;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 caaeb31404..3e66f49afa 100644
--- a/phpBB/includes/acp/acp_main.php
+++ b/phpBB/includes/acp/acp_main.php
@@ -483,7 +483,8 @@ class acp_main
if (!defined('PHPBB_DISABLE_CONFIG_CHECK') && file_exists(PHPBB_ROOT_PATH . 'config.' . PHP_EXT) && is_writable(PHPBB_ROOT_PATH . 'config.' . PHP_EXT))
{
- $template->assign_var('S_WRITABLE_CONFIG', true);
+ // World-Writable? (000x)
+ $template->assign_var('S_WRITABLE_CONFIG', (bool) (@fileperms(PHPBB_ROOT_PATH . 'config.' . PHP_EXT) & 0x0002));
}
$this->tpl_name = 'acp_main';
diff --git a/phpBB/includes/acp/acp_styles.php b/phpBB/includes/acp/acp_styles.php
index e205b15892..b2389da3d4 100644
--- a/phpBB/includes/acp/acp_styles.php
+++ b/phpBB/includes/acp/acp_styles.php
@@ -688,7 +688,7 @@ parse_css_file = {PARSE_CSS_FILE}
}
fwrite($fp, $template_data);
fclose($fp);
-
+
// destroy the cached version of the template (filename without extension)
$this->clear_template_cache($template_info, array(substr($template_file, 0, -5)));
@@ -826,7 +826,7 @@ parse_css_file = {PARSE_CSS_FILE}
trigger_error($user->lang['TEMPLATE_CACHE_CLEARED'] . adm_back_link($this->u_action . "&amp;action=cache&amp;id=$template_id"));
}
- $cache_prefix = 'tpl_' . $template_row['template_path'];
+ $cache_prefix = 'tpl_' . str_replace('_', '-', $template_row['template_path']);
// Someone wants to see the cached source ... so we'll highlight it,
// add line numbers and indent it appropriately. This could be nasty
@@ -1638,7 +1638,6 @@ parse_css_file = {PARSE_CSS_FILE}
if ($mode == 'template' || $inc_template)
{
$template_cfg = str_replace(array('{MODE}', '{NAME}', '{COPYRIGHT}', '{VERSION}'), array($mode, $style_row['template_name'], $style_row['template_copyright'], $config['version']), $this->template_cfg);
- $template_cfg .= "\nbbcode_bitfield = {$style_row['bbcode_bitfield']}";
$data[] = array(
'src' => $template_cfg,
@@ -2193,7 +2192,7 @@ parse_css_file = {PARSE_CSS_FILE}
{
global $user;
- $cache_prefix = 'tpl_' . $template_path;
+ $cache_prefix = 'tpl_' . str_replace('_', '-', $template_path);
if (!($dp = @opendir(PHPBB_ROOT_PATH . 'cache')))
{
@@ -2229,7 +2228,7 @@ parse_css_file = {PARSE_CSS_FILE}
{
global $user;
- $cache_prefix = 'tpl_' . $template_row['template_path'];
+ $cache_prefix = 'tpl_' . str_replace('_', '-', $template_row['template_path']);
if (!$file_ary || !is_array($file_ary))
{
@@ -3069,4 +3068,4 @@ parse_css_file = {PARSE_CSS_FILE}
}
}
-?> \ No newline at end of file
+?>
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index eb7d5815a3..e99f70f153 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -3547,9 +3547,6 @@ function page_header($page_title = '', $display_online_list = true)
'S_BOARD_DISABLED' => ($config['board_disable']) ? true : false,
'S_REGISTERED_USER' => (!empty($user->data['is_registered'])) ? true : false,
'S_IS_BOT' => (!empty($user->data['is_bot'])) ? true : false,
- 'S_IN_SEARCH' => false,
- 'S_VIEWTOPIC' => false,
- 'S_VIEWFORUM' => false,
'S_USER_PM_POPUP' => $user->optionget('popuppm'),
'S_USER_LANG' => $user_lang,
'S_USER_BROWSER' => (isset($user->data['session_browser'])) ? $user->data['session_browser'] : $user->lang['UNKNOWN_BROWSER'],
diff --git a/phpBB/includes/functions_messenger.php b/phpBB/includes/functions_messenger.php
index de8b031b68..73206839b7 100644
--- a/phpBB/includes/functions_messenger.php
+++ b/phpBB/includes/functions_messenger.php
@@ -691,7 +691,7 @@ class queue
if ($fp = @fopen($this->cache_file, 'wb'))
{
@flock($fp, LOCK_EX);
- fwrite($fp, "<?php\n\$this->queue_data = " . var_export($this->queue_data, true) . ";\n?>");
+ fwrite($fp, "<?php\n\$this->queue_data = unserialize(" . var_export(serialize($this->queue_data), true) . ");\n\n?>");
@flock($fp, LOCK_UN);
fclose($fp);
@@ -732,7 +732,7 @@ class queue
if ($fp = @fopen($this->cache_file, 'w'))
{
@flock($fp, LOCK_EX);
- fwrite($fp, "<?php\n\$this->queue_data = " . var_export($this->data, true) . ";\n?>");
+ fwrite($fp, "<?php\n\$this->queue_data = unserialize(" . var_export(serialize($this->data), true) . ");\n\n?>");
@flock($fp, LOCK_UN);
fclose($fp);
diff --git a/phpBB/includes/template.php b/phpBB/includes/template.php
index 9e0ff6c02a..814d6d2e50 100644
--- a/phpBB/includes/template.php
+++ b/phpBB/includes/template.php
@@ -67,7 +67,7 @@ class template
public function set_custom_template($template_path, $template_name)
{
$this->root = $template_path;
- $this->cachepath = PHPBB_ROOT_PATH . 'cache/ctpl_' . $template_name . '_';
+ $this->cachepath = PHPBB_ROOT_PATH . 'cache/ctpl_' . str_replace('_', '-', $template_name) . '_';
return true;
}
@@ -174,7 +174,7 @@ class template
}
else
{
- // if we could not eval AND the file exists, something horrific has occured
+ // if we could not eval AND the file exists, something horrific has occured
return false;
}
diff --git a/phpBB/includes/ucp/ucp_pm_compose.php b/phpBB/includes/ucp/ucp_pm_compose.php
index 89cdd5c640..0df9ba2707 100644
--- a/phpBB/includes/ucp/ucp_pm_compose.php
+++ b/phpBB/includes/ucp/ucp_pm_compose.php
@@ -418,6 +418,26 @@ function compose_pm($id, $mode, $action)
$max_recipients = (!$max_recipients) ? $config['pm_max_recipients'] : $max_recipients;
+ // If this is a quote/reply "to all"... we may increase the max_recpients to the number of original recipients
+ if (($action == 'reply' || $action == 'quote') && $max_recipients)
+ {
+ // We try to include every previously listed member from the TO Header
+ $list = rebuild_header(array('to' => $post['to_address']));
+
+ // Can be an empty array too ;)
+ $list = (!empty($list['u'])) ? $list['u'] : array();
+ $list[$post['author_id']] = 'to';
+
+ if (isset($list[$user->data['user_id']]))
+ {
+ unset($list[$user->data['user_id']]);
+ }
+
+ $max_recipients = ($max_recipients < sizeof($list)) ? sizeof($list) : $max_recipients;
+
+ unset($list);
+ }
+
// Handle User/Group adding/removing
handle_message_list_actions($address_list, $error, $remove_u, $remove_g, $add_to, $add_bcc);
diff --git a/phpBB/install/convertors/convert_phpbb20.php b/phpBB/install/convertors/convert_phpbb20.php
index 3b62abacb0..d7dbad94b6 100644
--- a/phpBB/install/convertors/convert_phpbb20.php
+++ b/phpBB/install/convertors/convert_phpbb20.php
@@ -32,7 +32,7 @@ unset($dbpasswd);
$convertor_data = array(
'forum_name' => 'phpBB 2.0.x',
'version' => '1.0.2',
- 'phpbb_version' => '3.0.2',
+ 'phpbb_version' => '3.0.3',
'author' => '<a href="http://www.phpbb.com/">phpBB Group</a>',
'dbms' => $dbms,
'dbhost' => $dbhost,
diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php
index b0b6efe62c..e43e8ad142 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 responsuble 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);
}
@@ -340,6 +340,9 @@ $unsigned_types = array('UINT', 'UINT:', 'USINT', 'BOOL', 'TIMESTAMP');
// Only an example, but also commented out
$database_update_info = array(
+
+ // No changes from 3.0.3-RC1 to 3.0.3
+ '3.0.3-RC1' => array(),
);
// Determine mapping database type
diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php
index faf569482f..fce0350c31 100644
--- a/phpBB/install/install_install.php
+++ b/phpBB/install/install_install.php
@@ -418,7 +418,7 @@ class install_install extends module
$location .= '/';
}
- if (@is_readable($location . 'mogrify' . $exe) && @filesize($location . 'mogrify' . $exe) > 3000)
+ if (@file_exists($location) && @is_readable($location . 'mogrify' . $exe) && @filesize($location . 'mogrify' . $exe) > 3000)
{
$img_imagick = str_replace('\\', '/', $location);
continue;
diff --git a/phpBB/language/en/acp/styles.php b/phpBB/language/en/acp/styles.php
index 4b13d62ace..2d28b4fb2a 100644
--- a/phpBB/language/en/acp/styles.php
+++ b/phpBB/language/en/acp/styles.php
@@ -166,7 +166,7 @@ $lang = array_merge($lang, array(
'IMG_FORUM_UNREAD_SUBFORUM' => 'Subforum new posts',
'IMG_SUBFORUM_READ' => 'Legend subforum',
'IMG_SUBFORUM_UNREAD' => 'Legend subforum new posts',
-
+
'IMG_TOPIC_MOVED' => 'Topic moved',
'IMG_TOPIC_READ' => 'Topic',
diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php
index 7c8de35264..f6d009b5dd 100644
--- a/phpBB/language/en/common.php
+++ b/phpBB/language/en/common.php
@@ -260,7 +260,7 @@ $lang = array_merge($lang, array(
'HOME' => 'Home',
'ICQ' => 'ICQ',
- 'ICQ_STATUS' => 'ICQ status',
+ 'ICQ_STATUS' => 'ICQ status',
'IF' => 'If',
'IMAGE' => 'Image',
'IMAGE_FILETYPE_INVALID' => 'Image file type %d for mimetype %s not supported.',
@@ -331,7 +331,7 @@ $lang = array_merge($lang, array(
'MODERATORS' => 'Moderators',
'MONTH' => 'Month',
'MOVE' => 'Move',
- 'MSNM' => 'MSNM/WLM',
+ 'MSNM' => 'MSNM/WLM',
'NA' => 'N/A',
'NEWEST_USER' => 'Our newest member <strong>%s</strong>',
@@ -370,7 +370,7 @@ $lang = array_merge($lang, array(
'NO_MEMBERS' => 'No members found for this search criterion.',
'NO_MESSAGES' => 'No messages',
'NO_MODE' => 'No mode specified.',
- 'NO_MODERATORS' => 'No moderators assigned at this board.',
+ 'NO_MODERATORS' => 'There are no moderators.',
'NO_NEW_MESSAGES' => 'No new messages',
'NO_NEW_PM' => '<strong>0</strong> new messages',
'NO_NEW_POSTS' => 'No new posts',
@@ -502,7 +502,7 @@ $lang = array_merge($lang, array(
'SEARCHING_FORUMS' => 'Searching forums',
'SEARCH_ACTIVE_TOPICS' => 'View active topics',
'SEARCH_FOR' => 'Search for',
- 'SEARCH_FORUM' => 'Search this forum…',
+ 'SEARCH_FORUM' => 'Search this forum…',
'SEARCH_NEW' => 'View new posts',
'SEARCH_POSTS_BY' => 'Search posts by',
'SEARCH_SELF' => 'View your posts',
@@ -545,7 +545,7 @@ $lang = array_merge($lang, array(
'THE_TEAM' => 'The team',
'TIME' => 'Time',
- 'TOO_LONG' => 'The value you entered is too long.',
+ 'TOO_LONG' => 'The value you entered is too long',
'TOO_LONG_AIM' => 'The screenname you entered is too long.',
'TOO_LONG_CONFIRM_CODE' => 'The confirm code you entered is too long.',
@@ -680,7 +680,7 @@ $lang = array_merge($lang, array(
'YEAR' => 'Year',
'YEAR_MONTH_DAY' => '(YYYY-MM-DD)',
'YES' => 'Yes',
- 'YIM' => 'YIM',
+ 'YIM' => 'YIM',
'YOU_LAST_VISIT' => 'Last visit was: %s',
'YOU_NEW_PM' => 'A new private message is waiting for you in your Inbox.',
'YOU_NEW_PMS' => 'New private messages are waiting for you in your Inbox.',
diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php
index b8de2ee2d6..489c38d4d3 100644
--- a/phpBB/memberlist.php
+++ b/phpBB/memberlist.php
@@ -1271,11 +1271,21 @@ switch ($mode)
$s_group_select = '<option value="0"' . ((!$group_selected) ? ' selected="selected"' : '') . '>&nbsp;</option>';
$group_ids = array();
+ /**
+ * @todo add this to a separate function (function is responsible for returning the groups the user is able to see based on the users group membership)
+ */
+
if ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel'))
{
$sql = 'SELECT group_id, group_name, group_type
- FROM ' . GROUPS_TABLE . '
- ORDER BY group_name ASC';
+ FROM ' . GROUPS_TABLE;
+
+ if (!$config['coppa_enable'])
+ {
+ $sql .= " WHERE group_name <> 'REGISTERED_COPPA'";
+ }
+
+ $sql .= ' ORDER BY group_name ASC';
}
else
{
@@ -1287,8 +1297,14 @@ switch ($mode)
AND ug.user_id = ' . $user->data['user_id'] . '
AND ug.user_pending = 0
)
- WHERE (g.group_type <> ' . GROUP_HIDDEN . ' OR ug.user_id = ' . $user->data['user_id'] . ')
- ORDER BY g.group_name ASC';
+ WHERE (g.group_type <> ' . GROUP_HIDDEN . ' OR ug.user_id = ' . $user->data['user_id'] . ')';
+
+ if (!$config['coppa_enable'])
+ {
+ $sql .= " WHERE group_name <> 'REGISTERED_COPPA'";
+ }
+
+ $sql .= ' ORDER BY g.group_name ASC';
}
$result = $db->sql_query($sql);
diff --git a/phpBB/posting.php b/phpBB/posting.php
index 9aec127873..226cb31dfc 100644
--- a/phpBB/posting.php
+++ b/phpBB/posting.php
@@ -289,7 +289,7 @@ if ($mode == 'delete')
if ($mode == 'bump')
{
if ($bump_time = bump_topic_allowed($forum_id, $post_data['topic_bumped'], $post_data['topic_last_post_time'], $post_data['topic_poster'], $post_data['topic_last_poster_id'])
- && check_link_hash(request_var('hash', ''),"topic_{$post_data['topic_id']}"))
+ && check_link_hash(request_var('hash', ''), "topic_{$post_data['topic_id']}"))
{
$db->sql_transaction('begin');
diff --git a/phpBB/styles/prosilver/imageset/imageset.cfg b/phpBB/styles/prosilver/imageset/imageset.cfg
index 83b5cdb710..3e1ea21dce 100644
--- a/phpBB/styles/prosilver/imageset/imageset.cfg
+++ b/phpBB/styles/prosilver/imageset/imageset.cfg
@@ -19,7 +19,7 @@
# General Information about this style
name = prosilver
copyright = &copy; phpBB Group, 2007
-version = 3.0.0
+version = 3.0.3
# Images
img_site_logo = site_logo.gif*52*139
diff --git a/phpBB/styles/prosilver/style.cfg b/phpBB/styles/prosilver/style.cfg
index f1ea67f7ce..75c7c654ba 100644
--- a/phpBB/styles/prosilver/style.cfg
+++ b/phpBB/styles/prosilver/style.cfg
@@ -19,4 +19,5 @@
# General Information about this style
name = prosilver
copyright = &copy; phpBB Group, 2007
-version = 3.0.0 \ No newline at end of file
+version = 3.0.0
+
diff --git a/phpBB/styles/prosilver/template/faq_body.html b/phpBB/styles/prosilver/template/faq_body.html
index aec578985e..78c2fc11b7 100644
--- a/phpBB/styles/prosilver/template/faq_body.html
+++ b/phpBB/styles/prosilver/template/faq_body.html
@@ -16,7 +16,7 @@
<dl class="faq">
<dt><strong>{faq_block.BLOCK_TITLE}</strong></dt>
<!-- BEGIN faq_row -->
- <dd><a href="#f{faq_block.S_ROW_COUNT}{faq_block.faq_row.S_ROW_COUNT}">{faq_block.faq_row.FAQ_QUESTION}</a></dd>
+ <dd><a href="#f{faq_block.S_ROW_COUNT}r{faq_block.faq_row.S_ROW_COUNT}">{faq_block.faq_row.FAQ_QUESTION}</a></dd>
<!-- END faq_row -->
</dl>
<!-- END faq_block -->
@@ -36,7 +36,7 @@
<h2>{faq_block.BLOCK_TITLE}</h2>
<!-- BEGIN faq_row -->
<dl class="faq">
- <dt id="f{faq_block.S_ROW_COUNT}{faq_block.faq_row.S_ROW_COUNT}"><strong>{faq_block.faq_row.FAQ_QUESTION}</strong></dt>
+ <dt id="f{faq_block.S_ROW_COUNT}r{faq_block.faq_row.S_ROW_COUNT}"><strong>{faq_block.faq_row.FAQ_QUESTION}</strong></dt>
<dd>{faq_block.faq_row.FAQ_ANSWER}</dd>
<dd><a href="#faqlinks" class="top2">{L_BACK_TO_TOP}</a></dd>
</dl>
diff --git a/phpBB/styles/prosilver/template/template.cfg b/phpBB/styles/prosilver/template/template.cfg
index 1251dcdce2..ebfc3f0d6b 100644
--- a/phpBB/styles/prosilver/template/template.cfg
+++ b/phpBB/styles/prosilver/template/template.cfg
@@ -19,7 +19,7 @@
# General Information about this template
name = prosilver
copyright = &copy; phpBB Group, 2007
-version = 3.0.0
+version = 3.0.3
# Defining a different template bitfield
template_bitfield = lNg=
diff --git a/phpBB/styles/prosilver/theme/content.css b/phpBB/styles/prosilver/theme/content.css
index 936b53f78a..00342604bb 100644
--- a/phpBB/styles/prosilver/theme/content.css
+++ b/phpBB/styles/prosilver/theme/content.css
@@ -385,6 +385,15 @@ dd .signature {
border: none;
}
+.signature li {
+ list-style-type: inherit;
+}
+
+.signature ul, .signature ol {
+ margin-bottom: 1em;
+ margin-left: 3em;
+}
+
/* Post noticies */
.notice {
font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif;
diff --git a/phpBB/styles/prosilver/theme/theme.cfg b/phpBB/styles/prosilver/theme/theme.cfg
index 19fb8517b2..efed06babb 100644
--- a/phpBB/styles/prosilver/theme/theme.cfg
+++ b/phpBB/styles/prosilver/theme/theme.cfg
@@ -21,7 +21,7 @@
# General Information about this theme
name = prosilver
copyright = &copy; phpBB Group, 2007
-version = 3.0.0
+version = 3.0.3
# Some configuration options
diff --git a/phpBB/styles/subsilver2/imageset/imageset.cfg b/phpBB/styles/subsilver2/imageset/imageset.cfg
index 44f44007d7..16aced113d 100644
--- a/phpBB/styles/subsilver2/imageset/imageset.cfg
+++ b/phpBB/styles/subsilver2/imageset/imageset.cfg
@@ -19,7 +19,7 @@
# General Information about this style
name = subsilver2
copyright = &copy; phpBB Group, 2003
-version = 3.0.0
+version = 3.0.3
# Images
img_site_logo = site_logo.gif*94*170
diff --git a/phpBB/styles/subsilver2/style.cfg b/phpBB/styles/subsilver2/style.cfg
index 7465d36673..c9a93c15de 100644
--- a/phpBB/styles/subsilver2/style.cfg
+++ b/phpBB/styles/subsilver2/style.cfg
@@ -19,4 +19,4 @@
# General Information about this style
name = subsilver2
copyright = &copy; 2005 phpBB Group
-version = 3.0.0
+version = 3.0.3
diff --git a/phpBB/styles/subsilver2/template/faq_body.html b/phpBB/styles/subsilver2/template/faq_body.html
index 9e324b4fd2..bbd9b82b19 100644
--- a/phpBB/styles/subsilver2/template/faq_body.html
+++ b/phpBB/styles/subsilver2/template/faq_body.html
@@ -13,7 +13,7 @@
<!-- BEGIN faq_block -->
<span class="gen"><b>{faq_block.BLOCK_TITLE}</b></span><br />
<!-- BEGIN faq_row -->
- <span class="gen"><a class="postlink" href="#f{faq_block.S_ROW_COUNT}{faq_block.faq_row.S_ROW_COUNT}">{faq_block.faq_row.FAQ_QUESTION}</a></span><br />
+ <span class="gen"><a class="postlink" href="#f{faq_block.S_ROW_COUNT}r{faq_block.faq_row.S_ROW_COUNT}">{faq_block.faq_row.FAQ_QUESTION}</a></span><br />
<!-- END faq_row -->
<br />
<!-- END faq_block -->
@@ -38,7 +38,7 @@
<!-- ELSE -->
<td class="row2" valign="top">
<!-- ENDIF -->
- <div class="postbody"><a name="f{faq_block.S_ROW_COUNT}{faq_block.faq_row.S_ROW_COUNT}"></a><b>&#187; {faq_block.faq_row.FAQ_QUESTION}</b></div>
+ <div class="postbody"><a name="f{faq_block.S_ROW_COUNT}r{faq_block.faq_row.S_ROW_COUNT}"></a><b>&#187; {faq_block.faq_row.FAQ_QUESTION}</b></div>
<div class="postbody">{faq_block.faq_row.FAQ_ANSWER}</div>
<p class="gensmall"><a href="#faqtop">{L_BACK_TO_TOP}</a></p>
</td>
diff --git a/phpBB/styles/subsilver2/template/template.cfg b/phpBB/styles/subsilver2/template/template.cfg
index c83a1d94ad..47099947fc 100644
--- a/phpBB/styles/subsilver2/template/template.cfg
+++ b/phpBB/styles/subsilver2/template/template.cfg
@@ -19,5 +19,5 @@
# General Information about this template
name = subsilver2
copyright = &copy; phpBB Group, 2003
-version = 3.0.0
+version = 3.0.3
diff --git a/phpBB/styles/subsilver2/theme/theme.cfg b/phpBB/styles/subsilver2/theme/theme.cfg
index 648c5732a8..7d5bdd0615 100644
--- a/phpBB/styles/subsilver2/theme/theme.cfg
+++ b/phpBB/styles/subsilver2/theme/theme.cfg
@@ -21,7 +21,7 @@
# General Information about this theme
name = subsilver2
copyright = &copy; phpBB Group, 2003
-version = 3.0.0
+version = 3.0.3
# Some configuration options
diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php
index de64de5734..1165db0e2c 100644
--- a/phpBB/viewtopic.php
+++ b/phpBB/viewtopic.php
@@ -476,7 +476,7 @@ if (($config['email_enable'] || $config['jab_enable']) && $config['allow_topic_n
// Bookmarks
if ($config['allow_bookmarks'] && $user->data['is_registered'] && request_var('bookmark', 0))
{
- if (check_link_hash(request_var('hash', ''),"topic_$topic_id"))
+ if (check_link_hash(request_var('hash', ''), "topic_$topic_id"))
{
if (!$topic_data['bookmarked'])
{