Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature/save-post-on-report] The complete changes for this feature #542

Merged
merged 7 commits into from Mar 28, 2012
1 change: 1 addition & 0 deletions phpBB/develop/create_schema_files.php
Expand Up @@ -1528,6 +1528,7 @@ function get_schema_struct()
'report_closed' => array('BOOL', 0),
'report_time' => array('TIMESTAMP', 0),
'report_text' => array('MTEXT_UNI', ''),
'reported_post_text' => array('MTEXT_UNI', ''),
),
'PRIMARY_KEY' => 'report_id',
'KEYS' => array(
Expand Down
9 changes: 5 additions & 4 deletions phpBB/includes/mcp/mcp_reports.php
Expand Up @@ -71,7 +71,7 @@ function main($id, $mode)
// closed reports are accessed by report id
$report_id = request_var('r', 0);

$sql = 'SELECT r.post_id, r.user_id, r.report_id, r.report_closed, report_time, r.report_text, rr.reason_title, rr.reason_description, u.username, u.username_clean, u.user_colour
$sql = 'SELECT r.post_id, r.user_id, r.report_id, r.report_closed, report_time, r.report_text, r.reported_post_text, rr.reason_title, rr.reason_description, u.username, u.username_clean, u.user_colour
FROM ' . REPORTS_TABLE . ' r, ' . REPORTS_REASONS_TABLE . ' rr, ' . USERS_TABLE . ' u
WHERE ' . (($report_id) ? 'r.report_id = ' . $report_id : "r.post_id = $post_id") . '
AND rr.reason_id = r.reason_id
Expand Down Expand Up @@ -116,8 +116,9 @@ function main($id, $mode)
$template->assign_vars(array(
'S_TOPIC_REVIEW' => true,
'S_BBCODE_ALLOWED' => $post_info['enable_bbcode'],
'TOPIC_TITLE' => $post_info['topic_title'])
);
'TOPIC_TITLE' => $post_info['topic_title'],
'REPORTED_POST_ID' => $post_id,
));
}

$topic_tracking_info = $extensions = $attachments = array();
Expand Down Expand Up @@ -226,7 +227,7 @@ function main($id, $mode)
'REPORTER_NAME' => get_username_string('username', $report['user_id'], $report['username'], $report['user_colour']),
'U_VIEW_REPORTER_PROFILE' => get_username_string('profile', $report['user_id'], $report['username'], $report['user_colour']),

