piler/webui/controller/message/bulkremove.php

67 lines
2.1 KiB
PHP
Raw Permalink Normal View History

2015-07-07 14:12:35 +02:00
<?php
class ControllerMessageBulkremove extends Controller {
public function index(){
$this->id = "content";
$this->template = "message/bulkremove.tpl";
$this->layout = "common/layout-empty";
$session = Registry::get('session');
$request = Registry::get('request');
$db = Registry::get('db');
$this->load->model('search/search');
$this->load->model('search/message');
$this->load->model('user/user');
$this->document->title = $this->data['text_message'];
if(!isset($this->request->post['idlist']) || $this->request->post['idlist'] == '') { die("no idlist parameter given"); }
if(!isset($this->request->post['reason']) || $this->request->post['reason'] == '') { die("no reason parameter given"); }
2015-07-07 14:12:35 +02:00
$idlist = $this->model_search_search->check_your_permission_by_id_list(explode(",", $this->request->post['idlist']));
2016-02-06 21:14:00 +01:00
$this->data['removed'] = 0;
2015-07-07 14:12:35 +02:00
$this->data['username'] = Registry::get('username');
if(Registry::get('auditor_user') == 0) {
die("go away");
}
2015-07-07 14:12:35 +02:00
if(NEED_TO_APPROVE_DELETE) {
$deleted = -1;
} else {
$deleted = 1;
}
2015-07-07 14:12:35 +02:00
foreach($idlist as $id) {
$db->query("INSERT INTO " . TABLE_DELETED . " (id, requestor, reason1, date1, deleted) VALUES(?,?,?,?,?)", [$id, $this->data['username'], $this->request->post['reason'], NOW, $deleted]);
2015-07-07 14:12:35 +02:00
if(NEED_TO_APPROVE_DELETE) {
AUDIT(ACTION_MARK_MESSAGE_FOR_REMOVAL, '', '', $id, '');
syslog(LOG_INFO, $this->data['username'] . " marked message for removal: $id");
} else {
AUDIT(ACTION_REMOVE_MESSAGE, '', '', $id, '');
$db->query("UPDATE " . TABLE_META . " SET retained=? WHERE id=?", [NOW, $id]);
if(RT) {
$sphx = Registry::get('sphx');
$sphx->query("DELETE FROM " . SPHINX_MAIN_INDEX . " WHERE id=" . (int)$this->data['id']);
}
syslog(LOG_INFO, $this->data['username'] . " removed message: $id");
}
2015-07-07 14:12:35 +02:00
$this->data['removed']++;
2015-07-07 14:12:35 +02:00
}
$this->render();
}
}