Reformatted code
This commit is contained in:
		
					parent
					
						
							
								5699b03e8d
							
						
					
				
			
			
				commit
				
					
						fd8f4269ff
					
				
			
		
					 14 changed files with 138 additions and 155 deletions
				
			
		| 
						 | 
				
			
			@ -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 $start optional, default 0
 | 
			
		||||
| 
						 | 
				
			
			@ -288,13 +288,8 @@ class Relation
 | 
			
		|||
			AND NOT `hidden` AND `network` IN (?, ?, ?, ?)",
 | 
			
		||||
			$cid,
 | 
			
		||||
			0,
 | 
			
		||||
			$uid,
 | 
			
		||||
			Contact::FRIEND,
 | 
			
		||||
			Contact::SHARING,
 | 
			
		||||
			Protocol::ACTIVITYPUB,
 | 
			
		||||
			Protocol::DFRN,
 | 
			
		||||
			$diaspora,
 | 
			
		||||
			$ostatus,
 | 
			
		||||
			$uid, Contact::FRIEND, Contact::SHARING,
 | 
			
		||||
			Protocol::ACTIVITYPUB, Protocol::DFRN, $diaspora, $ostatus,
 | 
			
		||||
			], [
 | 
			
		||||
				'order' => ['last-item' => true],
 | 
			
		||||
				'limit' => $totallimit,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -82,8 +82,8 @@ class User
 | 
			
		|||
	/**
 | 
			
		||||
	 * Apply changes from contact update data to user-contact table
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param array $fields Fields
 | 
			
		||||
	 * @param array $condition Conditions
 | 
			
		||||
	 * @param array $fields
 | 
			
		||||
	 * @param array $condition
 | 
			
		||||
	 * @return void
 | 
			
		||||
	 * @throws PDOException
 | 
			
		||||
	 * @throws Exception
 | 
			
		||||
| 
						 | 
				
			
			@ -106,7 +106,7 @@ class User
 | 
			
		|||
			DBA::close($contacts);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		DBA::commit();	
 | 
			
		||||
		DBA::commit();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -683,7 +683,6 @@ class GServer
 | 
			
		|||
	 * Fetch server data from '/statistics.json' on the given server
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param string $url URL of the given server
 | 
			
		||||
	 *
 | 
			
		||||
	 * @return array server data
 | 
			
		||||
	 */
 | 
			
		||||
	private static function fetchStatistics(string $url): array
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,7 +40,7 @@ class Link
 | 
			
		|||
	/**
 | 
			
		||||
	 * Check if the link is stored
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param int $uriId URI id
 | 
			
		||||
	 * @param int $uriId
 | 
			
		||||
	 * @param string $url URL
 | 
			
		||||
	 * @return bool Whether record has been found
 | 
			
		||||
	 */
 | 
			
		||||
| 
						 | 
				
			
			@ -52,9 +52,9 @@ class Link
 | 
			
		|||
	/**
 | 
			
		||||
	 * Returns URL by URI id and other URL
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param int $uriId URI id
 | 
			
		||||
	 * @param string $url URL
 | 
			
		||||
	 * @param string size Size
 | 
			
		||||
	 * @param int $uriId
 | 
			
		||||
	 * @param string $url
 | 
			
		||||
	 * @param string $size
 | 
			
		||||
	 * @return string Found link URL + id on success, $url on failture
 | 
			
		||||
	 */
 | 
			
		||||
	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
 | 
			
		||||
	 *
 | 
			
		||||
	 * @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
 | 
			
		||||
	 */
 | 
			
		||||
	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
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param integer $uriId URI id
 | 
			
		||||
	 * @param string $body HTML body
 | 
			
		||||
	 * @param integer $uriId
 | 
			
		||||
	 * @param string $body Item body formatted with BBCodes
 | 
			
		||||
	 * @return string Body with replaced links
 | 
			
		||||
	 */
 | 
			
		||||
	public static function insertFromBody(int $uriId, string $body): string
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,6 +25,7 @@ use Friendica\Core\Logger;
 | 
			
		|||
use Friendica\Core\Worker;
 | 
			
		||||
use Friendica\Database\DBA;
 | 
			
		||||
use Friendica\DI;
 | 
			
		||||
use Friendica\Factory\Api\Mastodon\Notification as NotificationFactory;
 | 
			
		||||
use Friendica\Navigation\Notifications\Entity;
 | 
			
		||||
use Friendica\Object\Api\Mastodon\Notification;
 | 
			
		||||
use Minishlink\WebPush\VAPID;
 | 
			
		||||
| 
						 | 
				
			
			@ -133,12 +134,12 @@ class Subscription
 | 
			
		|||
	/**
 | 
			
		||||
	 * Prepare push notification
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param Notification $Notification Notification instance
 | 
			
		||||
	 * @param Notification $Notification
 | 
			
		||||
	 * @return void
 | 
			
		||||
	 */
 | 
			
		||||
	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)) {
 | 
			
		||||
			DI::notify()->createFromNotification($notification);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -73,7 +73,7 @@ class Tag
 | 
			
		|||
	/**
 | 
			
		||||
	 * Store tag/mention elements
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param integer $uriId URI id
 | 
			
		||||
	 * @param integer $uriId
 | 
			
		||||
	 * @param integer $type Tag type
 | 
			
		||||
	 * @param string  $name Tag name
 | 
			
		||||
	 * @param string  $url Contact URL (optional)
 | 
			
		||||
| 
						 | 
				
			
			@ -217,7 +217,7 @@ class Tag
 | 
			
		|||
	 * Get a tag id for a given tag name and URL
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param string $name Name of tag
 | 
			
		||||
	 * @param string $url URL
 | 
			
		||||
	 * @param string $url
 | 
			
		||||
	 * @param int    $type Type of tag
 | 
			
		||||
	 * @return int Tag id
 | 
			
		||||
	 */
 | 
			
		||||
| 
						 | 
				
			
			@ -254,10 +254,10 @@ class Tag
 | 
			
		|||
	/**
 | 
			
		||||
	 * Store tag/mention elements
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param integer $uriId URI id
 | 
			
		||||
	 * @param string $hash Hash
 | 
			
		||||
	 * @param string $name Name
 | 
			
		||||
	 * @param string $url URL
 | 
			
		||||
	 * @param integer $uriId
 | 
			
		||||
	 * @param string $hash
 | 
			
		||||
	 * @param string $name
 | 
			
		||||
	 * @param string $url
 | 
			
		||||
	 * @param boolean $probing Whether probing is active
 | 
			
		||||
	 * @return void
 | 
			
		||||
	 */
 | 
			
		||||
| 
						 | 
				
			
			@ -372,7 +372,7 @@ class Tag
 | 
			
		|||
	/**
 | 
			
		||||
	 * Remove tag/mention
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param integer $uriId URI id
 | 
			
		||||
	 * @param integer $uriId
 | 
			
		||||
	 * @param integer $type Type
 | 
			
		||||
	 * @param string $name Name
 | 
			
		||||
	 * @param string $url URL
 | 
			
		||||
| 
						 | 
				
			
			@ -397,10 +397,10 @@ class Tag
 | 
			
		|||
	/**
 | 
			
		||||
	 * Remove tag/mention
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param integer $uriId URI id
 | 
			
		||||
	 * @param string $hash Hash
 | 
			
		||||
	 * @param string $name Name
 | 
			
		||||
	 * @param string $url URL
 | 
			
		||||
	 * @param integer $uriId
 | 
			
		||||
	 * @param string $hash
 | 
			
		||||
	 * @param string $name
 | 
			
		||||
	 * @param string $url
 | 
			
		||||
	 * @return void
 | 
			
		||||
	 */
 | 
			
		||||
	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
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param string $hash Hash
 | 
			
		||||
	 * @param string $hash
 | 
			
		||||
	 * @return integer Tag type
 | 
			
		||||
	 */
 | 
			
		||||
	private static function getTypeForHash(string $hash): int
 | 
			
		||||
| 
						 | 
				
			
			@ -437,8 +437,8 @@ class Tag
 | 
			
		|||
	/**
 | 
			
		||||
	 * Create implicit mentions for a given post
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param integer $uriId URI Id
 | 
			
		||||
	 * @param integer $parentUriId Parent URI id
 | 
			
		||||
	 * @param integer $uriId
 | 
			
		||||
	 * @param integer $parentUriId
 | 
			
		||||
	 * @return void
 | 
			
		||||
	 */
 | 
			
		||||
	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.
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param int       $uriId URI id
 | 
			
		||||
	 * @param int   $uriId
 | 
			
		||||
	 * @param array $type Tag type(s)
 | 
			
		||||
	 * @return array|bool Array on success, false on error
 | 
			
		||||
	 * @throws \Exception
 | 
			
		||||
| 
						 | 
				
			
			@ -475,7 +475,7 @@ class Tag
 | 
			
		|||
	/**
 | 
			
		||||
	 * Return a string with all tags and mentions
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param integer $uriId URI id
 | 
			
		||||
	 * @param integer $uriId
 | 
			
		||||
	 * @param array   $type Tag type(s)
 | 
			
		||||
	 * @return string tags and mentions
 | 
			
		||||
	 * @throws \Exception
 | 
			
		||||
| 
						 | 
				
			
			@ -565,15 +565,8 @@ class Tag
 | 
			
		|||
	{
 | 
			
		||||
		$condition = ["`name` = ? AND (`uid` = ? OR (`uid` = ? AND NOT `global`))
 | 
			
		||||
			AND (`network` IN (?, ?, ?, ?) OR (`uid` = ? AND `uid` != ?))",
 | 
			
		||||
			$search,
 | 
			
		||||
			0,
 | 
			
		||||
			$uid,
 | 
			
		||||
			Protocol::ACTIVITYPUB,
 | 
			
		||||
			Protocol::DFRN,
 | 
			
		||||
			Protocol::DIASPORA,
 | 
			
		||||
			Protocol::OSTATUS,
 | 
			
		||||
			$uid,
 | 
			
		||||
			0,
 | 
			
		||||
			$search, 0, $uid,
 | 
			
		||||
			Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, $uid, 0,
 | 
			
		||||
		];
 | 
			
		||||
 | 
			
		||||
		return DBA::count('tag-search-view', $condition);
 | 
			
		||||
| 
						 | 
				
			
			@ -593,15 +586,8 @@ class Tag
 | 
			
		|||
	{
 | 
			
		||||
		$condition = ["`name` = ? AND (`uid` = ? OR (`uid` = ? AND NOT `global`))
 | 
			
		||||
			AND (`network` IN (?, ?, ?, ?) OR (`uid` = ? AND `uid` != ?))",
 | 
			
		||||
			$search,
 | 
			
		||||
			0,
 | 
			
		||||
			$uid,
 | 
			
		||||
			Protocol::ACTIVITYPUB,
 | 
			
		||||
			Protocol::DFRN,
 | 
			
		||||
			Protocol::DIASPORA,
 | 
			
		||||
			Protocol::OSTATUS,
 | 
			
		||||
			$uid,
 | 
			
		||||
			0,
 | 
			
		||||
			$search, 0, $uid,
 | 
			
		||||
			Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, $uid, 0,
 | 
			
		||||
		];
 | 
			
		||||
 | 
			
		||||
		if (!empty($last_uriid)) {
 | 
			
		||||
| 
						 | 
				
			
			@ -686,9 +672,7 @@ class Tag
 | 
			
		|||
			FROM `tag-search-view`
 | 
			
		||||
			WHERE `private` = ? AND `uid` = ? AND `uri-id` > ? $block_sql
 | 
			
		||||
			GROUP BY `term` ORDER BY `authors` DESC, `score` DESC LIMIT ?",
 | 
			
		||||
			Item::PUBLIC,
 | 
			
		||||
			0,
 | 
			
		||||
			$post['uri-id'],
 | 
			
		||||
			Item::PUBLIC, 0, $post['uri-id'],
 | 
			
		||||
			$limit
 | 
			
		||||
		);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -743,8 +727,7 @@ class Tag
 | 
			
		|||
			FROM `tag-search-view`
 | 
			
		||||
			WHERE `private` = ? AND `wall` AND `origin` AND `uri-id` > ? $block_sql
 | 
			
		||||
			GROUP BY `term` ORDER BY `authors` DESC, `score` DESC LIMIT ?",
 | 
			
		||||
			Item::PUBLIC,
 | 
			
		||||
			$post['uri-id'],
 | 
			
		||||
			Item::PUBLIC, $post['uri-id'],
 | 
			
		||||
			$limit
 | 
			
		||||
		);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -797,7 +780,7 @@ class Tag
 | 
			
		|||
	/**
 | 
			
		||||
	 * Fetch user who subscribed to the tags of the given item
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param integer $uriId URI Id
 | 
			
		||||
	 * @param integer $uriId
 | 
			
		||||
	 * @return array User list
 | 
			
		||||
	 */
 | 
			
		||||
	public static function getUIDListByURIId(int $uriId): array
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,6 +32,7 @@ use Friendica\Core\L10n;
 | 
			
		|||
use Friendica\Core\System;
 | 
			
		||||
use Friendica\Database\Database;
 | 
			
		||||
use Friendica\Database\DBA;
 | 
			
		||||
use Friendica\Factory\Api\Mastodon\Notification as NotificationFactory;
 | 
			
		||||
use Friendica\Model;
 | 
			
		||||
use Friendica\Navigation\Notifications\Collection;
 | 
			
		||||
use Friendica\Navigation\Notifications\Entity;
 | 
			
		||||
| 
						 | 
				
			
			@ -660,7 +661,7 @@ class Notify extends BaseRepository
 | 
			
		|||
	public function NotifyOnDesktop(Entity\Notification $Notification, string $type = null): bool
 | 
			
		||||
	{
 | 
			
		||||
		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])) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -747,7 +747,7 @@ class Post
 | 
			
		|||
	/**
 | 
			
		||||
	 * Set conversation thread
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param Thread $thread Thread to set or NULL
 | 
			
		||||
	 * @param Thread|null $thread
 | 
			
		||||
	 * @return void
 | 
			
		||||
	 */
 | 
			
		||||
	public function setThread(Thread $thread = null)
 | 
			
		||||