'POST_PREVIEW' => $message,
'POST_PREVIEW' => bbcode_nl2br($report['reported_post_text']),
'POST_SUBJECT' => ($post_info['post_subject']) ? $post_info['post_subject'] : $user->lang['NO_SUBJECT'],
'POST_DATE' => $user->format_date($post_info['post_time']),
'POST_IP' => $post_info['poster_ip'],
Expand Down
3 changes: 3 additions & 0 deletions phpBB/install/database_update.php
Expand Up @@ -1088,6 +1088,9 @@ function database_update_info()
PROFILE_FIELDS_TABLE => array(
'field_show_on_pm' => array('BOOL', 0),
),
REPORTS_TABLE => array(
'reported_post_text' => array('MTEXT_UNI', ''),
),
),
'change_columns' => array(
GROUPS_TABLE => array(
Expand Down
3 changes: 2 additions & 1 deletion phpBB/install/schemas/firebird_schema.sql
Expand Up @@ -909,7 +909,8 @@ CREATE TABLE phpbb_reports (
user_notify INTEGER DEFAULT 0 NOT NULL,
report_closed INTEGER DEFAULT 0 NOT NULL,
report_time INTEGER DEFAULT 0 NOT NULL,
report_text BLOB SUB_TYPE TEXT CHARACTER SET UTF8 DEFAULT '' NOT NULL
report_text BLOB SUB_TYPE TEXT CHARACTER SET UTF8 DEFAULT '' NOT NULL,
reported_post_text BLOB SUB_TYPE TEXT CHARACTER SET UTF8 DEFAULT '' NOT NULL
);;

ALTER TABLE phpbb_reports ADD PRIMARY KEY (report_id);;
Expand Down
3 changes: 2 additions & 1 deletion phpBB/install/schemas/mssql_schema.sql
Expand Up @@ -1108,7 +1108,8 @@ CREATE TABLE [phpbb_reports] (
[user_notify] [int] DEFAULT (0) NOT NULL ,
[report_closed] [int] DEFAULT (0) NOT NULL ,
[report_time] [int] DEFAULT (0) NOT NULL ,
[report_text] [text] DEFAULT ('') NOT NULL
[report_text] [text] DEFAULT ('') NOT NULL ,
[reported_post_text] [text] DEFAULT ('') NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

Expand Down
1 change: 1 addition & 0 deletions phpBB/install/schemas/mysql_40_schema.sql
Expand Up @@ -647,6 +647,7 @@ CREATE TABLE phpbb_reports (
report_closed tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
report_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
report_text mediumblob NOT NULL,
reported_post_text mediumblob NOT NULL,
PRIMARY KEY (report_id),
KEY post_id (post_id),
KEY pm_id (pm_id)
Expand Down
1 change: 1 addition & 0 deletions phpBB/install/schemas/mysql_41_schema.sql
Expand Up @@ -647,6 +647,7 @@ CREATE TABLE phpbb_reports (
report_closed tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
report_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
report_text mediumtext NOT NULL,
reported_post_text mediumtext NOT NULL,
PRIMARY KEY (report_id),
KEY post_id (post_id),
KEY pm_id (pm_id)
Expand Down
1 change: 1 addition & 0 deletions phpBB/install/schemas/oracle_schema.sql
Expand Up @@ -1214,6 +1214,7 @@ CREATE TABLE phpbb_reports (
report_closed number(1) DEFAULT '0' NOT NULL,
report_time number(11) DEFAULT '0' NOT NULL,
report_text clob DEFAULT '' ,
reported_post_text clob DEFAULT '' ,
CONSTRAINT pk_phpbb_reports PRIMARY KEY (report_id)
)
/
Expand Down
1 change: 1 addition & 0 deletions phpBB/install/schemas/postgres_schema.sql
Expand Up @@ -853,6 +853,7 @@ CREATE TABLE phpbb_reports (
report_closed INT2 DEFAULT '0' NOT NULL CHECK (report_closed >= 0),
report_time INT4 DEFAULT '0' NOT NULL CHECK (report_time >= 0),
report_text TEXT DEFAULT '' NOT NULL,
reported_post_text TEXT DEFAULT '' NOT NULL,
PRIMARY KEY (report_id)
);

Expand Down
3 changes: 2 additions & 1 deletion phpBB/install/schemas/sqlite_schema.sql
Expand Up @@ -627,7 +627,8 @@ CREATE TABLE phpbb_reports (
user_notify INTEGER UNSIGNED NOT NULL DEFAULT '0',
report_closed INTEGER UNSIGNED NOT NULL DEFAULT '0',
report_time INTEGER UNSIGNED NOT NULL DEFAULT '0',
report_text mediumtext(16777215) NOT NULL DEFAULT ''
report_text mediumtext(16777215) NOT NULL DEFAULT '',
reported_post_text mediumtext(16777215) NOT NULL DEFAULT ''
);

CREATE INDEX phpbb_reports_post_id ON phpbb_reports (post_id);
Expand Down
10 changes: 7 additions & 3 deletions phpBB/report.php
Expand Up @@ -71,8 +71,9 @@
trigger_error('POST_NOT_EXIST');
}

$forum_id = (int) $report_data['forum_id'];
$topic_id = (int) $report_data['topic_id'];
$forum_id = (int) $report_data['forum_id'];
$topic_id = (int) $report_data['topic_id'];
$reported_post_text = $report_data['post_text'];

$sql = 'SELECT *
FROM ' . FORUMS_TABLE . '
Expand Down Expand Up @@ -130,6 +131,8 @@
$message .= '<br /><br />' . sprintf($user->lang['RETURN_PM'], '<a href="' . $redirect_url . '">', '</a>');
trigger_error($message);
}

$reported_post_text = $report_data['message_text'];
}

// Submit report?
Expand All @@ -155,7 +158,8 @@
'user_notify' => (int) $user_notify,
'report_closed' => 0,
'report_time' => (int) time(),
'report_text' => (string) $report_text
'report_text' => (string) $report_text,
'reported_post_text' => $reported_post_text,
);

$sql = 'INSERT INTO ' . REPORTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
Expand Down
2 changes: 1 addition & 1 deletion phpBB/styles/prosilver/template/posting_topic_review.html
Expand Up @@ -17,7 +17,7 @@ <h3 id="review">
<div class="inner"><span class="corners-top"><span></span></span>
{topic_review_row.L_IGNORE_POST}
<!-- ELSE -->
<div class="post <!-- IF topic_review_row.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
<div class="post <!-- IF topic_review_row.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF topic_review_row.POST_ID == REPORTED_POST_ID --> reported<!-- ENDIF -->">
<div class="inner"><span class="corners-top"><span></span></span>
<!-- ENDIF -->

Expand Down
7 changes: 7 additions & 0 deletions phpBB/styles/subsilver2/template/posting_topic_review.html
Expand Up @@ -51,6 +51,13 @@
<table width="100%" cellspacing="0" cellpadding="2">
<tr>
<td>
<!-- IF topic_review_row.POST_ID == REPORTED_POST_ID -->
<table width="100%" cellspacing="0">
<tr>
<span class="postreported">{REPORTED_IMG}</span>
</tr>
</table>
<!-- ENDIF -->
<div class="postbody">{topic_review_row.MESSAGE}</div>

<!-- IF topic_review_row.S_HAS_ATTACHMENTS -->
Expand Down