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.
This commit is contained in:
zotlabs 2017-06-25 18:49:50 -07:00
parent ef53db0b91
commit c456e01219

View File

@ -102,12 +102,21 @@ class Chanview extends \Zotlabs\Web\Controller {
} }
$is_zot = false; $is_zot = false;
$connected = false;
if (\App::$poi) { if (\App::$poi) {
$url = \App::$poi['xchan_url']; $url = \App::$poi['xchan_url'];
if(\App::$poi['xchan_network'] === 'zot') { if(\App::$poi['xchan_network'] === 'zot') {
$is_zot = true; $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, // We will load the chanview template if it's a foreign network,
@ -115,10 +124,10 @@ class Chanview extends \Zotlabs\Web\Controller {
// photo. Chances are we can't load the remote profile into an iframe // photo. Chances are we can't load the remote profile into an iframe
// because of cross-domain security headers. So provide a link to // because of cross-domain security headers. So provide a link to
// the remote profile. // the remote profile.
// If we are already connected, just go to the profile.
// Zot channels will usually have a connect link. // Zot channels will usually have a connect link.
if($is_zot) { if($is_zot || $connected) {
if($is_zot && $observer) { if($is_zot && $observer) {
$url = zid($url); $url = zid($url);
} }