X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FUser.php;h=7432b75774b22516165ad664e1102fb4d3f97f91;hb=fa7cddc669036c2369103eefcc960d7b5343c9cd;hp=96f207c4acf9f9a97f43c2b7634d3f9eb2e7060d;hpb=08fc86802a4ad2a265ed45d4e3a6603c65f6c70f;p=friendica.git diff --git a/src/Model/User.php b/src/Model/User.php index 96f207c4ac..7432b75774 100644 --- a/src/Model/User.php +++ b/src/Model/User.php @@ -11,6 +11,7 @@ use Friendica\Core\Addon; use Friendica\Core\Config; use Friendica\Core\L10n; use Friendica\Core\PConfig; +use Friendica\Core\Protocol; use Friendica\Core\System; use Friendica\Core\Worker; use Friendica\Database\DBA; @@ -30,6 +31,23 @@ require_once 'include/text.php'; */ class User { + /** + * @brief Returns the user id of a given profile url + * + * @param string $profile + * + * @return integer user id + */ + public static function getIdForURL($url) + { + $self = DBA::selectFirst('contact', ['uid'], ['nurl' => normalise_link($url), 'self' => true]); + if (!DBA::isResult($self)) { + return false; + } else { + return $self['uid']; + } + } + /** * @brief Get owner data by user id * @@ -70,9 +88,11 @@ class User public static function getOwnerDataByNick($nick) { $user = DBA::selectFirst('user', ['uid'], ['nickname' => $nick]); + if (!DBA::isResult($user)) { return false; } + return self::getOwnerDataById($user['uid']); } @@ -88,7 +108,7 @@ class User { $default_group = 0; - if ($network == NETWORK_OSTATUS) { + if ($network == Protocol::OSTATUS) { $default_group = PConfig::get($uid, "ostatus", "default_group"); } @@ -492,7 +512,7 @@ class User $spubkey = $sres['pubkey']; $insert_result = DBA::insert('user', [ - 'guid' => generate_user_guid(), + 'guid' => System::createUUID(), 'username' => $username, 'password' => $new_password_encoded, 'email' => $email, @@ -727,13 +747,16 @@ class User DBA::insert('userd', ['username' => $user['nickname']]); // The user and related data will be deleted in "cron_expire_and_remove_users" (cronjobs.php) - DBA::update('user', ['account_removed' => true, 'account_expires_on' => DateTimeFormat::utcNow()], ['uid' => $uid]); + DBA::update('user', ['account_removed' => true, 'account_expires_on' => DateTimeFormat::utc(DateTimeFormat::utcNow() . " + 7 day")], ['uid' => $uid]); Worker::add(PRIORITY_HIGH, "Notifier", "removeme", $uid); // Send an update to the directory $self = DBA::selectFirst('contact', ['url'], ['uid' => $uid, 'self' => true]); Worker::add(PRIORITY_LOW, "Directory", $self['url']); + // Remove the user relevant data + Worker::add(PRIORITY_LOW, "RemoveUser", $uid); + if ($uid == local_user()) { unset($_SESSION['authenticated']); unset($_SESSION['uid']);