);
}
- public function getResultProperties() {
- return array(
- 'createaccount' => array(
- 'result' => array(
- ApiBase::PROP_TYPE => array(
- 'Success',
- 'Warning',
- 'NeedToken'
- )
- ),
- 'username' => array(
- ApiBase::PROP_TYPE => 'string',
- ApiBase::PROP_NULLABLE => true
- ),
- 'userid' => array(
- ApiBase::PROP_TYPE => 'int',
- ApiBase::PROP_NULLABLE => true
- ),
- 'token' => array(
- ApiBase::PROP_TYPE => 'string',
- ApiBase::PROP_NULLABLE => true
- ),
- )
- );
- }
-
- public function getPossibleErrors() {
- // Note the following errors aren't possible and don't need to be listed:
- // sessionfailure, nocookiesfornew, badretype
- $localErrors = array(
- 'wrongpassword', // Actually caused by wrong domain field. Riddle me that...
- 'sorbs_create_account_reason',
- 'noname',
- 'userexists',
- 'password-name-match', // from User::getPasswordValidity
- 'password-login-forbidden', // from User::getPasswordValidity
- 'noemailtitle',
- 'invalidemailaddress',
- 'externaldberror',
- 'acct_creation_throttle_hit',
- );
-
- $errors = parent::getPossibleErrors();
- // All local errors are from LoginForm, which means they're actually message keys.
- foreach ( $localErrors as $error ) {
- $errors[] = array(
- 'code' => $error,
- 'info' => wfMessage( $error )->inLanguage( 'en' )->useDatabase( false )->parse()
- );
- }
-
- $errors[] = array(
- 'code' => 'permdenied-createaccount',
- 'info' => 'You do not have the right to create a new account'
- );
- $errors[] = array(
- 'code' => 'blocked',
- 'info' => 'You cannot create a new account because you are blocked'
- );
- $errors[] = array(
- 'code' => 'aborted',
- 'info' => 'Account creation aborted by hook (info may vary)'
- );
- $errors[] = array(
- 'code' => 'langinvalid',
- 'info' => 'Invalid language parameter'
- );
-
- // 'passwordtooshort' has parameters. :(
- $errors[] = array(
- 'code' => 'passwordtooshort',
- 'info' => wfMessage( 'passwordtooshort', $this->getConfig()->get( 'MinimalPasswordLength' ) )
- ->inLanguage( 'en' )->useDatabase( false )->parse()
- );
-
- return $errors;
- }
-
public function getExamples() {
return array(
'api.php?action=createaccount&name=testuser&password=test123',