Commits

Anonymous committed d8e1ade

Update Zend library

Comments (0)

Files changed (62)

www/system/library/DoctrineX/Record.php

             }
 
             $name = strtolower($this->getCamelCaseToUnderscore()->filter($name));
-            if ($table->hasField($name) || $table->hasRelation($name)) {
-                return call_user_func_array(
-                    array($this, $verb),
-                    array_merge(array($name), $arguments)
-                );
-            }
+            return call_user_func_array(
+                array($this, $verb),
+                array_merge(array($name), $arguments)
+            );
         }
-        if ($verb !== '_set') {
-            throw new BadMethodCallException('Unknown method name ' . $method);
-        }
+        throw new BadMethodCallException('Unknown method name ' . $method);
     }
 }

www/system/library/Zend/Amf/Parse/Amf0/Deserializer.php

  * @subpackage Parse_Amf0
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Deserializer.php 20096 2010-01-06 02:05:09Z bkarwin $
+ * @version    $Id: Deserializer.php 21209 2010-02-27 10:37:15Z yoshida@zend.co.jp $
  */
 
 /** Zend_Amf_Constants */
  * Read an AMF0 input stream and convert it into PHP data types
  *
  * @todo       Implement Typed Object Class Mapping
- * @todo       Class could be implmented as Factory Class with each data type it's own class
+ * @todo       Class could be implemented as Factory Class with each data type it's own class
  * @package    Zend_Amf
  * @subpackage Parse_Amf0
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
 class Zend_Amf_Parse_Amf0_Deserializer extends Zend_Amf_Parse_Deserializer
 {
     /**
-     * An array of objects used for recursivly deserializing an object.
+     * An array of objects used for recursively deserializing an object.
      * @var array
      */
     protected $_reference = array();
     /**
      * Read reference objects
      *
-     * Used to gain access to the private array of refrence objects.
+     * Used to gain access to the private array of reference objects.
      * Called when marker type is 7.
      *
      * @return object
     }
 
     /**
-     * Converts numberically indexed actiosncript arrays into php arrays.
+     * Converts numerically indexed actiosncript arrays into php arrays.
      *
      * Called when marker type is 10
      *

www/system/library/Zend/Amf/Parse/Amf0/Serializer.php

  * @subpackage Parse_Amf0
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Serializer.php 20096 2010-01-06 02:05:09Z bkarwin $
+ * @version    $Id: Serializer.php 21209 2010-02-27 10:37:15Z yoshida@zend.co.jp $
  */
 
 /** Zend_Amf_Constants */
 require_once 'Zend/Amf/Parse/Serializer.php';
 
 /**
- * Serializer php misc types back to there corresponding AMF0 Type Marker.
+ * Serializer PHP misc types back to there corresponding AMF0 Type Marker.
  *
  * @uses       Zend_Amf_Parse_Serializer
  * @package    Zend_Amf
     public function writeTypeMarker($data, $markerType = null)
     {
         if (null !== $markerType) {
-            //try to refrence the given object
+            //try to reference the given object
             if( !$this->writeObjectReference($data, $markerType) ) {
 
                 // Write the Type Marker to denote the following action script data type
     }
 
     /**
-     * Write a php array with string or mixed keys.
+     * Write a PHP array with string or mixed keys.
      *
      * @param object $data
      * @return Zend_Amf_Parse_Amf0_Serializer
     {
         // Loop each element and write the name of the property.
         foreach ($object as $key => $value) {
-            // skip variables starting with an _ provate transient
+            // skip variables starting with an _ private transient
             if( $key[0] == "_") continue;
             $this->_stream->writeUTF($key);
             $this->writeTypeMarker($value);
             // write the length of the array
             $this->_stream->writeLong(0);
         } else {
-            // Write the length of the numberic array
+            // Write the length of the numeric array
             $this->_stream->writeLong($length);
             for ($i=0; $i<$length; $i++) {
                 $value = isset($array[$i]) ? $array[$i] : null;
 
     /**
      * Encountered and AMF3 Type Marker use AMF3 serializer. Once AMF3 is
-     * enountered it will not return to AMf0.
+     * encountered it will not return to AMf0.
      *
      * @param  string $data
      * @return Zend_Amf_Parse_Amf0_Serializer

www/system/library/Zend/Amf/Parse/Amf3/Deserializer.php

  * @subpackage Parse_Amf3
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Deserializer.php 20096 2010-01-06 02:05:09Z bkarwin $
+ * @version    $Id: Deserializer.php 21209 2010-02-27 10:37:15Z yoshida@zend.co.jp $
  */
 
 /** Zend_Amf_Constants */
  *
  * @todo       readObject to handle Typed Objects
  * @todo       readXMLStrimg to be implemented.
- * @todo       Class could be implmented as Factory Class with each data type it's own class.
+ * @todo       Class could be implemented as Factory Class with each data type it's own class.
  * @package    Zend_Amf
  * @subpackage Parse_Amf3
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
             }
             $returnObject = $this->_referenceObjects[$ref];
         } else {
-            // Check if the Object is in the stored Definistions reference table
+            // Check if the Object is in the stored Definitions reference table
             $storedClass = ($traitsInfo & 0x01) == 0;
             $traitsInfo  = $traitsInfo >> 1;
             if ($storedClass) {
                 $returnObject = new stdClass();
             } else {
                 // Defined object
-                // Typed object lookup agsinst registered classname maps
+                // Typed object lookup against registered classname maps
                 if ($loader = Zend_Amf_Parse_TypeLoader::loadType($className)) {
                     $returnObject = new $loader();
                 } else {
                 }
             }
 
-            // Add the Object ot the reference table
+            // Add the Object to the reference table
             $this->_referenceObjects[] = $returnObject;
 
             $properties = array(); // clear value
                             'propertyNames' => $propertyNames,
                         );
                     }
