diff --git a/phpBB/includes/acm/acm_file.php b/phpBB/includes/acm/acm_file.php
index 856170497e..883878b4b4 100644
--- a/phpBB/includes/acm/acm_file.php
+++ b/phpBB/includes/acm/acm_file.php
@@ -170,6 +170,9 @@ class acm
{
global $db, $phpEx;
+ // Remove extra spaces and tabs
+ $query = preg_replace('/[\n\r\s\t]+/', ' ', $query);
+
$filemtime = intval(@filemtime($this->cache_dir . md5($query) . '.' . $phpEx));
if (time() - $filemtime > $expire_time)
{
@@ -187,6 +190,10 @@ class acm
function sql_save($query, $result)
{
global $db, $phpEx;
+
+ // Remove extra spaces and tabs
+ $query = preg_replace('/[\n\r\s\t]+/', ' ', $query);
+
if ($fp = @fopen($this->cache_dir . md5($query) . '.' . $phpEx, 'wb'))
{
@flock($fp, LOCK_EX);
diff --git a/phpBB/install/schemas/mysql_schema.sql b/phpBB/install/schemas/mysql_schema.sql
index ea2d0cede9..8bfe248489 100644
--- a/phpBB/install/schemas/mysql_schema.sql
+++ b/phpBB/install/schemas/mysql_schema.sql
@@ -443,9 +443,11 @@ CREATE TABLE phpbb_posts (
post_edit_time int(11),
post_edit_count smallint(5) UNSIGNED DEFAULT '0' NOT NULL,
PRIMARY KEY (post_id),
- KEY topic_id (topic_id),
- KEY poster_ip (poster_ip),
- KEY poster_id (poster_id)
+ KEY forum_id (forum_id),
+ KEY topic_id (topic_id),
+ KEY poster_ip (poster_ip),
+ KEY poster_id (poster_id),
+ KEY post_approved (post_approved)
);
@@ -524,6 +526,7 @@ CREATE TABLE phpbb_reports (
reason_id smallint(5) unsigned NOT NULL default '0',
post_id mediumint(8) unsigned NOT NULL default '0',
user_id mediumint(8) unsigned NOT NULL default '0',
+ user_notify tinyint(1) NOT NULL default '0',
report_time int(10) unsigned NOT NULL default '0',
report_text text NOT NULL,
PRIMARY KEY (report_id)
diff --git a/phpBB/language/en/lang_main.php b/phpBB/language/en/lang_main.php
index fad299b059..d5b10df1aa 100644
--- a/phpBB/language/en/lang_main.php
+++ b/phpBB/language/en/lang_main.php
@@ -57,6 +57,7 @@ $lang = array(
'HOURS' => 'Hours',
'MESSAGE' => 'Message',
'POST_TIME' => 'Post time',
+ 'TOPIC_TIME' => 'Topic time',
'1_DAY' => '1 Day',
'7_DAYS' => '7 Days',
@@ -322,17 +323,18 @@ $lang = array(
'QUOTE' => 'Quote',
'CODE' => 'Code',
- 'QUICK_MOD' => 'Quick-mod tools',
- 'LOCK_TOPIC' => 'Lock Topic',
- 'UNLOCK_TOPIC' => 'Unlock Topic',
- 'MOVE_TOPIC' => 'Move Topic',
- 'DELETE_TOPIC' => 'Delete Topic',
- 'SPLIT_TOPIC' => 'Split Topic',
- 'MERGE_TOPIC' => 'Merge Topic',
- 'MAKE_NORMAL' => 'Make Normal',
- 'MAKE_STICKY' => 'Make Sticky',
- 'MAKE_ANNOUNCE' => 'Make Announce',
- 'MAKE_GLOBAL' => 'Make Global',
+ 'QUICK_MOD' => 'Quick-mod tools',
+ 'LOCK_TOPIC' => 'Lock Topic',
+ 'UNLOCK_TOPIC' => 'Unlock Topic',
+ 'MOVE_TOPIC' => 'Move Topic',
+ 'DELETE_TOPIC' => 'Delete Topic',
+ 'SPLIT_TOPIC' => 'Split Topic',
+ 'MERGE_TOPIC' => 'Merge Topic',
+ 'MAKE_NORMAL' => 'Make Normal',
+ 'MAKE_STICKY' => 'Make Sticky',
+ 'MAKE_ANNOUNCE' => 'Make Announce',
+ 'MAKE_GLOBAL' => 'Make Global',
+ 'VIEW_TOPIC_LOGS' => 'View Logs',
'STOP_WATCHING_TOPIC' => 'Stop watching this topic',
'START_WATCHING_TOPIC' => 'Watch this topic for replies',
@@ -960,8 +962,29 @@ $lang = array(
'Oct' => 'Oct',
'Nov' => 'Nov',
'Dec' => 'Dec',
- )
+ ),
+ 'REASON' => 'Reason',
+ 'ADDITIONAL_INFOS' => 'Additional infos',
+ 'CAN_BE_LEFT_BLANK' => '(can be left blank)',
+
+ 'POST_NOT_EXIST' => 'The post you requested does not exist',
+
+ 'REPORT_TO_ADMIN_EXPLAIN' => 'Using this form you can report the selected post to forum admins.',
+
+ 'REPORT_NOTIFY' => 'Notify me when this report is reviewed',
+ 'POST_REPORTED' => 'This post has been successfully reported',
+
+ 'report_reasons' => array(
+ 'title' => array(
+ 'warez' => 'Warez',
+ 'other' => 'Other'
+ ),
+ 'description' => array(
+ 'warez' => 'The post contains links to illegal or pirated software',
+ 'other' => 'The reported post does not fit into any other category, please use the description field'
+ )
+ )
);
@@ -969,8 +992,40 @@ $lang = array(
// lang_mod strings
$lang = array_merge($lang, array(
+ 'FRONT_PAGE' => 'Front page',
+ 'REPORTED_POSTS' => 'Reported posts',
+ 'VIEW_FORUM' => 'View forum',
+ 'VIEW_LOGS' => 'View logs',
+
+ 'LATEST_UNAPPROVED' => 'Latest 5 posts awaiting for approval',
+ 'LATEST_REPORTED' => 'Latest 5 post reports',
+ 'LATEST_LOGS' => 'Latest 5 logged actions',
+
+ 'UNAPPROVED_POSTS_ZERO_TOTAL' => 'There are no posts waiting for approval',
+ 'UNAPPROVED_POSTS_TOTAL' => 'In total there are %d posts waiting for approval',
+ 'UNAPPROVED_POST_TOTAL' => 'In total there is 1 post waiting for approval',
+
+ 'REPORTS_ZERO_TOTAL' => 'There are no reports to review',
+ 'REPORTS_TOTAL' => 'In total there are %d reports to review',
+ 'REPORT_TOTAL' => 'In total there is 1 report to review',
+ 'REPORTER' => 'Reporter',
+ 'REPORT_TIME' => 'Report time',
+
+// ------
+// strings borrowed from lang_admin
'ALL_FORUMS' => 'All forums',
'LOOK_UP_FORUM' => 'Select a forum',
+ 'IP' => 'User IP',
+ 'ACTION'=> 'Action',
+
+ 'DISPLAY_LOG' => 'Display entries from previous',
+ 'ALL_ENTRIES' => 'All entries',
+ 'SORT_IP' => 'IP address',
+ 'SORT_DATE' => 'Date',
+ 'SORT_ACTION' => 'Log action',
+ 'NO_ENTRIES' => 'No log entries for this period',
+// ------
+ 'LOGS_CURRENT_TOPIC' => 'Currently viewing logs for:',
'FORUM_NOT_POSTABLE' => 'This forum is not postable',
@@ -980,14 +1035,21 @@ $lang = array_merge($lang, array(
'TOPIC_NUMBER_IS' => 'Topic #%d is %s',
'POST_DETAILS' => 'Post details',
+ 'CONFIRM_DELETE_POST' => 'Are you sure you want to delete this post?',
'CONFIRM_DELETE_POSTS' => 'Are you sure you want to delete these posts?',
+ 'CONFIRM_DELETE_TOPIC' => 'Are you sure you want to delete this topic?',
+ 'CONFIRM_DELETE_TOPICS' => 'Are you sure you want to delete these topics?',
'POST_REMOVED' => 'The selected post has been successfully removed from the database',
'POSTS_REMOVED' => 'The selected posts have been successfully removed from the database',
+ 'TOPIC_REMOVED' => 'The selected topic has been successfully removed from the database',
+ 'TOPICS_REMOVED' => 'The selected topics have been successfully removed from the database',
'RESYNC' => 'Resync',
'TOPIC_RESYNCHRONISED' => 'The selected topic has been resynchronised',
'TOPICS_RESYNCHRONISED' => 'The selected topics have been resynchronised',
+ 'MOVE' => 'Move',
+ 'UNGLOBALISE_EXPLAIN' => 'Before you can change the topic type of a global announcement you have to assign it to a forum where it will be moved to',
'SELECT_DESTINATION_FORUM' => 'Please select a forum for destination',
'SELECTED_TOPICS' => 'You selected the following topic(s)',
'LEAVE_SHADOW' => 'Leave a shadow topic in the old forum',
@@ -1016,8 +1078,9 @@ $lang = array_merge($lang, array(
'TOPIC_SPLIT' => 'The selected topic has been split successfully',
'CANNOT_SPLIT_FIRST_POST' => 'You cannot split the first post of a topic',
- 'DELETE_POSTS' => 'Delete posts',
+ 'MOD_QUEUE' => 'Moderation queue',
'APPROVE_POSTS' => 'Approve posts',
+ 'DISAPPROVE_POSTS' => 'Reject posts',
'POST_APPROVED' => 'The selected post has been approved',
'POSTS_APPROVED' => 'The selected posts have been approved',
'POST_UNAPPROVED' => 'The selected post has been unapproved',
@@ -1027,8 +1090,6 @@ $lang = array_merge($lang, array(
'TOPIC_UNAPPROVED' => 'The selected topic has been unapproved',
'TOPICS_UNAPPROVED' => 'The selected topics have been unapproved',
- 'MOVE' => 'Move',
-
'LOCK' => 'Lock',
'UNLOCK' => 'Unlock',
'TOPIC_LOCKED' => 'The selected topic has been locked',
@@ -1043,23 +1104,22 @@ $lang = array_merge($lang, array(
'NO_POST_SELECTED' => 'You must select at least one post to perform this action',
'NO_SUBJECT' => '<No subject>',
- 'MOD_QUEUE' => 'Moderation queue',
- 'logm_lock' => 'Locked topic',
- 'logm_unlock' => 'Unlocked topic',
- 'logm_move' => 'Moved topic from forum %s',
- 'logm_split' => 'Split topic from topic %s',
- 'logm_delete_topic' => 'Deleted topic',
- 'logm_delete_post' => 'Deleted post %s',
- 'logm_delete_posts' => 'Deleted posts %s',
- 'logm_approve_topic' => 'Approved topic',
- 'logm_approve_post' => 'Approved post %s',
- 'logm_unapprove_topic' => 'Unapproved topic',
- 'logm_unapprove_post' => 'Unapproved post %s',
- 'logm_merge' => 'Merged posts from topic %s',
- 'logm_make_announce' => 'Topic type changed to Announcement',
- 'logm_make_sticky' => 'Topic type changed to Sticky',
- 'logm_make_normal' => 'Topic type changed to Regular',
- 'logm_make_global' => 'Topic type changed to Global Announcement'
+ 'logm_lock' => 'Locked topic',
+ 'logm_unlock' => 'Unlocked topic',
+ 'logm_move' => 'Moved topic from forum %s',
+ 'logm_split' => 'Split topic from topic %s',
+ 'logm_delete_topic' => 'Deleted topic %s',
+ 'logm_delete_post' => 'Deleted post %s',
+ 'logm_delete_posts' => 'Deleted posts %s',
+ 'logm_approve_topic' => 'Approved topic',
+ 'logm_approve_post' => 'Approved post %s',
+ 'logm_unapprove_topic' => 'Unapproved topic',
+ 'logm_unapprove_post' => 'Unapproved post %s',
+ 'logm_merge' => 'Merged posts from topic %s',
+ 'logm_make_announce' => 'Topic type changed to Announcement',
+ 'logm_make_sticky' => 'Topic type changed to Sticky',
+ 'logm_make_normal' => 'Topic type changed to Normal',
+ 'logm_make_global' => 'Topic type changed to Global Announcement'
));
?>
\ No newline at end of file
diff --git a/phpBB/report.php b/phpBB/report.php
index 249fcfba44..6aaa548297 100644
--- a/phpBB/report.php
+++ b/phpBB/report.php
@@ -30,10 +30,6 @@ $user->setup();
$auth->acl($user->data);
// End session management
-// temp temp temp
-very_temporary_lang_strings();
-// temp temp temp
-
// var definitions
$post_id = (!empty($_REQUEST['p'])) ? intval($_REQUEST['p']) : 0;
$reason_id = (!empty($_REQUEST['reason_id'])) ? intval($_REQUEST['reason_id']) : 0;
@@ -81,12 +77,12 @@ if (!empty($_POST['reason_id']))
'reason_id' => (int) $reason_id,
'post_id' => (int) $post_id,
'user_id' => (int) $user->user_id,
+ 'user_notify' => (!empty($_POST['notify'])) ? 1 : 0,
'report_time' => (int) time(),
'report_text' => (string) $description
);
- $sql = 'INSERT INTO ' . REPORTS_TABLE . " (reason_id, post_id, user_id, report_time, report_text)
- VALUES ($reason_id, $post_id, " . $user->data['user_id'] . ', ' . time() . ", '" . $db->sql_escape($description) . "')";
+ $sql = 'INSERT INTO ' . REPORTS_TABLE . $db->sql_build_array('INSERT', $sql_ary);
$db->sql_query($sql);
if (!$row['post_reported'])
@@ -98,6 +94,8 @@ if (!empty($_POST['reason_id']))
$db->sql_query('UPDATE ' . TOPICS_TABLE . ' SET topic_reported = 1 WHERE topic_id = ' . $topic_id);
}
+ // TODO: warn moderators or something ;)
+
trigger_error($user->lang['POST_REPORTED'] . '
' . sprintf($user->lang['RETURN_TOPIC'], "", ''));
}
@@ -108,12 +106,18 @@ generate_forum_nav($row);
$result = $db->sql_query('SELECT * FROM ' . REASONS_TABLE . ' ORDER BY reason_priority ASC');
while ($row = $db->sql_fetchrow($result))
{
- $reason_name = str_replace('_', ' ', $row['reason_name']);
- $reason_name = ucwords($reason_name);
-
- if (!empty($user->lang['reports_reasons'][$row['reason_name']]))
+ if (!empty($user->lang['report_reasons']['title'][$row['reason_name']]))
{
- $reason_description = $user->lang['reports_reasons'][$row['reason_name']];
+ $reason_name = $user->lang['report_reasons']['title'][$row['reason_name']];
+ }
+ else
+ {
+ $reason_name = ucwords(str_replace('_', ' ', $row['reason_name']));
+ }
+
+ if (!empty($user->lang['report_reasons']['description'][$row['reason_name']]))
+ {
+ $reason_description = $user->lang['report_reasons']['description'][$row['reason_name']];
}
else
{
@@ -134,29 +138,4 @@ $template->set_filenames(array(
include($phpbb_root_path . 'includes/page_tail.' . $phpEx);
-function very_temporary_lang_strings()
-{
- global $user;
- $user->lang['reports_reasons'] = array(
- 'warez' => 'The post contains links to illegal or pirated software'
- );
-
-
- $lang = array(
- 'REASON' => 'Reason',
- 'ADDITIONAL_INFOS' => 'Additional infos',
- 'CAN_BE_LEFT_BLANK' => '(can be left blank)',
-
- 'POST_NOT_EXIST' => 'The post you requested does not exist',
-
- 'REPORT_TO_ADMIN_EXPLAIN' => 'Using this forum you can report the selected post to admins.',
-
- 'REPORT_NOTIFY' => 'Notify me when this report is reviewed',
- 'POST_REPORTED' => 'This post has been successfully reported'
- );
-
- $user->lang = array_merge($user->lang, $lang);
-
-}
-
?>
\ No newline at end of file
diff --git a/phpBB/templates/subSilver/subSilver.css b/phpBB/templates/subSilver/subSilver.css
index a2e82e0b8a..68d2e05a2c 100644
--- a/phpBB/templates/subSilver/subSilver.css
+++ b/phpBB/templates/subSilver/subSilver.css
@@ -156,6 +156,11 @@ input.liteoption {
background-color : #FAFAFA;
}
+/* greyed options for mcp_jumpbox */
+option.greyed {
+ background-color: #EFEFEF;
+}
+
/* --------------------------- */