44 public function testUserExists( $username, $flags = IDBAccessObject::READ_NORMAL ) {
45 $username = $this->userNameUtils->getCanonical( $username, UserRigorOptions::RIGOR_USABLE );
46 if ( $username ===
false ) {
49 $db = DBAccessObjectUtils::getDBFromRecency( $this->dbProvider, $flags );
50 return (
bool)$db->newSelectQueryBuilder()
51 ->select( [
'user_id' ] )
53 ->where( [
'user_name' => $username ] )
54 ->caller( __METHOD__ )->fetchField();
57 protected function getTemporaryPassword(
string $username, $flags = IDBAccessObject::READ_NORMAL ): array {
59 $row = $db->newSelectQueryBuilder()
60 ->select( [
'user_newpassword',
'user_newpass_time' ] )
62 ->where( [
'user_name' => $username ] )
63 ->caller( __METHOD__ )->fetchRow();
66 return [
null, null ];
70 $row->user_newpass_time,
75 $db = $this->dbProvider->getPrimaryDatabase();
76 $db->newUpdateQueryBuilder()
79 'user_newpassword' => $tempPassHash->
toString(),
80 'user_newpass_time' => $db->timestampOrNull( $tempPassTime ),
82 ->where( [
'user_name' => $username ] )
83 ->caller( __METHOD__ )->execute();