*/
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
*
public static function getOwnerDataByNick($nick)
{
$user = DBA::selectFirst('user', ['uid'], ['nickname' => $nick]);
+
if (!DBA::isResult($user)) {
return false;
}
+
return self::getOwnerDataById($user['uid']);
}
$spubkey = $sres['pubkey'];
$insert_result = DBA::insert('user', [
- 'guid' => System::createGUID(32),
+ 'guid' => System::createUUID(),
'username' => $username,
'password' => $new_password_encoded,
'email' => $email,
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']);