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;
-use Friendica\Database\DBM;
use Friendica\Object\Image;
use Friendica\Util\Crypto;
use Friendica\Util\DateTimeFormat;
*/
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
*
* @return boolean|array
*/
public static function getOwnerDataById($uid) {
- $r = DBA::fetch_first("SELECT
+ $r = DBA::fetchFirst("SELECT
`contact`.*,
`user`.`prvkey` AS `uprvkey`,
`user`.`timezone`,
LIMIT 1",
$uid
);
- if (!DBM::is_result($r)) {
+ if (!DBA::isResult($r)) {
return false;
}
return $r;
public static function getOwnerDataByNick($nick)
{
$user = DBA::selectFirst('user', ['uid'], ['nickname' => $nick]);
- if (!DBM::is_result($user)) {
+
+ if (!DBA::isResult($user)) {
return false;
}
+
return self::getOwnerDataById($user['uid']);
}
{
$default_group = 0;
- if ($network == NETWORK_OSTATUS) {
+ if ($network == Protocol::OSTATUS) {
$default_group = PConfig::get($uid, "ostatus", "default_group");
}
$user = DBA::selectFirst('user', ['def_gid'], ['uid' => $uid]);
- if (DBM::is_result($user)) {
+ if (DBA::isResult($user)) {
$default_group = $user["def_gid"];
}
$user = DBA::selectFirst('user', $fields, $condition);
}
- if (!DBM::is_result($user)) {
+ if (!DBA::isResult($user)) {
throw new Exception(L10n::t('User not found'));
}
}
$_SESSION['register'] = 1;
$_SESSION['openid'] = $openid_url;
- $openid = new LightOpenID($a->get_hostname());
+ $openid = new LightOpenID($a->getHostName());
$openid->identity = $openid_url;
$openid->returnUrl = System::baseUrl() . '/openid';
$openid->required = ['namePerson/friendly', 'contact/email', 'namePerson'];
$spubkey = $sres['pubkey'];
$insert_result = DBA::insert('user', [
- 'guid' => generate_user_guid(),
+ 'guid' => System::createUUID(),
'username' => $username,
'password' => $new_password_encoded,
'email' => $email,
* @param string $password
* @return NULL|boolean from notification() and email() inherited
*/
- public static function sendRegisterOpenEmail($email, $sitename, $siteurl, $username, $password)
+ public static function sendRegisterOpenEmail($email, $sitename, $siteurl, $username, $password, $user)
{
$preamble = deindent(L10n::t('
Dear %1$s,
$body = sprintf($body, $email, $sitename, $siteurl, $username, $password);
return notification([
+ 'uid' => $user['uid'],
+ 'language' => $user['language'],
'type' => SYSTEM_EMAIL,
'to_email' => $email,
'subject'=> L10n::t('Registration details for %s', $sitename),
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
- Worker::add(PRIORITY_LOW, "Directory", $user['url']);
+ $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']);