diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php
index 5f633b0dfd..89038ff2e6 100644
--- a/phpBB/includes/acp/acp_users.php
+++ b/phpBB/includes/acp/acp_users.php
@@ -1057,7 +1057,7 @@ class acp_users
$var_ary = array(
'dateformat' => array('string', false, 3, 30),
'lang' => array('match', false, '#^[a-z_]{2,}$#i'),
- 'tz' => array('num', false, -13, 13),
+ 'tz' => array('num', false, -14, 14),
'topic_sk' => array('string', false, 1, 1),
'topic_sd' => array('string', false, 1, 1),
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index da93b4e403..0a6bf8d126 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -544,8 +544,10 @@ function watch_topic_forum($mode, &$s_watching, &$s_watching_img, $user_id, $mat
/**
* Marks a topic/forum as read
* Marks a topic as posted to
+*
+* @param int $user_id can only be used with $mode == 'post'
*/
-function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0)
+function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $user_id = 0)
{
global $db, $user, $config;
@@ -786,7 +788,7 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0)
$db->sql_return_on_error(true);
$sql_ary = array(
- 'user_id' => $user->data['user_id'],
+ 'user_id' => (!$user_id) ? $user->data['user_id'] : $user_id,
'topic_id' => $topic_id,
'topic_posted' => 1
);
diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php
index 0c259924d6..261cbe3f45 100644
--- a/phpBB/includes/functions_admin.php
+++ b/phpBB/includes/functions_admin.php
@@ -918,11 +918,15 @@ function sync($mode, $where_type = '', $where_ids = '', $resync_parents = false,
}
else
{
+ // Do not sync the "global forum"
+ $where_ids = array_diff($where_ids, array(0));
+
if (!sizeof($where_ids))
{
// Empty array with IDs. This means that we don't have any work to do. Just return.
return;
}
+
// Limit the topics/forums we are syncing, use specific topic/forum IDs.
// $where_type contains the field for the where clause (forum_id, topic_id)
$where_sql = 'WHERE ' . $mode{0} . ".$where_type IN (" . implode(', ', $where_ids) . ')';
diff --git a/phpBB/includes/mcp/mcp_front.php b/phpBB/includes/mcp/mcp_front.php
index 67f0885caf..653af87a45 100644
--- a/phpBB/includes/mcp/mcp_front.php
+++ b/phpBB/includes/mcp/mcp_front.php
@@ -115,6 +115,7 @@ function mcp_front_view($id, $mode, $action)
$sql = 'SELECT COUNT(r.report_id) AS total
FROM ' . REPORTS_TABLE . ' r, ' . POSTS_TABLE . ' p
WHERE r.post_id = p.post_id
+ AND r.report_closed = 0
AND p.forum_id IN (0, ' . implode(', ', $forum_list) . ')';
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
@@ -126,6 +127,7 @@ function mcp_front_view($id, $mode, $action)
FROM (' . REPORTS_TABLE . ' r, ' . REASONS_TABLE . ' rr,' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . ' t, ' . USERS_TABLE . ' u)
LEFT JOIN ' . FORUMS_TABLE . ' f ON (f.forum_id = p.forum_id)
WHERE r.post_id = p.post_id
+ AND r.report_closed = 0
AND r.reason_id = rr.reason_id
AND p.topic_id = t.topic_id
AND r.user_id = u.user_id
diff --git a/phpBB/includes/mcp/mcp_main.php b/phpBB/includes/mcp/mcp_main.php
index 9513bc96f8..5b7433a6a3 100644
--- a/phpBB/includes/mcp/mcp_main.php
+++ b/phpBB/includes/mcp/mcp_main.php
@@ -170,7 +170,14 @@ class mcp_main
mcp_post_details($id, $mode, $action);
- $this->tpl_name = 'mcp_post';
+ if ($action == 'whois')
+ {
+ $this->tpl_name = 'mcp_whois';
+ }
+ else
+ {
+ $this->tpl_name = 'mcp_post';
+ }
break;
default:
@@ -868,6 +875,9 @@ function mcp_fork_topic($topic_ids)
$db->sql_query('INSERT INTO ' . POSTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
$new_post_id = $db->sql_nextid();
+ // Copy whether the topic is dotted
+ markread('post', $to_forum_id, $new_topic_id, 0, $row['poster_id']);
+
// Copy Attachments
if ($row['post_attachment'])
{
diff --git a/phpBB/includes/mcp/mcp_post.php b/phpBB/includes/mcp/mcp_post.php
index 5dfb5947f9..3880f036a8 100644
--- a/phpBB/includes/mcp/mcp_post.php
+++ b/phpBB/includes/mcp/mcp_post.php
@@ -34,6 +34,22 @@ function mcp_post_details($id, $mode, $action)
switch ($action)
{
+ case 'whois':
+ $ip = request_var('ip', '');
+ include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
+
+ $whois = user_ipwhois($ip);
+
+ $whois = preg_replace('#(\s)([\w\-\._\+]+@[\w\-\.]+)(\s)#', '\1\2 \3', $whois);
+ $whois = preg_replace('#(\s)(http:/{2}[^\s]*)(\s)#', '\1\2 \3', $whois);
+
+ $template->assign_vars(array(
+ 'RETURN_POST' => sprintf($user->lang['RETURN_POST'], "", ' '),
+ 'WHOIS' => trim($whois))
+ );
+ // We're done with the whois page so return
+ return;
+
case 'chgposter':
$username = request_var('username', '');
@@ -249,7 +265,7 @@ function mcp_post_details($id, $mode, $action)
'L_POST_S' => ($row['postings'] == 1) ? $user->lang['POST'] : $user->lang['POSTS'],
'U_LOOKUP_IP' => ($rdns_ip_num == $row['poster_ip'] || $rdns_ip_num == 'all') ? '' : "$url&i=$id&mode=post_details&rdns={$row['poster_ip']}#ip",
- 'U_WHOIS' => "{$phpbb_root_path}mcp.$phpEx$SID&i=$id&mode=whois&ip={$row['poster_ip']}")
+ 'U_WHOIS' => "{$phpbb_root_path}mcp.$phpEx$SID&i=$id&mode=$mode&action=whois&p=$post_id&ip={$row['poster_ip']}")
);
}
$db->sql_freeresult($result);
diff --git a/phpBB/includes/ucp/ucp_prefs.php b/phpBB/includes/ucp/ucp_prefs.php
index 8bddeee325..580dced38e 100644
--- a/phpBB/includes/ucp/ucp_prefs.php
+++ b/phpBB/includes/ucp/ucp_prefs.php
@@ -52,7 +52,7 @@ class ucp_prefs
$var_ary = array(
'dateformat' => array('string', false, 3, 30),
'lang' => array('match', false, '#^[a-z_]{2,}$#i'),
- 'tz' => array('num', false, -13, 13),
+ 'tz' => array('num', false, -14, 14),
);
$error = validate_data($data, $var_ary);
diff --git a/phpBB/includes/ucp/ucp_register.php b/phpBB/includes/ucp/ucp_register.php
index b471e1a79c..5970ac4d99 100644
--- a/phpBB/includes/ucp/ucp_register.php
+++ b/phpBB/includes/ucp/ucp_register.php
@@ -122,7 +122,7 @@ class ucp_register
array('email')),
'email_confirm' => array('string', false, 6, 60),
'confirm_code' => array('string', !$config['enable_confirm'], 5, 8),
- 'tz' => array('num', false, -13, 13),
+ 'tz' => array('num', false, -14, 14),
'lang' => array('match', false, '#^[a-z_]{2,}$#i'),
);
diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php
index 55cd584bb1..72907c97cb 100644
--- a/phpBB/language/en/common.php
+++ b/phpBB/language/en/common.php
@@ -283,7 +283,8 @@ $lang = array_merge($lang, array(
'NEXT' => 'Next',
'NO' => 'No',
'NONE' => 'None',
- 'NOT_WATCHING_FORUM' => 'You no subscribe to updates on this forum',
+ 'NOT_AUTHORIZED' => 'You are not authorized to access this area.',
+ 'NOT_WATCHING_FORUM' => 'You are no longer subscribed to updates on this forum.',
'NOT_WATCHING_TOPIC' => 'You are no longer subscribed to this topic.',
'NO_AUTH_ADMIN' => 'You do not have admin permissions and therefore not allowed to access the administration control panel.',
'NO_AUTH_ADMIN_USER_DIFFER' => 'You are not able to re-authenticate as a different user.',
@@ -404,6 +405,7 @@ $lang = array_merge($lang, array(
'SELECT_FORUM' => 'Select a forum',
'SEND_EMAIL' => 'Email',
'SEND_PRIVATE_MESSAGE' => 'Send private message',
+ 'SETTINGS' => 'Settings',
'SIGNATURE' => 'Signature',
'SKIP' => 'Skip to content',
'SORRY_AUTH_READ' => 'You are not authorized to read this forum',
@@ -565,37 +567,45 @@ $lang = array_merge($lang, array(
),
'tz' => array(
- '-12' => 'GMT - 12 Hours',
- '-11' => 'GMT - 11 Hours',
- '-10' => 'GMT - 10 Hours',
- '-9' => 'GMT - 9 Hours',
- '-8' => 'GMT - 8 Hours',
- '-7' => 'GMT - 7 Hours',
- '-6' => 'GMT - 6 Hours',
- '-5' => 'GMT - 5 Hours',
- '-4' => 'GMT - 4 Hours',
- '-3.5' => 'GMT - 3.5 Hours',
- '-3' => 'GMT - 3 Hours',
- '-2' => 'GMT - 2 Hours',
- '-1' => 'GMT - 1 Hour',
+ '-12' => 'GMT - 12 hours',
+ '-11' => 'GMT - 11 hours',
+ '-10' => 'GMT - 10 hours',
+ '-9.5' => 'GMT - 9:30 hours',
+ '-9' => 'GMT - 9 hours',
+ '-8' => 'GMT - 8 hours',
+ '-7' => 'GMT - 7 hours',
+ '-6' => 'GMT - 6 hours',
+ '-5' => 'GMT - 5 hours',
+ '-4' => 'GMT - 4 hours',
+ '-3.5' => 'GMT - 3:30 hours',
+ '-3' => 'GMT - 3 hours',
+ '-2' => 'GMT - 2 hours',
+ '-1' => 'GMT - 1 hour',
'0' => 'GMT',
- '1' => 'GMT + 1 Hour',
- '2' => 'GMT + 2 Hours',
- '3' => 'GMT + 3 Hours',
- '3.5' => 'GMT + 3.5 Hours',
- '4' => 'GMT + 4 Hours',
- '4.5' => 'GMT + 4.5 Hours',
- '5' => 'GMT + 5 Hours',
- '5.5' => 'GMT + 5.5 Hours',
- '6' => 'GMT + 6 Hours',
- '6.5' => 'GMT + 6.5 Hours',
- '7' => 'GMT + 7 Hours',
- '8' => 'GMT + 8 Hours',
- '9' => 'GMT + 9 Hours',
- '9.5' => 'GMT + 9.5 Hours',
- '10' => 'GMT + 10 Hours',
- '11' => 'GMT + 11 Hours',
- '12' => 'GMT + 12 Hours',
+ '1' => 'GMT + 1 hour',
+ '2' => 'GMT + 2 hours',
+ '3' => 'GMT + 3 hours',
+ '3.5' => 'GMT + 3:30 hours',
+ '4' => 'GMT + 4 hours',
+ '4.5' => 'GMT + 4:30 hours',
+ '5' => 'GMT + 5 hours',
+ '5.5' => 'GMT + 5:30 hours',
+ '5.75' => 'GMT + 5:45 hours',
+ '6' => 'GMT + 6 hours',
+ '6.5' => 'GMT + 6:30 hours',
+ '7' => 'GMT + 7 hours',
+ '8' => 'GMT + 8 hours',
+ '8.75' => 'GMT + 8:45 hours',
+ '9' => 'GMT + 9 hours',
+ '9.5' => 'GMT + 9:30 hours',
+ '10' => 'GMT + 10 hours',
+ '10.5' => 'GMT + 10:30 hours',
+ '11' => 'GMT + 11 hours',
+ '11.5' => 'GMT + 11:30 hours',
+ '12' => 'GMT + 12 hours',
+ '12.75' => 'GMT + 12:45 hours',
+ '13' => 'GMT + 13 hours',
+ '14' => 'GMT + 14 hours',
'dst' => '[ DST ]',
),
@@ -603,13 +613,14 @@ $lang = array_merge($lang, array(
'-12' => '[GMT-12] Eniwetok, Kwaialein',
'-11' => '[GMT-11] Midway Island, Samoa',
'-10' => '[GMT-10] Hawaii, Honolulu',
+ '-9.5' => '[GMT-9:30] Marquesas Is.',
'-9' => '[GMT-9] Alaska, Anchorage',
'-8' => '[GMT-8] Los Angeles, San Francisco, Seattle',
'-7' => '[GMT-7] Denver, Edmonton, Phoenix, Salt Lake City, Santa Fe',
'-6' => '[GMT-6] Chicago, Guatemala, Mexico City, Saskatchewan East',
'-5' => '[GMT-5] Bogota, Kingston, Lima, New York',
'-4' => '[GMT-4] Caracas, Labrador, La Paz, Maritimes, Santiago',
- '-3.5' => '[GMT-3.5] Standard Time [Canada], Newfoundland',
+ '-3.5' => '[GMT-3:30] Standard Time [Canada], Newfoundland',
'-3' => '[GMT-3] Brazilia, Buenos Aires, Georgetown, Rio de Janero',
'-2' => '[GMT-2] Mid-Atlantic',
'-1' => '[GMT-1] Azores, Cape Verde Is.',
@@ -617,20 +628,27 @@ $lang = array_merge($lang, array(
'1' => '[GMT+1] Amsterdam, Berlin, Bern, Brussells, Madrid, Paris, Rome, Oslo, Vienna',
'2' => '[GMT+2] Athens, Bucharest, Harare, Helsinki, Israel, Istanbul',
'3' => '[GMT+3] Ankara, Baghdad, Bahrain, Beruit, Kuwait, Moscow, Nairobi, Riyadh',
- '3.5' => '[GMT+3.5] Iran',
+ '3.5' => '[GMT+3:30] Iran',
'4' => '[GMT+4] Abu Dhabi, Kabul, Muscat, Tbilisi, Volgograd',
- '4.5' => '[GMT+4.5] Afghanistan',
+ '4.5' => '[GMT+4:30] Afghanistan',
'5' => '[GMT+5] Pakistan',
- '5.5' => '[GMT+5.5] Calcutta, India, Madras, New Dehli',
- '6' => '[GMT+6] Almaty, Dhakar, Kathmandu',
- '6.5' => '[GMT+6.5] Rangoon',
+ '5.5' => '[GMT+5:30] Calcutta, India, Madras, New Dehli',
+ '5.75' => '[GMT+5:45] Kathmandu, Nepal',
+ '6' => '[GMT+6] Almaty, Dhakar, Sri Lanka',
+ '6.5' => '[GMT+6:30] Rangoon',
'7' => '[GMT+7] Bangkok, Hanoi, Jakarta, Phnom Penh',
'8' => '[GMT+8] Beijing, Hong Kong, Kuala Lumpar, Manila, Perth, Singapore, Taipei',
+ '8.75' => '[GMT+8:45] Caiguna, Eucla',
'9' => '[GMT+9] Osaka, Sapporo, Seoul, Tokyo, Yakutsk',
- '9.5' => '[GMT+9.5] Adelaide, Darwin',
+ '9.5' => '[GMT+9:30] Adelaide, Darwin',
'10' => '[GMT+10] Brisbane, Canberra, Guam, Hobart, Melbourne, Port Moresby, Sydney',
+ '10.5' => '[GMT+10:30] Lord Howe Is.',
'11' => '[GMT+11] Magadan, New Caledonia, Solomon Is.',
- '12' => '[GMT+12] Auckland, Fiji, Kamchatka, Marshall Is., Suva, Wellington'
+ '11.5' => '[GMT+11:30] Norfolk Is.',
+ '12' => '[GMT+12] Auckland, Fiji, Kamchatka, Marshall Is., Suva, Wellington',
+ '12.75' => '[GMT+12:45] Chatham Is.',
+ '13' => '[GMT+13] Tonga, Phoenix Is.',
+ '14' => '[GMT+14] Line Is.',
),
// The value is only an example and will get replaced by the current time on view
diff --git a/phpBB/language/en/mcp.php b/phpBB/language/en/mcp.php
index 854a472133..5ab9bacfd5 100644
--- a/phpBB/language/en/mcp.php
+++ b/phpBB/language/en/mcp.php
@@ -265,6 +265,7 @@ $lang = array_merge($lang, array(
'RETURN_MESSAGE' => 'Click %sHere%s to return to the message',
'RETURN_NEW_FORUM' => 'Click %sHere%s to return to the new forum',
'RETURN_NEW_TOPIC' => 'Click %sHere%s to return to the new topic',
+ 'RETURN_POST' => 'Click %sHere%s to return to the post',
'RETURN_QUEUE' => 'Click %sHere%s to return to the queue',
'RETURN_REPORTS' => 'Click %sHere%s to return to the reports',
diff --git a/phpBB/language/en/memberlist.php b/phpBB/language/en/memberlist.php
index a5fccc50f2..13eb24ff38 100644
--- a/phpBB/language/en/memberlist.php
+++ b/phpBB/language/en/memberlist.php
@@ -67,8 +67,8 @@ $lang = array_merge($lang, array(
'IM_AIM' => 'Please note that you need AOL Instant Messenger installed to use this.',
'IM_AIM_EXPRESS' => 'AIM Express',
'IM_DOWNLOAD_APP' => 'Download Application',
- 'IM_ICQ' => 'Please note that users may have elected to not receive unsolicited instant messages.',
- 'IM_JABBER' => 'Please note that users may have elected to not receive unsolicited instant messages.',
+ 'IM_ICQ' => 'Please note that users may have selected to not receive unsolicited instant messages.',
+ 'IM_JABBER' => 'Please note that users may have selected to not receive unsolicited instant messages.',
'IM_JABBER_SUBJECT' => 'This is an automated message please do not reply! Message from user %1$s at %2$s',
'IM_MESSAGE' => 'Your Message',
'IM_MSNM' => 'Please note that you need Windows Messenger installed to use this.',
@@ -86,6 +86,7 @@ $lang = array_merge($lang, array(
'LESS_THAN' => 'Less than',
'LIST_USER' => '1 User',
'LIST_USERS' => '%d Users',
+ 'LOGIN_EXPLAIN_VIEWPROFILE' => 'The board administrator requires you to be registered and logged in to view profiles.',
'MORE_THAN' => 'More than',
'MSNM' => 'MSNM',
diff --git a/phpBB/language/en/ucp.php b/phpBB/language/en/ucp.php
index c36e39042a..eb1ad6d45b 100644
--- a/phpBB/language/en/ucp.php
+++ b/phpBB/language/en/ucp.php
@@ -343,7 +343,7 @@ $lang = array_merge($lang, array(
'UCP' => 'User Control Panel',
'UCP_ACTIVATE' => 'Activate account',
- 'UCP_ADMIN_ACTIVATE' => 'Please note that you will need to enter a valid email address before your account is activated. The administrator will review your account and if approved you will an email at the address you specified.',
+ 'UCP_ADMIN_ACTIVATE' => 'Please note that you will need to enter a valid email address before your account is activated. The administrator will review your account and if approved you will receive an email at the address you specified.',
'UCP_AIM' => 'AOL Instant Messenger',
'UCP_ATTACHMENTS' => 'Attachments',
'UCP_COPPA_BEFORE' => 'Before %s',
diff --git a/phpBB/styles/subSilver/template/editor.js b/phpBB/styles/subSilver/template/editor.js
index bbc89abcfb..5c7b6e4e29 100644
--- a/phpBB/styles/subSilver/template/editor.js
+++ b/phpBB/styles/subSilver/template/editor.js
@@ -323,6 +323,7 @@ function mozWrap(txtarea, open, close)
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
+ var scrollTop = txtarea.scrollTop;
if (selEnd == 1 || selEnd == 2)
selEnd = selLength;
@@ -330,6 +331,10 @@ function mozWrap(txtarea, open, close)
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + open + s2 + close + s3;
+ txtarea.selectionStart = selEnd + open.length + close.length;
+ txtarea.selectionEnd = txtarea.selectionStart;
+ txtarea.focus();
+ txtarea.scrollTop = scrollTop;
return;
}
diff --git a/phpBB/styles/subSilver/template/index_body.html b/phpBB/styles/subSilver/template/index_body.html
index 1c887edaa9..347f85d505 100644
--- a/phpBB/styles/subSilver/template/index_body.html
+++ b/phpBB/styles/subSilver/template/index_body.html
@@ -146,14 +146,14 @@
- {L_USERNAME}: {L_PASSWORD}: {L_LOG_ME_IN}
+ {L_USERNAME}: {L_PASSWORD}: {L_LOG_ME_IN}
-
+
{FORUM_NEW_IMG}
{L_NEW_POSTS}
diff --git a/phpBB/styles/subSilver/template/mcp_whois.html b/phpBB/styles/subSilver/template/mcp_whois.html
new file mode 100644
index 0000000000..be0a6174b7
--- /dev/null
+++ b/phpBB/styles/subSilver/template/mcp_whois.html
@@ -0,0 +1,15 @@
+
+
+
+
+ {L_WHOIS}
+
+
+ {RETURN_POST}
+
+
+ {WHOIS}
+
+
+
+
\ No newline at end of file
diff --git a/phpBB/styles/subSilver/template/overall_footer.html b/phpBB/styles/subSilver/template/overall_footer.html
index 839d63609f..136b555331 100644
--- a/phpBB/styles/subSilver/template/overall_footer.html
+++ b/phpBB/styles/subSilver/template/overall_footer.html
@@ -4,7 +4,7 @@
-