diff --git a/src/App/Arguments.php b/src/App/Arguments.php index 8047186a0..e65309f6b 100644 --- a/src/App/Arguments.php +++ b/src/App/Arguments.php @@ -70,7 +70,7 @@ class Arguments /** * Returns the value of a argv key - * @todo there are a lot of $a->argv usages in combination with defaults() which can be replaced with this method + * @todo there are a lot of $a->argv usages in combination with ?? which can be replaced with this method * * @param int $position the position of the argument * @param mixed $default the default value if not found diff --git a/src/App/BaseURL.php b/src/App/BaseURL.php index ad5fd0d4e..9d9a2711e 100644 --- a/src/App/BaseURL.php +++ b/src/App/BaseURL.php @@ -338,12 +338,12 @@ class BaseURL /* Relative script path to the web server root * Not all of those $_SERVER properties can be present, so we do by inverse priority order */ - $relative_script_path = ''; - $relative_script_path = defaults($this->server, 'REDIRECT_URL', $relative_script_path); - $relative_script_path = defaults($this->server, 'REDIRECT_URI', $relative_script_path); - $relative_script_path = defaults($this->server, 'REDIRECT_SCRIPT_URL', $relative_script_path); - $relative_script_path = defaults($this->server, 'SCRIPT_URL', $relative_script_path); - $relative_script_path = defaults($this->server, 'REQUEST_URI', $relative_script_path); + $relative_script_path = + ($this->server['REDIRECT_URL'] ?? '' ) ?: + ($this->server['REDIRECT_URI'] ?? '' ) ?: + ($this->server['REDIRECT_SCRIPT_URL'] ?? '' ) ?: + ($this->server['SCRIPT_URL'] ?? '' ) ?: + $this->server['REQUEST_URI'] ?? ''; /* $relative_script_path gives /relative/path/to/friendica/module/parameter * QUERY_STRING gives pagename=module/parameter diff --git a/src/Content/Pager.php b/src/Content/Pager.php index c9acb63f2..c12608d45 100644 --- a/src/Content/Pager.php +++ b/src/Content/Pager.php @@ -39,7 +39,7 @@ class Pager { $this->setQueryString($queryString); $this->setItemsPerPage($itemsPerPage); - $this->setPage(defaults($_GET, 'page', 1)); + $this->setPage(($_GET['page'] ?? 0) ?: 1); } /** diff --git a/src/Content/Text/BBCode.php b/src/Content/Text/BBCode.php index 760247f2c..75f5d506e 100644 --- a/src/Content/Text/BBCode.php +++ b/src/Content/Text/BBCode.php @@ -244,7 +244,7 @@ class BBCode extends BaseObject */ $has_title = !empty($item['title']); - $plink = defaults($item, 'plink', ''); + $plink = $item['plink'] ?? ''; $post = self::getAttachmentData($body); // Get all linked images with alternative image description @@ -610,7 +610,7 @@ class BBCode extends BaseObject throw new Exception('OEmbed is disabled for this attachment.'); } } catch (Exception $e) { - $data['title'] = defaults($data, 'title', $data['url']); + $data['title'] = ($data['title'] ?? '') ?: $data['url']; if ($simplehtml != 4) { $return = sprintf('
', $data['type']); @@ -645,7 +645,7 @@ class BBCode extends BaseObject } } - return trim(defaults($data, 'text', '') . ' ' . $return . ' ' . defaults($data, 'after', '')); + return trim(($data['text'] ?? '') . ' ' . $return . ' ' . ($data['after'] ?? '')); } public static function removeShareInformation($Text, $plaintext = false, $nolink = false) @@ -655,10 +655,10 @@ class BBCode extends BaseObject if (!$data) { return $Text; } elseif ($nolink) { - return $data['text'] . defaults($data, 'after', ''); + return $data['text'] . ($data['after'] ?? ''); } - $title = htmlentities(defaults($data, 'title', ''), ENT_QUOTES, 'UTF-8', false); + $title = htmlentities($data['title'] ?? '', ENT_QUOTES, 'UTF-8', false); $text = htmlentities($data['text'], ENT_QUOTES, 'UTF-8', false); if ($plaintext || (($title != '') && strstr($text, $title))) { $data['title'] = $data['url']; @@ -941,7 +941,7 @@ class BBCode extends BaseObject $attributes = []; foreach(['author', 'profile', 'avatar', 'link', 'posted'] as $field) { preg_match("/$field=(['\"])(.+?)\\1/ism", $attribute_string, $matches); - $attributes[$field] = html_entity_decode(defaults($matches, 2, ''), ENT_QUOTES, 'UTF-8'); + $attributes[$field] = html_entity_decode($matches[2] ?? '', ENT_QUOTES, 'UTF-8'); } // We only call this so that a previously unknown contact can be added. @@ -960,11 +960,11 @@ class BBCode extends BaseObject Contact::getIdForURL($attributes['profile'], 0, true, $default); $author_contact = Contact::getDetailsByURL($attributes['profile']); - $author_contact['addr'] = defaults($author_contact, 'addr' , Protocol::getAddrFromProfileUrl($attributes['profile'])); + $author_contact['addr'] = ($author_contact['addr'] ?? '') ?: Protocol::getAddrFromProfileUrl($attributes['profile']); - $attributes['author'] = defaults($author_contact, 'name' , $attributes['author']); - $attributes['avatar'] = defaults($author_contact, 'micro', $attributes['avatar']); - $attributes['profile'] = defaults($author_contact, 'url' , $attributes['profile']); + $attributes['author'] = ($author_contact['name'] ?? '') ?: $attributes['author']; + $attributes['avatar'] = ($author_contact['micro'] ?? '') ?: $attributes['avatar']; + $attributes['profile'] = ($author_contact['url'] ?? '') ?: $attributes['profile']; if ($attributes['avatar']) { $attributes['avatar'] = ProxyUtils::proxifyUrl($attributes['avatar'], false, ProxyUtils::SIZE_THUMB); @@ -1241,7 +1241,7 @@ class BBCode extends BaseObject $try_oembed_callback = function ($match) { $url = $match[1]; - $title = defaults($match, 2, null); + $title = $match[2] ?? null; try { $return = OEmbed::getHTML($url, $title); diff --git a/src/Content/Text/HTML.php b/src/Content/Text/HTML.php index 549025dec..390a97f0f 100644 --- a/src/Content/Text/HTML.php +++ b/src/Content/Text/HTML.php @@ -872,8 +872,8 @@ class HTML $url = ''; } - return Renderer::replaceMacros(Renderer::getMarkupTemplate(($textmode)?'micropro_txt.tpl':'micropro_img.tpl'), [ - '$click' => defaults($contact, 'click', ''), + return Renderer::replaceMacros(Renderer::getMarkupTemplate($textmode ? 'micropro_txt.tpl' : 'micropro_img.tpl'), [ + '$click' => $contact['click'] ?? '', '$class' => $class, '$url' => $url, '$photo' => ProxyUtils::proxifyUrl($contact['thumb'], false, ProxyUtils::SIZE_THUMB), diff --git a/src/Content/Widget/CalendarExport.php b/src/Content/Widget/CalendarExport.php index 829d267d8..c78ca21eb 100644 --- a/src/Content/Widget/CalendarExport.php +++ b/src/Content/Widget/CalendarExport.php @@ -57,7 +57,7 @@ class CalendarExport // $a->data is only available if the profile page is visited. If the visited page is not part // of the profile page it should be the personal /events page. So we can use $a->user. - $user = defaults($a->data['user'], 'nickname', $a->user['nickname']); + $user = ($a->data['user']['nickname'] ?? '') ?: $a->user['nickname']; $tpl = Renderer::getMarkupTemplate("widget/events.tpl"); $return = Renderer::replaceMacros($tpl, [ diff --git a/src/Content/Widget/ContactBlock.php b/src/Content/Widget/ContactBlock.php index ef152f900..ec78dae92 100644 --- a/src/Content/Widget/ContactBlock.php +++ b/src/Content/Widget/ContactBlock.php @@ -61,7 +61,7 @@ class ContactBlock if ($total) { // Only show followed for personal accounts, followers for pages - if (defaults($profile, 'account-type', User::ACCOUNT_TYPE_PERSON) == User::ACCOUNT_TYPE_PERSON) { + if ((($profile['account-type'] ?? '') ?: User::ACCOUNT_TYPE_PERSON) == User::ACCOUNT_TYPE_PERSON) { $rel = [Contact::SHARING, Contact::FRIEND]; } else { $rel = [Contact::FOLLOWER, Contact::FRIEND]; diff --git a/src/Core/ACL.php b/src/Core/ACL.php index fd9bfc6e2..df2f86e2b 100644 --- a/src/Core/ACL.php +++ b/src/Core/ACL.php @@ -41,12 +41,12 @@ class ACL extends BaseObject $networks = null; - $size = defaults($options, 'size', 4); + $size = ($options['size'] ?? 0) ?: 4; $mutual = !empty($options['mutual_friends']); $single = !empty($options['single']) && empty($options['multiple']); - $exclude = defaults($options, 'exclude', false); + $exclude = $options['exclude'] ?? false; - switch (defaults($options, 'networks', Protocol::PHANTOM)) { + switch (($options['networks'] ?? '') ?: Protocol::PHANTOM) { case 'DFRN_ONLY': $networks = [Protocol::DFRN]; break; @@ -226,13 +226,13 @@ class ACL extends BaseObject $acl_regex = '/<([0-9]+)>/i'; - preg_match_all($acl_regex, defaults($user, 'allow_cid', ''), $matches); + preg_match_all($acl_regex, $user['allow_cid'] ?? '', $matches); $allow_cid = $matches[1]; - preg_match_all($acl_regex, defaults($user, 'allow_gid', ''), $matches); + preg_match_all($acl_regex, $user['allow_gid'] ?? '', $matches); $allow_gid = $matches[1]; - preg_match_all($acl_regex, defaults($user, 'deny_cid', ''), $matches); + preg_match_all($acl_regex, $user['deny_cid'] ?? '', $matches); $deny_cid = $matches[1]; - preg_match_all($acl_regex, defaults($user, 'deny_gid', ''), $matches); + preg_match_all($acl_regex, $user['deny_gid'] ?? '', $matches); $deny_gid = $matches[1]; // Reformats the ACL data so that it is accepted by the JS frontend @@ -301,10 +301,10 @@ class ACL extends BaseObject '$showall' => L10n::t('Visible to everybody'), '$show' => L10n::t('show'), '$hide' => L10n::t('don\'t show'), - '$allowcid' => json_encode(defaults($default_permissions, 'allow_cid', [])), // we need arrays for Javascript since we call .remove() and .push() on this values - '$allowgid' => json_encode(defaults($default_permissions, 'allow_gid', [])), - '$denycid' => json_encode(defaults($default_permissions, 'deny_cid', [])), - '$denygid' => json_encode(defaults($default_permissions, 'deny_gid', [])), + '$allowcid' => json_encode(($default_permissions['allow_cid'] ?? '') ?: []), // We need arrays for + '$allowgid' => json_encode(($default_permissions['allow_gid'] ?? '') ?: []), // Javascript since we + '$denycid' => json_encode(($default_permissions['deny_cid'] ?? '') ?: []), // call .remove() and + '$denygid' => json_encode(($default_permissions['deny_gid'] ?? '') ?: []), // .push() on these values '$networks' => $show_jotnets, '$emailcc' => L10n::t('CC: email addresses'), '$emtitle' => L10n::t('Example: bob@example.com, mary@example.com'), diff --git a/src/Core/Authentication.php b/src/Core/Authentication.php index d67a67bba..6d017664a 100644 --- a/src/Core/Authentication.php +++ b/src/Core/Authentication.php @@ -49,7 +49,7 @@ class Authentication extends BaseObject $value = json_encode([ "uid" => $user["uid"], "hash" => self::getCookieHashForUser($user), - "ip" => defaults($_SERVER, 'REMOTE_ADDR', '0.0.0.0') + "ip" => ($_SERVER['REMOTE_ADDR'] ?? '') ?: '0.0.0.0' ]); } else { $value = ""; diff --git a/src/Core/NotificationsManager.php b/src/Core/NotificationsManager.php index a6a5c24e0..3c8367c91 100644 --- a/src/Core/NotificationsManager.php +++ b/src/Core/NotificationsManager.php @@ -137,7 +137,7 @@ class NotificationsManager extends BaseObject */ public function getTabs() { - $selected = defaults(self::getApp()->argv, 1, ''); + $selected = self::getApp()->argv[1] ?? ''; $tabs = [ [ diff --git a/src/Core/Renderer.php b/src/Core/Renderer.php index fd5e73302..d9d913050 100644 --- a/src/Core/Renderer.php +++ b/src/Core/Renderer.php @@ -136,7 +136,7 @@ class Renderer extends BaseObject */ public static function getTemplateEngine() { - $template_engine = defaults(self::$theme, 'template_engine', 'smarty3'); + $template_engine = (self::$theme['template_engine'] ?? '') ?: 'smarty3'; if (isset(self::$template_engines[$template_engine])) { if (isset(self::$template_engine_instance[$template_engine])) { diff --git a/src/Core/Search.php b/src/Core/Search.php index 5792fb1c9..9700c6472 100644 --- a/src/Core/Search.php +++ b/src/Core/Search.php @@ -56,21 +56,20 @@ class Search extends BaseObject } // Ensure that we do have a contact entry - Contact::getIdForURL(defaults($user_data, 'url', '')); + Contact::getIdForURL($user_data['url'] ?? ''); - $contactDetails = Contact::getDetailsByURL(defaults($user_data, 'url', ''), local_user()); - $itemUrl = defaults($contactDetails, 'addr', defaults($user_data, 'url', '')); + $contactDetails = Contact::getDetailsByURL($user_data['url'] ?? '', local_user()); $result = new ContactResult( - defaults($user_data, 'name', ''), - defaults($user_data, 'addr', ''), - $itemUrl, - defaults($user_data, 'url', ''), - defaults($user_data, 'photo', ''), - defaults($user_data, 'network', ''), - defaults($contactDetails, 'id', 0), + $user_data['name'] ?? '', + $user_data['addr'] ?? '', + ($contactDetails['addr'] ?? '') ?: ($user_data['url'] ?? ''), + $user_data['url'] ?? '', + $user_data['photo'] ?? '', + $user_data['network'] ?? '', + $contactDetails['id'] ?? 0, 0, - defaults($user_data, 'tags', '') + $user_data['tags'] ?? '' ); return new ResultList(1, 1, 1, [$result]); @@ -117,27 +116,28 @@ class Search extends BaseObject $results = json_decode($resultJson, true); $resultList = new ResultList( - defaults($results, 'page', 1), - defaults($results, 'count', 0), - defaults($results, 'itemsperpage', 30) + ($results['page'] ?? 0) ?: 1, + $results['count'] ?? 0, + ($results['itemsperpage'] ?? 0) ?: 30 ); - $profiles = defaults($results, 'profiles', []); + $profiles = $results['profiles'] ?? []; foreach ($profiles as $profile) { - $contactDetails = Contact::getDetailsByURL(defaults($profile, 'profile_url', ''), local_user()); - $itemUrl = defaults($contactDetails, 'addr', defaults($profile, 'profile_url', '')); + $profile_url = $profile['profile_url'] ?? ''; + $contactDetails = Contact::getDetailsByURL($profile_url, local_user()); $result = new ContactResult( - defaults($profile, 'name', ''), - defaults($profile, 'addr', ''), - $itemUrl, - defaults($profile, 'profile_url', ''), - defaults($profile, 'photo', ''), + $profile['name'] ?? '', + $profile['addr'] ?? '', + ($contactDetails['addr'] ?? '') ?: $profile_url, + $profile_url, + $profile['photo'] ?? '', Protocol::DFRN, - defaults($contactDetails, 'cid', 0), + $contactDetails['cid'] ?? 0, 0, - defaults($profile, 'tags', '')); + $profile['tags'] ?? '' + ); $resultList->addResult($result); } diff --git a/src/Core/Session.php b/src/Core/Session.php index 3a0da3ab0..aaead868a 100644 --- a/src/Core/Session.php +++ b/src/Core/Session.php @@ -128,7 +128,7 @@ class Session 'page_flags' => $user_record['page-flags'], 'my_url' => $a->getBaseURL() . '/profile/' . $user_record['nickname'], 'my_address' => $user_record['nickname'] . '@' . substr($a->getBaseURL(), strpos($a->getBaseURL(), '://') + 3), - 'addr' => defaults($_SERVER, 'REMOTE_ADDR', '0.0.0.0') + 'addr' => ($_SERVER['REMOTE_ADDR'] ?? '') ?: '0.0.0.0' ]); self::setVisitorsContacts(); diff --git a/src/Core/StorageManager.php b/src/Core/StorageManager.php index 8cd7d4395..832d9819c 100644 --- a/src/Core/StorageManager.php +++ b/src/Core/StorageManager.php @@ -48,7 +48,7 @@ class StorageManager public static function getByName($name) { self::setup(); - return defaults(self::$backends, $name, ''); + return self::$backends[$name] ?? ''; } /** diff --git a/src/Database/DBStructure.php b/src/Database/DBStructure.php index 72b903e07..0c775377e 100644 --- a/src/Database/DBStructure.php +++ b/src/Database/DBStructure.php @@ -421,7 +421,7 @@ class DBStructure } if (isset($database[$name]["table_status"]["Comment"])) { - $structurecomment = defaults($structure, "comment", ""); + $structurecomment = $structure["comment"] ?? ''; if ($database[$name]["table_status"]["Comment"] != $structurecomment) { $sql2 = "COMMENT = '" . DBA::escape($structurecomment) . "'"; @@ -465,7 +465,7 @@ class DBStructure // Compare the field structure field by field foreach ($structure["fields"] AS $fieldname => $parameters) { // Compare the field definition - $field_definition = defaults($database[$name]["fields"], $fieldname, ['Collation' => '']); + $field_definition = ($database[$name]["fields"][$fieldname] ?? '') ?: ['Collation' => '']; // Define the default collation if not given if (!isset($parameters['Collation']) && !empty($field_definition['Collation'])) { diff --git a/src/Model/Contact.php b/src/Model/Contact.php index 5ae995522..3033bb90b 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -1078,14 +1078,14 @@ class Contact extends BaseObject $profile["micro"] = $profile["thumb"]; } - if ((empty($profile["addr"]) || empty($profile["name"])) && (defaults($profile, "gid", 0) != 0) + if ((empty($profile["addr"]) || empty($profile["name"])) && !empty($profile["gid"]) && in_array($profile["network"], Protocol::FEDERATED) ) { Worker::add(PRIORITY_LOW, "UpdateGContact", $url); } // Show contact details of Diaspora contacts only if connected - if ((defaults($profile, "cid", 0) == 0) && (defaults($profile, "network", "") == Protocol::DIASPORA)) { + if (empty($profile["cid"]) && ($profile["network"] ?? "") == Protocol::DIASPORA) { $profile["location"] = ""; $profile["about"] = ""; $profile["gender"] = ""; @@ -1504,25 +1504,25 @@ class Contact extends BaseObject 'created' => DateTimeFormat::utcNow(), 'url' => $data['url'], 'nurl' => Strings::normaliseLink($data['url']), - 'addr' => defaults($data, 'addr', ''), - 'alias' => defaults($data, 'alias', ''), - 'notify' => defaults($data, 'notify', ''), - 'poll' => defaults($data, 'poll', ''), - 'name' => defaults($data, 'name', ''), - 'nick' => defaults($data, 'nick', ''), - 'photo' => defaults($data, 'photo', ''), - 'keywords' => defaults($data, 'keywords', ''), - 'location' => defaults($data, 'location', ''), - 'about' => defaults($data, 'about', ''), + 'addr' => $data['addr'] ?? '', + 'alias' => $data['alias'] ?? '', + 'notify' => $data['notify'] ?? '', + 'poll' => $data['poll'] ?? '', + 'name' => $data['name'] ?? '', + 'nick' => $data['nick'] ?? '', + 'photo' => $data['photo'] ?? '', + 'keywords' => $data['keywords'] ?? '', + 'location' => $data['location'] ?? '', + 'about' => $data['about'] ?? '', 'network' => $data['network'], - 'pubkey' => defaults($data, 'pubkey', ''), + 'pubkey' => $data['pubkey'] ?? '', 'rel' => self::SHARING, - 'priority' => defaults($data, 'priority', 0), - 'batch' => defaults($data, 'batch', ''), - 'request' => defaults($data, 'request', ''), - 'confirm' => defaults($data, 'confirm', ''), - 'poco' => defaults($data, 'poco', ''), - 'baseurl' => defaults($data, 'baseurl', ''), + 'priority' => $data['priority'] ?? 0, + 'batch' => $data['batch'] ?? '', + 'request' => $data['request'] ?? '', + 'confirm' => $data['confirm'] ?? '', + 'poco' => $data['poco'] ?? '', + 'baseurl' => $data['baseurl'] ?? '', 'name-date' => DateTimeFormat::utcNow(), 'uri-date' => DateTimeFormat::utcNow(), 'avatar-date' => DateTimeFormat::utcNow(), @@ -1589,7 +1589,7 @@ class Contact extends BaseObject $fields = ['addr', 'alias', 'name', 'nick', 'keywords', 'location', 'about', 'baseurl']; foreach ($fields as $field) { - $updated[$field] = defaults($data, $field, $contact[$field]); + $updated[$field] = ($data[$field] ?? '') ?: $contact[$field]; } if (($updated['addr'] != $contact['addr']) || (!empty($data['alias']) && ($data['alias'] != $contact['alias']))) { @@ -2469,9 +2469,9 @@ class Contact extends BaseObject return false; } - $url = defaults($datarray, 'author-link', $pub_contact['url']); + $url = ($datarray['author-link'] ?? '') ?: $pub_contact['url']; $name = $pub_contact['name']; - $photo = defaults($pub_contact, 'avatar', $pub_contact["photo"]); + $photo = ($pub_contact['avatar'] ?? '') ?: $pub_contact["photo"]; $nick = $pub_contact['nick']; $network = $pub_contact['network']; diff --git a/src/Model/Conversation.php b/src/Model/Conversation.php index 06d3ba536..2ef58636a 100644 --- a/src/Model/Conversation.php +++ b/src/Model/Conversation.php @@ -39,7 +39,7 @@ class Conversation */ public static function insert(array $arr) { - if (in_array(defaults($arr, 'network', Protocol::PHANTOM), + if (in_array(($arr['network'] ?? '') ?: Protocol::PHANTOM, [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, Protocol::TWITTER]) && !empty($arr['uri'])) { $conversation = ['item-uri' => $arr['uri'], 'received' => DateTimeFormat::utcNow()]; @@ -76,8 +76,13 @@ class Conversation unset($old_conv['source']); } // Update structure data all the time but the source only when its from a better protocol. - if (empty($conversation['source']) || (!empty($old_conv['source']) && - ($old_conv['protocol'] < defaults($conversation, 'protocol', self::PARCEL_UNKNOWN)))) { + if ( + empty($conversation['source']) + || ( + !empty($old_conv['source']) + && ($old_conv['protocol'] < (($conversation['protocol'] ?? '') ?: self::PARCEL_UNKNOWN)) + ) + ) { unset($conversation['protocol']); unset($conversation['source']); } diff --git a/src/Model/Event.php b/src/Model/Event.php index 42742f18e..915218084 100644 --- a/src/Model/Event.php +++ b/src/Model/Event.php @@ -242,30 +242,30 @@ class Event extends BaseObject public static function store($arr) { $event = []; - $event['id'] = intval(defaults($arr, 'id' , 0)); - $event['uid'] = intval(defaults($arr, 'uid' , 0)); - $event['cid'] = intval(defaults($arr, 'cid' , 0)); - $event['guid'] = defaults($arr, 'guid' , System::createUUID()); - $event['uri'] = defaults($arr, 'uri' , Item::newURI($event['uid'], $event['guid'])); - $event['type'] = defaults($arr, 'type' , 'event'); - $event['summary'] = defaults($arr, 'summary' , ''); - $event['desc'] = defaults($arr, 'desc' , ''); - $event['location'] = defaults($arr, 'location' , ''); - $event['allow_cid'] = defaults($arr, 'allow_cid', ''); - $event['allow_gid'] = defaults($arr, 'allow_gid', ''); - $event['deny_cid'] = defaults($arr, 'deny_cid' , ''); - $event['deny_gid'] = defaults($arr, 'deny_gid' , ''); - $event['adjust'] = intval(defaults($arr, 'adjust' , 0)); - $event['nofinish'] = intval(defaults($arr, 'nofinish' , !empty($event['start']) && empty($event['finish']))); + $event['id'] = intval($arr['id'] ?? 0); + $event['uid'] = intval($arr['uid'] ?? 0); + $event['cid'] = intval($arr['cid'] ?? 0); + $event['guid'] = ($arr['guid'] ?? '') ?: System::createUUID(); + $event['uri'] = ($arr['uri'] ?? '') ?: Item::newURI($event['uid'], $event['guid']); + $event['type'] = ($arr['type'] ?? '') ?: 'event'; + $event['summary'] = $arr['summary'] ?? ''; + $event['desc'] = $arr['desc'] ?? ''; + $event['location'] = $arr['location'] ?? ''; + $event['allow_cid'] = $arr['allow_cid'] ?? ''; + $event['allow_gid'] = $arr['allow_gid'] ?? ''; + $event['deny_cid'] = $arr['deny_cid'] ?? ''; + $event['deny_gid'] = $arr['deny_gid'] ?? ''; + $event['adjust'] = intval($arr['adjust'] ?? 0); + $event['nofinish'] = intval(!empty($arr['nofinish'] || !empty($event['start']) && empty($event['finish']))); - $event['created'] = DateTimeFormat::utc(defaults($arr, 'created' , 'now')); - $event['edited'] = DateTimeFormat::utc(defaults($arr, 'edited' , 'now')); - $event['start'] = DateTimeFormat::utc(defaults($arr, 'start' , DBA::NULL_DATETIME)); - $event['finish'] = DateTimeFormat::utc(defaults($arr, 'finish' , DBA::NULL_DATETIME)); + $event['created'] = DateTimeFormat::utc(($arr['created'] ?? '') ?: 'now'); + $event['edited'] = DateTimeFormat::utc(($arr['edited'] ?? '') ?: 'now'); + $event['start'] = DateTimeFormat::utc(($arr['start'] ?? '') ?: DBA::NULL_DATETIME); + $event['finish'] = DateTimeFormat::utc(($arr['finish'] ?? '') ?: DBA::NULL_DATETIME); if ($event['finish'] < DBA::NULL_DATETIME) { $event['finish'] = DBA::NULL_DATETIME; } - $private = intval(defaults($arr, 'private', 0)); + $private = intval($arr['private'] ?? 0); $conditions = ['uid' => $event['uid']]; if ($event['cid']) { @@ -333,7 +333,7 @@ class Event extends BaseObject $item_arr['uri'] = $event['uri']; $item_arr['parent-uri'] = $event['uri']; $item_arr['guid'] = $event['guid']; - $item_arr['plink'] = defaults($arr, 'plink', ''); + $item_arr['plink'] = $arr['plink'] ?? ''; $item_arr['post-type'] = Item::PT_EVENT; $item_arr['wall'] = $event['cid'] ? 0 : 1; $item_arr['contact-id'] = $contact['id']; diff --git a/src/Model/GContact.php b/src/Model/GContact.php index d6d69e98c..f3ce0c92c 100644 --- a/src/Model/GContact.php +++ b/src/Model/GContact.php @@ -686,9 +686,9 @@ class GContact $doprobing = (((time() - $last_contact) > (90 * 86400)) && ((time() - $last_failure) > (90 * 86400))); } } else { - $contact['location'] = defaults($contact, 'location', ''); - $contact['about'] = defaults($contact, 'about', ''); - $contact['generation'] = defaults($contact, 'generation', 0); + $contact['location'] = $contact['location'] ?? ''; + $contact['about'] = $contact['about'] ?? ''; + $contact['generation'] = $contact['generation'] ?? 0; q( "INSERT INTO `gcontact` (`name`, `nick`, `addr` , `network`, `url`, `nurl`, `photo`, `created`, `updated`, `location`, `about`, `hide`, `generation`) diff --git a/src/Model/GServer.php b/src/Model/GServer.php index b86b5506c..d759a24df 100644 --- a/src/Model/GServer.php +++ b/src/Model/GServer.php @@ -814,7 +814,7 @@ class GServer if (!empty($data['version'])) { $serverdata['platform'] = 'mastodon'; - $serverdata['version'] = defaults($data, 'version', ''); + $serverdata['version'] = $data['version'] ?? ''; $serverdata['network'] = Protocol::ACTIVITYPUB; } @@ -1010,7 +1010,7 @@ class GServer $serverdata['info'] = trim($data['info']); } - $register_policy = defaults($data, 'register_policy', 'REGISTER_CLOSED'); + $register_policy = ($data['register_policy'] ?? '') ?: 'REGISTER_CLOSED'; switch ($register_policy) { case 'REGISTER_OPEN': $serverdata['register_policy'] = Register::OPEN; @@ -1030,7 +1030,7 @@ class GServer break; } - $serverdata['platform'] = defaults($data, 'platform', ''); + $serverdata['platform'] = $data['platform'] ?? ''; return $serverdata; } diff --git a/src/Model/Item.php b/src/Model/Item.php index c73ea99b1..ff0f46676 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -1313,11 +1313,11 @@ class Item extends BaseObject $priority = $notify; } } else { - $item['network'] = trim(defaults($item, 'network', Protocol::PHANTOM)); + $item['network'] = trim(($item['network'] ?? '') ?: Protocol::PHANTOM); } $item['guid'] = self::guid($item, $notify); - $item['uri'] = Strings::escapeTags(trim(defaults($item, 'uri', self::newURI($item['uid'], $item['guid'])))); + $item['uri'] = Strings::escapeTags(trim(($item['uri'] ?? '') ?: self::newURI($item['uid'], $item['guid']))); // Store URI data $item['uri-id'] = ItemURI::insert(['uri' => $item['uri'], 'guid' => $item['guid']]); @@ -1419,47 +1419,47 @@ class Item extends BaseObject } } - $item['wall'] = intval(defaults($item, 'wall', 0)); - $item['extid'] = trim(defaults($item, 'extid', '')); - $item['author-name'] = trim(defaults($item, 'author-name', '')); - $item['author-link'] = trim(defaults($item, 'author-link', '')); - $item['author-avatar'] = trim(defaults($item, 'author-avatar', '')); - $item['owner-name'] = trim(defaults($item, 'owner-name', '')); - $item['owner-link'] = trim(defaults($item, 'owner-link', '')); - $item['owner-avatar'] = trim(defaults($item, 'owner-avatar', '')); + $item['wall'] = intval($item['wall'] ?? 0); + $item['extid'] = trim($item['extid'] ?? ''); + $item['author-name'] = trim($item['author-name'] ?? ''); + $item['author-link'] = trim($item['author-link'] ?? ''); + $item['author-avatar'] = trim($item['author-avatar'] ?? ''); + $item['owner-name'] = trim($item['owner-name'] ?? ''); + $item['owner-link'] = trim($item['owner-link'] ?? ''); + $item['owner-avatar'] = trim($item['owner-avatar'] ?? ''); $item['received'] = (isset($item['received']) ? DateTimeFormat::utc($item['received']) : DateTimeFormat::utcNow()); $item['created'] = (isset($item['created']) ? DateTimeFormat::utc($item['created']) : $item['received']); $item['edited'] = (isset($item['edited']) ? DateTimeFormat::utc($item['edited']) : $item['created']); $item['changed'] = (isset($item['changed']) ? DateTimeFormat::utc($item['changed']) : $item['created']); $item['commented'] = (isset($item['commented']) ? DateTimeFormat::utc($item['commented']) : $item['created']); - $item['title'] = trim(defaults($item, 'title', '')); - $item['location'] = trim(defaults($item, 'location', '')); - $item['coord'] = trim(defaults($item, 'coord', '')); + $item['title'] = trim($item['title'] ?? ''); + $item['location'] = trim($item['location'] ?? ''); + $item['coord'] = trim($item['coord'] ?? ''); $item['visible'] = (isset($item['visible']) ? intval($item['visible']) : 1); $item['deleted'] = 0; - $item['parent-uri'] = trim(defaults($item, 'parent-uri', $item['uri'])); - $item['post-type'] = defaults($item, 'post-type', self::PT_ARTICLE); - $item['verb'] = trim(defaults($item, 'verb', '')); - $item['object-type'] = trim(defaults($item, 'object-type', '')); - $item['object'] = trim(defaults($item, 'object', '')); - $item['target-type'] = trim(defaults($item, 'target-type', '')); - $item['target'] = trim(defaults($item, 'target', '')); - $item['plink'] = trim(defaults($item, 'plink', '')); - $item['allow_cid'] = trim(defaults($item, 'allow_cid', '')); - $item['allow_gid'] = trim(defaults($item, 'allow_gid', '')); - $item['deny_cid'] = trim(defaults($item, 'deny_cid', '')); - $item['deny_gid'] = trim(defaults($item, 'deny_gid', '')); - $item['private'] = intval(defaults($item, 'private', 0)); - $item['body'] = trim(defaults($item, 'body', '')); - $item['tag'] = trim(defaults($item, 'tag', '')); - $item['attach'] = trim(defaults($item, 'attach', '')); - $item['app'] = trim(defaults($item, 'app', '')); - $item['origin'] = intval(defaults($item, 'origin', 0)); - $item['postopts'] = trim(defaults($item, 'postopts', '')); - $item['resource-id'] = trim(defaults($item, 'resource-id', '')); - $item['event-id'] = intval(defaults($item, 'event-id', 0)); - $item['inform'] = trim(defaults($item, 'inform', '')); - $item['file'] = trim(defaults($item, 'file', '')); + $item['parent-uri'] = trim(($item['parent-uri'] ?? '') ?: $item['uri']); + $item['post-type'] = ($item['post-type'] ?? '') ?: self::PT_ARTICLE; + $item['verb'] = trim($item['verb'] ?? ''); + $item['object-type'] = trim($item['object-type'] ?? ''); + $item['object'] = trim($item['object'] ?? ''); + $item['target-type'] = trim($item['target-type'] ?? ''); + $item['target'] = trim($item['target'] ?? ''); + $item['plink'] = trim($item['plink'] ?? ''); + $item['allow_cid'] = trim($item['allow_cid'] ?? ''); + $item['allow_gid'] = trim($item['allow_gid'] ?? ''); + $item['deny_cid'] = trim($item['deny_cid'] ?? ''); + $item['deny_gid'] = trim($item['deny_gid'] ?? ''); + $item['private'] = intval($item['private'] ?? 0); + $item['body'] = trim($item['body'] ?? ''); + $item['tag'] = trim($item['tag'] ?? ''); + $item['attach'] = trim($item['attach'] ?? ''); + $item['app'] = trim($item['app'] ?? ''); + $item['origin'] = intval($item['origin'] ?? 0); + $item['postopts'] = trim($item['postopts'] ?? ''); + $item['resource-id'] = trim($item['resource-id'] ?? ''); + $item['event-id'] = intval($item['event-id'] ?? 0); + $item['inform'] = trim($item['inform'] ?? ''); + $item['file'] = trim($item['file'] ?? ''); // When there is no content then we don't post it if ($item['body'].$item['title'] == '') { @@ -1479,12 +1479,12 @@ class Item extends BaseObject $item['edited'] = DateTimeFormat::utcNow(); } - $item['plink'] = defaults($item, 'plink', System::baseUrl() . '/display/' . urlencode($item['guid'])); + $item['plink'] = ($item['plink'] ?? '') ?: System::baseUrl() . '/display/' . urlencode($item['guid']); $default = ['url' => $item['author-link'], 'name' => $item['author-name'], 'photo' => $item['author-avatar'], 'network' => $item['network']]; - $item['author-id'] = defaults($item, 'author-id', Contact::getIdForURL($item['author-link'], 0, false, $default)); + $item['author-id'] = ($item['author-id'] ?? 0) ?: Contact::getIdForURL($item['author-link'], 0, false, $default); if (Contact::isBlocked($item['author-id'])) { Logger::notice('Author is blocked node-wide', ['author-link' => $item['author-link'], 'item-uri' => $item['uri']]); @@ -1504,7 +1504,7 @@ class Item extends BaseObject $default = ['url' => $item['owner-link'], 'name' => $item['owner-name'], 'photo' => $item['owner-avatar'], 'network' => $item['network']]; - $item['owner-id'] = defaults($item, 'owner-id', Contact::getIdForURL($item['owner-link'], 0, false, $default)); + $item['owner-id'] = ($item['owner-id'] ?? 0) ?: Contact::getIdForURL($item['owner-link'], 0, false, $default); if (Contact::isBlocked($item['owner-id'])) { Logger::notice('Owner is blocked node-wide', ['owner-link' => $item['owner-link'], 'item-uri' => $item['uri']]); @@ -2453,7 +2453,7 @@ class Item extends BaseObject Contact::unmarkForArchival($contact); } - $update = (!$arr['private'] && ((defaults($arr, 'author-link', '') === defaults($arr, 'owner-link', '')) || ($arr["parent-uri"] === $arr["uri"]))); + $update = (!$arr['private'] && ((($arr['author-link'] ?? '') === ($arr['owner-link'] ?? '')) || ($arr["parent-uri"] === $arr["uri"]))); // Is it a forum? Then we don't care about the rules from above if (!$update && in_array($arr["network"], [Protocol::ACTIVITYPUB, Protocol::DFRN]) && ($arr["parent-uri"] === $arr["uri"])) { @@ -3334,8 +3334,8 @@ class Item extends BaseObject { $body = $item["body"]; - $rendered_hash = defaults($item, 'rendered-hash', ''); - $rendered_html = defaults($item, 'rendered-html', ''); + $rendered_hash = $item['rendered-hash'] ?? ''; + $rendered_html = $item['rendered-html'] ?? ''; if ($rendered_hash == '' || $rendered_html == "" @@ -3491,7 +3491,7 @@ class Item extends BaseObject $filesubtype = 'unkn'; } - $title = Strings::escapeHtml(trim(defaults($mtch, 4, $mtch[1]))); + $title = Strings::escapeHtml(trim(($mtch[4] ?? '') ?: $mtch[1])); $title .= ' ' . $mtch[2] . ' ' . L10n::t('bytes'); $icon = '
'; diff --git a/src/Model/ItemContent.php b/src/Model/ItemContent.php index 6d03ae325..68b42af92 100644 --- a/src/Model/ItemContent.php +++ b/src/Model/ItemContent.php @@ -90,7 +90,7 @@ class ItemContent extends BaseObject } } - $html = Text\BBCode::convert($post['text'] . defaults($post, 'after', ''), false, $htmlmode); + $html = Text\BBCode::convert($post['text'] . ($post['after'] ?? ''), false, $htmlmode); $msg = Text\HTML::toPlaintext($html, 0, true); $msg = trim(html_entity_decode($msg, ENT_QUOTES, 'UTF-8')); @@ -99,7 +99,7 @@ class ItemContent extends BaseObject if ($post['type'] == 'link') { $link = $post['url']; } elseif ($post['type'] == 'text') { - $link = defaults($post, 'url', ''); + $link = $post['url'] ?? ''; } elseif ($post['type'] == 'video') { $link = $post['url']; } elseif ($post['type'] == 'photo') { diff --git a/src/Model/PermissionSet.php b/src/Model/PermissionSet.php index 90448806d..c9a0697eb 100644 --- a/src/Model/PermissionSet.php +++ b/src/Model/PermissionSet.php @@ -22,10 +22,10 @@ class PermissionSet extends BaseObject public static function fetchIDForPost(&$postarray) { $condition = ['uid' => $postarray['uid'], - 'allow_cid' => self::sortPermissions(defaults($postarray, 'allow_cid', '')), - 'allow_gid' => self::sortPermissions(defaults($postarray, 'allow_gid', '')), - 'deny_cid' => self::sortPermissions(defaults($postarray, 'deny_cid', '')), - 'deny_gid' => self::sortPermissions(defaults($postarray, 'deny_gid', ''))]; + 'allow_cid' => self::sortPermissions($postarray['allow_cid'] ?? ''), + 'allow_gid' => self::sortPermissions($postarray['allow_gid'] ?? ''), + 'deny_cid' => self::sortPermissions($postarray['deny_cid'] ?? ''), + 'deny_gid' => self::sortPermissions($postarray['deny_gid'] ?? '')]; $set = DBA::selectFirst('permissionset', ['id'], $condition); diff --git a/src/Model/Profile.php b/src/Model/Profile.php index 67c6a0eb6..0c1ae01e4 100644 --- a/src/Model/Profile.php +++ b/src/Model/Profile.php @@ -90,7 +90,7 @@ class Profile $location .= $profile['locality']; } - if (!empty($profile['region']) && (defaults($profile, 'locality', '') != $profile['region'])) { + if (!empty($profile['region']) && (($profile['locality'] ?? '') != $profile['region'])) { if ($location) { $location .= ', '; } @@ -322,7 +322,7 @@ class Profile return $o; } - $profile['picdate'] = urlencode(defaults($profile, 'picdate', '')); + $profile['picdate'] = urlencode($profile['picdate'] ?? ''); if (($profile['network'] != '') && ($profile['network'] != Protocol::DFRN)) { $profile['network_link'] = Strings::formatNetworkName($profile['network'], $profile['url']); @@ -384,7 +384,7 @@ class Profile if (Contact::canReceivePrivateMessages($profile)) { if ($visitor_is_followed || $visitor_is_following) { - $wallmessage_link = $visitor_base_path . '/message/new/' . base64_encode(defaults($profile, 'addr', '')); + $wallmessage_link = $visitor_base_path . '/message/new/' . base64_encode($profile['addr'] ?? ''); } elseif ($visitor_is_authenticated && !empty($profile['unkmail'])) { $wallmessage_link = 'wallmessage/' . $profile['nickname']; } @@ -465,9 +465,9 @@ class Profile 'fullname' => $profile['name'], 'firstname' => $firstname, 'lastname' => $lastname, - 'photo300' => defaults($profile, 'contact_photo', ''), - 'photo100' => defaults($profile, 'contact_thumb', ''), - 'photo50' => defaults($profile, 'contact_micro', ''), + 'photo300' => $profile['contact_photo'] ?? '', + 'photo100' => $profile['contact_thumb'] ?? '', + 'photo50' => $profile['contact_micro'] ?? '', ]; } else { $diaspora = false; @@ -530,7 +530,7 @@ class Profile $p['photo'] = ProxyUtils::proxifyUrl($p['photo'], false, ProxyUtils::SIZE_SMALL); } - $p['url'] = Contact::magicLink(defaults($p, 'url', $profile_url)); + $p['url'] = Contact::magicLink(($p['url'] ?? '') ?: $profile_url); $tpl = Renderer::getMarkupTemplate('profile_vcard.tpl'); $o .= Renderer::replaceMacros($tpl, [ diff --git a/src/Model/Storage/Filesystem.php b/src/Model/Storage/Filesystem.php index 82e638158..ff7c59444 100644 --- a/src/Model/Storage/Filesystem.php +++ b/src/Model/Storage/Filesystem.php @@ -132,7 +132,7 @@ class Filesystem implements IStorage public static function saveOptions($data) { - $storagepath = defaults($data, 'storagepath', ''); + $storagepath = $data['storagepath'] ?? ''; if ($storagepath === '' || !is_dir($storagepath)) { return [ 'storagepath' => L10n::t('Enter a valid existing folder') diff --git a/src/Model/Term.php b/src/Model/Term.php index 1de93fb05..01169c522 100644 --- a/src/Model/Term.php +++ b/src/Model/Term.php @@ -210,7 +210,7 @@ class Term { $profile_base = System::baseUrl(); $profile_data = parse_url($profile_base); - $profile_path = defaults($profile_data, 'path', ''); + $profile_path = $profile_data['path'] ?? ''; $profile_base_friendica = $profile_data['host'] . $profile_path . '/profile/'; $profile_base_diaspora = $profile_data['host'] . $profile_path . '/u/'; diff --git a/src/Network/CurlResult.php b/src/Network/CurlResult.php index c12bb2826..5b77c3963 100644 --- a/src/Network/CurlResult.php +++ b/src/Network/CurlResult.php @@ -167,7 +167,7 @@ class CurlResult } if ($this->returnCode == 301 || $this->returnCode == 302 || $this->returnCode == 303 || $this->returnCode== 307) { - $redirect_parts = parse_url(defaults($this->info, 'redirect_url', '')); + $redirect_parts = parse_url($this->info['redirect_url'] ?? ''); if (empty($redirect_parts)) { $redirect_parts = []; } @@ -179,7 +179,7 @@ class CurlResult } } - $parts = parse_url(defaults($this->info, 'url', '')); + $parts = parse_url($this->info['url'] ?? ''); if (empty($parts)) { $parts = []; } diff --git a/src/Network/Probe.php b/src/Network/Probe.php index 3f10895c3..d6ea76631 100644 --- a/src/Network/Probe.php +++ b/src/Network/Probe.php @@ -348,7 +348,7 @@ class Probe if (!self::$istimeout) { $ap_profile = ActivityPub::probeProfile($uri); - if (empty($data) || (!empty($ap_profile) && empty($network) && (defaults($data, 'network', '') != Protocol::DFRN))) { + if (empty($data) || (!empty($ap_profile) && empty($network) && (($data['network'] ?? '') == Protocol::DFRN))) { $data = $ap_profile; } elseif (!empty($ap_profile)) { $ap_profile['batch'] = ''; @@ -363,7 +363,7 @@ class Probe } if (!empty($data['photo'])) { - $data['baseurl'] = Network::getUrlMatch(Strings::normaliseLink(defaults($data, 'baseurl', '')), Strings::normaliseLink($data['photo'])); + $data['baseurl'] = Network::getUrlMatch(Strings::normaliseLink($data['baseurl'] ?? ''), Strings::normaliseLink($data['photo'])); } else { $data['photo'] = System::baseUrl() . '/images/person-300.jpg'; } @@ -424,7 +424,7 @@ class Probe } // If the file is too large then exit - if (defaults($curlResult->getInfo(), 'download_content_length', 0) > 1000000) { + if (($curlResult->getInfo()['download_content_length'] ?? 0) > 1000000) { return false; } @@ -547,7 +547,7 @@ class Probe return []; } - $path_parts = explode("/", trim(defaults($parts, 'path', ''), "/")); + $path_parts = explode("/", trim($parts['path'] ?? '', "/")); while (!$lrdd && (sizeof($path_parts) > 1)) { $host .= "/".array_shift($path_parts); @@ -921,19 +921,19 @@ class Probe if (empty($data["addr"]) || empty($data["nick"])) { $probe_data = self::uri($profile_link); - $data["addr"] = defaults($data, "addr", $probe_data["addr"]); - $data["nick"] = defaults($data, "nick", $probe_data["nick"]); + $data["addr"] = ($data["addr"] ?? '') ?: $probe_data["addr"]; + $data["nick"] = ($data["nick"] ?? '') ?: $probe_data["nick"]; } $prof_data["addr"] = $data["addr"]; $prof_data["nick"] = $data["nick"]; - $prof_data["dfrn-request"] = defaults($data, 'request', null); - $prof_data["dfrn-confirm"] = defaults($data, 'confirm', null); - $prof_data["dfrn-notify"] = defaults($data, 'notify' , null); - $prof_data["dfrn-poll"] = defaults($data, 'poll' , null); - $prof_data["photo"] = defaults($data, 'photo' , null); - $prof_data["fn"] = defaults($data, 'name' , null); - $prof_data["key"] = defaults($data, 'pubkey' , null); + $prof_data["dfrn-request"] = $data['request'] ?? null; + $prof_data["dfrn-confirm"] = $data['confirm'] ?? null; + $prof_data["dfrn-notify"] = $data['notify'] ?? null; + $prof_data["dfrn-poll"] = $data['poll'] ?? null; + $prof_data["photo"] = $data['photo'] ?? null; + $prof_data["fn"] = $data['name'] ?? null; + $prof_data["key"] = $data['pubkey'] ?? null; Logger::log("Result for profile ".$profile_link.": ".print_r($prof_data, true), Logger::DEBUG); @@ -959,7 +959,7 @@ class Probe $data["network"] = Protocol::DFRN; } elseif (($link["rel"] == NAMESPACE_FEED) && !empty($link["href"])) { $data["poll"] = $link["href"]; - } elseif (($link["rel"] == "http://webfinger.net/rel/profile-page") && (defaults($link, "type", "") == "text/html") && !empty($link["href"])) { + } elseif (($link["rel"] == "http://webfinger.net/rel/profile-page") && (($link["type"] ?? "") == "text/html") && !empty($link["href"])) { $data["url"] = $link["href"]; } elseif (($link["rel"] == "http://microformats.org/profile/hcard") && !empty($link["href"])) { $hcard_url = $link["href"]; @@ -1169,7 +1169,7 @@ class Probe $data["baseurl"] = trim($link["href"], '/'); } elseif (($link["rel"] == "http://joindiaspora.com/guid") && !empty($link["href"])) { $data["guid"] = $link["href"]; - } elseif (($link["rel"] == "http://webfinger.net/rel/profile-page") && (defaults($link, "type", "") == "text/html") && !empty($link["href"])) { + } elseif (($link["rel"] == "http://webfinger.net/rel/profile-page") && (($link["type"] ?? "") == "text/html") && !empty($link["href"])) { $data["url"] = $link["href"]; } elseif (($link["rel"] == NAMESPACE_FEED) && !empty($link["href"])) { $data["poll"] = $link["href"]; @@ -1267,7 +1267,7 @@ class Probe // See: https://tools.ietf.org/html/rfc7033#section-4.4.4 foreach (array_reverse($webfinger["links"]) as $link) { if (($link["rel"] == "http://webfinger.net/rel/profile-page") - && (defaults($link, "type", "") == "text/html") + && (($link["type"] ?? "") == "text/html") && ($link["href"] != "") ) { $data["url"] = $link["href"]; @@ -1436,7 +1436,7 @@ class Probe // See: https://tools.ietf.org/html/rfc7033#section-4.4.4 foreach (array_reverse($webfinger["links"]) as $link) { if (($link["rel"] == "http://webfinger.net/rel/profile-page") - && (defaults($link, "type", "") == "text/html") + && (($link["type"] ?? "") == "text/html") && ($link["href"] != "") ) { $data["url"] = $link["href"]; diff --git a/src/Object/Post.php b/src/Object/Post.php index 2ef53d075..04775bbd0 100644 --- a/src/Object/Post.php +++ b/src/Object/Post.php @@ -805,7 +805,7 @@ class Post extends BaseObject $terms = Term::tagArrayFromItemId($this->getId(), [Term::MENTION, Term::IMPLICIT_MENTION]); foreach ($terms as $term) { $profile = Contact::getDetailsByURL($term['url']); - if (!empty($profile['addr']) && (defaults($profile, 'contact-type', Contact::TYPE_UNKNOWN) != Contact::TYPE_COMMUNITY) && + if (!empty($profile['addr']) && ((($profile['contact-type'] ?? '') ?: Contact::TYPE_UNKNOWN) != Contact::TYPE_COMMUNITY) && ($profile['addr'] != $owner['addr']) && !strstr($text, $profile['addr'])) { $text .= '@' . $profile['addr'] . ' '; } diff --git a/src/Protocol/ActivityPub.php b/src/Protocol/ActivityPub.php index 3a8a5e5b1..522fee97e 100644 --- a/src/Protocol/ActivityPub.php +++ b/src/Protocol/ActivityPub.php @@ -57,8 +57,8 @@ class ActivityPub */ public static function isRequest() { - return stristr(defaults($_SERVER, 'HTTP_ACCEPT', ''), 'application/activity+json') || - stristr(defaults($_SERVER, 'HTTP_ACCEPT', ''), 'application/ld+json'); + return stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/activity+json') || + stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/ld+json'); } /** diff --git a/src/Protocol/ActivityPub/Processor.php b/src/Protocol/ActivityPub/Processor.php index 7639d0f2a..48af31cc6 100644 --- a/src/Protocol/ActivityPub/Processor.php +++ b/src/Protocol/ActivityPub/Processor.php @@ -75,7 +75,7 @@ class Processor $tag_text = ''; foreach ($tags as $tag) { - if (in_array(defaults($tag, 'type', ''), ['Mention', 'Hashtag'])) { + if (in_array($tag['type'] ?? '', ['Mention', 'Hashtag'])) { if (!empty($tag_text)) { $tag_text .= ','; } @@ -125,7 +125,7 @@ class Processor if (!isset($attach['length'])) { $attach['length'] = "0"; } - $item["attach"] .= '[attach]href="'.$attach['url'].'" length="'.$attach['length'].'" type="'.$attach['mediaType'].'" title="'.defaults($attach, 'name', '').'"[/attach]'; + $item["attach"] .= '[attach]href="'.$attach['url'].'" length="'.$attach['length'].'" type="'.$attach['mediaType'].'" title="'.($attach['name'] ?? '') .'"[/attach]'; } } @@ -183,7 +183,7 @@ class Processor self::fetchMissingActivity($activity['reply-to-id'], $activity); } - $item['diaspora_signed_text'] = defaults($activity, 'diaspora:comment', ''); + $item['diaspora_signed_text'] = $activity['diaspora:comment'] ?? ''; self::postItem($activity, $item); } @@ -256,7 +256,7 @@ class Processor $item['gravity'] = GRAVITY_ACTIVITY; $item['object-type'] = ACTIVITY_OBJ_NOTE; - $item['diaspora_signed_text'] = defaults($activity, 'diaspora:like', ''); + $item['diaspora_signed_text'] = $activity['diaspora:like'] ?? ''; self::postItem($activity, $item); } @@ -404,7 +404,7 @@ class Processor return; } - $item['plink'] = defaults($activity, 'alternate-url', $item['uri']); + $item['plink'] = $activity['alternate-url'] ?? $item['uri']; $item = self::constructAttachList($activity['attachments'], $item, !empty($activity['source'])); @@ -583,8 +583,8 @@ class Processor $activity['@context'] = $object['@context']; unset($object['@context']); $activity['id'] = $object['id']; - $activity['to'] = defaults($object, 'to', []); - $activity['cc'] = defaults($object, 'cc', []); + $activity['to'] = $object['to'] ?? []; + $activity['cc'] = $object['cc'] ?? []; $activity['actor'] = $actor; $activity['object'] = $object; $activity['published'] = $published; @@ -628,7 +628,7 @@ class Processor $item = ['author-id' => Contact::getIdForURL($activity['actor']), 'author-link' => $activity['actor']]; - $note = Strings::escapeTags(trim(defaults($activity, 'content', ''))); + $note = Strings::escapeTags(trim($activity['content'] ?? '')); // Ensure that the contact has got the right network type self::switchContact($item['author-id']); diff --git a/src/Protocol/ActivityPub/Receiver.php b/src/Protocol/ActivityPub/Receiver.php index 058d210a2..f23269615 100644 --- a/src/Protocol/ActivityPub/Receiver.php +++ b/src/Protocol/ActivityPub/Receiver.php @@ -46,8 +46,8 @@ class Receiver */ public static function isRequest() { - return stristr(defaults($_SERVER, 'HTTP_ACCEPT', ''), 'application/activity+json') || - stristr(defaults($_SERVER, 'HTTP_ACCEPT', ''), 'application/ld+json'); + return stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/activity+json') || + stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/ld+json'); } /** @@ -260,7 +260,7 @@ class Receiver $object_data['type'] = $type; $object_data['actor'] = $actor; $object_data['item_receiver'] = $receivers; - $object_data['receiver'] = array_merge(defaults($object_data, 'receiver', []), $receivers); + $object_data['receiver'] = array_merge($object_data['receiver'] ?? [], $receivers); Logger::log('Processing ' . $object_data['type'] . ' ' . $object_data['object_type'] . ' ' . $object_data['id'], Logger::DEBUG); @@ -301,9 +301,9 @@ class Receiver $conversation = [ 'protocol' => Conversation::PARCEL_ACTIVITYPUB, 'item-uri' => $activity['id'], - 'reply-to-uri' => defaults($activity, 'reply-to-id', ''), - 'conversation-href' => defaults($activity, 'context', ''), - 'conversation-uri' => defaults($activity, 'conversation', ''), + 'reply-to-uri' => $activity['reply-to-id'] ?? '', + 'conversation-href' => $activity['context'] ?? '', + 'conversation-uri' => $activity['conversation'] ?? '', 'source' => $body, 'received' => DateTimeFormat::utcNow()]; @@ -508,7 +508,7 @@ class Receiver if (!empty($actor)) { $profile = APContact::getByURL($actor); - $followers = defaults($profile, 'followers', ''); + $followers = $profile['followers'] ?? ''; Logger::log('Actor: ' . $actor . ' - Followers: ' . $followers, Logger::DEBUG); } else { diff --git a/src/Protocol/DFRN.php b/src/Protocol/DFRN.php index 7dee12b56..d557af069 100644 --- a/src/Protocol/DFRN.php +++ b/src/Protocol/DFRN.php @@ -119,8 +119,8 @@ class DFRN foreach ($items as $item) { // These values aren't sent when sending from the queue. /// @todo Check if we can set these values from the queue or if they are needed at all. - $item["entry:comment-allow"] = defaults($item, "entry:comment-allow", true); - $item["entry:cid"] = defaults($item, "entry:cid", 0); + $item["entry:comment-allow"] = ($item["entry:comment-allow"] ?? '') ?: true; + $item["entry:cid"] = $item["entry:cid"] ?? 0; $entry = self::entry($doc, "text", $item, $owner, $item["entry:comment-allow"], $item["entry:cid"]); if (isset($entry)) { @@ -1259,7 +1259,7 @@ class DFRN $sent_dfrn_id = hex2bin((string) $res->dfrn_id); $challenge = hex2bin((string) $res->challenge); $perm = (($res->perm) ? $res->perm : null); - $dfrn_version = (float) (($res->dfrn_version) ? $res->dfrn_version : 2.0); + $dfrn_version = floatval($res->dfrn_version ?: 2.0); $rino_remote_version = intval($res->rino); $page = (($owner['page-flags'] == User::PAGE_FLAGS_COMMUNITY) ? 1 : 0); @@ -2019,8 +2019,8 @@ class DFRN return false; } - $fields = ['title' => defaults($item, 'title', ''), 'body' => defaults($item, 'body', ''), - 'tag' => defaults($item, 'tag', ''), 'changed' => DateTimeFormat::utcNow(), + $fields = ['title' => $item['title'] ?? '', 'body' => $item['body'] ?? '', + 'tag' => $item['tag'] ?? '', 'changed' => DateTimeFormat::utcNow(), 'edited' => DateTimeFormat::utc($item["edited"])]; $condition = ["`uri` = ? AND `uid` IN (0, ?)", $item["uri"], $importer["importer_uid"]]; diff --git a/src/Protocol/Email.php b/src/Protocol/Email.php index a6090ce91..06cf86125 100644 --- a/src/Protocol/Email.php +++ b/src/Protocol/Email.php @@ -544,7 +544,7 @@ class Email } $quotelevel = 0; - $nextline = trim(defaults($arrbody, $i + 1, '')); + $nextline = trim($arrbody[$i + 1] ?? ''); while ((strlen($nextline)>0) && ((substr($nextline, 0, 1) == '>') || (substr($nextline, 0, 1) == ' '))) { if (substr($nextline, 0, 1) == '>') { diff --git a/src/Protocol/OStatus.php b/src/Protocol/OStatus.php index 054eaf51b..afd406f97 100644 --- a/src/Protocol/OStatus.php +++ b/src/Protocol/OStatus.php @@ -74,7 +74,7 @@ class OStatus } $author["author-id"] = Contact::getIdForURL($author["author-link"]); - $author['contact-id'] = defaults($contact, 'id', $author['author-id']); + $author['contact-id'] = ($contact['id'] ?? 0) ?: $author['author-id']; $contact = []; @@ -1131,7 +1131,7 @@ class OStatus if (!isset($attribute['length'])) { $attribute['length'] = "0"; } - $item["attach"] .= '[attach]href="'.$attribute['href'].'" length="'.$attribute['length'].'" type="'.$attribute['type'].'" title="'.defaults($attribute, 'title', '').'"[/attach]'; + $item["attach"] .= '[attach]href="'.$attribute['href'].'" length="'.$attribute['length'].'" type="'.$attribute['type'].'" title="'.($attribute['title'] ?? '') .'"[/attach]'; } break; case "related": @@ -1403,7 +1403,8 @@ class OStatus "href" => $siteinfo["url"], "type" => "text/html; charset=UTF-8", "length" => "", - "title" => defaults($siteinfo, "title", $siteinfo["url"])]; + "title" => ($siteinfo["title"] ?? '') ?: $siteinfo["url"], + ]; XML::addElement($doc, $root, "link", "", $attributes); break; default: diff --git a/src/Util/Emailer.php b/src/Util/Emailer.php index 4310046c2..d7ca234a9 100644 --- a/src/Util/Emailer.php +++ b/src/Util/Emailer.php @@ -57,7 +57,7 @@ class Emailer .rand(10000, 99999); // generate a multipart/alternative message header - $messageHeader = defaults($params, 'additionalMailHeader', '') . + $messageHeader = ($params['additionalMailHeader'] ?? '') . "From: $fromName <{$params['fromEmail']}>\n" . "Reply-To: $fromName <{$params['replyTo']}>\n" . "MIME-Version: 1.0\n" . diff --git a/src/Util/Network.php b/src/Util/Network.php index cd66abe0b..348bff50e 100644 --- a/src/Util/Network.php +++ b/src/Util/Network.php @@ -104,7 +104,7 @@ class Network $parts2 = []; $parts = parse_url($url); - $path_parts = explode('/', defaults($parts, 'path', '')); + $path_parts = explode('/', $parts['path'] ?? ''); foreach ($path_parts as $part) { if (strlen($part) <> mb_strlen($part)) { $parts2[] = rawurlencode($part); @@ -801,8 +801,8 @@ class Network $i = 0; $path = ""; do { - $path1 = defaults($pathparts1, $i, ''); - $path2 = defaults($pathparts2, $i, ''); + $path1 = $pathparts1[$i] ?? ''; + $path2 = $pathparts2[$i] ?? ''; if ($path1 == $path2) { $path .= $path1."/"; diff --git a/src/Util/ParseUrl.php b/src/Util/ParseUrl.php index 9a3de88cf..4590f39a9 100644 --- a/src/Util/ParseUrl.php +++ b/src/Util/ParseUrl.php @@ -141,7 +141,7 @@ class ParseUrl } // If the file is too large then exit - if (defaults($curlResult->getInfo(), 'download_content_length', 0) > 1000000) { + if (($curlResult->getInfo()['download_content_length'] ?? 0) > 1000000) { return $siteinfo; } diff --git a/src/Util/Profiler.php b/src/Util/Profiler.php index dc140469c..b42d0facc 100644 --- a/src/Util/Profiler.php +++ b/src/Util/Profiler.php @@ -79,7 +79,7 @@ class Profiler implements ContainerInterface return; } - $duration = (float) (microtime(true) - $timestamp); + $duration = floatval(microtime(true) - $timestamp); if (!isset($this->performance[$value])) { // Prevent ugly E_NOTICE diff --git a/src/Worker/Delivery.php b/src/Worker/Delivery.php index 865288563..1c10b0859 100644 --- a/src/Worker/Delivery.php +++ b/src/Worker/Delivery.php @@ -250,7 +250,7 @@ class Delivery extends BaseObject */ private static function deliverDFRN($cmd, $contact, $owner, $items, $target_item, $public_message, $top_level, $followup) { - Logger::log('Deliver ' . defaults($target_item, 'guid', $target_item['id']) . ' via DFRN to ' . (empty($contact['addr']) ? $contact['url'] : $contact['addr'])); + Logger::info('Deliver ' . (($target_item['guid'] ?? '') ?: $target_item['id']) . ' via DFRN to ' . (($contact['addr'] ?? '') ?: $contact['url'])); if ($cmd == self::MAIL) { $item = $target_item; @@ -278,7 +278,7 @@ class Delivery extends BaseObject $atom = DFRN::entries($msgitems, $owner); } - Logger::log('Notifier entry: ' . $contact["url"] . ' ' . defaults($target_item, 'guid', $target_item['id']) . ' entry: ' . $atom, Logger::DATA); + Logger::debug('Notifier entry: ' . $contact["url"] . ' ' . (($target_item['guid'] ?? '') ?: $target_item['id']) . ' entry: ' . $atom, Logger::DATA); $basepath = implode('/', array_slice(explode('/', $contact['url']), 0, 3)); @@ -359,7 +359,7 @@ class Delivery extends BaseObject $protocol = Model\ItemDeliveryData::LEGACY_DFRN; } - Logger::info('DFRN Delivery', ['cmd' => $cmd, 'url' => $contact['url'], 'guid' => defaults($target_item, 'guid', $target_item['id']), 'return' => $deliver_status]); + Logger::info('DFRN Delivery', ['cmd' => $cmd, 'url' => $contact['url'], 'guid' => ($target_item['guid'] ?? '') ?: $target_item['id'], 'return' => $deliver_status]); if (($deliver_status >= 200) && ($deliver_status <= 299)) { // We successfully delivered a message, the contact is alive @@ -372,7 +372,7 @@ class Delivery extends BaseObject // The message could not be delivered. We mark the contact as "dead" Model\Contact::markForArchival($contact); - Logger::info('Delivery failed: defer message', ['id' => defaults($target_item, 'guid', $target_item['id'])]); + Logger::info('Delivery failed: defer message', ['id' => ($target_item['guid'] ?? '') ?: $target_item['id']]); if (!Worker::defer() && in_array($cmd, [Delivery::POST, Delivery::POKE])) { Model\ItemDeliveryData::incrementQueueFailed($target_item['id']); } @@ -463,7 +463,7 @@ class Delivery extends BaseObject } if (empty($contact['contact-type']) || ($contact['contact-type'] != Model\Contact::TYPE_RELAY)) { - Logger::info('Delivery failed: defer message', ['id' => defaults($target_item, 'guid', $target_item['id'])]); + Logger::info('Delivery failed: defer message', ['id' => ($target_item['guid'] ?? '') ?: $target_item['id']]); // defer message for redelivery if (!Worker::defer() && in_array($cmd, [Delivery::POST, Delivery::POKE])) { Model\ItemDeliveryData::incrementQueueFailed($target_item['id']); diff --git a/src/Worker/GProbe.php b/src/Worker/GProbe.php index 3c7136347..415c8f3ae 100644 --- a/src/Worker/GProbe.php +++ b/src/Worker/GProbe.php @@ -35,7 +35,7 @@ class GProbe { $result = Cache::get("gprobe:".$urlparts["host"]); if (!is_null($result)) { if (in_array($result["network"], [Protocol::FEED, Protocol::PHANTOM])) { - Logger::log("DDoS attempt detected for ".$urlparts["host"]." by ".defaults($_SERVER, "REMOTE_ADDR", '').". server data: ".print_r($_SERVER, true), Logger::DEBUG); + Logger::debug("DDoS attempt detected for " . $urlparts["host"] . " by " . ($_SERVER["REMOTE_ADDR"] ?? ''), ['$_SERVER' => $_SERVER]); return; } }