<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://opensimulator.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://opensimulator.org/index.php?action=history&amp;feed=atom&amp;title=Talk%3AConciergeModule</id>
		<title>Talk:ConciergeModule - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://opensimulator.org/index.php?action=history&amp;feed=atom&amp;title=Talk%3AConciergeModule"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Talk:ConciergeModule&amp;action=history"/>
		<updated>2026-04-09T13:37:01Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<entry>
		<id>http://opensimulator.org/index.php?title=Talk:ConciergeModule&amp;diff=32425&amp;oldid=prev</id>
		<title>Gwyneth Llewelyn: /* PHP script to use the Concierge Service */ - changed the status error code to bad request</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Talk:ConciergeModule&amp;diff=32425&amp;oldid=prev"/>
				<updated>2013-04-19T10:48:25Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;PHP script to use the Concierge Service: &lt;/span&gt; - changed the status error code to bad request&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 10:48, 19 April 2013&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	define(&amp;quot;LOG_FILENAME&amp;quot;, &amp;quot;broker.log&amp;quot;);	// define log file&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	define(&amp;quot;LOG_FILENAME&amp;quot;, &amp;quot;broker.log&amp;quot;);	// define log file&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	$post_data = file_get_contents(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot;&lt;/del&gt;php://input&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot;&lt;/del&gt;);	&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;// get raw POST data (needed for XML)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;// get raw POST data (needed for XML)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	$post_data = file_get_contents(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'&lt;/ins&gt;php://input&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'&lt;/ins&gt;);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	$avatars = simplexml_load_string($post_data);	// convert to SimpleXMLObject&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	$avatars = simplexml_load_string($post_data);	// convert to SimpleXMLObject&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	// DEBUG: make sure we're actually getting something!&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	// DEBUG: make sure we're actually getting something!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	// error_log(sprintf(&amp;quot;%s Region %s (%s) [DEBUG] - post data: %s\n&amp;quot;, date(&amp;quot;c&amp;quot;), &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	// error_log(sprintf(&amp;quot;%s Region %s (%s) [DEBUG] - post data: %s\n&amp;quot;, date(&amp;quot;c&amp;quot;), &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;	//			&lt;/del&gt;$_REQUEST['region'], $_REQUEST['UUID'], print_r($post_data, TRUE)), 3, LOG_FILENAME);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;				&lt;/ins&gt;$_REQUEST['region'], $_REQUEST['UUID'], print_r($post_data, TRUE)), 3, LOG_FILENAME);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	// check first if we actually got nicely parsed XML&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	// check first if we actually got nicely parsed XML&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 34:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 37:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;		error_log(sprintf(&amp;quot;%s Region %s (%s) - Error parsing XML&amp;quot;), date(&amp;quot;c&amp;quot;), &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;		error_log(sprintf(&amp;quot;%s Region %s (%s) - Error parsing XML&amp;quot;), date(&amp;quot;c&amp;quot;), &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;					$_REQUEST['region'], $_REQUEST['UUID']);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;					$_REQUEST['region'], $_REQUEST['UUID']);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;		header('HTTP/1.0 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;500 Invalid XML&lt;/del&gt;');&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;		header('HTTP/1.0 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;400 Bad Request&lt;/ins&gt;');&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;		echo &amp;quot;&amp;lt;error&amp;gt;No valid XML found&amp;lt;/error&amp;gt;&amp;quot;; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;		echo &amp;quot;&amp;lt;error&amp;gt;No valid XML found &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;- got: '&amp;quot; . print_r($post_data, TRUE) . &amp;quot;'&lt;/ins&gt;&amp;lt;/error&amp;gt;&amp;quot;; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;		return false;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;		return false;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 44:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 47:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;?&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;?&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[User:Gwyneth Llewelyn|Gwyneth Llewelyn]] 10:48, 19 April 2013 (UTC)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Gwyneth Llewelyn</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Talk:ConciergeModule&amp;diff=31188&amp;oldid=prev</id>
		<title>Gwyneth Llewelyn: /* PHP script to use the Concierge Service */ added header for errors, which allegedly is required by the protocol</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Talk:ConciergeModule&amp;diff=31188&amp;oldid=prev"/>
				<updated>2012-11-06T01:25:15Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;PHP script to use the Concierge Service: &lt;/span&gt; added header for errors, which allegedly is required by the protocol&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 01:25, 6 November 2012&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 34:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 34:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;		error_log(sprintf(&amp;quot;%s Region %s (%s) - Error parsing XML&amp;quot;), date(&amp;quot;c&amp;quot;), &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;		error_log(sprintf(&amp;quot;%s Region %s (%s) - Error parsing XML&amp;quot;), date(&amp;quot;c&amp;quot;), &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;					$_REQUEST['region'], $_REQUEST['UUID']);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;					$_REQUEST['region'], $_REQUEST['UUID']);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;		header('HTTP/1.0 500 Invalid XML');&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;		echo &amp;quot;&amp;lt;error&amp;gt;No valid XML found&amp;lt;/error&amp;gt;&amp;quot;; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;		echo &amp;quot;&amp;lt;error&amp;gt;No valid XML found&amp;lt;/error&amp;gt;&amp;quot;; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;		return false;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;		return false;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Gwyneth Llewelyn</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=Talk:ConciergeModule&amp;diff=31187&amp;oldid=prev</id>
		<title>Gwyneth Llewelyn: PHP script to use the Concierge Service</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=Talk:ConciergeModule&amp;diff=31187&amp;oldid=prev"/>
				<updated>2012-11-06T01:22:07Z</updated>
		
		<summary type="html">&lt;p&gt;PHP script to use the Concierge Service&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== PHP script to use the Concierge Service ==&lt;br /&gt;
