"gcontact" removed in the themes as well
This commit is contained in:
parent
d53f46b958
commit
c03cf39c26
2 changed files with 13 additions and 45 deletions
|
@ -17,6 +17,7 @@ use Friendica\Core\Session;
|
||||||
use Friendica\Database\DBA;
|
use Friendica\Database\DBA;
|
||||||
use Friendica\DI;
|
use Friendica\DI;
|
||||||
use Friendica\Model;
|
use Friendica\Model;
|
||||||
|
use Friendica\Model\Contact;
|
||||||
use Friendica\Module;
|
use Friendica\Module;
|
||||||
use Friendica\Util\Strings;
|
use Friendica\Util\Strings;
|
||||||
|
|
||||||
|
@ -190,55 +191,28 @@ function frio_remote_nav($a, &$nav)
|
||||||
$homelink = Session::get('visitor_home', '');
|
$homelink = Session::get('visitor_home', '');
|
||||||
}
|
}
|
||||||
|
|
||||||
// split up the url in it's parts (protocol,domain/directory, /profile/, nickname
|
|
||||||
// I'm not familiar with regex, so someone might find a better solutionen
|
|
||||||
//
|
|
||||||
// E.g $homelink = 'https://friendica.domain.com/profile/mickey' should result in an array
|
|
||||||
// with 0 => 'https://friendica.domain.com/profile/mickey' 1 => 'https://',
|
|
||||||
// 2 => 'friendica.domain.com' 3 => '/profile/' 4 => 'mickey'
|
|
||||||
//
|
|
||||||
//$server_url = preg_match('/^(https?:\/\/.*?)\/profile\//2', $homelink);
|
|
||||||
preg_match('/^(https?:\/\/)?(.*?)(\/profile\/)(.*)/', $homelink, $url_parts);
|
|
||||||
|
|
||||||
// Construct the server url of the visitor. So we could link back to his/her own menu.
|
|
||||||
// And construct a webbie (e.g. mickey@friendica.domain.com for the search in gcontact
|
|
||||||
// We use the webbie for search in gcontact because we don't know if gcontact table stores
|
|
||||||
// the right value if its http or https protocol
|
|
||||||
$webbie = '';
|
|
||||||
if (count($url_parts)) {
|
|
||||||
$server_url = $url_parts[1] . $url_parts[2];
|
|
||||||
$webbie = $url_parts[4] . '@' . $url_parts[2];
|
|
||||||
}
|
|
||||||
|
|
||||||
// since $userinfo isn't available for the hook we write it to the nav array
|
// since $userinfo isn't available for the hook we write it to the nav array
|
||||||
// this isn't optimal because the contact query will be done now twice
|
// this isn't optimal because the contact query will be done now twice
|
||||||
if (local_user() && !empty($a->user['uid'])) {
|
if (local_user() && !empty($a->user['uid'])) {
|
||||||
// empty the server url for local user because we won't need it
|
|
||||||
$server_url = '';
|
|
||||||
// user info
|
|
||||||
$r = q("SELECT `micro` FROM `contact` WHERE `uid` = %d AND `self`", intval($a->user['uid']));
|
|
||||||
|
|
||||||
$r[0]['photo'] = (DBA::isResult($r) ? DI::baseUrl()->remove($r[0]['micro']) : 'images/person-48.jpg');
|
$remoteUser = Contact::getById($a->user['uid'], ['id', 'url', 'avatar', 'micro', 'name', 'nick']);
|
||||||
$r[0]['name'] = $a->user['username'];
|
$remoteUser['name'] = $a->user['username'];
|
||||||
} elseif (!local_user() && remote_user()) {
|
} elseif (!local_user() && remote_user()) {
|
||||||
$r = q("SELECT `name`, `nick`, `micro` AS `photo` FROM `contact` WHERE `id` = %d", intval(remote_user()));
|
$remoteUser = Contact::getById(remote_user(), ['id', 'url', 'avatar', 'micro', 'name', 'nick']);
|
||||||
$nav['remote'] = DI::l10n()->t('Guest');
|
$nav['remote'] = DI::l10n()->t('Guest');
|
||||||
} elseif (Model\Profile::getMyURL()) {
|
} elseif (Model\Profile::getMyURL()) {
|
||||||
$r = q("SELECT `name`, `nick`, `photo` FROM `gcontact`
|
$remoteUser = Contact::getByURL($homelink, ['id', 'url', 'avatar', 'micro', 'name', 'nick']);
|
||||||
WHERE `addr` = '%s' AND `network` = 'dfrn'",
|
|
||||||
DBA::escape($webbie));
|
|
||||||
$nav['remote'] = DI::l10n()->t('Visitor');
|
$nav['remote'] = DI::l10n()->t('Visitor');
|
||||||
} else {
|
} else {
|
||||||
$r = false;
|
$remoteUser = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$remoteUser = null;
|
if (DBA::isResult($remoteUser)) {
|
||||||
if (DBA::isResult($r)) {
|
|
||||||
$nav['userinfo'] = [
|
$nav['userinfo'] = [
|
||||||
'icon' => (DBA::isResult($r) ? $r[0]['photo'] : 'images/person-48.jpg'),
|
'icon' => Contact::getMicro($remoteUser),
|
||||||
'name' => $r[0]['name'],
|
'name' => $remoteUser['name'],
|
||||||
];
|
];
|
||||||
$remoteUser = $r[0];
|
$server_url = $remoteUser['baseurl'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!local_user() && !empty($server_url) && !is_null($remoteUser)) {
|
if (!local_user() && !empty($server_url) && !is_null($remoteUser)) {
|
||||||
|
|
|
@ -239,16 +239,10 @@ function vier_community_info()
|
||||||
$helpers = explode(",", $helperlist);
|
$helpers = explode(",", $helperlist);
|
||||||
|
|
||||||
if ($helpers) {
|
if ($helpers) {
|
||||||
$query = "";
|
foreach ($helpers as $helper) {
|
||||||
foreach ($helpers as $index => $helper) {
|
$urls[] = Strings::normaliseLink(trim($helper));
|
||||||
if ($query != "") {
|
|
||||||
$query .= ",";
|
|
||||||
}
|
|
||||||
|
|
||||||
$query .= "'".DBA::escape(Strings::normaliseLink(trim($helper)))."'";
|
|
||||||
}
|
}
|
||||||
|
$r = DBA::selectToArray('contact', ['url', 'name'], ['uid' => 0, 'nurl' => $urls]);
|
||||||
$r = q("SELECT `url`, `name` FROM `gcontact` WHERE `nurl` IN (%s)", $query);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($r as $index => $helper) {
|
foreach ($r as $index => $helper) {
|
||||||
|
|
Loading…
Reference in a new issue