public function siteinfo( $prop = array(
		'general', 'namespaces', 'namespacealiases', 'specialpagealiases', 'magicwords', 'interwikimap', 'dbrepllag',
		'statistics', 'usergroups', 'extensions', 'fileextensions', 'rightsinfo', 'languages'
	), $iwfilter = null ) {

		$siArray = array(
			'action' => 'query',
			'meta'   => 'siteinfo',
			'siprop' => implode( '|', $prop ),
		);

		if( in_array( 'interwikimap', $prop ) && $iwfilter ) {
			$siArray['sifilteriw'] = '';
		} elseif( in_array( 'interwikimap', $prop ) && $iwfilter ) $siArray['sifilteriw'] = 'no';

		if( in_array( 'dbrepllag', $prop ) ) $siArray['sishowalldb'] = '';
		if( in_array( 'usergroups', $prop ) ) $siArray['sinumberingroup'] = '';

		Hooks::runHook( 'PreQuerySiteInfo', array( &$siArray ) );

		pecho( "Getting site information...\n\n", PECHO_NORMAL );

		return $this->apiQuery( $siArray );
	}