mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-30 21:40:43 +02:00
[ticket/10273] AJAXified approve / disapprove posts (in viewtopic).
This commit AJAXifies the moderator approval functionality, and adds it to viewtopic instead of the MCP. This commit has involved some language changes, which may affect fallbacks. PHPBB3-10273
This commit is contained in:
committed by
Igor Wiedler
parent
c4aaf3ae5a
commit
8a28456f75
@@ -135,10 +135,18 @@
|
||||
<p class="author"><!-- IF S_IS_BOT -->{postrow.MINI_POST_IMG}<!-- ELSE --><a href="{postrow.U_MINI_POST}">{postrow.MINI_POST_IMG}</a><!-- ENDIF -->{L_POST_BY_AUTHOR} <strong>{postrow.POST_AUTHOR_FULL}</strong> » {postrow.POST_DATE} </p>
|
||||
|
||||
<!-- IF postrow.S_POST_UNAPPROVED or postrow.S_POST_REPORTED -->
|
||||
<form method="post" class="mcp_approve" action="{postrow.U_APPROVE_ACTION}">
|
||||
<p class="rules">
|
||||
<!-- IF postrow.S_POST_UNAPPROVED -->{UNAPPROVED_IMG} <a href="{postrow.U_MCP_APPROVE}"><strong>{L_POST_UNAPPROVED}</strong></a><br /><!-- ENDIF -->
|
||||
<!-- IF postrow.S_POST_UNAPPROVED -->
|
||||
{UNAPPROVED_IMG} <strong>{L_POST_UNAPPROVED}</strong>
|
||||
<input class="button2" type="button" value="{L_DISAPPROVE}" name="action[disapprove]" />
|
||||
<input class="button1" type="button" value="{L_APPROVE}" name="action[approve]" />
|
||||
<input type="hidden" name="post_id_list[]" value="{postrow.POST_ID}" />
|
||||
{S_FORM_TOKEN}
|
||||
<br /><!-- ENDIF -->
|
||||
<!-- IF postrow.S_POST_REPORTED -->{REPORTED_IMG} <a href="{postrow.U_MCP_REPORT}"><strong>{L_POST_REPORTED}</strong></a><!-- ENDIF -->
|
||||
</p>
|
||||
</form>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<div class="content">{postrow.MESSAGE}</div>
|
||||
|
@@ -658,6 +658,10 @@ p.rules {
|
||||
|
||||
p.rules img {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
p.rules strong {
|
||||
vertical-align: middle;
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
});
|
||||
|
Reference in New Issue
Block a user