Reformatted code
This commit is contained in:
parent
5699b03e8d
commit
fd8f4269ff
|
@ -261,7 +261,7 @@ class Relation
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an array of sugguested contacts for given user id
|
* Returns an array of suggested contacts for given user id
|
||||||
*
|
*
|
||||||
* @param int $uid User id
|
* @param int $uid User id
|
||||||
* @param int $start optional, default 0
|
* @param int $start optional, default 0
|
||||||
|
@ -288,13 +288,8 @@ class Relation
|
||||||
AND NOT `hidden` AND `network` IN (?, ?, ?, ?)",
|
AND NOT `hidden` AND `network` IN (?, ?, ?, ?)",
|
||||||
$cid,
|
$cid,
|
||||||
0,
|
0,
|
||||||
$uid,
|
$uid, Contact::FRIEND, Contact::SHARING,
|
||||||
Contact::FRIEND,
|
Protocol::ACTIVITYPUB, Protocol::DFRN, $diaspora, $ostatus,
|
||||||
Contact::SHARING,
|
|
||||||
Protocol::ACTIVITYPUB,
|
|
||||||
Protocol::DFRN,
|
|
||||||
$diaspora,
|
|
||||||
$ostatus,
|
|
||||||
], [
|
], [
|
||||||
'order' => ['last-item' => true],
|
'order' => ['last-item' => true],
|
||||||
'limit' => $totallimit,
|
'limit' => $totallimit,
|
||||||
|
|
|
@ -82,8 +82,8 @@ class User
|
||||||
/**
|
/**
|
||||||
* Apply changes from contact update data to user-contact table
|
* Apply changes from contact update data to user-contact table
|
||||||
*
|
*
|
||||||
* @param array $fields Fields
|
* @param array $fields
|
||||||
* @param array $condition Conditions
|
* @param array $condition
|
||||||
* @return void
|
* @return void
|
||||||
* @throws PDOException
|
* @throws PDOException
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
|
|
|
@ -683,7 +683,6 @@ class GServer
|
||||||
* Fetch server data from '/statistics.json' on the given server
|
* Fetch server data from '/statistics.json' on the given server
|
||||||
*
|
*
|
||||||
* @param string $url URL of the given server
|
* @param string $url URL of the given server
|
||||||
*
|
|
||||||
* @return array server data
|
* @return array server data
|
||||||
*/
|
*/
|
||||||
private static function fetchStatistics(string $url): array
|
private static function fetchStatistics(string $url): array
|
||||||
|
|
|
@ -40,7 +40,7 @@ class Link
|
||||||
/**
|
/**
|
||||||
* Check if the link is stored
|
* Check if the link is stored
|
||||||
*
|
*
|
||||||
* @param int $uriId URI id
|
* @param int $uriId
|
||||||
* @param string $url URL
|
* @param string $url URL
|
||||||
* @return bool Whether record has been found
|
* @return bool Whether record has been found
|
||||||
*/
|
*/
|
||||||
|
@ -52,9 +52,9 @@ class Link
|
||||||
/**
|
/**
|
||||||
* Returns URL by URI id and other URL
|
* Returns URL by URI id and other URL
|
||||||
*
|
*
|
||||||
* @param int $uriId URI id
|
* @param int $uriId
|
||||||
* @param string $url URL
|
* @param string $url
|
||||||
* @param string size Size
|
* @param string $size
|
||||||
* @return string Found link URL + id on success, $url on failture
|
* @return string Found link URL + id on success, $url on failture
|
||||||
*/
|
*/
|
||||||
public static function getByLink(int $uriId, string $url, string $size = ''): string
|
public static function getByLink(int $uriId, string $url, string $size = ''): string
|
||||||
|
@ -113,7 +113,7 @@ class Link
|
||||||
* Fetches MIME type by URL and Accept: header
|
* Fetches MIME type by URL and Accept: header
|
||||||
*
|
*
|
||||||
* @param string $url URL to fetch
|
* @param string $url URL to fetch
|
||||||
* @param string $accept Accept: line
|
* @param string $accept Comma-separated list of expected response MIME type(s)
|
||||||
* @return string Discovered MIME type or empty string on failure
|
* @return string Discovered MIME type or empty string on failure
|
||||||
*/
|
*/
|
||||||
private static function fetchMimeType(string $url, string $accept = HttpClientAccept::DEFAULT): string
|
private static function fetchMimeType(string $url, string $accept = HttpClientAccept::DEFAULT): string
|
||||||
|
@ -132,8 +132,8 @@ class Link
|
||||||
/**
|
/**
|
||||||
* Add external links and replace them in the body
|
* Add external links and replace them in the body
|
||||||
*
|
*
|
||||||
* @param integer $uriId URI id
|
* @param integer $uriId
|
||||||
* @param string $body HTML body
|
* @param string $body Item body formatted with BBCodes
|
||||||
* @return string Body with replaced links
|
* @return string Body with replaced links
|
||||||
*/
|
*/
|
||||||
public static function insertFromBody(int $uriId, string $body): string
|
public static function insertFromBody(int $uriId, string $body): string
|
||||||
|
|
|
@ -25,6 +25,7 @@ use Friendica\Core\Logger;
|
||||||
use Friendica\Core\Worker;
|
use Friendica\Core\Worker;
|
||||||
use Friendica\Database\DBA;
|
use Friendica\Database\DBA;
|
||||||
use Friendica\DI;
|
use Friendica\DI;
|
||||||
|
use Friendica\Factory\Api\Mastodon\Notification as NotificationFactory;
|
||||||
use Friendica\Navigation\Notifications\Entity;
|
use Friendica\Navigation\Notifications\Entity;
|
||||||
use Friendica\Object\Api\Mastodon\Notification;
|
use Friendica\Object\Api\Mastodon\Notification;
|
||||||
use Minishlink\WebPush\VAPID;
|
use Minishlink\WebPush\VAPID;
|
||||||
|
@ -133,12 +134,12 @@ class Subscription
|
||||||
/**
|
/**
|
||||||
* Prepare push notification
|
* Prepare push notification
|
||||||
*
|
*
|
||||||
* @param Notification $Notification Notification instance
|
* @param Notification $Notification
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public static function pushByNotification(Entity\Notification $notification)
|
public static function pushByNotification(Entity\Notification $notification)
|
||||||
{
|
{
|
||||||
$type = \Friendica\Factory\Api\Mastodon\Notification::getType($notification);
|
$type = NotificationFactory::getType($notification);
|
||||||
|
|
||||||
if (DI::notify()->NotifyOnDesktop($notification, $type)) {
|
if (DI::notify()->NotifyOnDesktop($notification, $type)) {
|
||||||
DI::notify()->createFromNotification($notification);
|
DI::notify()->createFromNotification($notification);
|
||||||
|
|
|
@ -73,7 +73,7 @@ class Tag
|
||||||
/**
|
/**
|
||||||
* Store tag/mention elements
|
* Store tag/mention elements
|
||||||
*
|
*
|
||||||
* @param integer $uriId URI id
|
* @param integer $uriId
|
||||||
* @param integer $type Tag type
|
* @param integer $type Tag type
|
||||||
* @param string $name Tag name
|
* @param string $name Tag name
|
||||||
* @param string $url Contact URL (optional)
|
* @param string $url Contact URL (optional)
|
||||||
|
@ -217,7 +217,7 @@ class Tag
|
||||||
* Get a tag id for a given tag name and URL
|
* Get a tag id for a given tag name and URL
|
||||||
*
|
*
|
||||||
* @param string $name Name of tag
|
* @param string $name Name of tag
|
||||||
* @param string $url URL
|
* @param string $url
|
||||||
* @param int $type Type of tag
|
* @param int $type Type of tag
|
||||||
* @return int Tag id
|
* @return int Tag id
|
||||||
*/
|
*/
|
||||||
|
@ -254,10 +254,10 @@ class Tag
|
||||||
/**
|
/**
|
||||||
* Store tag/mention elements
|
* Store tag/mention elements
|
||||||
*
|
*
|
||||||
* @param integer $uriId URI id
|
* @param integer $uriId
|
||||||
* @param string $hash Hash
|
* @param string $hash
|
||||||
* @param string $name Name
|
* @param string $name
|
||||||
* @param string $url URL
|
* @param string $url
|
||||||
* @param boolean $probing Whether probing is active
|
* @param boolean $probing Whether probing is active
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
@ -372,7 +372,7 @@ class Tag
|
||||||
/**
|
/**
|
||||||
* Remove tag/mention
|
* Remove tag/mention
|
||||||
*
|
*
|
||||||
* @param integer $uriId URI id
|
* @param integer $uriId
|
||||||
* @param integer $type Type
|
* @param integer $type Type
|
||||||
* @param string $name Name
|
* @param string $name Name
|
||||||
* @param string $url URL
|
* @param string $url URL
|
||||||
|
@ -397,10 +397,10 @@ class Tag
|
||||||
/**
|
/**
|
||||||
* Remove tag/mention
|
* Remove tag/mention
|
||||||
*
|
*
|
||||||
* @param integer $uriId URI id
|
* @param integer $uriId
|
||||||
* @param string $hash Hash
|
* @param string $hash
|
||||||
* @param string $name Name
|
* @param string $name
|
||||||
* @param string $url URL
|
* @param string $url
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public static function removeByHash(int $uriId, string $hash, string $name, string $url = '')
|
public static function removeByHash(int $uriId, string $hash, string $name, string $url = '')
|
||||||
|
@ -416,7 +416,7 @@ class Tag
|
||||||
/**
|
/**
|
||||||
* Get the type for the given hash
|
* Get the type for the given hash
|
||||||
*
|
*
|
||||||
* @param string $hash Hash
|
* @param string $hash
|
||||||
* @return integer Tag type
|
* @return integer Tag type
|
||||||
*/
|
*/
|
||||||
private static function getTypeForHash(string $hash): int
|
private static function getTypeForHash(string $hash): int
|
||||||
|
@ -437,8 +437,8 @@ class Tag
|
||||||
/**
|
/**
|
||||||
* Create implicit mentions for a given post
|
* Create implicit mentions for a given post
|
||||||
*
|
*
|
||||||
* @param integer $uriId URI Id
|
* @param integer $uriId
|
||||||
* @param integer $parentUriId Parent URI id
|
* @param integer $parentUriId
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public static function createImplicitMentions(int $uriId, int $parentUriId)
|
public static function createImplicitMentions(int $uriId, int $parentUriId)
|
||||||
|
@ -461,7 +461,7 @@ class Tag
|
||||||
/**
|
/**
|
||||||
* Retrieves the terms from the provided type(s) associated with the provided item ID.
|
* Retrieves the terms from the provided type(s) associated with the provided item ID.
|
||||||
*
|
*
|
||||||
* @param int $uriId URI id
|
* @param int $uriId
|
||||||
* @param array $type Tag type(s)
|
* @param array $type Tag type(s)
|
||||||
* @return array|bool Array on success, false on error
|
* @return array|bool Array on success, false on error
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
|
@ -475,7 +475,7 @@ class Tag
|
||||||
/**
|
/**
|
||||||
* Return a string with all tags and mentions
|
* Return a string with all tags and mentions
|
||||||
*
|
*
|
||||||
* @param integer $uriId URI id
|
* @param integer $uriId
|
||||||
* @param array $type Tag type(s)
|
* @param array $type Tag type(s)
|
||||||
* @return string tags and mentions
|
* @return string tags and mentions
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
|
@ -565,15 +565,8 @@ class Tag
|
||||||
{
|
{
|
||||||
$condition = ["`name` = ? AND (`uid` = ? OR (`uid` = ? AND NOT `global`))
|
$condition = ["`name` = ? AND (`uid` = ? OR (`uid` = ? AND NOT `global`))
|
||||||
AND (`network` IN (?, ?, ?, ?) OR (`uid` = ? AND `uid` != ?))",
|
AND (`network` IN (?, ?, ?, ?) OR (`uid` = ? AND `uid` != ?))",
|
||||||
$search,
|
$search, 0, $uid,
|
||||||
0,
|
Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, $uid, 0,
|
||||||
$uid,
|
|
||||||
Protocol::ACTIVITYPUB,
|
|
||||||
Protocol::DFRN,
|
|
||||||
Protocol::DIASPORA,
|
|
||||||
Protocol::OSTATUS,
|
|
||||||
$uid,
|
|
||||||
0,
|
|
||||||
];
|
];
|
||||||
|
|
||||||
return DBA::count('tag-search-view', $condition);
|
return DBA::count('tag-search-view', $condition);
|
||||||
|
@ -593,15 +586,8 @@ class Tag
|
||||||
{
|
{
|
||||||
$condition = ["`name` = ? AND (`uid` = ? OR (`uid` = ? AND NOT `global`))
|
$condition = ["`name` = ? AND (`uid` = ? OR (`uid` = ? AND NOT `global`))
|
||||||
AND (`network` IN (?, ?, ?, ?) OR (`uid` = ? AND `uid` != ?))",
|
AND (`network` IN (?, ?, ?, ?) OR (`uid` = ? AND `uid` != ?))",
|
||||||
$search,
|
$search, 0, $uid,
|
||||||
0,
|
Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, $uid, 0,
|
||||||
$uid,
|
|
||||||
Protocol::ACTIVITYPUB,
|
|
||||||
Protocol::DFRN,
|
|
||||||
Protocol::DIASPORA,
|
|
||||||
Protocol::OSTATUS,
|
|
||||||
$uid,
|
|
||||||
0,
|
|
||||||
];
|
];
|
||||||
|
|
||||||
if (!empty($last_uriid)) {
|
if (!empty($last_uriid)) {
|
||||||
|
@ -686,9 +672,7 @@ class Tag
|
||||||
FROM `tag-search-view`
|
FROM `tag-search-view`
|
||||||
WHERE `private` = ? AND `uid` = ? AND `uri-id` > ? $block_sql
|
WHERE `private` = ? AND `uid` = ? AND `uri-id` > ? $block_sql
|
||||||
GROUP BY `term` ORDER BY `authors` DESC, `score` DESC LIMIT ?",
|
GROUP BY `term` ORDER BY `authors` DESC, `score` DESC LIMIT ?",
|
||||||
Item::PUBLIC,
|
Item::PUBLIC, 0, $post['uri-id'],
|
||||||
0,
|
|
||||||
$post['uri-id'],
|
|
||||||
$limit
|
$limit
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -743,8 +727,7 @@ class Tag
|
||||||
FROM `tag-search-view`
|
FROM `tag-search-view`
|
||||||
WHERE `private` = ? AND `wall` AND `origin` AND `uri-id` > ? $block_sql
|
WHERE `private` = ? AND `wall` AND `origin` AND `uri-id` > ? $block_sql
|
||||||
GROUP BY `term` ORDER BY `authors` DESC, `score` DESC LIMIT ?",
|
GROUP BY `term` ORDER BY `authors` DESC, `score` DESC LIMIT ?",
|
||||||
Item::PUBLIC,
|
Item::PUBLIC, $post['uri-id'],
|
||||||
$post['uri-id'],
|
|
||||||
$limit
|
$limit
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -797,7 +780,7 @@ class Tag
|
||||||
/**
|
/**
|
||||||
* Fetch user who subscribed to the tags of the given item
|
* Fetch user who subscribed to the tags of the given item
|
||||||
*
|
*
|
||||||
* @param integer $uriId URI Id
|
* @param integer $uriId
|
||||||
* @return array User list
|
* @return array User list
|
||||||
*/
|
*/
|
||||||
public static function getUIDListByURIId(int $uriId): array
|
public static function getUIDListByURIId(int $uriId): array
|
||||||
|
|
|
@ -32,6 +32,7 @@ use Friendica\Core\L10n;
|
||||||
use Friendica\Core\System;
|
use Friendica\Core\System;
|
||||||
use Friendica\Database\Database;
|
use Friendica\Database\Database;
|
||||||
use Friendica\Database\DBA;
|
use Friendica\Database\DBA;
|
||||||
|
use Friendica\Factory\Api\Mastodon\Notification as NotificationFactory;
|
||||||
use Friendica\Model;
|
use Friendica\Model;
|
||||||
use Friendica\Navigation\Notifications\Collection;
|
use Friendica\Navigation\Notifications\Collection;
|
||||||
use Friendica\Navigation\Notifications\Entity;
|
use Friendica\Navigation\Notifications\Entity;
|
||||||
|
@ -660,7 +661,7 @@ class Notify extends BaseRepository
|
||||||
public function NotifyOnDesktop(Entity\Notification $Notification, string $type = null): bool
|
public function NotifyOnDesktop(Entity\Notification $Notification, string $type = null): bool
|
||||||
{
|
{
|
||||||
if (is_null($type)) {
|
if (is_null($type)) {
|
||||||
$type = \Friendica\Factory\Api\Mastodon\Notification::getType($Notification);
|
$type = NotificationFactory::getType($Notification);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (in_array($Notification->type, [Model\Post\UserNotification::TYPE_FOLLOW, Model\Post\UserNotification::TYPE_SHARED])) {
|
if (in_array($Notification->type, [Model\Post\UserNotification::TYPE_FOLLOW, Model\Post\UserNotification::TYPE_SHARED])) {
|
||||||
|
|
|
@ -747,7 +747,7 @@ class Post
|
||||||
/**
|
/**
|
||||||
* Set conversation thread
|
* Set conversation thread
|
||||||
*
|
*
|
||||||
* @param Thread $thread Thread to set or NULL
|
* @param Thread|null $thread
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setThread(Thread $thread = null)
|
public function setThread(Thread $thread = null)
|
||||||
|
@ -763,7 +763,7 @@ class Post
|
||||||
/**
|
/**
|
||||||
* Get conversation
|
* Get conversation
|
||||||
*
|
*
|
||||||
* @return Thread
|
* @return Thread|null
|
||||||
*/
|
*/
|
||||||
public function getThread()
|
public function getThread()
|
||||||
{
|
{
|
||||||
|
|
|
@ -2244,7 +2244,7 @@ class Transmitter
|
||||||
* Prepends mentions (@) to $body variable
|
* Prepends mentions (@) to $body variable
|
||||||
*
|
*
|
||||||
* @param string $body HTML code
|
* @param string $body HTML code
|
||||||
* @param int $uriid URI id
|
* @param int $uriId
|
||||||
* @param string $authorLink Author link
|
* @param string $authorLink Author link
|
||||||
* @return string HTML code with prepended mentions
|
* @return string HTML code with prepended mentions
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1211,7 +1211,7 @@ class OStatus
|
||||||
* Cleans the body of a post if it contains picture links
|
* Cleans the body of a post if it contains picture links
|
||||||
*
|
*
|
||||||
* @param string $body The body
|
* @param string $body The body
|
||||||
* @param integer $uriid URI id
|
* @param integer $uriId
|
||||||
* @return string The cleaned body
|
* @return string The cleaned body
|
||||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -179,7 +179,7 @@ class Images
|
||||||
/**
|
/**
|
||||||
* Gets info array from given URL, cached data has priority
|
* Gets info array from given URL, cached data has priority
|
||||||
*
|
*
|
||||||
* @param string $url URL
|
* @param string $url
|
||||||
* @return array Info
|
* @return array Info
|
||||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||||
*/
|
*/
|
||||||
|
@ -207,7 +207,7 @@ class Images
|
||||||
/**
|
/**
|
||||||
* Gets info from URL uncached
|
* Gets info from URL uncached
|
||||||
*
|
*
|
||||||
* @param string $url URL
|
* @param string $url
|
||||||
* @return array Info array
|
* @return array Info array
|
||||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -82,7 +82,7 @@ class Network
|
||||||
* @param string $addr The email address
|
* @param string $addr The email address
|
||||||
* @return boolean True if it's a valid email address, false if it's not
|
* @return boolean True if it's a valid email address, false if it's not
|
||||||
*/
|
*/
|
||||||
public static function isEmailDomainValid(string $addr)
|
public static function isEmailDomainValid(string $addr): bool
|
||||||
{
|
{
|
||||||
if (DI::config()->get('system', 'disable_email_validation')) {
|
if (DI::config()->get('system', 'disable_email_validation')) {
|
||||||
return true;
|
return true;
|
||||||
|
@ -113,7 +113,7 @@ class Network
|
||||||
* @param string $url URL which get tested
|
* @param string $url URL which get tested
|
||||||
* @return boolean True if url is allowed otherwise return false
|
* @return boolean True if url is allowed otherwise return false
|
||||||
*/
|
*/
|
||||||
public static function isUrlAllowed(string $url)
|
public static function isUrlAllowed(string $url): bool
|
||||||
{
|
{
|
||||||
$h = @parse_url($url);
|
$h = @parse_url($url);
|
||||||
|
|
||||||
|
@ -158,7 +158,7 @@ class Network
|
||||||
*
|
*
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
public static function isUrlBlocked(string $url)
|
public static function isUrlBlocked(string $url): bool
|
||||||
{
|
{
|
||||||
$host = @parse_url($url, PHP_URL_HOST);
|
$host = @parse_url($url, PHP_URL_HOST);
|
||||||
if (!$host) {
|
if (!$host) {
|
||||||
|
@ -187,7 +187,7 @@ class Network
|
||||||
*
|
*
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
public static function isRedirectBlocked(string $url)
|
public static function isRedirectBlocked(string $url): bool
|
||||||
{
|
{
|
||||||
$host = @parse_url($url, PHP_URL_HOST);
|
$host = @parse_url($url, PHP_URL_HOST);
|
||||||
if (!$host) {
|
if (!$host) {
|
||||||
|
@ -218,7 +218,7 @@ class Network
|
||||||
* or if allowed list is not configured
|
* or if allowed list is not configured
|
||||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||||
*/
|
*/
|
||||||
public static function isEmailDomainAllowed(string $email)
|
public static function isEmailDomainAllowed(string $email): bool
|
||||||
{
|
{
|
||||||
$domain = strtolower(substr($email, strpos($email, '@') + 1));
|
$domain = strtolower(substr($email, strpos($email, '@') + 1));
|
||||||
if (!$domain) {
|
if (!$domain) {
|
||||||
|
@ -242,7 +242,7 @@ class Network
|
||||||
* @param array $domain_list
|
* @param array $domain_list
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
public static function isDomainAllowed(string $domain, array $domain_list)
|
public static function isDomainAllowed(string $domain, array $domain_list): bool
|
||||||
{
|
{
|
||||||
$found = false;
|
$found = false;
|
||||||
|
|
||||||
|
@ -257,7 +257,7 @@ class Network
|
||||||
return $found;
|
return $found;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function lookupAvatarByEmail(string $email)
|
public static function lookupAvatarByEmail(string $email): string
|
||||||
{
|
{
|
||||||
$avatar['size'] = 300;
|
$avatar['size'] = 300;
|
||||||
$avatar['email'] = $email;
|
$avatar['email'] = $email;
|
||||||
|
@ -280,11 +280,12 @@ class Network
|
||||||
* @param string $url Any user-submitted URL that may contain tracking params
|
* @param string $url Any user-submitted URL that may contain tracking params
|
||||||
* @return string The same URL stripped of tracking parameters
|
* @return string The same URL stripped of tracking parameters
|
||||||
*/
|
*/
|
||||||
public static function stripTrackingQueryParams(string $url)
|
public static function stripTrackingQueryParams(string $url): string
|
||||||
{
|
{
|
||||||
$urldata = parse_url($url);
|
$urldata = parse_url($url);
|
||||||
if (!empty($urldata["query"])) {
|
|
||||||
$query = $urldata["query"];
|
if (!empty($urldata['query'])) {
|
||||||
|
$query = $urldata['query'];
|
||||||
parse_str($query, $querydata);
|
parse_str($query, $querydata);
|
||||||
|
|
||||||
if (is_array($querydata)) {
|
if (is_array($querydata)) {
|
||||||
|
@ -292,30 +293,32 @@ class Network
|
||||||
if (in_array(
|
if (in_array(
|
||||||
$param,
|
$param,
|
||||||
[
|
[
|
||||||
"utm_source", "utm_medium", "utm_term", "utm_content", "utm_campaign",
|
'utm_source', 'utm_medium', 'utm_term', 'utm_content', 'utm_campaign',
|
||||||
"wt_mc", "pk_campaign", "pk_kwd", "mc_cid", "mc_eid",
|
// As seen from Purism
|
||||||
"fb_action_ids", "fb_action_types", "fb_ref",
|
'mtm_source', 'mtm_medium', 'mtm_term', 'mtm_content', 'mtm_campaign',
|
||||||
"awesm", "wtrid",
|
'wt_mc', 'pk_campaign', 'pk_kwd', 'mc_cid', 'mc_eid',
|
||||||
"woo_campaign", "woo_source", "woo_medium", "woo_content", "woo_term"]
|
'fb_action_ids', 'fb_action_types', 'fb_ref',
|
||||||
|
'awesm', 'wtrid',
|
||||||
|
'woo_campaign', 'woo_source', 'woo_medium', 'woo_content', 'woo_term']
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
$pair = $param . "=" . urlencode($value);
|
$pair = $param . '=' . urlencode($value);
|
||||||
$url = str_replace($pair, "", $url);
|
$url = str_replace($pair, '', $url);
|
||||||
|
|
||||||
// Second try: if the url isn't encoded completely
|
// Second try: if the url isn't encoded completely
|
||||||
$pair = $param . "=" . str_replace(" ", "+", $value);
|
$pair = $param . '=' . str_replace(' ', '+', $value);
|
||||||
$url = str_replace($pair, "", $url);
|
$url = str_replace($pair, '', $url);
|
||||||
|
|
||||||
// Third try: Maybey the url isn't encoded at all
|
// Third try: Maybey the url isn't encoded at all
|
||||||
$pair = $param . "=" . $value;
|
$pair = $param . '=' . $value;
|
||||||
$url = str_replace($pair, "", $url);
|
$url = str_replace($pair, '', $url);
|
||||||
|
|
||||||
$url = str_replace(["?&", "&&"], ["?", ""], $url);
|
$url = str_replace(['?&', '&&'], ['?', ''], $url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (substr($url, -1, 1) == "?") {
|
if (substr($url, -1, 1) == '?') {
|
||||||
$url = substr($url, 0, -1);
|
$url = substr($url, 0, -1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -336,8 +339,10 @@ class Network
|
||||||
return $url;
|
return $url;
|
||||||
}
|
}
|
||||||
|
|
||||||
$base = ['scheme' => parse_url($basepath, PHP_URL_SCHEME),
|
$base = [
|
||||||
'host' => parse_url($basepath, PHP_URL_HOST)];
|
'scheme' => parse_url($basepath, PHP_URL_SCHEME),
|
||||||
|
'host' => parse_url($basepath, PHP_URL_HOST),
|
||||||
|
];
|
||||||
|
|
||||||
$parts = array_merge($base, parse_url('/' . ltrim($url, '/')));
|
$parts = array_merge($base, parse_url('/' . ltrim($url, '/')));
|
||||||
return self::unparseURL($parts);
|
return self::unparseURL($parts);
|
||||||
|
@ -348,12 +353,12 @@ class Network
|
||||||
*
|
*
|
||||||
* @param string $url1
|
* @param string $url1
|
||||||
* @param string $url2
|
* @param string $url2
|
||||||
* @return string The matching part
|
* @return string The matching part or empty string on error
|
||||||
*/
|
*/
|
||||||
public static function getUrlMatch(string $url1, string $url2)
|
public static function getUrlMatch(string $url1, string $url2): string
|
||||||
{
|
{
|
||||||
if (($url1 == "") || ($url2 == "")) {
|
if (($url1 == '') || ($url2 == '')) {
|
||||||
return "";
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$url1 = Strings::normaliseLink($url1);
|
$url1 = Strings::normaliseLink($url1);
|
||||||
|
@ -362,67 +367,67 @@ class Network
|
||||||
$parts1 = parse_url($url1);
|
$parts1 = parse_url($url1);
|
||||||
$parts2 = parse_url($url2);
|
$parts2 = parse_url($url2);
|
||||||
|
|
||||||
if (!isset($parts1["host"]) || !isset($parts2["host"])) {
|
if (!isset($parts1['host']) || !isset($parts2['host'])) {
|
||||||
return "";
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($parts1["scheme"])) {
|
if (empty($parts1['scheme'])) {
|
||||||
$parts1["scheme"] = '';
|
$parts1['scheme'] = '';
|
||||||
}
|
}
|
||||||
if (empty($parts2["scheme"])) {
|
if (empty($parts2['scheme'])) {
|
||||||
$parts2["scheme"] = '';
|
$parts2['scheme'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($parts1["scheme"] != $parts2["scheme"]) {
|
if ($parts1['scheme'] != $parts2['scheme']) {
|
||||||
return "";
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($parts1["host"])) {
|
if (empty($parts1['host'])) {
|
||||||
$parts1["host"] = '';
|
$parts1['host'] = '';
|
||||||
}
|
}
|
||||||
if (empty($parts2["host"])) {
|
if (empty($parts2['host'])) {
|
||||||
$parts2["host"] = '';
|
$parts2['host'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($parts1["host"] != $parts2["host"]) {
|
if ($parts1['host'] != $parts2['host']) {
|
||||||
return "";
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($parts1["port"])) {
|
if (empty($parts1['port'])) {
|
||||||
$parts1["port"] = '';
|
$parts1['port'] = '';
|
||||||
}
|
}
|
||||||
if (empty($parts2["port"])) {
|
if (empty($parts2['port'])) {
|
||||||
$parts2["port"] = '';
|
$parts2['port'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($parts1["port"] != $parts2["port"]) {
|
if ($parts1['port'] != $parts2['port']) {
|
||||||
return "";
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$match = $parts1["scheme"]."://".$parts1["host"];
|
$match = $parts1['scheme'] . '://' . $parts1['host'];
|
||||||
|
|
||||||
if ($parts1["port"]) {
|
if ($parts1['port']) {
|
||||||
$match .= ":".$parts1["port"];
|
$match .= ':' . $parts1['port'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($parts1["path"])) {
|
if (empty($parts1['path'])) {
|
||||||
$parts1["path"] = '';
|
$parts1['path'] = '';
|
||||||
}
|
}
|
||||||
if (empty($parts2["path"])) {
|
if (empty($parts2['path'])) {
|
||||||
$parts2["path"] = '';
|
$parts2['path'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$pathparts1 = explode("/", $parts1["path"]);
|
$pathparts1 = explode('/', $parts1['path']);
|
||||||
$pathparts2 = explode("/", $parts2["path"]);
|
$pathparts2 = explode('/', $parts2['path']);
|
||||||
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
$path = "";
|
$path = '';
|
||||||
do {
|
do {
|
||||||
$path1 = $pathparts1[$i] ?? '';
|
$path1 = $pathparts1[$i] ?? '';
|
||||||
$path2 = $pathparts2[$i] ?? '';
|
$path2 = $pathparts2[$i] ?? '';
|
||||||
|
|
||||||
if ($path1 == $path2) {
|
if ($path1 == $path2) {
|
||||||
$path .= $path1."/";
|
$path .= $path1 . '/';
|
||||||
}
|
}
|
||||||
} while (($path1 == $path2) && ($i++ <= count($pathparts1)));
|
} while (($path1 == $path2) && ($i++ <= count($pathparts1)));
|
||||||
|
|
||||||
|
@ -435,11 +440,10 @@ class Network
|
||||||
* Glue url parts together
|
* Glue url parts together
|
||||||
*
|
*
|
||||||
* @param array $parsed URL parts
|
* @param array $parsed URL parts
|
||||||
*
|
|
||||||
* @return string The glued URL.
|
* @return string The glued URL.
|
||||||
* @deprecated since version 2021.12, use GuzzleHttp\Psr7\Uri::fromParts($parts) instead
|
* @deprecated since version 2021.12, use GuzzleHttp\Psr7\Uri::fromParts($parts) instead
|
||||||
*/
|
*/
|
||||||
public static function unparseURL(array $parsed)
|
public static function unparseURL(array $parsed): string
|
||||||
{
|
{
|
||||||
$get = function ($key) use ($parsed) {
|
$get = function ($key) use ($parsed) {
|
||||||
return isset($parsed[$key]) ? $parsed[$key] : null;
|
return isset($parsed[$key]) ? $parsed[$key] : null;
|
||||||
|
@ -452,15 +456,15 @@ class Network
|
||||||
$scheme = $get('scheme');
|
$scheme = $get('scheme');
|
||||||
$query = $get('query');
|
$query = $get('query');
|
||||||
$fragment = $get('fragment');
|
$fragment = $get('fragment');
|
||||||
$authority = ($userinfo !== null ? $userinfo."@" : '') .
|
$authority = ($userinfo !== null ? $userinfo.'@' : '') .
|
||||||
$get('host') .
|
$get('host') .
|
||||||
($port ? ":$port" : '');
|
($port ? ':$port' : '');
|
||||||
|
|
||||||
return (strlen($scheme) ? $scheme.":" : '') .
|
return (strlen($scheme) ? $scheme . ':' : '') .
|
||||||
(strlen($authority) ? "//".$authority : '') .
|
(strlen($authority) ? '//' . $authority : '') .
|
||||||
$get('path') .
|
$get('path') .
|
||||||
(strlen($query) ? "?".$query : '') .
|
(strlen($query) ? '?' . $query : '') .
|
||||||
(strlen($fragment) ? "#".$fragment : '');
|
(strlen($fragment) ? '#' . $fragment : '');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -490,11 +494,10 @@ class Network
|
||||||
/**
|
/**
|
||||||
* Switch the scheme of an url between http and https
|
* Switch the scheme of an url between http and https
|
||||||
*
|
*
|
||||||
* @param string $url URL
|
* @param string $url
|
||||||
*
|
* @return string Switched URL
|
||||||
* @return string switched URL
|
|
||||||
*/
|
*/
|
||||||
public static function switchScheme(string $url)
|
public static function switchScheme(string $url): string
|
||||||
{
|
{
|
||||||
$scheme = parse_url($url, PHP_URL_SCHEME);
|
$scheme = parse_url($url, PHP_URL_SCHEME);
|
||||||
if (empty($scheme)) {
|
if (empty($scheme)) {
|
||||||
|
@ -517,7 +520,7 @@ class Network
|
||||||
* @param array $additionalParams Associative array of parameters
|
* @param array $additionalParams Associative array of parameters
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public static function appendQueryParam(string $path, array $additionalParams)
|
public static function appendQueryParam(string $path, array $additionalParams): string
|
||||||
{
|
{
|
||||||
$parsed = parse_url($path);
|
$parsed = parse_url($path);
|
||||||
|
|
||||||
|
@ -541,6 +544,7 @@ class Network
|
||||||
*
|
*
|
||||||
* @param string $etag The page etag
|
* @param string $etag The page etag
|
||||||
* @param string $last_modified The page last modification UTC date
|
* @param string $last_modified The page last modification UTC date
|
||||||
|
* @return void
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public static function checkEtagModified(string $etag, string $last_modified)
|
public static function checkEtagModified(string $etag, string $last_modified)
|
||||||
|
@ -580,7 +584,7 @@ class Network
|
||||||
* @param string $url
|
* @param string $url
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public static function isLocalLink(string $url)
|
public static function isLocalLink(string $url): bool
|
||||||
{
|
{
|
||||||
return (strpos(Strings::normaliseLink($url), Strings::normaliseLink(DI::baseUrl())) !== false);
|
return (strpos(Strings::normaliseLink($url), Strings::normaliseLink(DI::baseUrl())) !== false);
|
||||||
}
|
}
|
||||||
|
@ -591,7 +595,7 @@ class Network
|
||||||
* @param string $url
|
* @param string $url
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public static function isValidHttpUrl(string $url)
|
public static function isValidHttpUrl(string $url): bool
|
||||||
{
|
{
|
||||||
$scheme = parse_url($url, PHP_URL_SCHEME);
|
$scheme = parse_url($url, PHP_URL_SCHEME);
|
||||||
return !empty($scheme) && in_array($scheme, ['http', 'https']) && parse_url($url, PHP_URL_HOST);
|
return !empty($scheme) && in_array($scheme, ['http', 'https']) && parse_url($url, PHP_URL_HOST);
|
||||||
|
|
|
@ -26,6 +26,7 @@ use Friendica\Content\Text\Plaintext;
|
||||||
use Friendica\Core\Logger;
|
use Friendica\Core\Logger;
|
||||||
use Friendica\Database\DBA;
|
use Friendica\Database\DBA;
|
||||||
use Friendica\DI;
|
use Friendica\DI;
|
||||||
|
use Friendica\Factory\Api\Mastodon\Notification as NotificationFactory;
|
||||||
use Friendica\Model\Contact;
|
use Friendica\Model\Contact;
|
||||||
use Friendica\Model\Post;
|
use Friendica\Model\Post;
|
||||||
use Friendica\Model\Subscription as ModelSubscription;
|
use Friendica\Model\Subscription as ModelSubscription;
|
||||||
|
@ -106,7 +107,7 @@ class PushSubscription
|
||||||
'access_token' => $application_token['access_token'],
|
'access_token' => $application_token['access_token'],
|
||||||
'preferred_locale' => $user['language'],
|
'preferred_locale' => $user['language'],
|
||||||
'notification_id' => $nid,
|
'notification_id' => $nid,
|
||||||
'notification_type' => \Friendica\Factory\Api\Mastodon\Notification::getType($notification),
|
'notification_type' => NotificationFactory::getType($notification),
|
||||||
'icon' => $actor['thumb'] ?? '',
|
'icon' => $actor['thumb'] ?? '',
|
||||||
'title' => $title ?: $l10n->t('Notification from Friendica'),
|
'title' => $title ?: $l10n->t('Notification from Friendica'),
|
||||||
'body' => $body ?: $l10n->t('Empty Post'),
|
'body' => $body ?: $l10n->t('Empty Post'),
|
||||||
|
|
13
update.php
13
update.php
|
@ -17,7 +17,7 @@
|
||||||
* You should have received a copy of the GNU Affero General Public License
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
*
|
||||||
* Automatic post-databse structure change updates
|
* Automatic post-database structure change updates
|
||||||
*
|
*
|
||||||
* These functions are responsible for doing critical post update changes to the data (not the structure) in the database.
|
* These functions are responsible for doing critical post update changes to the data (not the structure) in the database.
|
||||||
*
|
*
|
||||||
|
@ -40,8 +40,10 @@
|
||||||
* If you need to run a script before the database update, name the function "pre_update_4712()"
|
* If you need to run a script before the database update, name the function "pre_update_4712()"
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use Friendica\Core\Config\ValueObject\Cache;
|
||||||
use Friendica\Core\Logger;
|
use Friendica\Core\Logger;
|
||||||
use Friendica\Core\Storage\Capability\ICanReadFromStorage;
|
use Friendica\Core\Storage\Capability\ICanReadFromStorage;
|
||||||
|
use Friendica\Core\Storage\Type\Database as DatabaseStorage;
|
||||||
use Friendica\Core\Update;
|
use Friendica\Core\Update;
|
||||||
use Friendica\Core\Worker;
|
use Friendica\Core\Worker;
|
||||||
use Friendica\Database\Database;
|
use Friendica\Database\Database;
|
||||||
|
@ -988,9 +990,9 @@ function update_1434()
|
||||||
{
|
{
|
||||||
$name = DI::config()->get('storage', 'name');
|
$name = DI::config()->get('storage', 'name');
|
||||||
|
|
||||||
// in case of an empty config, set "Database" as default storage backend
|
// In case of an empty config, set "Database" as default storage backend
|
||||||
if (empty($name)) {
|
if (empty($name)) {
|
||||||
DI::config()->set('storage', 'name', \Friendica\Core\Storage\Type\Database::getName());
|
DI::config()->set('storage', 'name', DatabaseStorage::getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
// In case of a Using deprecated storage class value, set the right name for it
|
// In case of a Using deprecated storage class value, set the right name for it
|
||||||
|
@ -1079,10 +1081,7 @@ function update_1446()
|
||||||
|
|
||||||
// In case the distributed cache driver is the default value, but the current cache driver isn't default,
|
// In case the distributed cache driver is the default value, but the current cache driver isn't default,
|
||||||
// we assume that the distributed cache driver should be the same as the current cache driver
|
// we assume that the distributed cache driver should be the same as the current cache driver
|
||||||
if (
|
if ($distributed_cache_driver_source === Cache::SOURCE_STATIC && $cache_driver_source > Cache::SOURCE_STATIC) {
|
||||||
$distributed_cache_driver_source === \Friendica\Core\Config\ValueObject\Cache::SOURCE_STATIC
|
|
||||||
&& $cache_driver_source > \Friendica\Core\Config\ValueObject\Cache::SOURCE_STATIC
|
|
||||||
) {
|
|
||||||
DI::config()->set('system', 'distributed_cache_driver', DI::config()->get('system', 'cache_driver'));
|
DI::config()->set('system', 'distributed_cache_driver', DI::config()->get('system', 'cache_driver'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue