From f94a5cb87d10247c02faf93ca5c99d2de2a57c36 Mon Sep 17 00:00:00 2001 From: Ludovic Arnaud Date: Wed, 2 Apr 2003 23:13:47 +0000 Subject: [PATCH] Added user notification for post reporting, moved lang strings to lang_main, added CSS style for mcp_jumpbox git-svn-id: file:///svn/phpbb/trunk@3779 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acm/acm_file.php | 7 ++ phpBB/install/schemas/mysql_schema.sql | 9 +- phpBB/language/en/lang_main.php | 124 ++++++++++++++++++------ phpBB/report.php | 51 +++------- phpBB/templates/subSilver/subSilver.css | 5 + 5 files changed, 125 insertions(+), 71 deletions(-) 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; +} + /* --------------------------- */