Просмотр исходного кода

[ZF-7497]Line endings in Zend/Amf

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@17420 44c647ce-9c0f-0410-b52a-842ac1e357ba
yoshida@zend.co.jp 16 лет назад
Родитель
Сommit
54d9949618
29 измененных файлов с 1418 добавлено и 1418 удалено
  1. 133 133
      library/Zend/Amf/Adobe/Auth.php
  2. 103 103
      library/Zend/Amf/Adobe/DbInspector.php
  3. 309 309
      library/Zend/Amf/Adobe/Introspector.php
  4. 42 42
      library/Zend/Amf/Auth/Abstract.php
  5. 5 5
      library/Zend/Amf/Constants.php
  6. 1 1
      library/Zend/Amf/Exception.php
  7. 5 5
      library/Zend/Amf/Parse/Amf0/Deserializer.php
  8. 18 18
      library/Zend/Amf/Parse/Amf0/Serializer.php
  9. 11 11
      library/Zend/Amf/Parse/Amf3/Deserializer.php
  10. 38 38
      library/Zend/Amf/Parse/Amf3/Serializer.php
  11. 2 2
      library/Zend/Amf/Parse/Deserializer.php
  12. 1 1
      library/Zend/Amf/Parse/InputStream.php
  13. 2 2
      library/Zend/Amf/Parse/OutputStream.php
  14. 70 70
      library/Zend/Amf/Parse/Resource/MysqlResult.php
  15. 65 65
      library/Zend/Amf/Parse/Resource/MysqliResult.php
  16. 42 42
      library/Zend/Amf/Parse/Resource/Stream.php
  17. 2 2
      library/Zend/Amf/Parse/Serializer.php
  18. 47 47
      library/Zend/Amf/Parse/TypeLoader.php
  19. 5 5
      library/Zend/Amf/Request.php
  20. 4 4
      library/Zend/Amf/Request/Http.php
  21. 4 4
      library/Zend/Amf/Response.php
  22. 125 125
      library/Zend/Amf/Server.php
  23. 2 2
      library/Zend/Amf/Util/BinaryStream.php
  24. 1 1
      library/Zend/Amf/Value/ByteArray.php
  25. 182 182
      library/Zend/Amf/Value/MessageBody.php
  26. 2 2
      library/Zend/Amf/Value/MessageHeader.php
  27. 128 128
      library/Zend/Amf/Value/Messaging/CommandMessage.php
  28. 67 67
      library/Zend/Amf/Value/Messaging/ErrorMessage.php
  29. 2 2
      library/Zend/Amf/Value/TraitsInfo.php

+ 133 - 133
library/Zend/Amf/Adobe/Auth.php

@@ -1,133 +1,133 @@
-<?php
-/**
- * Zend Framework
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://framework.zend.com/license/new-bsd
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@zend.com so we can send you a copy immediately.
- *
- * @category   Zend
- * @package    Zend_Amf
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id$
- */
-
-/** Zend_Amf_Auth_Abstract */
-require_once 'Zend/Amf/Auth/Abstract.php';
-
-/** Zend_Acl */
-require_once 'Zend/Acl.php';
-
-/** Zend_Auth_Result */
-require_once 'Zend/Auth/Result.php';
-
-/**
- * This class implements authentication against XML file with roles for Flex Builder.
- *
- * @package    Zend_Amf
- * @subpackage Adobe
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- */
-class Zend_Amf_Adobe_Auth extends Zend_Amf_Auth_Abstract
-{
-    
-    /**
-     * ACL for authorization
-     * 
-     * @var Zend_Acl
-     */
-    protected $_acl;
-    
-    /**
-     * Username/password array
-     * 
-     * @var array
-     */
-    protected $_users = array();
-    
-    /**
-     * Create auth adapter
-     * 
-     * @param string $rolefile File containing XML with users and roles
-     */
-    public function __construct($rolefile)
-    {
-        $this->_acl = new Zend_Acl();
-        $xml = simplexml_load_file($rolefile);
-/*
-Roles file format:
- <roles>
-   <role id=”admin”>
-        <user name=”user1” password=”pwd”/>
-    </role>
-   <role id=”hr”>
-        <user name=”user2” password=”pwd2”/>
-    </role>    
-</roles>
-*/
-        foreach($xml->role as $role) {
-            $this->_acl->addRole(new Zend_Acl_Role((string)$role["id"]));
-            foreach($role->user as $user) {
-		        $this->_users[(string)$user["name"]] = array("password" => (string)$user["password"], 
-		        										"role" => (string)$role["id"]);
-	        }
-        }
-    }
-    
-    /**
-     * Get ACL with roles from XML file
-     * 
-     * @return Zend_Acl
-     */
-    public function getAcl()
-    {
-        return $this->_acl;
-    }
-    
-    /**
-     * Perform authentication
-     * 
-     * @throws Zend_Auth_Adapter_Exception
-     * @return Zend_Auth_Result
-     * @see Zend_Auth_Adapter_Interface#authenticate()
-     */
-    public function authenticate()
-    {
-        if (empty($this->_username) ||
-            empty($this->_password)) {
-            /**
-             * @see Zend_Auth_Adapter_Exception
-             */
-            require_once 'Zend/Auth/Adapter/Exception.php';
-            throw new Zend_Auth_Adapter_Exception('Username/password should be set');
-        }
-        
-        if(!isset($this->_users[$this->_username])) {
-            return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND,
-                null,
-                array('Username not found')
-                );
-        }
-        
-        $user = $this->_users[$this->_username];
-        if($user["password"] != $this->_password) {
-            return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID,
-                null,
-                array('Authentication failed')
-                );
-        }
-        
-        $id = new stdClass();
-        $id->role = $user["role"];
-        $id->name = $this->_username;
-        return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $id);
-    }
-}
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Amf
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id$
+ */
+
+/** @see Zend_Amf_Auth_Abstract */
+require_once 'Zend/Amf/Auth/Abstract.php';
+
+/** @see Zend_Acl */
+require_once 'Zend/Acl.php';
+
+/** @see Zend_Auth_Result */
+require_once 'Zend/Auth/Result.php';
+
+/**
+ * This class implements authentication against XML file with roles for Flex Builder.
+ *
+ * @package    Zend_Amf
+ * @subpackage Adobe
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_Amf_Adobe_Auth extends Zend_Amf_Auth_Abstract
+{
+
+    /**
+     * ACL for authorization
+     *
+     * @var Zend_Acl
+     */
+    protected $_acl;
+
+    /**
+     * Username/password array
+     *
+     * @var array
+     */
+    protected $_users = array();
+
+    /**
+     * Create auth adapter
+     *
+     * @param string $rolefile File containing XML with users and roles
+     */
+    public function __construct($rolefile)
+    {
+        $this->_acl = new Zend_Acl();
+        $xml = simplexml_load_file($rolefile);
+/*
+Roles file format:
+ <roles>
+   <role id=”admin”>
+        <user name=”user1” password=”pwd”/>
+    </role>
+   <role id=”hr”>
+        <user name=”user2” password=”pwd2”/>
+    </role>
+</roles>
+*/
+        foreach($xml->role as $role) {
+            $this->_acl->addRole(new Zend_Acl_Role((string)$role["id"]));
+            foreach($role->user as $user) {
+                $this->_users[(string)$user["name"]] = array("password" => (string)$user["password"],
+                                                             "role" => (string)$role["id"]);
+            }
+        }
+    }
+
+    /**
+     * Get ACL with roles from XML file
+     *
+     * @return Zend_Acl
+     */
+    public function getAcl()
+    {
+        return $this->_acl;
+    }
+
+    /**
+     * Perform authentication
+     *
+     * @throws Zend_Auth_Adapter_Exception
+     * @return Zend_Auth_Result
+     * @see Zend_Auth_Adapter_Interface#authenticate()
+     */
+    public function authenticate()
+    {
+        if (empty($this->_username) ||
+            empty($this->_password)) {
+            /**
+             * @see Zend_Auth_Adapter_Exception
+             */
+            require_once 'Zend/Auth/Adapter/Exception.php';
+            throw new Zend_Auth_Adapter_Exception('Username/password should be set');
+        }
+
+        if(!isset($this->_users[$this->_username])) {
+            return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND,
+                null,
+                array('Username not found')
+                );
+        }
+
+        $user = $this->_users[$this->_username];
+        if($user["password"] != $this->_password) {
+            return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID,
+                null,
+                array('Authentication failed')
+                );
+        }
+
+        $id = new stdClass();
+        $id->role = $user["role"];
+        $id->name = $this->_username;
+        return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $id);
+    }
+}

+ 103 - 103
library/Zend/Amf/Adobe/DbInspector.php

@@ -1,103 +1,103 @@
-<?php
-/**
- * Zend Framework
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://framework.zend.com/license/new-bsd
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@zend.com so we can send you a copy immediately.
- *
- * @category   Zend
- * @package    Zend_Amf
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id$
- */
-
-/**
- * This class implements authentication against XML file with roles for Flex Builder.
- *
- * @package    Zend_Amf
- * @subpackage Adobe
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- */
-class Zend_Amf_Adobe_DbInspector
-{
-
-	/**
-	 * Connect to the database
-	 *
-	 * @param string $dbType Database adapter type for Zend_Db
-	 * @param array|object $dbDescription Adapter-specific connection settings
-	 * @return Zend_Db_Adapter_Abstract
-	 * @see Zend_Db::factory()
-	 */
-	protected function _connect($dbType, $dbDescription) 
-	{
-		if(is_object($dbDescription)) {
-			$dbDescription = get_object_vars($dbDescription);
-		}
-		return Zend_Db::factory($dbType, $dbDescription);
-	}
-	
-	/**
-	 * Describe database object. 
-	 * 
-	 * Usage example:
-	 * $inspector->describeTable('Pdo_Mysql', 
-	 * 		array(
-	 * 			'host'     => '127.0.0.1',
-	 *			'username' => 'webuser',
-	 *			'password' => 'xxxxxxxx',
-	 *			'dbname'   => 'test'
-	 * 		),
-	 * 		'mytable'
-	 * 	);
-	 *
-	 * @param string $dbType Database adapter type for Zend_Db
-	 * @param array|object $dbDescription Adapter-specific connection settings
-	 * @param string $tableName Table name
-	 * @return array Table description
-	 * @see Zend_Db::describeTable()
-	 * @see Zend_Db::factory()
-	 */
-	public function describeTable($dbType, $dbDescription, $tableName) 
-	{
-		$db = $this->_connect($dbType, $dbDescription);
-		return $db->describeTable($tableName);
-	}
-
-	/**
-	 * Test database connection
-	 *
-	 * @param string $dbType Database adapter type for Zend_Db
-	 * @param array|object $dbDescription Adapter-specific connection settings
-	 * @return bool
-	 * @see Zend_Db::factory()
-	 */
-	public function connect($dbType, $dbDescription) 
-	{
-		$db = $this->_connect($dbType, $dbDescription);
-		$db->listTables();
-		return true;
-	}
-	
-	/**
-	 * Get the list of database tables
-	 *
-	 * @param string $dbType Database adapter type for Zend_Db
-	 * @param array|object $dbDescription Adapter-specific connection settings
-	 * @return array List of the tables
-	 */
-	public function getTables($dbType, $dbDescription) 
-	{
-		$db = $this->_connect($dbType, $dbDescription);
-		return $db->listTables();
-	}
-}
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Amf
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id$
+ */
+
+/**
+ * This class implements authentication against XML file with roles for Flex Builder.
+ *
+ * @package    Zend_Amf
+ * @subpackage Adobe
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_Amf_Adobe_DbInspector
+{
+
+    /**
+     * Connect to the database
+     *
+     * @param string $dbType Database adapter type for Zend_Db
+     * @param array|object $dbDescription Adapter-specific connection settings
+     * @return Zend_Db_Adapter_Abstract
+     * @see Zend_Db::factory()
+     */
+    protected function _connect($dbType, $dbDescription)
+    {
+        if(is_object($dbDescription)) {
+            $dbDescription = get_object_vars($dbDescription);
+        }
+        return Zend_Db::factory($dbType, $dbDescription);
+    }
+
+    /**
+     * Describe database object.
+     *
+     * Usage example:
+     * $inspector->describeTable('Pdo_Mysql',
+     *     array(
+     *         'host'     => '127.0.0.1',
+     *         'username' => 'webuser',
+     *         'password' => 'xxxxxxxx',
+     *         'dbname'   => 'test'
+     *     ),
+     *     'mytable'
+     * );
+     *
+     * @param string $dbType Database adapter type for Zend_Db
+     * @param array|object $dbDescription Adapter-specific connection settings
+     * @param string $tableName Table name
+     * @return array Table description
+     * @see Zend_Db::describeTable()
+     * @see Zend_Db::factory()
+     */
+    public function describeTable($dbType, $dbDescription, $tableName)
+    {
+        $db = $this->_connect($dbType, $dbDescription);
+        return $db->describeTable($tableName);
+    }
+
+    /**
+     * Test database connection
+     *
+     * @param string $dbType Database adapter type for Zend_Db
+     * @param array|object $dbDescription Adapter-specific connection settings
+     * @return bool
+     * @see Zend_Db::factory()
+     */
+    public function connect($dbType, $dbDescription)
+    {
+        $db = $this->_connect($dbType, $dbDescription);
+        $db->listTables();
+        return true;
+    }
+
+    /**
+     * Get the list of database tables
+     *
+     * @param string $dbType Database adapter type for Zend_Db
+     * @param array|object $dbDescription Adapter-specific connection settings
+     * @return array List of the tables
+     */
+    public function getTables($dbType, $dbDescription)
+    {
+        $db = $this->_connect($dbType, $dbDescription);
+        return $db->listTables();
+    }
+}

+ 309 - 309
library/Zend/Amf/Adobe/Introspector.php

@@ -1,309 +1,309 @@
-<?php
-/**
- * Zend Framework
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://framework.zend.com/license/new-bsd
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@zend.com so we can send you a copy immediately.
- *
- * @category   Zend
- * @package    Zend_Amf
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id$
- */
-
-/** Zend_Amf_Parse_TypeLoader */
-require_once 'Zend/Amf/Parse/TypeLoader.php';
-
-/** Zend_Reflection_Class */
-require_once 'Zend/Reflection/Class.php';
-
-/** Zend_Server_Reflection */
-require_once 'Zend/Server/Reflection.php';
-
-/**
- * This class implements a service for generating AMF service descriptions as XML.
- *
- * @package    Zend_Amf
- * @subpackage Adobe
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- */
-class Zend_Amf_Adobe_Introspector 
-{
-    /**
-     * Options used:
-     * - server: instance of Zend_Amf_Server to use
-     * - directories: directories where class files may be looked up
-     *
-     * @var array Introspector options
-     */
-    protected $_options;
-
-    /**
-     * @var DOMElement DOM element to store types
-     */
-    protected $_types;
-
-    /**
-     * @var array Map of the known types
-     */
-    protected $_typesMap = array();
-
-    /**
-     * @var DOMDocument XML document to store data
-     */
-    protected $_xml;
-   
-    /**
-     * Constructor
-     * 
-     * @return void
-     */
-    public function __construct()
-    {
-        $this->_xml = new DOMDocument('1.0', 'utf-8');
-    }
-    
-    /**
-     * Create XML definition on an AMF service class
-     * 
-     * @param  string $serviceClass Service class name
-     * @param  array $options invocation options
-     * @return string XML with service class introspection
-     */
-    public function introspect($serviceClass, $options = array()) 
-    {
-        $this->_options = $options;
-        
-        if (strpbrk($serviceClass, '\\/<>')) {
-            return $this->_returnError('Invalid service name');
-        }
-
-        // Transform com.foo.Bar into com_foo_Bar
-        $serviceClass = str_replace('.' , '_', $serviceClass);
-
-        // Introspect!
-        if (!class_exists($serviceClass)) {
-            require_once 'Zend/Loader.php';
-            Zend_Loader::loadClass($serviceClass, $this->_getServicePath());
-        }
-        
-        $serv = $this->_xml->createElement('service-description');
-        $serv->setAttribute('xmlns', 'http://ns.adobe.com/flex/service-description/2008');
-
-        $this->_types = $this->_xml->createElement('types');
-        $this->_ops   = $this->_xml->createElement('operations');
-
-        $r = Zend_Server_Reflection::reflectClass($serviceClass);
-        $this->_addService($r, $this->_ops);
-    
-        $serv->appendChild($this->_types);
-        $serv->appendChild($this->_ops);
-        $this->_xml->appendChild($serv);
-
-        return $this->_xml->saveXML();
-    }
-    
-    /**
-     * Authentication handler
-     * 
-     * @param  Zend_Acl $acl
-     * @return unknown_type
-     */
-    public function initAcl(Zend_Acl $acl)
-    {
-        return false; // we do not need auth for this class
-    }
-
-    /**
-     * Generate map of public class attributes
-     * 
-     * @param  string $typename type name
-     * @param  DOMElement $typexml target XML element 
-     * @return void
-     */
-    protected function _addClassAttributes($typename, DOMElement $typexml)
-    {
-        // Do not try to autoload here because _phpTypeToAS should 
-        // have already attempted to load this class
-        if (!class_exists($typename, false)) {
-            return;
-        }
-
-        $rc = new Zend_Reflection_Class($typename);
-        foreach ($rc->getProperties() as $prop) {
-            if (!$prop->isPublic()) {
-                continue;
-            }
-
-            $propxml = $this->_xml->createElement('property');
-            $propxml->setAttribute('name', $prop->getName());
-
-            $type = $this->_registerType($this->_getPropertyType($prop));
-            $propxml->setAttribute('type', $type);
-
-            $typexml->appendChild($propxml);
-        }
-    }
-
-    /**
-     * Build XML service description from reflection class
-     * 
-     * @param  Zend_Server_Reflection_Class $refclass  
-     * @param  DOMElement $target target XML element
-     * @return void
-     */
-    protected function _addService(Zend_Server_Reflection_Class $refclass, DOMElement $target)
-    {
-        foreach ($refclass->getMethods() as $method) {
-            if (!$method->isPublic() 
-                || $method->isConstructor()
-                || ('__' == substr($method->name, 0, 2))
-            ) {
-                continue;
-            }
-
-            foreach ($method->getPrototypes() as $proto) {
-                $op = $this->_xml->createElement('operation');
-                $op->setAttribute('name', $method->getName());
-
-                $rettype = $this->_registerType($proto->getReturnType());
-                $op->setAttribute('returnType', $rettype);
-
-                foreach ($proto->getParameters() as $param) {
-                    $arg = $this->_xml->createElement('argument');
-                    $arg->setAttribute('name', $param->getName());
-
-                    $type = $param->getType();
-                    if ($type == 'mixed' && ($pclass = $param->getClass())) {
-                        $type = $pclass->getName();
-                    }
-
-                    $ptype = $this->_registerType($type);
-                    $arg->setAttribute('type', $ptype);
-
-                    $op->appendChild($arg);
-                }
-
-                $target->appendChild($op);
-            }
-        }
-    }
-    
-    /**
-     * Extract type of the property from DocBlock
-     * 
-     * @param  Zend_Reflection_Property $prop reflection property object
-     * @return string Property type
-     */
-    protected function _getPropertyType(Zend_Reflection_Property $prop)
-    {
-        $docBlock = $prop->getDocComment();
-
-        if (!$docBlock) {
-            return 'Unknown';
-        }
-
-        if (!$docBlock->hasTag('var')) {
-            return 'Unknown';
-        }
-
-        $tag = $docBlock->getTag('var');
-        return trim($tag->getDescription());
-    }
-    
-    /**
-     * Get the array of service directories
-     * 
-     * @return array Service class directories
-     */
-    protected function _getServicePath() 
-    {
-        if (isset($this->_options['server'])) {
-            return $this->_options['server']->getDirectory();
-        }
-
-        if (isset($this->_options['directories'])) {
-            return $this->_options['directories'];
-        }
-
-        return array();
-    }
-
-    /**
-     * Map from PHP type name to AS type name
-     * 
-     * @param  string $typename PHP type name
-     * @return string AS type name
-     */
-    protected function _phpTypeToAS($typename)
-    {
-        if (class_exists($typename)) {
-            $vars = get_class_vars($typename);
-
-            if (isset($vars['_explicitType'])) {
-                return $vars['_explicitType'];
-            }
-        }
-
-        if (false !== ($asname = Zend_Amf_Parse_TypeLoader::getMappedClassName($typename))) {
-            return $asname;
-        }
-
-        return $typename;
-    }
-
-    /**
-     * Register new type on the system
-     * 
-     * @param  string $typename type name
-     * @return string New type name
-     */
-    protected function _registerType($typename) 
-    {
-        // Known type - return its AS name
-        if (isset($this->_typesMap[$typename])) {
-            return $this->_typesMap[$typename];
-        }
-
-        // Standard types
-        if (in_array($typename, array('void', 'null', 'mixed', 'unknown_type'))) {
-            return 'Unknown';
-        }
-
-        if (in_array($typename, array('int', 'integer', 'bool', 'boolean', 'float', 'string', 'object', 'Unknown', 'stdClass', 'array'))) {
-            return $typename;
-        }
-
-        // Resolve and store AS name
-        $asTypeName = $this->_phpTypeToAS($typename);
-        $this->_typesMap[$typename] = $asTypeName;
-
-        // Create element for the name
-        $typeEl = $this->_xml->createElement('type');
-        $typeEl->setAttribute('name', $asTypeName);
-        $this->_addClassAttributes($typename, $typeEl);
-        $this->_types->appendChild($typeEl);    
-
-        return $asTypeName;
-    }
-    
-   /**
-     * Return error with error message
-     * 
-     * @param  string $msg Error message
-     * @return string 
-     */
-    protected function _returnError($msg) 
-    {
-        return 'ERROR: $msg';    
-    }
-}
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Amf
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id$
+ */
+
+/** @see Zend_Amf_Parse_TypeLoader */
+require_once 'Zend/Amf/Parse/TypeLoader.php';
+
+/** @see Zend_Reflection_Class */
+require_once 'Zend/Reflection/Class.php';
+
+/** @see Zend_Server_Reflection */
+require_once 'Zend/Server/Reflection.php';
+
+/**
+ * This class implements a service for generating AMF service descriptions as XML.
+ *
+ * @package    Zend_Amf
+ * @subpackage Adobe
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_Amf_Adobe_Introspector
+{
+    /**
+     * Options used:
+     * - server: instance of Zend_Amf_Server to use
+     * - directories: directories where class files may be looked up
+     *
+     * @var array Introspector options
+     */
+    protected $_options;
+
+    /**
+     * @var DOMElement DOM element to store types
+     */
+    protected $_types;
+
+    /**
+     * @var array Map of the known types
+     */
+    protected $_typesMap = array();
+
+    /**
+     * @var DOMDocument XML document to store data
+     */
+    protected $_xml;
+
+    /**
+     * Constructor
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        $this->_xml = new DOMDocument('1.0', 'utf-8');
+    }
+
+    /**
+     * Create XML definition on an AMF service class
+     *
+     * @param  string $serviceClass Service class name
+     * @param  array $options invocation options
+     * @return string XML with service class introspection
+     */
+    public function introspect($serviceClass, $options = array())
+    {
+        $this->_options = $options;
+
+        if (strpbrk($serviceClass, '\\/<>')) {
+            return $this->_returnError('Invalid service name');
+        }
+
+        // Transform com.foo.Bar into com_foo_Bar
+        $serviceClass = str_replace('.' , '_', $serviceClass);
+
+        // Introspect!
+        if (!class_exists($serviceClass)) {
+            require_once 'Zend/Loader.php';
+            Zend_Loader::loadClass($serviceClass, $this->_getServicePath());
+        }
+
+        $serv = $this->_xml->createElement('service-description');
+        $serv->setAttribute('xmlns', 'http://ns.adobe.com/flex/service-description/2008');
+
+        $this->_types = $this->_xml->createElement('types');
+        $this->_ops   = $this->_xml->createElement('operations');
+
+        $r = Zend_Server_Reflection::reflectClass($serviceClass);
+        $this->_addService($r, $this->_ops);
+
+        $serv->appendChild($this->_types);
+        $serv->appendChild($this->_ops);
+        $this->_xml->appendChild($serv);
+
+        return $this->_xml->saveXML();
+    }
+
+    /**
+     * Authentication handler
+     *
+     * @param  Zend_Acl $acl
+     * @return unknown_type
+     */
+    public function initAcl(Zend_Acl $acl)
+    {
+        return false; // we do not need auth for this class
+    }
+
+    /**
+     * Generate map of public class attributes
+     *
+     * @param  string $typename type name
+     * @param  DOMElement $typexml target XML element
+     * @return void
+     */
+    protected function _addClassAttributes($typename, DOMElement $typexml)
+    {
+        // Do not try to autoload here because _phpTypeToAS should
+        // have already attempted to load this class
+        if (!class_exists($typename, false)) {
+            return;
+        }
+
+        $rc = new Zend_Reflection_Class($typename);
+        foreach ($rc->getProperties() as $prop) {
+            if (!$prop->isPublic()) {
+                continue;
+            }
+
+            $propxml = $this->_xml->createElement('property');
+            $propxml->setAttribute('name', $prop->getName());
+
+            $type = $this->_registerType($this->_getPropertyType($prop));
+            $propxml->setAttribute('type', $type);
+
+            $typexml->appendChild($propxml);
+        }
+    }
+
+    /**
+     * Build XML service description from reflection class
+     *
+     * @param  Zend_Server_Reflection_Class $refclass
+     * @param  DOMElement $target target XML element
+     * @return void
+     */
+    protected function _addService(Zend_Server_Reflection_Class $refclass, DOMElement $target)
+    {
+        foreach ($refclass->getMethods() as $method) {
+            if (!$method->isPublic()
+                || $method->isConstructor()
+                || ('__' == substr($method->name, 0, 2))
+            ) {
+                continue;
+            }
+
+            foreach ($method->getPrototypes() as $proto) {
+                $op = $this->_xml->createElement('operation');
+                $op->setAttribute('name', $method->getName());
+
+                $rettype = $this->_registerType($proto->getReturnType());
+                $op->setAttribute('returnType', $rettype);
+
+                foreach ($proto->getParameters() as $param) {
+                    $arg = $this->_xml->createElement('argument');
+                    $arg->setAttribute('name', $param->getName());
+
+                    $type = $param->getType();
+                    if ($type == 'mixed' && ($pclass = $param->getClass())) {
+                        $type = $pclass->getName();
+                    }
+
+                    $ptype = $this->_registerType($type);
+                    $arg->setAttribute('type', $ptype);
+
+                    $op->appendChild($arg);
+                }
+
+                $target->appendChild($op);
+            }
+        }
+    }
+
+    /**
+     * Extract type of the property from DocBlock
+     *
+     * @param  Zend_Reflection_Property $prop reflection property object
+     * @return string Property type
+     */
+    protected function _getPropertyType(Zend_Reflection_Property $prop)
+    {
+        $docBlock = $prop->getDocComment();
+
+        if (!$docBlock) {
+            return 'Unknown';
+        }
+
+        if (!$docBlock->hasTag('var')) {
+            return 'Unknown';
+        }
+
+        $tag = $docBlock->getTag('var');
+        return trim($tag->getDescription());
+    }
+
+    /**
+     * Get the array of service directories
+     *
+     * @return array Service class directories
+     */
+    protected function _getServicePath()
+    {
+        if (isset($this->_options['server'])) {
+            return $this->_options['server']->getDirectory();
+        }
+
+        if (isset($this->_options['directories'])) {
+            return $this->_options['directories'];
+        }
+
+        return array();
+    }
+
+    /**
+     * Map from PHP type name to AS type name
+     *
+     * @param  string $typename PHP type name
+     * @return string AS type name
+     */
+    protected function _phpTypeToAS($typename)
+    {
+        if (class_exists($typename)) {
+            $vars = get_class_vars($typename);
+
+            if (isset($vars['_explicitType'])) {
+                return $vars['_explicitType'];
+            }
+        }
+
+        if (false !== ($asname = Zend_Amf_Parse_TypeLoader::getMappedClassName($typename))) {
+            return $asname;
+        }
+
+        return $typename;
+    }
+
+    /**
+     * Register new type on the system
+     *
+     * @param  string $typename type name
+     * @return string New type name
+     */
+    protected function _registerType($typename)
+    {
+        // Known type - return its AS name
+        if (isset($this->_typesMap[$typename])) {
+            return $this->_typesMap[$typename];
+        }
+
+        // Standard types
+        if (in_array($typename, array('void', 'null', 'mixed', 'unknown_type'))) {
+            return 'Unknown';
+        }
+
+        if (in_array($typename, array('int', 'integer', 'bool', 'boolean', 'float', 'string', 'object', 'Unknown', 'stdClass', 'array'))) {
+            return $typename;
+        }
+
+        // Resolve and store AS name
+        $asTypeName = $this->_phpTypeToAS($typename);
+        $this->_typesMap[$typename] = $asTypeName;
+
+        // Create element for the name
+        $typeEl = $this->_xml->createElement('type');
+        $typeEl->setAttribute('name', $asTypeName);
+        $this->_addClassAttributes($typename, $typeEl);
+        $this->_types->appendChild($typeEl);
+
+        return $asTypeName;
+    }
+
+   /**
+     * Return error with error message
+     *
+     * @param  string $msg Error message
+     * @return string
+     */
+    protected function _returnError($msg)
+    {
+        return 'ERROR: $msg';
+    }
+}

+ 42 - 42
library/Zend/Amf/Auth/Abstract.php

@@ -1,42 +1,42 @@
-<?php
-/**
- * Zend Framework
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://framework.zend.com/license/new-bsd
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@zend.com so we can send you a copy immediately.
- *
- * @category   Zend
- * @package    Zend_Amf
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id$
- */
-
-/** Zend_Auth_Adapter_Interface */
-require_once 'Zend/Auth/Adapter/Interface.php';
-
-/**
- * Base abstract class for AMF authentication implementation
- *
- * @package    Zend_Amf
- * @subpackage Auth
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- */
-abstract class Zend_Amf_Auth_Abstract implements Zend_Auth_Adapter_Interface
-{
-    protected $_username;
-    protected $_password;
-    
-    public function setCredentials($username, $password) {
-		$this->_username = $username;
-		$this->_password = $password;
-	}
-}
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Amf
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id$
+ */
+
+/** @see Zend_Auth_Adapter_Interface */
+require_once 'Zend/Auth/Adapter/Interface.php';
+
+/**
+ * Base abstract class for AMF authentication implementation
+ *
+ * @package    Zend_Amf
+ * @subpackage Auth
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+abstract class Zend_Amf_Auth_Abstract implements Zend_Auth_Adapter_Interface
+{
+    protected $_username;
+    protected $_password;
+
+    public function setCredentials($username, $password) {
+        $this->_username = $username;
+        $this->_password = $password;
+    }
+}

+ 5 - 5
library/Zend/Amf/Constants.php

@@ -20,14 +20,14 @@
  */
 
 /**
- * The following constants are used throughout serialization and 
+ * The following constants are used throughout serialization and
  * deserialization to detect the AMF marker and encoding types.
  *
  * @package    Zend_Amf
  * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
-final class Zend_Amf_Constants 
+final class Zend_Amf_Constants
 {
     const AMF0_NUMBER            = 0x00;
     const AMF0_BOOLEAN           = 0x01;
@@ -68,11 +68,11 @@ final class Zend_Amf_Constants
     const ET_EXTERNAL            = 0x01;
     const ET_DYNAMIC             = 0x02;
     const ET_PROXY               = 0x03;
-    
+
     const FMS_OBJECT_ENCODING    = 0x01;
 
     /**
-     * Special content length value that indicates "unknown" content length 
+     * Special content length value that indicates "unknown" content length
      * per AMF Specification
      */
     const UNKNOWN_CONTENT_LENGTH = -1;
@@ -82,6 +82,6 @@ final class Zend_Amf_Constants
     const CREDENTIALS_HEADER     = 'Credentials';
     const PERSISTENT_HEADER      = 'RequestPersistentHeader';
     const DESCRIBE_HEADER        = 'DescribeService';
-    
+
     const GUEST_ROLE             = 'anonymous';
 }

+ 1 - 1
library/Zend/Amf/Exception.php

@@ -20,7 +20,7 @@
  */
 
 /**
- * Zend_Exception
+ * @see Zend_Exception
  */
 require_once 'Zend/Exception.php';
 

+ 5 - 5
library/Zend/Amf/Parse/Amf0/Deserializer.php

@@ -20,7 +20,7 @@
  * @version    $Id$
  */
 
-/** Zend_Amf_Parse_Deserializer */
+/** @see Zend_Amf_Parse_Deserializer */
 require_once 'Zend/Amf/Parse/Deserializer.php';
 
 /**
@@ -270,9 +270,9 @@ class Zend_Amf_Parse_Amf0_Deserializer extends Zend_Amf_Parse_Deserializer
                 $returnObject->$key = $value;
             }
         }
-	   if($returnObject instanceof Zend_Amf_Value_Messaging_ArrayCollection) {
-			$returnObject = get_object_vars($returnObject);
-	   }
+        if($returnObject instanceof Zend_Amf_Value_Messaging_ArrayCollection) {
+            $returnObject = get_object_vars($returnObject);
+        }
         return $returnObject;
     }
 
@@ -284,7 +284,7 @@ class Zend_Amf_Parse_Amf0_Deserializer extends Zend_Amf_Parse_Deserializer
      */
     public function readAmf3TypeMarker()
     {
-    	require_once 'Zend/Amf/Parse/Amf3/Deserializer.php';
+        require_once 'Zend/Amf/Parse/Amf3/Deserializer.php';
         $deserializer = new Zend_Amf_Parse_Amf3_Deserializer($this->_stream);
         $this->_objectEncoding = Zend_Amf_Constants::AMF3_OBJECT_ENCODING;
         return $deserializer->readTypeMarker();

+ 18 - 18
library/Zend/Amf/Parse/Amf0/Serializer.php

@@ -20,7 +20,7 @@
  * @version    $Id$
  */
 
-/** Zend_Amf_Parse_Serializer */
+/** @see Zend_Amf_Parse_Serializer */
 require_once 'Zend/Amf/Parse/Serializer.php';
 
 /**
@@ -38,7 +38,7 @@ class Zend_Amf_Parse_Amf0_Serializer extends Zend_Amf_Parse_Serializer
      * @var string Name of the class to be returned
      */
     protected $_className = '';
-    
+
     /**
      * An array of reference objects
      * @var array
@@ -62,7 +62,7 @@ class Zend_Amf_Parse_Amf0_Serializer extends Zend_Amf_Parse_Serializer
         if (null !== $markerType) {
             //try to refrence the given object
             if( !$this->writeObjectReference($data, $markerType) ) {
-            
+
                 // Write the Type Marker to denote the following action script data type
                 $this->_stream->writeByte($markerType);
                 switch($markerType) {
@@ -113,7 +113,7 @@ class Zend_Amf_Parse_Amf0_Serializer extends Zend_Amf_Parse_Serializer
                 $data = Zend_Amf_Parse_TypeLoader::handleResource($data);
             }
             switch (true) {
-            	case (is_int($data) || is_float($data)):
+                case (is_int($data) || is_float($data)):
                     $markerType = Zend_Amf_Constants::AMF0_NUMBER;
                     break;
                 case (is_bool($data)):
@@ -149,13 +149,13 @@ class Zend_Amf_Parse_Amf0_Serializer extends Zend_Amf_Parse_Serializer
                     $i = 0;
                     foreach (array_keys($data) as $key) {
                         // check if it contains non-integer keys
-                        if (!is_numeric($key) || intval($key) != $key) { 
-                            $markerType = Zend_Amf_Constants::AMF0_OBJECT; 
-                            break; 
+                        if (!is_numeric($key) || intval($key) != $key) {
+                            $markerType = Zend_Amf_Constants::AMF0_OBJECT;
+                            break;
                             // check if it is a sparse indexed array
-                         } else if ($key != $i) { 
-                             $markerType = Zend_Amf_Constants::AMF0_MIXEDARRAY; 
-                             break; 
+                         } else if ($key != $i) {
+                             $markerType = Zend_Amf_Constants::AMF0_MIXEDARRAY;
+                             break;
                          }
                          $i++;
                     }
@@ -174,11 +174,11 @@ class Zend_Amf_Parse_Amf0_Serializer extends Zend_Amf_Parse_Serializer
         }
         return $this;
     }
-    
-	/**
+
+    /**
      * Check if the given object is in the reference table, write the reference if it exists,
      * otherwise add the object to the reference table
-     * 
+     *
      * @param mixed $object object to check for reference
      * @param $markerType AMF type of the object to write
      * @return Boolean true, if the reference was written, false otherwise
@@ -188,7 +188,7 @@ class Zend_Amf_Parse_Amf0_Serializer extends Zend_Amf_Parse_Serializer
             $markerType == Zend_Amf_Constants::AMF0_MIXEDARRAY ||
             $markerType == Zend_Amf_Constants::AMF0_ARRAY ||
             $markerType == Zend_Amf_Constants::AMF0_TYPEDOBJECT ) {
-                
+
             $ref = array_search($object, $this->_referenceObjects,true);
             //handle object reference
             if($ref !== false){
@@ -198,7 +198,7 @@ class Zend_Amf_Parse_Amf0_Serializer extends Zend_Amf_Parse_Serializer
 
             $this->_referenceObjects[] = $object;
         }
-        
+
         return false;
     }
 
@@ -213,7 +213,7 @@ class Zend_Amf_Parse_Amf0_Serializer extends Zend_Amf_Parse_Serializer
         // Loop each element and write the name of the property.
         foreach ($object as $key => $value) {
             // skip variables starting with an _ provate transient
-            if( $key[0] == "_")	continue;
+            if( $key[0] == "_") continue;
             $this->_stream->writeUTF($key);
             $this->writeTypeMarker($value);
         }
@@ -332,9 +332,9 @@ class Zend_Amf_Parse_Amf0_Serializer extends Zend_Amf_Parse_Serializer
             case ($object instanceof stdClass):
                 $className = '';
                 break;
-		// By default, use object's class name
+        // By default, use object's class name
             default:
-		$className = get_class($object);
+        $className = get_class($object);
                 break;
         }
         if(!$className == '') {

+ 11 - 11
library/Zend/Amf/Parse/Amf3/Deserializer.php

@@ -390,18 +390,18 @@ class Zend_Amf_Parse_Amf3_Deserializer extends Zend_Amf_Parse_Deserializer
                     $returnObject->$key = $value;
                 }
             }
-			
-		  
+
+
         }
-		
-	   if($returnObject instanceof Zend_Amf_Value_Messaging_ArrayCollection) {
-		if(isset($returnObject->externalizedData)) {
-			$returnObject = $returnObject->externalizedData;
-		} else {
-			$returnObject = get_object_vars($returnObject);
-		}
-	   }
-	   
+
+        if($returnObject instanceof Zend_Amf_Value_Messaging_ArrayCollection) {
+            if(isset($returnObject->externalizedData)) {
+                $returnObject = $returnObject->externalizedData;
+            } else {
+                $returnObject = get_object_vars($returnObject);
+            }
+        }
+
         return $returnObject;
     }
 

+ 38 - 38
library/Zend/Amf/Parse/Amf3/Serializer.php

@@ -47,13 +47,13 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
      * @var array
      */
     protected $_referenceStrings = array();
-    
+
     /**
      * An array of reference class definitions, indexed by classname
      * @var array
      */
     protected $_referenceDefinitions = array();
-    
+
     /**
      * Serialize PHP types to AMF3 and write to stream
      *
@@ -112,7 +112,7 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
                 $data = Zend_Amf_Parse_TypeLoader::handleResource($data);
             }
              switch (true) {
-             	case (null === $data):
+                case (null === $data):
                     $markerType = Zend_Amf_Constants::AMF3_NULL;
                     break;
                 case (is_bool($data)):
@@ -150,7 +150,7 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
                         $markerType = Zend_Amf_Constants::AMF3_OBJECT;
                     }
                     break;
-                default: 
+                default:
                     require_once 'Zend/Amf/Exception.php';
                     throw new Zend_Amf_Exception('Unsupported data type: ' . gettype($data));
              }
@@ -190,7 +190,7 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
         $this->_stream->writeByte($int & 0xff);
         return $this;
     }
-    
+
     /**
      * Send string to output stream, without trying to reference it.
      * The string is prepended with strlen($string) << 1 | 0x01
@@ -202,7 +202,7 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
         $ref = strlen($string) << 1 | 0x01;
         $this->writeInteger($ref);
         $this->_stream->writeBytes($string);
-        
+
         return $this;
     }
 
@@ -219,7 +219,7 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
             $this->writeInteger(0x01);
             return $this;
         }
-        
+
         $ref = array_search($string, $this->_referenceStrings, true);
         if($ref === false){
             $this->_referenceStrings[] = $string;
@@ -228,10 +228,10 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
             $ref <<= 1;
             $this->writeInteger($ref);
         }
-        
+
         return $this;
     }
-    
+
     /**
      * Send ByteArray to output stream
      *
@@ -242,7 +242,7 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
         if($this->writeObjectReference($data)){
             return $this;
         }
-        
+
         if(is_string($data)) {
             //nothing to do
         } else if ($data instanceof Zend_Amf_Value_ByteArray) {
@@ -251,13 +251,13 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
             require_once 'Zend/Amf/Exception.php';
             throw new Zend_Amf_Exception('Invalid ByteArray specified; must be a string or Zend_Amf_Value_ByteArray');
         }
-        
+
         $this->writeBinaryString($data);
-        
+
         return $this;
     }
-    
-	/**
+
+    /**
      * Send xml to output stream
      *
      * @param  DOMDocument|SimpleXMLElement  $xml
@@ -267,7 +267,7 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
     {
         if($this->writeObjectReference($xml)){
             return $this;
-        }    
+        }
 
         if(is_string($xml)) {
             //nothing to do
@@ -279,9 +279,9 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
             require_once 'Zend/Amf/Exception.php';
             throw new Zend_Amf_Exception('Invalid xml specified; must be a DOMDocument or SimpleXMLElement');
         }
-        
+
         $this->writeBinaryString($xml);
-        
+
         return $this;
     }
 
@@ -296,7 +296,7 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
         if($this->writeObjectReference($date)){
             return $this;
         }
-        
+
         if ($date instanceof DateTime) {
             $dateString = $date->format('U') * 1000;
         } elseif ($date instanceof Zend_Date) {
@@ -323,7 +323,7 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
         if($this->writeObjectReference($array)){
             return $this;
         }
-        
+
         // have to seperate mixed from numberic keys.
         $numeric = array();
         $string  = array();
@@ -353,11 +353,11 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
         }
         return $this;
     }
-    
+
     /**
      * Check if the given object is in the reference table, write the reference if it exists,
      * otherwise add the object to the reference table
-     * 
+     *
      * @param mixed $object object to check for reference
      * @return Boolean true, if the reference was written, false otherwise
      */
@@ -384,7 +384,7 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
         if($this->writeObjectReference($object)){
             return $this;
         }
-        
+
         $className = '';
 
         //Check to see if the object is a typed object and we need to change
@@ -408,59 +408,59 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
                 $className = '';
                 break;
 
- 	        // By default, use object's class name
+            // By default, use object's class name
             default:
-		        $className = get_class($object);
+                $className = get_class($object);
                 break;
         }
-        
+
         $writeTraits = true;
-              
+
         //check to see, if we have a corresponding definition
         if(array_key_exists($className, $this->_referenceDefinitions)){
             $traitsInfo    = $this->_referenceDefinitions[$className]['id'];
             $encoding      = $this->_referenceDefinitions[$className]['encoding'];
             $propertyNames = $this->_referenceDefinitions[$className]['propertyNames'];
-            
+
             $traitsInfo = ($traitsInfo << 2) | 0x01;
-            
+
             $writeTraits = false;
         } else {
             $propertyNames = array();
-            
+
             if($className == ''){
                 //if there is no className, we interpret the class as dynamic without any sealed members
                 $encoding = Zend_Amf_Constants::ET_DYNAMIC;
             } else {
                 $encoding = Zend_Amf_Constants::ET_PROPLIST;
-            
+
                 foreach($object as $key => $value) {
                     if( $key[0] != "_") {
                         $propertyNames[] = $key;
                     }
                 }
             }
-                
+
             $this->_referenceDefinitions[$className] = array(
                         'id'            => count($this->_referenceDefinitions),
                         'encoding'      => $encoding,
                         'propertyNames' => $propertyNames,
                     );
-            
+
             $traitsInfo = Zend_Amf_Constants::AMF3_OBJECT_ENCODING;
             $traitsInfo |= $encoding << 2;
             $traitsInfo |= (count($propertyNames) << 4);
         }
-        
+
         $this->writeInteger($traitsInfo);
-        
+
         if($writeTraits){
             $this->writeString($className);
             foreach ($propertyNames as $value) {
                 $this->writeString($value);
             }
         }
-        
+
         try {
             switch($encoding) {
                 case Zend_Amf_Constants::ET_PROPLIST:
@@ -474,7 +474,7 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
                     foreach ($propertyNames as $key) {
                         $this->writeTypeMarker($object->$key);
                     }
-                    
+
                     //Write remaining properties
                     foreach($object as $key => $value){
                         if(!in_array($key,$propertyNames) && $key[0] != "_"){
@@ -482,7 +482,7 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
                             $this->writeTypeMarker($value);
                         }
                     }
-                    
+
                     //Write an empty string to end the dynamic part
                     $this->writeString('');
                     break;
@@ -490,7 +490,7 @@ class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
                     require_once 'Zend/Amf/Exception.php';
                     throw new Zend_Amf_Exception('External Object Encoding not implemented');
                     break;
-                default: 
+                default:
                     require_once 'Zend/Amf/Exception.php';
                     throw new Zend_Amf_Exception('Unknown Object Encoding type: ' . $encoding);
             }

+ 2 - 2
library/Zend/Amf/Parse/Deserializer.php

@@ -23,8 +23,8 @@
 /**
  * Abstract cass that all deserializer must implement.
  *
- * Logic for deserialization of the AMF envelop is based on resources supplied 
- * by Adobe Blaze DS. For and example of deserialization please review the BlazeDS 
+ * Logic for deserialization of the AMF envelop is based on resources supplied
+ * by Adobe Blaze DS. For and example of deserialization please review the BlazeDS
  * source tree.
  *
  * @see        http://opensource.adobe.com/svn/opensource/blazeds/trunk/modules/core/src/java/flex/messaging/io/amf/

+ 1 - 1
library/Zend/Amf/Parse/InputStream.php

@@ -26,7 +26,7 @@ require_once 'Zend/Amf/Util/BinaryStream.php';
 /**
  * InputStream is used to iterate at a binary level through the AMF request.
  *
- * InputStream extends BinaryStream as eventually BinaryStream could be placed 
+ * InputStream extends BinaryStream as eventually BinaryStream could be placed
  * outside of Zend_Amf in order to allow other packages to use the class.
  *
  * @package    Zend_Amf

+ 2 - 2
library/Zend/Amf/Parse/OutputStream.php

@@ -26,7 +26,7 @@ require_once 'Zend/Amf/Util/BinaryStream.php';
 /**
  * Iterate at a binary level through the AMF response
  *
- * OutputStream extends BinaryStream as eventually BinaryStream could be placed 
+ * OutputStream extends BinaryStream as eventually BinaryStream could be placed
  * outside of Zend_Amf in order to allow other packages to use the class.
  *
  * @uses       Zend_Amf_Util_BinaryStream
@@ -39,7 +39,7 @@ class Zend_Amf_Parse_OutputStream extends Zend_Amf_Util_BinaryStream
 {
     /**
      * Constructor
-     * 
+     *
      * @return void
      */
     public function __construct()

+ 70 - 70
library/Zend/Amf/Parse/Resource/MysqlResult.php

@@ -1,70 +1,70 @@
-<?php
-/**
- * Zend Framework
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://framework.zend.com/license/new-bsd
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@zend.com so we can send you a copy immediately.
- *
- * @category   Zend
- * @package    Zend_Amf
- * @subpackage Parse
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id$
- */
-
-/**
- * This class will convert mysql result resource to array suitable for passing 
- * to the external entities.
- *
- * @package    Zend_Amf
- * @subpackage Parse
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- */
-class Zend_Amf_Parse_Resource_MysqlResult 
-{
-    /**
-     * @var array List of Mysql types with PHP counterparts
-     * 
-     * Key => Value is Mysql type (exact string) => PHP type
-     */
-    static public $fieldTypes = array(
-        "int" => "int",
-        "timestamp" => "int",
-        "year" => "int",
-    	"real" => "float",
-    );
-    /**
-     * Parse resource into array
-     * 
-     * @param resource $resource
-     * @return array
-     */
-    public function parse($resource) {
-        $result = array();
-        $fieldcnt = mysql_num_fields($resource);
-        $fields_transform = array();
-        for($i=0;$i<$fieldcnt;$i++) {
-            $type = mysql_field_type($resource, $i);
-            if(isset(self::$fieldTypes[$type])) {
-                $fields_transform[mysql_field_name($resource, $i)] = self::$fieldTypes[$type];
-            }
-        }
-
-        while($row = mysql_fetch_object($resource)) {
-            foreach($fields_transform as $fieldname => $fieldtype) {
-               settype($row->$fieldname, $fieldtype);
-            }
-            $result[] = $row;
-        }
-        return $result;
-    }
-}
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Amf
+ * @subpackage Parse
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id$
+ */
+
+/**
+ * This class will convert mysql result resource to array suitable for passing
+ * to the external entities.
+ *
+ * @package    Zend_Amf
+ * @subpackage Parse
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_Amf_Parse_Resource_MysqlResult
+{
+    /**
+     * @var array List of Mysql types with PHP counterparts
+     *
+     * Key => Value is Mysql type (exact string) => PHP type
+     */
+    static public $fieldTypes = array(
+        "int" => "int",
+        "timestamp" => "int",
+        "year" => "int",
+        "real" => "float",
+    );
+    /**
+     * Parse resource into array
+     *
+     * @param resource $resource
+     * @return array
+     */
+    public function parse($resource) {
+        $result = array();
+        $fieldcnt = mysql_num_fields($resource);
+        $fields_transform = array();
+        for($i=0;$i<$fieldcnt;$i++) {
+            $type = mysql_field_type($resource, $i);
+            if(isset(self::$fieldTypes[$type])) {
+                $fields_transform[mysql_field_name($resource, $i)] = self::$fieldTypes[$type];
+            }
+        }
+
+        while($row = mysql_fetch_object($resource)) {
+            foreach($fields_transform as $fieldname => $fieldtype) {
+               settype($row->$fieldname, $fieldtype);
+            }
+            $result[] = $row;
+        }
+        return $result;
+    }
+}

+ 65 - 65
library/Zend/Amf/Parse/Resource/MysqliResult.php

@@ -21,7 +21,7 @@
  */
 
 /**
- * This class will convert mysql result resource to array suitable for passing 
+ * This class will convert mysql result resource to array suitable for passing
  * to the external entities.
  *
  * @package    Zend_Amf
@@ -29,89 +29,89 @@
  * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
-class Zend_Amf_Parse_Resource_MysqliResult 
+class Zend_Amf_Parse_Resource_MysqliResult
 {
 
-	/**
-	 * mapping taken from http://forums.mysql.com/read.php?52,255868,255895#msg-255895
-	 */
+    /**
+     * mapping taken from http://forums.mysql.com/read.php?52,255868,255895#msg-255895
+     */
     static public $mysqli_type = array(
-		0 => "MYSQLI_TYPE_DECIMAL",
-		1 => "MYSQLI_TYPE_TINYINT",
-		2 => "MYSQLI_TYPE_SMALLINT",
-		3 => "MYSQLI_TYPE_INTEGER",
-		4 => "MYSQLI_TYPE_FLOAT",
-		5 => "MYSQLI_TYPE_DOUBLE",
-		7 => "MYSQLI_TYPE_TIMESTAMP",
-		8 => "MYSQLI_TYPE_BIGINT",
-		9 => "MYSQLI_TYPE_MEDIUMINT",
-		10 => "MYSQLI_TYPE_DATE",
-		11 => "MYSQLI_TYPE_TIME",
-		12 => "MYSQLI_TYPE_DATETIME",
-		13 => "MYSQLI_TYPE_YEAR",
-		14 => "MYSQLI_TYPE_DATE",
-		16 => "MYSQLI_TYPE_BIT",
-		246 => "MYSQLI_TYPE_DECIMAL",
-		247 => "MYSQLI_TYPE_ENUM",
-		248 => "MYSQLI_TYPE_SET",
-		249 => "MYSQLI_TYPE_TINYBLOB",
-		250 => "MYSQLI_TYPE_MEDIUMBLOB",
-		251 => "MYSQLI_TYPE_LONGBLOB",
-		252 => "MYSQLI_TYPE_BLOB",
-		253 => "MYSQLI_TYPE_VARCHAR",
-		254 => "MYSQLI_TYPE_CHAR",
-		255 => "MYSQLI_TYPE_GEOMETRY",
+        0 => "MYSQLI_TYPE_DECIMAL",
+        1 => "MYSQLI_TYPE_TINYINT",
+        2 => "MYSQLI_TYPE_SMALLINT",
+        3 => "MYSQLI_TYPE_INTEGER",
+        4 => "MYSQLI_TYPE_FLOAT",
+        5 => "MYSQLI_TYPE_DOUBLE",
+        7 => "MYSQLI_TYPE_TIMESTAMP",
+        8 => "MYSQLI_TYPE_BIGINT",
+        9 => "MYSQLI_TYPE_MEDIUMINT",
+        10 => "MYSQLI_TYPE_DATE",
+        11 => "MYSQLI_TYPE_TIME",
+        12 => "MYSQLI_TYPE_DATETIME",
+        13 => "MYSQLI_TYPE_YEAR",
+        14 => "MYSQLI_TYPE_DATE",
+        16 => "MYSQLI_TYPE_BIT",
+        246 => "MYSQLI_TYPE_DECIMAL",
+        247 => "MYSQLI_TYPE_ENUM",
+        248 => "MYSQLI_TYPE_SET",
+        249 => "MYSQLI_TYPE_TINYBLOB",
+        250 => "MYSQLI_TYPE_MEDIUMBLOB",
+        251 => "MYSQLI_TYPE_LONGBLOB",
+        252 => "MYSQLI_TYPE_BLOB",
+        253 => "MYSQLI_TYPE_VARCHAR",
+        254 => "MYSQLI_TYPE_CHAR",
+        255 => "MYSQLI_TYPE_GEOMETRY",
     );
-    
+
     // Build an associative array for a type look up
     static $mysqli_to_php = array(
-	    "MYSQLI_TYPE_DECIMAL"     => 'float',
-	    "MYSQLI_TYPE_NEWDECIMAL"  => 'float',
-	    "MYSQLI_TYPE_BIT"         => 'integer',
-	    "MYSQLI_TYPE_TINYINT"     => 'integer',
-	    "MYSQLI_TYPE_SMALLINT"    => 'integer',
-	    "MYSQLI_TYPE_MEDIUMINT"   => 'integer',
-	    "MYSQLI_TYPE_BIGINT"      => 'integer',
-	    "MYSQLI_TYPE_INTEGER"     => 'integer',
-	    "MYSQLI_TYPE_FLOAT"       => 'float',
-	    "MYSQLI_TYPE_DOUBLE"      => 'float',
-	    "MYSQLI_TYPE_NULL"        => 'null',
-	    "MYSQLI_TYPE_TIMESTAMP"   => 'string',
-	    "MYSQLI_TYPE_INT24"       => 'integer',
-	    "MYSQLI_TYPE_DATE"        => 'string',
-	    "MYSQLI_TYPE_TIME"        => 'string',
-	    "MYSQLI_TYPE_DATETIME"    => 'string',
-	    "MYSQLI_TYPE_YEAR"        => 'string',
-	    "MYSQLI_TYPE_NEWDATE"     => 'string',
-	    "MYSQLI_TYPE_ENUM"        => 'string',
-	    "MYSQLI_TYPE_SET"         => 'string',
-	    "MYSQLI_TYPE_TINYBLOB"    => 'object',
-	    "MYSQLI_TYPE_MEDIUMBLOB"  => 'object',
-	    "MYSQLI_TYPE_LONGBLOB"    => 'object',
-	    "MYSQLI_TYPE_BLOB"        => 'object',
-	    "MYSQLI_TYPE_CHAR"        => 'string',
-	    "MYSQLI_TYPE_VARCHAR"     => 'string',
-	    "MYSQLI_TYPE_GEOMETRY"    => 'object',
-	    "MYSQLI_TYPE_BIT"         => 'integer',
-	);
+        "MYSQLI_TYPE_DECIMAL"     => 'float',
+        "MYSQLI_TYPE_NEWDECIMAL"  => 'float',
+        "MYSQLI_TYPE_BIT"         => 'integer',
+        "MYSQLI_TYPE_TINYINT"     => 'integer',
+        "MYSQLI_TYPE_SMALLINT"    => 'integer',
+        "MYSQLI_TYPE_MEDIUMINT"   => 'integer',
+        "MYSQLI_TYPE_BIGINT"      => 'integer',
+        "MYSQLI_TYPE_INTEGER"     => 'integer',
+        "MYSQLI_TYPE_FLOAT"       => 'float',
+        "MYSQLI_TYPE_DOUBLE"      => 'float',
+        "MYSQLI_TYPE_NULL"        => 'null',
+        "MYSQLI_TYPE_TIMESTAMP"   => 'string',
+        "MYSQLI_TYPE_INT24"       => 'integer',
+        "MYSQLI_TYPE_DATE"        => 'string',
+        "MYSQLI_TYPE_TIME"        => 'string',
+        "MYSQLI_TYPE_DATETIME"    => 'string',
+        "MYSQLI_TYPE_YEAR"        => 'string',
+        "MYSQLI_TYPE_NEWDATE"     => 'string',
+        "MYSQLI_TYPE_ENUM"        => 'string',
+        "MYSQLI_TYPE_SET"         => 'string',
+        "MYSQLI_TYPE_TINYBLOB"    => 'object',
+        "MYSQLI_TYPE_MEDIUMBLOB"  => 'object',
+        "MYSQLI_TYPE_LONGBLOB"    => 'object',
+        "MYSQLI_TYPE_BLOB"        => 'object',
+        "MYSQLI_TYPE_CHAR"        => 'string',
+        "MYSQLI_TYPE_VARCHAR"     => 'string',
+        "MYSQLI_TYPE_GEOMETRY"    => 'object',
+        "MYSQLI_TYPE_BIT"         => 'integer',
+    );
 
     /**
      * Parse resource into array
-     * 
+     *
      * @param resource $resource
      * @return array
      */
     public function parse($resource) {
-	    
+
         $result = array();
         $fieldcnt = mysqli_num_fields($resource);
-        
-        
+
+
         $fields_transform = array();
 
         for($i=0;$i<$fieldcnt;$i++) {
             $finfo = mysqli_fetch_field_direct($resource, $i);
-            
+
             if(isset(self::$mysqli_type[$finfo->type])) {
                 $fields_transform[$finfo->name] = self::$mysqli_to_php[self::$mysqli_type[$finfo->type]];
             }

+ 42 - 42
library/Zend/Amf/Parse/Resource/Stream.php

@@ -1,42 +1,42 @@
-<?php
-/**
- * Zend Framework
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://framework.zend.com/license/new-bsd
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@zend.com so we can send you a copy immediately.
- *
- * @category   Zend
- * @package    Zend_Amf
- * @subpackage Parse
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id$
- */
-
-/**
- * This class will convert stream resource to string by just reading it
- *
- * @package    Zend_Amf
- * @subpackage Parse
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- */
-class Zend_Amf_Parse_Resource_Stream
-{
-    /**
-     * Parse resource into string
-     * 
-     * @param resource $resource Stream resource
-     * @return array
-     */
-    public function parse($resource) {
-        return stream_get_contents($resource);
-    }
-}
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Amf
+ * @subpackage Parse
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id$
+ */
+
+/**
+ * This class will convert stream resource to string by just reading it
+ *
+ * @package    Zend_Amf
+ * @subpackage Parse
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_Amf_Parse_Resource_Stream
+{
+    /**
+     * Parse resource into string
+     *
+     * @param resource $resource Stream resource
+     * @return array
+     */
+    public function parse($resource) {
+        return stream_get_contents($resource);
+    }
+}

+ 2 - 2
library/Zend/Amf/Parse/Serializer.php

@@ -39,8 +39,8 @@ abstract class Zend_Amf_Parse_Serializer
 
     /**
      * Constructor
-     * 
-     * @param  Zend_Amf_Parse_OutputStream $stream 
+     *
+     * @param  Zend_Amf_Parse_OutputStream $stream
      * @return void
      */
     public function __construct(Zend_Amf_Parse_OutputStream $stream)

+ 47 - 47
library/Zend/Amf/Parse/TypeLoader.php

@@ -80,7 +80,7 @@ final class Zend_Amf_Parse_TypeLoader
         'flex.messaging.messages.RemotingMessage'    => 'Zend_Amf_Value_Messaging_RemotingMessage',
         'flex.messaging.io.ArrayCollection'          => 'Zend_Amf_Value_Messaging_ArrayCollection',
     );
-    
+
     /**
      * @var Zend_Loader_PluginLoader_Interface
      */
@@ -153,79 +153,79 @@ final class Zend_Amf_Parse_TypeLoader
     {
         self::$classMap = self::$_defaultClassMap;
     }
-    
+
     /**
      * Set loader for resource type handlers
-     * 
-     * @param Zend_Loader_PluginLoader_Interface $loader  
+     *
+     * @param Zend_Loader_PluginLoader_Interface $loader
      */
     public static function setResourceLoader(Zend_Loader_PluginLoader_Interface $loader)
     {
-    	self::$_resourceLoader = $loader;
+        self::$_resourceLoader = $loader;
     }
-    
+
     /**
-	 * Add directory to the list of places where to look for resource handlers
-	 *
+     * Add directory to the list of places where to look for resource handlers
+     *
      * @param string $prefix
      * @param string $dir
      */
     public static function addResourceDirectory($prefix, $dir)
     {
-    	if(self::$_resourceLoader) {
-    		self::$_resourceLoader->addPrefixPath($prefix, $dir);
-    	} 
+        if(self::$_resourceLoader) {
+            self::$_resourceLoader->addPrefixPath($prefix, $dir);
+        }
     }
-    
+
     /**
      * Get plugin class that handles this resource
-     * 
+     *
      * @param resource $resource Resource type
      * @return string Class name
      */
     public static function getResourceParser($resource)
     {
-    	if(self::$_resourceLoader) {
-   			$type = preg_replace("/[^A-Za-z0-9_]/", " ", get_resource_type($resource));
-   			$type = str_replace(" ","", ucwords($type));
-   			return self::$_resourceLoader->load($type);
-    	}
-    	return false;
+        if(self::$_resourceLoader) {
+            $type = preg_replace("/[^A-Za-z0-9_]/", " ", get_resource_type($resource));
+            $type = str_replace(" ","", ucwords($type));
+            return self::$_resourceLoader->load($type);
+        }
+        return false;
     }
-    
+
     /**
      * Convert resource to a serializable object
-     * 
+     *
      * @param resource $resource
      * @return mixed
      */
     public static function handleResource($resource)
     {
-		if(!self::$_resourceLoader) {
-			require_once 'Zend/Amf/Exception.php';
-			throw new Zend_Amf_Exception('Unable to handle resources - resource plugin loader not set');
-		}
-    	try {
-    		while(is_resource($resource)) {
-				$resclass = self::getResourceParser($resource);
-				if(!$resclass) {
-					require_once 'Zend/Amf/Exception.php';
-					throw new Zend_Amf_Exception('Can not serialize resource type: '. get_resource_type($resource));
-				}
-				$parser = new $resclass();
-				if(is_callable(array($parser, 'parse'))) {
-					$resource = $parser->parse($resource);
-				} else {
-					require_once 'Zend/Amf/Exception.php';
-					throw new Zend_Amf_Exception("Could not call parse() method on class $resclass");
-				}
-    		}
-			return $resource;	
-		} catch(Zend_Amf_Exception $e) {
-			throw $e;
-		} catch(Exception $e) {
-			require_once 'Zend/Amf/Exception.php';
-			throw new Zend_Amf_Exception('Can not serialize resource type: '. get_resource_type($resource));
-		}
+        if(!self::$_resourceLoader) {
+            require_once 'Zend/Amf/Exception.php';
+            throw new Zend_Amf_Exception('Unable to handle resources - resource plugin loader not set');
+        }
+        try {
+            while(is_resource($resource)) {
+                $resclass = self::getResourceParser($resource);
+                if(!$resclass) {
+                    require_once 'Zend/Amf/Exception.php';
+                    throw new Zend_Amf_Exception('Can not serialize resource type: '. get_resource_type($resource));
+                }
+                $parser = new $resclass();
+                if(is_callable(array($parser, 'parse'))) {
+                    $resource = $parser->parse($resource);
+                } else {
+                    require_once 'Zend/Amf/Exception.php';
+                    throw new Zend_Amf_Exception("Could not call parse() method on class $resclass");
+                }
+            }
+            return $resource;
+        } catch(Zend_Amf_Exception $e) {
+            throw $e;
+        } catch(Exception $e) {
+            require_once 'Zend/Amf/Exception.php';
+            throw new Zend_Amf_Exception('Can not serialize resource type: '. get_resource_type($resource));
+        }
     }
 }

+ 5 - 5
library/Zend/Amf/Request.php

@@ -19,19 +19,19 @@
  * @version    $Id$
  */
 
-/** Zend_Amf_Parse_InputStream */
+/** @see Zend_Amf_Parse_InputStream */
 require_once 'Zend/Amf/Parse/InputStream.php';
 
-/** Zend_Amf_Parse_Amf0_Deserializer */
+/** @see Zend_Amf_Parse_Amf0_Deserializer */
 require_once 'Zend/Amf/Parse/Amf0/Deserializer.php';
 
-/** Zend_Amf_Constants */
+/** @see Zend_Amf_Constants */
 require_once 'Zend/Amf/Constants.php';
 
-/** Zend_Amf_Value_MessageHeader */
+/** @see Zend_Amf_Value_MessageHeader */
 require_once 'Zend/Amf/Value/MessageHeader.php';
 
-/** Zend_Amf_Value_MessageBody */
+/** @see Zend_Amf_Value_MessageBody */
 require_once 'Zend/Amf/Value/MessageBody.php';
 
 /**

+ 4 - 4
library/Zend/Amf/Request/Http.php

@@ -20,7 +20,7 @@
  * @version    $Id$
  */
 
-/** Zend_Amf_Request */
+/** @see Zend_Amf_Request */
 require_once 'Zend/Amf/Request.php';
 
 /**
@@ -54,8 +54,8 @@ class Zend_Amf_Request_Http extends Zend_Amf_Request
      */
     public function __construct()
     {
-        // php://input allows you to read raw POST data. It is a less memory 
-        // intensive alternative to $HTTP_RAW_POST_DATA and does not need any 
+        // php://input allows you to read raw POST data. It is a less memory
+        // intensive alternative to $HTTP_RAW_POST_DATA and does not need any
         // special php.ini directives
         $amfRequest = file_get_contents('php://input');
 
@@ -70,7 +70,7 @@ class Zend_Amf_Request_Http extends Zend_Amf_Request
 
     /**
      * Retrieve raw AMF Request
-     * 
+     *
      * @return string
      */
     public function getRawRequest()

+ 4 - 4
library/Zend/Amf/Response.php

@@ -19,13 +19,13 @@
  * @version    $Id$
  */
 
-/** Zend_Amf_Constants */
+/** @see Zend_Amf_Constants */
 require_once 'Zend/Amf/Constants.php';
 
-/** Zend_Amf_Parse_OutputStream */
+/** @see Zend_Amf_Parse_OutputStream */
 require_once 'Zend/Amf/Parse/OutputStream.php';
 
-/** Zend_Amf_Parse_Amf0_Serializer */
+/** @see Zend_Amf_Parse_Amf0_Serializer */
 require_once 'Zend/Amf/Parse/Amf0/Serializer.php';
 
 /**
@@ -172,7 +172,7 @@ class Zend_Amf_Response
 
     /**
      * Retrieve attached AMF message headers
-     * 
+     *
      * @return array Array of Zend_Amf_Value_MessageHeader objects
      */
     public function getAmfHeaders()

+ 125 - 125
library/Zend/Amf/Server.php

@@ -19,31 +19,31 @@
  * @version    $Id$
  */
 
-/** Zend_Server_Interface */
+/** @see Zend_Server_Interface */
 require_once 'Zend/Server/Interface.php';
 
-/** Zend_Server_Reflection */
+/** @see Zend_Server_Reflection */
 require_once 'Zend/Server/Reflection.php';
 
-/** Zend_Amf_Constants */
+/** @see Zend_Amf_Constants */
 require_once 'Zend/Amf/Constants.php';
 
-/** Zend_Amf_Value_MessageBody */
+/** @see Zend_Amf_Value_MessageBody */
 require_once 'Zend/Amf/Value/MessageBody.php';
 
-/** Zend_Amf_Value_MessageHeader */
+/** @see Zend_Amf_Value_MessageHeader */
 require_once 'Zend/Amf/Value/MessageHeader.php';
 
-/** Zend_Amf_Value_Messaging_CommandMessage */
+/** @see Zend_Amf_Value_Messaging_CommandMessage */
 require_once 'Zend/Amf/Value/Messaging/CommandMessage.php';
 
-/** Zend_Loader_PluginLoader */
+/** @see Zend_Loader_PluginLoader */
 require_once 'Zend/Loader/PluginLoader.php';
 
-/** Zend_Amf_Parse_TypeLoader */
+/** @see Zend_Amf_Parse_TypeLoader */
 require_once 'Zend/Amf/Parse/TypeLoader.php';
 
-/** Zend_Auth */
+/** @see Zend_Auth */
 require_once 'Zend/Auth.php';
 /**
  * An AMF gateway server implementation to allow the connection of the Adobe Flash Player to
@@ -62,10 +62,10 @@ class Zend_Amf_Server implements Zend_Server_Interface
      * @var array
      */
     protected $_methods = array();
-    
+
     /**
      * Array of classes that can be called without being explicitly loaded
-     * 
+     *
      * Keys are class names.
      *
      * @var array
@@ -121,13 +121,13 @@ class Zend_Amf_Server implements Zend_Server_Interface
 
     /**
      * Authentication handler object
-     * 
+     *
      * @var Zend_Amf_Auth_Abstract
      */
     protected $_auth;
     /**
      * ACL handler object
-     * 
+     *
      * @var Zend_Acl
      */
     protected $_acl;
@@ -136,9 +136,9 @@ class Zend_Amf_Server implements Zend_Server_Interface
      */
     public function __construct()
     {
-    	Zend_Amf_Parse_TypeLoader::setResourceLoader(new Zend_Loader_PluginLoader(array("Zend_Amf_Parse_Resource" => "Zend/Amf/Parse/Resource")));
+        Zend_Amf_Parse_TypeLoader::setResourceLoader(new Zend_Loader_PluginLoader(array("Zend_Amf_Parse_Resource" => "Zend/Amf/Parse/Resource")));
     }
-    
+
     /**
      * Set authentication adapter
      *
@@ -159,7 +159,7 @@ class Zend_Amf_Server implements Zend_Server_Interface
     {
         return $this->_auth;
     }
-    
+
     /**
      * Set ACL adapter
      *
@@ -180,7 +180,7 @@ class Zend_Amf_Server implements Zend_Server_Interface
     {
         return $this->_acl;
     }
-    
+
     /**
      * Set production flag
      *
@@ -225,8 +225,8 @@ class Zend_Amf_Server implements Zend_Server_Interface
     }
 
     /**
-     * Check if the ACL allows accessing the function or method 
-     * 
+     * Check if the ACL allows accessing the function or method
+     *
      * @param string|object $object Object or class being accessed
      * @param string $function Function or method being acessed
      * @return unknown_type
@@ -239,7 +239,7 @@ class Zend_Amf_Server implements Zend_Server_Interface
         if($object) {
             $class = is_object($object)?get_class($object):$object;
             if(!$this->_acl->has($class)) {
-            	require_once 'Zend/Acl/Resource.php';
+                require_once 'Zend/Acl/Resource.php';
                 $this->_acl->add(new Zend_Acl_Resource($class));
             }
             $call = array($object, "initAcl");
@@ -250,15 +250,15 @@ class Zend_Amf_Server implements Zend_Server_Interface
         } else {
             $class = null;
         }
-        
+
         $auth = Zend_Auth::getInstance();
         if($auth->hasIdentity()) {
             $role = $auth->getIdentity()->role;
         } else {
-        	if($this->_acl->hasRole(Zend_Amf_Constants::GUEST_ROLE)) {
+            if($this->_acl->hasRole(Zend_Amf_Constants::GUEST_ROLE)) {
                 $role = Zend_Amf_Constants::GUEST_ROLE;
             } else {
-            	require_once 'Zend/Amf/Server/Exception.php';
+                require_once 'Zend/Amf/Server/Exception.php';
                 throw new Zend_Amf_Server_Exception("Unauthenticated access not allowed");
             }
         }
@@ -269,7 +269,7 @@ class Zend_Amf_Server implements Zend_Server_Interface
             throw new Zend_Amf_Server_Exception("Access not allowed");
         }
     }
-    
+
     /**
      * Get PluginLoader for the Server
      *
@@ -277,13 +277,13 @@ class Zend_Amf_Server implements Zend_Server_Interface
      */
     protected function getLoader()
     {
-    	if(empty($this->_loader)) {
-    		require_once 'Zend/Loader/PluginLoader.php';
-    		$this->_loader = new Zend_Loader_PluginLoader();
-    	}
-    	return $this->_loader;
+        if(empty($this->_loader)) {
+            require_once 'Zend/Loader/PluginLoader.php';
+            $this->_loader = new Zend_Loader_PluginLoader();
+        }
+        return $this->_loader;
     }
-    
+
     /**
      * Loads a remote class or method and executes the function and returns
      * the result
@@ -295,23 +295,23 @@ class Zend_Amf_Server implements Zend_Server_Interface
      */
     protected function _dispatch($method, $params = null, $source = null)
     {
-    	if($source) {
-        	if(($mapped = Zend_Amf_Parse_TypeLoader::getMappedClassName($source)) !== false) {
-        		$source = $mapped;
-        	}
-    	}
+        if($source) {
+            if(($mapped = Zend_Amf_Parse_TypeLoader::getMappedClassName($source)) !== false) {
+                $source = $mapped;
+            }
+        }
         $qualifiedName = empty($source) ? $method : $source.".".$method;
-        
+
         if (!isset($this->_table[$qualifiedName])) {
             // if source is null a method that was not defined was called.
             if ($source) {
-				$className = str_replace(".", "_", $source);
-				if(class_exists($className, false) && !isset($this->_classAllowed[$className])) {
-					require_once 'Zend/Amf/Server/Exception.php';
+                $className = str_replace(".", "_", $source);
+                if(class_exists($className, false) && !isset($this->_classAllowed[$className])) {
+                    require_once 'Zend/Amf/Server/Exception.php';
                     throw new Zend_Amf_Server_Exception('Can not call "' . $className . '" - use setClass()');
-				}
+                }
                 try {
-                	$this->getLoader()->load($className);
+                    $this->getLoader()->load($className);
                 } catch (Exception $e) {
                     require_once 'Zend/Amf/Server/Exception.php';
                     throw new Zend_Amf_Server_Exception('Class "' . $className . '" does not exist: '.$e->getMessage());
@@ -326,7 +326,7 @@ class Zend_Amf_Server implements Zend_Server_Interface
 
         $info = $this->_table[$qualifiedName];
         $argv = $info->getInvokeArguments();
-        
+
         if (0 < count($argv)) {
             $params = array_merge($params, $argv);
         }
@@ -377,13 +377,13 @@ class Zend_Amf_Server implements Zend_Server_Interface
         require_once 'Zend/Amf/Value/Messaging/AcknowledgeMessage.php';
         switch($message->operation) {
             case Zend_Amf_Value_Messaging_CommandMessage::DISCONNECT_OPERATION :
-        	case Zend_Amf_Value_Messaging_CommandMessage::CLIENT_PING_OPERATION :
+            case Zend_Amf_Value_Messaging_CommandMessage::CLIENT_PING_OPERATION :
                 $return = new Zend_Amf_Value_Messaging_AcknowledgeMessage($message);
                 break;
             case Zend_Amf_Value_Messaging_CommandMessage::LOGIN_OPERATION :
                 $data = explode(':', base64_decode($message->body));
-            	$userid = $data[0];
-            	$password = isset($data[1])?$data[1]:""; 
+                $userid = $data[0];
+                $password = isset($data[1])?$data[1]:"";
                 if(empty($userid)) {
                     require_once 'Zend/Amf/Server/Exception.php';
                     throw new Zend_Amf_Server_Exception('Login failed: username not supplied');
@@ -410,7 +410,7 @@ class Zend_Amf_Server implements Zend_Server_Interface
 
     /**
      * Create appropriate error message
-     * 
+     *
      * @param int $objectEncoding Current AMF encoding
      * @param string $message Message that was being processed when error happened
      * @param string $description Error description
@@ -422,55 +422,55 @@ class Zend_Amf_Server implements Zend_Server_Interface
     protected function _errorMessage($objectEncoding, $message, $description, $detail, $code, $line)
     {
         $return = null;
-		switch ($objectEncoding) {
-			case Zend_Amf_Constants::AMF0_OBJECT_ENCODING :
-				return array (
-						'description' => ($this->isProduction ()) ? '' : $description, 
-						'detail' => ($this->isProduction ()) ? '' : $detail, 
-						'line' => ($this->isProduction ()) ? 0 : $line, 
-						'code' => $code 
-			    );
-			case Zend_Amf_Constants::AMF3_OBJECT_ENCODING :
-				require_once 'Zend/Amf/Value/Messaging/ErrorMessage.php';
-				$return = new Zend_Amf_Value_Messaging_ErrorMessage ( $message );
-				$return->faultString = $this->isProduction () ? '' : $description;
-				$return->faultCode = $code;
-				$return->faultDetail = $this->isProduction () ? '' : $detail;
-				break;
-		}
+        switch ($objectEncoding) {
+            case Zend_Amf_Constants::AMF0_OBJECT_ENCODING :
+                return array (
+                        'description' => ($this->isProduction ()) ? '' : $description,
+                        'detail' => ($this->isProduction ()) ? '' : $detail,
+                        'line' => ($this->isProduction ()) ? 0 : $line,
+                        'code' => $code
+                );
+            case Zend_Amf_Constants::AMF3_OBJECT_ENCODING :
+                require_once 'Zend/Amf/Value/Messaging/ErrorMessage.php';
+                $return = new Zend_Amf_Value_Messaging_ErrorMessage ( $message );
+                $return->faultString = $this->isProduction () ? '' : $description;
+                $return->faultCode = $code;
+                $return->faultDetail = $this->isProduction () ? '' : $detail;
+                break;
+        }
         return $return;
     }
 
-	/**
-	 * Handle AMF authenticaton
-	 * 
-	 * @param string $userid
-	 * @param string $password
-	 * @return boolean
-	 */
-	protected function _handleAuth( $userid,  $password)
-	{
-		if (!$this->_auth) {
-			return true;
-		}
-		$this->_auth->setCredentials($userid, $password);
-		$auth = Zend_Auth::getInstance();
-		$result = $auth->authenticate($this->_auth);
-		if ($result->isValid()) {
-			if (!$this->isSession()) {
-				$this->setSession();
-			}
-			return true;
-		} else {
-			// authentication failed, good bye
-			require_once 'Zend/Amf/Server/Exception.php';
-			throw new Zend_Amf_Server_Exception(
-				"Authentication failed: " . join("\n", 
-					$result->getMessages()), $result->getCode());
-		}
-	        
-    }
-    
+    /**
+     * Handle AMF authenticaton
+     *
+     * @param string $userid
+     * @param string $password
+     * @return boolean
+     */
+    protected function _handleAuth( $userid,  $password)
+    {
+        if (!$this->_auth) {
+            return true;
+        }
+        $this->_auth->setCredentials($userid, $password);
+        $auth = Zend_Auth::getInstance();
+        $result = $auth->authenticate($this->_auth);
+        if ($result->isValid()) {
+            if (!$this->isSession()) {
+                $this->setSession();
+            }
+            return true;
+        } else {
+            // authentication failed, good bye
+            require_once 'Zend/Amf/Server/Exception.php';
+            throw new Zend_Amf_Server_Exception(
+                "Authentication failed: " . join("\n",
+                    $result->getMessages()), $result->getCode());
+        }
+
+    }
+
     /**
      * Takes the deserialized AMF request and performs any operations.
      *
@@ -490,38 +490,38 @@ class Zend_Amf_Server implements Zend_Server_Interface
 
         // set reponse encoding
         $response->setObjectEncoding($objectEncoding);
-        
+
         $responseBody = $request->getAmfBodies();
 
         $handleAuth = false;
-		if ($this->_auth) {
-			$headers = $request->getAmfHeaders();
-			if (isset($headers[Zend_Amf_Constants::CREDENTIALS_HEADER]) && 
-			    isset($headers[Zend_Amf_Constants::CREDENTIALS_HEADER]->userid)) {
-				$handleAuth = true;
-			}
-		}
-        
+        if ($this->_auth) {
+            $headers = $request->getAmfHeaders();
+            if (isset($headers[Zend_Amf_Constants::CREDENTIALS_HEADER]) &&
+                isset($headers[Zend_Amf_Constants::CREDENTIALS_HEADER]->userid)) {
+                $handleAuth = true;
+            }
+        }
+
         // Iterate through each of the service calls in the AMF request
         foreach($responseBody as $body)
         {
             try {
-				if ($handleAuth) {
-					if ($this->_handleAuth(
-						$headers[Zend_Amf_Constants::CREDENTIALS_HEADER]->userid, 
-						$headers[Zend_Amf_Constants::CREDENTIALS_HEADER]->password)) {
-						// use RequestPersistentHeader to clear credentials                     
-						$response->addAmfHeader(
-							new Zend_Amf_Value_MessageHeader(
-								Zend_Amf_Constants::PERSISTENT_HEADER, 
-								false, 
-								new Zend_Amf_Value_MessageHeader(
-									Zend_Amf_Constants::CREDENTIALS_HEADER, 
-									false, null)));
-						$handleAuth = false;
-					}
-				}
-                
+                if ($handleAuth) {
+                    if ($this->_handleAuth(
+                        $headers[Zend_Amf_Constants::CREDENTIALS_HEADER]->userid,
+                        $headers[Zend_Amf_Constants::CREDENTIALS_HEADER]->password)) {
+                        // use RequestPersistentHeader to clear credentials
+                        $response->addAmfHeader(
+                            new Zend_Amf_Value_MessageHeader(
+                                Zend_Amf_Constants::PERSISTENT_HEADER,
+                                false,
+                                new Zend_Amf_Value_MessageHeader(
+                                    Zend_Amf_Constants::CREDENTIALS_HEADER,
+                                    false, null)));
+                        $handleAuth = false;
+                    }
+                }
+
                 if ($objectEncoding == Zend_Amf_Constants::AMF0_OBJECT_ENCODING) {
                     // AMF0 Object Encoding
                     $targetURI = $body->getTargetURI();
@@ -567,7 +567,7 @@ class Zend_Amf_Server implements Zend_Server_Interface
                 }
                 $responseType = Zend_AMF_Constants::RESULT_METHOD;
             } catch (Exception $e) {
-                $return = $this->_errorMessage($objectEncoding, $message, 
+                $return = $this->_errorMessage($objectEncoding, $message,
                     $e->getMessage(), $e->getTraceAsString(),$e->getCode(),  $e->getLine());
                 $responseType = Zend_AMF_Constants::STATUS_METHOD;
             }
@@ -584,10 +584,10 @@ class Zend_Amf_Server implements Zend_Server_Interface
                if(!strpos($_SERVER['QUERY_STRING'], $currentID) !== FALSE) {
                    if(strrpos($_SERVER['QUERY_STRING'], "?") !== FALSE) {
                        $joint = "&";
-                   } 
-               }    
+                   }
+               }
            }
-           
+
             // create a new AMF message header with the session id as a variable.
             $sessionValue = $joint . $this->_sessionName . "=" . $currentID;
             $sessionHeader = new Zend_Amf_Value_MessageHeader(Zend_Amf_Constants::URL_APPEND_HEADER, false, $sessionValue);
@@ -739,11 +739,11 @@ class Zend_Amf_Server implements Zend_Server_Interface
         }
 
         // Use the class name as the name space by default.
-        
+
         if ($namespace == '') {
             $namespace = is_object($class) ? get_class($class) : $class;
         }
-        
+
         $this->_classAllowed[is_object($class) ? get_class($class) : $class] = true;
 
         $this->_methods[] = Zend_Server_Reflection::reflectClass($class, $argv, $namespace);
@@ -793,12 +793,12 @@ class Zend_Amf_Server implements Zend_Server_Interface
     /**
      * Creates an array of directories in which services can reside.
      * TODO: add support for prefixes?
-     * 
+     *
      * @param string $dir
      */
     public function addDirectory($dir)
     {
-    	$this->getLoader()->addPrefixPath("", $dir);
+        $this->getLoader()->addPrefixPath("", $dir);
     }
 
     /**

+ 2 - 2
library/Zend/Amf/Util/BinaryStream.php

@@ -53,8 +53,8 @@ class Zend_Amf_Util_BinaryStream
     /**
      * Constructor
      *
-     * Create a refrence to a byte stream that is going to be parsed or created 
-     * by the methods in the class. Detect if the class should use big or 
+     * Create a refrence to a byte stream that is going to be parsed or created
+     * by the methods in the class. Detect if the class should use big or
      * little Endian encoding.
      *
      * @param  string $stream use '' if creating a new stream or pass a string if reading.

+ 1 - 1
library/Zend/Amf/Value/ByteArray.php

@@ -28,7 +28,7 @@
  * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
-class Zend_Amf_Value_ByteArray 
+class Zend_Amf_Value_ByteArray
 {
     /**
      * @var string ByteString Data

+ 182 - 182
library/Zend/Amf/Value/MessageBody.php

@@ -1,182 +1,182 @@
-<?php
-/**
- * Zend Framework
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://framework.zend.com/license/new-bsd
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@zend.com so we can send you a copy immediately.
- *
- * @category   Zend
- * @package    Zend_Amf
- * @subpackage Value
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id$
- */
-
-/**
- * An AMF Message contains information about the actual individual
- * transaction that is to be performed. It specifies the remote
- * operation that is to be performed; a local (client) operation
- * to be invoked upon success; and, the data to be used in the
- * operation.
- * <p/>
- * This Message structure defines how a local client would
- * invoke a method/operation on a remote server. Additionally,
- * the response from the Server is structured identically.
- *
- * @package    Zend_Amf
- * @subpackage Value
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- */
-class Zend_Amf_Value_MessageBody
-{
-    /**
-     * A string describing which operation, function, or method
-     * is to be remotley invoked.
-     * @var string
-     */
-    protected $_targetUri = "";
-
-    /**
-     * Universal Resource Identifier that uniquely targets the originator's
-     * Object that should receive the server's response. The server will
-     * use this path specification to target the "OnResult()" or "onStatus()"
-     * handlers within the client. For Flash, it specifies an ActionScript
-     * Object path only. The NetResponse object pointed to by the Response Uri
-     * contains the connection state information. Passing/specifying this
-     * provides a convenient mechanism for the client/server to share access
-     * to an object that is managing the state of the shared connection.
-     * 
-     * Since the server will use this field in the event of an error,
-     * this field is required even if a successful server request would
-     * not be expected to return a value to the client.
-     *
-     * @var string
-     */
-    protected $_responseUri = "";
-
-    /**
-     * Contains the actual data associated with the operation. It contains
-     * the client's parameter data that is passed to the server's operation/method.
-     * When serializing a root level data type or a parameter list array, no
-     * name field is included. That is, the data is anonomously represented
-     * as "Type Marker"/"Value" pairs. When serializing member data, the data is
-     * represented as a series of "Name"/"Type"/"Value" combinations.
-     *
-     * For server generated responses, it may contain any ActionScript
-     * data/objects that the server was expected to provide.
-     *
-     * @var string
-     */
-    protected $_data;
-
-    /**
-     * Constructor
-     * 
-     * @param  string $targetUri 
-     * @param  string $responseUri 
-     * @param  string $data 
-     * @return void
-     */
-    public function __construct($targetUri, $responseUri, $data)
-    {
-        $this->setTargetUri($targetUri);
-        $this->setResponseUri($responseUri);
-        $this->setData($data);
-    }
-
-    /**
-     * Retrieve target Uri
-     * 
-     * @return string
-     */
-    public function getTargetUri()
-    {
-        return $this->_targetUri;
-    }
-
-    /**
-     * Set target Uri
-     * 
-     * @param  string $targetUri 
-     * @return Zend_Amf_Value_MessageBody
-     */
-    public function setTargetUri($targetUri)
-    {
-        if (null === $targetUri) {
-            $targetUri = '';
-        }
-        $this->_targetUri = (string) $targetUri;
-        return $this;
-    }
-
-    /**
-     * Get target Uri
-     * 
-     * @return string
-     */
-    public function getResponseUri()
-    {
-        return $this->_responseUri;
-    }
-
-    /**
-     * Set response Uri
-     * 
-     * @param  string $responseUri 
-     * @return Zend_Amf_Value_MessageBody
-     */
-    public function setResponseUri($responseUri)
-    {
-        if (null === $responseUri) {
-            $responseUri = '';
-        }
-        $this->_responseUri = $responseUri;
-        return $this;
-    }
-
-    /**
-     * Retrieve response data
-     * 
-     * @return string
-     */
-    public function getData()
-    {
-        return $this->_data;
-    }
-
-    /**
-     * Set response data
-     * 
-     * @param  mixed $data 
-     * @return Zend_Amf_Value_MessageBody
-     */
-    public function setData($data)
-    {
-        $this->_data = $data;
-        return $this;
-    }
-
-    /**
-     * Set reply method
-     * 
-     * @param  string $methodName 
-     * @return Zend_Amf_Value_MessageBody
-     */
-    public function setReplyMethod($methodName)
-    {
-        if (!preg_match('#^[/?]#', $methodName)) {
-            $this->_targetUri = rtrim($this->_targetUri, '/') . '/';
-        }
-        $this->_targetUri = $this->_targetUri . $methodName;
-        return $this;
-    }
-}
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Amf
+ * @subpackage Value
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id$
+ */
+
+/**
+ * An AMF Message contains information about the actual individual
+ * transaction that is to be performed. It specifies the remote
+ * operation that is to be performed; a local (client) operation
+ * to be invoked upon success; and, the data to be used in the
+ * operation.
+ * <p/>
+ * This Message structure defines how a local client would
+ * invoke a method/operation on a remote server. Additionally,
+ * the response from the Server is structured identically.
+ *
+ * @package    Zend_Amf
+ * @subpackage Value
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_Amf_Value_MessageBody
+{
+    /**
+     * A string describing which operation, function, or method
+     * is to be remotley invoked.
+     * @var string
+     */
+    protected $_targetUri = "";
+
+    /**
+     * Universal Resource Identifier that uniquely targets the originator's
+     * Object that should receive the server's response. The server will
+     * use this path specification to target the "OnResult()" or "onStatus()"
+     * handlers within the client. For Flash, it specifies an ActionScript
+     * Object path only. The NetResponse object pointed to by the Response Uri
+     * contains the connection state information. Passing/specifying this
+     * provides a convenient mechanism for the client/server to share access
+     * to an object that is managing the state of the shared connection.
+     *
+     * Since the server will use this field in the event of an error,
+     * this field is required even if a successful server request would
+     * not be expected to return a value to the client.
+     *
+     * @var string
+     */
+    protected $_responseUri = "";
+
+    /**
+     * Contains the actual data associated with the operation. It contains
+     * the client's parameter data that is passed to the server's operation/method.
+     * When serializing a root level data type or a parameter list array, no
+     * name field is included. That is, the data is anonomously represented
+     * as "Type Marker"/"Value" pairs. When serializing member data, the data is
+     * represented as a series of "Name"/"Type"/"Value" combinations.
+     *
+     * For server generated responses, it may contain any ActionScript
+     * data/objects that the server was expected to provide.
+     *
+     * @var string
+     */
+    protected $_data;
+
+    /**
+     * Constructor
+     *
+     * @param  string $targetUri
+     * @param  string $responseUri
+     * @param  string $data
+     * @return void
+     */
+    public function __construct($targetUri, $responseUri, $data)
+    {
+        $this->setTargetUri($targetUri);
+        $this->setResponseUri($responseUri);
+        $this->setData($data);
+    }
+
+    /**
+     * Retrieve target Uri
+     *
+     * @return string
+     */
+    public function getTargetUri()
+    {
+        return $this->_targetUri;
+    }
+
+    /**
+     * Set target Uri
+     *
+     * @param  string $targetUri
+     * @return Zend_Amf_Value_MessageBody
+     */
+    public function setTargetUri($targetUri)
+    {
+        if (null === $targetUri) {
+            $targetUri = '';
+        }
+        $this->_targetUri = (string) $targetUri;
+        return $this;
+    }
+
+    /**
+     * Get target Uri
+     *
+     * @return string
+     */
+    public function getResponseUri()
+    {
+        return $this->_responseUri;
+    }
+
+    /**
+     * Set response Uri
+     *
+     * @param  string $responseUri
+     * @return Zend_Amf_Value_MessageBody
+     */
+    public function setResponseUri($responseUri)
+    {
+        if (null === $responseUri) {
+            $responseUri = '';
+        }
+        $this->_responseUri = $responseUri;
+        return $this;
+    }
+
+    /**
+     * Retrieve response data
+     *
+     * @return string
+     */
+    public function getData()
+    {
+        return $this->_data;
+    }
+
+    /**
+     * Set response data
+     *
+     * @param  mixed $data
+     * @return Zend_Amf_Value_MessageBody
+     */
+    public function setData($data)
+    {
+        $this->_data = $data;
+        return $this;
+    }
+
+    /**
+     * Set reply method
+     *
+     * @param  string $methodName
+     * @return Zend_Amf_Value_MessageBody
+     */
+    public function setReplyMethod($methodName)
+    {
+        if (!preg_match('#^[/?]#', $methodName)) {
+            $this->_targetUri = rtrim($this->_targetUri, '/') . '/';
+        }
+        $this->_targetUri = $this->_targetUri . $methodName;
+        return $this;
+    }
+}

+ 2 - 2
library/Zend/Amf/Value/MessageHeader.php

@@ -23,7 +23,7 @@
 /**
  * Message Headers provide context for the processing of the
  * the AMF Packet and all subsequent Messages.
- * 
+ *
  * Multiple Message Headers may be included within an AMF Packet.
  *
  * @package    Zend_Amf
@@ -31,7 +31,7 @@
  * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
-class Zend_Amf_Value_MessageHeader 
+class Zend_Amf_Value_MessageHeader
 {
     /**
      * Name of the header

+ 128 - 128
library/Zend/Amf/Value/Messaging/CommandMessage.php

@@ -1,131 +1,131 @@
-<?php
-/**
- * Zend Framework
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://framework.zend.com/license/new-bsd
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@zend.com so we can send you a copy immediately.
- *
- * @category   Zend
- * @package    Zend_Amf
- * @subpackage Value
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id$
- */
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Amf
+ * @subpackage Value
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id$
+ */
 
 /**
  * @see Zend_Amf_Value_Messaging_AsyncMessage
- */
-require_once 'Zend/Amf/Value/Messaging/AsyncMessage.php';
-
-/**
- * A message that represents an infrastructure command passed between
- * client and server. Subscribe/unsubscribe operations result in
- * CommandMessage transmissions, as do polling operations.
- *
- * Corresponds to flex.messaging.messages.CommandMessage
- *
- * Note: THESE VALUES MUST BE THE SAME ON CLIENT AND SERVER
- *
- * @package    Zend_Amf
- * @subpackage Value
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- */
-class Zend_Amf_Value_Messaging_CommandMessage extends Zend_Amf_Value_Messaging_AsyncMessage
-{
-    /**
-     *  This operation is used to subscribe to a remote destination.
-     *  @const int
-     */
-    const SUBSCRIBE_OPERATION = 0;
-
-    /**
-     * This operation is used to unsubscribe from a remote destination.
-     * @const int
-     */
-    const UNSUSBSCRIBE_OPERATION = 1;
-
-    /**
-     * This operation is used to poll a remote destination for pending,
-     * undelivered messages.
-     * @const int
-     */
-    const POLL_OPERATION = 2;
-
-    /**
-     * This operation is used by a remote destination to sync missed or cached messages
-     * back to a client as a result of a client issued poll command.
-     * @const int
-     */
-    const CLIENT_SYNC_OPERATION = 4;
-
-    /**
-     * This operation is used to test connectivity over the current channel to
-     * the remote endpoint.
-     * @const int
-     */
-    const CLIENT_PING_OPERATION = 5;
-
-    /**
-     * This operation is used to request a list of failover endpoint URIs
-     * for the remote destination based on cluster membership.
-     * @const int
-     */
-    const CLUSTER_REQUEST_OPERATION = 7;
-
-    /**
-     * This operation is used to send credentials to the endpoint so that
-     * the user can be logged in over the current channel.
-     * The credentials need to be Base64 encoded and stored in the <code>body</code>
-     * of the message.
-     * @const int
-     */
-    const LOGIN_OPERATION = 8;
-
-    /**
-     * This operation is used to log the user out of the current channel, and
-     * will invalidate the server session if the channel is HTTP based.
-     * @const int
-     */
-    const LOGOUT_OPERATION = 9;
-
-    /**
-     * This operation is used to indicate that the client's subscription to a
-     * remote destination has been invalidated.
-     * @const int
-     */
-    const SESSION_INVALIDATE_OPERATION = 10;
-
-    /**
-     * This operation is used by the MultiTopicConsumer to subscribe/unsubscribe
-     * from multiple subtopics/selectors in the same message.
-     * @const int
-     */
-    const MULTI_SUBSCRIBE_OPERATION = 11;
-
-    /**
-     * This operation is used to indicate that a channel has disconnected
-     * @const int
-     */
-    const DISCONNECT_OPERATION = 12;
-
-    /**
-     * This is the default operation for new CommandMessage instances.
-     * @const int
-     */
-    const UNKNOWN_OPERATION = 10000;
-
-    /**
-     * The operation to execute for messages of this type
-     * @var int
-     */
-    public $operation = self::UNKNOWN_OPERATION;
-}
+ */
+require_once 'Zend/Amf/Value/Messaging/AsyncMessage.php';
+
+/**
+ * A message that represents an infrastructure command passed between
+ * client and server. Subscribe/unsubscribe operations result in
+ * CommandMessage transmissions, as do polling operations.
+ *
+ * Corresponds to flex.messaging.messages.CommandMessage
+ *
+ * Note: THESE VALUES MUST BE THE SAME ON CLIENT AND SERVER
+ *
+ * @package    Zend_Amf
+ * @subpackage Value
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_Amf_Value_Messaging_CommandMessage extends Zend_Amf_Value_Messaging_AsyncMessage
+{
+    /**
+     *  This operation is used to subscribe to a remote destination.
+     *  @const int
+     */
+    const SUBSCRIBE_OPERATION = 0;
+
+    /**
+     * This operation is used to unsubscribe from a remote destination.
+     * @const int
+     */
+    const UNSUSBSCRIBE_OPERATION = 1;
+
+    /**
+     * This operation is used to poll a remote destination for pending,
+     * undelivered messages.
+     * @const int
+     */
+    const POLL_OPERATION = 2;
+
+    /**
+     * This operation is used by a remote destination to sync missed or cached messages
+     * back to a client as a result of a client issued poll command.
+     * @const int
+     */
+    const CLIENT_SYNC_OPERATION = 4;
+
+    /**
+     * This operation is used to test connectivity over the current channel to
+     * the remote endpoint.
+     * @const int
+     */
+    const CLIENT_PING_OPERATION = 5;
+
+    /**
+     * This operation is used to request a list of failover endpoint URIs
+     * for the remote destination based on cluster membership.
+     * @const int
+     */
+    const CLUSTER_REQUEST_OPERATION = 7;
+
+    /**
+     * This operation is used to send credentials to the endpoint so that
+     * the user can be logged in over the current channel.
+     * The credentials need to be Base64 encoded and stored in the <code>body</code>
+     * of the message.
+     * @const int
+     */
+    const LOGIN_OPERATION = 8;
+
+    /**
+     * This operation is used to log the user out of the current channel, and
+     * will invalidate the server session if the channel is HTTP based.
+     * @const int
+     */
+    const LOGOUT_OPERATION = 9;
+
+    /**
+     * This operation is used to indicate that the client's subscription to a
+     * remote destination has been invalidated.
+     * @const int
+     */
+    const SESSION_INVALIDATE_OPERATION = 10;
+
+    /**
+     * This operation is used by the MultiTopicConsumer to subscribe/unsubscribe
+     * from multiple subtopics/selectors in the same message.
+     * @const int
+     */
+    const MULTI_SUBSCRIBE_OPERATION = 11;
+
+    /**
+     * This operation is used to indicate that a channel has disconnected
+     * @const int
+     */
+    const DISCONNECT_OPERATION = 12;
+
+    /**
+     * This is the default operation for new CommandMessage instances.
+     * @const int
+     */
+    const UNKNOWN_OPERATION = 10000;
+
+    /**
+     * The operation to execute for messages of this type
+     * @var int
+     */
+    public $operation = self::UNKNOWN_OPERATION;
+}

+ 67 - 67
library/Zend/Amf/Value/Messaging/ErrorMessage.php

@@ -1,67 +1,67 @@
-<?php
-/**
- * Zend Framework
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://framework.zend.com/license/new-bsd
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@zend.com so we can send you a copy immediately.
- *
- * @category   Zend
- * @package    Zend_Amf
- * @subpackage Value
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id$
- */
-
-/** Zend_Amf_Value_Messaging_AcknowledgeMessage */
-require_once 'Zend/Amf/Value/Messaging/AcknowledgeMessage.php';
-
-/**
- * Creates the error message to report to flex the issue with the call
- *
- * Corresponds to flex.messaging.messages.ErrorMessage
- *
- * @package    Zend_Amf
- * @subpackage Value
- * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
- * @license    http://framework.zend.com/license/new-bsd     New BSD License
- */
-class Zend_Amf_Value_Messaging_ErrorMessage extends Zend_Amf_Value_Messaging_AcknowledgeMessage
-{
-    /**
-     * Additional data with error
-     * @var object
-     */
-    public $extendedData = null;
-
-    /**
-     * Error code number
-     * @var string
-     */
-    public $faultCode;
-
-    /**
-     * Description as to the cause of the error
-     * @var string
-     */
-    public $faultDetail;
-
-    /**
-     * Short description of error
-     * @var string
-     */
-    public $faultString = '';
-
-    /**
-     * root cause of error
-     * @var object
-     */
-    public $rootCause = null;
-}
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Amf
+ * @subpackage Value
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id$
+ */
+
+/** @see Zend_Amf_Value_Messaging_AcknowledgeMessage */
+require_once 'Zend/Amf/Value/Messaging/AcknowledgeMessage.php';
+
+/**
+ * Creates the error message to report to flex the issue with the call
+ *
+ * Corresponds to flex.messaging.messages.ErrorMessage
+ *
+ * @package    Zend_Amf
+ * @subpackage Value
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_Amf_Value_Messaging_ErrorMessage extends Zend_Amf_Value_Messaging_AcknowledgeMessage
+{
+    /**
+     * Additional data with error
+     * @var object
+     */
+    public $extendedData = null;
+
+    /**
+     * Error code number
+     * @var string
+     */
+    public $faultCode;
+
+    /**
+     * Description as to the cause of the error
+     * @var string
+     */
+    public $faultDetail;
+
+    /**
+     * Short description of error
+     * @var string
+     */
+    public $faultString = '';
+
+    /**
+     * root cause of error
+     * @var object
+     */
+    public $rootCause = null;
+}

+ 2 - 2
library/Zend/Amf/Value/TraitsInfo.php

@@ -21,8 +21,8 @@
  */
 
 /**
- * Zend_Amf_Value_TraitsInfo 
- * 
+ * Zend_Amf_Value_TraitsInfo
+ *
  * @package    Zend_Amf
  * @subpackage Value
  * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)