use Friendica\Core\PConfig;
use Friendica\Core\System;
use Friendica\Core\Worker;
+use Friendica\Database\dba;
use Friendica\Database\DBM;
+use Friendica\Model\Contact;
use Friendica\Model\GContact;
use Friendica\Model\Profile;
-use Friendica\Model\Item;
use Friendica\Network\Probe;
use Friendica\Util\DateTimeFormat;
+use Friendica\Util\Temporal;
function profiles_init(App $a) {
$comma2 = (($region && $country_name) ? ', ' : '');
$value = $locality . $comma1 . $region . $comma2 . $country_name;
}
-
- profile_activity($changes,$value);
-
}
$r = q("UPDATE `profile`
intval(local_user())
);
+ /// @TODO decide to use dbm::is_result() here and check $r
if ($r) {
info(L10n::t('Profile updated.') . EOL);
}
-
- if ($namechanged && $is_default) {
- $r = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `self` = 1 AND `uid` = %d",
- dbesc($name),
- dbesc(DateTimeFormat::utcNow()),
- intval(local_user())
- );
- $r = q("UPDATE `user` set `username` = '%s' where `uid` = %d",
- dbesc($name),
- intval(local_user())
- );
- }
-
if ($is_default) {
- $location = Profile::formatLocation(["locality" => $locality, "region" => $region, "country-name" => $country_name]);
-
- q("UPDATE `contact` SET `about` = '%s', `location` = '%s', `keywords` = '%s', `gender` = '%s' WHERE `self` AND `uid` = %d",
- dbesc($about),
- dbesc($location),
- dbesc($pub_keywords),
- dbesc($gender),
- intval(local_user())
- );
+ if ($namechanged) {
+ $r = q("UPDATE `user` set `username` = '%s' where `uid` = %d",
+ dbesc($name),
+ intval(local_user())
+ );
+ }
+
+ Contact::updateSelfFromUserID(local_user());
// Update global directory in background
$url = $_SESSION['my_url'];
}
}
-
-function profile_activity($changed, $value) {
- $a = get_app();
-
- if (! local_user() || ! is_array($changed) || ! count($changed)) {
- return;
- }
-
- if ($a->user['hidewall'] || Config::get('system', 'block_public')) {
- return;
- }
-
- if (! PConfig::get(local_user(), 'system', 'post_profilechange')) {
- return;
- }
-
- require_once 'include/items.php';
-
- $self = q("SELECT * FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1",
- intval(local_user())
- );
-
- if (! DBM::is_result($self)) {
- return;
- }
-
- $arr = [];
-
- $arr['guid'] = get_guid(32);
- $arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), local_user());
- $arr['uid'] = local_user();
- $arr['contact-id'] = $self[0]['id'];
- $arr['wall'] = 1;
- $arr['type'] = 'wall';
- $arr['gravity'] = 0;
- $arr['origin'] = 1;
- $arr['author-name'] = $arr['owner-name'] = $self[0]['name'];
- $arr['author-link'] = $arr['owner-link'] = $self[0]['url'];
- $arr['author-avatar'] = $arr['owner-avatar'] = $self[0]['thumb'];
- $arr['verb'] = ACTIVITY_UPDATE;
- $arr['object-type'] = ACTIVITY_OBJ_PROFILE;
-
- $A = '[url=' . $self[0]['url'] . ']' . $self[0]['name'] . '[/url]';
-
-
- $changes = '';
- $t = count($changed);
- $z = 0;
- foreach ($changed as $ch) {
- if (strlen($changes)) {
- if ($z == ($t - 1)) {
- $changes .= L10n::t(' and ');
- } else {
- $changes .= ', ';
- }
- }
- $z ++;
- $changes .= $ch;
- }
-
- $prof = '[url=' . $self[0]['url'] . '?tab=profile' . ']' . L10n::t('public profile') . '[/url]';
-
- if ($t == 1 && strlen($value)) {
- $message = L10n::t('%1$s changed %2$s to “%3$s”', $A, $changes, $value);
- $message .= "\n\n" . L10n::t(' - Visit %1$s\'s %2$s', $A, $prof);
- } else {
- $message = L10n::t('%1$s has an updated %2$s, changing %3$s.', $A, $prof, $changes);
- }
-
-
- $arr['body'] = $message;
-
- $arr['object'] = '<object><type>' . ACTIVITY_OBJ_PROFILE . '</type><title>' . $self[0]['name'] . '</title>'
- . '<id>' . $self[0]['url'] . '/' . $self[0]['name'] . '</id>';
- $arr['object'] .= '<link>' . xmlify('<link rel="alternate" type="text/html" href="' . $self[0]['url'] . '?tab=profile' . '" />' . "\n");
- $arr['object'] .= xmlify('<link rel="photo" type="image/jpeg" href="' . $self[0]['thumb'] . '" />' . "\n");
- $arr['object'] .= '</link></object>' . "\n";
-
- $arr['allow_cid'] = $a->user['allow_cid'];
- $arr['allow_gid'] = $a->user['allow_gid'];
- $arr['deny_cid'] = $a->user['deny_cid'];
- $arr['deny_gid'] = $a->user['deny_gid'];
-
- $i = Item::insert($arr);
- if ($i) {
- Worker::add(PRIORITY_HIGH, "Notifier", "activity", $i);
- }
-}
-
-
function profiles_content(App $a) {
if (! local_user()) {
'$default' => (($is_default) ? '<p id="profile-edit-default-desc">' . L10n::t('This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet.') . '</p>' : ""),
'$name' => ['name', L10n::t('Your Full Name:'), $r[0]['name']],
'$pdesc' => ['pdesc', L10n::t('Title/Description:'), $r[0]['pdesc']],
- '$dob' => dob($r[0]['dob']),
+ '$dob' => Temporal::getDateofBirthField($r[0]['dob']),
'$hide_friends' => $hide_friends,
'$address' => ['address', L10n::t('Street Address:'), $r[0]['address']],
'$locality' => ['locality', L10n::t('Locality/City:'), $r[0]['locality']],
'$region' => ['region', L10n::t('Region/State:'), $r[0]['region']],
'$postal_code' => ['postal_code', L10n::t('Postal/Zip Code:'), $r[0]['postal-code']],
'$country_name' => ['country_name', L10n::t('Country:'), $r[0]['country-name']],
- '$age' => ((intval($r[0]['dob'])) ? '(' . L10n::t('Age: ') . age($r[0]['dob'],$a->user['timezone'],$a->user['timezone']) . ')' : ''),
+ '$age' => ((intval($r[0]['dob'])) ? '(' . L10n::t('Age: ') . Temporal::getAgeByTimezone($r[0]['dob'],$a->user['timezone'],$a->user['timezone']) . ')' : ''),
'$gender' => ContactSelector::gender($r[0]['gender']),
'$marital' => ContactSelector::maritalStatus($r[0]['marital']),
'$with' => ['with', L10n::t("Who: \x28if applicable\x29"), strip_tags($r[0]['with']), L10n::t('Examples: cathy123, Cathy Williams, cathy@example.com')],