use Friendica\Content\Text\BBCode;
use Friendica\Content\Widget;
use Friendica\Core\ACL;
-use Friendica\Core\Addon;
+use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Protocol;
use Friendica\Core\Renderer;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\Model;
-use Friendica\Module\Login;
use Friendica\Network\Probe;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Proxy as ProxyUtils;
|| $a->argc == 3 && intval($a->argv[1]) && in_array($a->argv[2], ['posts', 'conversations'])
) {
$contact_id = intval($a->argv[1]);
- $contact = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => local_user()]);
+ $contact = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => local_user(), 'deleted' => false]);
if (!DBA::isResult($contact)) {
- $contact = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => 0]);
+ $contact = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => 0, 'deleted' => false]);
}
// Don't display contacts that are about to be deleted
$a->data['contact'] = $contact;
if (($contact['network'] != '') && ($contact['network'] != Protocol::DFRN)) {
- $networkname = Strings::formatNetworkName($contact['network'], $contact['url']);
+ $network_link = Strings::formatNetworkName($contact['network'], $contact['url']);
} else {
- $networkname = '';
+ $network_link = '';
}
- /// @TODO Add nice spaces
$vcard_widget = Renderer::replaceMacros(Renderer::getMarkupTemplate('vcard-widget.tpl'), [
'$name' => $contact['name'],
'$photo' => $contact['photo'],
'$url' => Model\Contact::MagicLink($contact['url']),
'$addr' => defaults($contact, 'addr', ''),
- '$network_name' => $networkname,
+ '$network_link' => $network_link,
'$network' => L10n::t('Network:'),
'$account_type' => Model\Contact::getAccountType($contact)
]);
$contacts_id = $_POST['contact_batch'];
- $stmt = DBA::select('contact', ['id', 'archive'], ['id' => $contacts_id, 'uid' => local_user(), 'self' => false]);
+ $stmt = DBA::select('contact', ['id', 'archive'], ['id' => $contacts_id, 'uid' => local_user(), 'self' => false, 'deleted' => false]);
$orig_records = DBA::toArray($stmt);
$count_actions = 0;
return;
}
- if (!DBA::exists('contact', ['id' => $contact_id, 'uid' => local_user()])) {
+ if (!DBA::exists('contact', ['id' => $contact_id, 'uid' => local_user(), 'deleted' => false])) {
notice(L10n::t('Could not access contact record.') . EOL);
$a->internalRedirect('contact');
return; // NOTREACHED
}
- Addon::callHooks('contact_edit_post', $_POST);
+ Hook::callAll('contact_edit_post', $_POST);
$profile_id = intval(defaults($_POST, 'profile-assign', 0));
if ($profile_id) {
notice(L10n::t('Failed to update contact record.') . EOL);
}
- $contact = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => local_user()]);
+ $contact = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => local_user(), 'deleted' => false]);
if (DBA::isResult($contact)) {
$a->data['contact'] = $contact;
}
private static function updateContactFromPoll($contact_id)
{
- $contact = DBA::selectFirst('contact', ['uid', 'url', 'network'], ['id' => $contact_id, 'uid' => local_user()]);
+ $contact = DBA::selectFirst('contact', ['uid', 'url', 'network'], ['id' => $contact_id, 'uid' => local_user(), 'deleted' => false]);
if (!DBA::isResult($contact)) {
return;
}
private static function updateContactFromProbe($contact_id)
{
- $contact = DBA::selectFirst('contact', ['uid', 'url', 'network'], ['id' => $contact_id, 'uid' => local_user()]);
+ $contact = DBA::selectFirst('contact', ['uid', 'url', 'network'], ['id' => $contact_id, 'uid' => local_user(), 'deleted' => false]);
if (!DBA::isResult($contact)) {
return;
}
return;
}
- $r = DBA::update('contact', $fields, ['id' => $contact_id, 'uid' => local_user()]);
+ DBA::update('contact', $fields, ['id' => $contact_id, 'uid' => local_user()]);
// Update the entry in the contact table
Model\Contact::updateAvatar($data['photo'], local_user(), $contact_id, true);
$cmd = $a->argv[2];
- $orig_record = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => [0, local_user()], 'self' => false]);
+ $orig_record = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => [0, local_user()], 'self' => false, 'deleted' => false]);
if (!DBA::isResult($orig_record)) {
notice(L10n::t('Could not access contact record.') . EOL);
$a->internalRedirect('contact');
$_SESSION['return_path'] = $a->query_string;
if (!empty($a->data['contact']) && is_array($a->data['contact'])) {
- $contact_id = $a->data['contact']['id'];
$contact = $a->data['contact'];
$a->page['htmlhead'] .= Renderer::replaceMacros(Renderer::getMarkupTemplate('contact_head.tpl'), [
$relation_text = '';
}
- $relation_text = sprintf($relation_text, htmlentities($contact['name']));
+ $relation_text = sprintf($relation_text, $contact['name']);
$url = Model\Contact::magicLink($contact['url']);
if (strpos($url, 'redir/') === 0) {
'$hidden' => ['hidden', L10n::t('Hide this contact from others'), ($contact['hidden'] == 1), L10n::t('Replies/likes to your public posts <strong>may</strong> still be visible')],
'$notify' => ['notify', L10n::t('Notification for new posts'), ($contact['notify_new_posts'] == 1), L10n::t('Send a notification of every new post of this contact')],
'$fetch_further_information' => $fetch_further_information,
- '$ffi_keyword_blacklist' => $contact['ffi_keyword_blacklist'],
'$ffi_keyword_blacklist' => ['ffi_keyword_blacklist', L10n::t('Blacklisted keywords'), $contact['ffi_keyword_blacklist'], L10n::t('Comma separated list of keywords that should not be converted to hashtags, when "Fetch information and keywords" is selected')],
'$photo' => $contact['photo'],
'$name' => $contact['name'],
$arr = ['contact' => $contact, 'output' => $o];
- Addon::callHooks('contact_edit', $arr);
+ Hook::callAll('contact_edit', $arr);
return $arr['output'];
}
$sql_extra .= sprintf(" AND network = '%s' ", DBA::escape($nets));
}
+ $sql_extra .= " AND NOT `deleted` ";
+
$sql_extra2 = ((($sort_type > 0) && ($sort_type <= Model\Contact::FRIEND)) ? sprintf(" AND `rel` = %d ", intval($sort_type)) : '');
$r = q("SELECT COUNT(*) AS `total` FROM `contact`
*
* Available Pages are 'Status', 'Profile', 'Contacts' and 'Common Friends'
*
- * @param App $a
- * @param array $contact The contact array
- * @param int $active_tab 1 if tab should be marked as active
+ * @param App $a
+ * @param array $contact The contact array
+ * @param int $active_tab 1 if tab should be marked as active
*
- * @return string | HTML string of the contact page tabs buttons.
-
+ * @return string HTML string of the contact page tabs buttons.
+ * @throws \Friendica\Network\HTTPException\InternalServerErrorException
*/
public static function getTabsHTML($a, $contact, $active_tab)
{
}
}
- $contact = DBA::selectFirst('contact', ['uid', 'url', 'id'], ['id' => $contact_id]);
+ $contact = DBA::selectFirst('contact', ['uid', 'url', 'id'], ['id' => $contact_id, 'deleted' => false]);
if (!$update) {
$o .= self::getTabsHTML($a, $contact, 1);
private static function getPostsHTML($a, $contact_id)
{
- $contact = DBA::selectFirst('contact', ['uid', 'url', 'id'], ['id' => $contact_id]);
+ $contact = DBA::selectFirst('contact', ['uid', 'url', 'id'], ['id' => $contact_id, 'deleted' => false]);
$o = self::getTabsHTML($a, $contact, 2);