-                    // not a refrence object read name value properties from byte stream
+                    // not a reference object read name value properties from byte stream
                     do {
                         $property = $this->readString();
                         if ($property != "") {
                         for($i=0; $i< $count; $i++) {
                             $propertyNames[] = $this->readString();
                         }
-                        // Add a refrence to the class.
+                        // Add a reference to the class.
                         $this->_referenceDefinitions[] = array(
                             'className'     => $className,
                             'encoding'      => $encoding,

www/system/library/Zend/Amf/Parse/Serializer.php

  * @subpackage Parse
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Serializer.php 20096 2010-01-06 02:05:09Z bkarwin $
+ * @version    $Id: Serializer.php 21209 2010-02-27 10:37:15Z yoshida@zend.co.jp $
  */
 
 /**
 abstract class Zend_Amf_Parse_Serializer
 {
     /**
-     * Refrence to the current output stream being constructed
+     * Reference to the current output stream being constructed
      *
      * @var string
      */

www/system/library/Zend/Amf/Server.php

  * @package    Zend_Amf
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Server.php 20096 2010-01-06 02:05:09Z bkarwin $
+ * @version    $Id: Server.php 21209 2010-02-27 10:37:15Z yoshida@zend.co.jp $
  */
 
 /** @see Zend_Server_Interface */
  * An AMF gateway server implementation to allow the connection of the Adobe Flash Player to
  * Zend Framework
  *
- * @todo       Make the relection methods cache and autoload.
+ * @todo       Make the reflection methods cache and autoload.
  * @package    Zend_Amf
  * @subpackage Server
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
     protected $_session = false;
 
     /**
-     * Namespace allows all AMF calls to not clobber other php session variables
+     * Namespace allows all AMF calls to not clobber other PHP session variables
      * @var Zend_Session_NameSpace default session namespace zend_amf
      */
     protected $_sesionNamespace = 'zend_amf';
      * 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
+     * @param string $function Function or method being accessed
      * @return unknown_type
      */
     protected function _checkAcl($object, $function)
     }
 
     /**
-     * Handle AMF authenticaton
+     * Handle AMF authentication
      *
      * @param string $userid
      * @param string $password
         // create a response object to place the output from the services.
         $response = $this->getResponse();
 
-        // set reponse encoding
+        // set response encoding
         $response->setObjectEncoding($objectEncoding);
 
         $responseBody = $request->getAmfBodies();
     }
 
     /**
-     * Public access method to private Zend_Amf_Server_Response refrence
+     * Public access method to private Zend_Amf_Server_Response reference
      *
      * @param  string|Zend_Amf_Server_Response $response
      * @return Zend_Amf_Server
     }
 
     /**
-     * get a refrence to the Zend_Amf_response instance
+     * get a reference to the Zend_Amf_response instance
      *
      * @return Zend_Amf_Server_Response
      */

www/system/library/Zend/Amf/Util/BinaryStream.php

  * @subpackage Util
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: BinaryStream.php 20124 2010-01-07 17:59:01Z mabe $
+ * @version    $Id: BinaryStream.php 21209 2010-02-27 10:37:15Z yoshida@zend.co.jp $
  */
 
 /**
     /**
      * Constructor
      *
-     * Create a refrence to a byte stream that is going to be parsed or created
+     * Create a reference 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.
      *

www/system/library/Zend/Application/Resource/Dojo.php

  * @subpackage Resource
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Dojo.php 20814 2010-02-01 20:13:08Z freak $
+ * @version    $Id: Dojo.php 21318 2010-03-04 13:20:01Z freak $
  */
 
 /**

www/system/library/Zend/Auth/Adapter/Ldap.php

  * @subpackage Zend_Auth_Adapter
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Ldap.php 21008 2010-02-09 14:03:19Z sgehrig $
+ * @version    $Id: Ldap.php 21319 2010-03-04 16:02:16Z sgehrig $
  */
 
 /**
                  * @see Zend_Auth_Adapter_Exception
                  */
                 require_once 'Zend/Auth/Adapter/Exception.php';
-                throw new Zend_Auth_Adapter_Exception('Adapter options array not in array');
+                throw new Zend_Auth_Adapter_Exception('Adapter options array not an array');
             }
             $adapterOptions = $this->_prepareOptions($ldap, $options);
             $dname = '';

www/system/library/Zend/Barcode/Renderer/Pdf.php

  * @subpackage Renderer
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Pdf.php 20096 2010-01-06 02:05:09Z bkarwin $
+ * @version    $Id: Pdf.php 21384 2010-03-08 18:48:19Z mikaelkael $
  */
 
 /** @see Zend_Barcode_Renderer_RendererAbstract */
             }
         }
 
