public function login($username, $password, $domain = null)
	{
		//Logger::log("Logging in");

		$details = array(
			'action' => 'login',
			'lgname' => $username,
			'lgpassword' => $password,
			'format' => 'json'
		);

		// If $domain is provided, set the corresponding detail in the request information array
		if (is_string($domain)) {
			$details['lgdomain'] = $domain;
		}

		// Send the login request
		$response = $this->session->post($this->api, array(), $details);
		// Check if we got an API result or the API doc page (invalid request)
		if (strpos($response->body, "This is an auto-generated MediaWiki API documentation page") !== false) {
			$this->error = array();
			$this->error['login'] = 'The API could not understand the first login request';
			return false;
		}

		$loginResult = json_decode($response->body);

		if ($this->debugMode) {
			echo "Login request:\n";
			print_r($details);
			echo "Login request response:\n";
			print_r($loginResult);
		}

		if (isset($loginResult->login->result) && $loginResult->login->result == 'NeedToken') {
			//Logger::log("Sending token {$loginResult->login->token}");
			$details['lgtoken'] = strtolower(trim($loginResult->login->token));

			// Send the confirm token request
			$loginResult = $this->session->post($this->api, array(), $details)->body;

			// Check if we got an API result or the API doc page (invalid request)
			if (strpos($loginResult, "This is an auto-generated MediaWiki API documentation page") !== false) {
				$this->error = array();
				$this->error['login'] = 'The API could not understand the confirm token request';
				return false;
			}

			$loginResult = json_decode($loginResult);

			if ($this->debugMode) {
				echo "Confirm token request:\n";
				print_r($details);
				echo "Confirm token response:\n";
				print_r($loginResult);
			}

			if ($loginResult->login->result != 'Success') {
				// Some more comprehensive error checking
				$this->error = array();
				switch ($loginResult->login->result) {
					case 'NotExists':
						$this->error['login'] = 'The username does not exist';
						break;
					default:
						$this->error['login'] = 'The API result was: ' . $loginResult->login->result;
						break;
				}
				return false;
			}
		}

		//Logger::log("Logged in");
		return true;
	}
public function login($username, $password, $domain = null)
	{
		//Logger::log("Logging in");

		$details = array(
			'action' => 'login',
			'lgname' => $username,
			'lgpassword' => $password,
			'format' => 'json'
		);

		// If $domain is provided, set the corresponding detail in the request information array
		if (is_string($domain)) {
			$details['lgdomain'] = $domain;
		}

		// Send the login request
		$response = $this->session->post($this->api, array(), $details);
		// Check if we got an API result or the API doc page (invalid request)
		if (strpos($response->body, "This is an auto-generated MediaWiki API documentation page") !== false) {
			$this->error = array();
			$this->error['login'] = 'The API could not understand the first login request';
			return false;
		}

		$loginResult = json_decode($response->body);

		if ($this->debugMode) {
			echo "Login request:\n";
			print_r($details);
			echo "Login request response:\n";
			print_r($loginResult);
		}

		if (isset($loginResult->login->result) && $loginResult->login->result == 'NeedToken') {
			//Logger::log("Sending token {$loginResult->login->token}");
			$details['lgtoken'] = strtolower(trim($loginResult->login->token));

			// Send the confirm token request
			$loginResult = $this->session->post($this->api, array(), $details)->body;

			// Check if we got an API result or the API doc page (invalid request)
			if (strpos($loginResult, "This is an auto-generated MediaWiki API documentation page") !== false) {
				$this->error = array();
				$this->error['login'] = 'The API could not understand the confirm token request';
				return false;
			}

			$loginResult = json_decode($loginResult);

			if ($this->debugMode) {
				echo "Confirm token request:\n";
				print_r($details);
				echo "Confirm token response:\n";
				print_r($loginResult);
			}

			if ($loginResult->login->result != 'Success') {
				// Some more comprehensive error checking
				$this->error = array();
				switch ($loginResult->login->result) {
					case 'NotExists':
						$this->error['login'] = 'The username does not exist';
						break;
					default:
						$this->error['login'] = 'The API result was: ' . $loginResult->login->result;
						break;
				}
				return false;
			}
		}

		//Logger::log("Logged in");
		return true;
	}
public function login ( $ username , $ password , $ domain = null ) { //Logger::log("Logging in"); $ details = array ( 'action' => 'login' , 'lgname' => $ username , 'lgpassword' => $ password , 'format' => 'json' ) ; // If $domain is provided, set the corresponding detail in the request information array if ( is_string ( $ domain ) ) { $ details [ 'lgdomain' ] = $ domain ; } // Send the login request $ response = $ this -> session -> post ( $ this -> api , array ( ) , $ details ) ; // Check if we got an API result or the API doc page (invalid request) if ( strpos ( $ response -> body , "This is an auto-generated MediaWiki API documentation page" ) !== false ) { $ this -> error = array ( ) ; $ this -> error [ 'login' ] = 'The API could not understand the first login request' ; return false ; } $ loginResult = json_decode ( $ response -> body ) ; if ( $ this -> debugMode ) { echo "Login request:\n" ; print_r ( $ details ) ; echo "Login request response:\n" ; print_r ( $ loginResult ) ; } if ( isset ( $ loginResult -> login -> result ) && $ loginResult -> login -> result == 'NeedToken' ) { //Logger::log("Sending token {$loginResult->login->token}"); $ details [ 'lgtoken' ] = strtolower ( trim ( $ loginResult -> login -> token ) ) ; // Send the confirm token request $ loginResult = $ this -> session -> post ( $ this -> api , array ( ) , $ details ) -> body ; // Check if we got an API result or the API doc page (invalid request) if ( strpos ( $ loginResult , "This is an auto-generated MediaWiki API documentation page" ) !== false ) { $ this -> error = array ( ) ; $ this -> error [ 'login' ] = 'The API could not understand the confirm token request' ; return false ; } $ loginResult = json_decode ( $ loginResult ) ; if ( $ this -> debugMode ) { echo "Confirm token request:\n" ; print_r ( $ details ) ; echo "Confirm token response:\n" ; print_r ( $ loginResult ) ; } if ( $ loginResult -> login -> result != 'Success' ) { // Some more comprehensive error checking $ this -> error = array ( ) ; switch ( $ loginResult -> login -> result ) { case 'NotExists' : $ this -> error [ 'login' ] = 'The username does not exist' ; break ; default : $ this -> error [ 'login' ] = 'The API result was: ' . $ loginResult -> login -> result ; break ; } return false ; } } //Logger::log("Logged in"); return true ; }
Logs in to the wiki.

@param   string   $username  The user name
@param   string   $password  The user password
@param   string   $domain    The domain (optional)
@return  boolean             True if logged in
Logs in to the wiki .