- if ( 0 == strcmp( "", $s ) ) return 0;
-
- $sql = "SELECT user_id FROM user WHERE user_name='" .
- wfStrencode( $s ) . "'";
- $res = wfQuery( $sql, DB_READ, "User::idForName" );
- if ( 0 == wfNumRows( $res ) ) { return 0; }
-
- $s = wfFetchObject( $res );
- if ( "" == $s ) return 0;
-
- $gotid = $s->user_id;
- wfFreeResult( $res );
- return $gotid;
- }
-
- function addToDatabase()
- {
- $sql = "INSERT INTO user (user_name,user_password,user_newpassword," .
- "user_email, user_rights, user_options) " .
- " VALUES ('" . wfStrencode( $this->mName ) . "', '" .
- wfStrencode( $this->mPassword ) . "', '" .
- wfStrencode( $this->mNewpassword ) . "', '" .
- wfStrencode( $this->mEmail ) . "', '" .
- wfStrencode( implode( ",", $this->mRights ) ) . "', '" .
- $this->encodeOptions() . "')";
- wfQuery( $sql, DB_WRITE, "User::addToDatabase" );
- $this->mId = $this->idForName();
- }
-
- function spreadBlock()
- {
- global $wgIP;
+ if ( 0 == strcmp( '', $s ) ) return 0;
+
+ $dbr =& wfGetDB( DB_SLAVE );
+ $id = $dbr->selectField( 'user', 'user_id', array( 'user_name' => $s ), $fname );
+ if ( $id === false ) {
+ $id = 0;
+ }
+ return $id;
+ }
+
+ /**
+ * Add user object to the database
+ */
+ function addToDatabase() {
+ $fname = 'User::addToDatabase';
+ $dbw =& wfGetDB( DB_MASTER );
+ $seqVal = $dbw->nextSequenceValue( 'user_user_id_seq' );
+ $dbw->insert( 'user',
+ array(
+ 'user_id' => $seqVal,
+ 'user_name' => $this->mName,
+ 'user_password' => $this->mPassword,
+ 'user_newpassword' => $this->mNewpassword,
+ 'user_email' => $this->mEmail,
+ 'user_real_name' => $this->mRealName,
+ 'user_options' => $this->encodeOptions()
+ ), $fname
+ );
+ $this->mId = $dbw->insertId();
+ $dbw->insert( 'user_rights',
+ array(
+ 'user_id' => $this->mId,
+ 'user_rights' => implode( ',', $this->mRights )
+ ), $fname
+ );
+
+ }
+
+ function spreadBlock() {
+ global $wgIP;