-        $color = new Zend_Pdf_Color_RGB(
+        $color = new Zend_Pdf_Color_Rgb(
             ($color & 0xFF0000) >> 16,
             ($color & 0x00FF00) >> 8,
             $color & 0x0000FF
         $orientation = 0
     ) {
         $page  = $this->_resource->pages[$this->_page];
-        $color = new Zend_Pdf_Color_RGB(
+        $color = new Zend_Pdf_Color_Rgb(
             ($color & 0xFF0000) >> 16,
             ($color & 0x00FF00) >> 8,
             $color & 0x0000FF

www/system/library/Zend/Barcode/Renderer/RendererAbstract.php

  * @subpackage Renderer
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: RendererAbstract.php 20314 2010-01-15 21:59:24Z mikaelkael $
+ * @version    $Id: RendererAbstract.php 21383 2010-03-08 18:44:42Z mikaelkael $
  */
 
 /**
 
     /**
      * Barcode object
-     * @var Zend_Barcode_Object
+     * @var Zend_Barcode_Object_ObjectAbstract
      */
     protected $_barcode;
 

www/system/library/Zend/Cache/Backend/File.php

  * @subpackage Zend_Cache_Backend
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: File.php 20096 2010-01-06 02:05:09Z bkarwin $
+ * @version    $Id: File.php 21221 2010-02-28 02:30:51Z mabe $
  */
 
 /**
             $this->setCacheDir(self::getTmpDir() . DIRECTORY_SEPARATOR, false);
         }
         if (isset($this->_options['file_name_prefix'])) { // particular case for this option
-            if (!preg_match('~^[\w]+$~', $this->_options['file_name_prefix'])) {
-                Zend_Cache::throwException('Invalid file_name_prefix : must use only [a-zA-A0-9_]');
+            if (!preg_match('~^[a-zA-Z0-9_]+$~D', $this->_options['file_name_prefix'])) {
+                Zend_Cache::throwException('Invalid file_name_prefix : must use only [a-zA-Z0-9_]');
             }
         }
         if ($this->_options['metadatas_array_max_size'] < 10) {

www/system/library/Zend/Cache/Backend/Memcached.php

  * @subpackage Zend_Cache_Backend
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Memcached.php 20590 2010-01-25 00:12:10Z mabe $
+ * @version    $Id: Memcached.php 21519 2010-03-16 17:46:38Z mabe $
  */
 
 
      */
     public function remove($id)
     {
-        return $this->_memcache->delete($id);
+        return $this->_memcache->delete($id, 0);
     }
 
     /**
     {
         $mems = $this->_memcache->getExtendedStats();
 
-        $memSize = 0;
-        $memUsed = 0;
+        $memSize = null;
+        $memUsed = null;
         foreach ($mems as $key => $mem) {
-            if ($mem === false || !$mem['limit_maxbytes']) {
+            if ($mem === false) {
                 $this->_log('can\'t get stat from ' . $key);
                 continue;
             }
             $memUsed += $eachUsed;
         }
 
-        if (!$memSize || !$memUsed) {
+        if ($memSize === null || $memUsed === null) {
             Zend_Cache::throwException('Can\'t get filling percentage');
         }
 

www/system/library/Zend/Cache/Backend/Test.php

  * @subpackage Zend_Cache_Backend
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Test.php 20378 2010-01-18 14:38:21Z mabe $
+ * @version    $Id: Test.php 21279 2010-03-01 13:40:11Z mabe $
  */
 
 
 /**
  * @see Zend_Cache_Backend_Interface
  */
-require_once 'Zend/Cache/Backend/Interface.php';
+require_once 'Zend/Cache/Backend/ExtendedInterface.php';
 
 /**
  * @see Zend_Cache_Backend
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
-class Zend_Cache_Backend_Test extends Zend_Cache_Backend implements Zend_Cache_Backend_Interface
+class Zend_Cache_Backend_Test extends Zend_Cache_Backend implements Zend_Cache_Backend_ExtendedInterface
 {
     /**
      * Available options
     }
 
     /**
+     * Return an array of stored cache ids
+     *
+     * @return array array of stored cache ids (string)
+     */
+    public function getIds()
+    {
+        return array(
+            'prefix_id1', 'prefix_id2'
+        );
+    }
+
+    /**
+     * Return an array of stored tags
+     *
+     * @return array array of stored tags (string)
+     */
+    public function getTags()
+    {
+        return array(
+            'tag1', 'tag2'
+        );
+    }
+
+    /**
+     * Return an array of stored cache ids which match given tags
+     *
+     * In case of multiple tags, a logical AND is made between tags
+     *
+     * @param array $tags array of tags
+     * @return array array of matching cache ids (string)
+     */
+    public function getIdsMatchingTags($tags = array())
+    {
+        if ($tags == array('tag1', 'tag2')) {
+            return array('prefix_id1', 'prefix_id2');
+        }
+
+        return array();
+    }
+
+    /**
+     * Return an array of stored cache ids which don't match given tags
+     *
+     * In case of multiple tags, a logical OR is made between tags
+     *
+     * @param array $tags array of tags
+     * @return array array of not matching cache ids (string)
+     */
+    public function getIdsNotMatchingTags($tags = array())
+    {
+        if ($tags == array('tag3', 'tag4')) {
+            return array('prefix_id3', 'prefix_id4');
+        }
+
+        return array();
+    }
+
+    /**
+     * Return an array of stored cache ids which match any given tags
+     *
+     * In case of multiple tags, a logical AND is made between tags
+     *
+     * @param array $tags array of tags
+     * @return array array of any matching cache ids (string)
+     */
+    public function getIdsMatchingAnyTags($tags = array())
+    {
+        if ($tags == array('tag5', 'tag6')) {
+            return array('prefix_id5', 'prefix_id6');
+        }
+
+        return array();
+    }
+
+    /**
+     * Return the filling percentage of the backend storage
+     *
+     * @return int integer between 0 and 100
+     */
+    public function getFillingPercentage()
+    {
+        return 50;
+    }
+
+    /**
+     * Return an array of metadatas for the given cache id
+     *
+     * The array must include these keys :
+     * - expire : the expire timestamp
+     * - tags : a string array of tags
+     * - mtime : timestamp of last modification time
+     *
+     * @param string $id cache id
+     * @return array array of metadatas (false if the cache id is not found)
+     */
+    public function getMetadatas($id)
+    {
+        return false;
+    }
+
+    /**
+     * Give (if possible) an extra lifetime to the given cache id
+     *
+     * @param string $id cache id
+     * @param int $extraLifetime
+     * @return boolean true if ok
+     */
+    public function touch($id, $extraLifetime)
+    {
+        return true;
+    }
+
+    /**
+     * Return an associative array of capabilities (booleans) of the backend
+     *
+     * The array must include these keys :
+     * - automatic_cleaning (is automating cleaning necessary)
+     * - tags (are tags supported)
+     * - expired_read (is it possible to read expired cache records
+     *                 (for doNotTestCacheValidity option for example))
+     * - priority does the backend deal with priority when saving
+     * - infinite_lifetime (is infinite lifetime can work with this backend)
+     * - get_list (is it possible to get the list of cache ids and the complete list of tags)
+     *
+     * @return array associative of with capabilities
+     */
+    public function getCapabilities()
+    {
+        return array(
+            'automatic_cleaning' => true,
+            'tags'               => true,
+            'expired_read'       => false,
+            'priority'           => true,
+            'infinite_lifetime'  => true,
+            'get_list'           => true
+        );
+    }
+
+    /**
      * Add an event to the log array
      *
      * @param  string $methodName MethodName

www/system/library/Zend/Cache/Core.php

  * @package    Zend_Cache
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Core.php 20929 2010-02-05 14:35:13Z padraic $
+ * @version    $Id: Core.php 21280 2010-03-01 13:47:54Z mabe $
  */
 
 
         if (!($this->_backendCapabilities['tags'])) {
             Zend_Cache::throwException(self::BACKEND_NOT_SUPPORT_TAG);
         }
-        return $this->_backend->getIdsMatchingTags($tags);
+
+        $ids = $this->_backend->getIdsMatchingTags($tags);
+
+        // we need to remove cache_id_prefix from ids (see #ZF-6178, #ZF-7600)
+        if (isset($this->_options['cache_id_prefix']) && $this->_options['cache_id_prefix'] !== '') {
+            $prefix    = & $this->_options['cache_id_prefix'];
+            $prefixLen = strlen($prefix);
+            foreach ($ids as &$id) {
+                if (strpos($id, $prefix) === 0) {
+                    $id = substr($id, $prefixLen);
+                }
+            }
+        }
+
+        return $ids;
     }
 
     /**
         if (!($this->_backendCapabilities['tags'])) {
             Zend_Cache::throwException(self::BACKEND_NOT_SUPPORT_TAG);
         }
-        return $this->_backend->getIdsNotMatchingTags($tags);
+
+        $ids = $this->_backend->getIdsNotMatchingTags($tags);
+
+        // we need to remove cache_id_prefix from ids (see #ZF-6178, #ZF-7600)
+        if (isset($this->_options['cache_id_prefix']) && $this->_options['cache_id_prefix'] !== '') {
+            $prefix    = & $this->_options['cache_id_prefix'];
+            $prefixLen = strlen($prefix);
+            foreach ($ids as &$id) {
+                if (strpos($id, $prefix) === 0) {
+                    $id = substr($id, $prefixLen);
+                }
+            }
+        }
+
+        return $ids;
     }
 
     /**
         if (!($this->_backendCapabilities['tags'])) {
             Zend_Cache::throwException(self::BACKEND_NOT_SUPPORT_TAG);
         }
-        return $this->_backend->getIdsMatchingAnyTags($tags);
+
+        $ids = $this->_backend->getIdsMatchingAnyTags($tags);
+
+        // we need to remove cache_id_prefix from ids (see #ZF-6178, #ZF-7600)
+        if (isset($this->_options['cache_id_prefix']) && $this->_options['cache_id_prefix'] !== '') {
+            $prefix    = & $this->_options['cache_id_prefix'];
+            $prefixLen = strlen($prefix);
+            foreach ($ids as &$id) {
+                if (strpos($id, $prefix) === 0) {
+                    $id = substr($id, $prefixLen);
+                }
+            }
+        }
+
+        return $ids;
     }
 
     /**
         if (!$this->_extendedBackend) {
             Zend_Cache::throwException(self::BACKEND_NOT_IMPLEMENTS_EXTENDED_IF);
         }
-        $array = $this->_backend->getIds();
-        if ((!isset($this->_options['cache_id_prefix'])) || ($this->_options['cache_id_prefix'] == '')) return $array;
-        // we need to remove cache_id_prefix from ids (see #ZF-6178)
-        $res = array();
-        while (list(,$id) = each($array)) {
-            if (strpos($id, $this->_options['cache_id_prefix']) === 0) {
-                $res[] = preg_replace("~^{$this->_options['cache_id_prefix']}~", '', $id);
-            } else {
-                $res[] = $id;
+
+        $ids = $this->_backend->getIds();
+
+        // we need to remove cache_id_prefix from ids (see #ZF-6178, #ZF-7600)
+        if (isset($this->_options['cache_id_prefix']) && $this->_options['cache_id_prefix'] !== '') {
+            $prefix    = & $this->_options['cache_id_prefix'];
+            $prefixLen = strlen($prefix);
+            foreach ($ids as &$id) {
+                if (strpos($id, $prefix) === 0) {
+                    $id = substr($id, $prefixLen);
+                }
             }
         }
-        return $res;
+
+        return $ids;
     }
 
     /**
         if (substr($string, 0, 9) == 'internal-') {
             Zend_Cache::throwException('"internal-*" ids or tags are reserved');
         }
-        if (!preg_match('~^[\w]+$~D', $string)) {
+        if (!preg_match('~^[a-zA-Z0-9_]+$~D', $string)) {
             Zend_Cache::throwException("Invalid id or tag '$string' : must use only [a-zA-Z0-9_]");
         }
     }

www/system/library/Zend/Controller/Dispatcher/Standard.php

 
         $controllerDirs      = $this->getControllerDirectory();
         $module = $request->getModuleName();
-
         if ($this->isValidModule($module)) {
             $this->_curModule    = $module;
             $this->_curDirectory = $controllerDirs[$module];

www/system/library/Zend/Controller/Response/Abstract.php

  * @package    Zend_Controller
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Abstract.php 20096 2010-01-06 02:05:09Z bkarwin $
+ * @version    $Id: Abstract.php 21301 2010-03-02 23:01:19Z yoshida@zend.co.jp $
  */
 
 /**
         return $this;
     }
 
-	/**
-	 * Clears the specified HTTP header
-	 *
-	 * @param  string $name
-	 * @return Zend_Controller_Response_Abstract
-	 */
-	public function clearHeader($name)
-	{
-		if (! count($this->_headers)) {
-			return $this;
-		}
+    /**
+     * Clears the specified HTTP header
+     *
+     * @param  string $name
+     * @return Zend_Controller_Response_Abstract
+     */
+    public function clearHeader($name)
+    {
+        if (! count($this->_headers)) {
+            return $this;
+        }
 
-		foreach ($this->_headers as $index => $header) {
-			if ($name == $header['name']) {
-				unset($this->_headers[$index]);
-			}
-		}
+        foreach ($this->_headers as $index => $header) {
+            if ($name == $header['name']) {
+                unset($this->_headers[$index]);
+            }
+        }
 
-		return $this;
-	}
+        return $this;
+    }
 
     /**
      * Set raw HTTP header
         return $this;
     }
 
-	/**
-	 * Clears the specified raw HTTP header
-	 *
-	 * @param  string $headerRaw
-	 * @return Zend_Controller_Response_Abstract
-	 */
-	public function clearRawHeader($headerRaw)
-	{
-		if (! count($this->_headersRaw)) {
-			return $this;
-		}
+    /**
+     * Clears the specified raw HTTP header
+     *
+     * @param  string $headerRaw
+     * @return Zend_Controller_Response_Abstract
+     */
+    public function clearRawHeader($headerRaw)
+    {
+        if (! count($this->_headersRaw)) {
+            return $this;
+        }
 
-		$key = array_search($headerRaw, $this->_headersRaw);
-		unset($this->_headersRaw[$key]);
+        $key = array_search($headerRaw, $this->_headersRaw);
+        unset($this->_headersRaw[$key]);
 
-		return $this;
-	}
+        return $this;
+    }
 
     /**
      * Clear all headers, normal and raw

www/system/library/Zend/Currency.php

  * @package   Zend_Currency
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd     New BSD License
- * @version   $Id: Currency.php 21058 2010-02-15 21:30:13Z thomas $
+ * @version   $Id: Currency.php 21608 2010-03-22 21:42:59Z thomas $
  */
 
 /**
     public function __construct($options = null, $locale = null)
     {
         if (is_array($options)) {
+            $this->setLocale($locale);
             $this->setFormat($options);
         } else if (Zend_Locale::isLocale($options, false, false)) {
-            $temp    = $locale;
-            $locale  = $options;
-            $options = $temp;
+            $this->setLocale($options);
+            $options = $locale;
+        } else {
+            $this->setLocale($locale);
         }
 
-        $this->setLocale($locale);
         // Get currency details
         if (!isset($this->_options['currency']) || !is_array($options)) {
             $this->_options['currency'] = self::getShortName($options, $this->_options['locale']);
     protected function _exchangeCurrency($value, $currency)
     {
         if ($value instanceof Zend_Currency) {
-            $value = $value->getValue();
+            $currency = $value->getShortName();
+            $value    = $value->getValue();
+        } else {
+            $currency = $this->getShortName($currency);
         }
 
-        $currency = $this->getShortName($currency);
-        $rate     = 1;
+        $rate = 1;
         if ($currency !== $this->getShortName()) {
             $service = $this->getService();
             if (!($service instanceof Zend_Currency_CurrencyInterface)) {
 
                 case 'format':
                     if ((empty($value) === false) and (Zend_Locale::isLocale($value, null, false) === false)) {
-                        require_once 'Zend/Currency/Exception.php';
-                        throw new Zend_Currency_Exception("'" .
-                            ((gettype($value) === 'object') ? get_class($value) : $value)
-                            . "' is not a known locale.");
+                        if (!is_string($value) || (strpos($value, '0') === false)) {
+                            require_once 'Zend/Currency/Exception.php';
+                            throw new Zend_Currency_Exception("'" .
+                                ((gettype($value) === 'object') ? get_class($value) : $value)
+                                . "' is no format token");
+                        }
                     }
                     break;
 

www/system/library/Zend/Date.php

  * @package   Zend_Date
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd     New BSD License
- * @version   $Id: Date.php 20935 2010-02-05 22:34:26Z thomas $
+ * @version   $Id: Date.php 21281 2010-03-01 21:38:59Z thomas $
  */
 
 /**
                     throw new Zend_Date_Exception($e->getMessage(), 0, $e);
                 }
             }
+
+            if (!array_key_exists('hour', $parsed)) {
+                $parsed['hour'] = 0;
+            }
+
+            if (!array_key_exists('minute', $parsed)) {
+                $parsed['minute'] = 0;
+            }
+
+            if (!array_key_exists('second', $parsed)) {
+                $parsed['second'] = 0;
+            }
+
             $time  = str_pad($parsed['hour'], 2, '0', STR_PAD_LEFT) . ":";
             $time .= str_pad($parsed['minute'], 2, '0', STR_PAD_LEFT) . ":";
             $time .= str_pad($parsed['second'], 2, '0', STR_PAD_LEFT);
         if ($calc != 'cmp') {
             return $this;
         }
+
         return $return;
     }
 
                     throw new Zend_Date_Exception($e->getMessage(), 0, $e);
                 }
             }
+
+            if (!array_key_exists('day', $parsed)) {
+                $parsed['day'] = 1;
+            }
+
+            if (!array_key_exists('month', $parsed)) {
+                $parsed['month'] = 1;
+            }
+
+            if (!array_key_exists('year', $parsed)) {
+                $parsed['year'] = 0;
+            }
+
             $date  = $parsed['day'] . "." . $parsed['month'] . "." . $parsed['year'];
         }
 

www/system/library/Zend/Dojo/View/Helper/Dojo/Container.php

  * @package    Zend_Dojo
  * @subpackage View
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
- * @version    $Id: Container.php 20143 2010-01-08 15:17:11Z matthew $
+ * @version    $Id: Container.php 21331 2010-03-04 23:20:56Z freak $
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
 
                 case 'registerdojostylesheet':
                     $this->registerDojoStylesheet($value);
                     break;
+                case 'enable':
+                    if($value) {
+                        $this->enable();
+                    } else {
+                        $this->disable();
+                    }
             }
         }
 

www/system/library/Zend/Feed/Pubsubhubbub/Subscriber/Callback.php

  * @package    Zend_Feed_Pubsubhubbub
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Callback.php 20785 2010-01-31 09:43:03Z mikaelkael $
+ * @version    $Id: Callback.php 21234 2010-02-28 13:51:41Z padraic $
  */
 
 /**
             && $this->_hasValidVerifyToken(null, false)
             && ($this->_getHeader('Content-Type') == 'application/atom+xml'
                 || $this->_getHeader('Content-Type') == 'application/rss+xml'
+                || $this->_getHeader('Content-Type') == 'application/xml'
+                || $this->_getHeader('Content-Type') == 'text/xml'
                 || $this->_getHeader('Content-Type') == 'application/rdf+xml')
         ) {
             $this->setFeedUpdate($this->_getRawBody());

www/system/library/Zend/File/Transfer/Adapter/Abstract.php

  * @package   Zend_File_Transfer
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd     New BSD License
- * @version   $Id: Abstract.php 21038 2010-02-12 20:47:01Z thomas $
+ * @version   $Id: Abstract.php 21467 2010-03-11 21:21:23Z thomas $
  */
 
 /**
             if (array_key_exists('validators', $content) &&
                 in_array('Zend_Validate_File_Count', $content['validators'])) {
                 $validator = $this->_validators['Zend_Validate_File_Count'];
+                $count     = $content;
+                if (empty($content['tmp_name'])) {
+                    continue;
+                }
+
                 if (array_key_exists('destination', $content)) {
                     $checkit = $content['destination'];
                 } else {
                 }
 
                 $checkit .= DIRECTORY_SEPARATOR . $content['name'];
-                $validator->addFile($checkit);
-                $count = $content;
+                    $validator->addFile($checkit);
             }
         }
 
         $destination = rtrim($destination, "/\\");
         if (!is_dir($destination)) {
             require_once 'Zend/File/Transfer/Exception.php';
-            throw new Zend_File_Transfer_Exception('The given destination is no directory or does not exist');
+            throw new Zend_File_Transfer_Exception('The given destination is not a directory or does not exist');
         }
 
         if (!is_writable($destination)) {
                 $destinations[$orig] = $this->_files[$orig]['destination'];
             } else {
                 require_once 'Zend/File/Transfer/Exception.php';
-                throw new Zend_File_Transfer_Exception(sprintf('"%s" not found by file transfer adapter', $orig));
+                throw new Zend_File_Transfer_Exception(sprintf('The file transfer adapter can not find "%s"', $orig));
             }
         }
 
                 $result[$key] = hash_file($hash, $value['tmp_name']);
             } else if (empty($value['options']['ignoreNoFile'])) {
                 require_once 'Zend/File/Transfer/Exception.php';
-                throw new Zend_File_Transfer_Exception("File '{$value['name']}' does not exist");
+                throw new Zend_File_Transfer_Exception("The file '{$value['name']}' does not exist");
             }
         }
 
                 }
             } else if (empty($value['options']['ignoreNoFile'])) {
                 require_once 'Zend/File/Transfer/Exception.php';
-                throw new Zend_File_Transfer_Exception("File '{$value['name']}' does not exist");
+                throw new Zend_File_Transfer_Exception("The file '{$value['name']}' does not exist");
             } else {
                 continue;
             }
                 $result[$key] = $value['type'];
             } else if (empty($value['options']['ignoreNoFile'])) {
                 require_once 'Zend/File/Transfer/Exception.php';
-                throw new Zend_File_Transfer_Exception("File '{$value['name']}' does not exist");
+                throw new Zend_File_Transfer_Exception("The file '{$value['name']}' does not exist");
             } else {
                 continue;
             }
         if (class_exists('finfo', false)) {
             $const = defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME;
             if (!empty($value['options']['magicFile'])) {
-                $mime = new finfo($const, $value['options']['magicFile']);
-            } else {
-                $mime = new finfo($const);
+                $mime = @finfo_open($const, $value['options']['magicFile']);
+            }
+
+            if (empty($mime)) {
+                $mime = @finfo_open($const);
             }
 
             if ($mime !== false) {
-                $result = $mime->file($file);
+                $result = finfo_file($mime, $file);
             }
 
             unset($mime);
                     unlink($tempFile);
                 } else {
                     require_once 'Zend/File/Transfer/Exception.php';
-                    throw new Zend_File_Transfer_Exception('Could not determine temp directory');
+                    throw new Zend_File_Transfer_Exception('Could not determine a temporary directory');
                 }
             }
 
                     }
 
                     require_once 'Zend/File/Transfer/Exception.php';
-                    throw new Zend_File_Transfer_Exception(sprintf('"%s" not found by file transfer adapter', $find));
+                    throw new Zend_File_Transfer_Exception(sprintf('The file transfer adapter can not find "%s"', $find));
                 }
 
                 foreach ($found as $checked) {

www/system/library/Zend/Filter/Encrypt/Mcrypt.php

  * @package    Zend_Filter
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Mcrypt.php 20132 2010-01-07 21:33:50Z ralph $
+ * @version    $Id: Mcrypt.php 21212 2010-02-27 17:33:27Z thomas $
  */
 
 /**
         'salt'                => false
     );
 
+    /**
+     * Internal compression
+     *
+     * @var array
+     */
+    protected $_compression;
+
     protected static $_srandCalled = false;
-    
+
     /**
      * Class constructor
      *
             throw new Zend_Filter_Exception('Invalid options argument provided to filter');
         }
 
+        if (array_key_exists('compression', $options)) {
+            $this->setCompression($options['compression']);
+            unset($options['compress']);
+        }
+
         $this->setEncryption($options);
     }
 
     }
 
     /**
+     * Returns the compression
+     *
+     * @return array
+     */
+    public function getCompression()
+    {
+        return $this->_compression;
+    }
+
+    /**
+     * Sets a internal compression for values to encrypt
+     *
+     * @param string|array $compression
+     * @return Zend_Filter_Encrypt_Mcrypt
+     */
+    public function setCompression($compression)
+    {
+        if (is_string($this->_compression)) {
+            $compression = array('adapter' => $compression);
+        }
+
+        $this->_compression = $compression;
+        return $this;
+    }
+
+    /**
      * Defined by Zend_Filter_Interface
      *
-     * Encrypts the file $value with the defined settings
+     * Encrypts $value with the defined settings
      *
-     * @param  string $value Full path of file to change
-     * @return string The filename which has been set, or false when there were errors
+     * @param  string $value The content to encrypt
+     * @return string The encrypted content
      */
     public function encrypt($value)
     {
+        // compress prior to encryption
+        if (!empty($this->_compression)) {
+            require_once 'Zend/Filter/Compress.php';
+            $compress = new Zend_Filter_Compress($this->_compression);
+            $value    = $compress->filter($value);
+        }
+
         $cipher  = $this->_openCipher();
         $this->_initCipher($cipher);
         $encrypted = mcrypt_generic($cipher, $value);
     /**
      * Defined by Zend_Filter_Interface
      *
-     * Decrypts the file $value with the defined settings
+     * Decrypts $value with the defined settings
      *
-     * @param  string $value Full path of file to change
-     * @return string The filename which has been set, or false when there were errors
+     * @param  string $value Content to decrypt
+     * @return string The decrypted content
      */
     public function decrypt($value)
     {
         mcrypt_generic_deinit($cipher);
         $this->_closeCipher($cipher);
 
+        // decompress after decryption
+        if (!empty($this->_compression)) {
+            require_once 'Zend/Filter/Decompress.php';
+            $decompress = new Zend_Filter_Decompress($this->_compression);
+            $decrypted  = $decompress->filter($decrypted);
+        }
+
         return $decrypted;
     }
 
 
         return $this;
     }
-    
+
     /**
      * _srand() interception
-     * 
+     *
      * @see ZF-8742
      */
     protected function _srand()
         if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
             return;
         }
-        
+
         if (!self::$_srandCalled) {
             srand((double) microtime() * 1000000);
             self::$_srandCalled = true;

www/system/library/Zend/Filter/Encrypt/Openssl.php

  * @package    Zend_Filter
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Openssl.php 20288 2010-01-14 20:15:43Z thomas $
+ * @version    $Id: Openssl.php 21212 2010-02-27 17:33:27Z thomas $
  */
 
 /**
     protected $_passphrase;
 
     /**
+     * Internal compression
+     *
+     * @var array
+     */
+    protected $_compression;
+
+    /**
+     * Internal create package
+     *
+     * @var boolean
+     */
+    protected $_package = false;
+
+    /**
      * Class constructor
      * Available options
-     *   'public'     => public key
-     *   'private'    => private key
-     *   'envelope'   => envelope key
-     *   'passphrase' => passphrase
+     *   'public'      => public key
+     *   'private'     => private key
+     *   'envelope'    => envelope key
+     *   'passphrase'  => passphrase
+     *   'compression' => compress value with this compression adapter
+     *   'package'     => pack envelope keys into encrypted string, simplifies decryption
      *
      * @param string|array $options Options for this adapter
      */
             unset($options['passphrase']);
         }
 
+        if (array_key_exists('compression', $options)) {
+            $this->setCompression($options['compression']);
+            unset($options['compress']);
+        }
+
+        if (array_key_exists('package', $options)) {
+            $this->setPackage($options['package']);
+            unset($options['package']);
+        }
+
         $this->_setKeys($options);
     }
 
      */
     public function getPublicKey()
     {
-        return $this->_keys['public'];
+        $key = $this->_keys['public'];
+        return $key;
     }
 
     /**
      */
     public function getPrivateKey()
     {
-        return $this->_keys['private'];
+        $key = $this->_keys['private'];
+        return $key;
     }
 
     /**
      */
     public function getEnvelopeKey()
     {
-        return $this->_keys['envelope'];
+        $key = $this->_keys['envelope'];
+        return $key;
     }
 
     /**
     }
 
     /**
-     * Encrypts the file $value with the defined settings
+     * Returns the compression
+     *
+     * @return array
+     */
+    public function getCompression()
+    {
+        return $this->_compression;
+    }
+
+    /**
+     * Sets a internal compression for values to encrypt
+     *
+     * @param string|array $compression
+     * @return Zend_Filter_Encrypt_Openssl
+     */
+    public function setCompression($compression)
+    {
+        if (is_string($this->_compression)) {
+            $compression = array('adapter' => $compression);
+        }
+
+        $this->_compression = $compression;
+        return $this;
+    }
+
+    /**
+     * Returns if header should be packaged
+     *
+     * @return boolean
+     */
+    public function getPackage()
+    {
+        return $this->_package;
+    }
+
+    /**
+     * Sets if the envelope keys should be included in the encrypted value
+     *
+     * @param boolean $package
+     * @return Zend_Filter_Encrypt_Openssl
+     */
+    public function setPackage($package)
+    {
+        $this->_package = (boolean) $package;
+        return $this;
+    }
+
+    /**
+     * Encrypts $value with the defined settings
      * Note that you also need the "encrypted" keys to be able to decrypt
      *
      * @param  string $value Content to encrypt
             throw new Zend_Filter_Exception('Openssl can not encrypt without public keys');
         }
 
+        $keys         = array();
+        $fingerprints = array();
+        $count        = -1;
         foreach($this->_keys['public'] as $key => $cert) {
             $keys[$key] = openssl_pkey_get_public($cert);
+            if ($this->_package) {
+                $details = openssl_pkey_get_details($keys[$key]);
+                if ($details === false) {
+                    $details = array('key' => 'ZendFramework');
+                }
+
+                ++$count;
+                $fingerprints[$count] = md5($details['key']);
+            }
+        }
+
+        // compress prior to encryption
+        if (!empty($this->_compression)) {
+            require_once 'Zend/Filter/Compress.php';
+            $compress = new Zend_Filter_Compress($this->_compression);
+            $value    = $compress->filter($value);
         }
 
         $crypt  = openssl_seal($value, $encrypted, $encryptedkeys, $keys);
 
         if ($crypt === false) {
             require_once 'Zend/Filter/Exception.php';
-            throw new Zend_Filter_Exception('Openssl was not able to encrypt you content with the given options');
+            throw new Zend_Filter_Exception('Openssl was not able to encrypt your content with the given options');
         }
 
         $this->_keys['envelope'] = $encryptedkeys;
+
+        // Pack data and envelope keys into single string
+        if ($this->_package) {
+            $header = pack('n', count($this->_keys['envelope']));
+            foreach($this->_keys['envelope'] as $key => $envKey) {
+                $header .= pack('H32n', $fingerprints[$key], strlen($envKey)) . $envKey;
+            }
+
+            $encrypted = $header . $encrypted;
+        }
+
         return $encrypted;
     }
 
     /**
      * Defined by Zend_Filter_Interface
      *
-     * Decrypts the file $value with the defined settings
+     * Decrypts $value with the defined settings
      *
      * @param  string $value Content to decrypt
      * @return string The decrypted content
 
         if (count($this->_keys['private']) !== 1) {
             require_once 'Zend/Filter/Exception.php';
-            throw new Zend_Filter_Exception('Openssl can only decrypt with one private key');
+            throw new Zend_Filter_Exception('Please give a private key for decryption with Openssl');
         }
 
-        if (empty($envelope)) {
+        if (!$this->_package && empty($envelope)) {
             require_once 'Zend/Filter/Exception.php';
-            throw new Zend_Filter_Exception('Openssl can only decrypt with one envelope key');
+            throw new Zend_Filter_Exception('Please give a envelope key for decryption with Openssl');
         }
 
         foreach($this->_keys['private'] as $key => $cert) {
             $keys = openssl_pkey_get_private($cert, $this->getPassphrase());
         }
 
+        if ($this->_package) {
+            $details = openssl_pkey_get_details($keys);
+            if ($details !== false) {
+                $fingerprint = md5($details['key']);
+            } else {
+                $fingerprint = md5("ZendFramework");
+            }
+
+            $count = unpack('ncount', $value);
+            $count = $count['count'];
+            $length  = 2;
+            for($i = $count; $i > 0; --$i) {
+                $header = unpack('H32print/nsize', substr($value, $length, 18));
+                $length  += 18;
+                if ($header['print'] == $fingerprint) {
+                    $envelope = substr($value, $length, $header['size']);
+                }
+
+                $length += $header['size'];
+            }
+
+            // remainder of string is the value to decrypt
+            $value = substr($value, $length);
+        }
+
         $crypt  = openssl_open($value, $decrypted, $envelope, $keys);
         openssl_free_key($keys);
 
             throw new Zend_Filter_Exception('Openssl was not able to decrypt you content with the given options');
         }
 
+        // decompress after decryption
+        if (!empty($this->_compression)) {
+            require_once 'Zend/Filter/Decompress.php';
+            $decompress = new Zend_Filter_Decompress($this->_compression);
+            $decrypted  = $decompress->filter($decrypted);
+        }
+
         return $decrypted;
     }
 

www/system/library/Zend/Filter/Inflector.php

  * @package    Zend_Filter
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Inflector.php 20096 2010-01-06 02:05:09Z bkarwin $
+ * @version    $Id: Inflector.php 21371 2010-03-07 19:56:01Z thomas $
  */
 
 /**
     /**
      * Constructor
      *
-     * @param string $target
-     * @param array $rules
+     * @param string|array $options Options to set
      */
-    public function __construct($target = null, Array $rules = array(), $throwTargetExceptionsOn = null, $targetReplacementIdentifer = null)
+    public function __construct($options = null)
     {
-        if ($target instanceof Zend_Config) {
-            $this->setConfig($target);
-        } else {
-            if ((null !== $target) && is_string($target)) {
-                $this->setTarget($target);
+        if ($options instanceof Zend_Config) {
+            $options = $options->toArray();
+        } else if (!is_array($options)) {
+            $options = func_get_args();
+            $temp    = array();
+
+            if (!empty($options)) {
+                $temp['target'] = array_shift($options);
             }
 
-            if (null !== $rules) {
-                $this->addRules($rules);
+            if (!empty($options)) {
+                $temp['rules'] = array_shift($options);
             }
 
-            if ($throwTargetExceptionsOn !== null) {
-                $this->setThrowTargetExceptionsOn($throwTargetExceptionsOn);
+            if (!empty($options)) {
+                $temp['throwTargetExceptionsOn'] = array_shift($options);
             }
 
-            if ($targetReplacementIdentifer != '') {
-                $this->setTargetReplacementIdentifier($targetReplacementIdentifer);
+            if (!empty($options)) {
+                $temp['targetReplacementIdentifier'] = array_shift($options);
             }
+
+            $options = $temp;
         }
+
+        $this->setOptions($options);
     }
 
     /**
     /**
      * Use Zend_Config object to set object state
      *
+     * @deprecated Use setOptions() instead
      * @param  Zend_Config $config
      * @return Zend_Filter_Inflector
      */
     public function setConfig(Zend_Config $config)
     {
-        foreach ($config as $key => $value) {
-            switch ($key) {
-                case 'target':
-                    $this->setTarget($value);
-                    break;
-                case 'filterPrefixPath':
-                    if (is_scalar($value)) {
-                        break;
-                    }
-                    $paths = $value->toArray();
-                    foreach ($paths as $prefix => $path) {
-                        $this->addFilterPrefixPath($prefix, $path);
-                    }
-                    break;
-                case 'throwTargetExceptionsOn':
-                    $this->setThrowTargetExceptionsOn($value);
-                    break;
-                case 'targetReplacementIdentifier':
-                    $this->setTargetReplacementIdentifier($value);
-                    break;
-                case 'rules':
-                    $this->addRules($value->toArray());
-                    break;
-                default:
-                    break;
+        return $this->setOptions($config);
+    }
+
+    /**
+     * Set options
+     *
+     * @param  array $options
+     * @return Zend_Filter_Inflector
+     */
+    public function setOptions($options) {
+        if ($options instanceof Zend_Config) {
+            $options = $options->toArray();
+        }
+
+        // Set Präfix Path
+        if (array_key_exists('filterPrefixPath', $options)) {
+            if (!is_scalar($options['filterPrefixPath'])) {
+                foreach ($options['filterPrefixPath'] as $prefix => $path) {
+                    $this->addFilterPrefixPath($prefix, $path);
+                }
             }
         }
+
+        if (array_key_exists('throwTargetExceptionsOn', $options)) {
+            $this->setThrowTargetExceptionsOn($options['throwTargetExceptionsOn']);
+        }
+
+        if (array_key_exists('targetReplacementIdentifier', $options)) {
+            $this->setTargetReplacementIdentifier($options['targetReplacementIdentifier']);
+        }
+
+        if (array_key_exists('target', $options)) {
+            $this->setTarget($options['target']);
+        }
+
+        if (array_key_exists('rules', $options)) {
+            $this->addRules($options['rules']);
+        }
+
         return $this;
     }
 
      */
     public function setTargetReplacementIdentifier($targetReplacementIdentifier)
     {
-        $this->_targetReplacementIdentifier = (string) $targetReplacementIdentifier;
+        if ($targetReplacementIdentifier) {
+            $this->_targetReplacementIdentifier = (string) $targetReplacementIdentifier;
+        }
+
         return $this;
     }
 
 
         return $ruleObject;
     }
-
 }

www/system/library/Zend/Filter/StripTags.php

 <?php
+
 /**
  * Zend Framework
  *
  * @package    Zend_Filter
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: StripTags.php 20339 2010-01-16 18:22:12Z thomas $
+ * @version    $Id: StripTags.php 21552 2010-03-18 18:46:06Z thomas $
  */
 
 
 class Zend_Filter_StripTags implements Zend_Filter_Interface
 {
     /**
+     * Unique ID prefix used for allowing comments
+     */
+    const UNIQUE_ID_PREFIX = '__Zend_Filter_StripTags__';
+
+    /**
      * Whether comments are allowed
      *
      * If false (the default), then comments are removed from the input string.
      */
     public function filter($value)
     {
+        $value = (string) $value;
+
         // Strip HTML comments first
-        $valueCopy = preg_replace('#<!--(?:[^<]+|<(?!\!--))*?(--\s*>)#s', '', (string) $value);
+        while (strpos($value, '<!--') !== false) {
+            $pos   = strrpos($value, '<!--');
+            $start = substr($value, 0, $pos);
+            $value = substr($value, $pos);
+            $value = preg_replace('/<(?:!(?:--[\s\S]*?--\s*)?(>))/us', '',  $value);
+            $value = $start . $value;
+        }
 
         // Initialize accumulator for filtered data
         $dataFiltered = '';
         // Parse the input data iteratively as regular pre-tag text followed by a
         // tag; either may be empty strings
-        preg_match_all('/([^<]*)(<?[^>]*>?)/', (string) $valueCopy, $matches);
+        preg_match_all('/([^<]*)(<?[^>]*>?)/', (string) $value, $matches);
         // Iterate over each set of matches
         foreach ($matches[1] as $index => $preTag) {
             // If the pre-tag text is non-empty, strip any ">" characters from it

www/system/library/Zend/Form.php

  * @package    Zend_Form
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: Form.php 20096 2010-01-06 02:05:09Z bkarwin $
+ * @version    $Id: Form.php 21591 2010-03-21 11:33:17Z rob $
  */
 class Zend_Form implements Iterator, Countable, Zend_Validate_Interface
 {
         }
 
         foreach ($this->getElements() as $key => $element) {
-            $element->setTranslator($translator);
+            if (null !== $translator) {
+                $element->setTranslator($translator);
+            }
             if (!isset($data[$key])) {
                 $valid = $element->isValid(null, $data) && $valid;
             } else {

www/system/library/Zend/Gdata/App.php

  * @subpackage App
  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
- * @version    $Id: App.php 20096 2010-01-06 02:05:09Z bkarwin $
+ * @version    $Id: App.php 21361 2010-03-07 05:39:42Z rboyd $
  */
 
 /**
 
         // Set the params for the new request to be performed
         $this->_httpClient->setHeaders($headers);
-        $this->_httpClient->setUri($url);
+        $uri = Zend_Uri_Http::fromString($url);
+        preg_match("/^(.*?)(\?.*)?$/", $url, $matches);
+        $this->_httpClient->setUri($matches[1]);
+        $queryArray = $uri->getQueryAsArray();
+        foreach ($queryArray as $name => $value) { 
+          $this->_httpClient->setParameterGet($name, $value);
+        }
+
+
         $this->_httpClient->setConfig(array('maxredirects' => 0));
 
         // Set the proper adapter if we are handling a streaming upload
         $className='Zend_Gdata_App_Feed', $majorProtocolVersion = null,
         $minorProtocolVersion = null)
     {
+        if (!class_exists($className, false)) {
+          require_once 'Zend/Loader.php';