aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/adm/style/acp_forums.html6
-rw-r--r--phpBB/includes/acp/acp_forums.php4
-rw-r--r--phpBB/includes/acp/acp_modules.php3
-rw-r--r--phpBB/includes/functions.php6
-rw-r--r--phpBB/includes/functions_admin.php6
-rw-r--r--phpBB/includes/functions_display.php12
-rw-r--r--phpBB/includes/functions_module.php37
-rw-r--r--phpBB/includes/functions_profile_fields.php52
-rw-r--r--phpBB/includes/session.php22
-rw-r--r--phpBB/includes/ucp/ucp_register.php19
-rw-r--r--phpBB/install/schemas/firebird_schema.sql8
-rw-r--r--phpBB/install/schemas/mssql_schema.sql10
-rw-r--r--phpBB/install/schemas/mysql_schema.sql8
-rw-r--r--phpBB/install/schemas/oracle_schema.sql8
-rw-r--r--phpBB/install/schemas/postgres_schema.sql8
-rw-r--r--phpBB/install/schemas/sqlite_schema.sql6
-rw-r--r--phpBB/language/en/common.php2
-rw-r--r--phpBB/language/en/groups.php1
-rw-r--r--phpBB/language/en/mcp.php2
-rw-r--r--phpBB/language/en/memberlist.php1
-rw-r--r--phpBB/memberlist.php2
-rw-r--r--phpBB/styles/subSilver/template/bbcode.html14
22 files changed, 172 insertions, 65 deletions
diff --git a/phpBB/adm/style/acp_forums.html b/phpBB/adm/style/acp_forums.html
index 5f7b2cb63c..f8eaabf2dc 100644
--- a/phpBB/adm/style/acp_forums.html
+++ b/phpBB/adm/style/acp_forums.html
@@ -145,8 +145,10 @@
</dl>
<dl>
<dt><label for="enable_prune">{L_FORUM_AUTO_PRUNE}:</label><br /><span>{L_FORUM_AUTO_PRUNE_EXPLAIN}</span></dt>
- <dd><input type="radio" class="radio" name="enable_prune" value="1"<!-- IF S_PRUNE_ENABLE --> id="enable_prune" checked="checked"<!-- ENDIF --> /> {L_YES} &nbsp; <input type="radio" class="radio" name="enable_prune" value="0"<!-- IF not S_PRUNE_ENABLE --> id="enable_prune" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
+ <dd><input type="radio" class="radio" name="enable_prune" onchange="dE('forum_prune_options', 1)" value="1"<!-- IF S_PRUNE_ENABLE --> id="enable_prune" checked="checked"<!-- ENDIF --> /> {L_YES} &nbsp; <input type="radio" class="radio" name="enable_prune" onchange="dE('forum_prune_options', -1)" value="0"<!-- IF not S_PRUNE_ENABLE --> id="enable_prune" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
</dl>
+
+ <div id="forum_prune_options"<!-- IF not S_PRUNE_ENABLE --> style="display: none;"<!-- ENDIF -->>
<dl>
<dt><label for="prune_freq">{L_AUTO_PRUNE_FREQ}:</label><br /><span>{L_AUTO_PRUNE_FREQ_EXPLAIN}</span></dt>
<dd><input type="text" id="prune_freq" name="prune_freq" value="{PRUNE_FREQ}" /> {L_DAYS}</dd>
@@ -171,6 +173,8 @@
<dt><label for="prune_sticky">{L_PRUNE_STICKY}:</label></dt>
<dd><input type="radio" class="radio" name="prune_sticky" value="1"<!-- IF S_PRUNE_STICKY --> id="prune_sticky" checked="checked"<!-- ENDIF --> /> {L_YES} &nbsp; <input type="radio" class="radio" name="prune_sticky" value="0"<!-- IF not S_PRUNE_STICKY --> id="prune_sticky" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
</dl>
+ </div>
+
<dl>
<dt><label for="topics_per_page">{L_FORUM_TOPICS_PAGE}:</label><br /><span>{L_FORUM_TOPICS_PAGE_EXPLAIN}</span></dt>
<dd><input type="text" id="topics_per_page" name="topics_per_page" value="{TOPICS_PER_PAGE}" /></dd>
diff --git a/phpBB/includes/acp/acp_forums.php b/phpBB/includes/acp/acp_forums.php
index b4ff8ea854..a9e9e727ce 100644
--- a/phpBB/includes/acp/acp_forums.php
+++ b/phpBB/includes/acp/acp_forums.php
@@ -85,7 +85,7 @@ class acp_forums
'forum_id' => $forum_id
);
- // No break here
+ // No break here
case 'add':
@@ -416,7 +416,7 @@ class acp_forums
{
$forum_data = array(
'parent_id' => $this->parent_id,
- 'forum_type' => FORUM_CAT,
+ 'forum_type' => FORUM_POST,
'forum_status' => ITEM_UNLOCKED,
'forum_name' => request_var('forum_name', '', true),
'forum_link' => '',
diff --git a/phpBB/includes/acp/acp_modules.php b/phpBB/includes/acp/acp_modules.php
index 4d1339a111..ebb1245c22 100644
--- a/phpBB/includes/acp/acp_modules.php
+++ b/phpBB/includes/acp/acp_modules.php
@@ -495,6 +495,9 @@ class acp_modules
$template->assign_vars(array(
'S_NO_MODULES' => true,
+ 'MODULE_TITLE' => $langname,
+ 'MODULE_ENABLED' => ($row['module_enabled']) ? true : false,
+ 'MODULE_DISPLAYED' => ($row['module_display']) ? true : false,
'U_EDIT' => $url . '&amp;action=edit',
'U_DELETE' => $url . '&amp;action=delete',
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index 525c215845..c90975853a 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -1435,6 +1435,12 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
// Username, password, etc...
default:
$err = $user->lang[$result['error_msg']];
+
+ // Assign admin contact to some error messages
+ if ($result['error_msg'] == 'LOGIN_ERROR_USERNAME' || $result['error_msg'] == 'LOGIN_ERROR_PASSWORD')
+ {
+ $err = (!$config['board_contact']) ? sprintf($user->lang[$result['error_msg']], '', '') : sprintf($user->lang[$result['error_msg']], '<a href="mailto:' . htmlentities($config['board_contact']) . '">', '</a>');
+ }
break;
}
}
diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php
index ea3c41f08b..d4eb271260 100644
--- a/phpBB/includes/functions_admin.php
+++ b/phpBB/includes/functions_admin.php
@@ -1457,12 +1457,12 @@ function sync($mode, $where_type = '', $where_ids = '', $resync_parents = false,
switch (SQL_LAYER)
{
case 'mssql':
- case 'mssql-odbc':
- $sql .= 'GROUP BY t.topic_id, t.post_approved';
+ case 'mssql_odbc':
+ $sql .= ' GROUP BY t.topic_id, t.post_approved';
break;
default:
- $sql .= 'GROUP BY t.topic_id';
+ $sql .= ' GROUP BY t.topic_id';
break;
}
$result = $db->sql_query($sql);
diff --git a/phpBB/includes/functions_display.php b/phpBB/includes/functions_display.php
index 407a592c13..9981d106ac 100644
--- a/phpBB/includes/functions_display.php
+++ b/phpBB/includes/functions_display.php
@@ -230,11 +230,13 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
if (!$row['parent_id'] && $row['forum_type'] == FORUM_CAT)
{
$template->assign_block_vars('forumrow', array(
- 'S_IS_CAT' => true,
- 'FORUM_ID' => $row['forum_id'],
- 'FORUM_NAME' => $row['forum_name'],
- 'FORUM_DESC' => generate_text_for_display($row['forum_desc'], $row['forum_desc_uid'], $row['forum_desc_bitfield']),
- 'U_VIEWFORUM' => "{$phpbb_root_path}viewforum.$phpEx$SID&amp;f=" . $row['forum_id'])
+ 'S_IS_CAT' => true,
+ 'FORUM_ID' => $row['forum_id'],
+ 'FORUM_NAME' => $row['forum_name'],
+ 'FORUM_DESC' => generate_text_for_display($row['forum_desc'], $row['forum_desc_uid'], $row['forum_desc_bitfield']),
+ 'FORUM_FOLDER_IMG' => ($row['forum_image']) ? '<img src="' . $phpbb_root_path . $row['forum_image'] . '" alt="' . $user->lang['FORUM_CAT'] . '" />' : '',
+ 'FORUM_FOLDER_IMG_SRC' => ($row['forum_image']) ? $phpbb_root_path . $row['forum_image'] : '',
+ 'U_VIEWFORUM' => "{$phpbb_root_path}viewforum.$phpEx$SID&amp;f=" . $row['forum_id'])
);
continue;
diff --git a/phpBB/includes/functions_module.php b/phpBB/includes/functions_module.php
index 942c542846..d8e4652eee 100644
--- a/phpBB/includes/functions_module.php
+++ b/phpBB/includes/functions_module.php
@@ -303,7 +303,7 @@ class p_master
*
* @final
*/
- function load_active($mode = false)
+ function load_active($mode = false, $module_url = false, $execute_module = true)
{
global $phpbb_root_path, $phpbb_admin_path, $phpEx, $SID, $user;
@@ -338,16 +338,33 @@ class p_master
// We pre-define the action parameter we are using all over the place
if (defined('IN_ADMIN'))
{
+ // Not being able to overwrite ;)
$this->module->u_action = "{$phpbb_admin_path}index.$phpEx$SID" . (($icat) ? '&amp;icat=' . $icat : '') . "&amp;i={$this->p_id}&amp;mode={$this->p_mode}";
}
else
{
- $this->module->u_action = "{$phpbb_root_path}{$user->page['page_dir']}{$user->page['page_name']}$SID" . (($icat) ? '&amp;icat=' . $icat : '') . "&amp;i={$this->p_id}&amp;mode={$this->p_mode}";
+ // If user specified the module url we will use it...
+ if ($module_url !== false)
+ {
+ $this->module->u_action = $module_url;
+ }
+ else
+ {
+ $this->module->u_action = "{$user->page['script_path']}/{$user->page['page_name']}";
+ }
+
+ $this->module->u_action = $SID . (($icat) ? '&amp;icat=' . $icat : '') . "&amp;i={$this->p_id}&amp;mode={$this->p_mode}";
}
- // Execute the main method for the new instance, we send the module
- // id and mode as parameters
- $this->module->main(($this->p_name) ? $this->p_name : $this->p_id, $this->p_mode);
+ // Assign the module path for re-usage
+ $this->module->module_path = $module_path . '/';
+
+ // Execute the main method for the new instance, we send the module id and mode as parameters
+ // Users are able to call the main method after this function to be able to assign additional parameters manually
+ if ($execute_module)
+ {
+ $this->module->main(($this->p_name) ? $this->p_name : $this->p_id, $this->p_mode);
+ }
return;
}
@@ -403,6 +420,7 @@ class p_master
/**
* Build true binary tree from given array
+ * Not in use
*/
function build_tree(&$modules, &$parents)
{
@@ -447,6 +465,9 @@ class p_master
$current_id = false;
+ // Make sure the module_url has a question mark set, effectively determining the delimiter to use
+ $delim = (strpos($module_url, '?') === false) ? '?' : '&amp;';
+
$current_padding = $current_depth = 0;
$linear_offset = 'l_block1';
$tabular_offset = 't_block2';
@@ -484,14 +505,14 @@ class p_master
}
}
- $u_title = $module_url . (($itep_ary['is_duplicate']) ? '&amp;icat=' . $current_id : '') . '&amp;i=' . (($itep_ary['cat']) ? $itep_ary['id'] : $itep_ary['name'] . '&amp;mode=' . $itep_ary['mode']);
+ $u_title = $module_url . $delim . 'i=' . (($itep_ary['cat']) ? $itep_ary['id'] : $itep_ary['name'] . (($itep_ary['is_duplicate']) ? '&amp;icat=' . $current_id : '') . '&amp;mode=' . $itep_ary['mode']);
$u_title .= (!$itep_ary['cat'] && isset($itep_ary['url_extra'])) ? $itep_ary['url_extra'] : '';
-
+
// Only output a categories items if it's currently selected
if (!$depth || ($depth && (in_array($itep_ary['parent'], array_values($this->module_cache['parents'])) || $itep_ary['parent'] == $this->p_parent)))
{
$use_tabular_offset = (!$depth) ? 't_block1' : $tabular_offset;
-
+
$tpl_ary = array(
'L_TITLE' => $itep_ary['lang'],
'S_SELECTED' => (in_array($itep_ary['id'], array_keys($this->module_cache['parents'])) || $itep_ary['id'] == $this->p_id) ? true : false,
diff --git a/phpBB/includes/functions_profile_fields.php b/phpBB/includes/functions_profile_fields.php
index 94b7e9a443..f6ba08dbb4 100644
--- a/phpBB/includes/functions_profile_fields.php
+++ b/phpBB/includes/functions_profile_fields.php
@@ -355,14 +355,8 @@ class custom_profile
WHERE user_id IN (' . implode(', ', array_map('intval', $user_id)) . ')';
$result = $db->sql_query($sql);
- if (!($row = $db->sql_fetchrow($result)))
- {
- $db->sql_freeresult($result);
- return array();
- }
-
$user_fields = array();
- do
+ while ($row = $db->sql_fetchrow($result))
{
foreach ($row as $ident => $value)
{
@@ -372,8 +366,7 @@ class custom_profile
$user_fields[$row['user_id']][$ident]['data'] = $this->profile_cache[$ident];
}
}
- }
- while ($row = $db->sql_fetchrow($result));
+ }
$db->sql_freeresult($result);
return $user_fields;
@@ -431,6 +424,10 @@ class custom_profile
switch ($this->profile_types[$field_type])
{
case 'int':
+ if ($value == '')
+ {
+ return NULL;
+ }
return (int) $value;
break;
@@ -493,7 +490,7 @@ class custom_profile
if ($ident_ary['data']['field_length'] == 1)
{
- $this->options_lang[$field_id][$lang_id][(int) $value];
+ return (isset($this->options_lang[$field_id][$lang_id][(int) $value])) ? $this->options_lang[$field_id][$lang_id][(int) $value] : NULL;
}
else if (!$value)
{
@@ -527,6 +524,30 @@ class custom_profile
{
$value = (isset($_REQUEST[$profile_row['field_ident']])) ? true : ((!isset($user->profile_fields[$user_ident]) || $preview) ? $default_value : $user->profile_fields[$user_ident]);
}
+ else if ($profile_row['field_type'] == FIELD_INT)
+ {
+ if (isset($_REQUEST[$profile_row['field_ident']]))
+ {
+ $value = ($_REQUEST[$profile_row['field_ident']] === '') ? NULL : request_var($profile_row['field_ident'], $default_value);
+ }
+ else
+ {
+ if (is_null($user->profile_fields[$user_ident]) && !$preview)
+ {
+ $value = NULL;
+ }
+ else if (!isset($user->profile_fields[$user_ident]) || $preview)
+ {
+ $value = $default_value;
+ }
+ else
+ {
+ $value = $user->profile_fields[$user_ident];
+ }
+ }
+
+ return (is_null($value)) ? '' : (int) $value;
+ }
else
{
$value = (isset($_REQUEST[$profile_row['field_ident']])) ? request_var($profile_row['field_ident'], $default_value, true) : ((!isset($user->profile_fields[$user_ident]) || $preview) ? $default_value : $user->profile_fields[$user_ident]);
@@ -818,6 +839,17 @@ class custom_profile
$var = request_var($var_name, $profile_row['field_default_value'], true);
break;
+ case FIELD_INT:
+ if (isset($_REQUEST[$var_name]) && $_REQUEST[$var_name] === '')
+ {
+ $var = NULL;
+ }
+ else
+ {
+ $var = request_var($var_name, $profile_row['field_default_value']);
+ }
+ break;
+
default:
$var = request_var($var_name, $profile_row['field_default_value']);
break;
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php
index 39fe8e9f1d..40c6da1606 100644
--- a/phpBB/includes/session.php
+++ b/phpBB/includes/session.php
@@ -55,6 +55,8 @@ class session
}
}
+ // The following examples given are for an request uri of {path to the phpbb directory}/adm/index.php?i=10&b=2
+
// The current query string
$query_string = trim(implode('&', $args));
@@ -62,16 +64,30 @@ class session
$page_name = htmlspecialchars(basename($script_name));
// current directory within the phpBB root (for example: adm)
- $page_dir = substr(str_replace(str_replace('\\', '/', realpath($root_path)), '', str_replace('\\', '/', realpath('./'))), 1);
+ $root_dirs = explode('/', str_replace('\\', '/', realpath($root_path)));
+ $page_dirs = explode('/', str_replace('\\', '/', realpath('./')));
+ $intersection = array_intersect_assoc($root_dirs, $page_dirs);
+
+ $root_dirs = array_diff_assoc($root_dirs, $intersection);
+ $page_dirs = array_diff_assoc($page_dirs, $intersection);
+
+ $page_dir = str_repeat('../', sizeof($root_dirs)) . implode('/', $page_dirs);
+
+ if ($page_dir && $page_dir{strlen($page_dir) - 1} == '/')
+ {
+ $page_dir = substr($page_dir, 0, -1);
+ }
- // Current page from phpBB root (for example: adm/index.php?i=10)
+ // Current page from phpBB root (for example: adm/index.php?i=10&b=2)
$page = (($page_dir) ? $page_dir . '/' : '') . $page_name . (($query_string) ? "?$query_string" : '');
// The script path from the webroot to the current directory (for example: /phpBB2/adm) : always prefixed with /
$script_path = trim(str_replace('\\', '/', dirname($script_name)));
// The script path from the webroot to the phpBB root (for example: /phpBB2)
- $root_script_path = ($page_dir) ? str_replace('/' . $page_dir, '', $script_path) : $script_path;
+ $script_dirs = explode('/', $script_path);
+ array_splice($script_dirs, -sizeof($page_dirs));
+ $root_script_path = implode('/', $script_dirs) . (sizeof($root_dirs) ? '/' . implode('/', $root_dirs) : '');
// We are on the base level (phpBB root == webroot), lets adjust the variables a bit...
if (!$root_script_path)
diff --git a/phpBB/includes/ucp/ucp_register.php b/phpBB/includes/ucp/ucp_register.php
index 3305ef8729..e13983a761 100644
--- a/phpBB/includes/ucp/ucp_register.php
+++ b/phpBB/includes/ucp/ucp_register.php
@@ -242,6 +242,7 @@ class ucp_register
'user_email_hash' => (int) crc32(strtolower($email)) . strlen($email),
'group_id' => (int) $group_id,
'user_timezone' => (float) $tz,
+ 'user_dateformat' => $config['default_dateformat'],
'user_lang' => $lang,
'user_style' => $config['default_style'],
'user_allow_pm' => 1,
@@ -258,6 +259,24 @@ class ucp_register
'user_dst' => 0,
'user_colour' => '',
'user_avatar' => '',
+ 'user_avatar_type' => 0,
+ 'user_avatar_width' => 0,
+ 'user_avatar_height' => 0,
+ 'user_new_privmsg' => 0,
+ 'user_unread_privmsg' => 0,
+ 'user_last_privmsg' => 0,
+ 'user_message_rules' => 0,
+ 'user_full_folder' => PRIVMSGS_NO_BOX,
+ 'user_emailtime' => 0,
+
+ 'user_notify' => 0,
+ 'user_notify_pm' => 1,
+ 'user_notify_type' => NOTIFY_EMAIL,
+ 'user_allow_pm' => 1,
+ 'user_allow_email' => 1,
+ 'user_allow_viewonline' => 1,
+ 'user_allow_viewemail' => 1,
+ 'user_allow_massemail' => 1,
'user_sig' => '',
'user_sig_bbcode_uid' => '',
diff --git a/phpBB/install/schemas/firebird_schema.sql b/phpBB/install/schemas/firebird_schema.sql
index 97d5592fe7..e33efd71a9 100644
--- a/phpBB/install/schemas/firebird_schema.sql
+++ b/phpBB/install/schemas/firebird_schema.sql
@@ -1238,9 +1238,9 @@ CREATE TABLE phpbb_topics (
topic_moved_id INTEGER DEFAULT 0 NOT NULL,
topic_bumped INTEGER DEFAULT 0 NOT NULL,
topic_bumper INTEGER DEFAULT 0 NOT NULL,
- poll_title BLOB SUB_TYPE TEXT,
- poll_start INTEGER DEFAULT 0 NOT NULL,
- poll_length INTEGER DEFAULT 0 NOT NULL,
+ poll_title BLOB SUB_TYPE TEXT NULL,
+ poll_start INTEGER DEFAULT 0 NULL,
+ poll_length INTEGER DEFAULT 0 NULL,
poll_max_options INTEGER DEFAULT 1 NOT NULL,
poll_last_vote INTEGER DEFAULT 0 ,
poll_vote_change INTEGER DEFAULT 0 NOT NULL
@@ -1317,7 +1317,7 @@ CREATE TABLE phpbb_users (
user_type INTEGER DEFAULT 0 NOT NULL,
group_id INTEGER DEFAULT 3 NOT NULL,
user_permissions BLOB SUB_TYPE TEXT,
- user_perm_from INTEGER DEFAULT 0 NOT NULL,
+ user_perm_from INTEGER DEFAULT 0 NULL,
user_ip VARCHAR(40) DEFAULT '' NOT NULL,
user_regdate INTEGER DEFAULT 0 NOT NULL,
username VARCHAR(252) DEFAULT '' NOT NULL,
diff --git a/phpBB/install/schemas/mssql_schema.sql b/phpBB/install/schemas/mssql_schema.sql
index debfe8548a..49dc1f22b0 100644
--- a/phpBB/install/schemas/mssql_schema.sql
+++ b/phpBB/install/schemas/mssql_schema.sql
@@ -1943,9 +1943,9 @@ CREATE TABLE [phpbb_topics] (
[topic_moved_id] [int] NOT NULL ,
[topic_bumped] [int] NOT NULL ,
[topic_bumper] [int] NOT NULL ,
- [poll_title] [varchar] (3000) ,
- [poll_start] [int] NOT NULL ,
- [poll_length] [int] NOT NULL ,
+ [poll_title] [varchar] (3000) NULL ,
+ [poll_start] [int] NULL ,
+ [poll_length] [int] NULL ,
[poll_max_options] [int] NOT NULL ,
[poll_last_vote] [int] NULL ,
[poll_vote_change] [int] NOT NULL
@@ -2114,14 +2114,14 @@ CREATE TABLE [phpbb_users] (
[user_type] [int] NOT NULL ,
[group_id] [int] NOT NULL ,
[user_permissions] [text] NULL ,
- [user_perm_from] [int] NOT NULL ,
+ [user_perm_from] [int] NULL ,
[user_ip] [varchar] (40) NOT NULL ,
[user_regdate] [int] NOT NULL ,
[username] [varchar] (255) NOT NULL ,
[user_password] [varchar] (40) NOT NULL ,
[user_passchg] [int] NULL ,
[user_email] [varchar] (100) NOT NULL ,
- [user_email_hash] [int] NOT NULL ,
+ [user_email_hash] [float] NOT NULL ,
[user_birthday] [varchar] (10) NULL ,
[user_lastvisit] [int] NOT NULL ,
[user_lastmark] [int] NOT NULL ,
diff --git a/phpBB/install/schemas/mysql_schema.sql b/phpBB/install/schemas/mysql_schema.sql
index b626ef39e4..b3de43cf50 100644
--- a/phpBB/install/schemas/mysql_schema.sql
+++ b/phpBB/install/schemas/mysql_schema.sql
@@ -817,9 +817,9 @@ CREATE TABLE phpbb_topics (
topic_moved_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
topic_bumped tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
topic_bumper mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
- poll_title text,
- poll_start int(11) DEFAULT '0' NOT NULL,
- poll_length int(11) DEFAULT '0' NOT NULL,
+ poll_title text NULL,
+ poll_start int(11) DEFAULT '0' NULL,
+ poll_length int(11) DEFAULT '0' NULL,
poll_max_options tinyint(4) UNSIGNED DEFAULT '1' NOT NULL,
poll_last_vote int(11) UNSIGNED DEFAULT '0',
poll_vote_change tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
@@ -874,7 +874,7 @@ CREATE TABLE phpbb_users (
user_type tinyint(1) DEFAULT '0' NOT NULL,
group_id mediumint(8) DEFAULT '3' NOT NULL,
user_permissions text NULL,
- user_perm_from mediumint(8) DEFAULT '0' NOT NULL,
+ user_perm_from mediumint(8) DEFAULT '0' NULL,
user_ip varchar(40) DEFAULT '' NOT NULL,
user_regdate int(11) DEFAULT '0' NOT NULL,
username varchar(255) DEFAULT '' NOT NULL,
diff --git a/phpBB/install/schemas/oracle_schema.sql b/phpBB/install/schemas/oracle_schema.sql
index 16daf340b5..7aea30d6da 100644
--- a/phpBB/install/schemas/oracle_schema.sql
+++ b/phpBB/install/schemas/oracle_schema.sql
@@ -1609,9 +1609,9 @@ CREATE TABLE phpbb_topics (
topic_moved_id number(8) DEFAULT '0' NOT NULL,
topic_bumped number(1) DEFAULT '0' NOT NULL,
topic_bumper number(8) DEFAULT '0' NOT NULL,
- poll_title varchar2(3000),
- poll_start number(11) DEFAULT '0' NOT NULL,
- poll_length number(11) DEFAULT '0' NOT NULL,
+ poll_title varchar2(3000) NULL,
+ poll_start number(11) DEFAULT '0' NULL,
+ poll_length number(11) DEFAULT '0' NULL,
poll_max_options number(4) DEFAULT '1' NOT NULL,
poll_last_vote number(11) DEFAULT '0',
poll_vote_change number(1) DEFAULT '0' NOT NULL,
@@ -1715,7 +1715,7 @@ CREATE TABLE phpbb_users (
user_type number(1) DEFAULT '0' NOT NULL,
group_id number(8) DEFAULT '3' NOT NULL,
user_permissions clob NULL,
- user_perm_from number(8) DEFAULT '0' NOT NULL,
+ user_perm_from number(8) DEFAULT '0' NULL,
user_ip varchar2(40) DEFAULT '' NOT NULL,
user_regdate number(11) DEFAULT '0' NOT NULL,
username varchar2(255) DEFAULT '' NOT NULL,
diff --git a/phpBB/install/schemas/postgres_schema.sql b/phpBB/install/schemas/postgres_schema.sql
index c979573ca9..7191e442eb 100644
--- a/phpBB/install/schemas/postgres_schema.sql
+++ b/phpBB/install/schemas/postgres_schema.sql
@@ -1197,9 +1197,9 @@ CREATE TABLE phpbb_topics (
topic_moved_id INT4 DEFAULT '0' NOT NULL,
topic_bumped INT2 DEFAULT '0' NOT NULL,
topic_bumper INT4 DEFAULT '0' NOT NULL,
- poll_title varchar(3000),
- poll_start INT4 DEFAULT '0' NOT NULL,
- poll_length INT4 DEFAULT '0' NOT NULL,
+ poll_title varchar(3000) NULL,
+ poll_start INT4 DEFAULT '0' NULL,
+ poll_length INT4 DEFAULT '0' NULL,
poll_max_options INT2 DEFAULT '1' NOT NULL,
poll_last_vote INT4 DEFAULT '0',
poll_vote_change INT2 DEFAULT '0' NOT NULL,
@@ -1291,7 +1291,7 @@ CREATE TABLE phpbb_users (
user_type INT2 DEFAULT '0' NOT NULL,
group_id INT4 DEFAULT '3' NOT NULL,
user_permissions TEXT NULL,
- user_perm_from INT4 DEFAULT '0' NOT NULL,
+ user_perm_from INT4 DEFAULT '0' NULL,
user_ip varchar(40) DEFAULT '' NOT NULL,
user_regdate INT4 DEFAULT '0' NOT NULL,
username varchar_ci,
diff --git a/phpBB/install/schemas/sqlite_schema.sql b/phpBB/install/schemas/sqlite_schema.sql
index f9f458ad13..32808cf5e5 100644
--- a/phpBB/install/schemas/sqlite_schema.sql
+++ b/phpBB/install/schemas/sqlite_schema.sql
@@ -873,9 +873,9 @@ CREATE TABLE phpbb_topics (
topic_moved_id mediumint(8) NOT NULL DEFAULT '0',
topic_bumped tinyint(1) NOT NULL DEFAULT '0',
topic_bumper mediumint(8) NOT NULL DEFAULT '0',
- poll_title text(65535),
- poll_start int(11) NOT NULL DEFAULT '0',
- poll_length int(11) NOT NULL DEFAULT '0',
+ poll_title text(65535) NULL,
+ poll_start int(11) NULL DEFAULT '0',
+ poll_length int(11) NULL DEFAULT '0',
poll_max_options tinyint(4) NOT NULL DEFAULT '1',
poll_last_vote int(11) DEFAULT '0',
poll_vote_change tinyint(1) NOT NULL DEFAULT '0'
diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php
index 7d010d0301..0a9c41631b 100644
--- a/phpBB/language/en/common.php
+++ b/phpBB/language/en/common.php
@@ -146,6 +146,7 @@ $lang = array_merge($lang, array(
'FORUM' => 'Forum',
'FORUMS' => 'Forums',
'FORUMS_MARKED' => 'All forums have been marked read',
+ 'FORUM_CAT' => 'Forum category',
'FORUM_INDEX' => 'Board index',
'FORUM_LINK' => 'Forum link',
'FORUM_LOCATION' => 'Forum location',
@@ -217,6 +218,7 @@ $lang = array_merge($lang, array(
'ICQ_STATUS' => 'ICQ status',
'IF' => 'if',
+ 'IMAGE' => 'Image',
'IN' => 'in',
'INDEX' => 'Index page',
'INFORMATION' => 'Information',
diff --git a/phpBB/language/en/groups.php b/phpBB/language/en/groups.php
index e1f1be968e..93573e43c3 100644
--- a/phpBB/language/en/groups.php
+++ b/phpBB/language/en/groups.php
@@ -67,6 +67,7 @@ $lang = array_merge($lang, array(
'LOGIN_EXPLAIN_GROUP' => 'You need to login to view group details',
+ 'NO_LEADERS' => 'No group leaders defined',
'NOT_LEADER_OF_GROUP' => 'The requested operation cannot be taken because you are not a leader of the selected group.',
'NOT_MEMBER_OF_GROUP' => 'The requested operation cannot be taken because you are not a member of the selected group.',
diff --git a/phpBB/language/en/mcp.php b/phpBB/language/en/mcp.php
index 09f2657380..ea29b65002 100644
--- a/phpBB/language/en/mcp.php
+++ b/phpBB/language/en/mcp.php
@@ -114,7 +114,7 @@ $lang = array_merge($lang, array(
'LOGS_CURRENT_TOPIC' => 'Currently viewing logs of:',
'LOGIN_EXPLAIN_MCP' => 'To moderate this forum you must login.',
'LOGVIEW_VIEWTOPIC' => 'View topic',
- 'LOGVIEW_VIEWLOGS' => 'View Ttopic log',
+ 'LOGVIEW_VIEWLOGS' => 'View topic log',
'LOGVIEW_VIEWFORUM' => 'View forum',
'LOOKUP_ALL' => 'Look up all IPs',
'LOOKUP_IP' => 'Look up IP',
diff --git a/phpBB/language/en/memberlist.php b/phpBB/language/en/memberlist.php
index 107bba636f..b963c0b6e8 100644
--- a/phpBB/language/en/memberlist.php
+++ b/phpBB/language/en/memberlist.php
@@ -87,6 +87,7 @@ $lang = array_merge($lang, array(
'LIST_USER' => '1 user',
'LIST_USERS' => '%d users',
'LOGIN_EXPLAIN_LEADERS' => 'The board administrator requires you to be registered and logged in to view the team listing.',
+ 'LOGIN_EXPLAIN_MEMBERLIST' => 'The board administrator requires you to be registered and logged in to access the memberlist.',
'LOGIN_EXPLAIN_SEARCHUSER' => 'The board administrator requires you to be registered and logged in to search users.',
'LOGIN_EXPLAIN_VIEWPROFILE' => 'The board administrator requires you to be registered and logged in to view profiles.',
diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php
index 2d94958238..22567691e0 100644
--- a/phpBB/memberlist.php
+++ b/phpBB/memberlist.php
@@ -42,7 +42,7 @@ switch ($mode)
trigger_error('NO_VIEW_USERS');
}
- login_box('', $user->lang['LOGIN_EXPLAIN_' . strtoupper($mode)]);
+ login_box('', ((isset($user->lang['LOGIN_EXPLAIN_' . strtoupper($mode)])) ? $user->lang['LOGIN_EXPLAIN_' . strtoupper($mode)] : $user->lang['LOGIN_EXPLAIN_MEMBERLIST']));
}
break;
}
diff --git a/phpBB/styles/subSilver/template/bbcode.html b/phpBB/styles/subSilver/template/bbcode.html
index b7e54805b8..abab909699 100644
--- a/phpBB/styles/subSilver/template/bbcode.html
+++ b/phpBB/styles/subSilver/template/bbcode.html
@@ -50,7 +50,7 @@
<!-- BEGIN size --><span style="font-size: {SIZE}px; line-height: normal">{TEXT}</span><!-- END size -->
-<!-- BEGIN img --><img src="{URL}" border="0" /><!-- END img -->
+<!-- BEGIN img --><img src="{URL}" alt="{L_IMAGE}" /><!-- END img -->
<!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url -->
@@ -58,11 +58,11 @@
<!-- BEGIN flash -->
<object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=5,0,0,0" width="{WIDTH}" height="{HEIGHT}">
- <param name="movie" value="{URL}">
- <param name="play" value="1">
- <param name="loop" value="1">
- <param name="quality" value="high">
- <param name="allowScriptAccess" value="never">
- <embed src="{URL}" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" width="{WIDTH}" height="{HEIGHT}" play="1" loop="1" quality="high" allowscriptaccess="never"></embed>
+ <param name="movie" value="{URL}" />
+ <param name="play" value="true" />
+ <param name="loop" value="true" />
+ <param name="quality" value="high" />
+ <param name="allowScriptAccess" value="never" />
+ <embed src="{URL}" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" width="{WIDTH}" height="{HEIGHT}" play="true" loop="true" quality="high" allowscriptaccess="never"></embed>
</object>
<!-- END flash -->