function search( &$serverOptions ) {
		$serverOptions['namespaces']['http://subversion.tigris.org/xmlns/dav/'] = 'V';

		$status = array();

		$search = SearchEngine::create();

		# TODO: Use (int)$wgUser->getOption( 'searchlimit' );
		$search->setLimitOffset( MW_SEARCH_LIMIT );

		$results = $search->searchText( $serverOptions['xpath']->evaluate( 'string(/D:searchrequest/D:basicsearch/D:where/D:contains)' ) );

		while ( ( $result = $results->next() ) !== false ) {
			$title = $result->getTitle();
			$revision = Revision::newFromTitle( $title );

			$response = array();
			$response['path'] = 'webdav.php/' . $title->getPrefixedUrl();
			$response['props'][] = WebDavServer::mkprop( 'checked-in', $this->getUrl( array( 'path' => 'deltav.php/ver/' . $revision->getId() ) ) );
			$response['props'][] = WebDavServer::mkprop( 'displayname', $title->getText() );
			$response['props'][] = WebDavServer::mkprop( 'getcontentlength', $revision->getSize() );
			$response['props'][] = WebDavServer::mkprop( 'getcontenttype', 'text/x-wiki' );
			$response['props'][] = WebDavServer::mkprop( 'getlastmodified', wfTimestamp( TS_UNIX, $revision->mTimestamp ) );
			$response['props'][] = WebDavServer::mkprop( 'resourcetype', null );
			$response['props'][] = WebDavServer::mkprop( 'version-controlled-configuration', $this->getUrl( array( 'path' => 'deltav.php/vcc/default' ) ) );

			$response['props'][] = WebDavServer::mkprop( 'http://subversion.tigris.org/xmlns/dav/', 'baseline-relative-path', $title->getFullUrl() );
			$response['score'] = $result->getScore();

			$status[] = $response;
		}

		# TODO: Check if we exceed our limit
		#$response = array();
		#$response['status'] = '507 Insufficient Storage';

		#$status[] = $response;

		return $status;
	}
<?php

# Initialise common code
require_once( './includes/WebStart.php' );

require_once( './WebDavServer.php' );

$server = new WebDavServer();
$server->handleRequest();