aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Module/Channel.php
diff options
context:
space:
mode:
authornobody <nobody@zotlabs.com>2021-06-03 16:01:16 -0700
committernobody <nobody@zotlabs.com>2021-06-03 16:01:16 -0700
commit686530c1873f98d724355bf3f456243b1b7fdadd (patch)
tree81fdbb61a8ef8f73dc3a5009e8a2f6c5a75de712 /Zotlabs/Module/Channel.php
parent462980c70a2698490d97a481cee0f2500dacb91c (diff)
parentba22d3e9b6ef7042d7129c7715c81c668fcf79b3 (diff)
downloadvolse-hubzilla-686530c1873f98d724355bf3f456243b1b7fdadd.tar.gz
volse-hubzilla-686530c1873f98d724355bf3f456243b1b7fdadd.tar.bz2
volse-hubzilla-686530c1873f98d724355bf3f456243b1b7fdadd.zip
Merge branch 'dev' of https://framagit.org/hubzilla/core into dev
Diffstat (limited to 'Zotlabs/Module/Channel.php')
-rw-r--r--Zotlabs/Module/Channel.php19
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