<?php
-
/**
* @file src/Model/Contact.php
*/
-
namespace Friendica\Model;
use Friendica\BaseObject;
+use Friendica\Core\Addon;
use Friendica\Core\Config;
+use Friendica\Core\L10n;
use Friendica\Core\PConfig;
use Friendica\Core\System;
use Friendica\Core\Worker;
use Friendica\Database\DBM;
use Friendica\Network\Probe;
use Friendica\Model\Photo;
+use Friendica\Model\Profile;
use Friendica\Protocol\Diaspora;
use Friendica\Protocol\DFRN;
use Friendica\Protocol\OStatus;
$archive = PConfig::get($contact['uid'], 'system', 'archive_removed_contacts');
if ($archive) {
- dba::update('contact', array('archive' => true, 'network' => 'none', 'writable' => false), array('id' => $id));
+ dba::update('contact', ['archive' => true, 'network' => 'none', 'writable' => false], ['id' => $id]);
return;
}
- dba::delete('contact', array('id' => $id));
+ dba::delete('contact', ['id' => $id]);
// Delete the rest in the background
Worker::add(PRIORITY_LOW, 'RemoveContact', $id);
{
if ($contact['network'] === NETWORK_OSTATUS) {
// create an unfollow slap
- $item = array();
+ $item = [];
$item['verb'] = NAMESPACE_OSTATUS . "/unfollow";
$item['follow'] = $contact["url"];
$slap = OStatus::salmon($item, $user);
}
if ($contact['term-date'] <= NULL_DATE) {
- dba::update('contact', array('term-date' => datetime_convert()), array('id' => $contact['id']));
+ dba::update('contact', ['term-date' => datetime_convert()], ['id' => $contact['id']]);
if ($contact['url'] != '') {
- dba::update('contact', array('term-date' => datetime_convert()), array('`nurl` = ? AND `term-date` <= ? AND NOT `self`', normalise_link($contact['url']), NULL_DATE));
+ dba::update('contact', ['term-date' => datetime_convert()], ['`nurl` = ? AND `term-date` <= ? AND NOT `self`', normalise_link($contact['url']), NULL_DATE]);
}
} else {
/* @todo
* delete, though if the owner tries to unarchive them we'll start
* the whole process over again.
*/
- dba::update('contact', array('archive' => 1), array('id' => $contact['id']));
+ dba::update('contact', ['archive' => 1], ['id' => $contact['id']]);
if ($contact['url'] != '') {
- dba::update('contact', array('archive' => 1), array('nurl' => normalise_link($contact['url']), 'self' => false));
+ dba::update('contact', ['archive' => 1], ['nurl' => normalise_link($contact['url']), 'self' => false]);
}
}
}
*/
public static function unmarkForArchival(array $contact)
{
- $condition = array('`id` = ? AND (`term-date` > ? OR `archive`)', $contact['id'], NULL_DATE);
+ $condition = ['`id` = ? AND (`term-date` > ? OR `archive`)', $contact['id'], NULL_DATE];
$exists = dba::exists('contact', $condition);
// We don't need to update, we never marked this contact for archival
}
// It's a miracle. Our dead contact has inexplicably come back to life.
- $fields = array('term-date' => NULL_DATE, 'archive' => false);
- dba::update('contact', $fields, array('id' => $contact['id']));
+ $fields = ['term-date' => NULL_DATE, 'archive' => false];
+ dba::update('contact', $fields, ['id' => $contact['id']]);
if ($contact['url'] != '') {
- dba::update('contact', $fields, array('nurl' => normalise_link($contact['url'])));
+ dba::update('contact', $fields, ['nurl' => normalise_link($contact['url'])]);
}
}
*/
public static function getDetailsByURL($url, $uid = -1, array $default = [])
{
- static $cache = array();
+ static $cache = [];
if ($url == '') {
return $default;
}
if ((($profile["addr"] == "") || ($profile["name"] == "")) && ($profile["gid"] != 0)
- && in_array($profile["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS))
+ && in_array($profile["network"], [NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS])
) {
Worker::add(PRIORITY_LOW, "UpdateGContact", $profile["gid"]);
}
*/
public static function getDetailsByAddr($addr, $uid = -1)
{
- static $cache = array();
+ static $cache = [];
if ($addr == '') {
- return array();
+ return [];
}
if ($uid == -1) {
if ($contact['uid'] != $uid) {
if ($uid == 0) {
- $profile_link = zrl($contact['url']);
- $menu = array('profile' => array(t('View Profile'), $profile_link, true));
+ $profile_link = Profile::zrl($contact['url']);
+ $menu = ['profile' => [L10n::t('View Profile'), $profile_link, true]];
return $menu;
}
if (DBM::is_result($contact_own)) {
return self::photoMenu($contact_own, $uid);
} else {
- $profile_link = zrl($contact['url']);
+ $profile_link = Profile::zrl($contact['url']);
$connlnk = 'follow/?url=' . $contact['url'];
- $menu = array(
- 'profile' => array(t('View Profile'), $profile_link, true),
- 'follow' => array(t('Connect/Follow'), $connlnk, true)
- );
+ $menu = [
+ 'profile' => [L10n::t('View Profile'), $profile_link, true],
+ 'follow' => [L10n::t('Connect/Follow'), $connlnk, true]
+ ];
return $menu;
}
$profile_link = $profile_link . '?url=profile';
}
- if (in_array($contact['network'], array(NETWORK_DFRN, NETWORK_DIASPORA))) {
+ if (in_array($contact['network'], [NETWORK_DFRN, NETWORK_DIASPORA])) {
$pm_url = System::baseUrl() . '/message/new/' . $contact['id'];
}
* "name" => [ "Label", "link", (bool)Should the link opened in a new tab? ]
*/
$menu = [
- 'status' => [t("View Status") , $status_link , true],
- 'profile' => [t("View Profile") , $profile_link , true],
- 'photos' => [t("View Photos") , $photos_link , true],
- 'network' => [t("Network Posts"), $posts_link , false],
- 'edit' => [t("View Contact") , $contact_url , false],
- 'drop' => [t("Drop Contact") , $contact_drop_link, false],
- 'pm' => [t("Send PM") , $pm_url , false],
- 'poke' => [t("Poke") , $poke_link , false],
+ 'status' => [L10n::t("View Status") , $status_link , true],
+ 'profile' => [L10n::t("View Profile") , $profile_link , true],
+ 'photos' => [L10n::t("View Photos") , $photos_link , true],
+ 'network' => [L10n::t("Network Posts"), $posts_link , false],
+ 'edit' => [L10n::t("View Contact") , $contact_url , false],
+ 'drop' => [L10n::t("Drop Contact") , $contact_drop_link, false],
+ 'pm' => [L10n::t("Send PM") , $pm_url , false],
+ 'poke' => [L10n::t("Poke") , $poke_link , false],
];
$args = ['contact' => $contact, 'menu' => &$menu];
- call_hooks('contact_photo_menu', $args);
+ Addon::callHooks('contact_photo_menu', $args);
- $menucondensed = array();
+ $menucondensed = [];
foreach ($menu as $menuname => $menuitem) {
if ($menuitem[1] != '') {
intval($start),
intval($count)
);
-
+
return $r;
}
$data = Probe::uri($url, "", $uid);
// Last try in gcontact for unsupported networks
- if (!in_array($data["network"], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_DIASPORA, NETWORK_PUMPIO, NETWORK_MAIL))) {
+ if (!in_array($data["network"], [NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_DIASPORA, NETWORK_PUMPIO, NETWORK_MAIL])) {
if ($uid != 0) {
return 0;
}
if ($data['about'] != '') {
unset($gcontact['about']);
}
- dba::update('contact', $gcontact, array('id' => $contact_id));
+ dba::update('contact', $gcontact, ['id' => $contact_id]);
}
if (count($contacts) > 1 && $uid == 0 && $contact_id != 0 && $data["url"] != "") {
return $contact_id;
}
- $updated = array('addr' => $data['addr'],
+ $updated = ['addr' => $data['addr'],
'alias' => $data['alias'],
'url' => $data['url'],
'nurl' => normalise_link($data['url']),
'name' => $data['name'],
- 'nick' => $data['nick']);
+ 'nick' => $data['nick']];
// Only fill the pubkey if it was empty before. We have to prevent identity theft.
if (!empty($contact['pubkey'])) {
$updated['avatar-date'] = datetime_convert();
- dba::update('contact', $updated, array('id' => $contact_id), $contact);
+ dba::update('contact', $updated, ['id' => $contact_id], $contact);
return $contact_id;
}
return '';
}
- if (in_array($r[0]["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS, ""))) {
+ if (in_array($r[0]["network"], [NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS, ""])) {
$sql = "(`item`.`uid` = 0 OR (`item`.`uid` = %d AND NOT `item`.`global`))";
} else {
$sql = "`item`.`uid` = %d";
switch ($type) {
case ACCOUNT_TYPE_ORGANISATION:
- $account_type = t("Organisation");
+ $account_type = L10n::t("Organisation");
break;
case ACCOUNT_TYPE_NEWS:
- $account_type = t('News');
+ $account_type = L10n::t('News');
break;
case ACCOUNT_TYPE_COMMUNITY:
- $account_type = t("Forum");
+ $account_type = L10n::t("Forum");
break;
default:
$account_type = "";
if (!DBM::is_result($contact)) {
return false;
} else {
- $data = array($contact["photo"], $contact["thumb"], $contact["micro"]);
+ $data = [$contact["photo"], $contact["thumb"], $contact["micro"]];
}
if (($contact["avatar"] != $avatar) || $force) {
if ($photos) {
dba::update(
'contact',
- array('avatar' => $avatar, 'photo' => $photos[0], 'thumb' => $photos[1], 'micro' => $photos[2], 'avatar-date' => datetime_convert()),
- array('id' => $cid)
+ ['avatar' => $avatar, 'photo' => $photos[0], 'thumb' => $photos[1], 'micro' => $photos[2], 'avatar-date' => datetime_convert()],
+ ['id' => $cid]
);
// Update the public contact (contact id = 0)
*/
public static function createFromProbe($uid, $url, $interactive = false, $network = '')
{
- $result = array('cid' => -1, 'success' => false, 'message' => '');
+ $result = ['cid' => -1, 'success' => false, 'message' => ''];
$a = get_app();
$url = str_replace('/#!/', '/', $url);
if (!allowed_url($url)) {
- $result['message'] = t('Disallowed profile URL.');
+ $result['message'] = L10n::t('Disallowed profile URL.');
return $result;
}
if (blocked_url($url)) {
- $result['message'] = t('Blocked domain');
+ $result['message'] = L10n::t('Blocked domain');
return $result;
}
if (!$url) {
- $result['message'] = t('Connect URL missing.');
+ $result['message'] = L10n::t('Connect URL missing.');
return $result;
}
- $arr = array('url' => $url, 'contact' => array());
+ $arr = ['url' => $url, 'contact' => []];
- call_hooks('follow', $arr);
+ Addon::callHooks('follow', $arr);
if (x($arr['contact'], 'name')) {
$ret = $arr['contact'];
// NOTREACHED
}
} elseif (Config::get('system', 'dfrn_only')) {
- $result['message'] = t('This site is not configured to allow communications with other networks.') . EOL;
- $result['message'] != t('No compatible communication protocols or feeds were discovered.') . EOL;
+ $result['message'] = L10n::t('This site is not configured to allow communications with other networks.') . EOL;
+ $result['message'] != L10n::t('No compatible communication protocols or feeds were discovered.') . EOL;
return $result;
}
// do we have enough information?
if (!((x($ret, 'name')) && (x($ret, 'poll')) && ((x($ret, 'url')) || (x($ret, 'addr'))))) {
- $result['message'] .= t('The profile address specified does not provide adequate information.') . EOL;
+ $result['message'] .= L10n::t('The profile address specified does not provide adequate information.') . EOL;
if (!x($ret, 'poll')) {
- $result['message'] .= t('No compatible communication protocols or feeds were discovered.') . EOL;
+ $result['message'] .= L10n::t('No compatible communication protocols or feeds were discovered.') . EOL;
}
if (!x($ret, 'name')) {
- $result['message'] .= t('An author or name was not found.') . EOL;
+ $result['message'] .= L10n::t('An author or name was not found.') . EOL;
}
if (!x($ret, 'url')) {
- $result['message'] .= t('No browser URL could be matched to this address.') . EOL;
+ $result['message'] .= L10n::t('No browser URL could be matched to this address.') . EOL;
}
if (strpos($url, '@') !== false) {
- $result['message'] .= t('Unable to match @-style Identity Address with a known protocol or email contact.') . EOL;
- $result['message'] .= t('Use mailto: in front of address to force email check.') . EOL;
+ $result['message'] .= L10n::t('Unable to match @-style Identity Address with a known protocol or email contact.') . EOL;
+ $result['message'] .= L10n::t('Use mailto: in front of address to force email check.') . EOL;
}
return $result;
}
if ($ret['network'] === NETWORK_OSTATUS && Config::get('system', 'ostatus_disabled')) {
- $result['message'] .= t('The profile address specified belongs to a network which has been disabled on this site.') . EOL;
+ $result['message'] .= L10n::t('The profile address specified belongs to a network which has been disabled on this site.') . EOL;
$ret['notify'] = '';
}
if (!$ret['notify']) {
- $result['message'] .= t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . EOL;
+ $result['message'] .= L10n::t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . EOL;
}
$writeable = ((($ret['network'] === NETWORK_OSTATUS) && ($ret['notify'])) ? 1 : 0);
$hidden = (($ret['network'] === NETWORK_MAIL) ? 1 : 0);
- if (in_array($ret['network'], array(NETWORK_MAIL, NETWORK_DIASPORA))) {
+ if (in_array($ret['network'], [NETWORK_MAIL, NETWORK_DIASPORA])) {
$writeable = 1;
}
// update contact
$new_relation = (($r[0]['rel'] == CONTACT_IS_FOLLOWER) ? CONTACT_IS_FRIEND : CONTACT_IS_SHARING);
- $fields = array('rel' => $new_relation, 'subhub' => $subhub, 'readonly' => false);
- dba::update('contact', $fields, array('id' => $r[0]['id']));
+ $fields = ['rel' => $new_relation, 'subhub' => $subhub, 'readonly' => false];
+ dba::update('contact', $fields, ['id' => $r[0]['id']]);
} else {
- $new_relation = ((in_array($ret['network'], array(NETWORK_MAIL))) ? CONTACT_IS_FRIEND : CONTACT_IS_SHARING);
+ $new_relation = ((in_array($ret['network'], [NETWORK_MAIL])) ? CONTACT_IS_FRIEND : CONTACT_IS_SHARING);
// create contact record
dba::insert('contact', [
$contact = dba::selectFirst('contact', [], ['url' => $ret['url'], 'network' => $ret['network'], 'uid' => $uid]);
if (!DBM::is_result($contact)) {
- $result['message'] .= t('Unable to retrieve contact information.') . EOL;
+ $result['message'] .= L10n::t('Unable to retrieve contact information.') . EOL;
return $result;
}
if (DBM::is_result($r)) {
if (($contact['network'] == NETWORK_OSTATUS) && (strlen($contact['notify']))) {
// create a follow slap
- $item = array();
+ $item = [];
$item['verb'] = ACTIVITY_FOLLOW;
$item['follow'] = $contact["url"];
$slap = OStatus::salmon($item, $r[0]);