&lt;br /&gt;
The OpenSim team has included a Python script to test the Concierge Service.&lt;br /&gt;
&lt;br /&gt;
Here is something very simple done in PHP to accomplish pretty much the same: it writes to a log file what avatars are in a region (and its UUIDs) when someone teleports in or out. If the region is left empty, this will also say so. &lt;br /&gt;
&lt;br /&gt;
Notice the nasty trick to capture raw POST data (or else, you won't get any XML). The SimpleXML module is required, but it should be built-in on pretty much every PHP installation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	define(&amp;quot;LOG_FILENAME&amp;quot;, &amp;quot;broker.log&amp;quot;);	// define log file&lt;br /&gt;
&lt;br /&gt;
	$post_data = file_get_contents(&amp;quot;php://input&amp;quot;);	// get raw POST data (needed for XML)&lt;br /&gt;
	$avatars = simplexml_load_string($post_data);	// convert to SimpleXMLObject&lt;br /&gt;
&lt;br /&gt;
	// DEBUG: make sure we're actually getting something!&lt;br /&gt;
	// error_log(sprintf(&amp;quot;%s Region %s (%s) [DEBUG] - post data: %s\n&amp;quot;, date(&amp;quot;c&amp;quot;), &lt;br /&gt;
	//			$_REQUEST['region'], $_REQUEST['UUID'], print_r($post_data, TRUE)), 3, LOG_FILENAME);&lt;br /&gt;
&lt;br /&gt;
	// check first if we actually got nicely parsed XML&lt;br /&gt;
	if ($avatars) {&lt;br /&gt;
		if ($avatars['count'] != 0) {	// attribute &amp;quot;count&amp;quot; should give us how many avatars we have&lt;br /&gt;
			foreach ($avatars as $avatar) {	// parse name and UUID; each comes as attribute &lt;br /&gt;
				error_log(sprintf(&amp;quot;%s Region %s (%s) - %s (%s)\n&amp;quot;, date(&amp;quot;c&amp;quot;), &lt;br /&gt;
					$_REQUEST['region'], $_REQUEST['UUID'], $avatar['name'], $avatar['uuid']), 3, LOG_FILENAME);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		else { // this means that no more avatars are left on this region&lt;br /&gt;
			error_log(sprintf(&amp;quot;%s Region %s (%s) - No avatars left&amp;quot;), date(&amp;quot;c&amp;quot;), &lt;br /&gt;
					$_REQUEST['region'], $_REQUEST['UUID']);&lt;br /&gt;
		}&lt;br /&gt;
	}	&lt;br /&gt;
	else {	// error parsing XML&lt;br /&gt;
		error_log(sprintf(&amp;quot;%s Region %s (%s) - Error parsing XML&amp;quot;), date(&amp;quot;c&amp;quot;), &lt;br /&gt;
					$_REQUEST['region'], $_REQUEST['UUID']);&lt;br /&gt;
		echo &amp;quot;&amp;lt;error&amp;gt;No valid XML found&amp;lt;/error&amp;gt;&amp;quot;; &lt;br /&gt;
		return false;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	echo &amp;quot;&amp;lt;success/&amp;gt;&amp;quot;; // allegedly this is what we have to pass back to OpenSim&lt;br /&gt;
				&lt;br /&gt;
	return true; // who knows if this is useful or not&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gwyneth Llewelyn</name></author>	</entry>

	</feed>