aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMario <mario@mariovavti.com>2024-02-01 13:25:40 +0000
committerMario <mario@mariovavti.com>2024-02-01 13:25:40 +0000
commite89563eb4cbc3d4c8645992962affe930df24386 (patch)
tree8cdf8ee5195a426fca80eb4592fead81be1eaa19
parentdd204ec34f473d7e0b133d35b08f3c4dc8d3ffef (diff)
downloadvolse-hubzilla-e89563eb4cbc3d4c8645992962affe930df24386.tar.gz
volse-hubzilla-e89563eb4cbc3d4c8645992962affe930df24386.tar.bz2
volse-hubzilla-e89563eb4cbc3d4c8645992962affe930df24386.zip
fix edgecase for notices and make mod hq backwards compatible
-rw-r--r--Zotlabs/Module/Hq.php13
-rw-r--r--Zotlabs/Widget/Messages.php6
2 files changed, 14 insertions, 5 deletions
diff --git a/Zotlabs/Module/Hq.php b/Zotlabs/Module/Hq.php
index 36ab8e410..ae6a016fc 100644
--- a/Zotlabs/Module/Hq.php
+++ b/Zotlabs/Module/Hq.php
@@ -37,6 +37,15 @@ class Hq extends \Zotlabs\Web\Controller {
$item_hash = $_REQUEST['mid'];
}
+ $identifier = 'uuid';
+ $encoded_item_hash = null;
+
+ if (str_starts_with($item_hash, 'b64.')) {
+ $encoded_item_hash = $item_hash;
+ $item_hash = unpack_link_id($item_hash);
+ $identifier = 'mid';
+ }
+
$item_normal = item_normal();
$item_normal_update = item_normal_update();
$sys = get_sys_channel();
@@ -49,7 +58,7 @@ class Hq extends \Zotlabs\Web\Controller {
// select the target item with a bias to our own item
$sql_order = ((local_channel() > $sys['channel_id']) ? 'DESC' : 'ASC');
- $r = q("select id, uid, mid, parent_mid, thr_parent, verb, item_type, item_deleted, item_blocked from item where uid in (%d, %d) and uuid = '%s' order by uid $sql_order limit 2",
+ $r = q("select id, uid, mid, parent_mid, thr_parent, verb, item_type, item_deleted, item_blocked from item where uid in (%d, %d) and $identifier = '%s' order by uid $sql_order limit 2",
intval(local_channel()),
intval($sys['channel_id']),
dbesc($item_hash)
@@ -151,7 +160,7 @@ class Hq extends \Zotlabs\Web\Controller {
'$dbegin' => '',
'$verb' => '',
'$net' => '',
- '$mid' => $item_hash
+ '$mid' => $encoded_item_hash ?? $item_hash
]);
}
diff --git a/Zotlabs/Widget/Messages.php b/Zotlabs/Widget/Messages.php
index 1d8a3b1da..6e452735a 100644
--- a/Zotlabs/Widget/Messages.php
+++ b/Zotlabs/Widget/Messages.php
@@ -189,7 +189,7 @@ class Messages {
$entries[$i]['summary'] = $summary;
//$entries[$i]['b64mid'] = gen_link_id($item['mid']);
$entries[$i]['b64mid'] = $item['uuid'];
- $entries[$i]['href'] = z_root() . '/hq/' . gen_link_id($item['mid']);
+ $entries[$i]['href'] = z_root() . '/hq/' . $item['uuid'];
$entries[$i]['icon'] = $icon;
$entries[$i]['unseen_count'] = (($item['unseen_count']) ? $item['unseen_count'] : (($item['item_unseen']) ? '&#8192;' : ''));
$entries[$i]['unseen_class'] = (($item['item_unseen']) ? 'primary' : 'secondary');
@@ -293,8 +293,8 @@ class Messages {
$entries[$i]['info'] = '';
$entries[$i]['created'] = datetime_convert('UTC', date_default_timezone_get(), $notice['created']);
$entries[$i]['summary'] = $summary;
- $entries[$i]['b64mid'] = (($notice['ntype'] & NOTIFY_INTRO) ? '' : basename($notice['link']));
- $entries[$i]['href'] = (($notice['ntype'] & NOTIFY_INTRO) ? $notice['link'] : z_root() . '/hq/' . basename($notice['link']));
+ $entries[$i]['b64mid'] = (($notice['ntype'] & NOTIFY_INTRO) ? '' : ((str_contains($notice['hash'], '-')) ? $notice['hash'] : basename($notice['link'])));
+ $entries[$i]['href'] = (($notice['ntype'] & NOTIFY_INTRO) ? $notice['link'] : z_root() . '/hq/' . ((str_contains($notice['hash'], '-')) ? $notice['hash'] : basename($notice['link'])));
$entries[$i]['icon'] = (($notice['ntype'] & NOTIFY_INTRO) ? '<i class="fa fa-user-plus"></i>' : '');
$i++;