mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-19 16:15:13 +00:00
more work on vendor blocking
This commit is contained in:
parent
888e9c9519
commit
bf7a54dfaa
1 changed files with 56 additions and 1 deletions
|
@ -222,10 +222,65 @@ class Superblock extends Controller
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$type = BLOCKTYPE_VENDOR;
|
||||||
|
$blockproj = trim($_REQUEST['blockproj']);
|
||||||
|
if ($blockproj) {
|
||||||
|
$handled = true;
|
||||||
|
$servers = Activity::get_actor_hublocs($blockproj);
|
||||||
|
if ($servers) {
|
||||||
|
foreach ($servers as $server) {
|
||||||
|
$m = parse_url($server['hubloc_url']);
|
||||||
|
if ($m['scheme'] && $m['host']) {
|
||||||
|
if (strcasecmp($m['host'], App::get_hostname()) === 0) {
|
||||||
|
notice(t('Blocking this software is not permitted.'));
|
||||||
|
if ($inline) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
killme();
|
||||||
|
}
|
||||||
|
$blockproj = $m['host'];
|
||||||
|
$bl = [
|
||||||
|
'block_channel_id' => local_channel(),
|
||||||
|
'block_entity' => $blockproj,
|
||||||
|
'block_type' => $type,
|
||||||
|
'block_comment' => t('Added by Superblock')
|
||||||
|
];
|
||||||
|
|
||||||
|
LibBlock::store($bl);
|
||||||
|
|
||||||
|
$sync = [];
|
||||||
|
|
||||||
|
$sync['block'] = [LibBlock::fetch_by_entity(local_channel(), $blockproj)];
|
||||||
|
Libsync::build_sync_packet(0, $sync);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$unblockproj = trim($_REQUEST['unblockproj']);
|
||||||
|
if ($unblockproj) {
|
||||||
|
$handled = true;
|
||||||
|
if (check_form_security_token('superblock', 'sectok')) {
|
||||||
|
$r = LibBlock::fetch_by_entity(local_channel(), $unblockproj);
|
||||||
|
if ($r) {
|
||||||
|
LibBlock::remove(local_channel(), $unblockproj);
|
||||||
|
$sync = [];
|
||||||
|
$sync['block'] = [[
|
||||||
|
'block_channel_id' => local_channel(),
|
||||||
|
'block_entity' => $unblockproj,
|
||||||
|
'block_type' => $type,
|
||||||
|
'deleted' => true,
|
||||||
|
]];
|
||||||
|
|
||||||
|
Libsync::build_sync_packet(0, $sync);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($handled) {
|
if ($handled) {
|
||||||
info(t('superblock settings updated') . EOL);
|
info(t('superblock settings updated') . EOL);
|
||||||
|
|
||||||
if ($unblocked || $unblockedsite || $inline) {
|
if ($unblocked || $unblockedsite || $unblockproj || $inline) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
killme();
|
killme();
|
||||||
|
|
Loading…
Reference in a new issue