summaryrefslogtreecommitdiff
path: root/app/User.php
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@gmail.com>2016-01-23 22:10:39 +0000
committerGreg Roach <fisharebest@gmail.com>2016-01-23 22:10:39 +0000
commita982a56ef7d6b5a6723d26c23d191468823d95c5 (patch)
treedf635f4c9e2556f12f3a4708ee2bf54b42eb0791 /app/User.php
parentf343289a73e89eafd47fc4cc963180c776c4c771 (diff)
downloadwebtrees-a982a56ef7d6b5a6723d26c23d191468823d95c5.tar.gz
webtrees-a982a56ef7d6b5a6723d26c23d191468823d95c5.tar.bz2
webtrees-a982a56ef7d6b5a6723d26c23d191468823d95c5.zip
Username versus email
Diffstat (limited to 'app/User.php')
-rw-r--r--app/User.php38
1 files changed, 36 insertions, 2 deletions
diff --git a/app/User.php b/app/User.php
index 94425c74e7..e50bd42cfe 100644
--- a/app/User.php
+++ b/app/User.php
@@ -60,7 +60,41 @@ class User {
}
/**
- * Find the user with a specified user_id.
+ * Find the user with a specified user_name.
+ *
+ * @param string $user_name
+ *
+ * @return User|null
+ */
+ public static function findByUserName($user_name) {
+ $user_id = Database::prepare(
+ "SELECT SQL_CACHE user_id FROM `##user` WHERE user_name = :user_name"
+ )->execute(array(
+ 'user_name' => $user_name,
+ ))->fetchOne();
+
+ return self::find($user_id);
+ }
+
+ /**
+ * Find the user with a specified email address.
+ *
+ * @param string $email
+ *
+ * @return User|null
+ */
+ public static function findByEmail($email) {
+ $user_id = Database::prepare(
+ "SELECT SQL_CACHE user_id FROM `##user` WHERE email = :email"
+ )->execute(array(
+ 'email' => $email,
+ ))->fetchOne();
+
+ return self::find($user_id);
+ }
+
+ /**
+ * Find the user with a specified user_name or email address.
*
* @param string $identifier
*
@@ -268,7 +302,7 @@ class User {
Database::prepare("DELETE `##block_setting` FROM `##block_setting` JOIN `##block` USING (block_id) WHERE user_id=?")->execute(array($this->user_id));
Database::prepare("DELETE FROM `##block` WHERE user_id=?")->execute(array($this->user_id));
Database::prepare("DELETE FROM `##user_gedcom_setting` WHERE user_id=?")->execute(array($this->user_id));
- Database::prepare("DELETE FROM `##gedcom_setting` WHERE setting_value=? AND setting_name in ('CONTACT_USER_ID', 'WEBMASTER_USER_ID')")->execute(array($this->user_id));
+ Database::prepare("DELETE FROM `##gedcom_setting` WHERE setting_value=? AND setting_name IN ('CONTACT_USER_ID', 'WEBMASTER_USER_ID')")->execute(array($this->user_id));
Database::prepare("DELETE FROM `##user_setting` WHERE user_id=?")->execute(array($this->user_id));
Database::prepare("DELETE FROM `##message` WHERE user_id=?")->execute(array($this->user_id));
Database::prepare("DELETE FROM `##user` WHERE user_id=?")->execute(array($this->user_id));