From 68a91ec3ea7eaf56689545535a7481a838eff4da Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Tue, 5 Sep 2017 23:18:02 +0200 Subject: 32 characters are often not enough to distinguish gnu-social mids - use the entire mid. in /display if we are not dealing with posts (eg likes) provide the thr_parent mid as bParam_mid so we can still adress the right post in javascript --- Zotlabs/Lib/ThreadItem.php | 2 +- Zotlabs/Module/Display.php | 5 +++-- view/js/main.js | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Zotlabs/Lib/ThreadItem.php b/Zotlabs/Lib/ThreadItem.php index f9565d339..d33f3c183 100644 --- a/Zotlabs/Lib/ThreadItem.php +++ b/Zotlabs/Lib/ThreadItem.php @@ -413,7 +413,7 @@ class ThreadItem { 'previewing' => ($conv->is_preview() ? true : false ), 'preview_lbl' => t('This is an unsaved preview'), 'wait' => t('Please wait'), - 'submid' => str_replace(['+','='], ['',''], base64_encode(substr($item['mid'],0,32))), + 'submid' => str_replace(['+','='], ['',''], base64_encode($item['mid'])), 'thread_level' => $thread_level ); diff --git a/Zotlabs/Module/Display.php b/Zotlabs/Module/Display.php index 68da3e247..11c75219d 100644 --- a/Zotlabs/Module/Display.php +++ b/Zotlabs/Module/Display.php @@ -89,7 +89,7 @@ class Display extends \Zotlabs\Web\Controller { if($decoded) $item_hash = $decoded; - $r = q("select id, uid, mid, parent_mid, item_type, item_deleted from item where mid like '%s' limit 1", + $r = q("select id, uid, mid, parent_mid, thr_parent, verb, item_type, item_deleted from item where mid like '%s' limit 1", dbesc($item_hash . '%') ); @@ -165,7 +165,8 @@ class Display extends \Zotlabs\Web\Controller { '$dend' => '', '$dbegin' => '', '$verb' => '', - '$mid' => $item_hash + //if the target item is not a post (eg a like) want to address its thread parent + '$mid' => (($target_item['verb'] == ACTIVITY_POST) ? $item_hash : $target_item['thr_parent']) )); head_add_link([ diff --git a/view/js/main.js b/view/js/main.js index 3a4278630..ce7a1a07e 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -698,9 +698,9 @@ function updateConvItems(mode,data) { // auto-scroll to a particular comment in a thread (designated by mid) when in single-thread mode // use the same method to generate the submid as we use in ThreadItem, - // substr(0,32) + base64_encode + replace(['+','='],['','']); + // base64_encode + replace(['+','='],['','']); var submid = bParam_mid; - var submid_encoded = ((submid.length) ? submid.substring(0,32) : 'abcdefg'); + var submid_encoded = ((submid.length) ? submid : 'abcdefg'); submid_encoded = window.btoa(submid_encoded); submid_encoded = submid_encoded.replace(/[\+\=]/g,''); if($('.item_' + submid_encoded).length && !$('.item_' + submid_encoded).hasClass('toplevel_item') && mode == 'replace') { -- cgit v1.2.3