return $return;
}
- /**
- * Returns the count of OStatus contacts in a group
- *
- * @param int $gid
- * @return int
- * @throws \Exception
- */
- public static function getOStatusCountByGroupId($gid)
- {
- $return = 0;
- if (intval($gid)) {
- $contacts = DBA::fetchFirst('SELECT COUNT(*) AS `count`
- FROM `contact`
- INNER JOIN `group_member`
- ON `contact`.`id` = `group_member`.`contact-id`
- WHERE `gid` = ?
- AND `contact`.`uid` = ?
- AND `contact`.`network` = ?
- AND `contact`.`notify` != ""',
- $gid,
- local_user(),
- Protocol::OSTATUS
- );
- $return = $contacts['count'];
- }
-
- return $return;
- }
-
/**
* Creates the self-contact for the provided user id
*
return;
}
- $fields = ['nickname', 'page-flags', 'account-type', 'hidewall'];
+ $fields = ['nickname', 'page-flags', 'account-type'];
$user = DBA::selectFirst('user', $fields, ['uid' => $uid]);
if (!DBA::isResult($user)) {
return;
}
if (DBA::isResult($r)) {
+ $authoritativeResult = true;
// If there is more than one entry we filter out the connector networks
if (count($r) > 1) {
foreach ($r as $id => $result) {
$profile["bd"] = DBA::NULL_DATE;
}
} else {
+ $authoritativeResult = false;
$profile = $default;
}
$profile["birthday"] = DBA::NULL_DATE;
}
- $cache[$url][$uid] = $profile;
+ // Only cache the result if it came from the DB since this method is used in widely different contexts
+ // @see display_fetch_author for an example of $default parameter diverging from the DB result
+ if ($authoritativeResult) {
+ $cache[$url][$uid] = $profile;
+ }
return $profile;
}
}
}
+ if (!empty($follow_link) || !empty($unfollow_link)) {
+ $contact_drop_link = '';
+ }
+
/**
* Menu array:
* "name" => [ "Label", "link", (bool)Should the link opened in a new tab? ]
$cid, GRAVITY_PARENT, GRAVITY_COMMENT, local_user()];
}
- $pager = new Pager(DI::args()->getQueryString());
+ if (DI::mode()->isMobile()) {
+ $itemsPerPage = DI::pConfig()->get(local_user(), 'system', 'itemspage_mobile_network',
+ DI::config()->get('system', 'itemspage_network_mobile'));
+ } else {
+ $itemsPerPage = DI::pConfig()->get(local_user(), 'system', 'itemspage_network',
+ DI::config()->get('system', 'itemspage_network'));
+ }
+
+ $pager = new Pager(DI::l10n(), DI::args()->getQueryString(), $itemsPerPage);
$params = ['order' => ['received' => true],
'limit' => [$pager->getStart(), $pager->getItemsPerPage()]];
$items = Item::inArray($r);
- $o = conversation($a, $items, $pager, 'contacts', $update, false, 'commented', local_user());
+ $o = conversation($a, $items, 'contacts', $update, false, 'commented', local_user());
} else {
$r = Item::selectForUser(local_user(), [], $condition, $params);
$items = Item::inArray($r);
- $o = conversation($a, $items, $pager, 'contact-posts', false);
+ $o = conversation($a, $items, 'contact-posts', false);
}
if (!$update) {
]);
}
} elseif (DBA::isResult($user) && in_array($user['page-flags'], [User::PAGE_FLAGS_SOAPBOX, User::PAGE_FLAGS_FREELOVE, User::PAGE_FLAGS_COMMUNITY])) {
+ if (($user['page-flags'] == User::PAGE_FLAGS_FREELOVE) && ($network != Protocol::DIASPORA)) {
+ self::createFromProbe($importer['uid'], $url, false, $network);
+ }
+
$condition = ['uid' => $importer['uid'], 'url' => $url, 'pending' => true];
- DBA::update('contact', ['pending' => false], $condition);
+ $fields = ['pending' => false];
+ if ($user['page-flags'] == User::PAGE_FLAGS_FREELOVE) {
+ $fields['rel'] = Contact::FRIEND;
+ }
+
+ DBA::update('contact', $fields, $condition);
return true;
}