diff options
author | Mario Vavti <mario@mariovavti.com> | 2021-06-03 11:00:39 +0200 |
---|---|---|
committer | Mario Vavti <mario@mariovavti.com> | 2021-06-03 11:00:39 +0200 |
commit | e5c8273f7284fe065e88b8d7ddac2ea55964f3f0 (patch) | |
tree | 0809eba89f4ed7248d9af04c8e84ef1b1412fb72 /Zotlabs/Module/Channel.php | |
parent | 440f7bacd62cd277e8d9d4341675e8c5f5e7485a (diff) | |
parent | 33463152e844f98b933401c394cc0e111893a077 (diff) | |
download | volse-hubzilla-e5c8273f7284fe065e88b8d7ddac2ea55964f3f0.tar.gz volse-hubzilla-e5c8273f7284fe065e88b8d7ddac2ea55964f3f0.tar.bz2 volse-hubzilla-e5c8273f7284fe065e88b8d7ddac2ea55964f3f0.zip |
Merge branch 'six' of https://framagit.org/hubzilla/core into six
Diffstat (limited to 'Zotlabs/Module/Channel.php')
-rw-r--r-- | Zotlabs/Module/Channel.php | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php index a7deb4f6b..20cbe0b5c 100644 --- a/Zotlabs/Module/Channel.php +++ b/Zotlabs/Module/Channel.php @@ -46,14 +46,22 @@ class Channel extends Controller { } $profile = 0; - $channel = App::get_channel(); if ((local_channel()) && (argc() > 2) && (argv(2) === 'view')) { + $channel = App::get_channel(); $which = $channel['channel_address']; $profile = argv(1); } - $channel = channelx_by_nick($which); + + // Do not use channelx_by_nick() here since it will dismiss deleted channels. + // We need to provide zotinfo for deleted channels so that directories can pick up the info. + $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_address = '%s' LIMIT 1", + dbesc($which) + ); + + $channel = $r[0]; + if (!$channel) { http_status_exit(404, 'Not found'); } @@ -83,12 +91,17 @@ class Channel extends Controller { 'Digest' => HTTPSig::generate_digest_header($data), '(request-target)' => strtolower($_SERVER['REQUEST_METHOD']) . ' ' . $_SERVER['REQUEST_URI'] ]; - $h = HTTPSig::create_sig($headers, $channel['channel_prvkey'], channel_url($channel)); + + $h = HTTPSig::create_sig($headers, $channel['channel_prvkey'], channel_url($channel)); HTTPSig::set_headers($h); echo $data; killme(); } + if ($channel['channel_removed']) { + http_status_exit(404, 'Not found'); + } + if (ActivityStreams::is_as_request($channel)) { // Somebody may attempt an ActivityStreams fetch on one of our message permalinks |