mirror of
https://github.com/vichan-devel/vichan.git
synced 2024-11-23 23:20:57 +01:00
Rewrite report system due to flooding
This commit is contained in:
parent
95a9b7b72b
commit
8943bb0bb3
@ -1687,3 +1687,6 @@
|
||||
// If set to 0, it won't upgrade hashes using old password encryption schema, only create new.
|
||||
// You can set it to a higher value, to further migrate to other password hashing function.
|
||||
$config['password_crypt_version'] = 1;
|
||||
|
||||
// Use CAPTCHA for reports?
|
||||
$config['report_captcha'] = false;
|
||||
|
@ -43,19 +43,12 @@ Menu.onclick(function(e, $buf) {
|
||||
var postId = $ele.find('.post_no').not('[id]').text();
|
||||
|
||||
$buf.find('#report_menu,#global_report_menu').click(function(e) {
|
||||
$('#delete_'+postId).prop('checked', 'checked');
|
||||
if ($(this).attr('id') === 'global_report_menu') {
|
||||
header = "<div><h1>Attention!</h1><p>This form is only for reporting <strong>child pornography</strong>, <strong>bot spam</strong> and <strong>credit card numbers, social security numbers or banking information</strong>. DMCA requests and all other deletion requests <em>MUST</em> be sent via email to admin@8chan.co.</p><p>8chan is unmoderated and allows posts without collecting <em>ANY</em> information from the poster less the details of their post. Furthermore, all boards on 8chan are user created and not actively monitored by anyone but the board creator.</p><p>8chan has a small volunteer staff to handle this queue, please do not waste their time by filling it with nonsense! <em>If you made a report with this tool and the post was not deleted, <strong>do not make the report again!</strong> Email admin@8chan.co instead.</em> Abuse of the global report system could lead to address blocks against your IP from 8chan.</p><p>Again, 8chan's global volunteers <em>do not</em> handle board specific issues. You most likely want to click \"Report\" instead to reach the creator and volunteers he assigned to this board.</p>";
|
||||
$('#global_report').prop('checked', 'checked');
|
||||
if ($(this).attr('id') === "global_report_menu") {
|
||||
var global = '&global';
|
||||
} else {
|
||||
header = "";
|
||||
$('#global_report').prop('checked', '');
|
||||
var global = '';
|
||||
}
|
||||
alert(header+"Enter reason below...<br/><input type='text' id='alert_reason'>", true, function(){
|
||||
$('#reason').val($('#alert_reason').val());
|
||||
$('input[name=report][type=submit]').click();
|
||||
});
|
||||
|
||||
window.open(configRoot+'report.php?board='+board_name+'&post=delete_'+postId+global, "", (global?"width=600, height=575":"width=500, height=275"));
|
||||
});
|
||||
});
|
||||
|
||||
|
20
post.php
20
post.php
@ -124,6 +124,23 @@ if (isset($_POST['delete'])) {
|
||||
|
||||
if (count($report) > $config['report_limit'])
|
||||
error($config['error']['toomanyreports']);
|
||||
|
||||
if ($config['report_captcha'] && !isset($_POST['captcha_text'], $_POST['captcha_cookie'])) {
|
||||
error($config['error']['bot']);
|
||||
}
|
||||
|
||||
if ($config['report_captcha']) {
|
||||
$resp = file_get_contents($config['captcha']['provider_check'] . "?" . http_build_query([
|
||||
'mode' => 'check',
|
||||
'text' => $_POST['captcha_text'],
|
||||
'extra' => $config['captcha']['extra'],
|
||||
'cookie' => $_POST['captcha_cookie']
|
||||
]));
|
||||
|
||||
if ($resp !== '1') {
|
||||
error($config['error']['captcha']);
|
||||
}
|
||||
}
|
||||
|
||||
$reason = escape_markup_modifiers($_POST['reason']);
|
||||
markup($reason);
|
||||
@ -153,7 +170,8 @@ if (isset($_POST['delete'])) {
|
||||
$root = $is_mod ? $config['root'] . $config['file_mod'] . '?/' : $config['root'];
|
||||
|
||||
if (!isset($_POST['json_response'])) {
|
||||
header('Location: ' . $root . $board['dir'] . $config['file_index'], true, $config['redirect_http']);
|
||||
$index = $root . $board['dir'] . $config['file_index'];
|
||||
echo Element('page.html', array('config' => $config, 'body' => '<div style="text-align:center"><a href="javascript:window.close()">[ ' . _('Close window') ." ]</a> <a href='$index'>[ " . _('Return') . ' ]</a></div>', 'title' => _('Report submitted!')));
|
||||
} else {
|
||||
header('Content-Type: text/json');
|
||||
echo json_encode(array('success' => true));
|
||||
|
17
templates/report.html
Normal file
17
templates/report.html
Normal file
@ -0,0 +1,17 @@
|
||||
<form action="{{ config.post_url }}" method="post" id="report_form">
|
||||
<input type="hidden" name="board" value="{{ board.uri }}">
|
||||
<input type="hidden" name="{{ post|e }}" value="1">
|
||||
{% if global %}
|
||||
<input type="hidden" name="global" value="1">
|
||||
<div><h1>Attention!</h1><p>This form is only for reporting <strong>child pornography</strong>, <strong>bot spam</strong> and <strong>credit card numbers, social security numbers or banking information</strong>. DMCA requests and all other deletion requests <em>MUST</em> be sent via email to admin@8chan.co.</p><p>8chan is unmoderated and allows posts without collecting <em>ANY</em> information from the poster less the details of their post. Furthermore, all boards on 8chan are user created and not actively monitored by anyone but the board creator.</p><p>8chan has a small volunteer staff to handle this queue, please do not waste their time by filling it with nonsense! <em>If you made a report with this tool and the post was not deleted, <strong>do not make the report again!</strong> Email admin@8chan.co instead.</em> Abuse of the global report system could lead to address blocks against your IP from 8chan.</p><p>Again, 8chan's global volunteers <em>do not</em> handle board specific issues. You most likely want to click "Report" instead to reach the creator and volunteers he assigned to this board.</p>
|
||||
{% endif %}
|
||||
<p>{% trans %}Enter reason below...{% endtrans %}</p>
|
||||
<input type="text" id="reason" name="reason">
|
||||
{% if config.report_captcha %}
|
||||
<p>{% trans %}To submit your report, please fill out the CAPTCHA below.{% endtrans %}</p>
|
||||
{{ captcha['html'] }}<br/>
|
||||
<input class="captcha_text" name="captcha_text" size="25" maxlength="6" autocomplete="off" type="text">
|
||||
<input class="captcha_cookie" name="captcha_cookie" type="hidden" autocomplete="off" value="{{ captcha['cookie']|e }}"><br/>
|
||||
{% endif %}
|
||||
<input name="report" value="{% trans %}Submit{% endtrans %}" type="submit">
|
||||
</form>
|
Loading…
Reference in New Issue
Block a user