* @throws HTTPException\InternalServerErrorException
* @throws \ImagickException
*/
- public static function isFollowerByURL(string $url, uid $uid): bool
+ public static function isFollowerByURL(string $url, int $uid): bool
{
$cid = self::getIdForURL($url, $uid);
* Check if the given contact ID is on the same server
*
* @param string $url The contact link
- *
* @return boolean Is it the same server?
*/
public static function isLocalById(int $cid): bool
*
* @param int $cid Either public contact id or user's contact id
* @param int $uid User ID
- *
* @return array with public and user's contact id
* @throws HTTPException\InternalServerErrorException
* @throws \ImagickException
* @param int $cid A contact ID
* @param int $uid The User ID
* @param array $fields The selected fields for the contact
- *
* @return array The contact details
*
* @throws \Exception
*/
- public static function getContactForUser($cid, $uid, array $fields = [])
+ public static function getContactForUser(int $cid, int $uid, array $fields = []): array
{
$contact = DBA::selectFirst('contact', $fields, ['id' => $cid, 'uid' => $uid]);
* @return bool Operation success
* @throws HTTPException\InternalServerErrorException
*/
- public static function createSelfFromUserId($uid)
+ public static function createSelfFromUserId(int $uid): bool
{
$user = DBA::selectFirst('user', ['uid', 'username', 'nickname', 'pubkey', 'prvkey'],
['uid' => $uid, 'account_expired' => false]);
/**
* Updates the self-contact for the provided user id
*
- * @param int $uid
- * @param boolean $update_avatar Force the avatar update
- * @return bool "true" if updated
+ * @param int $uid
+ * @param bool $update_avatar Force the avatar update
+ * @return bool "true" if updated
* @throws HTTPException\InternalServerErrorException
*/
- public static function updateSelfFromUserID($uid, $update_avatar = false)
+ public static function updateSelfFromUserID(int $uid, bool $update_avatar = false): bool
{
$fields = ['id', 'uri-id', 'name', 'nick', 'location', 'about', 'keywords', 'avatar', 'prvkey', 'pubkey', 'manually-approve',
'xmpp', 'matrix', 'contact-type', 'forum', 'prv', 'avatar-date', 'url', 'nurl', 'unsearchable',
}
$file_suffix = 'jpg';
+ $url = DI::baseUrl() . '/profile/' . $user['nickname'];
+
+ $fields = [
+ 'name' => $profile['name'],
+ 'nick' => $user['nickname'],
+ 'avatar-date' => $self['avatar-date'],
+ 'location' => Profile::formatLocation($profile),
+ 'about' => $profile['about'],
+ 'keywords' => $profile['pub_keywords'],
+ 'contact-type' => $user['account-type'],
+ 'prvkey' => $user['prvkey'],
+ 'pubkey' => $user['pubkey'],
+ 'xmpp' => $profile['xmpp'],
+ 'matrix' => $profile['matrix'],
+ 'network' => Protocol::DFRN,
+ 'url' => $url,
+ // it seems as if ported accounts can have wrong values, so we make sure that now everything is fine.
+ 'nurl' => Strings::normaliseLink($url),
+ 'uri-id' => ItemURI::getIdByURI($url),
+ 'addr' => $user['nickname'] . '@' . substr(DI::baseUrl(), strpos(DI::baseUrl(), '://') + 3),
+ 'request' => DI::baseUrl() . '/dfrn_request/' . $user['nickname'],
+ 'notify' => DI::baseUrl() . '/dfrn_notify/' . $user['nickname'],
+ 'poll' => DI::baseUrl() . '/dfrn_poll/'. $user['nickname'],
+ 'confirm' => DI::baseUrl() . '/dfrn_confirm/' . $user['nickname'],
+ 'poco' => DI::baseUrl() . '/poco/' . $user['nickname'],
+ ];
- $fields = ['name' => $profile['name'], 'nick' => $user['nickname'],
- 'avatar-date' => $self['avatar-date'], 'location' => Profile::formatLocation($profile),
- 'about' => $profile['about'], 'keywords' => $profile['pub_keywords'],
- 'contact-type' => $user['account-type'], 'prvkey' => $user['prvkey'],
- 'pubkey' => $user['pubkey'], 'xmpp' => $profile['xmpp'], 'matrix' => $profile['matrix'], 'network' => Protocol::DFRN];
-
- // it seems as if ported accounts can have wrong values, so we make sure that now everything is fine.
- $fields['url'] = DI::baseUrl() . '/profile/' . $user['nickname'];
- $fields['nurl'] = Strings::normaliseLink($fields['url']);
- $fields['uri-id'] = ItemURI::getIdByURI($fields['url']);
- $fields['addr'] = $user['nickname'] . '@' . substr(DI::baseUrl(), strpos(DI::baseUrl(), '://') + 3);
- $fields['request'] = DI::baseUrl() . '/dfrn_request/' . $user['nickname'];
- $fields['notify'] = DI::baseUrl() . '/dfrn_notify/' . $user['nickname'];
- $fields['poll'] = DI::baseUrl() . '/dfrn_poll/'. $user['nickname'];
- $fields['confirm'] = DI::baseUrl() . '/dfrn_confirm/' . $user['nickname'];
- $fields['poco'] = DI::baseUrl() . '/poco/' . $user['nickname'];
$avatar = Photo::selectFirst(['resource-id', 'type'], ['uid' => $uid, 'profile' => true]);
if (DBA::isResult($avatar)) {
* Marks a contact for removal
*
* @param int $id contact id
+ * @return void
* @throws HTTPException\InternalServerErrorException
*/
- public static function remove($id)
+ public static function remove(int $id)
{
// We want just to make sure that we don't delete our "self" contact
$contact = DBA::selectFirst('contact', ['uri-id', 'photo', 'thumb', 'micro', 'uid'], ['id' => $id, 'self' => false]);
* Unfollow the remote contact
*
* @param array $contact Target user-specific contact (uid != 0) array
+ * @return void
* @throws HTTPException\InternalServerErrorException
* @throws \ImagickException
*/
* The local relationship is updated immediately, the eventual remote server is messaged in the background.
*
* @param array $contact User-specific contact array (uid != 0) to revoke the follow from
+ * @return void
* @throws HTTPException\InternalServerErrorException
* @throws \ImagickException
*/
* Completely severs a relationship with a contact
*
* @param array $contact User-specific contact (uid != 0) array
+ * @return void
* @throws HTTPException\InternalServerErrorException
* @throws \ImagickException
*/
* up or some other transient event and that there's a possibility we could recover from it.
*
* @param array $contact contact to mark for archival
- * @return null
+ * @return void
* @throws HTTPException\InternalServerErrorException
*/
public static function markForArchival(array $contact)
* @see Contact::markForArchival()
*
* @param array $contact contact to be unmarked for archival
- * @return null
+ * @return void
* @throws \Exception
*/
public static function unmarkForArchival(array $contact)
* @throws HTTPException\InternalServerErrorException
* @throws \ImagickException
*/
- public static function photoMenu(array $contact, $uid = 0)
+ public static function photoMenu(array $contact, int $uid = 0): array
{
$pm_url = '';
$status_link = '';
* @throws HTTPException\InternalServerErrorException
* @throws \ImagickException
*/
- public static function getIdForURL($url, $uid = 0, $update = null, $default = [])
+ public static function getIdForURL(string $url = null, int $uid = 0, $update = null, array $default = []): int
{
$contact_id = 0;
- if ($url == '') {
+ if (empty($url)) {
Logger::notice('Empty url, quitting', ['url' => $url, 'user' => $uid, 'default' => $default]);
return 0;
}
* @return boolean Is the contact archived?
* @throws HTTPException\InternalServerErrorException
*/
- public static function isArchived(int $cid)
+ public static function isArchived(int $cid): bool
{
if ($cid == 0) {
return false;
* Checks if the contact is blocked
*
* @param int $cid contact id
- *
* @return boolean Is the contact blocked?
* @throws HTTPException\InternalServerErrorException
*/
- public static function isBlocked($cid)
+ public static function isBlocked(int $cid): bool
{
if ($cid == 0) {
return false;
* Checks if the contact is hidden
*
* @param int $cid contact id
- *
* @return boolean Is the contact hidden?
* @throws \Exception
*/
- public static function isHidden($cid)
+ public static function isHidden(int $cid): bool
{
if ($cid == 0) {
return false;
* @return string posts in HTML
* @throws \Exception
*/
- public static function getPostsFromUrl($contact_url, $thread_mode = false, $update = 0, $parent = 0, bool $only_media = false)
+ public static function getPostsFromUrl(string $contact_url, bool $thread_mode = false, int $update = 0, int $parent = 0, bool $only_media = false): string
{
return self::getPostsFromId(self::getIdForURL($contact_url), $thread_mode, $update, $parent, $only_media);
}
* @return string posts in HTML
* @throws \Exception
*/
- public static function getPostsFromId($cid, $thread_mode = false, $update = 0, $parent = 0, bool $only_media = false)
+ public static function getPostsFromId(int $cid, bool $thread_mode = false, int $update = 0, int $parent = 0, bool $only_media = false): string
{
$contact = DBA::selectFirst('contact', ['contact-type', 'network'], ['id' => $cid]);
if (!DBA::isResult($contact)) {
$new_pubkey = $ret['pubkey'] ?? '';
- if ($uid == 0) {
+ if ($uid == 0 && DI::config()->get('system', 'fetch_featured_posts')) {
if ($ret['network'] == Protocol::ACTIVITYPUB) {
$apcontact = APContact::getByURL($ret['url'], false);
if (!empty($apcontact['featured'])) {