<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>PHP for Microsoft AJAX Library</title><link>http://phpmsajax.codeplex.com/project/feeds/rss</link><description>A small set of PHP files to support using the Microsoft AJAX Library with PHP web applications.  The current release supports creating web service proxies in PHP code such that the Microsoft AJAX Library &amp;#40;a free download from http&amp;#58;&amp;#47;&amp;#47;ajax.asp.net&amp;#41; can call them from client-side code.  Future releases will support localization and globalization, debug and release scripts, and more features inspired by ASP.NET AJAX.</description><item><title>Source code checked in, #94877</title><link>http://phpmsajax.codeplex.com/SourceControl/changeset/changes/94877</link><description>Upgrade&amp;#58; New Version of LabDefaultTemplate.xaml. To upgrade your build definitions, please visit the following link&amp;#58; http&amp;#58;&amp;#47;&amp;#47;go.microsoft.com&amp;#47;fwlink&amp;#47;&amp;#63;LinkId&amp;#61;254563</description><author>Project Collection Service Accounts</author><pubDate>Mon, 01 Oct 2012 22:38:35 GMT</pubDate><guid isPermaLink="false">Source code checked in, #94877 20121001103835P</guid></item><item><title>Source code checked in, #94876</title><link>http://phpmsajax.codeplex.com/SourceControl/changeset/changes/94876</link><description>Checked in by server upgrade</description><author>Project Collection Service Accounts</author><pubDate>Mon, 01 Oct 2012 22:31:06 GMT</pubDate><guid isPermaLink="false">Source code checked in, #94876 20121001103106P</guid></item><item><title>Source code checked in, #57274</title><link>http://phpmsajax.codeplex.com/SourceControl/changeset/changes/57274</link><description>Checked in by server upgrade</description><author>_TFSSERVICE</author><pubDate>Wed, 28 Jul 2010 22:13:23 GMT</pubDate><guid isPermaLink="false">Source code checked in, #57274 20100728101323P</guid></item><item><title>Created Issue: Exceptions not passed properly to debug framework</title><link>http://www.codeplex.com/phpmsajax/WorkItem/View.aspx?WorkItemId=7546</link><description>Most of what&amp;#39;s needed to pass PHP exceptions right through to JavaScript is there, except for an HTTP header that the framework checks.  Add&lt;br /&gt;&lt;br /&gt;            header&amp;#40;&amp;#39;jsonerror&amp;#58;true&amp;#39;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;at line 95 to enable it.&lt;br /&gt;&lt;br /&gt;Now you can see your exception message rather than &amp;#34;The &amp;#39;d&amp;#39; property is missing from the JSON wrapper&amp;#34; &amp;#40;emitted by the Debug library&amp;#41;.&lt;br /&gt;</description><author>hpatcouto</author><pubDate>Mon, 08 Sep 2008 16:32:44 GMT</pubDate><guid isPermaLink="false">Created Issue: Exceptions not passed properly to debug framework 20080908043244P</guid></item><item><title>Created Issue: Useless $applicationRoot</title><link>http://www.codeplex.com/phpmsajax/WorkItem/View.aspx?WorkItemId=7545</link><description>MSAjaxProxyGenerator defines &amp;#36;applicationRoot at line 12.  It is never used and is useless.&lt;br /&gt;</description><author>hpatcouto</author><pubDate>Mon, 08 Sep 2008 16:26:20 GMT</pubDate><guid isPermaLink="false">Created Issue: Useless $applicationRoot 20080908042620P</guid></item><item><title>Updated Wiki: Home</title><link>http://www.codeplex.com/phpmsajax/Wiki/View.aspx?title=Home&amp;version=12</link><description>&lt;div class="wikidoc"&gt;
A small set of PHP files to support using the Microsoft AJAX Library with PHP web applications.  The current release supports creating web service proxies in PHP code such that the Microsoft AJAX Library &amp;#40;a free download from http&amp;#58;&amp;#47;&amp;#47;ajax.asp.net&amp;#41; can call them from client-side code.  Future releases will support localization and globalization, debug and release scripts, and more features inspired by ASP.NET AJAX.
&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Download
&lt;/h2&gt; &lt;br /&gt;Download the current release: &lt;a href="http://www.codeplex.com/phpmsajax/Release/ProjectReleases.aspx?ReleaseId=16817"&gt;4 Alpha&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Requirements
&lt;/h2&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;A web server -- Steve and Christian have personally tested on IIS7 (Vista) and Apache (Ubuntu 6.06, with PHP5.2 from 'feisty')&lt;/li&gt;&lt;li&gt;PHP 5.2+ -- 5.2+ is required for json_encode/json_decode; on older versions you can manually install &lt;a href="http://www.aurore.net/projects/php-json/" class="externalLink"&gt;php-json&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Version 3.5 of the Microsoft AJAX Library (older versions are supported by &lt;a href="http://www.codeplex.com/phpmsajax/Release/ProjectReleases.aspx?ReleaseId=1692"&gt;3 Alpha&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
Installation
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Download the current release and unpack it locally.&lt;/li&gt;&lt;li&gt;Download the Microsoft AJAX Library from &lt;a href="http://ajax.asp.net/" class="externalLink"&gt;http://ajax.asp.net/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;From your PHP code, include MSAjaxService.php from your service code.&lt;/li&gt;&lt;li&gt;From your client code, include MicrosoftAjax.js via a script tag.  (This file is part of the Microsoft AJAX Library you downloaded in step 2.)&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;b&gt;NOTE:&lt;/b&gt; The samples included in the full distribution will not work until you download the Microsoft AJAX Library.  See the readme.txt in the MicrosoftAjaxLibrary directory where you unpacked PHP for Microsoft AJAX Library.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Hello World Example
&lt;/h2&gt; &lt;br /&gt;A basic example showing how to expose a web service from PHP and consume it from the browser.  This sample can be found under samples/HelloWorld in the source distribution.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;HelloService.php&lt;/b&gt;:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
&amp;lt;?php
 
require_once '../../dist/MSAjaxService.php';
 
class HelloService extends MSAjaxService
{
    function SayHello($name)
    {
        return 'Hello, ' . $name . '!';
    }
}
 
$h = new HelloService();
$h-&amp;gt;ProcessRequest();
 
?&amp;gt;
&lt;/pre&gt; &lt;br /&gt; &lt;br /&gt;&lt;b&gt;index.html&lt;/b&gt;:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;Hello, World!&amp;lt;/title&amp;gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;../../MicrosoftAjaxLibrary/MicrosoftAjax.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;HelloService.php/js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
Name: &amp;lt;input id=&amp;quot;name&amp;quot; type=&amp;quot;text&amp;quot; /&amp;gt; &amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Say Hello&amp;quot; onclick=&amp;quot;button_click(); return false;&amp;quot; /&amp;gt;
&amp;lt;br /&amp;gt;
Response from server: &amp;lt;span id=&amp;quot;response&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
    function button_click() {
        HelloService.SayHello($get('name').value, function (result) { $get('response').innerHTML = result; });
    }
&amp;lt;/script&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>cwenz</author><pubDate>Sat, 30 Aug 2008 10:44:56 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20080830104456A</guid></item><item><title>Created Release: 4 Alpha (Aug 30, 2008)</title><link>http://www.codeplex.com/phpmsajax/Release/ProjectReleases.aspx?ReleaseId=16817</link><description>&lt;div&gt;
Microsoft AJAX Library 3.5 is now supported; older versions are not supported (use version 3 Alpha instead).&lt;br&gt;
&lt;/div&gt;</description><author></author><pubDate>Sat, 30 Aug 2008 10:42:16 GMT</pubDate><guid isPermaLink="false">Created Release: 4 Alpha (Aug 30, 2008) 20080830104216A</guid></item><item><title>Released: 4 Alpha (Aug 30, 2008)</title><link>http://www.codeplex.com/phpmsajax/Release/ProjectReleases.aspx?ReleaseId=16817</link><description>&lt;div&gt;
Microsoft AJAX Library 3.5 is now supported; older versions are not supported (use version 3 Alpha instead).&lt;br&gt;
&lt;/div&gt;</description><author></author><pubDate>Sat, 30 Aug 2008 10:42:16 GMT</pubDate><guid isPermaLink="false">Released: 4 Alpha (Aug 30, 2008) 20080830104216A</guid></item><item><title>Patch Uploaded</title><link>http://www.codeplex.com/phpmsajax/SourceControl/PatchList.aspx</link><description>
&lt;p&gt;&lt;a href='/UserAccount/UserProfile.aspx?UserName=dherbst'&gt;dherbst&lt;/a&gt; has uploaded a patch.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;This patches MSAjaxService.php when using MicrosoftAjaxLibrary 3.5.  There seems to have been a breaking change from the earlier msajaxlibrary which did not put the result data into the &amp;#34;d&amp;#34; property of the returned json object.  &lt;br /&gt;&lt;br /&gt;The fix is line 87 to add the array wrapper&amp;#58;&lt;br /&gt;&lt;br /&gt;            echo json_encode&amp;#40; array&amp;#40;&amp;#34;d&amp;#34;&amp;#61;&amp;#62;&amp;#36;returnValue&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This should fix iss &amp;#35;4997 for you.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Please let me know if you have any questions.&lt;/p&gt;</description><author>dherbst</author><pubDate>Mon, 07 Jan 2008 13:27:59 GMT</pubDate><guid isPermaLink="false">Patch Uploaded 20080107012759P</guid></item><item><title>COMMENTED ISSUE: b has no properties</title><link>http://www.codeplex.com/phpmsajax/WorkItem/View.aspx?WorkItemId=4997</link><description>Trying your hello example creates &amp;#34;b has no properties&amp;#34; error in MicrosoftAjax.js line 5.&lt;br /&gt;When changing script source from MicrosoftAjax.js to MicrosoftAjax.debug.js is says&amp;#58;&lt;br /&gt;Chyba&amp;#58; &amp;#91;Exception... &amp;#34;&amp;#39;Sys.Net.WebServiceFailedException&amp;#58; Sys.Net.WebServiceFailedException&amp;#58; The server method &amp;#39;SayHello&amp;#39; returned invalid data. The &amp;#39;d&amp;#39; property is missing from the JSON wrapper.&amp;#39; when calling method&amp;#58; &amp;#91;nsIOnReadyStateChangeHandler&amp;#58;&amp;#58;handleEvent&amp;#93;&amp;#34;  nsresult&amp;#58; &amp;#34;0x8057001c &amp;#40;NS_ERROR_XPC_JS_THREW_JS_OBJECT&amp;#41;&amp;#34;  location&amp;#58; &amp;#34;&amp;#60;unknown&amp;#62;&amp;#34;  data&amp;#58; no&amp;#93;&lt;br /&gt;&lt;br /&gt;Using PHP PHP 5.2.5, Apache 2.2.6, Windows XP Pro, FireFox 2.0.0.11&lt;br /&gt;Comments: ** Comment from web user: Dzonny ** &lt;p&gt;And getting undefined also in IE&lt;/p&gt;</description><author>Dzonny</author><pubDate>Sun, 06 Jan 2008 13:47:30 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: b has no properties 20080106014730P</guid></item><item><title>COMMENTED ISSUE: b has no properties</title><link>http://www.codeplex.com/phpmsajax/WorkItem/View.aspx?WorkItemId=4997</link><description>Trying your hello example creates &amp;#34;b has no properties&amp;#34; error in MicrosoftAjax.js line 5.&lt;br /&gt;When changing script source from MicrosoftAjax.js to MicrosoftAjax.debug.js is says&amp;#58;&lt;br /&gt;Chyba&amp;#58; &amp;#91;Exception... &amp;#34;&amp;#39;Sys.Net.WebServiceFailedException&amp;#58; Sys.Net.WebServiceFailedException&amp;#58; The server method &amp;#39;SayHello&amp;#39; returned invalid data. The &amp;#39;d&amp;#39; property is missing from the JSON wrapper.&amp;#39; when calling method&amp;#58; &amp;#91;nsIOnReadyStateChangeHandler&amp;#58;&amp;#58;handleEvent&amp;#93;&amp;#34;  nsresult&amp;#58; &amp;#34;0x8057001c &amp;#40;NS_ERROR_XPC_JS_THREW_JS_OBJECT&amp;#41;&amp;#34;  location&amp;#58; &amp;#34;&amp;#60;unknown&amp;#62;&amp;#34;  data&amp;#58; no&amp;#93;&lt;br /&gt;&lt;br /&gt;Using PHP PHP 5.2.5, Apache 2.2.6, Windows XP Pro, FireFox 2.0.0.11&lt;br /&gt;Comments: ** Comment from web user: Dzonny ** &lt;p&gt;.... and exception when using MicrosoftAjax.debug.js&amp;#58;&lt;br /&gt;Chyba&amp;#58; &amp;#91;Exception... &amp;#34;&amp;#39;Sys.Net.WebServiceFailedException&amp;#58; Sys.Net.WebServiceFailedException&amp;#58; The server method &amp;#39;SayHello&amp;#39; returned invalid data. The &amp;#39;d&amp;#39; property is missing from the JSON wrapper.&amp;#39; when calling method&amp;#58; &amp;#91;nsIOnReadyStateChangeHandler&amp;#58;&amp;#58;handleEvent&amp;#93;&amp;#34;  nsresult&amp;#58; &amp;#34;0x8057001c &amp;#40;NS_ERROR_XPC_JS_THREW_JS_OBJECT&amp;#41;&amp;#34;  location&amp;#58; &amp;#34;&amp;#60;unknown&amp;#62;&amp;#34;  data&amp;#58; no&amp;#93;&lt;/p&gt;</description><author>Dzonny</author><pubDate>Sun, 06 Jan 2008 12:21:22 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: b has no properties 20080106122122P</guid></item><item><title>COMMENTED ISSUE: b has no properties</title><link>http://www.codeplex.com/phpmsajax/WorkItem/View.aspx?WorkItemId=4997</link><description>Trying your hello example creates &amp;#34;b has no properties&amp;#34; error in MicrosoftAjax.js line 5.&lt;br /&gt;When changing script source from MicrosoftAjax.js to MicrosoftAjax.debug.js is says&amp;#58;&lt;br /&gt;Chyba&amp;#58; &amp;#91;Exception... &amp;#34;&amp;#39;Sys.Net.WebServiceFailedException&amp;#58; Sys.Net.WebServiceFailedException&amp;#58; The server method &amp;#39;SayHello&amp;#39; returned invalid data. The &amp;#39;d&amp;#39; property is missing from the JSON wrapper.&amp;#39; when calling method&amp;#58; &amp;#91;nsIOnReadyStateChangeHandler&amp;#58;&amp;#58;handleEvent&amp;#93;&amp;#34;  nsresult&amp;#58; &amp;#34;0x8057001c &amp;#40;NS_ERROR_XPC_JS_THREW_JS_OBJECT&amp;#41;&amp;#34;  location&amp;#58; &amp;#34;&amp;#60;unknown&amp;#62;&amp;#34;  data&amp;#58; no&amp;#93;&lt;br /&gt;&lt;br /&gt;Using PHP PHP 5.2.5, Apache 2.2.6, Windows XP Pro, FireFox 2.0.0.11&lt;br /&gt;Comments: ** Comment from web user: Dzonny ** &lt;p&gt;There was a problem with your PHP code and my very strict PHP settings. It generated a notice&amp;#58;&lt;br /&gt;&amp;#60;br &amp;#47;&amp;#62;&lt;br /&gt;&amp;#60;b&amp;#62;Notice&amp;#60;&amp;#47;b&amp;#62;&amp;#58;  Undefined index&amp;#58;  HTTP_CONTENT_TYPE in &amp;#60;b&amp;#62;C&amp;#58;&amp;#92;Program Files&amp;#92;Apache Software Foundation&amp;#92;Apache2.2&amp;#92;htdocs&amp;#92;filestore&amp;#92;phpmsajax&amp;#92;MSAjaxService.php&amp;#60;&amp;#47;b&amp;#62; on line &amp;#60;b&amp;#62;60&amp;#60;&amp;#47;b&amp;#62;&amp;#60;br &amp;#47;&amp;#62;&lt;br /&gt;So, I&amp;#39;ve altered the line 60 from&lt;br /&gt;if &amp;#40;&amp;#40;strpos&amp;#40;&amp;#36;_SERVER&amp;#91;&amp;#39;HTTP_CONTENT_TYPE&amp;#39;&amp;#93;, &amp;#39;application&amp;#47;json&amp;#39;&amp;#41; &amp;#33;&amp;#61;&amp;#61; 0&amp;#41; &amp;#38;&amp;#38; &amp;#40;strpos&amp;#40;&amp;#36;_SERVER&amp;#91;&amp;#39;CONTENT_TYPE&amp;#39;&amp;#93;, &amp;#39;application&amp;#47;json&amp;#39;&amp;#41; &amp;#33;&amp;#61;&amp;#61; 0&amp;#41;&amp;#41;&lt;br /&gt;to&lt;br /&gt;if &amp;#40;&amp;#40;strpos&amp;#40;&amp;#64;&amp;#36;_SERVER&amp;#91;&amp;#39;HTTP_CONTENT_TYPE&amp;#39;&amp;#93;, &amp;#39;application&amp;#47;json&amp;#39;&amp;#41; &amp;#33;&amp;#61;&amp;#61; 0&amp;#41; &amp;#38;&amp;#38; &amp;#40;strpos&amp;#40;&amp;#64;&amp;#36;_SERVER&amp;#91;&amp;#39;CONTENT_TYPE&amp;#39;&amp;#93;, &amp;#39;application&amp;#47;json&amp;#39;&amp;#41; &amp;#33;&amp;#61;&amp;#61; 0&amp;#41;&amp;#41;&lt;/p&gt;&lt;p&gt;now I&amp;#168;m getting undefined instead fo hello message &amp;#58;-&amp;#40;&lt;/p&gt;</description><author>Dzonny</author><pubDate>Sun, 06 Jan 2008 12:19:40 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: b has no properties 20080106121940P</guid></item><item><title>CREATED ISSUE: b has no properties</title><link>http://www.codeplex.com/phpmsajax/WorkItem/View.aspx?WorkItemId=4997</link><description>Trying your hello example creates &amp;#34;b has no properties&amp;#34; error in MicrosoftAjax.js line 5.&lt;br /&gt;When changing script source from MicrosoftAjax.js to MicrosoftAjax.debug.js is says&amp;#58;&lt;br /&gt;Chyba&amp;#58; &amp;#91;Exception... &amp;#34;&amp;#39;Sys.Net.WebServiceFailedException&amp;#58; Sys.Net.WebServiceFailedException&amp;#58; The server method &amp;#39;SayHello&amp;#39; returned invalid data. The &amp;#39;d&amp;#39; property is missing from the JSON wrapper.&amp;#39; when calling method&amp;#58; &amp;#91;nsIOnReadyStateChangeHandler&amp;#58;&amp;#58;handleEvent&amp;#93;&amp;#34;  nsresult&amp;#58; &amp;#34;0x8057001c &amp;#40;NS_ERROR_XPC_JS_THREW_JS_OBJECT&amp;#41;&amp;#34;  location&amp;#58; &amp;#34;&amp;#60;unknown&amp;#62;&amp;#34;  data&amp;#58; no&amp;#93;&lt;br /&gt;&lt;br /&gt;Using PHP PHP 5.2.5, Apache 2.2.6, Windows XP Pro, FireFox 2.0.0.11&lt;br /&gt;</description><author>Dzonny</author><pubDate>Sun, 06 Jan 2008 11:48:19 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: b has no properties 20080106114819A</guid></item><item><title>Project License Changed</title><link>http://www.codeplex.com/phpmsajax/Project/License.aspx?LicenseHistoryId=7104</link><description>Microsoft Public License &amp;#40;Ms-PL&amp;#41;&amp;#13;&amp;#10;&amp;#13;&amp;#10;This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.&amp;#13;&amp;#10;&amp;#13;&amp;#10;1. Definitions&amp;#13;&amp;#10;&amp;#13;&amp;#10;The terms &amp;#34;reproduce,&amp;#34; &amp;#34;reproduction,&amp;#34; &amp;#34;derivative works,&amp;#34; and &amp;#34;distribution&amp;#34; have the same meaning here as under U.S. copyright law.&amp;#13;&amp;#10;&amp;#13;&amp;#10;A &amp;#34;contribution&amp;#34; is the original software, or any additions or changes to the software.&amp;#13;&amp;#10;&amp;#13;&amp;#10;A &amp;#34;contributor&amp;#34; is any person that distributes its contribution under this license.&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;#34;Licensed patents&amp;#34; are a contributor&amp;#39;s patent claims that read directly on its contribution.&amp;#13;&amp;#10;&amp;#13;&amp;#10;2. Grant of Rights&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;#40;A&amp;#41; Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;#40;B&amp;#41; Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and&amp;#47;or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.&amp;#13;&amp;#10;&amp;#13;&amp;#10;3. Conditions and Limitations&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;#40;A&amp;#41; No Trademark License- This license does not grant you rights to use any contributors&amp;#39; name, logo, or trademarks.&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;#40;B&amp;#41; If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically.&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;#40;C&amp;#41; If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;#40;D&amp;#41; If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;#40;E&amp;#41; The software is licensed &amp;#34;as-is.&amp;#34; You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement.</description><author></author><pubDate>Fri, 30 Nov 2007 19:53:11 GMT</pubDate><guid isPermaLink="false">Project License Changed 20071130075311P</guid></item><item><title>COMMENTED ISSUE: $_SERVER variable HTTP_CONTENT_TYPE doesn't exist -- Still an Issue</title><link>http://www.codeplex.com/phpmsajax/WorkItem/View.aspx?WorkItemId=415</link><description>Here is the correct way to solve it:

if ((isset($_SERVER['HTTP_CONTENT_TYPE']) &amp;&amp; strpos($_SERVER['HTTP_CONTENT_TYPE'], 'application/json') !== 0) 
  || (isset($_SERVER['CONTENT_TYPE']) &amp;&amp; strpos($_SERVER['CONTENT_TYPE'], 'application/json') !== 0))
{
  header('HTTP/1.0 500 Internal Server Error');
  throw new Exception('Wrong content-type, should be application/json');
} Comments: ** Comment from web user: bencornwell ** &lt;p&gt;actually - that should be&lt;/p&gt;&lt;p&gt;if&amp;#40; array_key_exists&amp;#40; &amp;#39;CONTENT_TYPE&amp;#39;, &amp;#36;_SERVER &amp;#41; &amp;#41; &amp;#123; &amp;#47;&amp;#47;do something &amp;#125; &lt;/p&gt;&lt;p&gt;Standard argument ordering isn&amp;#39;t one of PHP&amp;#39;s strong points &amp;#59;&amp;#41;&lt;/p&gt;</description><author>bencornwell</author><pubDate>Mon, 25 Jun 2007 13:40:08 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: $_SERVER variable HTTP_CONTENT_TYPE doesn't exist -- Still an Issue 20070625014008P</guid></item><item><title>COMMENTED ISSUE: $_SERVER variable HTTP_CONTENT_TYPE doesn't exist -- Still an Issue</title><link>http://www.codeplex.com/phpmsajax/WorkItem/View.aspx?WorkItemId=415</link><description>Here is the correct way to solve it:

if ((isset($_SERVER['HTTP_CONTENT_TYPE']) &amp;&amp; strpos($_SERVER['HTTP_CONTENT_TYPE'], 'application/json') !== 0) 
  || (isset($_SERVER['CONTENT_TYPE']) &amp;&amp; strpos($_SERVER['CONTENT_TYPE'], 'application/json') !== 0))
{
  header('HTTP/1.0 500 Internal Server Error');
  throw new Exception('Wrong content-type, should be application/json');
} Comments: ** Comment from web user: bencornwell ** &lt;p&gt;Hi Steve - just caught your presentation at ReMIX07 and thought I&amp;#39;d check out the phpmsajax project. &lt;/p&gt;&lt;p&gt;I hit the issue described above - it&amp;#39;s actually a PHP5 -&amp;#62; PHP4 legacy issue. PHP5 &amp;#40;strict mode&amp;#41; will generate an error if the array index you&amp;#39;re trying to access doesn&amp;#39;t exist, while PHP4 &amp;#40;or PHP5 running a more forgiving error_reporting&amp;#40;&amp;#41; setting&amp;#41; won&amp;#39;t. &lt;/p&gt;&lt;p&gt;Further, the isset&amp;#40;&amp;#41; probably isn&amp;#39;t the best way to test this condition either - the best way I&amp;#39;ve come across is&amp;#58;  if&amp;#40; array_key_exists&amp;#40; &amp;#36;_SERVER, &amp;#39;CONTENT_TYPE&amp;#39;&amp;#41; &amp;#41; &amp;#123; &amp;#47;&amp;#47;do something &amp;#125;&lt;/p&gt;&lt;p&gt;Happy to submit a patch - just let me know how &amp;#58;&amp;#41;&lt;/p&gt;</description><author>bencornwell</author><pubDate>Mon, 25 Jun 2007 13:33:28 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: $_SERVER variable HTTP_CONTENT_TYPE doesn't exist -- Still an Issue 20070625013328P</guid></item><item><title>Project License Changed</title><link>http://www.codeplex.com/phpmsajax/Project/License.aspx?LicenseHistoryId=3432</link><description>Microsoft Permissive License (Ms-PL)

This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.

1. Definitions

The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law.

A "contribution" is the original software, or any additions or changes to the software.

A "contributor" is any person that distributes its contribution under this license.

"Licensed patents" are a contributor's patent claims that read directly on its contribution.

2. Grant of Rights

(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.

(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.

3. Conditions and Limitations

(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.

(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically.

(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.

(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.

(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement.</description><author></author><pubDate>Thu, 31 May 2007 23:32:31 GMT</pubDate><guid isPermaLink="false">Project License Changed 20070531113231P</guid></item><item><title>CREATED ISSUE: solution of how to cast to an arbitrary class</title><link>http://www.codeplex.com/phpmsajax/WorkItem/View.aspx?WorkItemId=1235</link><description>PHP maintains a generic empty class stdClass from which all class are built in PHP. You can use that class to create generic class objects anytime you wish.

&lt;code&gt;
$class = new stdClass();
$class-&gt;randomProperty1 = 'foo';
$class-&gt;randomProperty2 = 'bar';
&lt;/code&gt;

Aditionally, PHP5 supports object cloning. http://us2.php.net/manual/en/language.oop5.cloning.php </description><author>heygrady</author><pubDate>Wed, 25 Apr 2007 21:33:27 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: solution of how to cast to an arbitrary class 20070425093327P</guid></item><item><title>CLOSED ISSUE: $_SERVER variable HTTP_CONTENT_TYPE doesn't exist -- Still an Issue</title><link>http://www.codeplex.com/phpmsajax/WorkItem/View.aspx?WorkItemId=415</link><description>Here is the correct way to solve it:

if ((isset($_SERVER['HTTP_CONTENT_TYPE']) &amp;&amp; strpos($_SERVER['HTTP_CONTENT_TYPE'], 'application/json') !== 0) 
  || (isset($_SERVER['CONTENT_TYPE']) &amp;&amp; strpos($_SERVER['CONTENT_TYPE'], 'application/json') !== 0))
{
  header('HTTP/1.0 500 Internal Server Error');
  throw new Exception('Wrong content-type, should be application/json');
} </description><author>SteveMarx</author><pubDate>Wed, 25 Apr 2007 21:08:12 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: $_SERVER variable HTTP_CONTENT_TYPE doesn't exist -- Still an Issue 20070425090812P</guid></item><item><title>COMMENTED ISSUE: $_SERVER variable HTTP_CONTENT_TYPE doesn't exist -- Still an Issue</title><link>http://www.codeplex.com/phpmsajax/WorkItem/View.aspx?WorkItemId=415</link><description>Here is the correct way to solve it:

if ((isset($_SERVER['HTTP_CONTENT_TYPE']) &amp;&amp; strpos($_SERVER['HTTP_CONTENT_TYPE'], 'application/json') !== 0) 
  || (isset($_SERVER['CONTENT_TYPE']) &amp;&amp; strpos($_SERVER['CONTENT_TYPE'], 'application/json') !== 0))
{
  header('HTTP/1.0 500 Internal Server Error');
  throw new Exception('Wrong content-type, should be application/json');
} Comments: ** Comment from web user: SteveMarx ** &lt;p&gt;How is that different from what I did&amp;#63;&lt;/p&gt;</description><author>SteveMarx</author><pubDate>Wed, 25 Apr 2007 21:08:11 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: $_SERVER variable HTTP_CONTENT_TYPE doesn't exist -- Still an Issue 20070425090811P</guid></item></channel></rss>