<?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>God Object &#187; php</title>
	<atom:link href="http://www.god-object.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.god-object.com</link>
	<description>Because I know too much</description>
	<lastBuildDate>Tue, 15 Jun 2010 08:26:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>just released: Zend Framework 1.9.7</title>
		<link>http://www.god-object.com/2010/01/12/just-released-zend-framework-1-9-7/</link>
		<comments>http://www.god-object.com/2010/01/12/just-released-zend-framework-1-9-7/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 10:13:40 +0000</pubDate>
		<dc:creator>webpatser</dc:creator>
				<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://www.god-object.com/?p=259</guid>
		<description><![CDATA[Grab the latest version at the Zend Framework website. This update fixes 46 issues. This release also resolves six security vulnerabilities found in the last few weeks. Those vulnerabilities are also patched for the 1.8 and 1.7 branch. Bug [ZF-5156] &#8211; Custom pagesize results in fatal error [ZF-5163] &#8211; _getParam in Controller/Action don&#8217;t handle 0 [...]]]></description>
			<content:encoded><![CDATA[<p>Grab the latest version at the <a title="Download Zend Framework" href="http://framework.zend.com/download/latest" target="_blank">Zend Framework website</a>. This update fixes 46 issues. This release also resolves six security vulnerabilities found in the last few weeks. Those vulnerabilities are also patched for the <a title="Zend Framework 1.8.5" href="http://framework.zend.com/changelog/1.8.5" target="_blank">1.8</a> and <a title="Zend Framework 1.7.9" href="http://framework.zend.com/changelog/1.7.9" target="_blank">1.7</a> branch.</p>
<p><strong>Bug</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-5156">[ZF-5156]</a> &#8211; Custom pagesize results in fatal error<br />
<a href="http://framework.zend.com/issues/browse/ZF-5163">[ZF-5163]</a> &#8211; _getParam in Controller/Action don&#8217;t handle 0<br />
<a href="http://framework.zend.com/issues/browse/ZF-5948">[ZF-5948]</a> &#8211; Neverending loop in -&gt;parse()<br />
<a href="http://framework.zend.com/issues/browse/ZF-6753">[ZF-6753]</a> &#8211; Implementation of Dojo_View_Helper_Editor is outdated and insecure<br />
<a href="http://framework.zend.com/issues/browse/ZF-7342">[ZF-7342]</a> &#8211; Zend_Amf_Util_BinaryStream &#8211; Endian Detection Issue and Fix proposal<br />
<a href="http://framework.zend.com/issues/browse/ZF-7712">[ZF-7712]</a> &#8211; Zend_XmlRpc_Value_Double rounds to 6 decimal digits<br />
<a href="http://framework.zend.com/issues/browse/ZF-7896">[ZF-7896]</a> &#8211; Does zend_rest_route respect RESTful protocol stand<br />
<a href="http://framework.zend.com/issues/browse/ZF-8074">[ZF-8074]</a> &#8211; Problem when calling a webservice method with a Zend_XmlRpc_Value_DateTime object as parameter<br />
<a href="http://framework.zend.com/issues/browse/ZF-8084">[ZF-8084]</a> &#8211; Segmentation Fault with Zend_Paginator_Adapter_Iterator + Zend_Cache<br />
<a href="http://framework.zend.com/issues/browse/ZF-8127">[ZF-8127]</a> &#8211; Security issue in Zend_Dojo_View_Helper_Editor<br />
<a href="http://framework.zend.com/issues/browse/ZF-8289">[ZF-8289]</a> &#8211; Zend_Search_Lucene_Interface_MultiSearcher calls method that is not declared in Zend_Search_Lucene_Interface.<br />
<a href="http://framework.zend.com/issues/browse/ZF-8293">[ZF-8293]</a> &#8211; Setting Zend_Search_Lucene_Interface_MultiSearcher distributor callback does not work.<br />
<a href="http://framework.zend.com/issues/browse/ZF-8397">[ZF-8397]</a> &#8211; getEntry($anEntryLink) doesn&#8217;t work after updateEntry($anotherEntryObject)<br />
<a href="http://framework.zend.com/issues/browse/ZF-8407">[ZF-8407]</a> &#8211; Documentation about using multiple parameters in a string has an unwanted backslash<br />
<a href="http://framework.zend.com/issues/browse/ZF-8409">[ZF-8409]</a> &#8211; Zend_Filter_StripTags strips &#8216;&lt;&#8217; in text<br />
<a href="http://framework.zend.com/issues/browse/ZF-8427">[ZF-8427]</a> &#8211; Parse error after update to r19313<br />
<a href="http://framework.zend.com/issues/browse/ZF-8455">[ZF-8455]</a> &#8211; Problem Zend_Db_Adapter_Pdo_Pgsql::listTables()<br />
<a href="http://framework.zend.com/issues/browse/ZF-8492">[ZF-8492]</a> &#8211; Signature for Zend_Gdata_HttpClient::resetParameters() doesn&#8217;t match superclass<br />
<a href="http://framework.zend.com/issues/browse/ZF-8493">[ZF-8493]</a> &#8211; Zend_Mail_Transport_Sendmail creates warning if it doesnt exist instead of throwing an exception<br />
<a href="http://framework.zend.com/issues/browse/ZF-8497">[ZF-8497]</a> &#8211; DayOfYear set and get not consistent<br />
<a href="http://framework.zend.com/issues/browse/ZF-8511">[ZF-8511]</a> &#8211; Zend_Mail_Protocol_Abstract &#8211; truncates server response when SMTP server responds with umultiple line error message<br />
<a href="http://framework.zend.com/issues/browse/ZF-8537">[ZF-8537]</a> &#8211; Zend_Rest_Router must implements static method getInstance<br />
<a href="http://framework.zend.com/issues/browse/ZF-8595">[ZF-8595]</a> &#8211; Zend_Gdata_App_FeedEntryParent::setEtag() DocBlock (and others) Incorrect<br />
<a href="http://framework.zend.com/issues/browse/ZF-8663">[ZF-8663]</a> &#8211; Zend_Json internal does not encode solidus when encoding strings<br />
<a href="http://framework.zend.com/issues/browse/ZF-8671">[ZF-8671]</a> &#8211; Signature is invalid for all requests that have space in any of the signed query parameters<br />
<a href="http://framework.zend.com/issues/browse/ZF-8715">[ZF-8715]</a> &#8211; Inconsistent encoding across several view helpers<br />
<a href="http://framework.zend.com/issues/browse/ZF-8720">[ZF-8720]</a> &#8211; Bug fix for setLocation with exclamation mark<br />
<a href="http://framework.zend.com/issues/browse/ZF-8733">[ZF-8733]</a> &#8211; Zend_File_Transfer_Adapter_Abstract should not accept user provided mime time as official mime type<br />
<a href="http://framework.zend.com/issues/browse/ZF-8743">[ZF-8743]</a> &#8211; StripTags filter should never allow comments<br />
<a href="http://framework.zend.com/issues/browse/ZF-8771">[ZF-8771]</a> &#8211; Problem in headTitle view helper</p>
<p><strong> Coding Standards Violation</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-8401">[ZF-8401]</a> &#8211; Code outside class body</p>
<p><strong> Docs: Improvement</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-4577">[ZF-4577]</a> &#8211; Zend_Cache_Core::test() may return integer when using File backend</p>
<p><strong> Docs: Problem</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-7989">[ZF-7989]</a> &#8211; Where does &#8220;View&#8221; come in in your plugin<br />
<a href="http://framework.zend.com/issues/browse/ZF-8456">[ZF-8456]</a> &#8211; Zend_Feed_Reader Attribute Collections documentation uses the word &#8220;type&#8221; instead of &#8220;term&#8221;<br />
<a href="http://framework.zend.com/issues/browse/ZF-8593">[ZF-8593]</a> &#8211; Wrong link href in GData provisioning<br />
<a href="http://framework.zend.com/issues/browse/ZF-8697">[ZF-8697]</a> &#8211; error in sample : $queue = Zend_Queue(&#8216;Array&#8217;, $options); &lt;- missing &#8220;new&#8221;<br />
<a href="http://framework.zend.com/issues/browse/ZF-8698">[ZF-8698]</a> &#8211; 2nd problem in 42.2. Example usage (2 issues)</p>
<p><strong> Improvement</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-7995">[ZF-7995]</a> &#8211; Zend_Rest_Route is not extensible<br />
<a href="http://framework.zend.com/issues/browse/ZF-8011">[ZF-8011]</a> &#8211; addJavascript() uses preg_replace when trim would suffice<br />
<a href="http://framework.zend.com/issues/browse/ZF-8430">[ZF-8430]</a> &#8211; Cache_Backend_TwoLevels: Add protected getters for used backends<br />
<a href="http://framework.zend.com/issues/browse/ZF-8581">[ZF-8581]</a> &#8211; Get rid of Ascii85 stubb class<br />
<a href="http://framework.zend.com/issues/browse/ZF-8742">[ZF-8742]</a> &#8211; Zend_Filter_Encrypt_Mcrypt should use strongest case random number generator and srand() practices available<br />
<strong> </strong></p>
<p><strong>New Feature</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-8390">[ZF-8390]</a> &#8211; Implement Zend_Pdf_Action_URI to enable external links<br />
<a href="http://framework.zend.com/issues/browse/ZF-8396">[ZF-8396]</a> &#8211; RunLengthDecode Filter support for PDF documents<br />
<strong> </strong></p>
<p><strong>Unit Tests: Problem</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-8460">[ZF-8460]</a> &#8211; Cannot run Zend_Gdata_AppTest independently<br />
<strong> </strong></p>
<p><strong>Sub-task</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-6921">[ZF-6921]</a> &#8211; Markup annotations</p>
]]></content:encoded>
			<wfw:commentRss>http://www.god-object.com/2010/01/12/just-released-zend-framework-1-9-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend_Form, Validators and Custom Error Messages</title>
		<link>http://www.god-object.com/2010/01/08/zend_form-validators-and-custom-error-messages/</link>
		<comments>http://www.god-object.com/2010/01/08/zend_form-validators-and-custom-error-messages/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 17:22:21 +0000</pubDate>
		<dc:creator>webpatser</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://www.god-object.com/?p=244</guid>
		<description><![CDATA[Below is a code snippet if you want a simple sign-up form on you website using Zend_Form. Features are set email adres to lowercase using Zend_Filter_StringToLower. Use Zend_Validate_Emailaddress, to check the correctness of the email address. Check password for StringLenght; minimal 6 &#38; maximum 20 characters. Custom error messages for Zend_Validate_StringLenght. Check for identical password entered [...]]]></description>
			<content:encoded><![CDATA[<p>Below is a code snippet if you want a simple sign-up form on you website using <code>Zend_Form</code>.</p>
<p>Features are</p>
<ul>
<li>set email adres to lowercase using <code>Zend_Filter_StringToLower</code>.</li>
<li>Use <code>Zend_Validate_Emailaddress</code>, to check the correctness of the email address.</li>
<li>Check password for <code>StringLenght</code>; minimal 6 &amp; maximum 20 characters.</li>
<li>Custom error messages for <code>Zend_Validate_StringLenght</code>.</li>
<li>Check for identical password entered using <code>Zend_Validate_Identical</code>, and custom error message.</li>
<li>Decorators to display the error messages.</li>
<li><code>Zend_Filter_StringTrim</code> to trim possible whitespace.</li>
</ul>
<pre class="brush: php;">
&lt;?php
class Login_Form extends Zend_Form
{
    public function init()
    {
        $username = $this-&gt;addElement('text', 'email', array(
            'filters'    =&gt; array('StringTrim', 'StringToLower'),
            'validators' =&gt; array(
                'EmailAddress',
            ),
            'required'   =&gt; true,
            'label'      =&gt; 'E-mail address',
        ));

        $password = $this-&gt;addElement('password', 'password', array(
            'filters'    =&gt; array('StringTrim'),
            'validators' =&gt; array( array(
                'StringLength', false, array(6,20,'messages' =&gt; array(
					Zend_Validate_StringLength::TOO_SHORT =&gt; 'Your password is too short.',
					Zend_Validate_StringLength::TOO_LONG =&gt; 'Your password is too long.',
					)))),
            'required'   =&gt; true,
            'label'      =&gt; 'Your password'
        ));

        $password2 = $this-&gt;addElement('password', 'password2', array(
            'filters'    =&gt; array('StringTrim'),
            'validators' =&gt; array('Identical'),
            'required'   =&gt; true,
            'label'      =&gt; 'Retype your password',
        ));

        $login = $this-&gt;addElement('submit', 'Sign up', array(
            'required' =&gt; false,
            'ignore'   =&gt; true,
            'label'    =&gt; 'Register',
        ));

        $this-&gt;setDecorators(array(
            'FormElements',
            array('HtmlTag', array('tag' =&gt; 'dl', 'class' =&gt; 'zend_form')),
            array('Description', array('placement' =&gt; 'prepend')),
            'Form'
        ));
    }

    public function isValid ($data)
        {
            $passTwice = $this-&gt;getElement('password2');
            $passTwice-&gt;getValidator('Identical')-&gt;setToken($data['password'])-&gt;setMessage('Passwords don\'t match.');
            return parent::isValid($data);
        }
}
</pre>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.god-object.com/2010/01/08/zend_form-validators-and-custom-error-messages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Set all PHP internals to UTF-8</title>
		<link>http://www.god-object.com/2009/11/25/set-all-php-internals-to-utf-8/</link>
		<comments>http://www.god-object.com/2009/11/25/set-all-php-internals-to-utf-8/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 12:56:21 +0000</pubDate>
		<dc:creator>webpatser</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[unicode]]></category>

		<guid isPermaLink="false">http://www.god-object.com/?p=206</guid>
		<description><![CDATA[If you have problems with transcoding strings, for example, between ISO-Latin and UTF-8, it can help if you set the internal encoding to UTF-8 ini_set('mbstring.internal_encoding','UTF-8'); ini_set('mbstring.http_input','UTF-8'); ini_set('mbstring.http_output','UTF-8');]]></description>
			<content:encoded><![CDATA[<p>If you have problems with transcoding strings, for example,  between ISO-Latin and UTF-8, it can help if you set the internal encoding to UTF-8</p>
<pre class="brush: php;">
ini_set('mbstring.internal_encoding','UTF-8');
ini_set('mbstring.http_input','UTF-8');
ini_set('mbstring.http_output','UTF-8');
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.god-object.com/2009/11/25/set-all-php-internals-to-utf-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>just released: Zend Framework 1.9.6</title>
		<link>http://www.god-object.com/2009/11/25/just-released-zend-framework-1-9-6/</link>
		<comments>http://www.god-object.com/2009/11/25/just-released-zend-framework-1-9-6/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 09:25:15 +0000</pubDate>
		<dc:creator>webpatser</dc:creator>
				<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://www.god-object.com/?p=203</guid>
		<description><![CDATA[Grab the latest version at the Zend Framework website. This update fixes 76 issues. The next release is set for December 15th. This new version might be the tagged as 1.10.0. Release Notes &#8211; Zend Framework &#8211; Version 1.9.6 Bug [ZF-3642] &#8211; Wrong count of executed queries [ZF-4841] &#8211; Zend_Form_Decorator_Label-&#62;setTag() produces invalid XHMTL [ZF-5066] &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Grab the latest version at the <a title="Download Zend Framework" href="http://framework.zend.com/download/latest" target="_blank">Zend Framework website</a>. This update fixes 76 issues. The next release is set for December 15th. This new version might be the tagged as 1.10.0.</p>
<p>Release Notes &#8211; Zend Framework &#8211; Version 1.9.6</p>
<p style="margin: 0.0px 0.0px 13.0px 0.0px; line-height: 19.0px; font: 13.0px Georgia;"><strong>Bug</strong><span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-3642">[ZF-3642]</a> &#8211; Wrong count of executed queries<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-4841">[ZF-4841]</a> &#8211; Zend_Form_Decorator_Label-&gt;setTag() produces invalid XHMTL<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-5066">[ZF-5066]</a> &#8211; File validators aren&#8217;t being included automatically<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-6088">[ZF-6088]</a> &#8211; Mixing &#8216;find&#8217; and &#8216;addDocument&#8217; with empty fields results in wrong indexes<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7223">[ZF-7223]</a> &#8211; In Zend_Db_Select::limit(), an empty first parameter won&#8217;t be converted to max integer in 32-bits architecture.<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7266">[ZF-7266]</a> &#8211; Dijit parsing before store creation fails value setting in FilteringSelect and ComboBox.<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7360">[ZF-7360]</a> &#8211; Zend_Dojo_Form_Element_FilteringSelect value is not populated after calling the populate method on the form object<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7404">[ZF-7404]</a> &#8211; Zend_Form_Element_Hash does not set a value when renderViewHelper() is called<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7436">[ZF-7436]</a> &#8211; Zend_Pdf_Page has fatal errors when used due to bad dependencies<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7491">[ZF-7491]</a> &#8211; Zend_Db_Select issues after upgrading to PHP 5.3<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7547">[ZF-7547]</a> &#8211; Zend_Mail_Protocol_Imap::_decodeLine incorrectly parses some kind of strings<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7660">[ZF-7660]</a> &#8211; Zend_Dojo does not set required=&#8221;false&#8221; if explicitly set<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7668">[ZF-7668]</a> &#8211; Support DB Link identifier as part of table name<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7681">[ZF-7681]</a> &#8211; ZipArchive::getFromName() problem<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7737">[ZF-7737]</a> &#8211; quoteInto won&#8217;t accept valid SQL if question mark is in first position.<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7807">[ZF-7807]</a> &#8211; Zend_Db_Adapter_Pdo: oci : function describeTable<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7874">[ZF-7874]</a> &#8211; Zend_Mail_Transport should not add charset parameter to multipart Content-Type header<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7894">[ZF-7894]</a> &#8211; Installation of PHPUnit 3.4.0 makes the zf &#8211;help command exit with Fatal PHP errors<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7928">[ZF-7928]</a> &#8211; Rest route doesn&#8217;t work in chains in some cases<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7979">[ZF-7979]</a> &#8211; Zend_Search_Lucene_Interface_MultiSearcher::find() throws warning when there are no indexes<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8079">[ZF-8079]</a> &#8211; Incorrect use of timeout in Zend_Http_Client_Adapter_Curl<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8149">[ZF-8149]</a> &#8211; getMetricStatistics() does not support the &#8220;Dimensions&#8221; option parameter properly<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8162">[ZF-8162]</a> &#8211; Several TYPOs in Zend_Mail_Protocol_Imap and Zend_Mail_Protocol_Pop3<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8163">[ZF-8163]</a> &#8211; Zend_Mail_Protocol_Imap connect method throws possibly misleading exception message on socket open failure<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8189">[ZF-8189]</a> &#8211; Undefined variable in Zend_Db_Select<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8190">[ZF-8190]</a> &#8211; Undefined variable in Zend_Db_Select<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8195">[ZF-8195]</a> &#8211; Call to undefined function getCommentCount()<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8206">[ZF-8206]</a> &#8211; Zend_Validate_File_MimeType does not validate mime types that lack charsets on files with mime types that have charsets<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8213">[ZF-8213]</a> &#8211; Zend Feed assumes invalid encoding if not specified<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8214">[ZF-8214]</a> &#8211; Checking for wrong gd_info() key, was renamed in PHP 5.3.0<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8264">[ZF-8264]</a> &#8211; Add Test Helper to Ec2 Test Cases<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8265">[ZF-8265]</a> &#8211; Zend_Form_Element_Radio generates non valid html<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8273">[ZF-8273]</a> &#8211; setReturnPath overwrites setFrom in Zend_Mail_Protocol_Smtp<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8277">[ZF-8277]</a> &#8211; Zend_Date::addDay() does not work correctly on year changes<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8292">[ZF-8292]</a> &#8211; Zend_Test_PHPUnit_Db_Operation_Truncate fails on Postgres tables with foreign keys<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8307">[ZF-8307]</a> &#8211; Zend_Reflection_Doctype_Tag_Param regex does not account for PHP 5.3 style namespaces<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8327">[ZF-8327]</a> &#8211; Zend_Feed_Reader::findFeedLinks() doens&#8217;t cleanup URI whitespace<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8328">[ZF-8328]</a> &#8211; Zend_Feed_Reder::import() doesn&#8217;t fail on non-feed documents<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8330">[ZF-8330]</a> &#8211; Zend_Feed_Reader::findFeedLinks() doesn&#8217;t handle relative feed URIs<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8331">[ZF-8331]</a> &#8211; Constructor of Zend_Navigation_Page referst to an undefined variable $config when passed a Zend_Config object.<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8342">[ZF-8342]</a> &#8211; Zend_Form_Element_Select addMultiOption method fails to render labels/options containing £<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8345">[ZF-8345]</a> &#8211; PHP Fatal error when running Zend_Fead_Reader tests with phpunit&#8217;s &#8211;group paramter<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8364">[ZF-8364]</a> &#8211; Zend_Loader_Autoloader_Resource::autoload() should return false if no match is found</p>
<p style="margin: 0.0px 0.0px 13.0px 0.0px; line-height: 19.0px; font: 13.0px Georgia;"><strong>Docs: Improvement</strong><span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8021">[ZF-8021]</a> &#8211; Zend_Rest introduction does not mention Zend_Rest_Controller at all<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8188">[ZF-8188]</a> &#8211; Error in section 15.1.1.2. Using the Zend_Db Factory<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8248">[ZF-8248]</a> &#8211; Disturbing lack of validation in Example 38.7. &#8211; Database Storage &#8211; DbStorage extends Zend_OpenId_Consumer_Storage</p>
<p style="margin: 0.0px 0.0px 13.0px 0.0px; line-height: 19.0px; font: 13.0px Georgia;"><strong>Docs: Problem</strong><span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-3471">[ZF-3471]</a> &#8211; Some Zend_Db_Table examples not rendering correctly<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-6334">[ZF-6334]</a> &#8211; Zend_Mail_Transport_Smtp constructor leaves $_name property same<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-6635">[ZF-6635]</a> &#8211; No extension named pdo_mssql<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-6821">[ZF-6821]</a> &#8211; No example of SELECT stuff WHERE id IN ()<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7236">[ZF-7236]</a> &#8211; possible typo in Scoring Algorithms description for Zend Search Lucene<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-7757">[ZF-7757]</a> &#8211; Text not displaying (correctly) for the bulleted list of 6 basic types of routes<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8123">[ZF-8123]</a> &#8211; Typo in Chapter 2. Zend_Acl, 2.1.1. Resources<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8155">[ZF-8155]</a> &#8211; Incorrect example of Zend_Db_Table_Select::where<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8179">[ZF-8179]</a> &#8211; Incorrect link<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8185">[ZF-8185]</a> &#8211; Website: some characters appearing as &#8220;???&#8221;<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8232">[ZF-8232]</a> &#8211; Error in example in 24.9.2.2.<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8254">[ZF-8254]</a> &#8211; Error in Zend_View_Script example about Smarty<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8316">[ZF-8316]</a> &#8211; Incorrect config example for Zend_Application_Resource_Layout<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8384">[ZF-8384]</a> &#8211; questions marks in a links anchor text</p>
<p style="margin: 0.0px 0.0px 13.0px 0.0px; line-height: 19.0px; font: 13.0px Georgia;"><strong>Improvement</strong><span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-2639">[ZF-2639]</a> &#8211; Add possibility to create guid (or other elements) attributes<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-5644">[ZF-5644]</a> &#8211; Zend_Feed_Builder &#8211; createHeader and createEntries should be protected<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8183">[ZF-8183]</a> &#8211; Zend_Queue_Adapter_Memcacheq should only support its native capabilities<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8218">[ZF-8218]</a> &#8211; remove unnecessary requirements from Zend_Service_Twitter constructor<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8230">[ZF-8230]</a> &#8211; Auto-bind<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8304">[ZF-8304]</a> &#8211; Zend_Pdf performance improvement<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8320">[ZF-8320]</a> &#8211; $_log in Zend_View_Abstract seems to be unused anywhere</p>
<p style="margin: 0.0px 0.0px 13.0px 0.0px; line-height: 19.0px; font: 13.0px Georgia;"><strong>New Feature</strong><span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-5833">[ZF-5833]</a> &#8211; Zend_Feed_Rss : Guid for the entries is not completed<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8311">[ZF-8311]</a> &#8211; Query sorting by field named &#8216;sort&#8217;</p>
<p style="margin: 0.0px 0.0px 13.0px 0.0px; line-height: 19.0px; font: 13.0px Georgia;"><strong>Patch</strong><span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-3750">[ZF-3750]</a> &#8211; getParams() ignores Zend_Controller_Request::setParamSources()<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8141">[ZF-8141]</a> &#8211; Zend_Feed_Reader_Feed_Interface should be Zend_Feed_Reader_FeedInterface</p>
<p style="margin: 0.0px 0.0px 13.0px 0.0px; line-height: 19.0px; font: 13.0px Georgia;"><strong>Performance Improvement</strong><span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-4873">[ZF-4873]</a> &#8211; Calling isValid on a translated form swells the object size<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8182">[ZF-8182]</a> &#8211; Zend_Queue_Adapter_Memcacheq should not open new socket each time send() is called</p>
<p style="margin: 0.0px 0.0px 13.0px 0.0px; line-height: 19.0px; font: 13.0px Georgia;"><strong>Unit Tests: Problem</strong><span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8076">[ZF-8076]</a> &#8211; Zend_Http_Client_StaticTest fails with fatal error<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8322">[ZF-8322]</a> &#8211; Test Failures Zend_Feed_Reader Atom/RSS<span style="font: 13.0px 'Lucida Grande';"><br />
</span><a href="http://framework.zend.com/issues/browse/ZF-8353">[ZF-8353]</a> &#8211; Unit tests for Zend_Http_Client appear to hang on Curl tests</p>
]]></content:encoded>
			<wfw:commentRss>http://www.god-object.com/2009/11/25/just-released-zend-framework-1-9-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>R.I.P. ZendCodeAnalyzer</title>
		<link>http://www.god-object.com/2009/10/31/r-i-p-zendcodeanalyzer/</link>
		<comments>http://www.god-object.com/2009/10/31/r-i-p-zendcodeanalyzer/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 12:16:14 +0000</pubDate>
		<dc:creator>webpatser</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[phpUnderControl]]></category>
		<category><![CDATA[code analyzer]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend studio]]></category>

		<guid isPermaLink="false">http://www.god-object.com/?p=197</guid>
		<description><![CDATA[In the new Zend Studio 7.1 beta the ZendCodeAnalyzer binary plugin is replaced by acom.zend.php.semanticanalysis.core_7.1.0 eclipse plugin. The functionality seems the same, but there is one drawback&#8230; I use the old ZendCodeAnalyzer in combination with php_codesniffer to check for potential code errors in our subversion repository, using phpUnderControl. The old binary had some problems on [...]]]></description>
			<content:encoded><![CDATA[<p>In the new Zend Studio 7.1 beta the ZendCodeAnalyzer binary plugin is replaced by acom.zend.php.semanticanalysis.core_7.1.0 eclipse plugin.</p>
<p>The functionality seems the same, but there is one drawback&#8230;</p>
<p>I use the old ZendCodeAnalyzer in combination with <a title="php_codeSniffer" href="http://pear.php.net/package/PHP_CodeSniffer" target="_blank">php_codesniffer</a> to check for potential code errors in our subversion repository, using <a title="phpUnderControl" href="http://phpundercontrol.org/" target="_blank">phpUnderControl</a>. The old binary had some problems on &#8216;newer&#8217; Ubuntu&#8217;s but was running perfectly on Snow Leopard / windows. The new jar version doesn&#8217;t run stand-alone, but hopefully Zend will add this option to the jar-package or maybe open-source the ZendCodeAnalyzer so that functionality is not lost&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.god-object.com/2009/10/31/r-i-p-zendcodeanalyzer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>just released: Zend Framework 1.9.5</title>
		<link>http://www.god-object.com/2009/10/27/just-released-zend-framework-1-9-5/</link>
		<comments>http://www.god-object.com/2009/10/27/just-released-zend-framework-1-9-5/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 21:34:41 +0000</pubDate>
		<dc:creator>webpatser</dc:creator>
				<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://www.god-object.com/?p=194</guid>
		<description><![CDATA[Grab the latest version at the Zend Framework website. Lot’s of Zend_Db fixes in this release. Release Notes &#8211; Zend Framework &#8211; Version 1.9.5 Bug [ZF-2358] &#8211; Zend_Service_Yahoo::webSearch &#8216;site&#8217; option [ZF-2606] &#8211; Adding htmlentities() in createElement() [ZF-2962] &#8211; Zend_Db_Statement_Oracle::fetchObject() throws Exception at end of results [ZF-3972] &#8211; Wrong value for &#8220;Default value&#8221; in describeTable at [...]]]></description>
			<content:encoded><![CDATA[<p>Grab the latest version at the <a href="http://framework.zend.com/download/latest" target="_blank">Zend Framework website</a>. Lot’s of Zend_Db fixes in this release.</p>
<p>Release Notes &#8211; Zend Framework &#8211; Version 1.9.5</p>
<p><strong>Bug</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-2358">[ZF-2358]</a> &#8211; Zend_Service_Yahoo::webSearch &#8216;site&#8217; option<br />
<a href="http://framework.zend.com/issues/browse/ZF-2606">[ZF-2606]</a> &#8211; Adding htmlentities() in createElement()<br />
<a href="http://framework.zend.com/issues/browse/ZF-2962">[ZF-2962]</a> &#8211; Zend_Db_Statement_Oracle::fetchObject() throws Exception at end of results<br />
<a href="http://framework.zend.com/issues/browse/ZF-3972">[ZF-3972]</a> &#8211; Wrong value for &#8220;Default value&#8221; in describeTable at pgsql adapter<br />
<a href="http://framework.zend.com/issues/browse/ZF-4915">[ZF-4915]</a> &#8211; multiCheckbox (_getErrorMessages()) fails if configuring custom validation message<br />
<a href="http://framework.zend.com/issues/browse/ZF-6147">[ZF-6147]</a> &#8211; Zend_Acl incorrect handling on non existent privilege when evaluating a role permission<br />
<a href="http://framework.zend.com/issues/browse/ZF-6426">[ZF-6426]</a> &#8211; Radio button getting invalid XHTML label<br />
<a href="http://framework.zend.com/issues/browse/ZF-7134">[ZF-7134]</a> &#8211; When an dijit on a Zend_Dojo_Form_SubForm has a datastore, the generated JS to link the datastore uses the wrong ID.<br />
<a href="http://framework.zend.com/issues/browse/ZF-7606">[ZF-7606]</a> &#8211; Zend_Reflection_Docblock::__toString() must return a string value<br />
<a href="http://framework.zend.com/issues/browse/ZF-7887">[ZF-7887]</a> &#8211; Unreachable code<br />
<a href="http://framework.zend.com/issues/browse/ZF-8029">[ZF-8029]</a> &#8211; Script injection using the &#8216;default&#8217; route<br />
<a href="http://framework.zend.com/issues/browse/ZF-8034">[ZF-8034]</a> &#8211; echo exception message in the code<br />
<a href="http://framework.zend.com/issues/browse/ZF-8047">[ZF-8047]</a> &#8211; Zend_Db_Adapter_Abstract has incorrect phpdoc<br />
<a href="http://framework.zend.com/issues/browse/ZF-8053">[ZF-8053]</a> &#8211; There is no way to set custom user-agent to Zend_Soap_Client<br />
<a href="http://framework.zend.com/issues/browse/ZF-8056">[ZF-8056]</a> &#8211; View Helper HeadStyle does not accept comma separated strings with spaces for media attribute<br />
<a href="http://framework.zend.com/issues/browse/ZF-8084">[ZF-8084]</a> &#8211; Segmentation Fault with Zend_Paginator_Adapter_Iterator + Zend_Cache<br />
<a href="http://framework.zend.com/issues/browse/ZF-8102">[ZF-8102]</a> &#8211; Relative URIs in Atom links may fail to be constructed from the base URI value of the feed<br />
<a href="http://framework.zend.com/issues/browse/ZF-8112">[ZF-8112]</a> &#8211; htmlspecialchars() expects parameter 1 to be string, array given<br />
<a href="http://framework.zend.com/issues/browse/ZF-8129">[ZF-8129]</a> &#8211; Missing Description Decorator<br />
<a href="http://framework.zend.com/issues/browse/ZF-8143">[ZF-8143]</a> &#8211; Backwards compatability issue with _error() on Zend_Validate_Abstract</p>
<p><strong>Coding Standards Violation</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-7346">[ZF-7346]</a> &#8211; Multiple coding standard violations</p>
<p><strong>Docs:  Improvement</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-5282">[ZF-5282]</a> &#8211; Calling _forward() from init() make the dispatcher dispatch the wrong controller<br />
<a href="http://framework.zend.com/issues/browse/ZF-7626">[ZF-7626]</a> &#8211; update and delete methods of the adapter lack documentation of binding options</p>
<p><strong>Docs:  Problem</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-8121">[ZF-8121]</a> &#8211; Wrong @subpackage for Zend_Controller_Response_HttpTestCase<br />
<a href="http://framework.zend.com/issues/browse/ZF-8142">[ZF-8142]</a> &#8211; id property of hit objects is incorrectly referenced as document property</p>
<p><strong>Improvement</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-4461">[ZF-4461]</a> &#8211; dijit.Editor plugins should generate dojo.require statements<br />
<a href="http://framework.zend.com/issues/browse/ZF-7839">[ZF-7839]</a> &#8211; Support or document Zend_Application_Bootstrap usage in Zend_Test_PHPUnit_ControllerTestCase<br />
<a href="http://framework.zend.com/issues/browse/ZF-7890">[ZF-7890]</a> &#8211; Add ability to specify a rootnode type for customDijit&#8217;s</p>
<p><strong>Unit Tests: Problem</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-8080">[ZF-8080]</a> &#8211;  Zend_Application_Bootstrap_BootstrapTest &#8220;No default controller directory registered with front controller&#8221;<br />
<a href="http://framework.zend.com/issues/browse/ZF-8145">[ZF-8145]</a> &#8211; Broken test case, Zend_Translate_Adapter_IniTest:testCreate() causes fatal error</p>
]]></content:encoded>
			<wfw:commentRss>http://www.god-object.com/2009/10/27/just-released-zend-framework-1-9-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert Rijksdriehoeksco&#246;rdinaten to latitude/longitude</title>
		<link>http://www.god-object.com/2009/10/23/convert-rijksdriehoekscordinaten-to-latitudelongitude/</link>
		<comments>http://www.god-object.com/2009/10/23/convert-rijksdriehoekscordinaten-to-latitudelongitude/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 15:20:26 +0000</pubDate>
		<dc:creator>webpatser</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[geo]]></category>

		<guid isPermaLink="false">http://www.god-object.com/?p=180</guid>
		<description><![CDATA[A Rijksdriehoeksco&#246;rdinaat is used by the Dutch cadastre. Since all cadastre geo-data is not according the WGS84-standard, you need to convert a Rijksdriehoekscoördinaat (RD) to latitude / longitude values, for use in Google maps for example. You can convert them with this function PHP-function function rd2wgs ($x, $y) { // Calculate WGS84 coördinates $dX = [...]]]></description>
			<content:encoded><![CDATA[<p>A Rijksdriehoeksco&ouml;rdinaat is used by the Dutch cadastre. Since all cadastre geo-data is not according the WGS84-standard, you need to convert a Rijksdriehoekscoördinaat (RD) to latitude / longitude values, for use in Google maps for example.</p>
<p>You can convert them with this function PHP-function</p>
<pre class="brush: php;">
function rd2wgs ($x, $y)
{
    // Calculate WGS84 coördinates
    $dX = ($x - 155000) * pow(10, - 5);
    $dY = ($y - 463000) * pow(10, - 5);
    $SomN = (3235.65389 * $dY) + (- 32.58297 * pow($dX, 2)) + (- 0.2475 *
         pow($dY, 2)) + (- 0.84978 * pow($dX, 2) *
         $dY) + (- 0.0655 * pow($dY, 3)) + (- 0.01709 *
         pow($dX, 2) * pow($dY, 2)) + (- 0.00738 *
         $dX) + (0.0053 * pow($dX, 4)) + (- 0.00039 *
         $dX ^ 2 * pow($dY, 3)) + (0.00033 * pow(
            $dX, 4) * $dY) + (- 0.00012 *
         $dX * $dY);
    $SomE = (5260.52916 * $dX) + (105.94684 * $dX * $dY) + (2.45656 *
         $dX * pow($dY, 2)) + (- 0.81885 * pow(
            $dX, 3)) + (0.05594 *
         $dX * pow($dY, 3)) + (- 0.05607 * pow(
            $dX, 3) * $dY) + (0.01199 *
         $dY) + (- 0.00256 * pow($dX, 3) * pow(
            $dY, 2)) + (0.00128 *
         $dX * pow($dY, 4)) + (0.00022 * pow($dY,
            2)) + (- 0.00022 * pow(
            $dX, 2)) + (0.00026 *
         pow($dX, 5));

    $Latitude = 52.15517 + ($SomN / 3600);
    $Longitude = 5.387206 + ($SomE / 3600);

    return array(
        'latitude' =&gt; $Latitude ,
        'longitude' =&gt; $Longitude);
}
</pre>
<p>Input are the RD <code>$x</code> and <code>$y</code> co&ouml;rdinates. Output is an <code>array</code> with latitude &amp; longitude</p>
]]></content:encoded>
			<wfw:commentRss>http://www.god-object.com/2009/10/23/convert-rijksdriehoekscordinaten-to-latitudelongitude/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Geo/Spatial search using Sphinx search and php</title>
		<link>http://www.god-object.com/2009/10/20/geospatial-search-using-sphinx-search-and-php/</link>
		<comments>http://www.god-object.com/2009/10/20/geospatial-search-using-sphinx-search-and-php/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 21:30:30 +0000</pubDate>
		<dc:creator>webpatser</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[geo]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sphinx]]></category>

		<guid isPermaLink="false">http://www.god-object.com/?p=132</guid>
		<description><![CDATA[I have some databases with geo-location data in it, and wanted it displayed on my iPhone using Layar. Doing some research on this, I found a great presentation on Geo/Spatial search in MySQL. Reading this presentation shows that doing a search of geo-locations in a radius around a geo-location, using a mysql version of the Haversine [...]]]></description>
			<content:encoded><![CDATA[<p>I have some databases with geo-location data in it, and wanted it displayed on my iPhone using <a href="http://layar.eu/" target="_blank">Layar</a>. Doing some research on this, I found a great presentation on <a title="Geo/Spatial search in MySQL" href="http://www.scribd.com/doc/2569355/Geo-Distance-Search-with-MySQL" target="_blank">Geo/Spatial search in MySQL</a>. Reading this presentation shows that doing a search of geo-locations in a radius around a geo-location, using a mysql version of the <a title="Haversine formula" href="http://en.wikipedia.org/wiki/Haversine_formula" target="_blank">Haversine formula</a> is doable, but is <del datetime="2009-10-20T21:22:21+00:00">not the fastest solution</del> very slow.</p>
<p>In the presentation, Alexander Rubin suggests using <a title="free open-source SQL full-text search engine" href="http://www.sphinxsearch.com/" target="_blank">Sphinx search</a> for doing the geo/spatial search. I found this the way to go, since I already use sphinx for full-text searching large text tables. Sphinx uses a magic function <code>@geodist</code> for calculation of points of interest (POI) within range. But setup of the source/index and use within PHP is not documented that well.</p>
<p>SO what do you need:</p>
<ul>
<li>Some database supported by Sphinx.</li>
<li>Database filled with longitude / latitude data.</li>
</ul>
<p>I assume you have a working copy of Sphinx installed and that the searchd listens to port 3312.</p>
<p>To let the Sphinx indexer do it&#8217;s magic create a new Sphinx source and index. Add the following code to your <code>sphinx.conf</code></p>
<pre class="brush: plain;">
source geo
{
type                 = mysql
sql_host             = 127.0.0.1
sql_user             = sphinx_user
sql_pass             = sphinx_password
sql_db               = geo_database
sql_port             = 3306
sql_query_pre        = set names utf8
sql_query_pre        = set session query_cache_type=OFF

sql_query            = select id, radians(longitude) as longitude, radians(latitude) as latitude from locations

sql_attr_float       = longitude
sql_attr_float       = latitude

sql_ranged_throttle  = 0

sql_query_info       = select * from locations where id = $id
}
</pre>
<p>The above fragment  creates the Sphinx source. It&#8217;s pretty self-explanatory. Adjust the settings to match your MySQL setup.<br />
Note that the <code>sql_query</code> uses the <code>radians</code> function to convert degrees to radians. <code> sql_attr_float</code> tells Sphinx that the longitude/latitude are floats. THis is needed for the magic @geodist function. The <code>sql_query_info</code> is handy if you debugging on the command line.</p>
<p>Now for the Sphinx index.</p>
<pre class="brush: plain;">
index geo
{
source                  = geo
path                    = /var/lib/data/geo
docinfo                 = extern
mlock                   = 0
morphology              = none
min_word_len            = 1
charset_type            = utf-8
charset_table           = 0..9, A..Z-&gt;a..z, _, a..z, U+410..U+42F-&gt;U+430..U+44F, U+430..U+44F
ignore_chars            = U+00AD
html_strip              = 0
enable_star             = 0
}
</pre>
<p>Copy-paste this fragment to your <code>sphinx.conf</code>. Note that the <code>source</code> should be the set to your just-created source.</p>
<p>When the configuration is in place, build the index files:</p>
<pre class="brush: bash;">
indexer --rotate geo
</pre>
<p>If you create a new index the <code>--rotate</code> is optional, but is harmless. If you want to rebuild the index, the rotate option will send a SIGHUP to searchd, thus restarting the daemon.</p>
<p>With the geo-location data, in radians, in your sphinx index, we need to create a PHP script to get query the dataset.</p>
<p>This is not a full featured php file but only the code for connecting to searchd.</p>
<p>You need a copy of <code>sphinxapi.php</code> in your include_path. This is the PHP API class for Sphinx and is in the Sphinx distribution source file. Get a recent version, because there were some bugs using <code>@geodist</code> in older versions.</p>
<pre class="brush: php;">
&lt;?php
require_once 'sphinxapi.php';

$_longitude = $_GET['longitude'];
$_latitude = $_GET['latitude'];
$_radius = $_GET['radius'];

$search = new SphinxClient();
$search-&gt;SetServer(&quot;localhost&quot;, 3312);
$search-&gt;SetMatchMode(SPH_MATCH_ALL);
$search-&gt;SetArrayResult(true);
$search-&gt;SetLimits(0, 100);
$search-&gt;SetGeoAnchor('latitude', 'longitude', (float) deg2rad($_latitude), (float) deg2rad($_longitude));

$circle = (float) $_radius * 1.61;
$search-&gt;SetFilterFloatRange('@geodist', 0.0, $circle);

$result = $search-&gt;Query('', 'geo');
?&gt;
</pre>
<p>Longitude and latitude is passed via GET.<br />
<code>$cl-&gt;SetLimits</code> limits the result-set to 100.<br />
<code>$cl-&gt;SetGeoAnchor</code> set&#8217;s the centre location.<br />
Notice that the <code>$_longitude &amp; $_latitude</code> is converted to radians.<br />
<code>$_radius</code> is in meters.</p>
<p>Now apply a filter <code>$cl-&gt;SetFilterFloatRange('@geodist', 0.0, $circle)</code>; call the @geodist method and only return POI&#8217;s within the range of 0 meters to $_range meters.</p>
<p><code>$result = $cl-&gt;Query('', 'geo');</code> Do the actual query in the geo source, and put the result in $result.</p>
<p>The result is an array, that easy&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.god-object.com/2009/10/20/geospatial-search-using-sphinx-search-and-php/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>just released: Zend Framework 1.9.4</title>
		<link>http://www.god-object.com/2009/10/17/just-released-zend-framework-1-9-4/</link>
		<comments>http://www.god-object.com/2009/10/17/just-released-zend-framework-1-9-4/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 10:51:43 +0000</pubDate>
		<dc:creator>webpatser</dc:creator>
				<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://www.god-object.com/?p=79</guid>
		<description><![CDATA[Grab the latest version at the Zend Framework website. Lot&#8217;s of Zend_Db fixes in this release. Release Notes &#8211; Zend Framework &#8211; Version 1.9.4 Bug [ZF-6653] &#8211; Calling from() and join() &#8220;out of order&#8221; causes incorrect SELECT generation [ZF-7423] &#8211; Inexisting property _config in class Zend_Queue_Adapter_Db [ZF-7776] &#8211; Database Test Adapter does not make use [...]]]></description>
			<content:encoded><![CDATA[<p>Grab the latest version at the <a title="Download Zend Framework" href="http://framework.zend.com/download/latest" target="_blank">Zend Framework website</a>. Lot&#8217;s of Zend_Db fixes in this release.</p>
<p>Release Notes &#8211; Zend Framework &#8211; Version 1.9.4</p>
<p><strong>Bug</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-6653">[ZF-6653]</a> &#8211; Calling from() and join() &#8220;out of order&#8221; causes incorrect SELECT generation<br />
<a href="http://framework.zend.com/issues/browse/ZF-7423">[ZF-7423]</a> &#8211; Inexisting property _config in class Zend_Queue_Adapter_Db<br />
<a href="http://framework.zend.com/issues/browse/ZF-7776">[ZF-7776]</a> &#8211; Database Test Adapter does not make use of Profiler<br />
<a href="http://framework.zend.com/issues/browse/ZF-7856">[ZF-7856]</a> &#8211; Problem with Zend_Search_Lucene_Document_Html<br />
<a href="http://framework.zend.com/issues/browse/ZF-7909">[ZF-7909]</a> &#8211; Zend_CodeGenerator_Php_Class::fromReflection doesn&#8217;t handle interfaces correctly<br />
<a href="http://framework.zend.com/issues/browse/ZF-7924">[ZF-7924]</a> &#8211; BC Break in Zend_Db::factory()<br />
<a href="http://framework.zend.com/issues/browse/ZF-7928">[ZF-7928]</a> &#8211; Rest route doesn&#8217;t work in chains in some cases<br />
<a href="http://framework.zend.com/issues/browse/ZF-7936">[ZF-7936]</a> &#8211; Zend_Test_PHPUnit_Db_Operation_Truncate should truncate tables in reversed order.<br />
<a href="http://framework.zend.com/issues/browse/ZF-7955">[ZF-7955]</a> &#8211; Zend_Application_Bootstrap_BootstrapAbstract &#8211; resource Methods arent marked as &#8220;run&#8221;<br />
<a href="http://framework.zend.com/issues/browse/ZF-7978">[ZF-7978]</a> &#8211; method Zend_Mail_Protocol_Imap::_decodeLine() incorrectly parse some tokens<br />
<a href="http://framework.zend.com/issues/browse/ZF-7987">[ZF-7987]</a> &#8211; Zend_Validate_Float locale<br />
<a href="http://framework.zend.com/issues/browse/ZF-8008">[ZF-8008]</a> &#8211; Database Test: Wrong truncate command for Oracle<br />
<a href="http://framework.zend.com/issues/browse/ZF-8032">[ZF-8032]</a> &#8211; userShow() functionality breaks if username is passed as the argument<br />
<a href="http://framework.zend.com/issues/browse/ZF-8037">[ZF-8037]</a> &#8211; unlogic code in addTranslation func<br />
<a href="http://framework.zend.com/issues/browse/ZF-8038">[ZF-8038]</a> &#8211; Zend_Filter_LocalizedToNormalized performs in a non-intuitive way</p>
<p><strong>Docs:  Problem</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-7916">[ZF-7916]</a> &#8211; Docs says ZF_STORAGE_DIRECTORY but zf.bat requires ZF_STORAGE_DIR<br />
<a href="http://framework.zend.com/issues/browse/ZF-7920">[ZF-7920]</a> &#8211; The example code db adapter declaration in Quickstart guide assumes a case-insensitive file system<br />
<a href="http://framework.zend.com/issues/browse/ZF-7933">[ZF-7933]</a> &#8211; Zend_Acl &#8211; update addResource() method &#8211; path provided<br />
<a href="http://framework.zend.com/issues/browse/ZF-7952">[ZF-7952]</a> &#8211; Wrong reference getCode() should be getName() in Zend Tool Writing Providers section</p>
<p><strong>Improvement</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-6880">[ZF-6880]</a> &#8211; Zend_Service_Twitter should implement the Twitter Block User API<br />
<a href="http://framework.zend.com/issues/browse/ZF-7921">[ZF-7921]</a> &#8211; Let Zend_View_Helper_Translate translate in the same way as Zend_Translate so that it gets picked up by poedit (gettext)</p>
<p><strong>Patch</strong><br />
<a href="http://framework.zend.com/issues/browse/ZF-7946">[ZF-7946]</a> &#8211; Zend_Db_Adapter_Oracle triggers E_NOTICE without oci extension</p>
]]></content:encoded>
			<wfw:commentRss>http://www.god-object.com/2009/10/17/just-released-zend-framework-1-9-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>User Interface testing on Mac OS 10.6 Snow Leopard</title>
		<link>http://www.god-object.com/2009/10/16/user-interface-testing-on-mac-os-10-6-snow-leopard/</link>
		<comments>http://www.god-object.com/2009/10/16/user-interface-testing-on-mac-os-10-6-snow-leopard/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 12:25:19 +0000</pubDate>
		<dc:creator>webpatser</dc:creator>
				<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Snow Leopard]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpUnit]]></category>
		<category><![CDATA[zend studio]]></category>

		<guid isPermaLink="false">http://www.god-object.com/?p=3</guid>
		<description><![CDATA[Zend framework is my PHP framework of choice, and I like Zend Studio 7 for coding. I try to unit test as much as possible. But when in comes to User Interface testing, plain phpUnit cannot do the job. Then Selenium comes in play. So with&#8217;s the big deal? It isn&#8217;t working out of the [...]]]></description>
			<content:encoded><![CDATA[<p>Zend framework is my PHP framework of choice, and I like Zend Studio 7 for coding. I try to unit test as much as possible. But when in comes to User Interface testing, plain phpUnit cannot do the job. Then Selenium comes in play. So with&#8217;s the big deal? It isn&#8217;t working out of the box&#8230;</p>
<p>My setup is a Mac running 10.6.1 Snow Leopard running al the latest patches. I&#8217;m using Firefox 3.5.3 and my IDE is Zend Studio 7.0.2.</p>
<p>Start with installing Selenium. You can install it as a pear package. On snow leopard apple included the latest versions of php (5.3) and PEAR, so installation is easy. But make sure you have the latest version of PEAR, just to be sure&#8230;.</p>
<pre class="brush: bash;">
sudo pear upgrade
</pre>
<p>Now install the Selenium PEAR package. As of now the package is still in beta, so we cannot do a pear install Testing_Selenium. We need to specify the version.</p>
<pre class="brush: bash;">
pear install channel://pear.php.net/Testing_Selenium-0.4.3
</pre>
<p>SeleniumRC is now installed. But we need to fix it. Selenium has some hardcoded files with references to Firefox 2. We need to change it to work with Firefox 3.5. Why do we need to change this? When selenium fire&#8217;s up the browser in a test case it will install a plug-in for the remote control. But the plug-in will not load because there is a browser version restriction. It will not load in version higher than 2.</p>
<p>First go to the folder where the selenium-server.jar is installed</p>
<pre class="brush: bash;">
cd /usr/lib/php/data/Testing_Selenium
</pre>
<p>There should be an selenium-server.jar in that folder. You can check with a list statement</p>
<pre class="brush: bash;">ls</pre>
<p>Now extract the files we need to change</p>
<pre class="brush: bash;">
jar xf selenium-server.jar customProfileDirCUSTFFCHROME/extensions/readystate@openqa.org/install.rdf
jar xf selenium-server.jar customProfileDirCUSTFFCHROME/extensions/{538F0036-F358-4f84-A764-89FB437166B4}/install.rdf
jar xf selenium-server.jar customProfileDirCUSTFFCHROME/extensions/\{503A0CD4-EDC8-489b-853B-19E0BAA8F0A4\}/install.rdf
jar xf selenium-server.jar customProfileDirCUSTFF/extensions/readystate\@openqa.org/install.rdf
jar xf selenium-server.jar customProfileDirCUSTFF/extensions/\{538F0036-F358-4f84-A764-89FB437166B4\}/install.rdf
</pre>
<p>Now replace all references to firefox 2.0.0.* to 3.5.*</p>
<pre class="brush: bash;">
sudo find . -name &quot;*.rdf&quot; -exec sed -i -e 's/&lt;em:maxVersion&gt;2.0&lt;\/em:maxVersion&gt;/&lt;em:maxVersion&gt;3.5.*&lt;\/em:maxVersion&gt;/' '{}' \;
</pre>
<p>This line will search all extracted rdf files and replaces the version numbers.</p>
<p>Now put the modified files back into the jar</p>
<pre class="brush: bash;">
jar uf selenium-server.jar customProfileDirCUSTFFCHROME/extensions/readystate@openqa.org/install.rdf
jar uf selenium-server.jar customProfileDirCUSTFFCHROME/extensions/{538F0036-F358-4f84-A764-89FB437166B4}/install.rdf
jar uf selenium-server.jar customProfileDirCUSTFFCHROME/extensions/\{503A0CD4-EDC8-489b-853B-19E0BAA8F0A4\}/install.rdf
jar uf selenium-server.jar customProfileDirCUSTFF/extensions/readystate\@openqa.org/install.rdf
jar uf selenium-server.jar customProfileDirCUSTFF/extensions/\{538F0036-F358-4f84-A764-89FB437166B4\}/install.rdf
</pre>
<p>OK, that&#8217;s selenium taking care of. Now start the server . Be sure you&#8217;re in the /usr/lib/php/data/Testing_Selenium directory</p>
<pre class="brush: bash;">
java -jar ./selenium-server.jar
</pre>
<p>It should display some INFO messages saying org.mortbay.util.Container start</p>
<p>Selenium is running but need to fix a firefox bug before we can do an actual test. Without this fix Firefox will crash when selenium is trying to start it. We need to remove a sqlite file. As a precaution we don&#8217;t remove it but rename it</p>
<pre class="brush: bash;">
sudo mv /Applications/Firefox.app/Contents/MacOS/libsqlite3.dylib /Applications/Firefox.app/Contents/MacOS/_libsqlite3.dylib
</pre>
<p>I don&#8217;t experience bugs in firefox after this renaming. But if you think firefox is unstable, in normal use, after renaming this file rename it back to it&#8217;s original name after you&#8217;re done testing.</p>
<p>Now we have to generate some tests. You can build you own tests using firefox and the SeleniumIDE, but that is pretty straight forward. In the IDE you can copy the PHP code to your phpUnit tests.</p>
<p>For now I prepared a simple test see the code. Make sure you have phpUnit in your library path. In  Zend Studio you can set this by altering the PHP include path in your project. If you don&#8217;t use Zend Studio you have to make sure you have phpUnit installed.</p>
<pre class="brush: php;">
&lt;?php

require_once 'PHPUnit/Extensions/SeleniumTestCase.php';

class Example extends PHPUnit_Extensions_SeleniumTestCase
{
  function setUp()
  {
    $this-&gt;setBrowser(&quot;*chrome&quot;);
    $this-&gt;setBrowserUrl(&quot;http://ikregeer.nl/&quot;);
  }

  function testMyTestCase()
  {
    $this-&gt;open(&quot;http://ikregeer.nl/&quot;);
    $this-&gt;click(&quot;link=Kamerstukken&quot;);
    $this-&gt;waitForPageToLoad(&quot;30000&quot;);
    $this-&gt;click(&quot;link=Antwoorden&quot;);
    $this-&gt;waitForPageToLoad(&quot;30000&quot;);
  }
}
?&gt;
</pre>
<p><a title="Inzicht in de politiek" href="http://ikregeer.nl/">ikregeer.nl</a> is a website I developed, and the tests just clicks on a few menu&#8217;s. The code is actualy copy-pasted from the SeleniumIDE, but with one minor but realy important fix.</p>
<p>For some reason the setBrowserUrl isn&#8217;t working correctly. To fix this you have to make sure the first call in the testMyTestCase function is $this-&gt;open(&#8220;http://yourwebsite.com/&#8221;); If you don&#8217;t do this the test will fail with a strange selenium proxy error. I have to check if this is due to the phpUnit implementation in Zend Studio or it&#8217;s a bug in the selenium-server.</p>
<p>You can now run your tests from Zend Studio and it will open a new firefox browser window and do the interface test. I made a small video to see it working <img src='http://www.god-object.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/ibUqbEaJvIU&#038;hl=en&#038;fs=1&#038;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ibUqbEaJvIU&#038;hl=en&#038;fs=1&#038;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.god-object.com/2009/10/16/user-interface-testing-on-mac-os-10-6-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
