<?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>Lannerd &#187; code snippets</title>
	<atom:link href="http://lannerd.nl/blog/archives/category/code-snippets/feed" rel="self" type="application/rss+xml" />
	<link>http://lannerd.nl/blog</link>
	<description>Just me ...</description>
	<lastBuildDate>Tue, 22 Jun 2010 14:10:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Hide Replies &#8211; mijn eerste vBulletin hack</title>
		<link>http://lannerd.nl/blog/archives/105</link>
		<comments>http://lannerd.nl/blog/archives/105#comments</comments>
		<pubDate>Mon, 06 Aug 2007 22:20:01 +0000</pubDate>
		<dc:creator>Lennard</dc:creator>
				<category><![CDATA[Just me]]></category>
		<category><![CDATA[code snippets]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[vbulletin]]></category>

		<guid isPermaLink="false">http://lannerd.nl/archives/105</guid>
		<description><![CDATA[Mijn eerste hack is gemaakt. En dan met heel wat uren schelden op vBulletin en dan met name de documentatie daarvan. Voornamelijk de ontbrekende documentatie. Hierdoor heb ik nog even het idee dat bepaalde dingen handiger of beter kunnen. Om deze redenen is het nu versie 0.02 (beta). De hack zorgt ervoor dat in een [...]]]></description>
			<content:encoded><![CDATA[<p>Mijn eerste hack is gemaakt. En dan met heel wat uren schelden op vBulletin en dan met name de documentatie daarvan. Voornamelijk de ontbrekende documentatie. Hierdoor heb ik nog even het idee dat bepaalde dingen handiger of beter kunnen. Om deze redenen is het nu versie 0.02 (beta).</p>
<p>De hack zorgt ervoor dat in een thread de bezoeker alleen de eerste en zijn eigen antwoorden kan bekijken. De overige antwoorden worden voor de gebruikers verborgen gehouden. De thread starter (TS) kan wel alle antwoorden bekijken.</p>
<p>Daarnaast zijn er twee opties configureerbaar:</p>
<ul>
<li>Mag een lid meerdere keren in een thread een antwoord geven of mag die dat maar eenmalig (en moet die daarna zijn enige antwoord bewerken).</li>
<li>Indien een thread afgesloten wordt, moeten alle antwoorden dan wel of niet voor iedereen zichtbaar worden.</li>
</ul>
<p>De huidige versie heeft nog wel een paar beperkingen:</p>
<ul>
<li>Een thread kan niet geprint worden.</li>
<li>Subscriptions op een thread kunnen niet gezet worden. Alleen voor de TS wordt deze automatisch gezet als de config van de TS dit toestaat.</li>
<li>Code voldoet niet aan de vBulletin standaard</li>
</ul>
<p>Voor de komende versies staan de volgende punten op de agenda (geen prioriteit aan gegeven) :</p>
<ul>
<li>Een gebruiker mag zijn eigen thread sluiten.</li>
<li>Code vBulletin standaard maken.</li>
<li>…</li>
</ul>
<p>Voor nu is versie 0.02 beta hier te vinden: <strong>DON&#8217;T USE THIS LINK</strong></p>
<p>&#8211; EDIT &#8211;<br />
For the latest version, go to <a href="http://lannerd.nl/vbhacks/">http://lannerd.nl/vbhacks/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://lannerd.nl/blog/archives/105/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>more with PHP; PEAR</title>
		<link>http://lannerd.nl/blog/archives/50</link>
		<comments>http://lannerd.nl/blog/archives/50#comments</comments>
		<pubDate>Sun, 30 Apr 2006 17:48:05 +0000</pubDate>
		<dc:creator>Lennard</dc:creator>
				<category><![CDATA[Just me]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://lannerd.nl/archives/50</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: unrecognized character after (?&lt; at offset 3 in <b>/home/bakkerl/domains/lannerd.nl/public_html/wordpress/wp-content/plugins/codesnippet/lib/geshi.php</b> on line <b>2132</b><br />
<br />
<b>Warning</b>:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: unrecognized character after (?&lt; at offset 3 in <b>/home/bakkerl/domains/lannerd.nl/public_html/wordpress/wp-content/plugins/codesnippet/lib/geshi.php</b> on line <b>2132</b><br />
<br />
<b>Warning</b>:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: unrecognized character after (?&lt; at offset 3 in <b>/home/bakkerl/domains/lannerd.nl/public_html/wordpress/wp-content/plugins/codesnippet/lib/geshi.php</b> on line <b>2132</b><br />
<br />
<b>Warning</b>:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: unrecognized character after (?&lt; at offset 3 in <b>/home/bakkerl/domains/lannerd.nl/public_html/wordpress/wp-content/plugins/codesnippet/lib/geshi.php</b> on line <b>2132</b><br />
<br />
<b>Warning</b>:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: unrecognized character after (?&lt; at offset 3 in <b>/home/bakkerl/domains/lannerd.nl/public_html/wordpress/wp-content/plugins/codesnippet/lib/geshi.php</b> on line <b>2132</b><br />
<br />
<b>Warning</b>:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: unrecognized character after (?&lt; at offset 3 in <b>/home/bakkerl/domains/lannerd.nl/public_html/wordpress/wp-content/plugins/codesnippet/lib/geshi.php</b> on line <b>2132</b><br />
Some of the forum of which I am a member of, are about developing websites, most are Linux, Apache, MySQL and PHP (LAMP). Some of the questions are about querying the database. Most of the time examples are given so other can see what may go wrong. Example 1 (Dutch forum, so Dutch variables and [...]]]></description>
			<content:encoded><![CDATA[<br />
<b>Warning</b>:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: unrecognized character after (?&lt; at offset 3 in <b>/home/bakkerl/domains/lannerd.nl/public_html/wordpress/wp-content/plugins/codesnippet/lib/geshi.php</b> on line <b>2132</b><br />
<br />
<b>Warning</b>:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: unrecognized character after (?&lt; at offset 3 in <b>/home/bakkerl/domains/lannerd.nl/public_html/wordpress/wp-content/plugins/codesnippet/lib/geshi.php</b> on line <b>2132</b><br />
<br />
<b>Warning</b>:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: unrecognized character after (?&lt; at offset 3 in <b>/home/bakkerl/domains/lannerd.nl/public_html/wordpress/wp-content/plugins/codesnippet/lib/geshi.php</b> on line <b>2132</b><br />
<br />
<b>Warning</b>:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: unrecognized character after (?&lt; at offset 3 in <b>/home/bakkerl/domains/lannerd.nl/public_html/wordpress/wp-content/plugins/codesnippet/lib/geshi.php</b> on line <b>2132</b><br />
<br />
<b>Warning</b>:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: unrecognized character after (?&lt; at offset 3 in <b>/home/bakkerl/domains/lannerd.nl/public_html/wordpress/wp-content/plugins/codesnippet/lib/geshi.php</b> on line <b>2132</b><br />
<br />
<b>Warning</b>:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: unrecognized character after (?&lt; at offset 3 in <b>/home/bakkerl/domains/lannerd.nl/public_html/wordpress/wp-content/plugins/codesnippet/lib/geshi.php</b> on line <b>2132</b><br />
<p>Some of the forum of which I am a member of, are about developing websites, most are Linux, Apache, MySQL and  PHP (LAMP). Some of the questions are about querying the database. Most of the time examples are given so other can see what may go wrong.</p>
<p>Example 1 (Dutch forum, so Dutch variables and output):</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$optie1</span> <span class="sy0">=</span> <span class="re0">$_POST</span><span class="br0">&#91;</span><span class="st_h">&#8216;optie1&#8242;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$optie2</span> <span class="sy0">=</span> <span class="re0">$_POST</span><span class="br0">&#91;</span><span class="st_h">&#8216;optie2&#8242;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$optie3</span> <span class="sy0">=</span> <span class="re0">$_POST</span><span class="br0">&#91;</span><span class="st_h">&#8216;optie3&#8242;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/mysql_query"><span class="kw3">mysql_query</span></a><span class="br0">&#40;</span><span class="st0">&quot;INSERT INTO gegevens (optie1, optie2, optie3) VALUES (&#8216;&quot;</span><span class="sy0">.</span><span class="re0">$optie1</span><span class="sy0">.</span><span class="st0">&quot;&#8217;, &#8216;&quot;</span><span class="sy0">.</span><span class="re0">$optie2</span><span class="sy0">.</span><span class="st0">&quot;&#8217;, &#8216;&quot;</span><span class="sy0">.</span><span class="re0">$optie3</span><span class="sy0">.</span><span class="st0">&quot;&#8217;)&quot;</span><span class="br0">&#41;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; or <a href="http://www.php.net/die"><span class="kw3">die</span></a><span class="br0">&#40;</span><a href="http://www.php.net/mysql_error"><span class="kw3">mysql_error</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">echo</span> <span class="st0">&quot;Je hebt een order toegevoegd&quot;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
<p>In this example the $_POST variables are read and unchecked and unescaped used in the query. I would guess that this person never heard of SQL-injection.</p>
<p>Example 2 (Again Dutch forum so Dutch output):</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span><a href="http://www.php.net/mysql_query"><span class="kw3">mysql_query</span></a><span class="br0">&#40;</span><span class="st0">&quot;UPDATE videos SET views = (views + 1) ,last_view = &#8216;&quot;</span><span class="sy0">.</span> <a href="http://www.php.net/date"><span class="kw3">date</span></a><span class="br0">&#40;</span><span class="st0">&quot;Y-m-j H:i:s&quot;</span><span class="sy0">,</span> <a href="http://www.php.net/time"><span class="kw3">time</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">.</span><span class="st0">&quot;&#8217; WHERE id = &quot;</span><span class="sy0">.</span> <a href="http://www.php.net/htmlspecialchars"><span class="kw3">htmlspecialchars</span></a><span class="br0">&#40;</span><span class="re0">$_GET</span><span class="br0">&#91;</span><span class="st_h">&#8216;id&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="sy0">.</span><span class="st0">&quot;&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">echo</span> <span class="st0">&quot;&lt;br /&gt;Er is een fout opgetreden: bijtellen van views is mislukt.&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>In this example the input is escaped so SQL-injection is filtered. But within this query you still need to explicit take care of the ‘’ (quotes) around the strings. </p>
<p>In these two and many other examples on the forums i never see much code which uses PEAR. “PEAR is a framework and distribution system for reusable PHP components”.<br />
Is this that no many know about <a href="http://pear.php.net">PEAR</a> (<a href="http://pear.php.net">http://pear.php.net</a>) of just not willing to use <a href="http://pear.php.net">PEAR</a>?</p>
<p>An example of the select query with PEAR (and opening the connection to the database).</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">require_once</span><span class="br0">&#40;</span><span class="st0">&quot;DB.php&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Setup the connection</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$db</span> <span class="sy0">=</span> DB<span class="sy0">::</span><span class="me2">connect</span><span class="br0">&#40;</span><span class="st0">&quot;mysql://username:password@hostname:tablename&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$db</span><span class="sy0">-&gt;</span><span class="me1">setFetchMode</span><span class="br0">&#40;</span>DB_FETCHMODE_ASSOC<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Create and execute query</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$sql</span> <span class="sy0">=</span> <span class="st0">&quot;SELECT * FROM tabel WHERE id=? and datefield BETWEEN ? AND ?&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$sqldata</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="re0">$id</span><span class="sy0">,</span> <span class="re0">$start_datum</span><span class="sy0">,</span> <span class="re0">$end_datum</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$rows</span> <span class="sy0">=</span> <span class="re0">$db</span><span class="sy0">-&gt;</span><span class="me1">getAll</span><span class="br0">&#40;</span><span class="re0">$sql</span><span class="sy0">,</span> <span class="re0">$sqldata</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span>DB<span class="sy0">::</span><span class="me2">IsError</span><span class="br0">&#40;</span><span class="re0">$rows</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <a href="http://www.php.net/die"><span class="kw3">die</span></a><span class="br0">&#40;</span><span class="st0">&quot;There in an error: &quot;</span><span class="sy0">.</span><span class="re0">$rows</span><span class="sy0">-&gt;</span><span class="me1">getMessage</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
<p>After this piece of code, all selected rows are in $rows. $rows is an array and can be directly used in PHP. No need to loop thru the results of the query and assign the values to an array. The ‘?’ (question mark) in the query string stands for the variables which are needed to fill in. These variables are put in an array (in the right order) and the query can be done. The code behind it will escape the variables if needed. If a field is required to be quoted in the query string, the quotes will be added. No more worries about SQL injection.</p>
<p>A few other advantages:<br />
- The connection string starts in this example with “mysql”. There can be replaced with other databases. Normally the code has to be rewritten if an other database is used. As seen in the first examples the method mysql_query() is used. This only works with a MySQL database, for a ProgreSQL database it would be pg_query() method.  By using PEAR the queries don’t have to be rewritten, only the connection string would change.<br />
- Beside the method getAll() which returns a array with all rows there is also a getOne() which only returns a array with only the first row. If you want to use the old ways and want to loop to the results yourself there is the method Query(). </p>
<p>Is PEAR just unknown to unknown or are the reasons why not to use PEAR?</p>
<p>The first reason was: PEAR isn’t always installed on a hosting environment.<br />
PEAR don’t need to be installed global on a system. It is easier way for use, but PEAR can also be installed in a subfolder of your project.</p>
]]></content:encoded>
			<wfw:commentRss>http://lannerd.nl/blog/archives/50/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Get and Set properties</title>
		<link>http://lannerd.nl/blog/archives/45</link>
		<comments>http://lannerd.nl/blog/archives/45#comments</comments>
		<pubDate>Tue, 11 Apr 2006 19:02:24 +0000</pubDate>
		<dc:creator>Lennard</dc:creator>
				<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://lannerd.nl/archives/45</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: unrecognized character after (?&lt; at offset 3 in <b>/home/bakkerl/domains/lannerd.nl/public_html/wordpress/wp-content/plugins/codesnippet/lib/geshi.php</b> on line <b>2132</b><br />
<br />
<b>Warning</b>:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: unrecognized character after (?&lt; at offset 3 in <b>/home/bakkerl/domains/lannerd.nl/public_html/wordpress/wp-content/plugins/codesnippet/lib/geshi.php</b> on line <b>2132</b><br />
I stole this piece of code. But placed it here so i find it back again. &#60;?php /* * Class BaseClass * * * * * $objTest = new BaseClass(); * print $objTest-&#62;data . &#34;n&#34;; * * $objTest-&#62;data = &#34;bar&#34;; //Works. * print $objTest-&#62;data; * * $objTest-&#62;id = 5; //Error: Property is read-only. * */ [...]]]></description>
			<content:encoded><![CDATA[<br />
<b>Warning</b>:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: unrecognized character after (?&lt; at offset 3 in <b>/home/bakkerl/domains/lannerd.nl/public_html/wordpress/wp-content/plugins/codesnippet/lib/geshi.php</b> on line <b>2132</b><br />
<br />
<b>Warning</b>:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: unrecognized character after (?&lt; at offset 3 in <b>/home/bakkerl/domains/lannerd.nl/public_html/wordpress/wp-content/plugins/codesnippet/lib/geshi.php</b> on line <b>2132</b><br />
<p>I <a target="_blank" href="http://nl2.php.net/manual/en/language.oop5.overloading.php#62195">stole</a> this piece of code. But placed it here so i find it back again.</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">* Class BaseClass</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">* $objTest = new BaseClass();</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">* print $objTest-&gt;data . &quot;n&quot;;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">* $objTest-&gt;data = &quot;bar&quot;; //Works.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">* print $objTest-&gt;data;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">* $objTest-&gt;id = 5; //Error: Property is read-only.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*/</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">class</span> BaseClass</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// EXAMPLE PROPERTIES</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">private</span> <span class="re0">$properties</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="st0">&quot;id&quot;</span> &nbsp; &nbsp; &nbsp; <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st0">&quot;value&quot;</span> <span class="sy0">=&gt;</span> <span class="nu0">4</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="st0">&quot;type&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;int&quot;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="st0">&quot;readonly&quot;</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span><span class="br0">&#41;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="st0">&quot;datetime&quot;</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st0">&quot;value&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;Tue 02/21/2006 20:49:23&quot;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="st0">&quot;type&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;string&quot;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="st0">&quot;readonly&quot;</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span><span class="br0">&#41;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="st0">&quot;data&quot;</span> &nbsp; &nbsp; <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st0">&quot;value&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;foo&quot;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="st0">&quot;type&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;string&quot;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="st0">&quot;readonly&quot;</span> <span class="sy0">=&gt;</span> <span class="kw4">false</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// END EXAMPLE PROPERTIES</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*/</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">private</span> <span class="kw2">function</span> __get<span class="br0">&#40;</span><span class="re0">$strProperty</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="co1">//Get a property:</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">properties</span><span class="br0">&#91;</span><span class="re0">$strProperty</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">properties</span><span class="br0">&#91;</span><span class="re0">$strProperty</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&quot;value&quot;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; throw <span class="kw2">new</span> Exception<span class="br0">&#40;</span><span class="st0">&quot;Property not defined&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">return</span> <span class="kw4">false</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*/</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">private</span> <span class="kw2">function</span> __set<span class="br0">&#40;</span><span class="re0">$strProperty</span><span class="sy0">,</span> <span class="re0">$varValue</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="co1">//Set a property to a value:</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">properties</span><span class="br0">&#91;</span><span class="re0">$strProperty</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">//Check if property is read-only:</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">properties</span><span class="br0">&#91;</span><span class="re0">$strProperty</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&quot;readonly&quot;</span><span class="br0">&#93;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; throw <span class="kw2">new</span> Exception<span class="br0">&#40;</span><span class="st0">&quot;Property is read-only&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw4">false</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">properties</span><span class="br0">&#91;</span><span class="re0">$strProperty</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&quot;value&quot;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$varValue</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw4">true</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; throw <span class="kw2">new</span> Exception<span class="br0">&#40;</span><span class="st0">&quot;Property not defined&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">return</span> <span class="kw4">false</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*/</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">private</span> <span class="kw2">function</span> __isset<span class="br0">&#40;</span><span class="re0">$strProperty</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="co1">//Determine if property is set:</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">return</span> <a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">properties</span><span class="br0">&#91;</span><span class="re0">$strProperty</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*/</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">private</span> <span class="kw2">function</span> __unset<span class="br0">&#40;</span><span class="re0">$strProperty</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="co1">//Unset (remove) a property:</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <a href="http://www.php.net/unset"><span class="kw3">unset</span></a><span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">properties</span><span class="br0">&#91;</span><span class="re0">$strProperty</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy1">?&gt;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://lannerd.nl/blog/archives/45/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert C# DateTime to unix timestamp</title>
		<link>http://lannerd.nl/blog/archives/36</link>
		<comments>http://lannerd.nl/blog/archives/36#comments</comments>
		<pubDate>Mon, 03 Apr 2006 09:08:04 +0000</pubDate>
		<dc:creator>Lennard</dc:creator>
				<category><![CDATA[c#]]></category>

		<guid isPermaLink="false">http://lannerd.nl/archives/36</guid>
		<description><![CDATA[DateTime now = new DateTime&#40;2006, 3, 22, 23, 12, 23&#41;; TimeSpan t = &#40;now - new DateTime&#40;1970, 1, 1&#41;.toLocalTime&#40;&#41;&#41;; int timestamp = &#40;int&#41; t.TotalSeconds;]]></description>
			<content:encoded><![CDATA[<div class="codesnip-container" >
<div class="c codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">DateTime now <span class="sy0">=</span> new DateTime<span class="br0">&#40;</span>2006<span class="sy0">,</span> 3<span class="sy0">,</span> 22<span class="sy0">,</span> 23<span class="sy0">,</span> 12<span class="sy0">,</span> 23<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">TimeSpan t <span class="sy0">=</span> <span class="br0">&#40;</span>now <span class="sy0">-</span> new DateTime<span class="br0">&#40;</span>1970<span class="sy0">,</span> 1<span class="sy0">,</span> 1<span class="br0">&#41;</span>.<span class="me1">toLocalTime</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> timestamp <span class="sy0">=</span> <span class="br0">&#40;</span><span class="kw4">int</span><span class="br0">&#41;</span> t.<span class="me1">TotalSeconds</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
<p class="MsoNormal" style="margin: 0in 0in 0pt">
<p class="MsoNormal" style="margin: 0in 0in 0pt">
]]></content:encoded>
			<wfw:commentRss>http://lannerd.nl/blog/archives/36/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

