X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fcrepair.php;h=ad90c9f7a911dbdfbfb0452171498d98740bb907;hb=52c5b0e0f303c359c480671a84c4fc19ca190bd0;hp=3308315593e73f1fcb80af7249c419a5027c773b;hpb=8a46c786f37550160d81e7b7ecbcacb4c9fff493;p=friendica.git diff --git a/mod/crepair.php b/mod/crepair.php index 3308315593..ad90c9f7a9 100644 --- a/mod/crepair.php +++ b/mod/crepair.php @@ -10,28 +10,16 @@ use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Renderer; use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model; use Friendica\Module; +use Friendica\Util\Strings; function crepair_init(App $a) { if (!local_user()) { return; } - - $contact = null; - if (($a->argc == 2) && intval($a->argv[1])) { - $contact = DBA::selectFirst('contact', [], ['uid' => local_user(), 'id' => $a->argv[1]]); - } - - if (!x($a->page, 'aside')) { - $a->page['aside'] = ''; - } - - if (DBA::isResult($contact)) { - $a->data['contact'] = $contact; - Model\Profile::load($a, "", 0, Model\Contact::getDetailsByURL($contact["url"])); - } } function crepair_post(App $a) @@ -51,32 +39,35 @@ function crepair_post(App $a) return; } - $name = defaults($_POST, 'name' , $contact['name']); - $nick = defaults($_POST, 'nick' , ''); - $url = defaults($_POST, 'url' , ''); - $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); - $nurl = normalise_link($url); - - $r = q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `url` = '%s', `nurl` = '%s', `request` = '%s', `confirm` = '%s', `notify` = '%s', `poll` = '%s', `attag` = '%s' , `remote_self` = %d - WHERE `id` = %d AND `uid` = %d", - DBA::escape($name), - DBA::escape($nick), - DBA::escape($url), - DBA::escape($nurl), - DBA::escape($request), - DBA::escape($confirm), - DBA::escape($notify), - DBA::escape($poll), - DBA::escape($attag), - intval($remote_self), - intval($contact['id']), - local_user() + $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( + 'contact', + [ + 'name' => $name, + 'nick' => $nick, + 'url' => $url, + 'nurl' => $nurl, + 'alias' => $alias, + 'request' => $request, + 'confirm' => $confirm, + 'notify' => $notify, + 'poll' => $poll, + 'attag' => $attag, + 'remote_self' => $remote_self, + ], + ['id' => $contact['id'], 'uid' => local_user()] ); if ($photo) { @@ -113,6 +104,15 @@ function crepair_content(App $a) return; } + if (empty(DI::page()['aside'])) { + DI::page()['aside'] = ''; + } + + if (DBA::isResult($contact)) { + $a->data['contact'] = $contact; + Model\Profile::load($a, "", 0, Model\Contact::getDetailsByURL($contact["url"])); + } + $warning = L10n::t('WARNING: This is highly advanced and if you enter incorrect information your communications with this contact may stop working.'); $info = L10n::t('Please use your browser \'Back\' button now if you are uncertain what to do on this page.'); @@ -133,9 +133,9 @@ function crepair_content(App $a) $remote_self_options = ['0' => L10n::t('No mirroring'), '2' => L10n::t('Mirror as my own posting')]; } - $update_profile = in_array($contact['network'], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS]); + $update_profile = in_array($contact['network'], Protocol::FEDERATED); - $tab_str = Module\Contact::getTabsHTML($a, $contact, 5); + $tab_str = Module\Contact::getTabsHTML($a, $contact, 6); $tpl = Renderer::getMarkupTemplate('crepair.tpl'); $o = Renderer::replaceMacros($tpl, [ @@ -157,10 +157,11 @@ function crepair_content(App $a) $remote_self_options ], - '$name' => ['name', L10n::t('Name') , htmlentities($contact['name'])], - '$nick' => ['nick', L10n::t('Account Nickname'), htmlentities($contact['nick'])], + '$name' => ['name', L10n::t('Name') , $contact['name']], + '$nick' => ['nick', L10n::t('Account Nickname'), $contact['nick']], '$attag' => ['attag', L10n::t('@Tagname - overrides Name/Nickname'), $contact['attag']], '$url' => ['url', L10n::t('Account URL'), $contact['url']], + '$alias' => ['alias', L10n::t('Account URL Alias'), $contact['alias']], '$request' => ['request', L10n::t('Friend Request URL'), $contact['request']], 'confirm' => ['confirm', L10n::t('Friend Confirm URL'), $contact['confirm']], 'notify' => ['notify', L10n::t('Notification Endpoint URL'), $contact['notify']],