<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>James Lloyd</title>
	<atom:link href="http://james-lloyd.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://james-lloyd.com</link>
	<description>Blog of James Lloyd pro geek, and IT Evangelist</description>
	<lastBuildDate>Mon, 08 Mar 2010 08:38:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>My XBMC Multi Room audio challenge.</title>
		<link>http://james-lloyd.com/my-xbmc-multi-room-audio-challenge/</link>
		<comments>http://james-lloyd.com/my-xbmc-multi-room-audio-challenge/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 08:38:19 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Media Centre]]></category>
		<category><![CDATA[a2dp]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[multiroom]]></category>
		<category><![CDATA[XBMC]]></category>

		<guid isPermaLink="false">http://james-lloyd.com/?p=761</guid>
		<description><![CDATA[Recently I have successfully migrated away from SKY HD and from Freeview+ to an entirely XBMC based solution.  Most importantly this solution currently has a very high WAF .  My setup is built using XBMC live in an overly powerful PC in a rather nice silverstone media center case.
My current problem is now I have [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://james-lloyd.com/wp-content/uploads/2010/02/XBMC_Logo_thumb.png" rel="lightbox"><img class="alignright size-full wp-image-750" title="XBMC_Logo_thumb.png" src="http://james-lloyd.com/wp-content/uploads/2010/02/XBMC_Logo_thumb.png" alt="" width="240" height="129" /></a>Recently I have successfully migrated away from SKY HD and from Freeview+ to an entirely XBMC based solution.  Most importantly this solution currently has a very high <a title="WAF" href="http://en.wikipedia.org/wiki/Wife_acceptance_factor">WAF </a>.  My setup is built using XBMC live in an overly powerful PC in a rather nice silverstone media center case.</p>
<p>My current problem is now I have relegated all of my media to the lounge,  using the ipod dock in the kitchen with a meagre 16GB Ipod seems positively lacking when, your media centre is connected directly to a 5Tb NAS.  What happens now is you play music in the lounge and turn it way up to a probably neighbour unsuitable level to be to properly enjoy it in the kitchen.  This is why I crave multi room audio, I wrote a while back why I think XBMC is a far better and cheaper solution than the Sonos solution, though Sonos still do have the killer feature present and correct.</p>
<p>So I&#8217;m am challenged with building my own solution some how.  My requirement is fairly straight forward:</p>
<ul>
<li>The ability to have the audio playing from the media centre play to another source at the same time.</li>
</ul>
<p>I have no need for visuals or UI to be present in the other rooms as I can control the xbmc source with the XBMC iphone remote app, and possibly that Archos 7 tablet when its released <img src='http://james-lloyd.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Typically it appears the requirement is a very easy thing to say out loud, and yet another thing entirely to actually achieve.  The challenge as I currently understand it, is keeping the music streams to each room in sync.</p>
<p>My current stab in the dark is use a motorola DC800 bluetooth stereo adaptor, and use A2DP to stream the music to the second amp.  This when the adaptor arrives, I can see is going to present a couple of challenges.</p>
<ol>
<li>Is it even possible to send audio out via the Line / SPdif out at the same time as A2DP ?</li>
<li>if it is, will the audio be in sync?</li>
</ol>
<p>Answers on a post card, if I get it to work i&#8217;ll post the solution (assuming it doesn&#8217;t involve purchase of a sonos solution <img src='http://james-lloyd.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
]]></content:encoded>
			<wfw:commentRss>http://james-lloyd.com/my-xbmc-multi-room-audio-challenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XBMC Gmail notifications.</title>
		<link>http://james-lloyd.com/xbmc-gmail-notifications/</link>
		<comments>http://james-lloyd.com/xbmc-gmail-notifications/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 18:01:13 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Techy Stuff]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[google apps]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[XBMC]]></category>

		<guid isPermaLink="false">http://james-lloyd.com/xbmc-gmail-notifications/</guid>
		<description><![CDATA[I have this php script currently running on my nas to let me know if I have any new mail.  It works with gmail.com, googlemail.com and google app address’.  I simply use cron to execute the script every 15 minutes.
i.e. (0,15,30,45 17-23 * * * php /var/www/checkgmail.php &#62; /dev/null   #Check Gmail)


   1: &#60;?php

 [...]]]></description>
			<content:encoded><![CDATA[<p>I have this php script currently running on my nas to let me know if I have any new mail.  It works with gmail.com, googlemail.com and google app address’.  I simply use cron to execute the script every 15 minutes.</p>
<p>i.e. (0,15,30,45 17-23 * * * php /var/www/checkgmail.php &gt; /dev/null   #Check Gmail)</p>
<div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;">
<div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum1" style="color: #606060;">   1:</span> &lt;?php</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum2" style="color: #606060;">   2:</span> $emailaddress = <span style="color: #006080;">'someemailaddress@gmail.com'</span>; <span style="color: #008000;">// i.e. bob@gmail.com or bob@bobsdomain.com if you use google apps</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum3" style="color: #606060;">   3:</span> $password = <span style="color: #006080;">'somepassword'</span>; <span style="color: #008000;">// email password</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum4" style="color: #606060;">   4:</span> $xbmcaddress = <span style="color: #006080;">'192.168.1.1'</span>; <span style="color: #008000;">// IP or hostname of your xbmc</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum5" style="color: #606060;">   5:</span> $xbmcport = <span style="color: #006080;">'8080'</span>; <span style="color: #008000;">// port the xbmc web server is running on.</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum6" style="color: #606060;">   6:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum7" style="color: #606060;">   7:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum8" style="color: #606060;">   8:</span> $domain = explode(<span style="color: #006080;">'@'</span>,$emailaddress);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum9" style="color: #606060;">   9:</span> <span style="color: #0000ff;">if</span> ($domain[<span style="color: #006080;">'1'</span>] == <span style="color: #006080;">'gmail.com'</span> || $domain[<span style="color: #006080;">'1'</span>] == <span style="color: #006080;">'googlemail.com'</span>)</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum10" style="color: #606060;">  10:</span>     {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum11" style="color: #606060;">  11:</span>     $use_googleapps = <span style="color: #0000ff;">false</span>;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum12" style="color: #606060;">  12:</span>     } <span style="color: #0000ff;">else</span> {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum13" style="color: #606060;">  13:</span>     $use_googleapps = <span style="color: #0000ff;">true</span>;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum14" style="color: #606060;">  14:</span>     }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum15" style="color: #606060;">  15:</span> <span style="color: #0000ff;">if</span> ($use_googleapps == <span style="color: #0000ff;">true</span>)</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum16" style="color: #606060;">  16:</span>     {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum17" style="color: #606060;">  17:</span>     $url = <span style="color: #006080;">'https://mail.google.com/a/'</span>.$domain[<span style="color: #006080;">'1'</span>].<span style="color: #006080;">'/feed/atom'</span>;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum18" style="color: #606060;">  18:</span>     } <span style="color: #0000ff;">else</span> {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum19" style="color: #606060;">  19:</span>     $url = <span style="color: #006080;">'https://mail.google.com/mail/feed/atom'</span>;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum20" style="color: #606060;">  20:</span>     }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum21" style="color: #606060;">  21:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum22" style="color: #606060;">  22:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum23" style="color: #606060;">  23:</span>     $ch = curl_init ($url);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum24" style="color: #606060;">  24:</span>     curl_setopt($ch, CURLOPT_HEADER, 0);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum25" style="color: #606060;">  25:</span>     curl_setopt($ch, CURLOPT_PROTOCOLS,CURLPROTO_HTTPS);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum26" style="color: #606060;">  26:</span>     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum27" style="color: #606060;">  27:</span>     curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum28" style="color: #606060;">  28:</span>     $curllogin = $emailaddress.<span style="color: #006080;">':'</span>.$password;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum29" style="color: #606060;">  29:</span>     curl_setopt($ch, CURLOPT_USERPWD,$curllogin);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum30" style="color: #606060;">  30:</span>     $rawdata=curl_exec($ch);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum31" style="color: #606060;">  31:</span>     curl_close ($ch);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum32" style="color: #606060;">  32:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum33" style="color: #606060;">  33:</span> $array = xml2array($rawdata);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum34" style="color: #606060;">  34:</span> $array = $array[<span style="color: #006080;">'feed'</span>];</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum35" style="color: #606060;">  35:</span> <span style="color: #008000;">//print_r($array);</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum36" style="color: #606060;">  36:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum37" style="color: #606060;">  37:</span> <span style="color: #0000ff;">if</span> ($array[<span style="color: #006080;">'fullcount'</span>] &lt; 1)</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum38" style="color: #606060;">  38:</span>     {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum39" style="color: #606060;">  39:</span>     echo <span style="color: #006080;">' no new mail '</span>;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum40" style="color: #606060;">  40:</span>     } <span style="color: #0000ff;">else</span> {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum41" style="color: #606060;">  41:</span>     <span style="color: #0000ff;">if</span> ($array[<span style="color: #006080;">'fullcount'</span>] == 1)</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum42" style="color: #606060;">  42:</span>         {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum43" style="color: #606060;">  43:</span>         fopen(<span style="color: #006080;">"http://"</span>.$xbmcaddress.<span style="color: #006080;">":"</span>.$xbmcport.<span style="color: #006080;">"/xbmcCmds/xbmcHttp?command=ExecBuiltIn(Notification("</span>.$emailaddress.<span style="color: #006080;">",You%20Have%20A%20New%20Email!))"</span>,r);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum44" style="color: #606060;">  44:</span>         } <span style="color: #0000ff;">else</span> {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum45" style="color: #606060;">  45:</span>         fopen(<span style="color: #006080;">"http://"</span>.$xbmcaddress.<span style="color: #006080;">":"</span>.$xbmcport.<span style="color: #006080;">"/xbmcCmds/xbmcHttp?command=ExecBuiltIn(Notification("</span>.$emailaddress.<span style="color: #006080;">"."</span>,You%20Have%20<span style="color: #006080;">".$array['fullcount']."</span>%20New%20Emails!))<span style="color: #006080;">",r);</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum46" style="color: #606060;">  46:</span>         }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum47" style="color: #606060;">  47:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum48" style="color: #606060;">  48:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum49" style="color: #606060;">  49:</span>     }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum50" style="color: #606060;">  50:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum51" style="color: #606060;">  51:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum52" style="color: #606060;">  52:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum53" style="color: #606060;">  53:</span> function xml2array($contents, $get_attributes=1, $priority = 'tag') {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum54" style="color: #606060;">  54:</span>     if(!$contents) return array();</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum55" style="color: #606060;">  55:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum56" style="color: #606060;">  56:</span>     if(!function_exists('xml_parser_create')) {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum57" style="color: #606060;">  57:</span>         //print "<span style="color: #006080;">'xml_parser_create()'</span> function not found!<span style="color: #006080;">"; </span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum58" style="color: #606060;">  58:</span>         return array();</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum59" style="color: #606060;">  59:</span>     }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum60" style="color: #606060;">  60:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum61" style="color: #606060;">  61:</span>     //Get the XML parser of PHP - PHP must have this module for the parser to work</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum62" style="color: #606060;">  62:</span>     $parser = xml_parser_create('');</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum63" style="color: #606060;">  63:</span>     xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "UTF-8<span style="color: #006080;">"); # http://minutillo.com/steve/weblog/2004/6/17/php-xml-and-character-encodings-a-tale-of-sadness-rage-and-data-loss </span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum64" style="color: #606060;">  64:</span>     xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum65" style="color: #606060;">  65:</span>     xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum66" style="color: #606060;">  66:</span>     xml_parse_into_struct($parser, trim($contents), $xml_values);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum67" style="color: #606060;">  67:</span>     xml_parser_free($parser);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum68" style="color: #606060;">  68:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum69" style="color: #606060;">  69:</span>     if(!$xml_values) return;//Hmm...</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum70" style="color: #606060;">  70:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum71" style="color: #606060;">  71:</span>     //Initializations</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum72" style="color: #606060;">  72:</span>     $xml_array = array();</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum73" style="color: #606060;">  73:</span>     $parents = array();</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum74" style="color: #606060;">  74:</span>     $opened_tags = array();</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum75" style="color: #606060;">  75:</span>     $arr = array();</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum76" style="color: #606060;">  76:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum77" style="color: #606060;">  77:</span>     $current = &amp;$xml_array; //Refference</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum78" style="color: #606060;">  78:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum79" style="color: #606060;">  79:</span>     //Go through the tags.</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum80" style="color: #606060;">  80:</span>     $repeated_tag_index = array();//Multiple tags with same name will be turned into an array</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum81" style="color: #606060;">  81:</span>     foreach($xml_values as $data) {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum82" style="color: #606060;">  82:</span>         unset($attributes,$value);//Remove existing values, or there will be trouble</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum83" style="color: #606060;">  83:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum84" style="color: #606060;">  84:</span>         //This command will extract these variables into the foreach scope</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum85" style="color: #606060;">  85:</span>         // tag(string), type(string), level(int), attributes(array).</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum86" style="color: #606060;">  86:</span>         extract($data);//We could use the array by itself, but this cooler.</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum87" style="color: #606060;">  87:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum88" style="color: #606060;">  88:</span>         $result = array();</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum89" style="color: #606060;">  89:</span>         $attributes_data = array();</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum90" style="color: #606060;">  90:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum91" style="color: #606060;">  91:</span>         if(isset($value)) {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum92" style="color: #606060;">  92:</span>             if($priority == 'tag') $result = $value;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum93" style="color: #606060;">  93:</span>             else $result['value'] = $value; //Put the value in a assoc array if we are in the 'Attribute' mode</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum94" style="color: #606060;">  94:</span>         }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum95" style="color: #606060;">  95:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum96" style="color: #606060;">  96:</span>         //Set the attributes too.</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum97" style="color: #606060;">  97:</span>         if(isset($attributes) and $get_attributes) {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum98" style="color: #606060;">  98:</span>             foreach($attributes as $attr =&gt; $val) {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum99" style="color: #606060;">  99:</span>                 if($priority == 'tag') $attributes_data[$attr] = $val;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum100" style="color: #606060;"> 100:</span>                 else $result['attr'][$attr] = $val; //Set all the attributes in a array called 'attr'</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum101" style="color: #606060;"> 101:</span>             }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum102" style="color: #606060;"> 102:</span>         }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum103" style="color: #606060;"> 103:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum104" style="color: #606060;"> 104:</span>         //See tag status and do the needed.</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum105" style="color: #606060;"> 105:</span>         if($type == "open<span style="color: #006080;">") {//The starting of the tag '&lt;tag&gt;' </span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum106" style="color: #606060;"> 106:</span>             $parent[$level-1] = &amp;$current;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum107" style="color: #606060;"> 107:</span>             if(!is_array($current) or (!in_array($tag, array_keys($current)))) { //Insert New tag</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum108" style="color: #606060;"> 108:</span>                 $current[$tag] = $result;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum109" style="color: #606060;"> 109:</span>                 if($attributes_data) $current[$tag. '_attr'] = $attributes_data;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum110" style="color: #606060;"> 110:</span>                 $repeated_tag_index[$tag.'_'.$level] = 1;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum111" style="color: #606060;"> 111:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum112" style="color: #606060;"> 112:</span>                 $current = &amp;$current[$tag];</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum113" style="color: #606060;"> 113:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum114" style="color: #606060;"> 114:</span>             } else { //There was another element with the same tag name</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum115" style="color: #606060;"> 115:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum116" style="color: #606060;"> 116:</span>                 if(isset($current[$tag][0])) {//If there is a 0th element it is already an array</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum117" style="color: #606060;"> 117:</span>                     $current[$tag][$repeated_tag_index[$tag.'_'.$level]] = $result;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum118" style="color: #606060;"> 118:</span>                     $repeated_tag_index[$tag.'_'.$level]++;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum119" style="color: #606060;"> 119:</span>                 } else {//This section will make the value an array if multiple tags with the same name appear together</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum120" style="color: #606060;"> 120:</span>                     $current[$tag] = array($current[$tag],$result);//This will combine the existing item and the new item together to make an array</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum121" style="color: #606060;"> 121:</span>                     $repeated_tag_index[$tag.'_'.$level] = 2;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum122" style="color: #606060;"> 122:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum123" style="color: #606060;"> 123:</span>                     if(isset($current[$tag.'_attr'])) { //The attribute of the last(0th) tag must be moved as well</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum124" style="color: #606060;"> 124:</span>                         $current[$tag]['0_attr'] = $current[$tag.'_attr'];</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum125" style="color: #606060;"> 125:</span>                         unset($current[$tag.'_attr']);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum126" style="color: #606060;"> 126:</span>                     }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum127" style="color: #606060;"> 127:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum128" style="color: #606060;"> 128:</span>                 }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum129" style="color: #606060;"> 129:</span>                 $last_item_index = $repeated_tag_index[$tag.'_'.$level]-1;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum130" style="color: #606060;"> 130:</span>                 $current = &amp;$current[$tag][$last_item_index];</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum131" style="color: #606060;"> 131:</span>             }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum132" style="color: #606060;"> 132:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum133" style="color: #606060;"> 133:</span>         } elseif($type == "complete") { <span style="color: #008000;">//Tags that ends in 1 line '&lt;tag /&gt;' </span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum134" style="color: #606060;"> 134:</span>             <span style="color: #008000;">//See if the key is already taken. </span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum135" style="color: #606060;"> 135:</span>             <span style="color: #0000ff;">if</span>(!isset($current[$tag])) { <span style="color: #008000;">//New Key </span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum136" style="color: #606060;"> 136:</span>                 $current[$tag] = $result;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum137" style="color: #606060;"> 137:</span>                 $repeated_tag_index[$tag.<span style="color: #006080;">'_'</span>.$level] = 1;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum138" style="color: #606060;"> 138:</span>                 <span style="color: #0000ff;">if</span>($priority == <span style="color: #006080;">'tag'</span> and $attributes_data) $current[$tag. <span style="color: #006080;">'_attr'</span>] = $attributes_data;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum139" style="color: #606060;"> 139:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum140" style="color: #606060;"> 140:</span>             } <span style="color: #0000ff;">else</span> { <span style="color: #008000;">//If taken, put all things inside a list(array) </span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum141" style="color: #606060;"> 141:</span>                 <span style="color: #0000ff;">if</span>(isset($current[$tag][0]) and is_array($current[$tag])) {<span style="color: #008000;">//If it is already an array... </span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum142" style="color: #606060;"> 142:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum143" style="color: #606060;"> 143:</span>                     <span style="color: #008000;">// ...push the new element into that array. </span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum144" style="color: #606060;"> 144:</span>                     $current[$tag][$repeated_tag_index[$tag.<span style="color: #006080;">'_'</span>.$level]] = $result;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum145" style="color: #606060;"> 145:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum146" style="color: #606060;"> 146:</span>                     <span style="color: #0000ff;">if</span>($priority == <span style="color: #006080;">'tag'</span> and $get_attributes and $attributes_data) {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum147" style="color: #606060;"> 147:</span>                         $current[$tag][$repeated_tag_index[$tag.<span style="color: #006080;">'_'</span>.$level] . <span style="color: #006080;">'_attr'</span>] = $attributes_data;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum148" style="color: #606060;"> 148:</span>                     }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum149" style="color: #606060;"> 149:</span>                     $repeated_tag_index[$tag.<span style="color: #006080;">'_'</span>.$level]++;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum150" style="color: #606060;"> 150:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum151" style="color: #606060;"> 151:</span>                 } <span style="color: #0000ff;">else</span> { <span style="color: #008000;">//If it is not an array... </span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum152" style="color: #606060;"> 152:</span>                     $current[$tag] = array($current[$tag],$result); <span style="color: #008000;">//...Make it an array using using the existing value and the new value </span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum153" style="color: #606060;"> 153:</span>                     $repeated_tag_index[$tag.<span style="color: #006080;">'_'</span>.$level] = 1;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum154" style="color: #606060;"> 154:</span>                     <span style="color: #0000ff;">if</span>($priority == <span style="color: #006080;">'tag'</span> and $get_attributes) {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum155" style="color: #606060;"> 155:</span>                         <span style="color: #0000ff;">if</span>(isset($current[$tag.<span style="color: #006080;">'_attr'</span>])) { <span style="color: #008000;">//The attribute of the last(0th) tag must be moved as well </span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum156" style="color: #606060;"> 156:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum157" style="color: #606060;"> 157:</span>                             $current[$tag][<span style="color: #006080;">'0_attr'</span>] = $current[$tag.<span style="color: #006080;">'_attr'</span>];</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum158" style="color: #606060;"> 158:</span>                             unset($current[$tag.<span style="color: #006080;">'_attr'</span>]);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum159" style="color: #606060;"> 159:</span>                         }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum160" style="color: #606060;"> 160:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum161" style="color: #606060;"> 161:</span>                         <span style="color: #0000ff;">if</span>($attributes_data) {</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum162" style="color: #606060;"> 162:</span>                             $current[$tag][$repeated_tag_index[$tag.<span style="color: #006080;">'_'</span>.$level] . <span style="color: #006080;">'_attr'</span>] = $attributes_data;</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum163" style="color: #606060;"> 163:</span>                         }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum164" style="color: #606060;"> 164:</span>                     }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum165" style="color: #606060;"> 165:</span>                     $repeated_tag_index[$tag.<span style="color: #006080;">'_'</span>.$level]++; <span style="color: #008000;">//0 and 1 index is already taken </span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum166" style="color: #606060;"> 166:</span>                 }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum167" style="color: #606060;"> 167:</span>             }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum168" style="color: #606060;"> 168:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum169" style="color: #606060;"> 169:</span>         } elseif($type == <span style="color: #006080;">'close'</span>) { <span style="color: #008000;">//End of tag '&lt;/tag&gt;' </span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum170" style="color: #606060;"> 170:</span>             $current = &amp;$parent[$level-1];</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum171" style="color: #606060;"> 171:</span>         }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum172" style="color: #606060;"> 172:</span>     }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum173" style="color: #606060;"> 173:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum174" style="color: #606060;"> 174:</span>     <span style="color: #0000ff;">return</span>($xml_array);</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum175" style="color: #606060;"> 175:</span> }</pre>
<p><!--CRLF--></p>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum176" style="color: #606060;"> 176:</span> ?&gt;</pre>
<p><!--CRLF--></p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://james-lloyd.com/xbmc-gmail-notifications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Iphone 2g MMS on BT Total Broadband Anywhere</title>
		<link>http://james-lloyd.com/iphone-2g-mms-on-bt-total-broadband-anywhere/</link>
		<comments>http://james-lloyd.com/iphone-2g-mms-on-bt-total-broadband-anywhere/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 12:29:59 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Apple Mac]]></category>
		<category><![CDATA[Techy Stuff]]></category>
		<category><![CDATA[BT Anywhere]]></category>
		<category><![CDATA[BT Totalbroadband]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mms.BT]]></category>

		<guid isPermaLink="false">http://www.james-lloyd.com/?p=712</guid>
		<description><![CDATA[I have succesfully got MMS working on my Iphone 2g with BT Total Broadband anywhere / BTMobile, and have solved the problem where the mms APN settings do not save.

Have your unlocked iphone 2g (on firmware v3.0, anything earlier and your about to brick your iphone)
Run Cydia install Activate2Gmms
Reboot
check settings -&#62;General -&#62;Network -&#62; Cellular Data Network   [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 310px"><img title="Iphone 2g MMS" src="http://www.macblogz.com/Media/2009/1/iphoneMMS.jpg" alt="MMS Enable your 2g Iphone" width="300" height="336" /><p class="wp-caption-text">MMS Enable your 2g Iphone</p></div>
<p>I have succesfully got MMS working on my Iphone 2g with BT Total Broadband anywhere / BTMobile, and have solved the problem where the mms APN settings do not save.<span id="more-712"></span></p>
<ol>
<li>Have your unlocked iphone 2g (on firmware v3.0, anything earlier and your about to brick your iphone)</li>
<li>Run Cydia install Activate2Gmms</li>
<li><strong>Reboot</strong></li>
<li>check settings -&gt;General -&gt;Network -&gt; Cellular Data Network   and confirm you now have the mms settings (if not repeat step 2)</li>
<li>open safari and browse to <a href="http://help.benm.at">http://help.benm.at</a></li>
<li>click on the mobile config generator (half way down i think)</li>
<li>and create a new config, filling in both mobile internet &amp; visual voicemail (even though you dont have it) enable mobile tethering.  for both sets of config APN = <strong>btmobile.bt.com</strong> Username = <strong>bt </strong>and password = <strong>bt</strong> (note: dont put the equals sign in etc. duh!)</li>
<li>Click Generate and install the profile</li>
<li>once installed <strong>Reboot</strong> your iphone, dont check to see if its worked.</li>
<li>Once your phone is back up go back to settings -&gt;General -&gt;Network -&gt; Cellular Data Network</li>
<li>You should see all three (Cellular Data, Visual Voicemail &amp; MMS) have the same setting in them.</li>
<li>goto mms MMSC and enter &#8220;<a href="http://mms.bt.com/servlets/mms"><strong>http://mms.bt.com/servlets/mms</strong></a>&#8221; (without the quotes)</li>
<li>goto mms proxy and enter &#8220;<strong>212.182.137.12:8799</strong>&#8221; (without the quotes)</li>
<li>and reboot your iphone.</li>
</ol>
<p>Thats it.</p>
]]></content:encoded>
			<wfw:commentRss>http://james-lloyd.com/iphone-2g-mms-on-bt-total-broadband-anywhere/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Using Gmail as a Sendmail Relay</title>
		<link>http://james-lloyd.com/getting-sendmail-use-gmail-as-a-relay-2/</link>
		<comments>http://james-lloyd.com/getting-sendmail-use-gmail-as-a-relay-2/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 11:43:28 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Techy Stuff]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[Sendmail]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.james-lloyd.com/?p=695</guid>
		<description><![CDATA[The revenge this time its personal!
K I just setup sendmail to relay using gmail again,  thought I better post what I have done as my original now out of date post is still getting quite a lot of views.
This is based on my Ubuntu 8.10 Server ( 2.6.27-11-server) all patched up todays date and then I did [...]]]></description>
			<content:encoded><![CDATA[<span id="The_revenge_this_time_its_personal"><h3>The revenge this time its personal!</h3></span>
<p>K I just setup sendmail to relay using gmail again,  thought I better post what I have done as my original now out of date post is still getting quite a lot of views.</p>
<p>This is based on my Ubuntu 8.10 Server ( 2.6.27-11-server) all patched up todays date and then I did the below.<span id="more-695"></span></p>
<p>First off make sure you can actually resolve gmail.com, working ? good.</p>
<pre style="padding-left: 30px;">sudo apt-get install sendmail
sudo cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.orig
sudo vi /etc/mail/sendmail.mc</pre>
<p>Add the following to the bottom of your virgin sendmail.mc (shift+g to get to end of file):</p>
<pre style="padding-left: 30px;">define(`SMART_HOST',`smtp.gmail.com')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl
define(`CERT_DIR', `MAIL_SETTINGS_DIR`'certs')
define(`confCACERT_PATH', `CERT_DIR')
define(`confCACERT', `CERT_DIR/CAcert.pem')
define(`confSERVER_CERT', `CERT_DIR/mycert.pem')
define(`confSERVER_KEY', `CERT_DIR/mykey.pem')
define(`confCLIENT_CERT', `CERT_DIR/mycert.pem')
define(`confCLIENT_KEY', `CERT_DIR/mykey.pem')</pre>
<p>Save the file.</p>
<pre style="padding-left: 30px; ">sudo mkdir /etc/mail/auth
sudo vi /etc/mail/auth/client-info</pre>
<p>Add the following line to the new client-info file replacing the text between the greater than and less than signs (did I need to spell that out ?):</p>
<pre style="padding-left: 30px; ">AuthInfo:smtp.gmail.com "U:root" "I:&lt;YOUR GMAIL USERNAME HERE&gt;@gmail.com" "P:&lt;YOU GMAIL PASSWORD HERE&gt;"</pre>
<p>Save the file.</p>
<pre style="padding-left: 30px; ">makemap hash client-info &lt; client-info
chmod 700 /etc/mail/auth
chmod 600 /etc/mail/auth/*
mkdir /etc/mail/certs
cd /etc/mail/certs
openssl dsaparam 1024 -out dsa1024 -out dsa1024.pem
openssl req -x509 -nodes -days 3650 -newkey dsa:dsa1024.pem -out /etc/mail/certs/mycert.pem -keyout /etc/mail/certs/mykey.pem
ln -s /etc/mail/certs/mycert.pem /etc/mail/certs/CAcert.pem
openssl req -x509 -new -days 3650 -key /etc/mail/certs/mykey.pem -out /etc/mail/certs/mycert.pem
chmod 700 /etc/mail/certs
chmod 600 /etc/mail/certs/*
cd /etc/mail
make
/etc/init.d/sendmail reload</pre>
<p><span style="font-family: 'Courier New'; line-height: 18px; font-size: 12px; white-space: pre; "> Bish Bosh!</span></p>
]]></content:encoded>
			<wfw:commentRss>http://james-lloyd.com/getting-sendmail-use-gmail-as-a-relay-2/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>2statereviews.com</title>
		<link>http://james-lloyd.com/2statereviewscom/</link>
		<comments>http://james-lloyd.com/2statereviewscom/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 09:24:15 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[My Projects]]></category>
		<category><![CDATA[2statereviews]]></category>
		<category><![CDATA[film reviews]]></category>
		<category><![CDATA[movies]]></category>
		<category><![CDATA[voting]]></category>

		<guid isPermaLink="false">http://www.james-lloyd.com/?p=634</guid>
		<description><![CDATA[Im Currently spending all my spare spare time,  building 2statereviews.com with Darren Watt.  The site is based on Darrens long time Film reccomendation system which has only 2 states See! or Dont See!.   Simplicity at its best, the site allows you to search for films and vote See, Dont See for them, warning though its [...]]]></description>
			<content:encoded><![CDATA[<p>Im Currently spending all my spare spare time,  building <a title="2statereviews.com" href="http://2statereviews.com" target="_blank">2statereviews.com</a> with <a title="darrenwatt.com" href="http://www.darrenwatt.com">Darren Watt</a>.  The site is based on Darrens long time Film reccomendation system which has only 2 states See! or Dont See!.   Simplicity at its best, the site allows you to search for films and vote See, Dont See for them, warning though its quite addictive.    The site is currently 80% feature complete ( this figure changes constantly as I make up new features).</p>
<p><a href="http://2statereviews.com"><img class="aligncenter size-full wp-image-635" title="alpha-invite" src="http://www.james-lloyd.com/wp-content/uploads/2009/02/alpha-invite.png" alt="alpha-invite" width="640" height="480" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://james-lloyd.com/2statereviewscom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to get to Version 1 phpadadmin</title>
		<link>http://james-lloyd.com/how-to-get-to-version-1-phpadadmin/</link>
		<comments>http://james-lloyd.com/how-to-get-to-version-1-phpadadmin/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 08:54:48 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[phpadadmin]]></category>
		<category><![CDATA[Version 1]]></category>

		<guid isPermaLink="false">http://www.james-lloyd.com/?p=621</guid>
		<description><![CDATA[Thought its probably worth explaining what I think Version 1 of phpadadmin would look and be able to do. 
Things it needs to be able to do:

Allow any user to edit their own Active Directory attributes.  [In Current Release]

Allow an administrator to determine which attributes can be edited [In Current Release]
Allow an administrator to dictate a range [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="phpadadmin current logo" src="http://phpadadmin.googlecode.com/svn/trunk/images/logo.gif" alt="" width="179" height="36" />Thought its probably worth explaining what I think Version 1 of phpadadmin would look and be able to do. </p>
<p>Things it needs to be able to do:</p>
<ul>
<li>Allow any user to edit their own Active Directory attributes.  [<em>In Current Release</em>]
<ul>
<li>Allow an administrator to determine which attributes can be edited [<em>In Current Release</em>]</li>
<li>Allow an administrator to dictate a range of choices for a field<sup>1 </sup>[<em>In Current Release</em>]</li>
</ul>
</li>
<li>Allow the users access to all that directory information by providing a powerful search
<ul>
<li>Allow the administrator to determine which fields can be used to search on</li>
<li>and which fields can be returned in the search.</li>
<li>Users contacts details export to <a title="VCard wikipedia article" href="http://en.wikipedia.org/wiki/VCard">vCard</a> format</li>
<li>Allow phone number to be formatted in a way that can be picked up by various SIP softphones i.e. phone://&lt;number&gt; etc.<span id="more-621"></span></li>
</ul>
</li>
<li>Self Service Passwords Resets (for me the most important feature)
<ul>
<li>Allow users to set their own challenge questions &amp; answer
<ul>
<li>Encrypt those questions in the DB</li>
<li>Hash the Answers</li>
</ul>
</li>
<li>Allow the admins to set the complexity requirements etc.</li>
<li>Allow admins to state the minimum number of questions required to enable Self service password resets</li>
<li>Allow admins to state the number of questions required to reset a password.</li>
<li>Ability to use of 2 factor authentication
<ul>
<li>Send an password unlock code to either an external Email address ( set by the user in thier ad attributes)</li>
<li>Or SMS (via smtp gateway) to a mobile set in thier AD fields.</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>As you can see there is some way to go yet before I can reach the coveted Version 1.  The experience with previous versions I have written means, alot of the backend work is already there and in many cases (like search for example) its just the frontend interface that need completing. Further off post V1 I want to go further into allowing users to perform simple admin tasks. Such as:</p>
<ul>
<li>allowing the owner of the Directory to pick who has read or read/write access</li>
<li>Letting Managers create users for new hires</li>
<li>Exchange integration</li>
</ul>
<p>The list could go on for ever, but im mindful (no one said mindful before starwars) of biting of more than I can chew.</p>
<ol>
<li>This is good to get around the problem where you have a directory full of Speelling mistakes.  Allowing you to give you users the freedom to tell you for example that they are in that office with the weird name and stopping them having to gave a stab at spelling it.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://james-lloyd.com/how-to-get-to-version-1-phpadadmin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>phpadadmin 0.711</title>
		<link>http://james-lloyd.com/phpadadmin-0711/</link>
		<comments>http://james-lloyd.com/phpadadmin-0711/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 17:50:27 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Techy Stuff]]></category>
		<category><![CDATA[phpadadmin]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://www.james-lloyd.com/?p=616</guid>
		<description><![CDATA[Not a lot of new functionality added here mainly changing the back end to function better, and allowing you to set your ad password without first having to have you ad password set :S.
The environment checker now tests :

If Seamless authentication is enabled correctly in IIS manager
If it can connect to the mysql db if [...]]]></description>
			<content:encoded><![CDATA[<p>Not a lot of new functionality added here mainly changing the back end to function better, and allowing you to set your ad password without first having to have you ad password set :S.</p>
<p>The environment checker now tests :</p>
<ul>
<li>If Seamless authentication is enabled correctly in IIS manager</li>
<li>If it can connect to the mysql db if php extension is in place</li>
<li>and if it can get any info out of AD using your current user.<span id="more-616"></span></li>
</ul>
<p>Once all the above and a few other bits are satisfied it will prompt you to go to the AD password set page   This page is visible to everyone but disabled for all except the administrator user you specify in the config.php.    Once you have set your password it will prompt you to go to the ldap config page where the AD password is still visible (stared out) but you cant change it there.</p>
<h3 style="text-align: center;"><a title="phpadadmin release version 0.711" href="http://phpadadmin.googlecode.com/files/phpadadmin-0.711.zip">download phpadadmin 0.711</a></h3>
]]></content:encoded>
			<wfw:commentRss>http://james-lloyd.com/phpadadmin-0711/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>phpADadmin update v0.71</title>
		<link>http://james-lloyd.com/phpadadmin-update-v071/</link>
		<comments>http://james-lloyd.com/phpadadmin-update-v071/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 20:35:05 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[phpadadmin]]></category>
		<category><![CDATA[screenshot]]></category>

		<guid isPermaLink="false">http://www.james-lloyd.com/?p=585</guid>
		<description><![CDATA[Quick update on progress since I started to rewrite phpadadmin again,  All the config pages are now complete, and am now pulling the adldap config directly out of the DB.  

Added a couple of nice new features like being able to force the site to https if such is your want. 
Added the encryption functions in [...]]]></description>
			<content:encoded><![CDATA[<p>Quick update on progress since I started to rewrite phpadadmin again,  All the config pages are now complete, and am now pulling the adldap config directly out of the DB.  </p>
<ul>
<li>Added a couple of nice new features like being able to force the site to https if such is your want. </li>
<li>Added the encryption functions in for the Self Service password resets.  </li>
<li>Done some work on the look of the whole thing ( see screen shot below).</li>
</ul>
<p><span id="more-585"></span></p>
<div id="attachment_586" class="wp-caption alignleft" style="width: 310px"><a href="http://www.james-lloyd.com/wp-content/uploads/2009/01/phpadadmin2.jpg" rel="lightbox"><img class="size-medium wp-image-586 " title="phpadadmin2" src="http://www.james-lloyd.com/wp-content/uploads/2009/01/phpadadmin2-300x253.jpg" alt="phpadadmin at v0.71" width="300" height="253" /></a><p class="wp-caption-text">phpadadmin at v0.71</p></div>
<p>I have just rebuilt my VMware environment and have the DC and a client up and running.  Though dont have access to win2k8 at the moment, though from what I can make out the LDAP changes are minimal. So no great shakes.</p>
<p>I have dumped much of the documentation back up here under the <a href="/phpadadmin">phpadadmin</a> page. Will have to write a page on enabling https in IIS, which is fairly straight forward.</p>
<p>0.71 can be downloaded below if your interested in trying out what is complete so far. Note: currently in order to change your ad password you&#8217;ll need to do it manually in mysql, which is appreciate is a bit of an oxymoron. Will change it in the next release.</p>
<p><a class="aligncenter" title="Phpadadmin 0.71 Download" href="http://phpadadmin.googlecode.com/files/phpadadmin-0.71.zip" target="_self">Download phpADadmin 0.71</a></p>
]]></content:encoded>
			<wfw:commentRss>http://james-lloyd.com/phpadadmin-update-v071/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>phpADadmin In Progress again again</title>
		<link>http://james-lloyd.com/phpadadmin-in-progress-again-again/</link>
		<comments>http://james-lloyd.com/phpadadmin-in-progress-again-again/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 17:54:35 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[phpadadmin]]></category>
		<category><![CDATA[Active Directory]]></category>

		<guid isPermaLink="false">http://www.james-lloyd.com/?p=527</guid>
		<description><![CDATA[&#60;farnsworth&#62;&#8221;Good news everyone&#8221;&#60;/farnsworth&#62; I have started to code phpadadmin again, on the back of the experience i have gained from the last couple of php projects I have been doing. This time its going to be better than ever before ( Naturally).  This time I have started with the background config and working up, so [...]]]></description>
			<content:encoded><![CDATA[<p>&lt;farnsworth&gt;&#8221;Good news everyone&#8221;&lt;/farnsworth&gt; I have started to code phpadadmin again, on the back of the experience i have gained from the last couple of php projects I have been doing. This time its going to be better than ever before ( Naturally).  This time I have started with the background config and working up, so to speak. The attribute conifguration is now finished and has a web UI and mysql backend. This makes it alot easier to make changes. Also I have just got ajax forms validation working <img src='http://james-lloyd.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  w00t! So you have assign each attribute whether its a required field and a number of others, or none at all such is your want.<span id="more-527"></span></p>
<div id="attachment_538" class="wp-caption alignleft" style="width: 310px"><a href="http://www.james-lloyd.com/wp-content/uploads/2009/01/phpadadmin.jpg" rel="lightbox"><img class="size-medium wp-image-538 " title="phpadadmin" src="http://www.james-lloyd.com/wp-content/uploads/2009/01/phpadadmin-300x276.jpg" alt="phpadadmin" width="300" height="276" /></a><p class="wp-caption-text">Lastest Screen Shot of user edit screen</p></div>
<p>Validation Currently working is:</p>
<ul>
<li>Text only ( a-z &amp; A-Z )</li>
<li>Numbers only</li>
<li>Alphanumerics</li>
<li>Email Address</li>
<li>Required.</li>
</ul>
<p>You can now define the order in which the feilds are presented to your users. Already I have added a bunch of new features, which I&#8217;m quite excited about. Notably missing at this point is the entire hook into AD <img src='http://james-lloyd.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , but thats very straight forward now I know what I&#8217;m doing.</p>
<p>progress is being made and backedup to <a title="phpadadmin google code site" href="http://code.google.com/p/phpadadmin" target="_blank">http://code.google.com/p/phpadadmin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://james-lloyd.com/phpadadmin-in-progress-again-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quake 2 Stats</title>
		<link>http://james-lloyd.com/quake-2-stats/</link>
		<comments>http://james-lloyd.com/quake-2-stats/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 22:42:22 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Quake II]]></category>
		<category><![CDATA[Quake2]]></category>
		<category><![CDATA[Stats]]></category>

		<guid isPermaLink="false">http://www.james-lloyd.com/?p=494</guid>
		<description><![CDATA[Now I have my new laptop with its 8600M GT graphics card, its only natural that I will want to stretch my gfx

card legs by playing Quake 2 at 750+ FPS. Isn&#8217;t it! becuase of this Darren has built a proper Q2 server accessible on the electric interweb.  The server can be found quake2://kungfudazza.game-server.cc:27910
and is [...]]]></description>
			<content:encoded><![CDATA[<p>Now I have my new laptop with its 8600M GT graphics card, its only natural that I will want to stretch my gfx</p>
<p><a href="http://www.james-lloyd.com/wp-content/uploads/2008/12/q2stats.png" rel="lightbox"><img class="size-medium wp-image-495 alignleft" title="q2stats" src="http://www.james-lloyd.com/wp-content/uploads/2008/12/q2stats-300x203.png" alt="" width="300" height="203" /></a></p>
<p>card legs by playing Quake 2 at 750+ FPS. Isn&#8217;t it! becuase of this Darren has built a proper Q2 server accessible on the electric interweb.  The server can be found <a href="quake2://kungfudazza.game-server.cc:27910">quake2://kungfudazza.game-server.cc:27910</a></p>
<p>and is running lithium so has the grapple hook.<span id="more-494"></span></p>
<p>So now how do we quench out thirst for lovely stats that were so used to now in COD4 etc.  We right our own.</p>
<p>Annoucing the all new KungFu Stats for all your Quake II old school gaming requirements.  My favorite feature so far is Nemesiss detection.</p>
<p>Currently live with guff data at <a href="http://darrenwatt.com/q2stats">http://darrenwatt.com/q2stats </a></p>
<p>My current demo of current code can be seen at <a href="http://www.darrenwatt.com/q2stats/">http://www.darrenwatt.com/q2stats/</a>and the code is at h<a href="http://code.google.com/p/quake2stats/">ttp://code.google.com/p/quake2stats/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://james-lloyd.com/quake-2-stats/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