| 
						 | 
				
			
			@ -763,7 +763,7 @@ class Post
 | 
			
		|||
	/**
 | 
			
		||||
	 * Get conversation
 | 
			
		||||
	 *
 | 
			
		||||
	 * @return Thread
 | 
			
		||||
	 * @return Thread|null
 | 
			
		||||
	 */
 | 
			
		||||
	public function getThread()
 | 
			
		||||
	{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2244,7 +2244,7 @@ class Transmitter
 | 
			
		|||
	 * Prepends mentions (@) to $body variable
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param string $body HTML code
 | 
			
		||||
	 * @param int    $uriid URI id
 | 
			
		||||
	 * @param int    $uriId
 | 
			
		||||
	 * @param string $authorLink Author link
 | 
			
		||||
	 * @return string HTML code with prepended mentions
 | 
			
		||||
	 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1211,7 +1211,7 @@ class OStatus
 | 
			
		|||
	 * Cleans the body of a post if it contains picture links
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param string $body The body
 | 
			
		||||
	 * @param integer $uriid URI id
 | 
			
		||||
	 * @param integer $uriId
 | 
			
		||||
	 * @return string The cleaned body
 | 
			
		||||
	 * @throws \Friendica\Network\HTTPException\InternalServerErrorException
 | 
			
		||||
	 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -179,7 +179,7 @@ class Images
 | 
			
		|||
	/**
 | 
			
		||||
	 * Gets info array from given URL, cached data has priority
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param string $url URL
 | 
			
		||||
	 * @param string $url
 | 
			
		||||
	 * @return array Info
 | 
			
		||||
	 * @throws \Friendica\Network\HTTPException\InternalServerErrorException
 | 
			
		||||
	 */
 | 
			
		||||
| 
						 | 
				
			
			@ -207,7 +207,7 @@ class Images
 | 
			
		|||
	/**
 | 
			
		||||
	 * Gets info from URL uncached
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param string $url URL
 | 
			
		||||
	 * @param string $url
 | 
			
		||||
	 * @return array Info array
 | 
			
		||||
	 * @throws \Friendica\Network\HTTPException\InternalServerErrorException
 | 
			
		||||
	 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -82,7 +82,7 @@ class Network
 | 
			
		|||
	 * @param string $addr The email address
 | 
			
		||||
	 * @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')) {
 | 
			
		||||
			return true;
 | 
			
		||||
| 
						 | 
				
			
			@ -113,7 +113,7 @@ class Network
 | 
			
		|||
	 * @param string $url URL which get tested
 | 
			
		||||
	 * @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);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -158,7 +158,7 @@ class Network
 | 
			
		|||
	 *
 | 
			
		||||
	 * @return boolean
 | 
			
		||||
	 */
 | 
			
		||||
	public static function isUrlBlocked(string $url)
 | 
			
		||||
	public static function isUrlBlocked(string $url): bool
 | 
			
		||||
	{
 | 
			
		||||
		$host = @parse_url($url, PHP_URL_HOST);
 | 
			
		||||
		if (!$host) {
 | 
			
		||||
| 
						 | 
				
			
			@ -187,7 +187,7 @@ class Network
 | 
			
		|||
	 *
 | 
			
		||||
	 * @return boolean
 | 
			
		||||
	 */
 | 
			
		||||
	public static function isRedirectBlocked(string $url)
 | 
			
		||||
	public static function isRedirectBlocked(string $url): bool
 | 
			
		||||
	{
 | 
			
		||||
		$host = @parse_url($url, PHP_URL_HOST);
 | 
			
		||||
		if (!$host) {
 | 
			
		||||
| 
						 | 
				
			
			@ -218,7 +218,7 @@ class Network
 | 
			
		|||
	 *                       or if allowed list is not configured
 | 
			
		||||
	 * @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));
 | 
			
		||||
		if (!$domain) {
 | 
			
		||||
| 
						 | 
				
			
			@ -242,7 +242,7 @@ class Network
 | 
			
		|||
	 * @param array  $domain_list
 | 
			
		||||
	 * @return boolean
 | 
			
		||||
	 */
 | 
			
		||||
	public static function isDomainAllowed(string $domain, array $domain_list)
 | 
			
		||||
	public static function isDomainAllowed(string $domain, array $domain_list): bool
 | 
			
		||||
	{
 | 
			
		||||
		$found = false;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -257,7 +257,7 @@ class Network
 | 
			
		|||
		return $found;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public static function lookupAvatarByEmail(string $email)
 | 
			
		||||
	public static function lookupAvatarByEmail(string $email): string
 | 
			
		||||
	{
 | 
			
		||||
		$avatar['size'] = 300;
 | 
			
		||||
		$avatar['email'] = $email;
 | 
			
		||||
| 
						 | 
				
			
			@ -280,11 +280,12 @@ class Network
 | 
			
		|||
	 * @param string $url Any user-submitted URL that may contain tracking params
 | 
			
		||||
	 * @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);
 | 
			
		||||
		if (!empty($urldata["query"])) {
 | 
			
		||||
			$query = $urldata["query"];
 | 
			
		||||
 | 
			
		||||
		if (!empty($urldata['query'])) {
 | 
			
		||||
			$query = $urldata['query'];
 | 
			
		||||
			parse_str($query, $querydata);
 | 
			
		||||
 | 
			
		||||
			if (is_array($querydata)) {
 | 
			
		||||
| 
						 | 
				
			
			@ -292,30 +293,32 @@ class Network
 | 
			
		|||
					if (in_array(
 | 
			
		||||
						$param,
 | 
			
		||||
						[
 | 
			
		||||
							"utm_source", "utm_medium", "utm_term", "utm_content", "utm_campaign",
 | 
			
		||||
							"wt_mc", "pk_campaign", "pk_kwd", "mc_cid", "mc_eid",
 | 
			
		||||
							"fb_action_ids", "fb_action_types", "fb_ref",
 | 
			
		||||
							"awesm", "wtrid",
 | 
			
		||||
							"woo_campaign", "woo_source", "woo_medium", "woo_content", "woo_term"]
 | 
			
		||||
							'utm_source', 'utm_medium', 'utm_term', 'utm_content', 'utm_campaign',
 | 
			
		||||
							// As seen from Purism
 | 
			
		||||
							'mtm_source', 'mtm_medium', 'mtm_term', 'mtm_content', 'mtm_campaign',
 | 
			
		||||
							'wt_mc', 'pk_campaign', 'pk_kwd', 'mc_cid', 'mc_eid',
 | 
			
		||||
							'fb_action_ids', 'fb_action_types', 'fb_ref',
 | 
			
		||||
							'awesm', 'wtrid',
 | 
			
		||||
							'woo_campaign', 'woo_source', 'woo_medium', 'woo_content', 'woo_term']
 | 
			
		||||
						)
 | 
			
		||||
					) {
 | 
			
		||||
						$pair = $param . "=" . urlencode($value);
 | 
			
		||||
						$url = str_replace($pair, "", $url);
 | 
			
		||||
						$pair = $param . '=' . urlencode($value);
 | 
			
		||||
						$url = str_replace($pair, '', $url);
 | 
			
		||||
 | 
			
		||||
						// Second try: if the url isn't encoded completely
 | 
			
		||||
						$pair = $param . "=" . str_replace(" ", "+", $value);
 | 
			
		||||
						$url = str_replace($pair, "", $url);
 | 
			
		||||
						$pair = $param . '=' . str_replace(' ', '+', $value);
 | 
			
		||||
						$url = str_replace($pair, '', $url);
 | 
			
		||||
 | 
			
		||||
						// Third try: Maybey the url isn't encoded at all
 | 
			
		||||
						$pair = $param . "=" . $value;
 | 
			
		||||
						$url = str_replace($pair, "", $url);
 | 
			
		||||
						$pair = $param . '=' . $value;
 | 
			
		||||
						$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);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -336,8 +339,10 @@ class Network
 | 
			
		|||
			return $url;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$base = ['scheme' => parse_url($basepath, PHP_URL_SCHEME),
 | 
			
		||||
			'host' => parse_url($basepath, PHP_URL_HOST)];
 | 
			
		||||
		$base = [
 | 
			
		||||
			'scheme' => parse_url($basepath, PHP_URL_SCHEME),
 | 
			
		||||
			'host' => parse_url($basepath, PHP_URL_HOST),
 | 
			
		||||
		];
 | 
			
		||||
 | 
			
		||||
		$parts = array_merge($base, parse_url('/' . ltrim($url, '/')));
 | 
			
		||||
		return self::unparseURL($parts);
 | 
			
		||||
| 
						 | 
				
			
			@ -348,12 +353,12 @@ class Network
 | 
			
		|||
	 *
 | 
			
		||||
	 * @param string $url1
 | 
			
		||||
	 * @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 == "")) {
 | 
			
		||||
			return "";
 | 
			
		||||
		if (($url1 == '') || ($url2 == '')) {
 | 
			
		||||
			return '';
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$url1 = Strings::normaliseLink($url1);
 | 
			
		||||
| 
						 | 
				
			
			@ -362,67 +367,67 @@ class Network
 | 
			
		|||
		$parts1 = parse_url($url1);
 | 
			
		||||
		$parts2 = parse_url($url2);
 | 
			
		||||
 | 
			
		||||
		if (!isset($parts1["host"]) || !isset($parts2["host"])) {
 | 
			
		||||
			return "";
 | 
			
		||||
		if (!isset($parts1['host']) || !isset($parts2['host'])) {
 | 
			
		||||
			return '';
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (empty($parts1["scheme"])) {
 | 
			
		||||
			$parts1["scheme"] = '';
 | 
			
		||||
		if (empty($parts1['scheme'])) {
 | 
			
		||||
			$parts1['scheme'] = '';
 | 
			
		||||
		}
 | 
			
		||||
		if (empty($parts2["scheme"])) {
 | 
			
		||||
			$parts2["scheme"] = '';
 | 
			
		||||
		if (empty($parts2['scheme'])) {
 | 
			
		||||
			$parts2['scheme'] = '';
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if ($parts1["scheme"] != $parts2["scheme"]) {
 | 
			
		||||
			return "";
 | 
			
		||||
		if ($parts1['scheme'] != $parts2['scheme']) {
 | 
			
		||||
			return '';
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (empty($parts1["host"])) {
 | 
			
		||||
			$parts1["host"] = '';
 | 
			
		||||
		if (empty($parts1['host'])) {
 | 
			
		||||
			$parts1['host'] = '';
 | 
			
		||||
		}
 | 
			
		||||
		if (empty($parts2["host"])) {
 | 
			
		||||
			$parts2["host"] = '';
 | 
			
		||||
		if (empty($parts2['host'])) {
 | 
			
		||||
			$parts2['host'] = '';
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if ($parts1["host"] != $parts2["host"]) {
 | 
			
		||||
			return "";
 | 
			
		||||
		if ($parts1['host'] != $parts2['host']) {
 | 
			
		||||
			return '';
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (empty($parts1["port"])) {
 | 
			
		||||
			$parts1["port"] = '';
 | 
			
		||||
		if (empty($parts1['port'])) {
 | 
			
		||||
			$parts1['port'] = '';
 | 
			
		||||
		}
 | 
			
		||||
		if (empty($parts2["port"])) {
 | 
			
		||||
			$parts2["port"] = '';
 | 
			
		||||
		if (empty($parts2['port'])) {
 | 
			
		||||
			$parts2['port'] = '';
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if ($parts1["port"] != $parts2["port"]) {
 | 
			
		||||
			return "";
 | 
			
		||||
		if ($parts1['port'] != $parts2['port']) {
 | 
			
		||||
			return '';
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$match = $parts1["scheme"]."://".$parts1["host"];
 | 
			
		||||
		$match = $parts1['scheme'] . '://' . $parts1['host'];
 | 
			
		||||
 | 
			
		||||
		if ($parts1["port"]) {
 | 
			
		||||
			$match .= ":".$parts1["port"];
 | 
			
		||||
		if ($parts1['port']) {
 | 
			
		||||
			$match .= ':' . $parts1['port'];
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (empty($parts1["path"])) {
 | 
			
		||||
			$parts1["path"] = '';
 | 
			
		||||
		if (empty($parts1['path'])) {
 | 
			
		||||
			$parts1['path'] = '';
 | 
			
		||||
		}
 | 
			
		||||
		if (empty($parts2["path"])) {
 | 
			
		||||
			$parts2["path"] = '';
 | 
			
		||||
		if (empty($parts2['path'])) {
 | 
			
		||||
			$parts2['path'] = '';
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$pathparts1 = explode("/", $parts1["path"]);
 | 
			
		||||
		$pathparts2 = explode("/", $parts2["path"]);
 | 
			
		||||
		$pathparts1 = explode('/', $parts1['path']);
 | 
			
		||||
		$pathparts2 = explode('/', $parts2['path']);
 | 
			
		||||
 | 
			
		||||
		$i = 0;
 | 
			
		||||
		$path = "";
 | 
			
		||||
		$path = '';
 | 
			
		||||
		do {
 | 
			
		||||
			$path1 = $pathparts1[$i] ?? '';
 | 
			
		||||
			$path2 = $pathparts2[$i] ?? '';
 | 
			
		||||
 | 
			
		||||
			if ($path1 == $path2) {
 | 
			
		||||
				$path .= $path1."/";
 | 
			
		||||
				$path .= $path1 . '/';
 | 
			
		||||
			}
 | 
			
		||||
		} while (($path1 == $path2) && ($i++ <= count($pathparts1)));
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -435,11 +440,10 @@ class Network
 | 
			
		|||
	 * Glue url parts together
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param array $parsed URL parts
 | 
			
		||||
	 *
 | 
			
		||||
	 * @return string The glued URL.
 | 
			
		||||
	 * @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) {
 | 
			
		||||
			return isset($parsed[$key]) ? $parsed[$key] : null;
 | 
			
		||||
| 
						 | 
				
			
			@ -452,15 +456,15 @@ class Network
 | 
			
		|||
		$scheme    = $get('scheme');
 | 
			
		||||
		$query     = $get('query');
 | 
			
		||||
		$fragment  = $get('fragment');
 | 
			
		||||
		$authority = ($userinfo !== null ? $userinfo."@" : '') .
 | 
			
		||||
		$authority = ($userinfo !== null ? $userinfo.'@' : '') .
 | 
			
		||||
						$get('host') .
 | 
			
		||||
						($port ? ":$port" : '');
 | 
			
		||||
						($port ? ':$port' : '');
 | 
			
		||||
 | 
			
		||||
		return	(strlen($scheme) ? $scheme.":" : '') .
 | 
			
		||||
			(strlen($authority) ? "//".$authority : '') .
 | 
			
		||||
		return	(strlen($scheme) ? $scheme . ':' : '') .
 | 
			
		||||
			(strlen($authority) ? '//' . $authority : '') .
 | 
			
		||||
			$get('path') .
 | 
			
		||||
			(strlen($query) ? "?".$query : '') .
 | 
			
		||||
			(strlen($fragment) ? "#".$fragment : '');
 | 
			
		||||
			(strlen($query) ? '?' . $query : '') .
 | 
			
		||||
			(strlen($fragment) ? '#' . $fragment : '');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
| 
						 | 
				
			
			@ -490,11 +494,10 @@ class Network
 | 
			
		|||
	/**
 | 
			
		||||
	 * Switch the scheme of an url between http and https
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param string $url URL
 | 
			
		||||
	 *
 | 
			
		||||
	 * @return string switched URL
 | 
			
		||||
	 * @param string $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);
 | 
			
		||||
		if (empty($scheme)) {
 | 
			
		||||
| 
						 | 
				
			
			@ -517,7 +520,7 @@ class Network
 | 
			
		|||
	 * @param array  $additionalParams Associative array of parameters
 | 
			
		||||
	 * @return string
 | 
			
		||||
	 */
 | 
			
		||||
	public static function appendQueryParam(string $path, array $additionalParams)
 | 
			
		||||
	public static function appendQueryParam(string $path, array $additionalParams): string
 | 
			
		||||
	{
 | 
			
		||||
		$parsed = parse_url($path);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -541,6 +544,7 @@ class Network
 | 
			
		|||
	 *
 | 
			
		||||
	 * @param string $etag          The page etag
 | 
			
		||||
	 * @param string $last_modified The page last modification UTC date
 | 
			
		||||
	 * @return void
 | 
			
		||||
	 * @throws \Exception
 | 
			
		||||
	 */
 | 
			
		||||
	public static function checkEtagModified(string $etag, string $last_modified)
 | 
			
		||||
| 
						 | 
				
			
			@ -577,10 +581,10 @@ class Network
 | 
			
		|||
	/**
 | 
			
		||||
	 * Check if the given URL is a local link
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param string $url 
 | 
			
		||||
	 * @return bool 
 | 
			
		||||
	 * @param string $url
 | 
			
		||||
	 * @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);
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -588,10 +592,10 @@ class Network
 | 
			
		|||
	/**
 | 
			
		||||
	 * Check if the given URL is a valid HTTP/HTTPS URL
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param string $url 
 | 
			
		||||
	 * @return bool 
 | 
			
		||||
	 * @param string $url
 | 
			
		||||
	 * @return bool
 | 
			
		||||
	 */
 | 
			
		||||
	public static function isValidHttpUrl(string $url)
 | 
			
		||||
	public static function isValidHttpUrl(string $url): bool
 | 
			
		||||
	{
 | 
			
		||||
		$scheme = parse_url($url, PHP_URL_SCHEME);
 | 
			
		||||
		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\Database\DBA;
 | 
			
		||||
use Friendica\DI;
 | 
			
		||||
use Friendica\Factory\Api\Mastodon\Notification as NotificationFactory;
 | 
			
		||||
use Friendica\Model\Contact;
 | 
			
		||||
use Friendica\Model\Post;
 | 
			
		||||
use Friendica\Model\Subscription as ModelSubscription;
 | 
			
		||||
| 
						 | 
				
			
			@ -106,7 +107,7 @@ class PushSubscription
 | 
			
		|||
			'access_token'      => $application_token['access_token'],
 | 
			
		||||
			'preferred_locale'  => $user['language'],
 | 
			
		||||
			'notification_id'   => $nid,
 | 
			
		||||
			'notification_type' => \Friendica\Factory\Api\Mastodon\Notification::getType($notification),
 | 
			
		||||
			'notification_type' => NotificationFactory::getType($notification),
 | 
			
		||||
			'icon'              => $actor['thumb'] ?? '',
 | 
			
		||||
			'title'             => $title ?: $l10n->t('Notification from Friendica'),
 | 
			
		||||
			'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
 | 
			
		||||
 * 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.
 | 
			
		||||
 *
 | 
			
		||||
| 
						 | 
				
			
			@ -40,8 +40,10 @@
 | 
			
		|||
 * 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\Storage\Capability\ICanReadFromStorage;
 | 
			
		||||
use Friendica\Core\Storage\Type\Database as DatabaseStorage;
 | 
			
		||||
use Friendica\Core\Update;
 | 
			
		||||
use Friendica\Core\Worker;
 | 
			
		||||
use Friendica\Database\Database;
 | 
			
		||||
| 
						 | 
				
			
			@ -988,9 +990,9 @@ function update_1434()
 | 
			
		|||
{
 | 
			
		||||
	$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)) {
 | 
			
		||||
		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
 | 
			
		||||
| 
						 | 
				
			
			@ -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,
 | 
			
		||||
	// we assume that the distributed cache driver should be the same as the current cache driver
 | 
			
		||||
	if (
 | 
			
		||||
		$distributed_cache_driver_source === \Friendica\Core\Config\ValueObject\Cache::SOURCE_STATIC
 | 
			
		||||
		&& $cache_driver_source > \Friendica\Core\Config\ValueObject\Cache::SOURCE_STATIC
 | 
			
		||||
	) {
 | 
			
		||||
	if ($distributed_cache_driver_source === Cache::SOURCE_STATIC && $cache_driver_source > Cache::SOURCE_STATIC) {
 | 
			
		||||
		DI::config()->set('system', 'distributed_cache_driver', DI::config()->get('system', 'cache_driver'));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue