<?php
+/**
+ * @copyright Copyright (C) 2020, Friendica
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
namespace Friendica\Module\Contact;
if ($photo) {
DI::logger()->notice('Updating photo.', ['photo' => $photo]);
- Model\Contact::updateAvatar($photo, local_user(), $contact['id']);
+ Model\Contact::updateAvatar($contact['id'], $photo, true);
}
- if ($r) {
- info(DI::l10n()->t('Contact settings applied.') . EOL);
- } else {
- notice(DI::l10n()->t('Contact update failed.') . EOL);
+ if (!$r) {
+ notice(DI::l10n()->t('Contact update failed.'));
}
return;
throw new BadRequestException(DI::l10n()->t('Contact not found.'));
}
- if (empty(DI::page()['aside'])) {
- DI::page()['aside'] = '';
- }
-
- $a = DI::app();
-
- $a->data['contact'] = $contact;
- Model\Profile::load($a, "", Model\Contact::getDetailsByURL($contact["url"]));
+ Model\Profile::load(DI::app(), "", Model\Contact::getByURL($contact["url"], false));
$warning = DI::l10n()->t('<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working.');
$info = DI::l10n()->t('Please use your browser \'Back\' button <strong>now</strong> if you are uncertain what to do on this page.');
$returnaddr = "contact/$cid";
- $allow_remote_self = DI::config()->get('system', 'allow_users_remote_self');
-
// Disable remote self for everything except feeds.
// There is an issue when you repeat an item from maybe twitter and you got comments from friendica and twitter
// Problem is, you couldn't reply to both networks.
- if (!in_array($contact['network'], [Protocol::FEED, Protocol::DFRN, Protocol::DIASPORA, Protocol::TWITTER])) {
- $allow_remote_self = false;
- }
+ $allow_remote_self = in_array($contact['network'], [Protocol::FEED, Protocol::DFRN, Protocol::DIASPORA, Protocol::TWITTER])
+ && DI::config()->get('system', 'allow_users_remote_self');
if ($contact['network'] == Protocol::FEED) {
$remote_self_options = ['0' => DI::l10n()->t('No mirroring'), '1' => DI::l10n()->t('Mirror as forwarded posting'), '2' => DI::l10n()->t('Mirror as my own posting')];
$remote_self_options = ['0' => DI::l10n()->t('No mirroring'), '2' => DI::l10n()->t('Mirror as my own posting')];
}
- $update_profile = in_array($contact['network'], Protocol::FEDERATED);
-
- $tab_str = Contact::getTabsHTML($a, $contact, 6);
+ $tab_str = Contact::getTabsHTML(DI::app(), $contact, 6);
$tpl = Renderer::getMarkupTemplate('contact/advanced.tpl');
return Renderer::replaceMacros($tpl, [
'$info' => $info,
'$returnaddr' => $returnaddr,
'$return' => DI::l10n()->t('Return to contact editor'),
- '$update_profile' => $update_profile,
+ '$update_profile' => in_array($contact['network'], Protocol::FEDERATED),
'$udprofilenow' => DI::l10n()->t('Refetch contact data'),
'$contact_id' => $contact['id'],
'$lbl_submit' => DI::l10n()->t('Submit'),