Issue 5158: Ignore all threads, even public ones (#5588)
* Issue 5158: Ignore all threads, even public ones * Remove some notice * Now it really should work * Using "defaults"
This commit is contained in:
parent
50e1512014
commit
276abfaba6
7 changed files with 61 additions and 44 deletions
|
@ -3,45 +3,48 @@
|
|||
use Friendica\App;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\Model\Item;
|
||||
|
||||
function ignored_init(App $a) {
|
||||
|
||||
function ignored_init(App $a)
|
||||
{
|
||||
$ignored = 0;
|
||||
|
||||
if (! local_user()) {
|
||||
if (!local_user()) {
|
||||
killme();
|
||||
}
|
||||
|
||||
if ($a->argc > 1) {
|
||||
$message_id = intval($a->argv[1]);
|
||||
}
|
||||
if (! $message_id) {
|
||||
|
||||
if (!$message_id) {
|
||||
killme();
|
||||
}
|
||||
|
||||
$r = q("SELECT `ignored` FROM `thread` WHERE `uid` = %d AND `iid` = %d LIMIT 1",
|
||||
intval(local_user()),
|
||||
intval($message_id)
|
||||
);
|
||||
if (! DBA::isResult($r)) {
|
||||
$thread = Item::selectFirstThreadForUser(local_user(), ['uid', 'ignored'], ['iid' => $message_id]);
|
||||
if (!DBA::isResult($thread)) {
|
||||
killme();
|
||||
}
|
||||
|
||||
if (! intval($r[0]['ignored'])) {
|
||||
$ignored = 1;
|
||||
if (!$thread['ignored']) {
|
||||
$ignored = true;
|
||||
}
|
||||
|
||||
$r = q("UPDATE `thread` SET `ignored` = %d WHERE `uid` = %d and `iid` = %d",
|
||||
intval($ignored),
|
||||
intval(local_user()),
|
||||
intval($message_id)
|
||||
);
|
||||
if ($thread['uid'] != 0) {
|
||||
DBA::update('thread', ['ignored' => $ignored], ['iid' => $message_id]);
|
||||
} else {
|
||||
DBA::update('user-item', ['ignored' => $ignored], ['iid' => $message_id, 'uid' => local_user()], true);
|
||||
}
|
||||
|
||||
// See if we've been passed a return path to redirect to
|
||||
$return_path = ((x($_REQUEST,'return')) ? $_REQUEST['return'] : '');
|
||||
$return_path = defaults($_REQUEST, 'return', '');
|
||||
if ($return_path) {
|
||||
$rand = '_=' . time();
|
||||
if(strpos($return_path, '?')) $rand = "&$rand";
|
||||
else $rand = "?$rand";
|
||||
if (strpos($return_path, '?')) {
|
||||
$rand = "&$rand";
|
||||
} else {
|
||||
$rand = "?$rand";
|
||||
}
|
||||
|
||||
goaway(System::baseUrl() . "/" . $return_path . $rand);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue