From c456e01219bf535582744d5210b2b096985aa05d Mon Sep 17 00:00:00 2001 From: zotlabs Date: Sun, 25 Jun 2017 18:49:50 -0700 Subject: chanview - if already connected, bypass the chanview intermediary page and go straight to the remote profile. The chanview page is only there to present a connect link since the remote profile may not have one. --- Zotlabs/Module/Chanview.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Zotlabs/Module/Chanview.php b/Zotlabs/Module/Chanview.php index c3194184a..245e71bec 100644 --- a/Zotlabs/Module/Chanview.php +++ b/Zotlabs/Module/Chanview.php @@ -102,23 +102,32 @@ class Chanview extends \Zotlabs\Web\Controller { } $is_zot = false; + $connected = false; if (\App::$poi) { $url = \App::$poi['xchan_url']; if(\App::$poi['xchan_network'] === 'zot') { $is_zot = true; } - } + if(local_channel()) { + $c = q("select abook_id from abook where abook_channel = %d and abook_xchan = '%s' limit 1", + intval(local_channel()), + dbesc(\App::$poi['xchan_hash']) + ); + if($c) + $connected = true; + } + // We will load the chanview template if it's a foreign network, // just so that we can provide a connect button along with a profile // photo. Chances are we can't load the remote profile into an iframe // because of cross-domain security headers. So provide a link to // the remote profile. - + // If we are already connected, just go to the profile. // Zot channels will usually have a connect link. - if($is_zot) { + if($is_zot || $connected) { if($is_zot && $observer) { $url = zid($url); } -- cgit v1.2.3