Merge remote-tracking branch 'upstream/develop' into sanitize-gcontact
This commit is contained in:
commit
98c12006d5
144 changed files with 843 additions and 941 deletions
41
boot.php
41
boot.php
|
@ -322,47 +322,6 @@ function get_app()
|
|||
return BaseObject::getApp();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the provided variable value if it exists and is truthy or the provided
|
||||
* default value instead.
|
||||
*
|
||||
* Works with initialized variables and potentially uninitialized array keys
|
||||
*
|
||||
* Usages:
|
||||
* - defaults($var, $default)
|
||||
* - defaults($array, 'key', $default)
|
||||
*
|
||||
* @param array $args
|
||||
* @brief Returns a defaut value if the provided variable or array key is falsy
|
||||
* @return mixed
|
||||
* @deprecated since version 2019.06, use native coalesce operator (??) instead
|
||||
*/
|
||||
function defaults(...$args)
|
||||
{
|
||||
if (count($args) < 2) {
|
||||
throw new BadFunctionCallException('defaults() requires at least 2 parameters');
|
||||
}
|
||||
if (count($args) > 3) {
|
||||
throw new BadFunctionCallException('defaults() cannot use more than 3 parameters');
|
||||
}
|
||||
if (count($args) === 3 && is_null($args[1])) {
|
||||
throw new BadFunctionCallException('defaults($arr, $key, $def) $key is null');
|
||||
}
|
||||
|
||||
// The default value always is the last argument
|
||||
$return = array_pop($args);
|
||||
|
||||
if (count($args) == 2 && is_array($args[0]) && !empty($args[0][$args[1]])) {
|
||||
$return = $args[0][$args[1]];
|
||||
}
|
||||
|
||||
if (count($args) == 1 && !empty($args[0])) {
|
||||
$return = $args[0];
|
||||
}
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Used to end the current process, after saving session state.
|
||||
* @deprecated
|
||||
|
|
|
@ -81,6 +81,7 @@ Here's a few primers if you are new to Friendica or to the PSR-2 coding standard
|
|||
* No closing PHP tag
|
||||
* No trailing spaces
|
||||
* Array declarations use the new square brackets syntax
|
||||
* Quoting style is single quotes by default, except for needed string interpolation, SQL query strings by convention and comments that should stay in natural language.
|
||||
|
||||
Don't worry, you don't have to know by heart the PSR-2 coding standards to start contributing to Friendica.
|
||||
There are a few tools you can use to check or fix your files before you commit.
|
||||
|
|
|
@ -322,7 +322,7 @@ function api_call(App $a)
|
|||
|
||||
$stamp = microtime(true);
|
||||
$return = call_user_func($info['func'], $type);
|
||||
$duration = (float) (microtime(true) - $stamp);
|
||||
$duration = floatval(microtime(true) - $stamp);
|
||||
|
||||
Logger::info(API_LOG_PREFIX . 'username {username}', ['module' => 'api', 'action' => 'call', 'username' => $a->user['username'], 'duration' => round($duration, 2)]);
|
||||
|
||||
|
|
|
@ -1208,7 +1208,7 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false)
|
|||
'$new_post' => L10n::t('New Post'),
|
||||
'$return_path' => $query_str,
|
||||
'$action' => 'item',
|
||||
'$share' => defaults($x, 'button', L10n::t('Share')),
|
||||
'$share' => ($x['button'] ?? '') ?: L10n::t('Share'),
|
||||
'$upload' => L10n::t('Upload photo'),
|
||||
'$shortupload' => L10n::t('upload photo'),
|
||||
'$attach' => L10n::t('Attach file'),
|
||||
|
@ -1225,17 +1225,17 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false)
|
|||
'$shortsetloc' => L10n::t('set location'),
|
||||
'$noloc' => L10n::t('Clear browser location'),
|
||||
'$shortnoloc' => L10n::t('clear location'),
|
||||
'$title' => defaults($x, 'title', ''),
|
||||
'$title' => $x['title'] ?? '',
|
||||
'$placeholdertitle' => L10n::t('Set title'),
|
||||
'$category' => defaults($x, 'category', ''),
|
||||
'$category' => $x['category'] ?? '',
|
||||
'$placeholdercategory' => Feature::isEnabled(local_user(), 'categories') ? L10n::t("Categories \x28comma-separated list\x29") : '',
|
||||
'$wait' => L10n::t('Please wait'),
|
||||
'$permset' => L10n::t('Permission settings'),
|
||||
'$shortpermset' => L10n::t('permissions'),
|
||||
'$wall' => $notes_cid ? 0 : 1,
|
||||
'$posttype' => $notes_cid ? Item::PT_PERSONAL_NOTE : Item::PT_ARTICLE,
|
||||
'$content' => defaults($x, 'content', ''),
|
||||
'$post_id' => defaults($x, 'post_id', ''),
|
||||
'$content' => $x['content'] ?? '',
|
||||
'$post_id' => $x['post_id'] ?? '',
|
||||
'$baseurl' => System::baseUrl(true),
|
||||
'$defloc' => $x['default_location'],
|
||||
'$visitor' => $x['visitor'],
|
||||
|
@ -1527,9 +1527,9 @@ function get_responses(array $conv_responses, array $response_verbs, array $item
|
|||
$ret = [];
|
||||
foreach ($response_verbs as $v) {
|
||||
$ret[$v] = [];
|
||||
$ret[$v]['count'] = defaults($conv_responses[$v], $item['uri'], 0);
|
||||
$ret[$v]['list'] = defaults($conv_responses[$v], $item['uri'] . '-l', []);
|
||||
$ret[$v]['self'] = defaults($conv_responses[$v], $item['uri'] . '-self', '0');
|
||||
$ret[$v]['count'] = $conv_responses[$v][$item['uri']] ?? 0;
|
||||
$ret[$v]['list'] = $conv_responses[$v][$item['uri'] . '-l'] ?? [];
|
||||
$ret[$v]['self'] = $conv_responses[$v][$item['uri'] . '-self'] ?? '0';
|
||||
if (count($ret[$v]['list']) > MAX_LIKERS) {
|
||||
$ret[$v]['list_part'] = array_slice($ret[$v]['list'], 0, MAX_LIKERS);
|
||||
array_push($ret[$v]['list_part'], '<a href="#" data-toggle="modal" data-target="#' . $v . 'Modal-'
|
||||
|
|
|
@ -46,10 +46,10 @@ function notification($params)
|
|||
return false;
|
||||
}
|
||||
|
||||
$params['notify_flags'] = defaults($params, 'notify_flags', $user['notify-flags']);
|
||||
$params['language'] = defaults($params, 'language' , $user['language']);
|
||||
$params['to_name'] = defaults($params, 'to_name' , $user['username']);
|
||||
$params['to_email'] = defaults($params, 'to_email' , $user['email']);
|
||||
$params['notify_flags'] = ($params['notify_flags'] ?? '') ?: $user['notify-flags'];
|
||||
$params['language'] = ($params['language'] ?? '') ?: $user['language'];
|
||||
$params['to_name'] = ($params['to_name'] ?? '') ?: $user['username'];
|
||||
$params['to_email'] = ($params['to_email'] ?? '') ?: $user['email'];
|
||||
|
||||
// from here on everything is in the recipients language
|
||||
L10n::pushLang($params['language']);
|
||||
|
@ -456,17 +456,17 @@ function notification($params)
|
|||
if (!isset($params['subject'])) {
|
||||
Logger::warning('subject isn\'t set.', ['type' => $params['type']]);
|
||||
}
|
||||
$subject = defaults($params, 'subject', '');
|
||||
$subject = $params['subject'] ?? '';
|
||||
|
||||
if (!isset($params['preamble'])) {
|
||||
Logger::warning('preamble isn\'t set.', ['type' => $params['type'], 'subject' => $subject]);
|
||||
}
|
||||
$preamble = defaults($params, 'preamble', '');
|
||||
$preamble = $params['preamble'] ?? '';
|
||||
|
||||
if (!isset($params['body'])) {
|
||||
Logger::warning('body isn\'t set.', ['type' => $params['type'], 'subject' => $subject, 'preamble' => $preamble]);
|
||||
}
|
||||
$body = defaults($params, 'body', '');
|
||||
$body = $params['body'] ?? '';
|
||||
|
||||
$show_in_notification_page = false;
|
||||
}
|
||||
|
@ -613,11 +613,11 @@ function notification($params)
|
|||
$datarray['siteurl'] = $siteurl;
|
||||
$datarray['type'] = $params['type'];
|
||||
$datarray['parent'] = $parent_id;
|
||||
$datarray['source_name'] = defaults($params, 'source_name', '');
|
||||
$datarray['source_link'] = defaults($params, 'source_link', '');
|
||||
$datarray['source_photo'] = defaults($params, 'source_photo', '');
|
||||
$datarray['source_name'] = $params['source_name'] ?? '';
|
||||
$datarray['source_link'] = $params['source_link'] ?? '';
|
||||
$datarray['source_photo'] = $params['source_photo'] ?? '';
|
||||
$datarray['uid'] = $params['uid'];
|
||||
$datarray['username'] = defaults($params, 'to_name', '');
|
||||
$datarray['username'] = $params['to_name'] ?? '';
|
||||
$datarray['hsitelink'] = $hsitelink;
|
||||
$datarray['tsitelink'] = $tsitelink;
|
||||
$datarray['hitemlink'] = '<a href="'.$itemlink.'">'.$itemlink.'</a>';
|
||||
|
|
|
@ -42,7 +42,7 @@ function add_page_info_data(array $data, $no_photos = false)
|
|||
$data["type"] = "link";
|
||||
}
|
||||
|
||||
$data["title"] = defaults($data, "title", "");
|
||||
$data["title"] = $data["title"] ?? '';
|
||||
|
||||
if ((($data["type"] != "link") && ($data["type"] != "video") && ($data["type"] != "photo")) || ($data["title"] == $data["url"])) {
|
||||
return "";
|
||||
|
|
|
@ -200,7 +200,7 @@ function cal_content(App $a)
|
|||
|
||||
// put the event parametes in an array so we can better transmit them
|
||||
$event_params = [
|
||||
'event_id' => intval(defaults($_GET, 'id', 0)),
|
||||
'event_id' => intval($_GET['id'] ?? 0),
|
||||
'start' => $start,
|
||||
'finish' => $finish,
|
||||
'adjust_start' => $adjust_start,
|
||||
|
|
|
@ -118,7 +118,7 @@ function common_content(App $a)
|
|||
|
||||
$entry = [
|
||||
'url' => Model\Contact::magicLink($common_friend['url']),
|
||||
'itemurl' => defaults($contact_details, 'addr', $common_friend['url']),
|
||||
'itemurl' => ($contact_details['addr'] ?? '') ?: $common_friend['url'],
|
||||
'name' => $contact_details['name'],
|
||||
'thumb' => ProxyUtils::proxifyUrl($contact_details['thumb'], false, ProxyUtils::SIZE_THUMB),
|
||||
'img_hover' => $contact_details['name'],
|
||||
|
|
|
@ -38,17 +38,17 @@ function crepair_post(App $a)
|
|||
return;
|
||||
}
|
||||
|
||||
$name = defaults($_POST, 'name' , $contact['name']);
|
||||
$nick = defaults($_POST, 'nick' , '');
|
||||
$url = defaults($_POST, 'url' , '');
|
||||
$alias = defaults($_POST, 'alias' , '');
|
||||
$request = defaults($_POST, 'request' , '');
|
||||
$confirm = defaults($_POST, 'confirm' , '');
|
||||
$notify = defaults($_POST, 'notify' , '');
|
||||
$poll = defaults($_POST, 'poll' , '');
|
||||
$attag = defaults($_POST, 'attag' , '');
|
||||
$photo = defaults($_POST, 'photo' , '');
|
||||
$remote_self = defaults($_POST, 'remote_self', false);
|
||||
$name = ($_POST['name'] ?? '') ?: $contact['name'];
|
||||
$nick = $_POST['nick'] ?? '';
|
||||
$url = $_POST['url'] ?? '';
|
||||
$alias = $_POST['alias'] ?? '';
|
||||
$request = $_POST['request'] ?? '';
|
||||
$confirm = $_POST['confirm'] ?? '';
|
||||
$notify = $_POST['notify'] ?? '';
|
||||
$poll = $_POST['poll'] ?? '';
|
||||
$attag = $_POST['attag'] ?? '';
|
||||
$photo = $_POST['photo'] ?? '';
|
||||
$remote_self = $_POST['remote_self'] ?? false;
|
||||
$nurl = Strings::normaliseLink($url);
|
||||
|
||||
$r = DBA::update(
|
||||
|
|
|
@ -59,7 +59,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
|
|||
* since we are operating on behalf of our registered user to approve a friendship.
|
||||
*/
|
||||
if (empty($_POST['source_url'])) {
|
||||
$uid = defaults($handsfree, 'uid', local_user());
|
||||
$uid = ($handsfree['uid'] ?? 0) ?: local_user();
|
||||
if (!$uid) {
|
||||
notice(L10n::t('Permission denied.') . EOL);
|
||||
return;
|
||||
|
@ -78,13 +78,13 @@ function dfrn_confirm_post(App $a, $handsfree = null)
|
|||
$intro_id = $handsfree['intro_id'];
|
||||
$duplex = $handsfree['duplex'];
|
||||
$cid = 0;
|
||||
$hidden = intval(defaults($handsfree, 'hidden' , 0));
|
||||
$hidden = intval($handsfree['hidden'] ?? 0);
|
||||
} else {
|
||||
$dfrn_id = Strings::escapeTags(trim(defaults($_POST, 'dfrn_id' , '')));
|
||||
$intro_id = intval(defaults($_POST, 'intro_id' , 0));
|
||||
$duplex = intval(defaults($_POST, 'duplex' , 0));
|
||||
$cid = intval(defaults($_POST, 'contact_id', 0));
|
||||
$hidden = intval(defaults($_POST, 'hidden' , 0));
|
||||
$dfrn_id = Strings::escapeTags(trim($_POST['dfrn_id'] ?? ''));
|
||||
$intro_id = intval($_POST['intro_id'] ?? 0);
|
||||
$duplex = intval($_POST['duplex'] ?? 0);
|
||||
$cid = intval($_POST['contact_id'] ?? 0);
|
||||
$hidden = intval($_POST['hidden'] ?? 0);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -347,12 +347,12 @@ function dfrn_confirm_post(App $a, $handsfree = null)
|
|||
*/
|
||||
if (!empty($_POST['source_url'])) {
|
||||
// We are processing an external confirmation to an introduction created by our user.
|
||||
$public_key = defaults($_POST, 'public_key', '');
|
||||
$dfrn_id = hex2bin(defaults($_POST, 'dfrn_id' , ''));
|
||||
$source_url = hex2bin(defaults($_POST, 'source_url', ''));
|
||||
$aes_key = defaults($_POST, 'aes_key' , '');
|
||||
$duplex = intval(defaults($_POST, 'duplex' , 0));
|
||||
$page = intval(defaults($_POST, 'page' , 0));
|
||||
$public_key = $_POST['public_key'] ?? '';
|
||||
$dfrn_id = hex2bin($_POST['dfrn_id'] ?? '');
|
||||
$source_url = hex2bin($_POST['source_url'] ?? '');
|
||||
$aes_key = $_POST['aes_key'] ?? '';
|
||||
$duplex = intval($_POST['duplex'] ?? 0);
|
||||
$page = intval($_POST['page'] ?? 0);
|
||||
|
||||
$forum = (($page == 1) ? 1 : 0);
|
||||
$prv = (($page == 2) ? 1 : 0);
|
||||
|
|
|
@ -26,7 +26,7 @@ function dfrn_notify_post(App $a) {
|
|||
if (empty($_POST) || !empty($postdata)) {
|
||||
$data = json_decode($postdata);
|
||||
if (is_object($data)) {
|
||||
$nick = defaults($a->argv, 1, '');
|
||||
$nick = $a->argv[1] ?? '';
|
||||
|
||||
$user = DBA::selectFirst('user', [], ['nickname' => $nick, 'account_expired' => false, 'account_removed' => false]);
|
||||
if (!DBA::isResult($user)) {
|
||||
|
@ -42,8 +42,8 @@ function dfrn_notify_post(App $a) {
|
|||
$dfrn_id = (!empty($_POST['dfrn_id']) ? Strings::escapeTags(trim($_POST['dfrn_id'])) : '');
|
||||
$dfrn_version = (!empty($_POST['dfrn_version']) ? (float) $_POST['dfrn_version'] : 2.0);
|
||||
$challenge = (!empty($_POST['challenge']) ? Strings::escapeTags(trim($_POST['challenge'])) : '');
|
||||
$data = defaults($_POST, 'data', '');
|
||||
$key = defaults($_POST, 'key', '');
|
||||
$data = $_POST['data'] ?? '';
|
||||
$key = $_POST['key'] ?? '';
|
||||
$rino_remote = (!empty($_POST['rino']) ? intval($_POST['rino']) : 0);
|
||||
$dissolve = (!empty($_POST['dissolve']) ? intval($_POST['dissolve']) : 0);
|
||||
$perm = (!empty($_POST['perm']) ? Strings::escapeTags(trim($_POST['perm'])) : 'r');
|
||||
|
|
|
@ -22,17 +22,17 @@ function dfrn_poll_init(App $a)
|
|||
{
|
||||
Login::sessionAuth();
|
||||
|
||||
$dfrn_id = defaults($_GET, 'dfrn_id' , '');
|
||||
$type = defaults($_GET, 'type' , 'data');
|
||||
$last_update = defaults($_GET, 'last_update' , '');
|
||||
$destination_url = defaults($_GET, 'destination_url', '');
|
||||
$challenge = defaults($_GET, 'challenge' , '');
|
||||
$sec = defaults($_GET, 'sec' , '');
|
||||
$dfrn_version = (float) defaults($_GET, 'dfrn_version' , 2.0);
|
||||
$dfrn_id = $_GET['dfrn_id'] ?? '';
|
||||
$type = ($_GET['type'] ?? '') ?: 'data';
|
||||
$last_update = $_GET['last_update'] ?? '';
|
||||
$destination_url = $_GET['destination_url'] ?? '';
|
||||
$challenge = $_GET['challenge'] ?? '';
|
||||
$sec = $_GET['sec'] ?? '';
|
||||
$dfrn_version = floatval(($_GET['dfrn_version'] ?? 0.0) ?: 2.0);
|
||||
$quiet = !empty($_GET['quiet']);
|
||||
|
||||
// Possibly it is an OStatus compatible server that requests a user feed
|
||||
$user_agent = defaults($_SERVER, 'HTTP_USER_AGENT', '');
|
||||
$user_agent = $_SERVER['HTTP_USER_AGENT'] ?? '';
|
||||
if (($a->argc > 1) && ($dfrn_id == '') && !strstr($user_agent, 'Friendica')) {
|
||||
$nickname = $a->argv[1];
|
||||
header("Content-type: application/atom+xml");
|
||||
|
@ -225,13 +225,13 @@ function dfrn_poll_init(App $a)
|
|||
|
||||
function dfrn_poll_post(App $a)
|
||||
{
|
||||
$dfrn_id = defaults($_POST, 'dfrn_id' , '');
|
||||
$challenge = defaults($_POST, 'challenge', '');
|
||||
$url = defaults($_POST, 'url' , '');
|
||||
$sec = defaults($_POST, 'sec' , '');
|
||||
$ptype = defaults($_POST, 'type' , '');
|
||||
$perm = defaults($_POST, 'perm' , 'r');
|
||||
$dfrn_version = !empty($_POST['dfrn_version']) ? (float) $_POST['dfrn_version'] : 2.0;
|
||||
$dfrn_id = $_POST['dfrn_id'] ?? '';
|
||||
$challenge = $_POST['challenge'] ?? '';
|
||||
$url = $_POST['url'] ?? '';
|
||||
$sec = $_POST['sec'] ?? '';
|
||||
$ptype = $_POST['type'] ?? '';
|
||||
$perm = ($_POST['perm'] ?? '') ?: 'r';
|
||||
$dfrn_version = floatval(($_GET['dfrn_version'] ?? 0.0) ?: 2.0);
|
||||
|
||||
if ($ptype === 'profile-check') {
|
||||
if (strlen($challenge) && strlen($sec)) {
|
||||
|
@ -391,12 +391,12 @@ function dfrn_poll_post(App $a)
|
|||
|
||||
function dfrn_poll_content(App $a)
|
||||
{
|
||||
$dfrn_id = defaults($_GET, 'dfrn_id' , '');
|
||||
$type = defaults($_GET, 'type' , 'data');
|
||||
$last_update = defaults($_GET, 'last_update' , '');
|
||||
$destination_url = defaults($_GET, 'destination_url', '');
|
||||
$sec = defaults($_GET, 'sec' , '');
|
||||
$dfrn_version = !empty($_GET['dfrn_version']) ? (float) $_GET['dfrn_version'] : 2.0;
|
||||
$dfrn_id = $_GET['dfrn_id'] ?? '';
|
||||
$type = ($_GET['type'] ?? '') ?: 'data';
|
||||
$last_update = $_GET['last_update'] ?? '';
|
||||
$destination_url = $_GET['destination_url'] ?? '';
|
||||
$sec = $_GET['sec'] ?? '';
|
||||
$dfrn_version = floatval(($_GET['dfrn_version'] ?? 0.0) ?: 2.0);
|
||||
$quiet = !empty($_GET['quiet']);
|
||||
|
||||
$direction = -1;
|
||||
|
|
|
@ -80,7 +80,7 @@ function dfrn_request_post(App $a)
|
|||
if (local_user() && ($a->user['nickname'] == $a->argv[1]) && !empty($_POST['dfrn_url'])) {
|
||||
$dfrn_url = Strings::escapeTags(trim($_POST['dfrn_url']));
|
||||
$aes_allow = !empty($_POST['aes_allow']);
|
||||
$confirm_key = defaults($_POST, 'confirm_key', "");
|
||||
$confirm_key = $_POST['confirm_key'] ?? '';
|
||||
$hidden = (!empty($_POST['hidden-contact']) ? intval($_POST['hidden-contact']) : 0);
|
||||
$contact_record = null;
|
||||
$blocked = 1;
|
||||
|
@ -169,7 +169,7 @@ function dfrn_request_post(App $a)
|
|||
$r = q("SELECT `id`, `network` FROM `contact` WHERE `uid` = %d AND `url` = '%s' AND `site-pubkey` = '%s' LIMIT 1",
|
||||
intval(local_user()),
|
||||
DBA::escape($dfrn_url),
|
||||
defaults($parms, 'key', '') // Potentially missing
|
||||
$parms['key'] ?? '' // Potentially missing
|
||||
);
|
||||
if (DBA::isResult($r)) {
|
||||
Group::addMember(User::getDefaultGroup(local_user(), $r[0]["network"]), $r[0]['id']);
|
||||
|
@ -423,7 +423,7 @@ function dfrn_request_post(App $a)
|
|||
intval($uid),
|
||||
intval($contact_record['id']),
|
||||
intval(!empty($_POST['knowyou'])),
|
||||
DBA::escape(Strings::escapeTags(trim(defaults($_POST, 'dfrn-request-message', '')))),
|
||||
DBA::escape(Strings::escapeTags(trim($_POST['dfrn-request-message'] ?? ''))),
|
||||
DBA::escape($hash),
|
||||
DBA::escape(DateTimeFormat::utcNow())
|
||||
);
|
||||
|
@ -499,7 +499,7 @@ function dfrn_request_content(App $a)
|
|||
|
||||
$dfrn_url = Strings::escapeTags(trim(hex2bin($_GET['dfrn_url'])));
|
||||
$aes_allow = !empty($_GET['aes_allow']);
|
||||
$confirm_key = defaults($_GET, 'confirm_key', "");
|
||||
$confirm_key = $_GET['confirm_key'] ?? '';
|
||||
|
||||
// Checking fastlane for validity
|
||||
if (!empty($_SESSION['fastlane']) && (Strings::normaliseLink($_SESSION["fastlane"]) == Strings::normaliseLink($dfrn_url))) {
|
||||
|
|
|
@ -276,8 +276,8 @@ function display_content(App $a, $update = false, $update_uid = 0)
|
|||
if (isset($item_parent_uri)) {
|
||||
$parent = Item::selectFirst(['uid'], ['uri' => $item_parent_uri, 'wall' => true]);
|
||||
if (DBA::isResult($parent)) {
|
||||
$a->profile['uid'] = defaults($a->profile, 'uid', $parent['uid']);
|
||||
$a->profile['profile_uid'] = defaults($a->profile, 'profile_uid', $parent['uid']);
|
||||
$a->profile['uid'] = ($a->profile['uid'] ?? 0) ?: $parent['uid'];
|
||||
$a->profile['profile_uid'] = ($a->profile['profile_uid'] ?? 0) ?: $parent['uid'];
|
||||
$is_remote_contact = Session::getRemoteContactID($a->profile['profile_uid']);
|
||||
if ($is_remote_contact) {
|
||||
$item_uid = $parent['uid'];
|
||||
|
|
|
@ -59,11 +59,11 @@ function events_post(App $a)
|
|||
$cid = !empty($_POST['cid']) ? intval($_POST['cid']) : 0;
|
||||
$uid = local_user();
|
||||
|
||||
$start_text = Strings::escapeHtml(defaults($_REQUEST, 'start_text', ''));
|
||||
$finish_text = Strings::escapeHtml(defaults($_REQUEST, 'finish_text', ''));
|
||||
$start_text = Strings::escapeHtml($_REQUEST['start_text'] ?? '');
|
||||
$finish_text = Strings::escapeHtml($_REQUEST['finish_text'] ?? '');
|
||||
|
||||
$adjust = intval(defaults($_POST, 'adjust', 0));
|
||||
$nofinish = intval(defaults($_POST, 'nofinish', 0));
|
||||
$adjust = intval($_POST['adjust'] ?? 0);
|
||||
$nofinish = intval($_POST['nofinish'] ?? 0);
|
||||
|
||||
// The default setting for the `private` field in event_store() is false, so mirror that
|
||||
$private_event = false;
|
||||
|
@ -96,9 +96,9 @@ function events_post(App $a)
|
|||
// and we'll waste a bunch of time responding to it. Time that
|
||||
// could've been spent doing something else.
|
||||
|
||||
$summary = trim(defaults($_POST, 'summary' , ''));
|
||||
$desc = trim(defaults($_POST, 'desc' , ''));
|
||||
$location = trim(defaults($_POST, 'location', ''));
|
||||
$summary = trim($_POST['summary'] ?? '');
|
||||
$desc = trim($_POST['desc'] ?? '');
|
||||
$location = trim($_POST['location'] ?? '');
|
||||
$type = 'event';
|
||||
|
||||
$params = [
|
||||
|
@ -132,7 +132,7 @@ function events_post(App $a)
|
|||
$a->internalRedirect($onerror_path);
|
||||
}
|
||||
|
||||
$share = intval(defaults($_POST, 'share', 0));
|
||||
$share = intval($_POST['share'] ?? 0);
|
||||
|
||||
$c = q("SELECT `id` FROM `contact` WHERE `uid` = %d AND `self` LIMIT 1",
|
||||
intval(local_user())
|
||||
|
@ -146,10 +146,10 @@ function events_post(App $a)
|
|||
|
||||
|
||||
if ($share) {
|
||||
$str_group_allow = perms2str(defaults($_POST, 'group_allow' , ''));
|
||||
$str_contact_allow = perms2str(defaults($_POST, 'contact_allow', ''));
|
||||
$str_group_deny = perms2str(defaults($_POST, 'group_deny' , ''));
|
||||
$str_contact_deny = perms2str(defaults($_POST, 'contact_deny' , ''));
|
||||
$str_group_allow = perms2str($_POST['group_allow'] ?? '');
|
||||
$str_contact_allow = perms2str($_POST['contact_allow'] ?? '');
|
||||
$str_group_deny = perms2str($_POST['group_deny'] ?? '');
|
||||
$str_contact_deny = perms2str($_POST['contact_deny'] ?? '');
|
||||
|
||||
// Undo the pseudo-contact of self, since there are real contacts now
|
||||
if (strpos($str_contact_allow, '<' . $self . '>') !== false) {
|
||||
|
|
|
@ -29,7 +29,7 @@ function fbrowser_content(App $a)
|
|||
}
|
||||
|
||||
// Needed to match the correct template in a module that uses a different theme than the user/site/default
|
||||
$theme = Strings::sanitizeFilePathItem(defaults($_GET, 'theme', null));
|
||||
$theme = Strings::sanitizeFilePathItem($_GET['theme'] ?? null);
|
||||
if ($theme && is_file("view/theme/$theme/config.php")) {
|
||||
$a->setCurrentTheme($theme);
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@ function follow_content(App $a)
|
|||
$uid = local_user();
|
||||
|
||||
// Issue 4815: Silently removing a prefixing @
|
||||
$url = ltrim(Strings::escapeTags(trim(defaults($_REQUEST, 'url', ''))), '@!');
|
||||
$url = ltrim(Strings::escapeTags(trim($_REQUEST['url'] ?? '')), '@!');
|
||||
|
||||
// Issue 6874: Allow remote following from Peertube
|
||||
if (strpos($url, 'acct:') === 0) {
|
||||
|
|
|
@ -45,7 +45,7 @@ function fsuggest_post(App $a)
|
|||
return;
|
||||
}
|
||||
|
||||
$note = Strings::escapeHtml(trim(defaults($_POST, 'note', '')));
|
||||
$note = Strings::escapeHtml(trim($_POST['note'] ?? ''));
|
||||
|
||||
$fields = ['uid' => local_user(),'cid' => $contact_id, 'name' => $contact['name'],
|
||||
'url' => $contact['url'], 'request' => $contact['request'],
|
||||
|
|
|
@ -41,7 +41,7 @@ function hcard_init(App $a)
|
|||
}
|
||||
|
||||
if (!$blocked) {
|
||||
$keywords = defaults($a->profile, 'pub_keywords', '');
|
||||
$keywords = $a->profile['pub_keywords'] ?? '';
|
||||
$keywords = str_replace([',',' ',',,'], [' ',',',','], $keywords);
|
||||
if (strlen($keywords)) {
|
||||
$a->page['htmlhead'] .= '<meta name="keywords" content="' . $keywords . '" />' . "\r\n";
|
||||
|
|
|
@ -26,8 +26,8 @@ function hovercard_init(App $a)
|
|||
|
||||
function hovercard_content()
|
||||
{
|
||||
$profileurl = defaults($_REQUEST, 'profileurl', '');
|
||||
$datatype = defaults($_REQUEST, 'datatype' , 'json');
|
||||
$profileurl = $_REQUEST['profileurl'] ?? '';
|
||||
$datatype = ($_REQUEST['datatype'] ?? '') ?: 'json';
|
||||
|
||||
// Get out if the system doesn't have public access allowed
|
||||
if (intval(Config::get('system', 'block_public'))) {
|
||||
|
@ -50,7 +50,7 @@ function hovercard_content()
|
|||
if (strpos($profileurl, 'redir/') === 0) {
|
||||
$cid = intval(substr($profileurl, 6));
|
||||
$remote_contact = DBA::selectFirst('contact', ['nurl'], ['id' => $cid]);
|
||||
$profileurl = defaults($remote_contact, 'nurl', '');
|
||||
$profileurl = $remote_contact['nurl'] ?? '';
|
||||
}
|
||||
|
||||
$contact = [];
|
||||
|
@ -97,7 +97,7 @@ function hovercard_content()
|
|||
$profile = [
|
||||
'name' => $contact['name'],
|
||||
'nick' => $contact['nick'],
|
||||
'addr' => defaults($contact, 'addr', $contact['url']),
|
||||
'addr' => ($contact['addr'] ?? '') ?: $contact['url'],
|
||||
'thumb' => ProxyUtils::proxifyUrl($contact['thumb'], false, ProxyUtils::SIZE_THUMB),
|
||||
'url' => Contact::magicLink($contact['url']),
|
||||
'nurl' => $contact['nurl'], // We additionally store the nurl as identifier
|
||||
|
|
|
@ -33,7 +33,7 @@ function ignored_init(App $a)
|
|||
}
|
||||
|
||||
// See if we've been passed a return path to redirect to
|
||||
$return_path = defaults($_REQUEST, 'return', '');
|
||||
$return_path = $_REQUEST['return'] ?? '';
|
||||
if ($return_path) {
|
||||
$rand = '_=' . time();
|
||||
if (strpos($return_path, '?')) {
|
||||
|
|
71
mod/item.php
71
mod/item.php
|
@ -64,12 +64,12 @@ function item_post(App $a) {
|
|||
|
||||
Logger::log('postvars ' . print_r($_REQUEST, true), Logger::DATA);
|
||||
|
||||
$api_source = defaults($_REQUEST, 'api_source', false);
|
||||
$api_source = $_REQUEST['api_source'] ?? false;
|
||||
|
||||
$message_id = ((!empty($_REQUEST['message_id']) && $api_source) ? strip_tags($_REQUEST['message_id']) : '');
|
||||
|
||||
$return_path = defaults($_REQUEST, 'return', '');
|
||||
$preview = intval(defaults($_REQUEST, 'preview', 0));
|
||||
$return_path = $_REQUEST['return'] ?? '';
|
||||
$preview = intval($_REQUEST['preview'] ?? 0);
|
||||
|
||||
/*
|
||||
* Check for doubly-submitted posts, and reject duplicates
|
||||
|
@ -86,8 +86,8 @@ function item_post(App $a) {
|
|||
}
|
||||
|
||||
// Is this a reply to something?
|
||||
$toplevel_item_id = intval(defaults($_REQUEST, 'parent', 0));
|
||||
$thr_parent_uri = trim(defaults($_REQUEST, 'parent_uri', ''));
|
||||
$toplevel_item_id = intval($_REQUEST['parent'] ?? 0);
|
||||
$thr_parent_uri = trim($_REQUEST['parent_uri'] ?? '');
|
||||
|
||||
$thread_parent_id = 0;
|
||||
$thread_parent_contact = null;
|
||||
|
@ -98,8 +98,8 @@ function item_post(App $a) {
|
|||
$parent_contact = null;
|
||||
|
||||
$objecttype = null;
|
||||
$profile_uid = defaults($_REQUEST, 'profile_uid', local_user());
|
||||
$posttype = defaults($_REQUEST, 'post_type', Item::PT_ARTICLE);
|
||||
$profile_uid = ($_REQUEST['profile_uid'] ?? 0) ?: local_user();
|
||||
$posttype = ($_REQUEST['post_type'] ?? '') ?: Item::PT_ARTICLE;
|
||||
|
||||
if ($toplevel_item_id || $thr_parent_uri) {
|
||||
if ($toplevel_item_id) {
|
||||
|
@ -138,10 +138,10 @@ function item_post(App $a) {
|
|||
Logger::info('mod_item: item_post parent=' . $toplevel_item_id);
|
||||
}
|
||||
|
||||
$post_id = intval(defaults($_REQUEST, 'post_id', 0));
|
||||
$app = strip_tags(defaults($_REQUEST, 'source', ''));
|
||||
$extid = strip_tags(defaults($_REQUEST, 'extid', ''));
|
||||
$object = defaults($_REQUEST, 'object', '');
|
||||
$post_id = intval($_REQUEST['post_id'] ?? 0);
|
||||
$app = strip_tags($_REQUEST['source'] ?? '');
|
||||
$extid = strip_tags($_REQUEST['extid'] ?? '');
|
||||
$object = $_REQUEST['object'] ?? '';
|
||||
|
||||
// Don't use "defaults" here. It would turn 0 to 1
|
||||
if (!isset($_REQUEST['wall'])) {
|
||||
|
@ -194,20 +194,20 @@ function item_post(App $a) {
|
|||
$categories = '';
|
||||
$postopts = '';
|
||||
$emailcc = '';
|
||||
$body = defaults($_REQUEST, 'body', '');
|
||||
$has_attachment = defaults($_REQUEST, 'has_attachment', 0);
|
||||
$body = $_REQUEST['body'] ?? '';
|
||||
$has_attachment = $_REQUEST['has_attachment'] ?? 0;
|
||||
|
||||
// If we have a speparate attachment, we need to add it to the body.
|
||||
if (!empty($has_attachment)) {
|
||||
$attachment_type = defaults($_REQUEST, 'attachment_type', '');
|
||||
$attachment_title = defaults($_REQUEST, 'attachment_title', '');
|
||||
$attachment_text = defaults($_REQUEST, 'attachment_text', '');
|
||||
$attachment_type = $_REQUEST['attachment_type'] ?? '';
|
||||
$attachment_title = $_REQUEST['attachment_title'] ?? '';
|
||||
$attachment_text = $_REQUEST['attachment_text'] ?? '';
|
||||
|
||||
$attachment_url = hex2bin(defaults($_REQUEST, 'attachment_url', ''));
|
||||
$attachment_img_src = hex2bin(defaults($_REQUEST, 'attachment_img_src', ''));
|
||||
$attachment_url = hex2bin($_REQUEST['attachment_url'] ?? '');
|
||||
$attachment_img_src = hex2bin($_REQUEST['attachment_img_src'] ?? '');
|
||||
|
||||
$attachment_img_width = defaults($_REQUEST, 'attachment_img_width', 0);
|
||||
$attachment_img_height = defaults($_REQUEST, 'attachment_img_height', 0);
|
||||
$attachment_img_width = $_REQUEST['attachment_img_width'] ?? 0;
|
||||
$attachment_img_height = $_REQUEST['attachment_img_height'] ?? 0;
|
||||
$attachment = [
|
||||
'type' => $attachment_type,
|
||||
'title' => $attachment_title,
|
||||
|
@ -229,6 +229,9 @@ function item_post(App $a) {
|
|||
$body .= $att_bbcode;
|
||||
}
|
||||
|
||||
// Convert links with empty descriptions to links without an explicit description
|
||||
$body = preg_replace('#\[url=([^\]]*?)\]\[/url\]#ism', '[url]$1[/url]', $body);
|
||||
|
||||
if (!empty($orig_post)) {
|
||||
$str_group_allow = $orig_post['allow_gid'];
|
||||
$str_contact_allow = $orig_post['allow_cid'];
|
||||
|
@ -266,22 +269,22 @@ function item_post(App $a) {
|
|||
$str_contact_deny = $user['deny_cid'];
|
||||
} else {
|
||||
// use the posted permissions
|
||||
$str_group_allow = perms2str(defaults($_REQUEST, 'group_allow', ''));
|
||||
$str_contact_allow = perms2str(defaults($_REQUEST, 'contact_allow', ''));
|
||||
$str_group_deny = perms2str(defaults($_REQUEST, 'group_deny', ''));
|
||||
$str_contact_deny = perms2str(defaults($_REQUEST, 'contact_deny', ''));
|
||||
$str_group_allow = perms2str($_REQUEST['group_allow'] ?? '');
|
||||
$str_contact_allow = perms2str($_REQUEST['contact_allow'] ?? '');
|
||||
$str_group_deny = perms2str($_REQUEST['group_deny'] ?? '');
|
||||
$str_contact_deny = perms2str($_REQUEST['contact_deny'] ?? '');
|
||||
}
|
||||
|
||||
$title = Strings::escapeTags(trim(defaults($_REQUEST, 'title' , '')));
|
||||
$location = Strings::escapeTags(trim(defaults($_REQUEST, 'location', '')));
|
||||
$coord = Strings::escapeTags(trim(defaults($_REQUEST, 'coord' , '')));
|
||||
$verb = Strings::escapeTags(trim(defaults($_REQUEST, 'verb' , '')));
|
||||
$emailcc = Strings::escapeTags(trim(defaults($_REQUEST, 'emailcc' , '')));
|
||||
$title = Strings::escapeTags(trim($_REQUEST['title'] ?? ''));
|
||||
$location = Strings::escapeTags(trim($_REQUEST['location'] ?? ''));
|
||||
$coord = Strings::escapeTags(trim($_REQUEST['coord'] ?? ''));
|
||||
$verb = Strings::escapeTags(trim($_REQUEST['verb'] ?? ''));
|
||||
$emailcc = Strings::escapeTags(trim($_REQUEST['emailcc'] ?? ''));
|
||||
$body = Strings::escapeHtml(trim($body));
|
||||
$network = Strings::escapeTags(trim(defaults($_REQUEST, 'network' , Protocol::DFRN)));
|
||||
$network = Strings::escapeTags(trim(($_REQUEST['network'] ?? '') ?: Protocol::DFRN));
|
||||
$guid = System::createUUID();
|
||||
|
||||
$postopts = defaults($_REQUEST, 'postopts', '');
|
||||
$postopts = $_REQUEST['postopts'] ?? '';
|
||||
|
||||
$private = ((strlen($str_group_allow) || strlen($str_contact_allow) || strlen($str_group_deny) || strlen($str_contact_deny)) ? 1 : 0);
|
||||
|
||||
|
@ -304,7 +307,7 @@ function item_post(App $a) {
|
|||
$wall = $toplevel_item['wall'];
|
||||
}
|
||||
|
||||
$pubmail_enabled = defaults($_REQUEST, 'pubmail_enable', false) && !$private;
|
||||
$pubmail_enabled = ($_REQUEST['pubmail_enable'] ?? false) && !$private;
|
||||
|
||||
// if using the API, we won't see pubmail_enable - figure out if it should be set
|
||||
if ($api_source && $profile_uid && $profile_uid == local_user() && !$private) {
|
||||
|
@ -332,7 +335,7 @@ function item_post(App $a) {
|
|||
|
||||
// save old and new categories, so we can determine what needs to be deleted from pconfig
|
||||
$categories_old = $categories;
|
||||
$categories = FileTag::listToFile(trim(defaults($_REQUEST, 'category', '')), 'category');
|
||||
$categories = FileTag::listToFile(trim($_REQUEST['category'] ?? ''), 'category');
|
||||
$categories_new = $categories;
|
||||
|
||||
if (!empty($filedas) && is_array($filedas)) {
|
||||
|
@ -1012,7 +1015,7 @@ function handle_tag(&$body, &$inform, &$str_tags, $profile_uid, $tag, $network =
|
|||
|
||||
$profile = $contact["url"];
|
||||
$alias = $contact["alias"];
|
||||
$newname = defaults($contact, "name", $contact["nick"]);
|
||||
$newname = ($contact["name"] ?? '') ?: $contact["nick"];
|
||||
}
|
||||
|
||||
//if there is an url for this persons profile
|
||||
|
|
|
@ -66,7 +66,7 @@ function match_content(App $a)
|
|||
|
||||
$msearch = json_decode($msearch_json);
|
||||
|
||||
$start = defaults($_GET, 'start', 0);
|
||||
$start = $_GET['start'] ?? 0;
|
||||
$entries = [];
|
||||
$paginate = '';
|
||||
|
||||
|
@ -92,11 +92,11 @@ function match_content(App $a)
|
|||
|
||||
$entry = [
|
||||
'url' => Contact::magicLink($profile->url),
|
||||
'itemurl' => defaults($contact_details, 'addr', $profile->url),
|
||||
'itemurl' => $contact_details['addr'] ?? $profile->url,
|
||||
'name' => $profile->name,
|
||||
'details' => defaults($contact_details, 'location', ''),
|
||||
'tags' => defaults($contact_details, 'keywords', ''),
|
||||
'about' => defaults($contact_details, 'about', ''),
|
||||
'details' => $contact_details['location'] ?? '',
|
||||
'tags' => $contact_details['keywords'] ?? '',
|
||||
'about' => $contact_details['about'] ?? '',
|
||||
'account_type' => Contact::getAccountType($contact_details),
|
||||
'thumb' => ProxyUtils::proxifyUrl($profile->photo, false, ProxyUtils::SIZE_THUMB),
|
||||
'conntxt' => L10n::t('Connect'),
|
||||
|
|
|
@ -249,8 +249,8 @@ function message_content(App $a)
|
|||
'$prefill' => $prefill,
|
||||
'$preid' => $preid,
|
||||
'$subject' => L10n::t('Subject:'),
|
||||
'$subjtxt' => defaults($_REQUEST, 'subject', ''),
|
||||
'$text' => defaults($_REQUEST, 'body', ''),
|
||||
'$subjtxt' => $_REQUEST['subject'] ?? '',
|
||||
'$text' => $_REQUEST['body'] ?? '',
|
||||
'$readonly' => '',
|
||||
'$yourmessage'=> L10n::t('Your message:'),
|
||||
'$select' => $select,
|
||||
|
@ -530,7 +530,7 @@ function render_messages(array $msg, $t)
|
|||
'$id' => $rr['id'],
|
||||
'$from_name' => $participants,
|
||||
'$from_url' => Contact::magicLink($rr['url']),
|
||||
'$from_addr' => defaults($contact, 'addr', ''),
|
||||
'$from_addr' => $contact['addr'] ?? '',
|
||||
'$sparkle' => ' sparkle',
|
||||
'$from_photo' => ProxyUtils::proxifyUrl($from_photo, false, ProxyUtils::SIZE_THUMB),
|
||||
'$subject' => $rr['title'],
|
||||
|
|
|
@ -6,9 +6,9 @@ use Friendica\Database\DBA;
|
|||
|
||||
function msearch_post(App $a)
|
||||
{
|
||||
$search = defaults($_POST, 's', '');
|
||||
$perpage = intval(defaults($_POST, 'n', 80));
|
||||
$page = intval(defaults($_POST, 'p', 1));
|
||||
$search = $_POST['s'] ?? '';
|
||||
$perpage = intval(($_POST['n'] ?? 0) ?: 80);
|
||||
$page = intval(($_POST['p'] ?? 0) ?: 1);
|
||||
$startrec = ($page - 1) * $perpage;
|
||||
|
||||
$total = 0;
|
||||
|
|
|
@ -66,7 +66,7 @@ function network_init(App $a)
|
|||
|
||||
// fetch last used network view and redirect if needed
|
||||
if (!$is_a_date_query) {
|
||||
$sel_nets = defaults($_GET, 'nets', '');
|
||||
$sel_nets = $_GET['nets'] ?? '';
|
||||
$sel_tabs = network_query_get_sel_tab($a);
|
||||
$sel_groups = network_query_get_sel_group($a);
|
||||
$last_sel_tabs = PConfig::get(local_user(), 'network.view', 'tab.selected');
|
||||
|
@ -138,9 +138,9 @@ function network_init(App $a)
|
|||
$a->page['aside'] .= Group::sidebarWidget('network/0', 'network', 'standard', $group_id);
|
||||
$a->page['aside'] .= ForumManager::widget(local_user(), $cid);
|
||||
$a->page['aside'] .= Widget::postedByYear('network', local_user(), false);
|
||||
$a->page['aside'] .= Widget::networks('network', defaults($_GET, 'nets', '') );
|
||||
$a->page['aside'] .= Widget::networks('network', $_GET['nets'] ?? '');
|
||||
$a->page['aside'] .= Widget\SavedSearches::getHTML($a->query_string);
|
||||
$a->page['aside'] .= Widget::fileAs('network', defaults($_GET, 'file', '') );
|
||||
$a->page['aside'] .= Widget::fileAs('network', $_GET['file'] ?? '');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -356,7 +356,7 @@ function networkFlatView(App $a, $update = 0)
|
|||
|
||||
$o = '';
|
||||
|
||||
$file = defaults($_GET, 'file', '');
|
||||
$file = $_GET['file'] ?? '';
|
||||
|
||||
if (!$update && !$rawmode) {
|
||||
$tabs = network_tabs($a);
|
||||
|
@ -479,12 +479,12 @@ function networkThreadedView(App $a, $update, $parent)
|
|||
|
||||
$o = '';
|
||||
|
||||
$cid = intval(defaults($_GET, 'cid' , 0));
|
||||
$star = intval(defaults($_GET, 'star' , 0));
|
||||
$bmark = intval(defaults($_GET, 'bmark', 0));
|
||||
$conv = intval(defaults($_GET, 'conv' , 0));
|
||||
$order = Strings::escapeTags(defaults($_GET, 'order', 'comment'));
|
||||
$nets = defaults($_GET, 'nets' , '');
|
||||
$cid = intval($_GET['cid'] ?? 0);
|
||||
$star = intval($_GET['star'] ?? 0);
|
||||
$bmark = intval($_GET['bmark'] ?? 0);
|
||||
$conv = intval($_GET['conv'] ?? 0);
|
||||
$order = Strings::escapeTags(($_GET['order'] ?? '') ?: 'comment');
|
||||
$nets = $_GET['nets'] ?? '';
|
||||
|
||||
$allowedCids = [];
|
||||
if ($cid) {
|
||||
|
@ -623,7 +623,7 @@ function networkThreadedView(App $a, $update, $parent)
|
|||
$entries[0] = [
|
||||
'id' => 'network',
|
||||
'name' => $contact['name'],
|
||||
'itemurl' => defaults($contact, 'addr', $contact['nurl']),
|
||||
'itemurl' => ($contact['addr'] ?? '') ?: $contact['nurl'],
|
||||
'thumb' => ProxyUtils::proxifyUrl($contact['thumb'], false, ProxyUtils::SIZE_THUMB),
|
||||
'details' => $contact['location'],
|
||||
];
|
||||
|
@ -1013,7 +1013,7 @@ function network_infinite_scroll_head(App $a, &$htmlhead)
|
|||
global $pager;
|
||||
|
||||
if (PConfig::get(local_user(), 'system', 'infinite_scroll')
|
||||
&& defaults($_GET, 'mode', '') != 'minimal'
|
||||
&& ($_GET['mode'] ?? '') != 'minimal'
|
||||
) {
|
||||
$tpl = Renderer::getMarkupTemplate('infinite_scroll_head.tpl');
|
||||
$htmlhead .= Renderer::replaceMacros($tpl, [
|
||||
|
|
|
@ -49,7 +49,7 @@ function noscrape_init(App $a)
|
|||
exit;
|
||||
}
|
||||
|
||||
$keywords = defaults($a->profile, 'pub_keywords', '');
|
||||
$keywords = $a->profile['pub_keywords'] ?? '';
|
||||
$keywords = str_replace(['#',',',' ',',,'], ['',' ',',',','], $keywords);
|
||||
$keywords = explode(',', $keywords);
|
||||
|
||||
|
|
|
@ -78,8 +78,8 @@ function notifications_content(App $a)
|
|||
return Login::form();
|
||||
}
|
||||
|
||||
$page = defaults($_REQUEST, 'page', 1);
|
||||
$show = defaults($_REQUEST, 'show', 0);
|
||||
$page = ($_REQUEST['page'] ?? 0) ?: 1;
|
||||
$show = $_REQUEST['show'] ?? 0;
|
||||
|
||||
Nav::setSelected('notifications');
|
||||
|
||||
|
@ -158,7 +158,7 @@ function notifications_content(App $a)
|
|||
];
|
||||
|
||||
// Process the data for template creation
|
||||
if (defaults($notifs, 'ident', '') === 'introductions') {
|
||||
if (($notifs['ident'] ?? '') == 'introductions') {
|
||||
$sugg = Renderer::getMarkupTemplate('suggestions.tpl');
|
||||
$tpl = Renderer::getMarkupTemplate('intros.tpl');
|
||||
|
||||
|
|
|
@ -63,9 +63,9 @@ function photos_init(App $a) {
|
|||
$vcard_widget = Renderer::replaceMacros($tpl, [
|
||||
'$name' => $profile['name'],
|
||||
'$photo' => $profile['photo'],
|
||||
'$addr' => defaults($profile, 'addr', ''),
|
||||
'$addr' => $profile['addr'] ?? '',
|
||||
'$account_type' => $account_type,
|
||||
'$pdesc' => defaults($profile, 'pdesc', ''),
|
||||
'$pdesc' => $profile['pdesc'] ?? '',
|
||||
]);
|
||||
|
||||
$albums = Photo::getAlbums($a->data['user']['uid']);
|
||||
|
@ -630,10 +630,10 @@ function photos_post(App $a)
|
|||
$visible = 0;
|
||||
}
|
||||
|
||||
$group_allow = defaults($_REQUEST, 'group_allow' , []);
|
||||
$contact_allow = defaults($_REQUEST, 'contact_allow', []);
|
||||
$group_deny = defaults($_REQUEST, 'group_deny' , []);
|
||||
$contact_deny = defaults($_REQUEST, 'contact_deny' , []);
|
||||
$group_allow = $_REQUEST['group_allow'] ?? [];
|
||||
$contact_allow = $_REQUEST['contact_allow'] ?? [];
|
||||
$group_deny = $_REQUEST['group_deny'] ?? [];
|
||||
$contact_deny = $_REQUEST['contact_deny'] ?? [];
|
||||
|
||||
$str_group_allow = perms2str(is_array($group_allow) ? $group_allow : explode(',', $group_allow));
|
||||
$str_contact_allow = perms2str(is_array($contact_allow) ? $contact_allow : explode(',', $contact_allow));
|
||||
|
@ -666,7 +666,7 @@ function photos_post(App $a)
|
|||
notice(L10n::t('Image exceeds size limit of %s', ini_get('upload_max_filesize')) . EOL);
|
||||
break;
|
||||
case UPLOAD_ERR_FORM_SIZE:
|
||||
notice(L10n::t('Image exceeds size limit of %s', Strings::formatBytes(defaults($_REQUEST, 'MAX_FILE_SIZE', 0))) . EOL);
|
||||
notice(L10n::t('Image exceeds size limit of %s', Strings::formatBytes($_REQUEST['MAX_FILE_SIZE'] ?? 0)) . EOL);
|
||||
break;
|
||||
case UPLOAD_ERR_PARTIAL:
|
||||
notice(L10n::t('Image upload didn\'t complete, please try again') . EOL);
|
||||
|
@ -1006,7 +1006,7 @@ function photos_content(App $a)
|
|||
$pager = new Pager($a->query_string, 20);
|
||||
|
||||
/// @TODO I have seen this many times, maybe generalize it script-wide and encapsulate it?
|
||||
$order_field = defaults($_GET, 'order', '');
|
||||
$order_field = $_GET['order'] ?? '';
|
||||
if ($order_field === 'posted') {
|
||||
$order = 'ASC';
|
||||
} else {
|
||||
|
@ -1158,7 +1158,7 @@ function photos_content(App $a)
|
|||
* By now we hide it if someone wants to.
|
||||
*/
|
||||
if ($cmd === 'view' && !Config::get('system', 'no_count', false)) {
|
||||
$order_field = defaults($_GET, 'order', '');
|
||||
$order_field = $_GET['order'] ?? '';
|
||||
|
||||
if ($order_field === 'posted') {
|
||||
$order = 'ASC';
|
||||
|
|
|
@ -36,7 +36,7 @@ function poco_init(App $a) {
|
|||
$system_mode = true;
|
||||
}
|
||||
|
||||
$format = defaults($_GET, 'format', 'json');
|
||||
$format = ($_GET['format'] ?? '') ?: 'json';
|
||||
|
||||
$justme = false;
|
||||
$global = false;
|
||||
|
|
|
@ -33,10 +33,10 @@ function pubsub_init(App $a)
|
|||
$contact_id = (($a->argc > 2) ? intval($a->argv[2]) : 0 );
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||
$hub_mode = Strings::escapeTags(trim(defaults($_GET, 'hub_mode', '')));
|
||||
$hub_topic = Strings::escapeTags(trim(defaults($_GET, 'hub_topic', '')));
|
||||
$hub_challenge = Strings::escapeTags(trim(defaults($_GET, 'hub_challenge', '')));
|
||||
$hub_verify = Strings::escapeTags(trim(defaults($_GET, 'hub_verify_token', '')));
|
||||
$hub_mode = Strings::escapeTags(trim($_GET['hub_mode'] ?? ''));
|
||||
$hub_topic = Strings::escapeTags(trim($_GET['hub_topic'] ?? ''));
|
||||
$hub_challenge = Strings::escapeTags(trim($_GET['hub_challenge'] ?? ''));
|
||||
$hub_verify = Strings::escapeTags(trim($_GET['hub_verify_token'] ?? ''));
|
||||
|
||||
Logger::log('Subscription from ' . $_SERVER['REMOTE_ADDR'] . ' Mode: ' . $hub_mode . ' Nick: ' . $nick);
|
||||
Logger::log('Data: ' . print_r($_GET,true), Logger::DATA);
|
||||
|
|
|
@ -13,7 +13,7 @@ use Friendica\Util\Strings;
|
|||
|
||||
function redir_init(App $a) {
|
||||
|
||||
$url = defaults($_GET, 'url', '');
|
||||
$url = $_GET['url'] ?? '';
|
||||
$quiet = !empty($_GET['quiet']) ? '&quiet=1' : '';
|
||||
|
||||
if ($a->argc > 1 && intval($a->argv[1])) {
|
||||
|
@ -38,7 +38,7 @@ function redir_init(App $a) {
|
|||
if (!Session::isAuthenticated() // Visitors (not logged in or not remotes) can't authenticate.
|
||||
|| (!empty($a->contact['id']) && $a->contact['id'] == $cid)) // Local user is already authenticated.
|
||||
{
|
||||
$a->redirect(defaults($url, $contact_url));
|
||||
$a->redirect($url ?: $contact_url);
|
||||
}
|
||||
|
||||
if ($contact['uid'] == 0 && local_user()) {
|
||||
|
@ -52,7 +52,7 @@ function redir_init(App $a) {
|
|||
|
||||
if (!empty($a->contact['id']) && $a->contact['id'] == $cid) {
|
||||
// Local user is already authenticated.
|
||||
$target_url = defaults($url, $contact_url);
|
||||
$target_url = $url ?: $contact_url;
|
||||
Logger::log($contact['name'] . " is already authenticated. Redirecting to " . $target_url, Logger::DEBUG);
|
||||
$a->redirect($target_url);
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ function redir_init(App $a) {
|
|||
// contact.
|
||||
if (($host == $remotehost) && (Session::getRemoteContactID(Session::get('visitor_visiting')) == Session::get('visitor_id'))) {
|
||||
// Remote user is already authenticated.
|
||||
$target_url = defaults($url, $contact_url);
|
||||
$target_url = $url ?: $contact_url;
|
||||
Logger::log($contact['name'] . " is already authenticated. Redirecting to " . $target_url, Logger::DEBUG);
|
||||
$a->redirect($target_url);
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ function redir_init(App $a) {
|
|||
. '&dfrn_version=' . DFRN_PROTOCOL_VERSION . '&type=profile&sec=' . $sec . $dest . $quiet);
|
||||
}
|
||||
|
||||
$url = defaults($url, $contact_url);
|
||||
$url = $url ?: $contact_url;
|
||||
}
|
||||
|
||||
// If we don't have a connected contact, redirect with
|
||||
|
@ -142,7 +142,7 @@ function redir_magic($a, $cid, $url)
|
|||
}
|
||||
} else {
|
||||
$contact_url = $contact['url'];
|
||||
$target_url = defaults($url, $contact_url);
|
||||
$target_url = $url ?: $contact_url;
|
||||
}
|
||||
|
||||
$basepath = Contact::getBasepath($contact_url);
|
||||
|
|
|
@ -44,7 +44,7 @@ function user_allow($hash)
|
|||
$user,
|
||||
Config::get('config', 'sitename'),
|
||||
$a->getBaseUrl(),
|
||||
defaults($register, 'password', 'Sent in a previous email')
|
||||
($register['password'] ?? '') ?: 'Sent in a previous email'
|
||||
);
|
||||
|
||||
L10n::popLang();
|
||||
|
|
|
@ -35,7 +35,7 @@ function get_theme_config_file($theme)
|
|||
$theme = Strings::sanitizeFilePathItem($theme);
|
||||
|
||||
$a = \get_app();
|
||||
$base_theme = defaults($a->theme_info, 'extends');
|
||||
$base_theme = $a->theme_info['extends'] ?? '';
|
||||
|
||||
if (file_exists("view/theme/$theme/config.php")) {
|
||||
return "view/theme/$theme/config.php";
|
||||
|
@ -180,11 +180,11 @@ function settings_post(App $a)
|
|||
if (($a->argc > 2) && ($a->argv[1] === 'oauth') && ($a->argv[2] === 'edit'||($a->argv[2] === 'add')) && !empty($_POST['submit'])) {
|
||||
BaseModule::checkFormSecurityTokenRedirectOnError('/settings/oauth', 'settings_oauth');
|
||||
|
||||
$name = defaults($_POST, 'name' , '');
|
||||
$key = defaults($_POST, 'key' , '');
|
||||
$secret = defaults($_POST, 'secret' , '');
|
||||
$redirect = defaults($_POST, 'redirect', '');
|
||||
$icon = defaults($_POST, 'icon' , '');
|
||||
$name = $_POST['name'] ?? '';
|
||||
$key = $_POST['key'] ?? '';
|
||||
$secret = $_POST['secret'] ?? '';
|
||||
$redirect = $_POST['redirect'] ?? '';
|
||||
$icon = $_POST['icon'] ?? '';
|
||||
|
||||
if ($name == "" || $key == "" || $secret == "") {
|
||||
notice(L10n::t("Missing some important data!"));
|
||||
|
@ -241,24 +241,21 @@ function settings_post(App $a)
|
|||
PConfig::set(local_user(), 'ostatus', 'default_group', $_POST['group-selection']);
|
||||
PConfig::set(local_user(), 'ostatus', 'legacy_contact', $_POST['legacy_contact']);
|
||||
} elseif (!empty($_POST['imap-submit'])) {
|
||||
$mail_server = $_POST['mail_server'] ?? '';
|
||||
$mail_port = $_POST['mail_port'] ?? '';
|
||||
$mail_ssl = strtolower(trim($_POST['mail_ssl'] ?? ''));
|
||||
$mail_user = $_POST['mail_user'] ?? '';
|
||||
$mail_pass = trim($_POST['mail_pass'] ?? '');
|
||||
$mail_action = trim($_POST['mail_action'] ?? '');
|
||||
$mail_movetofolder = trim($_POST['mail_movetofolder'] ?? '');
|
||||
$mail_replyto = $_POST['mail_replyto'] ?? '';
|
||||
$mail_pubmail = $_POST['mail_pubmail'] ?? '';
|
||||
|
||||
$mail_server = defaults($_POST, 'mail_server', '');
|
||||
$mail_port = defaults($_POST, 'mail_port', '');
|
||||
$mail_ssl = (!empty($_POST['mail_ssl']) ? strtolower(trim($_POST['mail_ssl'])) : '');
|
||||
$mail_user = defaults($_POST, 'mail_user', '');
|
||||
$mail_pass = (!empty($_POST['mail_pass']) ? trim($_POST['mail_pass']) : '');
|
||||
$mail_action = (!empty($_POST['mail_action']) ? trim($_POST['mail_action']) : '');
|
||||
$mail_movetofolder = (!empty($_POST['mail_movetofolder']) ? trim($_POST['mail_movetofolder']) : '');
|
||||
$mail_replyto = defaults($_POST, 'mail_replyto', '');
|
||||
$mail_pubmail = defaults($_POST, 'mail_pubmail', '');
|
||||
|
||||
|
||||
$mail_disabled = ((function_exists('imap_open') && (!Config::get('system', 'imap_disabled'))) ? 0 : 1);
|
||||
if (Config::get('system', 'dfrn_only')) {
|
||||
$mail_disabled = 1;
|
||||
}
|
||||
|
||||
if (!$mail_disabled) {
|
||||
if (
|
||||
!Config::get('system', 'dfrn_only')
|
||||
&& function_exists('imap_open')
|
||||
&& !Config::get('system', 'imap_disabled')
|
||||
) {
|
||||
$failed = false;
|
||||
$r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1",
|
||||
intval(local_user())
|
||||
|
|
|
@ -22,11 +22,11 @@ function tagrm_post(App $a)
|
|||
}
|
||||
|
||||
$tags = [];
|
||||
foreach (defaults($_POST, 'tag', []) as $tag) {
|
||||
foreach ($_POST['tag'] ?? [] as $tag) {
|
||||
$tags[] = hex2bin(Strings::escapeTags(trim($tag)));
|
||||
}
|
||||
|
||||
$item_id = defaults($_POST,'item', 0);
|
||||
$item_id = $_POST['item'] ?? 0;
|
||||
update_tags($item_id, $tags);
|
||||
info(L10n::t('Tag(s) removed') . EOL);
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ function unfollow_post(App $a)
|
|||
}
|
||||
|
||||
$uid = local_user();
|
||||
$url = Strings::escapeTags(trim(defaults($_REQUEST, 'url', '')));
|
||||
$url = Strings::escapeTags(trim($_REQUEST['url'] ?? ''));
|
||||
|
||||
$condition = ["`uid` = ? AND (`rel` = ? OR `rel` = ?) AND (`nurl` = ? OR `alias` = ? OR `alias` = ?)",
|
||||
$uid, Contact::SHARING, Contact::FRIEND, Strings::normaliseLink($url),
|
||||
|
|
|
@ -51,9 +51,9 @@ function videos_init(App $a)
|
|||
$vcard_widget = Renderer::replaceMacros($tpl, [
|
||||
'$name' => $profile['name'],
|
||||
'$photo' => $profile['photo'],
|
||||
'$addr' => defaults($profile, 'addr', ''),
|
||||
'$addr' => $profile['addr'] ?? '',
|
||||
'$account_type' => $account_type,
|
||||
'$pdesc' => defaults($profile, 'pdesc', ''),
|
||||
'$pdesc' => $profile['pdesc'] ?? '',
|
||||
]);
|
||||
|
||||
// If not there, create 'aside' empty
|
||||
|
|
|
@ -131,8 +131,8 @@ function wallmessage_content(App $a) {
|
|||
'$subject' => L10n::t('Subject:'),
|
||||
'$recipname' => $user['username'],
|
||||
'$nickname' => $user['nickname'],
|
||||
'$subjtxt' => defaults($_REQUEST, 'subject', ''),
|
||||
'$text' => defaults($_REQUEST, 'body', ''),
|
||||
'$subjtxt' => $_REQUEST['subject'] ?? '',
|
||||
'$text' => $_REQUEST['body'] ?? '',
|
||||
'$readonly' => '',
|
||||
'$yourmessage'=> L10n::t('Your message:'),
|
||||
'$parent' => '',
|
||||
|
|
|
@ -102,8 +102,8 @@ $HTTP["scheme"] == "https" {
|
|||
# Got the following 'Drupal Clean URL'after Mike suggested trying
|
||||
# something along those lines, from http://drupal.org/node/1414950
|
||||
url.rewrite-if-not-file = (
|
||||
"^\/([^\?]*)\?(.*)$" => "/index.php?q=$1&$2",
|
||||
"^\/(.*)$" => "/index.php?q=$1"
|
||||
"^\/([^\?]*)\?(.*)$" => "/index.php?pagename=$1&$2",
|
||||
"^\/(.*)$" => "/index.php?pagename=$1"
|
||||
)
|
||||
}
|
||||
else $HTTP["host"] !~ "(friendica.example.com|wordpress.example.com)" {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -60,7 +60,7 @@ class BaseObject
|
|||
throw new InternalServerErrorException('DICE isn\'t initialized.');
|
||||
}
|
||||
|
||||
if (class_exists($name) || interface_exists($name )) {
|
||||
if (class_exists($name) || interface_exists($name)) {
|
||||
return self::$dice->create($name);
|
||||
} else {
|
||||
throw new InternalServerErrorException('Class \'' . $name . '\' isn\'t valid.');
|
||||
|
|
|
@ -39,7 +39,7 @@ class Pager
|
|||
{
|
||||
$this->setQueryString($queryString);
|
||||
$this->setItemsPerPage($itemsPerPage);
|
||||
$this->setPage(defaults($_GET, 'page', 1));
|
||||
$this->setPage(($_GET['page'] ?? 0) ?: 1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -38,7 +38,7 @@ class BBCode extends BaseObject
|
|||
*
|
||||
* @param string $body Message body
|
||||
* @return array
|
||||
* 'type' -> Message type ("link", "video", "photo")
|
||||
* 'type' -> Message type ('link', 'video', 'photo')
|
||||
* 'text' -> Text before the shared message
|
||||
* 'after' -> Text after the shared message
|
||||
* 'image' -> Preview image of the message
|
||||
|
@ -56,19 +56,19 @@ class BBCode extends BaseObject
|
|||
|
||||
if (preg_match_all("(\[class=(.*?)\](.*?)\[\/class\])ism", $body, $attached, PREG_SET_ORDER)) {
|
||||
foreach ($attached as $data) {
|
||||
if (!in_array($data[1], ["type-link", "type-video", "type-photo"])) {
|
||||
if (!in_array($data[1], ['type-link', 'type-video', 'type-photo'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$post["type"] = substr($data[1], 5);
|
||||
$post['type'] = substr($data[1], 5);
|
||||
|
||||
$pos = strpos($body, $data[0]);
|
||||
if ($pos > 0) {
|
||||
$post["text"] = trim(substr($body, 0, $pos));
|
||||
$post["after"] = trim(substr($body, $pos + strlen($data[0])));
|
||||
$post['text'] = trim(substr($body, 0, $pos));
|
||||
$post['after'] = trim(substr($body, $pos + strlen($data[0])));
|
||||
} else {
|
||||
$post["text"] = trim(str_replace($data[0], "", $body));
|
||||
$post["after"] = '';
|
||||
$post['text'] = trim(str_replace($data[0], '', $body));
|
||||
$post['after'] = '';
|
||||
}
|
||||
|
||||
$attacheddata = $data[2];
|
||||
|
@ -79,25 +79,25 @@ class BBCode extends BaseObject
|
|||
|
||||
if ($picturedata) {
|
||||
if (($picturedata[0] >= 500) && ($picturedata[0] >= $picturedata[1])) {
|
||||
$post["image"] = $matches[1];
|
||||
$post['image'] = $matches[1];
|
||||
} else {
|
||||
$post["preview"] = $matches[1];
|
||||
$post['preview'] = $matches[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (preg_match("/\[bookmark\=(.*?)\](.*?)\[\/bookmark\]/ism", $attacheddata, $matches)) {
|
||||
$post["url"] = $matches[1];
|
||||
$post["title"] = $matches[2];
|
||||
$post['url'] = $matches[1];
|
||||
$post['title'] = $matches[2];
|
||||
}
|
||||
if (!empty($post["url"]) && (in_array($post["type"], ["link", "video"]))
|
||||
if (!empty($post['url']) && (in_array($post['type'], ['link', 'video']))
|
||||
&& preg_match("/\[url\=(.*?)\](.*?)\[\/url\]/ism", $attacheddata, $matches)) {
|
||||
$post["url"] = $matches[1];
|
||||
$post['url'] = $matches[1];
|
||||
}
|
||||
|
||||
// Search for description
|
||||
if (preg_match("/\[quote\](.*?)\[\/quote\]/ism", $attacheddata, $matches)) {
|
||||
$post["description"] = $matches[1];
|
||||
$post['description'] = $matches[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -109,7 +109,7 @@ class BBCode extends BaseObject
|
|||
*
|
||||
* @param string $body Message body
|
||||
* @return array
|
||||
* 'type' -> Message type ("link", "video", "photo")
|
||||
* 'type' -> Message type ('link', 'video', 'photo')
|
||||
* 'text' -> Text before the shared message
|
||||
* 'after' -> Text after the shared message
|
||||
* 'image' -> Preview image of the message
|
||||
|
@ -136,9 +136,9 @@ class BBCode extends BaseObject
|
|||
|
||||
$attributes = $match[2];
|
||||
|
||||
$data["text"] = trim($match[1]);
|
||||
$data['text'] = trim($match[1]);
|
||||
|
||||
$type = "";
|
||||
$type = '';
|
||||
preg_match("/type='(.*?)'/ism", $attributes, $matches);
|
||||
if (!empty($matches[1])) {
|
||||
$type = strtolower($matches[1]);
|
||||
|
@ -149,19 +149,19 @@ class BBCode extends BaseObject
|
|||
$type = strtolower($matches[1]);
|
||||
}
|
||||
|
||||
if ($type == "") {
|
||||
if ($type == '') {
|
||||
return [];
|
||||
}
|
||||
|
||||
if (!in_array($type, ["link", "audio", "photo", "video"])) {
|
||||
if (!in_array($type, ['link', 'audio', 'photo', 'video'])) {
|
||||
return [];
|
||||
}
|
||||
|
||||
if ($type != "") {
|
||||
$data["type"] = $type;
|
||||
if ($type != '') {
|
||||
$data['type'] = $type;
|
||||
}
|
||||
|
||||
$url = "";
|
||||
$url = '';
|
||||
preg_match("/url='(.*?)'/ism", $attributes, $matches);
|
||||
if (!empty($matches[1])) {
|
||||
$url = $matches[1];
|
||||
|
@ -172,11 +172,11 @@ class BBCode extends BaseObject
|
|||
$url = $matches[1];
|
||||
}
|
||||
|
||||
if ($url != "") {
|
||||
$data["url"] = html_entity_decode($url, ENT_QUOTES, 'UTF-8');
|
||||
if ($url != '') {
|
||||
$data['url'] = html_entity_decode($url, ENT_QUOTES, 'UTF-8');
|
||||
}
|
||||
|
||||
$title = "";
|
||||
$title = '';
|
||||
preg_match("/title='(.*?)'/ism", $attributes, $matches);
|
||||
if (!empty($matches[1])) {
|
||||
$title = $matches[1];
|
||||
|
@ -187,14 +187,14 @@ class BBCode extends BaseObject
|
|||
$title = $matches[1];
|
||||
}
|
||||
|
||||
if ($title != "") {
|
||||
if ($title != '') {
|
||||
$title = self::convert(html_entity_decode($title, ENT_QUOTES, 'UTF-8'), false, true);
|
||||
$title = html_entity_decode($title, ENT_QUOTES, 'UTF-8');
|
||||
$title = str_replace(["[", "]"], ["[", "]"], $title);
|
||||
$data["title"] = $title;
|
||||
$title = str_replace(['[', ']'], ['[', ']'], $title);
|
||||
$data['title'] = $title;
|
||||
}
|
||||
|
||||
$image = "";
|
||||
$image = '';
|
||||
preg_match("/image='(.*?)'/ism", $attributes, $matches);
|
||||
if (!empty($matches[1])) {
|
||||
$image = $matches[1];
|
||||
|
@ -205,11 +205,11 @@ class BBCode extends BaseObject
|
|||
$image = $matches[1];
|
||||
}
|
||||
|
||||
if ($image != "") {
|
||||
$data["image"] = html_entity_decode($image, ENT_QUOTES, 'UTF-8');
|
||||
if ($image != '') {
|
||||
$data['image'] = html_entity_decode($image, ENT_QUOTES, 'UTF-8');
|
||||
}
|
||||
|
||||
$preview = "";
|
||||
$preview = '';
|
||||
preg_match("/preview='(.*?)'/ism", $attributes, $matches);
|
||||
if (!empty($matches[1])) {
|
||||
$preview = $matches[1];
|
||||
|
@ -220,13 +220,13 @@ class BBCode extends BaseObject
|
|||
$preview = $matches[1];
|
||||
}
|
||||
|
||||
if ($preview != "") {
|
||||
$data["preview"] = html_entity_decode($preview, ENT_QUOTES, 'UTF-8');
|
||||
if ($preview != '') {
|
||||
$data['preview'] = html_entity_decode($preview, ENT_QUOTES, 'UTF-8');
|
||||
}
|
||||
|
||||
$data["description"] = trim($match[3]);
|
||||
$data['description'] = trim($match[3]);
|
||||
|
||||
$data["after"] = trim($match[4]);
|
||||
$data['after'] = trim($match[4]);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -268,11 +268,11 @@ class BBCode extends BaseObject
|
|||
}
|
||||
|
||||
// if nothing is found, it maybe having an image.
|
||||
if (!isset($post["type"])) {
|
||||
if (!isset($post['type'])) {
|
||||
// Simplify image codes
|
||||
$body = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '[img]$3[/img]', $body);
|
||||
$body = preg_replace("/\[img\=(.*?)\](.*?)\[\/img\]/ism", '[img]$1[/img]', $body);
|
||||
$post["text"] = $body;
|
||||
$post['text'] = $body;
|
||||
|
||||
if (preg_match_all("(\[url=(.*?)\]\s*\[img\](.*?)\[\/img\]\s*\[\/url\])ism", $body, $pictures, PREG_SET_ORDER)) {
|
||||
if ((count($pictures) == 1) && !$has_title) {
|
||||
|
@ -288,75 +288,75 @@ class BBCode extends BaseObject
|
|||
// Workaround:
|
||||
// Sometimes photo posts to the own album are not detected at the start.
|
||||
// So we seem to cannot use the cache for these cases. That's strange.
|
||||
if (($data["type"] != "photo") && strstr($pictures[0][1], "/photos/")) {
|
||||
if (($data['type'] != 'photo') && strstr($pictures[0][1], "/photos/")) {
|
||||
$data = ParseUrl::getSiteinfo($pictures[0][1], true);
|
||||
}
|
||||
|
||||
if ($data["type"] == "photo") {
|
||||
$post["type"] = "photo";
|
||||
if (isset($data["images"][0])) {
|
||||
$post["image"] = $data["images"][0]["src"];
|
||||
$post["url"] = $data["url"];
|
||||
if ($data['type'] == 'photo') {
|
||||
$post['type'] = 'photo';
|
||||
if (isset($data['images'][0])) {
|
||||
$post['image'] = $data['images'][0]['src'];
|
||||
$post['url'] = $data['url'];
|
||||
} else {
|
||||
$post["image"] = $data["url"];
|
||||
$post['image'] = $data['url'];
|
||||
}
|
||||
|
||||
$post["preview"] = $pictures[0][2];
|
||||
$post["text"] = trim(str_replace($pictures[0][0], "", $body));
|
||||
$post['preview'] = $pictures[0][2];
|
||||
$post['text'] = trim(str_replace($pictures[0][0], '', $body));
|
||||
} else {
|
||||
$imgdata = Image::getInfoFromURL($pictures[0][1]);
|
||||
if ($imgdata && substr($imgdata["mime"], 0, 6) == "image/") {
|
||||
$post["type"] = "photo";
|
||||
$post["image"] = $pictures[0][1];
|
||||
$post["preview"] = $pictures[0][2];
|
||||
$post["text"] = trim(str_replace($pictures[0][0], "", $body));
|
||||
if ($imgdata && substr($imgdata['mime'], 0, 6) == 'image/') {
|
||||
$post['type'] = 'photo';
|
||||
$post['image'] = $pictures[0][1];
|
||||
$post['preview'] = $pictures[0][2];
|
||||
$post['text'] = trim(str_replace($pictures[0][0], '', $body));
|
||||
}
|
||||
}
|
||||
} elseif (count($pictures) > 0) {
|
||||
$post["type"] = "link";
|
||||
$post["url"] = $plink;
|
||||
$post["image"] = $pictures[0][2];
|
||||
$post["text"] = $body;
|
||||
$post['type'] = 'link';
|
||||
$post['url'] = $plink;
|
||||
$post['image'] = $pictures[0][2];
|
||||
$post['text'] = $body;
|
||||
|
||||
foreach ($pictures as $picture) {
|
||||
$post["text"] = trim(str_replace($picture[0], "", $post["text"]));
|
||||
$post['text'] = trim(str_replace($picture[0], '', $post['text']));
|
||||
}
|
||||
}
|
||||
} elseif (preg_match_all("(\[img\](.*?)\[\/img\])ism", $body, $pictures, PREG_SET_ORDER)) {
|
||||
if ((count($pictures) == 1) && !$has_title) {
|
||||
$post["type"] = "photo";
|
||||
$post["image"] = $pictures[0][1];
|
||||
$post["text"] = str_replace($pictures[0][0], "", $body);
|
||||
$post['type'] = 'photo';
|
||||
$post['image'] = $pictures[0][1];
|
||||
$post['text'] = str_replace($pictures[0][0], '', $body);
|
||||
} elseif (count($pictures) > 0) {
|
||||
$post["type"] = "link";
|
||||
$post["url"] = $plink;
|
||||
$post["image"] = $pictures[0][1];
|
||||
$post["text"] = $body;
|
||||
$post['type'] = 'link';
|
||||
$post['url'] = $plink;
|
||||
$post['image'] = $pictures[0][1];
|
||||
$post['text'] = $body;
|
||||
|
||||
foreach ($pictures as $picture) {
|
||||
$post["text"] = trim(str_replace($picture[0], "", $post["text"]));
|
||||
$post['text'] = trim(str_replace($picture[0], '', $post['text']));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Test for the external links
|
||||
preg_match_all("(\[url\](.*?)\[\/url\])ism", $post["text"], $links1, PREG_SET_ORDER);
|
||||
preg_match_all("(\[url\=(.*?)\].*?\[\/url\])ism", $post["text"], $links2, PREG_SET_ORDER);
|
||||
preg_match_all("(\[url\](.*?)\[\/url\])ism", $post['text'], $links1, PREG_SET_ORDER);
|
||||
preg_match_all("(\[url\=(.*?)\].*?\[\/url\])ism", $post['text'], $links2, PREG_SET_ORDER);
|
||||
|
||||
$links = array_merge($links1, $links2);
|
||||
|
||||
// If there is only a single one, then use it.
|
||||
// This should cover link posts via API.
|
||||
if ((count($links) == 1) && !isset($post["preview"]) && !$has_title) {
|
||||
$post["type"] = "link";
|
||||
$post["url"] = $links[0][1];
|
||||
if ((count($links) == 1) && !isset($post['preview']) && !$has_title) {
|
||||
$post['type'] = 'link';
|
||||
$post['url'] = $links[0][1];
|
||||
}
|
||||
|
||||
// Now count the number of external media links
|
||||
preg_match_all("(\[vimeo\](.*?)\[\/vimeo\])ism", $post["text"], $links1, PREG_SET_ORDER);
|
||||
preg_match_all("(\[youtube\\](.*?)\[\/youtube\\])ism", $post["text"], $links2, PREG_SET_ORDER);
|
||||
preg_match_all("(\[video\\](.*?)\[\/video\\])ism", $post["text"], $links3, PREG_SET_ORDER);
|
||||
preg_match_all("(\[audio\\](.*?)\[\/audio\\])ism", $post["text"], $links4, PREG_SET_ORDER);
|
||||
preg_match_all("(\[vimeo\](.*?)\[\/vimeo\])ism", $post['text'], $links1, PREG_SET_ORDER);
|
||||
preg_match_all("(\[youtube\\](.*?)\[\/youtube\\])ism", $post['text'], $links2, PREG_SET_ORDER);
|
||||
preg_match_all("(\[video\\](.*?)\[\/video\\])ism", $post['text'], $links3, PREG_SET_ORDER);
|
||||
preg_match_all("(\[audio\\](.*?)\[\/audio\\])ism", $post['text'], $links4, PREG_SET_ORDER);
|
||||
|
||||
// Add them to the other external links
|
||||
$links = array_merge($links, $links1, $links2, $links3, $links4);
|
||||
|
@ -364,19 +364,19 @@ class BBCode extends BaseObject
|
|||
// Are there more than one?
|
||||
if (count($links) > 1) {
|
||||
// The post will be the type "text", which means a blog post
|
||||
unset($post["type"]);
|
||||
$post["url"] = $plink;
|
||||
unset($post['type']);
|
||||
$post['url'] = $plink;
|
||||
}
|
||||
|
||||
if (!isset($post["type"])) {
|
||||
$post["type"] = "text";
|
||||
$post["text"] = trim($body);
|
||||
if (!isset($post['type'])) {
|
||||
$post['type'] = "text";
|
||||
$post['text'] = trim($body);
|
||||
}
|
||||
} elseif (isset($post["url"]) && ($post["type"] == "video")) {
|
||||
$data = ParseUrl::getSiteinfoCached($post["url"], true);
|
||||
} elseif (isset($post['url']) && ($post['type'] == 'video')) {
|
||||
$data = ParseUrl::getSiteinfoCached($post['url'], true);
|
||||
|
||||
if (isset($data["images"][0])) {
|
||||
$post["image"] = $data["images"][0]["src"];
|
||||
if (isset($data['images'][0])) {
|
||||
$post['image'] = $data['images'][0]['src'];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -581,27 +581,27 @@ class BBCode extends BaseObject
|
|||
private static function convertAttachment($return, $simplehtml = false, $tryoembed = true)
|
||||
{
|
||||
$data = self::getAttachmentData($return);
|
||||
if (empty($data) || empty($data["url"])) {
|
||||
if (empty($data) || empty($data['url'])) {
|
||||
return $return;
|
||||
}
|
||||
|
||||
if (isset($data["title"])) {
|
||||
$data["title"] = strip_tags($data["title"]);
|
||||
$data["title"] = str_replace(["http://", "https://"], "", $data["title"]);
|
||||
if (isset($data['title'])) {
|
||||
$data['title'] = strip_tags($data['title']);
|
||||
$data['title'] = str_replace(['http://', 'https://'], '', $data['title']);
|
||||
} else {
|
||||
$data["title"] = null;
|
||||
$data['title'] = null;
|
||||
}
|
||||
|
||||
if (((strpos($data["text"], "[img=") !== false) || (strpos($data["text"], "[img]") !== false) || Config::get('system', 'always_show_preview')) && !empty($data["image"])) {
|
||||
$data["preview"] = $data["image"];
|
||||
$data["image"] = "";
|
||||
if (((strpos($data['text'], "[img=") !== false) || (strpos($data['text'], "[img]") !== false) || Config::get('system', 'always_show_preview')) && !empty($data['image'])) {
|
||||
$data['preview'] = $data['image'];
|
||||
$data['image'] = '';
|
||||
}
|
||||
|
||||
$return = '';
|
||||
if (in_array($simplehtml, [7, 9])) {
|
||||
$return = self::convertUrlForOStatus($data["url"]);
|
||||
$return = self::convertUrlForActivityPub($data['url']);
|
||||
} elseif (($simplehtml != 4) && ($simplehtml != 0)) {
|
||||
$return = sprintf('<a href="%s" target="_blank">%s</a><br>', $data["url"], $data["title"]);
|
||||
$return = sprintf('<a href="%s" target="_blank">%s</a><br>', $data['url'], $data['title']);
|
||||
} else {
|
||||
try {
|
||||
if ($tryoembed && OEmbed::isAllowedURL($data['url'])) {
|
||||
|
@ -610,28 +610,28 @@ 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('<div class="type-%s">', $data["type"]);
|
||||
$return = sprintf('<div class="type-%s">', $data['type']);
|
||||
}
|
||||
|
||||
if (!empty($data['title']) && !empty($data['url'])) {
|
||||
if (!empty($data["image"]) && empty($data["text"]) && ($data["type"] == "photo")) {
|
||||
$return .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-image" /></a>', $data["url"], self::proxyUrl($data["image"], $simplehtml), $data["title"]);
|
||||
if (!empty($data['image']) && empty($data['text']) && ($data['type'] == 'photo')) {
|
||||
$return .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-image" /></a>', $data['url'], self::proxyUrl($data['image'], $simplehtml), $data['title']);
|
||||
} else {
|
||||
if (!empty($data["image"])) {
|
||||
$return .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-image" /></a><br />', $data["url"], self::proxyUrl($data["image"], $simplehtml), $data["title"]);
|
||||
} elseif (!empty($data["preview"])) {
|
||||
$return .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-preview" /></a><br />', $data["url"], self::proxyUrl($data["preview"], $simplehtml), $data["title"]);
|
||||
if (!empty($data['image'])) {
|
||||
$return .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-image" /></a><br />', $data['url'], self::proxyUrl($data['image'], $simplehtml), $data['title']);
|
||||
} elseif (!empty($data['preview'])) {
|
||||
$return .= sprintf('<a href="%s" target="_blank"><img src="%s" alt="" title="%s" class="attachment-preview" /></a><br />', $data['url'], self::proxyUrl($data['preview'], $simplehtml), $data['title']);
|
||||
}
|
||||
$return .= sprintf('<h4><a href="%s">%s</a></h4>', $data['url'], $data['title']);
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($data["description"]) && $data["description"] != $data["title"]) {
|
||||
if (!empty($data['description']) && $data['description'] != $data['title']) {
|
||||
// Sanitize the HTML by converting it to BBCode
|
||||
$bbcode = HTML::toBBCode($data["description"]);
|
||||
$bbcode = HTML::toBBCode($data['description']);
|
||||
$return .= sprintf('<blockquote>%s</blockquote>', trim(self::convert($bbcode)));
|
||||
}
|
||||
|
||||
|
@ -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,36 +655,36 @@ 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);
|
||||
$text = htmlentities($data["text"], ENT_QUOTES, 'UTF-8', false);
|
||||
if ($plaintext || (($title != "") && strstr($text, $title))) {
|
||||
$data["title"] = $data["url"];
|
||||
} elseif (($text != "") && strstr($title, $text)) {
|
||||
$data["text"] = $data["title"];
|
||||
$data["title"] = $data["url"];
|
||||
$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'];
|
||||
} elseif (($text != '') && strstr($title, $text)) {
|
||||
$data['text'] = $data['title'];
|
||||
$data['title'] = $data['url'];
|
||||
}
|
||||
|
||||
if (empty($data["text"]) && !empty($data["title"]) && empty($data["url"])) {
|
||||
return $data["title"] . $data["after"];
|
||||
if (empty($data['text']) && !empty($data['title']) && empty($data['url'])) {
|
||||
return $data['title'] . $data['after'];
|
||||
}
|
||||
|
||||
// If the link already is included in the post, don't add it again
|
||||
if (!empty($data["url"]) && strpos($data["text"], $data["url"])) {
|
||||
return $data["text"] . $data["after"];
|
||||
if (!empty($data['url']) && strpos($data['text'], $data['url'])) {
|
||||
return $data['text'] . $data['after'];
|
||||
}
|
||||
|
||||
$text = $data["text"];
|
||||
$text = $data['text'];
|
||||
|
||||
if (!empty($data["url"]) && !empty($data["title"])) {
|
||||
$text .= "\n[url=" . $data["url"] . "]" . $data["title"] . "[/url]";
|
||||
} elseif (!empty($data["url"])) {
|
||||
$text .= "\n[url]" . $data["url"] . "[/url]";
|
||||
if (!empty($data['url']) && !empty($data['title'])) {
|
||||
$text .= "\n[url=" . $data['url'] . ']' . $data['title'] . '[/url]';
|
||||
} elseif (!empty($data['url'])) {
|
||||
$text .= "\n[url]" . $data['url'] . '[/url]';
|
||||
}
|
||||
|
||||
return $text . "\n" . $data["after"];
|
||||
return $text . "\n" . $data['after'];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -694,7 +694,7 @@ class BBCode extends BaseObject
|
|||
* @param array $match Array with the matching values
|
||||
* @return string reformatted link including HTML codes
|
||||
*/
|
||||
private static function convertUrlForOStatusCallback($match)
|
||||
private static function convertUrlForActivityPubCallback($match)
|
||||
{
|
||||
$url = $match[1];
|
||||
|
||||
|
@ -707,15 +707,26 @@ class BBCode extends BaseObject
|
|||
return $match[0];
|
||||
}
|
||||
|
||||
return self::convertUrlForOStatus($url);
|
||||
return self::convertUrlForActivityPub($url);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Converts [url] BBCodes in a format that looks fine on OStatus systems.
|
||||
* @brief Converts [url] BBCodes in a format that looks fine on ActivityPub systems.
|
||||
* @param string $url URL that is about to be reformatted
|
||||
* @return string reformatted link including HTML codes
|
||||
*/
|
||||
private static function convertUrlForOStatus($url)
|
||||
private static function convertUrlForActivityPub($url)
|
||||
{
|
||||
$html = '<a href="%s" target="_blank">%s</a>';
|
||||
return sprintf($html, $url, self::getStyledURL($url));
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts an URL in a nicer format (without the scheme and possibly shortened)
|
||||
* @param string $url URL that is about to be reformatted
|
||||
* @return string reformatted link
|
||||
*/
|
||||
private static function getStyledURL($url)
|
||||
{
|
||||
$parts = parse_url($url);
|
||||
$scheme = $parts['scheme'] . '://';
|
||||
|
@ -725,9 +736,7 @@ class BBCode extends BaseObject
|
|||
$styled_url = substr($styled_url, 0, 30) . "…";
|
||||
}
|
||||
|
||||
$html = '<a href="%s" target="_blank">%s</a>';
|
||||
|
||||
return sprintf($html, $url, $styled_url);
|
||||
return $styled_url;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -932,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.
|
||||
|
@ -951,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);
|
||||
|
@ -1073,10 +1082,10 @@ class BBCode extends BaseObject
|
|||
|
||||
$a->getProfiler()->saveTimestamp($stamp1, "network", System::callstack());
|
||||
|
||||
if (substr($curl_info["content_type"], 0, 6) == "image/") {
|
||||
$text = "[url=" . $match[1] . "]" . $match[1] . "[/url]";
|
||||
if (substr($curl_info['content_type'], 0, 6) == 'image/') {
|
||||
$text = "[url=" . $match[1] . ']' . $match[1] . "[/url]";
|
||||
} else {
|
||||
$text = "[url=" . $match[2] . "]" . $match[2] . "[/url]";
|
||||
$text = "[url=" . $match[2] . ']' . $match[2] . "[/url]";
|
||||
|
||||
// if its not a picture then look if its a page that contains a picture link
|
||||
$body = Network::fetchUrl($match[1]);
|
||||
|
@ -1094,8 +1103,8 @@ class BBCode extends BaseObject
|
|||
}
|
||||
}
|
||||
|
||||
if (strtolower($attr["name"]) == "twitter:image") {
|
||||
$text = "[url=" . $attr["content"] . "]" . $attr["content"] . "[/url]";
|
||||
if (strtolower($attr['name']) == 'twitter:image') {
|
||||
$text = '[url=' . $attr['content'] . ']' . $attr['content'] . '[/url]';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1107,7 +1116,7 @@ class BBCode extends BaseObject
|
|||
|
||||
private static function expandLinksCallback($match)
|
||||
{
|
||||
if (($match[3] == "") || ($match[2] == $match[3]) || stristr($match[2], $match[3])) {
|
||||
if (($match[3] == '') || ($match[2] == $match[3]) || stristr($match[2], $match[3])) {
|
||||
return ($match[1] . "[url]" . $match[2] . "[/url]");
|
||||
} else {
|
||||
return ($match[1] . $match[3] . " [url]" . $match[2] . "[/url]");
|
||||
|
@ -1122,9 +1131,9 @@ class BBCode extends BaseObject
|
|||
$own_photo_url = preg_quote(Strings::normaliseLink($a->getBaseURL()) . '/photos/');
|
||||
if (preg_match('|' . $own_photo_url . '.*?/image/|', Strings::normaliseLink($match[1]))) {
|
||||
if (!empty($match[3])) {
|
||||
$text = "[img=" . str_replace('-1.', '-0.', $match[2]) . "]" . $match[3] . "[/img]";
|
||||
$text = '[img=' . str_replace('-1.', '-0.', $match[2]) . ']' . $match[3] . '[/img]';
|
||||
} else {
|
||||
$text = "[img]" . str_replace('-1.', '-0.', $match[2]) . "[/img]";
|
||||
$text = '[img]' . str_replace('-1.', '-0.', $match[2]) . '[/img]';
|
||||
}
|
||||
return $text;
|
||||
}
|
||||
|
@ -1148,13 +1157,13 @@ class BBCode extends BaseObject
|
|||
$a->getProfiler()->saveTimestamp($stamp1, "network", System::callstack());
|
||||
|
||||
// if its a link to a picture then embed this picture
|
||||
if (substr($curl_info["content_type"], 0, 6) == "image/") {
|
||||
$text = "[img]" . $match[1] . "[/img]";
|
||||
if (substr($curl_info['content_type'], 0, 6) == 'image/') {
|
||||
$text = '[img]' . $match[1] . '[/img]';
|
||||
} else {
|
||||
if (!empty($match[3])) {
|
||||
$text = "[img=" . $match[2] . "]" . $match[3] . "[/img]";
|
||||
$text = '[img=' . $match[2] . ']' . $match[3] . '[/img]';
|
||||
} else {
|
||||
$text = "[img]" . $match[2] . "[/img]";
|
||||
$text = '[img]' . $match[2] . '[/img]';
|
||||
}
|
||||
|
||||
// if its not a picture then look if its a page that contains a picture link
|
||||
|
@ -1172,11 +1181,11 @@ class BBCode extends BaseObject
|
|||
}
|
||||
}
|
||||
|
||||
if (strtolower($attr["name"]) == "twitter:image") {
|
||||
if (strtolower($attr['name']) == "twitter:image") {
|
||||
if (!empty($match[3])) {
|
||||
$text = "[img=" . $attr["content"] . "]" . $match[3] . "[/img]";
|
||||
$text = "[img=" . $attr['content'] . "]" . $match[3] . "[/img]";
|
||||
} else {
|
||||
$text = "[img]" . $attr["content"] . "[/img]";
|
||||
$text = "[img]" . $attr['content'] . "[/img]";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1232,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);
|
||||
|
@ -1333,7 +1342,7 @@ class BBCode extends BaseObject
|
|||
$text = str_replace($search, $replace, $text);
|
||||
|
||||
// removing multiplicated newlines
|
||||
if (Config::get("system", "remove_multiplicated_lines")) {
|
||||
if (Config::get('system', 'remove_multiplicated_lines')) {
|
||||
$search = ["\n\n\n", "\n ", " \n", "[/quote]\n\n", "\n[/quote]", "[/li]\n", "\n[li]", "\n[ul]", "[/ul]\n", "\n\n[share ", "[/attachment]\n",
|
||||
"\n[h1]", "[/h1]\n", "\n[h2]", "[/h2]\n", "\n[h3]", "[/h3]\n", "\n[h4]", "[/h4]\n", "\n[h5]", "[/h5]\n", "\n[h6]", "[/h6]\n"];
|
||||
$replace = ["\n\n", "\n", "\n", "[/quote]\n", "[/quote]", "[/li]", "[li]", "[ul]", "[/ul]", "\n[share ", "[/attachment]",
|
||||
|
@ -1655,8 +1664,8 @@ class BBCode extends BaseObject
|
|||
|
||||
if (!$for_plaintext) {
|
||||
if (in_array($simple_html, [7, 9])) {
|
||||
$text = preg_replace_callback("/\[url\](.*?)\[\/url\]/ism", 'self::convertUrlForOStatusCallback', $text);
|
||||
$text = preg_replace_callback("/\[url\=(.*?)\](.*?)\[\/url\]/ism", 'self::convertUrlForOStatusCallback', $text);
|
||||
$text = preg_replace_callback("/\[url\](.*?)\[\/url\]/ism", 'self::convertUrlForActivityPubCallback', $text);
|
||||
$text = preg_replace_callback("/\[url\=(.*?)\](.*?)\[\/url\]/ism", 'self::convertUrlForActivityPubCallback', $text);
|
||||
}
|
||||
} else {
|
||||
$text = preg_replace("(\[url\](.*?)\[\/url\])ism", " $1 ", $text);
|
||||
|
@ -1832,7 +1841,7 @@ class BBCode extends BaseObject
|
|||
// Clean up the HTML by loading and saving the HTML with the DOM.
|
||||
// Bad structured html can break a whole page.
|
||||
// For performance reasons do it only with activated item cache or at export.
|
||||
if (!$try_oembed || (get_itemcachepath() != "")) {
|
||||
if (!$try_oembed || (get_itemcachepath() != '')) {
|
||||
$doc = new DOMDocument();
|
||||
$doc->preserveWhiteSpace = false;
|
||||
|
||||
|
@ -1840,10 +1849,10 @@ class BBCode extends BaseObject
|
|||
|
||||
$doctype = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">';
|
||||
$encoding = '<?xml encoding="UTF-8">';
|
||||
@$doc->loadHTML($encoding.$doctype."<html><body>".$text."</body></html>");
|
||||
@$doc->loadHTML($encoding . $doctype . '<html><body>' . $text . '</body></html>');
|
||||
$doc->encoding = 'UTF-8';
|
||||
$text = $doc->saveHTML();
|
||||
$text = str_replace(["<html><body>", "</body></html>", $doctype, $encoding], ["", "", "", ""], $text);
|
||||
$text = str_replace(['<html><body>', '</body></html>', $doctype, $encoding], ['', '', '', ''], $text);
|
||||
|
||||
$text = str_replace('<br></li>', '</li>', $text);
|
||||
|
||||
|
@ -1883,9 +1892,9 @@ class BBCode extends BaseObject
|
|||
* @param string $addon The addon for which the abstract is meant for
|
||||
* @return string The abstract
|
||||
*/
|
||||
public static function getAbstract($text, $addon = "")
|
||||
public static function getAbstract($text, $addon = '')
|
||||
{
|
||||
$abstract = "";
|
||||
$abstract = '';
|
||||
$abstracts = [];
|
||||
$addon = strtolower($addon);
|
||||
|
||||
|
@ -1899,7 +1908,7 @@ class BBCode extends BaseObject
|
|||
$abstract = $abstracts[$addon];
|
||||
}
|
||||
|
||||
if ($abstract == "" && preg_match("/\[abstract\](.*?)\[\/abstract\]/ism", $text, $result)) {
|
||||
if ($abstract == '' && preg_match("/\[abstract\](.*?)\[\/abstract\]/ism", $text, $result)) {
|
||||
$abstract = $result[1];
|
||||
}
|
||||
|
||||
|
@ -1975,7 +1984,7 @@ class BBCode extends BaseObject
|
|||
|
||||
// Add all tags that maybe were removed
|
||||
if (preg_match_all("/#\[url\=([$url_search_string]*)\](.*?)\[\/url\]/ism", $original_text, $tags)) {
|
||||
$tagline = "";
|
||||
$tagline = '';
|
||||
foreach ($tags[2] as $tag) {
|
||||
$tag = html_entity_decode($tag, ENT_QUOTES, 'UTF-8');
|
||||
if (!strpos(html_entity_decode($text, ENT_QUOTES, 'UTF-8'), '#' . $tag)) {
|
||||
|
@ -1993,7 +2002,7 @@ class BBCode extends BaseObject
|
|||
|
||||
// If a link is followed by a quote then there should be a newline before it
|
||||
// Maybe we should make this newline at every time before a quote.
|
||||
$text = str_replace(["</a><blockquote>"], ["</a><br><blockquote>"], $text);
|
||||
$text = str_replace(['</a><blockquote>'], ['</a><br><blockquote>'], $text);
|
||||
|
||||
$stamp1 = microtime(true);
|
||||
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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, [
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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'),
|
||||
|
|
|
@ -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 = "";
|
||||
|
|
|
@ -7,8 +7,8 @@ use Friendica\Model;
|
|||
/**
|
||||
* This class is responsible for all system-wide configuration values in Friendica
|
||||
* There are two types of storage
|
||||
* - The Config-Files (loaded into the FileCache @see Cache\ConfigCache )
|
||||
* - The Config-DB-Table (per Config-DB-model @see Model\Config\Config )
|
||||
* - The Config-Files (loaded into the FileCache @see Cache\ConfigCache)
|
||||
* - The Config-DB-Table (per Config-DB-model @see Model\Config\Config)
|
||||
*/
|
||||
abstract class Configuration
|
||||
{
|
||||
|
@ -59,7 +59,7 @@ abstract class Configuration
|
|||
*
|
||||
* Get a particular config value from the given category ($cat)
|
||||
* and the $key from a cached storage either from the $this->configAdapter
|
||||
* (@see IConfigAdapter ) or from the $this->configCache (@see ConfigCache ).
|
||||
* (@see IConfigAdapter) or from the $this->configCache (@see ConfigCache).
|
||||
*
|
||||
* @param string $cat The category of the configuration value
|
||||
* @param string $key The configuration key to query
|
||||
|
@ -89,7 +89,7 @@ abstract class Configuration
|
|||
* @brief Deletes the given key from the system configuration.
|
||||
*
|
||||
* Removes the configured value from the stored cache in $this->configCache
|
||||
* (@see ConfigCache ) and removes it from the database (@see IConfigAdapter ).
|
||||
* (@see ConfigCache) and removes it from the database (@see IConfigAdapter).
|
||||
*
|
||||
* @param string $cat The category of the configuration value
|
||||
* @param string $key The configuration key to delete
|
||||
|
|
|
@ -8,7 +8,7 @@ use Friendica\Model;
|
|||
* This class is responsible for the user-specific configuration values in Friendica
|
||||
* The values are set through the Config-DB-Table (per Config-DB-model @see Model\Config\PConfig)
|
||||
*
|
||||
* The configuration cache (@see Cache\PConfigCache ) is used for temporary caching of database calls. This will
|
||||
* The configuration cache (@see Cache\PConfigCache) is used for temporary caching of database calls. This will
|
||||
* increase the performance.
|
||||
*/
|
||||
abstract class PConfiguration
|
||||
|
@ -52,7 +52,7 @@ abstract class PConfiguration
|
|||
* @param string $cat The category of the configuration value
|
||||
*
|
||||
* @return void
|
||||
* @see PConfigCache )
|
||||
* @see PConfigCache
|
||||
*
|
||||
*/
|
||||
abstract public function load(int $uid, string $cat = 'config');
|
||||
|
@ -63,7 +63,7 @@ abstract class PConfiguration
|
|||
*
|
||||
* Get a particular user's config value from the given category ($cat)
|
||||
* and the $key with the $uid from a cached storage either from the $this->configAdapter
|
||||
* (@see IConfigAdapter ) or from the $this->configCache (@see PConfigCache ).
|
||||
* (@see IConfigAdapter) or from the $this->configCache (@see PConfigCache).
|
||||
*
|
||||
* @param int $uid The user_id
|
||||
* @param string $cat The category of the configuration value
|
||||
|
@ -96,7 +96,7 @@ abstract class PConfiguration
|
|||
* Deletes the given key from the users's configuration.
|
||||
*
|
||||
* Removes the configured value from the stored cache in $this->configCache
|
||||
* (@see ConfigCache ) and removes it from the database (@see IConfigAdapter )
|
||||
* (@see ConfigCache) and removes it from the database (@see IConfigAdapter)
|
||||
* with the given $uid.
|
||||
*
|
||||
* @param int $uid The user_id
|
||||
|
|
|
@ -137,7 +137,7 @@ class NotificationsManager extends BaseObject
|
|||
*/
|
||||
public function getTabs()
|
||||
{
|
||||
$selected = defaults(self::getApp()->argv, 1, '');
|
||||
$selected = self::getApp()->argv[1] ?? '';
|
||||
|
||||
$tabs = [
|
||||
[
|
||||
|
|
|
@ -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])) {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -48,7 +48,7 @@ class StorageManager
|
|||
public static function getByName($name)
|
||||
{
|
||||
self::setup();
|
||||
return defaults(self::$backends, $name, '');
|
||||
return self::$backends[$name] ?? '';
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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'])) {
|
||||
|
@ -717,8 +717,8 @@ class DBStructure
|
|||
* @todo You cannot rename a primary key if "auto increment" is set
|
||||
*
|
||||
* @param string $table Table name
|
||||
* @param array $columns Columns Syntax for Rename: [ $old1 => [ $new1, $type1 ], $old2 => [ $new2, $type2 ], ... ] )
|
||||
* Syntax for Primary Key: [ $col1, $col2, ...] )
|
||||
* @param array $columns Columns Syntax for Rename: [ $old1 => [ $new1, $type1 ], $old2 => [ $new2, $type2 ], ... ]
|
||||
* Syntax for Primary Key: [ $col1, $col2, ...]
|
||||
* @param int $type The type of renaming (Default is Column)
|
||||
*
|
||||
* @return boolean Was the renaming successful?
|
||||
|
|
|
@ -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'];
|
||||
|
||||
|
|
|
@ -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']);
|
||||
}
|
||||
|
|
|
@ -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'];
|
||||
|
|
|
@ -256,7 +256,7 @@ class GContact
|
|||
WHERE `glink`.`cid` = %d AND `glink`.`uid` = %d AND
|
||||
((`gcontact`.`last_contact` >= `gcontact`.`last_failure`) OR
|
||||
(`gcontact`.`updated` >= `gcontact`.`last_failure`))
|
||||
AND `gcontact`.`nurl` IN (select nurl from contact where uid = %d and self = 0 and blocked = 0 and hidden = 0 and id != %d ) ",
|
||||
AND `gcontact`.`nurl` IN (select nurl from contact where uid = %d and self = 0 and blocked = 0 and hidden = 0 and id != %d) ",
|
||||
intval($cid),
|
||||
intval($uid),
|
||||
intval($uid),
|
||||
|
@ -282,7 +282,7 @@ class GContact
|
|||
"SELECT count(*) as `total`
|
||||
FROM `glink` INNER JOIN `gcontact` on `glink`.`gcid` = `gcontact`.`id`
|
||||
where `glink`.`zcid` = %d
|
||||
and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and blocked = 0 and hidden = 0 ) ",
|
||||
and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and blocked = 0 and hidden = 0) ",
|
||||
intval($zcid),
|
||||
intval($uid)
|
||||
);
|
||||
|
@ -354,7 +354,7 @@ class GContact
|
|||
"SELECT `gcontact`.*
|
||||
FROM `glink` INNER JOIN `gcontact` on `glink`.`gcid` = `gcontact`.`id`
|
||||
where `glink`.`zcid` = %d
|
||||
and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and blocked = 0 and hidden = 0 )
|
||||
and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and blocked = 0 and hidden = 0)
|
||||
$sql_extra limit %d, %d",
|
||||
intval($zcid),
|
||||
intval($uid),
|
||||
|
@ -687,9 +687,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`)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 = '<div class="attachtype icon s22 type-' . $filetype . ' subtype-' . $filesubtype . '"></div>';
|
||||
|
|
|
@ -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') {
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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'];
|
||||
}
|
||||
|
@ -460,14 +460,14 @@ class Profile
|
|||
$diaspora = [
|
||||
'guid' => $profile['guid'],
|
||||
'podloc' => System::baseUrl(),
|
||||
'searchable' => (($profile['publish'] && $profile['net-publish']) ? 'true' : 'false' ),
|
||||
'searchable' => (($profile['publish'] && $profile['net-publish']) ? 'true' : 'false'),
|
||||
'nickname' => $profile['nickname'],
|
||||
'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, [
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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/';
|
||||
|
||||
|
|
|
@ -13,10 +13,10 @@ class Acctlink extends BaseModule
|
|||
{
|
||||
public static function content()
|
||||
{
|
||||
$addr = defaults($_GET, 'addr', false);
|
||||
$addr = trim($_GET['addr'] ?? '');
|
||||
|
||||
if ($addr) {
|
||||
$url = defaults(Probe::uri(trim($addr)), 'url', false);
|
||||
$url = Probe::uri($addr)['url'] ?? '';
|
||||
|
||||
if ($url) {
|
||||
System::externalRedirect($url);
|
||||
|
|
|
@ -53,7 +53,7 @@ class Details extends BaseAdminModule
|
|||
$a->internalRedirect('admin/addons');
|
||||
}
|
||||
|
||||
if (defaults($_GET, 'action', '') == 'toggle') {
|
||||
if (($_GET['action'] ?? '') == 'toggle') {
|
||||
parent::checkFormSecurityTokenRedirectOnError('/admin/addons', 'admin_themes', 't');
|
||||
|
||||
// Toggle addon status
|
||||
|
|
|
@ -26,7 +26,7 @@ class Index extends BaseAdminModule
|
|||
break;
|
||||
|
||||
case 'toggle' :
|
||||
$addon = defaults($_GET, 'addon', '');
|
||||
$addon = $_GET['addon'] ?? '';
|
||||
if (Addon::isEnabled($addon)) {
|
||||
Addon::uninstall($addon);
|
||||
info(L10n::t('Addon %s disabled.', $addon));
|
||||
|
|
|
@ -15,9 +15,9 @@ class Contact extends BaseAdminModule
|
|||
{
|
||||
parent::post();
|
||||
|
||||
$contact_url = defaults($_POST, 'contact_url', '');
|
||||
$block_reason = defaults($_POST, 'contact_block_reason', '');
|
||||
$contacts = defaults($_POST, 'contacts', []);
|
||||
$contact_url = $_POST['contact_url'] ?? '';
|
||||
$block_reason = $_POST['contact_block_reason'] ?? '';
|
||||
$contacts = $_POST['contacts'] ?? [];
|
||||
|
||||
parent::checkFormSecurityTokenRedirectOnError('/admin/blocklist/contact', 'admin_contactblock');
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ class Settings extends BaseAdminModule
|
|||
|
||||
$logfile = (!empty($_POST['logfile']) ? Strings::escapeTags(trim($_POST['logfile'])) : '');
|
||||
$debugging = !empty($_POST['debugging']);
|
||||
$loglevel = defaults($_POST, 'loglevel', LogLevel::ERROR);
|
||||
$loglevel = ($_POST['loglevel'] ?? '') ?: LogLevel::ERROR;
|
||||
|
||||
if (is_file($logfile) &&
|
||||
!is_writeable($logfile)) {
|
||||
|
|
|
@ -200,7 +200,7 @@ class Site extends BaseAdminModule
|
|||
/**
|
||||
* @var $storagebackend \Friendica\Model\Storage\IStorage
|
||||
*/
|
||||
$storagebackend = Strings::escapeTags(trim(defaults($_POST, 'storagebackend', '')));
|
||||
$storagebackend = Strings::escapeTags(trim($_POST['storagebackend'] ?? ''));
|
||||
|
||||
// save storage backend form
|
||||
if (!is_null($storagebackend) && $storagebackend != "") {
|
||||
|
@ -216,7 +216,7 @@ class Site extends BaseAdminModule
|
|||
$value = !empty($_POST[$fieldname]);
|
||||
break;
|
||||
default:
|
||||
$value = defaults($_POST, $fieldname, '');
|
||||
$value = $_POST[$fieldname] ?? '';
|
||||
}
|
||||
$storage_opts_data[$name] = $value;
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ class Index extends BaseAdminModule
|
|||
break;
|
||||
|
||||
case 'toggle' :
|
||||
$theme = defaults($_GET, 'addon', '');
|
||||
$theme = $_GET['addon'] ?? '';
|
||||
if ($theme) {
|
||||
$theme = Strings::sanitizeFilePathItem($theme);
|
||||
if (!is_dir("view/theme/$theme")) {
|
||||
|
|
|
@ -21,11 +21,11 @@ class Users extends BaseAdminModule
|
|||
|
||||
$a = self::getApp();
|
||||
|
||||
$pending = defaults($_POST, 'pending' , []);
|
||||
$users = defaults($_POST, 'user' , []);
|
||||
$nu_name = defaults($_POST, 'new_user_name' , '');
|
||||
$nu_nickname = defaults($_POST, 'new_user_nickname', '');
|
||||
$nu_email = defaults($_POST, 'new_user_email' , '');
|
||||
$pending = $_POST['pending'] ?? [];
|
||||
$users = $_POST['user'] ?? [];
|
||||
$nu_name = $_POST['new_user_name'] ?? '';
|
||||
$nu_nickname = $_POST['new_user_nickname'] ?? '';
|
||||
$nu_email = $_POST['new_user_email'] ?? '';
|
||||
$nu_language = Config::get('system', 'language');
|
||||
|
||||
parent::checkFormSecurityTokenRedirectOnError('/admin/users', 'admin_users');
|
||||
|
|
|
@ -78,7 +78,7 @@ class AllFriends extends BaseModule
|
|||
|
||||
$entry = [
|
||||
'url' => Model\Contact::magicLinkbyId($friend['id'], $friend['url']),
|
||||
'itemurl' => defaults($contactDetails, 'addr', $friend['url']),
|
||||
'itemurl' => ($contactDetails['addr'] ?? '') ?: $friend['url'],
|
||||
'name' => $contactDetails['name'],
|
||||
'thumb' => ProxyUtils::proxifyUrl($contactDetails['thumb'], false, ProxyUtils::SIZE_THUMB),
|
||||
'img_hover' => $contactDetails['name'],
|
||||
|
|
|
@ -27,7 +27,7 @@ class Bookmarklet extends BaseModule
|
|||
return $output;
|
||||
}
|
||||
|
||||
$referer = Strings::normaliseLink(defaults($_SERVER, 'HTTP_REFERER', ''));
|
||||
$referer = Strings::normaliseLink($_SERVER['HTTP_REFERER'] ?? '');
|
||||
$page = Strings::normaliseLink($app->getBaseURL() . "/bookmarklet");
|
||||
|
||||
if (!strstr($referer, $page)) {
|
||||
|
@ -48,7 +48,7 @@ class Bookmarklet extends BaseModule
|
|||
'bang' => '',
|
||||
'visitor' => 'block',
|
||||
'profile_uid' => local_user(),
|
||||
'title' => trim(defaults($_REQUEST, 'title', ''), '*'),
|
||||
'title' => trim($_REQUEST['title'] ?? '', '*'),
|
||||
'content' => $content
|
||||
];
|
||||
$output = status_editor($app, $x, 0, false);
|
||||
|
|
|
@ -103,7 +103,7 @@ class Contact extends BaseModule
|
|||
|
||||
Hook::callAll('contact_edit_post', $_POST);
|
||||
|
||||
$profile_id = intval(defaults($_POST, 'profile-assign', 0));
|
||||
$profile_id = intval($_POST['profile-assign'] ?? 0);
|
||||
if ($profile_id) {
|
||||
if (!DBA::exists('profile', ['id' => $profile_id, 'uid' => local_user()])) {
|
||||
notice(L10n::t('Could not locate selected profile.') . EOL);
|
||||
|
@ -115,16 +115,16 @@ class Contact extends BaseModule
|
|||
|
||||
$notify = !empty($_POST['notify']);
|
||||
|
||||
$fetch_further_information = intval(defaults($_POST, 'fetch_further_information', 0));
|
||||
$fetch_further_information = intval($_POST['fetch_further_information'] ?? 0);
|
||||
|
||||
$ffi_keyword_blacklist = Strings::escapeHtml(trim(defaults($_POST, 'ffi_keyword_blacklist', '')));
|
||||
$ffi_keyword_blacklist = Strings::escapeHtml(trim($_POST['ffi_keyword_blacklist'] ?? ''));
|
||||
|
||||
$priority = intval(defaults($_POST, 'poll', 0));
|
||||
$priority = intval($_POST['poll'] ?? 0);
|
||||
if ($priority > 5 || $priority < 0) {
|
||||
$priority = 0;
|
||||
}
|
||||
|
||||
$info = Strings::escapeHtml(trim(defaults($_POST, 'info', '')));
|
||||
$info = Strings::escapeHtml(trim($_POST['info'] ?? ''));
|
||||
|
||||
$r = DBA::update('contact', [
|
||||
'profile-id' => $profile_id,
|
||||
|
@ -188,21 +188,42 @@ class Contact extends BaseModule
|
|||
Model\GContact::updateFromProbe($contact['url']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles the blocked status of a contact identified by id.
|
||||
*
|
||||
* @param $contact_id
|
||||
* @throws \Exception
|
||||
*/
|
||||
private static function blockContact($contact_id)
|
||||
{
|
||||
$blocked = !Model\Contact::isBlockedByUser($contact_id, local_user());
|
||||
Model\Contact::setBlockedForUser($contact_id, local_user(), $blocked);
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles the ignored status of a contact identified by id.
|
||||
*
|
||||
* @param $contact_id
|
||||
* @throws \Exception
|
||||
*/
|
||||
private static function ignoreContact($contact_id)
|
||||
{
|
||||
$ignored = !Model\Contact::isIgnoredByUser($contact_id, local_user());
|
||||
Model\Contact::setIgnoredForUser($contact_id, local_user(), $ignored);
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles the archived status of a contact identified by id.
|
||||
* If the current status isn't provided, this will always archive the contact.
|
||||
*
|
||||
* @param $contact_id
|
||||
* @param $orig_record
|
||||
* @return bool
|
||||
* @throws \Exception
|
||||
*/
|
||||
private static function archiveContact($contact_id, $orig_record)
|
||||
{
|
||||
$archived = (defaults($orig_record, 'archive', '') ? 0 : 1);
|
||||
$archived = empty($orig_record['archive']);
|
||||
$r = DBA::update('contact', ['archive' => $archived], ['id' => $contact_id, 'uid' => local_user()]);
|
||||
|
||||
return DBA::isResult($r);
|
||||
|
@ -227,8 +248,8 @@ class Contact extends BaseModule
|
|||
|
||||
$a = self::getApp();
|
||||
|
||||
$nets = defaults($_GET, 'nets', '');
|
||||
$rel = defaults($_GET, 'rel' , '');
|
||||
$nets = $_GET['nets'] ?? '';
|
||||
$rel = $_GET['rel'] ?? '';
|
||||
|
||||
if (empty($a->page['aside'])) {
|
||||
$a->page['aside'] = '';
|
||||
|
@ -290,7 +311,7 @@ class Contact extends BaseModule
|
|||
'$name' => $contact['name'],
|
||||
'$photo' => $contact['photo'],
|
||||
'$url' => Model\Contact::magicLinkByContact($contact, $contact['url']),
|
||||
'$addr' => defaults($contact, 'addr', ''),
|
||||
'$addr' => $contact['addr'] ?? '',
|
||||
'$network_link' => $network_link,
|
||||
'$network' => L10n::t('Network:'),
|
||||
'$account_type' => Model\Contact::getAccountType($contact),
|
||||
|
@ -626,7 +647,7 @@ class Contact extends BaseModule
|
|||
}
|
||||
|
||||
// @TODO: Replace with parameter from router
|
||||
$type = defaults($a->argv, 1, '');
|
||||
$type = $a->argv[1] ?? '';
|
||||
|
||||
switch ($type) {
|
||||
case 'blocked':
|
||||
|
@ -651,9 +672,9 @@ class Contact extends BaseModule
|
|||
|
||||
$sql_extra .= sprintf(" AND `network` != '%s' ", Protocol::PHANTOM);
|
||||
|
||||
$search = Strings::escapeTags(trim(defaults($_GET, 'search', '')));
|
||||
$nets = Strings::escapeTags(trim(defaults($_GET, 'nets' , '')));
|
||||
$rel = Strings::escapeTags(trim(defaults($_GET, 'rel' , '')));
|
||||
$search = Strings::escapeTags(trim($_GET['search'] ?? ''));
|
||||
$nets = Strings::escapeTags(trim($_GET['nets'] ?? ''));
|
||||
$rel = Strings::escapeTags(trim($_GET['rel'] ?? ''));
|
||||
|
||||
$tabs = [
|
||||
[
|
||||
|
@ -1016,7 +1037,7 @@ class Contact extends BaseModule
|
|||
'username' => $rr['name'],
|
||||
'account_type' => Model\Contact::getAccountType($rr),
|
||||
'sparkle' => $sparkle,
|
||||
'itemurl' => defaults($rr, 'addr', $rr['url']),
|
||||
'itemurl' => ($rr['addr'] ?? '') ?: $rr['url'],
|
||||
'url' => $url,
|
||||
'network' => ContactSelector::networkToName($rr['network'], $rr['url']),
|
||||
'nick' => $rr['nick'],
|
||||
|
|
|
@ -25,7 +25,7 @@ class Babel extends BaseModule
|
|||
|
||||
$results = [];
|
||||
if (!empty($_REQUEST['text'])) {
|
||||
switch (defaults($_REQUEST, 'type', 'bbcode')) {
|
||||
switch (($_REQUEST['type'] ?? '') ?: 'bbcode') {
|
||||
case 'bbcode':
|
||||
$bbcode = trim($_REQUEST['text']);
|
||||
$results[] = [
|
||||
|
@ -176,10 +176,10 @@ class Babel extends BaseModule
|
|||
|
||||
$tpl = Renderer::getMarkupTemplate('babel.tpl');
|
||||
$o = Renderer::replaceMacros($tpl, [
|
||||
'$text' => ['text', L10n::t('Source text'), defaults($_REQUEST, 'text', ''), ''],
|
||||
'$type_bbcode' => ['type', L10n::t('BBCode'), 'bbcode', '', defaults($_REQUEST, 'type', 'bbcode') == 'bbcode'],
|
||||
'$type_markdown' => ['type', L10n::t('Markdown'), 'markdown', '', defaults($_REQUEST, 'type', 'bbcode') == 'markdown'],
|
||||
'$type_html' => ['type', L10n::t('HTML'), 'html', '', defaults($_REQUEST, 'type', 'bbcode') == 'html'],
|
||||
'$text' => ['text', L10n::t('Source text'), $_REQUEST['text'] ?? '', ''],
|
||||
'$type_bbcode' => ['type', L10n::t('BBCode'), 'bbcode', '', (($_REQUEST['type'] ?? '') ?: 'bbcode') == 'bbcode'],
|
||||
'$type_markdown' => ['type', L10n::t('Markdown'), 'markdown', '', (($_REQUEST['type'] ?? '') ?: 'bbcode') == 'markdown'],
|
||||
'$type_html' => ['type', L10n::t('HTML'), 'html', '', (($_REQUEST['type'] ?? '') ?: 'bbcode') == 'html'],
|
||||
'$results' => $results
|
||||
]);
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ class Feed extends BaseModule
|
|||
|
||||
$tpl = Renderer::getMarkupTemplate('feedtest.tpl');
|
||||
return Renderer::replaceMacros($tpl, [
|
||||
'$url' => ['url', L10n::t('Source URL'), defaults($_REQUEST, 'url', ''), ''],
|
||||
'$url' => ['url', L10n::t('Source URL'), $_REQUEST['url'] ?? '', ''],
|
||||
'$result' => $result
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ class Localtime extends BaseModule
|
|||
{
|
||||
public static function post()
|
||||
{
|
||||
$time = defaults($_REQUEST, 'time', 'now');
|
||||
$time = ($_REQUEST['time'] ?? '') ?: 'now';
|
||||
|
||||
$bd_format = L10n::t('l F d, Y \@ g:i A');
|
||||
|
||||
|
@ -25,7 +25,7 @@ class Localtime extends BaseModule
|
|||
{
|
||||
$app = self::getApp();
|
||||
|
||||
$time = defaults($_REQUEST, 'time', 'now');
|
||||
$time = ($_REQUEST['time'] ?? '') ?: 'now';
|
||||
|
||||
$output = '<h3>' . L10n::t('Time Conversion') . '</h3>';
|
||||
$output .= '<p>' . L10n::t('Friendica provides this service for sharing events with other networks and friends in unknown timezones.') . '</p>';
|
||||
|
@ -41,7 +41,7 @@ class Localtime extends BaseModule
|
|||
|
||||
$output .= '<form action ="' . $app->getBaseURL() . '/localtime?time=' . $time . '" method="post" >';
|
||||
$output .= '<p>' . L10n::t('Please select your timezone:') . '</p>';
|
||||
$output .= Temporal::getTimezoneSelect(defaults($_REQUEST, 'timezone', Installer::DEFAULT_TZ));
|
||||
$output .= Temporal::getTimezoneSelect(($_REQUEST['timezone'] ?? '') ?: Installer::DEFAULT_TZ);
|
||||
$output .= '<input type="submit" name="submit" value="' . L10n::t('Submit') . '" /></form>';
|
||||
|
||||
return $output;
|
||||
|
|
|
@ -21,7 +21,7 @@ class Probe extends BaseModule
|
|||
throw $e;
|
||||
}
|
||||
|
||||
$addr = defaults($_GET, 'addr', '');
|
||||
$addr = $_GET['addr'] ?? '';
|
||||
$res = '';
|
||||
|
||||
if (!empty($addr)) {
|
||||
|
|
|
@ -20,7 +20,7 @@ class WebFinger extends BaseModule
|
|||
throw $e;
|
||||
}
|
||||
|
||||
$addr = defaults($_GET, 'addr', '');
|
||||
$addr = $_GET['addr'] ?? '';
|
||||
$res = '';
|
||||
|
||||
if (!empty($addr)) {
|
||||
|
|
|
@ -27,7 +27,7 @@ class Feed extends BaseModule
|
|||
{
|
||||
$a = self::getApp();
|
||||
|
||||
$last_update = defaults($_GET, 'last_update', '');
|
||||
$last_update = $_GET['last_update'] ?? '';
|
||||
$nocache = !empty($_GET['nocache']) && local_user();
|
||||
|
||||
// @TODO: Replace with parameter from router
|
||||
|
|
|
@ -23,8 +23,8 @@ class RemoveTag extends BaseModule
|
|||
|
||||
$item_id = (($app->argc > 1) ? intval($app->argv[1]) : 0);
|
||||
|
||||
$term = XML::unescape(trim(defaults($_GET, 'term', '')));
|
||||
$cat = XML::unescape(trim(defaults($_GET, 'cat', '')));
|
||||
$term = XML::unescape(trim($_GET['term'] ?? ''));
|
||||
$cat = XML::unescape(trim($_GET['cat'] ?? ''));
|
||||
|
||||
$category = (($cat) ? true : false);
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ class SaveTag extends BaseModule
|
|||
$a = self::getApp();
|
||||
$logger = $a->getLogger();
|
||||
|
||||
$term = XML::unescape(trim(defaults($_GET, 'term', '')));
|
||||
$term = XML::unescape(trim($_GET['term'] ?? ''));
|
||||
// @TODO: Replace with parameter from router
|
||||
$item_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);
|
||||
|
||||
|
|
|
@ -28,10 +28,10 @@ class FollowConfirm extends BaseModule
|
|||
return;
|
||||
}
|
||||
|
||||
$intro_id = intval(defaults($_POST, 'intro_id' , 0));
|
||||
$duplex = intval(defaults($_POST, 'duplex' , 0));
|
||||
$cid = intval(defaults($_POST, 'contact_id', 0));
|
||||
$hidden = intval(defaults($_POST, 'hidden' , 0));
|
||||
$intro_id = intval($_POST['intro_id'] ?? 0);
|
||||
$duplex = intval($_POST['duplex'] ?? 0);
|
||||
$cid = intval($_POST['contact_id'] ?? 0);
|
||||
$hidden = intval($_POST['hidden'] ?? 0);
|
||||
|
||||
if (empty($cid)) {
|
||||
notice(L10n::t('No given contact.') . EOL);
|
||||
|
|
|
@ -29,7 +29,7 @@ class Followers extends BaseModule
|
|||
throw new \Friendica\Network\HTTPException\NotFoundException();
|
||||
}
|
||||
|
||||
$page = defaults($_REQUEST, 'page', null);
|
||||
$page = $_REQUEST['page'] ?? null;
|
||||
|
||||
$followers = ActivityPub\Transmitter::getFollowers($owner, $page);
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ class Following extends BaseModule
|
|||
throw new \Friendica\Network\HTTPException\NotFoundException();
|
||||
}
|
||||
|
||||
$page = defaults($_REQUEST, 'page', null);
|
||||
$page = $_REQUEST['page'] ?? null;
|
||||
|
||||
$Following = ActivityPub\Transmitter::getFollowing($owner, $page);
|
||||
|
||||
|
|
|
@ -73,7 +73,7 @@ class Install extends BaseModule
|
|||
// so we may not have a css at all. Here we set a static css file for the install procedure pages
|
||||
Renderer::$theme['stylesheet'] = $a->getBaseURL() . '/view/install/style.css';
|
||||
|
||||
self::$currentWizardStep = defaults($_POST, 'pass', self::SYSTEM_CHECK);
|
||||
self::$currentWizardStep = ($_POST['pass'] ?? '') ?: self::SYSTEM_CHECK;
|
||||
}
|
||||
|
||||
public static function post()
|
||||
|
@ -345,8 +345,8 @@ class Install extends BaseModule
|
|||
{
|
||||
$configCache->set($cat, $key,
|
||||
Strings::escapeTags(
|
||||
trim(defaults($post, sprintf('%s-%s', $cat, $key),
|
||||
(!isset($default) ? $configCache->get($cat, $key) : $default))
|
||||
trim(($post[sprintf('%s-%s', $cat, $key)] ?? '') ?:
|
||||
($default ?? $configCache->get($cat, $key))
|
||||
)
|
||||
)
|
||||
);
|
||||
|
|
|
@ -36,7 +36,7 @@ class Like extends BaseModule
|
|||
|
||||
// Decide how to return. If we were called with a 'return' argument,
|
||||
// then redirect back to the calling page. If not, just quietly end
|
||||
$returnPath = defaults($_REQUEST, 'return', '');
|
||||
$returnPath = $_REQUEST['return'] ?? '';
|
||||
|
||||
if (!empty($returnPath)) {
|
||||
$rand = '_=' . time();
|
||||
|
|
|
@ -53,7 +53,7 @@ class Login extends BaseModule
|
|||
&& (!empty($_POST['openid_url'])
|
||||
|| !empty($_POST['username']))
|
||||
) {
|
||||
$openid_url = trim(defaults($_POST, 'openid_url', $_POST['username']));
|
||||
$openid_url = trim(($_POST['openid_url'] ?? '') ?: $_POST['username']);
|
||||
|
||||
self::openIdAuthentication($openid_url, !empty($_POST['remember']));
|
||||
}
|
||||
|
|
|
@ -28,8 +28,8 @@ class Magic extends BaseModule
|
|||
|
||||
Logger::log('args: ' . print_r($_REQUEST, true), Logger::DATA);
|
||||
|
||||
$addr = defaults($_REQUEST, 'addr', '');
|
||||
$dest = defaults($_REQUEST, 'dest', '');
|
||||
$addr = $_REQUEST['addr'] ?? '';
|
||||
$dest = $_REQUEST['dest'] ?? '';
|
||||
$test = (!empty($_REQUEST['test']) ? intval($_REQUEST['test']) : 0);
|
||||
$owa = (!empty($_REQUEST['owa']) ? intval($_REQUEST['owa']) : 0);
|
||||
$cid = 0;
|
||||
|
|
|
@ -28,7 +28,7 @@ class Outbox extends BaseModule
|
|||
throw new \Friendica\Network\HTTPException\NotFoundException();
|
||||
}
|
||||
|
||||
$page = defaults($_REQUEST, 'page', null);
|
||||
$page = $_REQUEST['page'] ?? null;
|
||||
|
||||
/// @todo Add Authentication to enable fetching of non public content
|
||||
// $requester = HTTPSignature::getSigner('', $_SERVER);
|
||||
|
|
|
@ -102,7 +102,7 @@ class Profile extends BaseModule
|
|||
|
||||
// site block
|
||||
if (!$blocked && !$userblock) {
|
||||
$keywords = str_replace(['#', ',', ' ', ',,'], ['', ' ', ',', ','], defaults($a->profile, 'pub_keywords', ''));
|
||||
$keywords = str_replace(['#', ',', ' ', ',,'], ['', ' ', ',', ','], $a->profile['pub_keywords'] ?? '');
|
||||
if (strlen($keywords)) {
|
||||
$a->page['htmlhead'] .= '<meta name="keywords" content="' . $keywords . '" />' . "\n";
|
||||
}
|
||||
|
@ -146,10 +146,10 @@ class Profile extends BaseModule
|
|||
}
|
||||
|
||||
if (empty($category)) {
|
||||
$category = defaults($_GET, 'category', '');
|
||||
$category = $_GET['category'] ?? '';
|
||||
}
|
||||
|
||||
$hashtags = defaults($_GET, 'tag', '');
|
||||
$hashtags = $_GET['tag'] ?? '';
|
||||
|
||||
if (Config::get('system', 'block_public') && !local_user() && !Session::getRemoteContactID($a->profile['profile_uid'])) {
|
||||
return Login::form();
|
||||
|
@ -174,7 +174,7 @@ class Profile extends BaseModule
|
|||
}
|
||||
|
||||
if (!$update) {
|
||||
$tab = Strings::escapeTags(trim(defaults($_GET, 'tab', '')));
|
||||
$tab = Strings::escapeTags(trim($_GET['tab'] ?? ''));
|
||||
|
||||
$o .= ProfileModel::getTabs($a, $tab, $is_owner, $a->profile['nickname']);
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ class Contacts extends BaseModule
|
|||
|
||||
//@TODO: Get value from router parameters
|
||||
$nickname = $a->argv[1];
|
||||
$type = defaults($a->argv, 3, 'all');
|
||||
$type = ($a->argv[3] ?? '') ?: 'all';
|
||||
|
||||
Nav::setSelected('home');
|
||||
|
||||
|
|
|
@ -210,7 +210,7 @@ class Proxy extends BaseModule
|
|||
$url = base64_decode(strtr($url, '-_', '+/'), true);
|
||||
|
||||
} else {
|
||||
$url = defaults($_REQUEST, 'url', '');
|
||||
$url = $_REQUEST['url'] ?? '';
|
||||
}
|
||||
|
||||
return [
|
||||
|
|
|
@ -62,12 +62,12 @@ class Register extends BaseModule
|
|||
}
|
||||
}
|
||||
|
||||
$username = defaults($_REQUEST, 'username' , '');
|
||||
$email = defaults($_REQUEST, 'email' , '');
|
||||
$openid_url = defaults($_REQUEST, 'openid_url', '');
|
||||
$nickname = defaults($_REQUEST, 'nickname' , '');
|
||||
$photo = defaults($_REQUEST, 'photo' , '');
|
||||
$invite_id = defaults($_REQUEST, 'invite_id' , '');
|
||||
$username = $_REQUEST['username'] ?? '';
|
||||
$email = $_REQUEST['email'] ?? '';
|
||||
$openid_url = $_REQUEST['openid_url'] ?? '';
|
||||
$nickname = $_REQUEST['nickname'] ?? '';
|
||||
$photo = $_REQUEST['photo'] ?? '';
|
||||
$invite_id = $_REQUEST['invite_id'] ?? '';
|
||||
|
||||
if (Config::get('system', 'no_openid')) {
|
||||
$fillwith = '';
|
||||
|
@ -290,7 +290,7 @@ class Register extends BaseModule
|
|||
'source_photo' => $base_url . '/photo/avatar/' . $user['uid'] . '.jpg',
|
||||
'to_email' => $admin['email'],
|
||||
'uid' => $admin['uid'],
|
||||
'language' => defaults($admin, 'language', 'en'),
|
||||
'language' => ($admin['language'] ?? '') ?: 'en',
|
||||
'show_in_notification_page' => false
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -275,8 +275,8 @@ class Acl extends BaseModule
|
|||
'id' => intval($g['id']),
|
||||
'network' => $g['network'],
|
||||
'link' => $g['url'],
|
||||
'nick' => htmlentities(defaults($g, 'attag', $g['nick'])),
|
||||
'addr' => htmlentities(defaults($g, 'addr', $g['url'])),
|
||||
'nick' => htmlentities(($g['attag'] ?? '') ?: $g['nick']),
|
||||
'addr' => htmlentities(($g['addr'] ?? '') ?: $g['url']),
|
||||
'forum' => !empty($g['forum']) || !empty($g['prv']) ? 1 : 0,
|
||||
];
|
||||
if ($entry['forum']) {
|
||||
|
@ -336,8 +336,8 @@ class Acl extends BaseModule
|
|||
'id' => intval($contact['cid']),
|
||||
'network' => $contact['network'],
|
||||
'link' => $contact['url'],
|
||||
'nick' => htmlentities(defaults($contact, 'nick', $contact['addr'])),
|
||||
'addr' => htmlentities(defaults($contact, 'addr', $contact['url'])),
|
||||
'nick' => htmlentities(($contact['nick'] ?? '') ?: $contact['addr']),
|
||||
'addr' => htmlentities(($contact['addr'] ?? '') ?: $contact['url']),
|
||||
'forum' => $contact['forum']
|
||||
];
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue