31 public function testUserExists( $username, $flags = IDBAccessObject::READ_NORMAL ) {
32 $username = $this->userNameUtils->getCanonical( $username, UserRigorOptions::RIGOR_USABLE );
33 if ( $username ===
false ) {
36 $db = DBAccessObjectUtils::getDBFromRecency( $this->dbProvider, $flags );
37 return (
bool)$db->newSelectQueryBuilder()
38 ->select( [
'user_id' ] )
40 ->where( [
'user_name' => $username ] )
41 ->caller( __METHOD__ )->fetchField();
45 protected function getTemporaryPassword(
string $username, $flags = IDBAccessObject::READ_NORMAL ): array {
47 $row = $db->newSelectQueryBuilder()
48 ->select( [
'user_newpassword',
'user_newpass_time' ] )
50 ->where( [
'user_name' => $username ] )
51 ->caller( __METHOD__ )->fetchRow();
54 return [
null, null ];
58 $row->user_newpass_time,
64 $db = $this->dbProvider->getPrimaryDatabase();
65 $db->newUpdateQueryBuilder()
68 'user_newpassword' => $tempPassHash->
toString(),
69 'user_newpass_time' => $db->timestampOrNull( $tempPassTime ),
71 ->where( [
'user_name' => $username ] )
72 ->caller( __METHOD__ )->execute();