diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php
index 94edddc6f5..19b801e585 100644
--- a/phpBB/language/en/common.php
+++ b/phpBB/language/en/common.php
@@ -476,7 +476,7 @@ $lang = array_merge($lang, array(
'POST_SUBJECT' => 'Post subject',
'POST_TIME' => 'Post time',
'POST_TOPIC' => 'Post a new topic',
- 'POST_UNAPPROVED' => 'This post is waiting for approval',
+ 'POST_UNAPPROVED' => 'Post awaiting approval:',
'PREVIEW' => 'Preview',
'PREVIOUS' => 'Previous', // Used in pagination
'PREVIOUS_STEP' => 'Previous',
diff --git a/phpBB/language/en/viewtopic.php b/phpBB/language/en/viewtopic.php
index f47f8a076b..1460490672 100644
--- a/phpBB/language/en/viewtopic.php
+++ b/phpBB/language/en/viewtopic.php
@@ -35,6 +35,7 @@ if (empty($lang) || !is_array($lang))
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array(
+ 'APPROVE' => 'Approve',
'ATTACHMENT' => 'Attachment',
'ATTACHMENT_FUNCTIONALITY_DISABLED' => 'The attachments feature has been disabled.',
@@ -49,6 +50,7 @@ $lang = array_merge($lang, array(
'CODE' => 'Code',
'DELETE_TOPIC' => 'Delete topic',
+ 'DISAPPROVE' => 'Disapprove',
'DOWNLOAD_NOTICE' => 'You do not have the required permissions to view the files attached to this post.',
'EDITED_TIMES_TOTAL' => array(
diff --git a/phpBB/styles/prosilver/template/viewtopic_body.html b/phpBB/styles/prosilver/template/viewtopic_body.html
index 59e464d22e..5571ce07c4 100644
--- a/phpBB/styles/prosilver/template/viewtopic_body.html
+++ b/phpBB/styles/prosilver/template/viewtopic_body.html
@@ -135,10 +135,18 @@
{postrow.MINI_POST_IMG}{postrow.MINI_POST_IMG}{L_POST_BY_AUTHOR} {postrow.POST_AUTHOR_FULL} » {postrow.POST_DATE}
+
{postrow.MESSAGE}
diff --git a/phpBB/styles/prosilver/theme/common.css b/phpBB/styles/prosilver/theme/common.css
index 5cf12be1ce..6b34bb1c3d 100644
--- a/phpBB/styles/prosilver/theme/common.css
+++ b/phpBB/styles/prosilver/theme/common.css
@@ -658,6 +658,10 @@ p.rules {
p.rules img {
vertical-align: middle;
+}
+
+p.rules strong {
+ vertical-align: middle;
padding-top: 5px;
}
diff --git a/phpBB/styles/script.js b/phpBB/styles/script.js
index 4e0566a9a5..b5dec2ca0a 100644
--- a/phpBB/styles/script.js
+++ b/phpBB/styles/script.js
@@ -86,6 +86,18 @@ function handle_refresh(data, refresh, div)
}
}
+function parse_hidden(inputs)
+{
+ var end = [];
+ $(inputs).each(function() {
+ if (this.type === 'hidden')
+ {
+ end.push(this.name + '=' + this.value);
+ }
+ });
+ return end.join('&');
+}
+
/**
* This function interacts via AJAX with phpBBs confirm_box function.
@@ -175,3 +187,42 @@ phpbb.ajaxify('a[href*="watch=forum"]', false, function(el, res) {
});
phpbb.ajaxify('a[href*="mode=bump"]');
phpbb.ajaxify('a[href*="mark="]'); //captures topics and forums
+
+
+
+/**
+ * Forms have to be captured manually, as they're all different.
+ */
+$('input[name^="action"]').click(function(e) {
+ var __self = this;
+ var path = $(this).parents('form')[0].action.replace('&', '&');
+ var action = (this.name === 'action[approve]') ? 'approve' : 'disapprove';
+ var data = {
+ action: action,
+ post_id_list: [$(this).siblings('input[name="post_id_list[]"]')[0].value]
+ };
+ $.post(path, data, function(res) {
+ res = JSON.parse(res);
+ phpbb.confirm(res.MESSAGE_TEXT, function(del) {
+ if (del)
+ {
+ path = res.S_CONFIRM_ACTION;
+ data = parse_hidden(res.S_HIDDEN_FIELDS);
+ $.post(path, data + '&confirm=Yes', function(res) {
+ console.log(res);
+ res = JSON.parse(res);
+ var alert = phpbb.alert(res.MESSAGE_TITLE, res.MESSAGE_TEXT);
+
+ $(__self).parents((action === 'approve') ? '.rules' : '.post').remove();
+
+ setTimeout(function() {
+ alert.hide(300, function() {
+ alert.remove();
+ });
+ }, 5000);
+ });
+ }
+ });
+ });
+ return false;
+});
diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php
index 8a95851b7e..1ce80568b6 100644
--- a/phpBB/viewtopic.php
+++ b/phpBB/viewtopic.php
@@ -1534,6 +1534,7 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
'U_YIM' => $user_cache[$poster_id]['yim'],
'U_JABBER' => $user_cache[$poster_id]['jabber'],
+ 'U_APPROVE_ACTION' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=queue&p={$row['post_id']}&f=$forum_id"),
'U_REPORT' => ($auth->acl_get('f_report', $forum_id)) ? append_sid("{$phpbb_root_path}report.$phpEx", 'f=' . $forum_id . '&p=' . $row['post_id']) : '',
'U_MCP_REPORT' => ($auth->acl_get('m_report', $forum_id)) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=reports&mode=report_details&f=' . $forum_id . '&p=' . $row['post_id'], true, $user->session_id) : '',
'U_MCP_APPROVE' => ($auth->acl_get('m_approve', $forum_id)) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue&mode=approve_details&f=' . $forum_id . '&p=' . $row['post_id'], true, $user->session_id) : '',