summaryrefslogtreecommitdiffstats
path: root/library/vendor/Zend/View/Helper
diff options
context:
space:
mode:
Diffstat (limited to 'library/vendor/Zend/View/Helper')
-rw-r--r--library/vendor/Zend/View/Helper/Abstract.php63
-rw-r--r--library/vendor/Zend/View/Helper/Action.php161
-rw-r--r--library/vendor/Zend/View/Helper/BaseUrl.php114
-rw-r--r--library/vendor/Zend/View/Helper/Cycle.php225
-rw-r--r--library/vendor/Zend/View/Helper/DeclareVars.php94
-rw-r--r--library/vendor/Zend/View/Helper/Doctype.php239
-rw-r--r--library/vendor/Zend/View/Helper/Fieldset.php78
-rw-r--r--library/vendor/Zend/View/Helper/Form.php85
-rw-r--r--library/vendor/Zend/View/Helper/FormButton.php104
-rw-r--r--library/vendor/Zend/View/Helper/FormCheckbox.php163
-rw-r--r--library/vendor/Zend/View/Helper/FormElement.php202
-rw-r--r--library/vendor/Zend/View/Helper/FormErrors.php166
-rw-r--r--library/vendor/Zend/View/Helper/FormFile.php74
-rw-r--r--library/vendor/Zend/View/Helper/FormHidden.php65
-rw-r--r--library/vendor/Zend/View/Helper/FormImage.php94
-rw-r--r--library/vendor/Zend/View/Helper/FormLabel.php71
-rw-r--r--library/vendor/Zend/View/Helper/FormMultiCheckbox.php73
-rw-r--r--library/vendor/Zend/View/Helper/FormNote.php60
-rw-r--r--library/vendor/Zend/View/Helper/FormPassword.php88
-rw-r--r--library/vendor/Zend/View/Helper/FormRadio.php185
-rw-r--r--library/vendor/Zend/View/Helper/FormReset.php81
-rw-r--r--library/vendor/Zend/View/Helper/FormSelect.php199
-rw-r--r--library/vendor/Zend/View/Helper/FormSubmit.php80
-rw-r--r--library/vendor/Zend/View/Helper/FormText.php77
-rw-r--r--library/vendor/Zend/View/Helper/FormTextarea.php103
-rw-r--r--library/vendor/Zend/View/Helper/Gravatar.php361
-rw-r--r--library/vendor/Zend/View/Helper/HeadLink.php471
-rw-r--r--library/vendor/Zend/View/Helper/HeadMeta.php440
-rw-r--r--library/vendor/Zend/View/Helper/HeadScript.php512
-rw-r--r--library/vendor/Zend/View/Helper/HeadStyle.php426
-rw-r--r--library/vendor/Zend/View/Helper/HeadTitle.php218
-rw-r--r--library/vendor/Zend/View/Helper/HtmlElement.php165
-rw-r--r--library/vendor/Zend/View/Helper/HtmlFlash.php59
-rw-r--r--library/vendor/Zend/View/Helper/HtmlList.php88
-rw-r--r--library/vendor/Zend/View/Helper/HtmlObject.php79
-rw-r--r--library/vendor/Zend/View/Helper/HtmlPage.php74
-rw-r--r--library/vendor/Zend/View/Helper/HtmlQuicktime.php81
-rw-r--r--library/vendor/Zend/View/Helper/InlineScript.php60
-rw-r--r--library/vendor/Zend/View/Helper/Interface.php46
-rw-r--r--library/vendor/Zend/View/Helper/Json.php86
-rw-r--r--library/vendor/Zend/View/Helper/Layout.php79
-rw-r--r--library/vendor/Zend/View/Helper/PaginationControl.php142
-rw-r--r--library/vendor/Zend/View/Helper/Partial.php150
-rw-r--r--library/vendor/Zend/View/Helper/Partial/Exception.php38
-rw-r--r--library/vendor/Zend/View/Helper/PartialLoop.php98
-rw-r--r--library/vendor/Zend/View/Helper/Placeholder.php85
-rw-r--r--library/vendor/Zend/View/Helper/Placeholder/Container.php35
-rw-r--r--library/vendor/Zend/View/Helper/Placeholder/Container/Abstract.php384
-rw-r--r--library/vendor/Zend/View/Helper/Placeholder/Container/Exception.php38
-rw-r--r--library/vendor/Zend/View/Helper/Placeholder/Container/Standalone.php322
-rw-r--r--library/vendor/Zend/View/Helper/Placeholder/Registry.php183
-rw-r--r--library/vendor/Zend/View/Helper/Placeholder/Registry/Exception.php38
-rw-r--r--library/vendor/Zend/View/Helper/RenderToPlaceholder.php52
-rw-r--r--library/vendor/Zend/View/Helper/ServerUrl.php148
-rw-r--r--library/vendor/Zend/View/Helper/Translate.php174
-rw-r--r--library/vendor/Zend/View/Helper/Url.php50
56 files changed, 8126 insertions, 0 deletions
diff --git a/library/vendor/Zend/View/Helper/Abstract.php b/library/vendor/Zend/View/Helper/Abstract.php
new file mode 100644
index 0000000..0946bc3
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Abstract.php
@@ -0,0 +1,63 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+/**
+ * @see Zend_View_Helper_Interface
+ */
+
+/**
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+abstract class Zend_View_Helper_Abstract implements Zend_View_Helper_Interface
+{
+ /**
+ * View object
+ *
+ * @var Zend_View_Interface
+ */
+ public $view = null;
+
+ /**
+ * Set the View object
+ *
+ * @param Zend_View_Interface $view
+ * @return Zend_View_Helper_Abstract
+ */
+ public function setView(Zend_View_Interface $view)
+ {
+ $this->view = $view;
+ return $this;
+ }
+
+ /**
+ * Strategy pattern: currently unutilized
+ *
+ * @return void
+ */
+ public function direct()
+ {
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Action.php b/library/vendor/Zend/View/Helper/Action.php
new file mode 100644
index 0000000..5020a47
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Action.php
@@ -0,0 +1,161 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_Abstract.php */
+
+/**
+ * Helper for rendering output of a controller action
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_Action extends Zend_View_Helper_Abstract
+{
+ /**
+ * @var string
+ */
+ public $defaultModule;
+
+ /**
+ * @var Zend_Controller_Dispatcher_Interface
+ */
+ public $dispatcher;
+
+ /**
+ * @var Zend_Controller_Request_Abstract
+ */
+ public $request;
+
+ /**
+ * @var Zend_Controller_Response_Abstract
+ */
+ public $response;
+
+ /**
+ * Constructor
+ *
+ * Grab local copies of various MVC objects
+ *
+ * @return void
+ */
+ public function __construct()
+ {
+ $front = Zend_Controller_Front::getInstance();
+ $modules = $front->getControllerDirectory();
+ if (empty($modules)) {
+ $e = new Zend_View_Exception('Action helper depends on valid front controller instance');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $request = $front->getRequest();
+ $response = $front->getResponse();
+
+ if (empty($request) || empty($response)) {
+ $e = new Zend_View_Exception('Action view helper requires both a registered request and response object in the front controller instance');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $this->request = clone $request;
+ $this->response = clone $response;
+ $this->dispatcher = clone $front->getDispatcher();
+ $this->defaultModule = $front->getDefaultModule();
+ }
+
+ /**
+ * Reset object states
+ *
+ * @return void
+ */
+ public function resetObjects()
+ {
+ $params = $this->request->getUserParams();
+ foreach (array_keys($params) as $key) {
+ $this->request->setParam($key, null);
+ }
+
+ $this->response->clearBody();
+ $this->response->clearHeaders()
+ ->clearRawHeaders();
+ }
+
+ /**
+ * Retrieve rendered contents of a controller action
+ *
+ * If the action results in a forward or redirect, returns empty string.
+ *
+ * @param string $action
+ * @param string $controller
+ * @param string $module Defaults to default module
+ * @param array $params
+ * @return string
+ */
+ public function action($action, $controller, $module = null, array $params = array())
+ {
+ $this->resetObjects();
+ if (null === $module) {
+ $module = $this->defaultModule;
+ }
+
+ // clone the view object to prevent over-writing of view variables
+ $viewRendererObj = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
+ Zend_Controller_Action_HelperBroker::addHelper(clone $viewRendererObj);
+
+ $this->request->setParams($params)
+ ->setModuleName($module)
+ ->setControllerName($controller)
+ ->setActionName($action)
+ ->setDispatched(true);
+
+ $this->dispatcher->dispatch($this->request, $this->response);
+
+ // reset the viewRenderer object to it's original state
+ Zend_Controller_Action_HelperBroker::addHelper($viewRendererObj);
+
+
+ if (!$this->request->isDispatched()
+ || $this->response->isRedirect())
+ {
+ // forwards and redirects render nothing
+ return '';
+ }
+
+ $return = $this->response->getBody();
+ $this->resetObjects();
+ return $return;
+ }
+
+ /**
+ * Clone the current View
+ *
+ * @return Zend_View_Interface
+ */
+ public function cloneView()
+ {
+ $view = clone $this->view;
+ $view->clearVars();
+ return $view;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/BaseUrl.php b/library/vendor/Zend/View/Helper/BaseUrl.php
new file mode 100644
index 0000000..48f8049
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/BaseUrl.php
@@ -0,0 +1,114 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** @see Zend_View_Helper_Abstract */
+
+/**
+ * Helper for retrieving the BaseUrl
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_BaseUrl extends Zend_View_Helper_Abstract
+{
+ /**
+ * BaseUrl
+ *
+ * @var string
+ */
+ protected $_baseUrl;
+
+ /**
+ * Returns site's base url, or file with base url prepended
+ *
+ * $file is appended to the base url for simplicity
+ *
+ * @param string|null $file
+ * @return string
+ */
+ public function baseUrl($file = null)
+ {
+ // Get baseUrl
+ $baseUrl = $this->getBaseUrl();
+
+ // Remove trailing slashes
+ if (null !== $file) {
+ $file = '/' . ltrim($file, '/\\');
+ }
+
+ return $baseUrl . $file;
+ }
+
+ /**
+ * Set BaseUrl
+ *
+ * @param string $base
+ * @return Zend_View_Helper_BaseUrl
+ */
+ public function setBaseUrl($base)
+ {
+ $this->_baseUrl = rtrim($base, '/\\');
+ return $this;
+ }
+
+ /**
+ * Get BaseUrl
+ *
+ * @return string
+ */
+ public function getBaseUrl()
+ {
+ if ($this->_baseUrl === null) {
+ /** @see Zend_Controller_Front */
+ $baseUrl = Zend_Controller_Front::getInstance()->getBaseUrl();
+
+ // Remove scriptname, eg. index.php from baseUrl
+ $baseUrl = $this->_removeScriptName($baseUrl);
+
+ $this->setBaseUrl($baseUrl);
+ }
+
+ return $this->_baseUrl;
+ }
+
+ /**
+ * Remove Script filename from baseurl
+ *
+ * @param string $url
+ * @return string
+ */
+ protected function _removeScriptName($url)
+ {
+ if (!isset($_SERVER['SCRIPT_NAME'])) {
+ // We can't do much now can we? (Well, we could parse out by ".")
+ return $url;
+ }
+
+ if (($pos = strripos($url, basename($_SERVER['SCRIPT_NAME']))) !== false) {
+ $url = substr($url, 0, $pos);
+ }
+
+ return $url;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Cycle.php b/library/vendor/Zend/View/Helper/Cycle.php
new file mode 100644
index 0000000..eb5fd51
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Cycle.php
@@ -0,0 +1,225 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/**
+ * Helper for alternating between set of values
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_Cycle implements Iterator
+{
+
+ /**
+ * Default name
+ * @var string
+ */
+ const DEFAULT_NAME = 'default';
+
+ /**
+ * Pointers
+ *
+ * @var array
+ */
+ protected $_pointers = array(self::DEFAULT_NAME =>-1) ;
+
+ /**
+ * Array of values
+ *
+ * @var array
+ */
+ protected $_data = array(self::DEFAULT_NAME=>array());
+
+ /**
+ * Actual name of cycle
+ *
+ * @var string
+ */
+ protected $_name = self::DEFAULT_NAME;
+
+ /**
+ * Add elements to alternate
+ *
+ * @param array $data
+ * @param string $name
+ * @return Zend_View_Helper_Cycle
+ */
+ public function cycle(array $data = array(), $name = self::DEFAULT_NAME)
+ {
+ if(!empty($data))
+ $this->_data[$name] = $data;
+
+ $this->setName($name);
+ return $this;
+ }
+
+ /**
+ * Add elements to alternate
+ *
+ * @param array $data
+ * @param string $name
+ * @return Zend_View_Helper_Cycle
+ */
+ public function assign(Array $data , $name = self::DEFAULT_NAME)
+ {
+ $this->setName($name);
+ $this->_data[$name] = $data;
+ $this->rewind();
+ return $this;
+ }
+
+ /**
+ * Sets actual name of cycle
+ *
+ * @param string $name
+ * @return Zend_View_Helper_Cycle
+ */
+ public function setName($name = self::DEFAULT_NAME)
+ {
+ $this->_name = $name;
+
+ if(!isset($this->_data[$this->_name]))
+ $this->_data[$this->_name] = array();
+
+ if(!isset($this->_pointers[$this->_name]))
+ $this->rewind();
+
+ return $this;
+ }
+
+ /**
+ * Gets actual name of cycle
+ *
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->_name;
+ }
+
+
+ /**
+ * Return all elements
+ *
+ * @return array
+ */
+ public function getAll()
+ {
+ return $this->_data[$this->_name];
+ }
+
+ /**
+ * Turn helper into string
+ *
+ * @return string
+ */
+ public function toString()
+ {
+ return (string) $this->_data[$this->_name][$this->key()];
+ }
+
+ /**
+ * Cast to string
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ return $this->toString();
+ }
+
+ /**
+ * Move to next value
+ *
+ * @return Zend_View_Helper_Cycle
+ */
+ public function next()
+ {
+ $count = count($this->_data[$this->_name]);
+ if ($this->_pointers[$this->_name] == ($count - 1))
+ $this->_pointers[$this->_name] = 0;
+ else
+ $this->_pointers[$this->_name] = ++$this->_pointers[$this->_name];
+ return $this;
+ }
+
+ /**
+ * Move to previous value
+ *
+ * @return Zend_View_Helper_Cycle
+ */
+ public function prev()
+ {
+ $count = count($this->_data[$this->_name]);
+ if ($this->_pointers[$this->_name] <= 0)
+ $this->_pointers[$this->_name] = $count - 1;
+ else
+ $this->_pointers[$this->_name] = --$this->_pointers[$this->_name];
+ return $this;
+ }
+
+ /**
+ * Return iteration number
+ *
+ * @return int
+ */
+ public function key()
+ {
+ if ($this->_pointers[$this->_name] < 0)
+ return 0;
+ else
+ return $this->_pointers[$this->_name];
+ }
+
+ /**
+ * Rewind pointer
+ *
+ * @return Zend_View_Helper_Cycle
+ */
+ public function rewind()
+ {
+ $this->_pointers[$this->_name] = -1;
+ return $this;
+ }
+
+ /**
+ * Check if element is valid
+ *
+ * @return bool
+ */
+ public function valid()
+ {
+ return isset($this->_data[$this->_name][$this->key()]);
+ }
+
+ /**
+ * Return current element
+ *
+ * @return mixed
+ */
+ public function current()
+ {
+ return $this->_data[$this->_name][$this->key()];
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/DeclareVars.php b/library/vendor/Zend/View/Helper/DeclareVars.php
new file mode 100644
index 0000000..a6c0fcf
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/DeclareVars.php
@@ -0,0 +1,94 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_Abstract.php */
+
+/**
+ * Helper for declaring default values of template variables
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_DeclareVars extends Zend_View_Helper_Abstract
+{
+ /**
+ * The view object that created this helper object.
+ * @var Zend_View
+ */
+ public $view;
+
+ /**
+ * Declare template vars to set default values and avoid notices when using strictVars
+ *
+ * Primarily for use when using {@link Zend_View_Abstract::strictVars() Zend_View strictVars()},
+ * this helper can be used to declare template variables that may or may
+ * not already be set in the view object, as well as to set default values.
+ * Arrays passed as arguments to the method will be used to set default
+ * values; otherwise, if the variable does not exist, it is set to an empty
+ * string.
+ *
+ * Usage:
+ * <code>
+ * $this->declareVars(
+ * 'varName1',
+ * 'varName2',
+ * array('varName3' => 'defaultValue',
+ * 'varName4' => array()
+ * )
+ * );
+ * </code>
+ *
+ * @param string|array variable number of arguments, all string names of variables to test
+ * @return void
+ */
+ public function declareVars()
+ {
+ $args = func_get_args();
+ foreach($args as $key) {
+ if (is_array($key)) {
+ foreach ($key as $name => $value) {
+ $this->_declareVar($name, $value);
+ }
+ } else if (!isset($view->$key)) {
+ $this->_declareVar($key);
+ }
+ }
+ }
+
+ /**
+ * Set a view variable
+ *
+ * Checks to see if a $key is set in the view object; if not, sets it to $value.
+ *
+ * @param string $key
+ * @param string $value Defaults to an empty string
+ * @return void
+ */
+ protected function _declareVar($key, $value = '')
+ {
+ if (!isset($this->view->$key)) {
+ $this->view->$key = $value;
+ }
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Doctype.php b/library/vendor/Zend/View/Helper/Doctype.php
new file mode 100644
index 0000000..866b193
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Doctype.php
@@ -0,0 +1,239 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_Registry */
+
+/** Zend_View_Helper_Abstract.php */
+
+/**
+ * Helper for setting and retrieving the doctype
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_Doctype extends Zend_View_Helper_Abstract
+{
+ /**#@+
+ * DocType constants
+ */
+ const XHTML11 = 'XHTML11';
+ const XHTML1_STRICT = 'XHTML1_STRICT';
+ const XHTML1_TRANSITIONAL = 'XHTML1_TRANSITIONAL';
+ const XHTML1_FRAMESET = 'XHTML1_FRAMESET';
+ const XHTML1_RDFA = 'XHTML1_RDFA';
+ const XHTML1_RDFA11 = 'XHTML1_RDFA11';
+ const XHTML_BASIC1 = 'XHTML_BASIC1';
+ const XHTML5 = 'XHTML5';
+ const HTML4_STRICT = 'HTML4_STRICT';
+ const HTML4_LOOSE = 'HTML4_LOOSE';
+ const HTML4_FRAMESET = 'HTML4_FRAMESET';
+ const HTML5 = 'HTML5';
+ const CUSTOM_XHTML = 'CUSTOM_XHTML';
+ const CUSTOM = 'CUSTOM';
+ /**#@-*/
+
+ /**
+ * Default DocType
+ * @var string
+ */
+ protected $_defaultDoctype = self::HTML4_LOOSE;
+
+ /**
+ * Registry containing current doctype and mappings
+ * @var ArrayObject
+ */
+ protected $_registry;
+
+ /**
+ * Registry key in which helper is stored
+ * @var string
+ */
+ protected $_regKey = 'Zend_View_Helper_Doctype';
+
+ /**
+ * Constructor
+ *
+ * Map constants to doctype strings, and set default doctype
+ *
+ * @return void
+ */
+ public function __construct()
+ {
+ if (!Zend_Registry::isRegistered($this->_regKey)) {
+ $this->_registry = new ArrayObject(array(
+ 'doctypes' => array(
+ self::XHTML11 => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">',
+ self::XHTML1_STRICT => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
+ self::XHTML1_TRANSITIONAL => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
+ self::XHTML1_FRAMESET => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">',
+ self::XHTML1_RDFA => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">',
+ self::XHTML1_RDFA11 => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">',
+ self::XHTML_BASIC1 => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">',
+ self::XHTML5 => '<!DOCTYPE html>',
+ self::HTML4_STRICT => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">',
+ self::HTML4_LOOSE => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">',
+ self::HTML4_FRAMESET => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">',
+ self::HTML5 => '<!DOCTYPE html>',
+ )
+ ));
+ Zend_Registry::set($this->_regKey, $this->_registry);
+ $this->setDoctype($this->_defaultDoctype);
+ } else {
+ $this->_registry = Zend_Registry::get($this->_regKey);
+ }
+ }
+
+ /**
+ * Set or retrieve doctype
+ *
+ * @param string $doctype
+ * @return Zend_View_Helper_Doctype
+ */
+ public function doctype($doctype = null)
+ {
+ if (null !== $doctype) {
+ switch ($doctype) {
+ case self::XHTML11:
+ case self::XHTML1_STRICT:
+ case self::XHTML1_TRANSITIONAL:
+ case self::XHTML1_FRAMESET:
+ case self::XHTML_BASIC1:
+ case self::XHTML1_RDFA:
+ case self::XHTML1_RDFA11:
+ case self::XHTML5:
+ case self::HTML4_STRICT:
+ case self::HTML4_LOOSE:
+ case self::HTML4_FRAMESET:
+ case self::HTML5:
+ $this->setDoctype($doctype);
+ break;
+ default:
+ if (substr($doctype, 0, 9) != '<!DOCTYPE') {
+ $e = new Zend_View_Exception('The specified doctype is malformed');
+ $e->setView($this->view);
+ throw $e;
+ }
+ if (stristr($doctype, 'xhtml')) {
+ $type = self::CUSTOM_XHTML;
+ } else {
+ $type = self::CUSTOM;
+ }
+ $this->setDoctype($type);
+ $this->_registry['doctypes'][$type] = $doctype;
+ break;
+ }
+ }
+
+ return $this;
+ }
+
+ /**
+ * Set doctype
+ *
+ * @param string $doctype
+ * @return Zend_View_Helper_Doctype
+ */
+ public function setDoctype($doctype)
+ {
+ $this->_registry['doctype'] = $doctype;
+ return $this;
+ }
+
+ /**
+ * Retrieve doctype
+ *
+ * @return string
+ */
+ public function getDoctype()
+ {
+ return $this->_registry['doctype'];
+ }
+
+ /**
+ * Get doctype => string mappings
+ *
+ * @return array
+ */
+ public function getDoctypes()
+ {
+ return $this->_registry['doctypes'];
+ }
+
+ /**
+ * Is doctype XHTML?
+ *
+ * @return boolean
+ */
+ public function isXhtml()
+ {
+ return (stristr($this->getDoctype(), 'xhtml') ? true : false);
+ }
+
+ /**
+ * Is doctype strict?
+ *
+ * @return boolean
+ */
+ public function isStrict()
+ {
+ switch ( $this->getDoctype() )
+ {
+ case self::XHTML1_STRICT:
+ case self::XHTML11:
+ case self::HTML4_STRICT:
+ return true;
+ default:
+ return false;
+ }
+ }
+
+ /**
+ * Is doctype HTML5? (HeadMeta uses this for validation)
+ *
+ * @return booleean
+ */
+ public function isHtml5() {
+ return (stristr($this->doctype(), '<!DOCTYPE html>') ? true : false);
+ }
+
+ /**
+ * Is doctype RDFa?
+ *
+ * @return booleean
+ */
+ public function isRdfa() {
+ return (stristr($this->getDoctype(), 'rdfa') ? true : false);
+ }
+
+ /**
+ * String representation of doctype
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ $doctypes = $this->getDoctypes();
+ return $doctypes[$this->getDoctype()];
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Fieldset.php b/library/vendor/Zend/View/Helper/Fieldset.php
new file mode 100644
index 0000000..5456782
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Fieldset.php
@@ -0,0 +1,78 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_FormElement */
+
+/**
+ * Helper for rendering fieldsets
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_Fieldset extends Zend_View_Helper_FormElement
+{
+ /**
+ * Render HTML form
+ *
+ * @param string $name Form name
+ * @param string $content Form content
+ * @param array $attribs HTML form attributes
+ * @return string
+ */
+ public function fieldset($name, $content, $attribs = null)
+ {
+ $info = $this->_getInfo($name, $content, $attribs);
+ extract($info);
+
+ // get legend
+ $legend = '';
+ if (isset($attribs['legend'])) {
+ $legendString = trim($attribs['legend']);
+ if (!empty($legendString)) {
+ $legend = '<legend>'
+ . (($escape) ? $this->view->escape($legendString) : $legendString)
+ . '</legend>' . PHP_EOL;
+ }
+ unset($attribs['legend']);
+ }
+
+ // get id
+ if (!empty($id)) {
+ $id = ' id="' . $this->view->escape($id) . '"';
+ } else {
+ $id = '';
+ }
+
+ // render fieldset
+ $xhtml = '<fieldset'
+ . $id
+ . $this->_htmlAttribs($attribs)
+ . '>'
+ . $legend
+ . $content
+ . '</fieldset>';
+
+ return $xhtml;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Form.php b/library/vendor/Zend/View/Helper/Form.php
new file mode 100644
index 0000000..87811d4
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Form.php
@@ -0,0 +1,85 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_FormElement */
+
+/**
+ * Helper for rendering HTML forms
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_Form extends Zend_View_Helper_FormElement
+{
+ /**
+ * Render HTML form
+ *
+ * @param string $name Form name
+ * @param null|array $attribs HTML form attributes
+ * @param false|string $content Form content
+ * @return string
+ */
+ public function form($name, $attribs = null, $content = false)
+ {
+ $info = $this->_getInfo($name, $content, $attribs);
+ extract($info);
+
+ if (!empty($id)) {
+ $id = ' id="' . $this->view->escape($id) . '"';
+ } else {
+ $id = '';
+ }
+
+ if (array_key_exists('id', $attribs) && empty($attribs['id'])) {
+ unset($attribs['id']);
+ }
+
+ if (!empty($name) && !($this->_isXhtml() && $this->_isStrictDoctype())) {
+ $name = ' name="' . $this->view->escape($name) . '"';
+ } else {
+ $name = '';
+ }
+
+ if ($this->_isHtml5() && array_key_exists('action', $attribs) && !$attribs['action']) {
+ unset($attribs['action']);
+ }
+
+ if ( array_key_exists('name', $attribs) && empty($attribs['id'])) {
+ unset($attribs['id']);
+ }
+
+ $xhtml = '<form'
+ . $id
+ . $name
+ . $this->_htmlAttribs($attribs)
+ . '>';
+
+ if (false !== $content) {
+ $xhtml .= $content
+ . '</form>';
+ }
+
+ return $xhtml;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/FormButton.php b/library/vendor/Zend/View/Helper/FormButton.php
new file mode 100644
index 0000000..312952e
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormButton.php
@@ -0,0 +1,104 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+
+/**
+ * Abstract class for extension
+ */
+
+
+/**
+ * Helper to generate a "button" element
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_FormButton extends Zend_View_Helper_FormElement
+{
+ /**
+ * Generates a 'button' element.
+ *
+ * @access public
+ *
+ * @param string|array $name If a string, the element name. If an
+ * array, all other parameters are ignored, and the array elements
+ * are extracted in place of added parameters.
+ *
+ * @param mixed $value The element value.
+ *
+ * @param array $attribs Attributes for the element tag.
+ *
+ * @return string The element XHTML.
+ */
+ public function formButton($name, $value = null, $attribs = null)
+ {
+ $info = $this->_getInfo($name, $value, $attribs);
+ extract($info); // name, id, value, attribs, options, listsep, disable, escape
+
+ // Get content
+ $content = '';
+ if (isset($attribs['content'])) {
+ $content = $attribs['content'];
+ unset($attribs['content']);
+ } else {
+ $content = $value;
+ }
+
+ // Ensure type is sane
+ $type = 'button';
+ if (isset($attribs['type'])) {
+ $attribs['type'] = strtolower($attribs['type']);
+ if (in_array($attribs['type'], array('submit', 'reset', 'button'))) {
+ $type = $attribs['type'];
+ }
+ unset($attribs['type']);
+ }
+
+ // build the element
+ if ($disable) {
+ $attribs['disabled'] = 'disabled';
+ }
+
+ $content = ($escape) ? $this->view->escape($content) : $content;
+
+ $xhtml = '<button'
+ . ' name="' . $this->view->escape($name) . '"'
+ . ' id="' . $this->view->escape($id) . '"'
+ . ' type="' . $type . '"';
+
+ // add a value if one is given
+ if (!empty($value)) {
+ $xhtml .= ' value="' . $this->view->escape($value) . '"';
+ }
+
+ // add attributes and close start tag
+ $xhtml .= $this->_htmlAttribs($attribs) . '>';
+
+ // add content and end tag
+ $xhtml .= $content . '</button>';
+
+ return $xhtml;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/FormCheckbox.php b/library/vendor/Zend/View/Helper/FormCheckbox.php
new file mode 100644
index 0000000..4acf3cb
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormCheckbox.php
@@ -0,0 +1,163 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+
+/**
+ * Abstract class for extension
+ */
+
+
+/**
+ * Helper to generate a "checkbox" element
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_FormCheckbox extends Zend_View_Helper_FormElement
+{
+ /**
+ * Default checked/unchecked options
+ * @var array
+ */
+ protected static $_defaultCheckedOptions = array(
+ 'checkedValue' => '1',
+ 'uncheckedValue' => '0'
+ );
+
+ /**
+ * Generates a 'checkbox' element.
+ *
+ * @access public
+ *
+ * @param string|array $name If a string, the element name. If an
+ * array, all other parameters are ignored, and the array elements
+ * are extracted in place of added parameters.
+ * @param mixed $value The element value.
+ * @param array $attribs Attributes for the element tag.
+ * @return string The element XHTML.
+ */
+ public function formCheckbox($name, $value = null, $attribs = null, array $checkedOptions = null)
+ {
+ $info = $this->_getInfo($name, $value, $attribs);
+ extract($info); // name, id, value, attribs, options, listsep, disable
+
+ $checked = false;
+ if (isset($attribs['checked']) && $attribs['checked']) {
+ $checked = true;
+ unset($attribs['checked']);
+ } elseif (isset($attribs['checked'])) {
+ $checked = false;
+ unset($attribs['checked']);
+ }
+
+ $checkedOptions = self::determineCheckboxInfo($value, $checked, $checkedOptions);
+
+ // is the element disabled?
+ $disabled = '';
+ if ($disable) {
+ $disabled = ' disabled="disabled"';
+ }
+
+ // build the element
+ $xhtml = '';
+ if ((!$disable && !strstr($name, '[]'))
+ && (empty($attribs['disableHidden']) || !$attribs['disableHidden'])
+ ) {
+ $xhtml = $this->_hidden($name, $checkedOptions['uncheckedValue']);
+ }
+
+ if (array_key_exists('disableHidden', $attribs)) {
+ unset($attribs['disableHidden']);
+ }
+
+ $xhtml .= '<input type="checkbox"'
+ . ' name="' . $this->view->escape($name) . '"'
+ . ' id="' . $this->view->escape($id) . '"'
+ . ' value="' . $this->view->escape($checkedOptions['checkedValue']) . '"'
+ . $checkedOptions['checkedString']
+ . $disabled
+ . $this->_htmlAttribs($attribs)
+ . $this->getClosingBracket();
+
+ return $xhtml;
+ }
+
+ /**
+ * Determine checkbox information
+ *
+ * @param string $value
+ * @param bool $checked
+ * @param array|null $checkedOptions
+ * @return array
+ */
+ public static function determineCheckboxInfo($value, $checked, array $checkedOptions = null)
+ {
+ // Checked/unchecked values
+ $checkedValue = null;
+ $uncheckedValue = null;
+ if (is_array($checkedOptions)) {
+ if (array_key_exists('checkedValue', $checkedOptions)) {
+ $checkedValue = (string) $checkedOptions['checkedValue'];
+ unset($checkedOptions['checkedValue']);
+ }
+ if (array_key_exists('uncheckedValue', $checkedOptions)) {
+ $uncheckedValue = (string) $checkedOptions['uncheckedValue'];
+ unset($checkedOptions['uncheckedValue']);
+ }
+ if (null === $checkedValue) {
+ $checkedValue = (string) array_shift($checkedOptions);
+ }
+ if (null === $uncheckedValue) {
+ $uncheckedValue = (string) array_shift($checkedOptions);
+ }
+ } elseif ($value !== null) {
+ $uncheckedValue = self::$_defaultCheckedOptions['uncheckedValue'];
+ } else {
+ $checkedValue = self::$_defaultCheckedOptions['checkedValue'];
+ $uncheckedValue = self::$_defaultCheckedOptions['uncheckedValue'];
+ }
+
+ // is the element checked?
+ $checkedString = '';
+ if ($checked || ((string) $value === $checkedValue)) {
+ $checkedString = ' checked="checked"';
+ $checked = true;
+ } else {
+ $checked = false;
+ }
+
+ // Checked value should be value if no checked options provided
+ if ($checkedValue == null) {
+ $checkedValue = $value;
+ }
+
+ return array(
+ 'checked' => $checked,
+ 'checkedString' => $checkedString,
+ 'checkedValue' => $checkedValue,
+ 'uncheckedValue' => $uncheckedValue,
+ );
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/FormElement.php b/library/vendor/Zend/View/Helper/FormElement.php
new file mode 100644
index 0000000..25f77b5
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormElement.php
@@ -0,0 +1,202 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+/**
+ * @see Zend_View_Helper_HtmlElement
+ */
+
+/**
+ * Base helper for form elements. Extend this, don't use it on its own.
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+abstract class Zend_View_Helper_FormElement extends Zend_View_Helper_HtmlElement
+{
+ /**
+ * @var Zend_Translate_Adapter|null
+ */
+ protected $_translator;
+
+ /**
+ * Get translator
+ *
+ * @return Zend_Translate_Adapter|null
+ */
+ public function getTranslator()
+ {
+ return $this->_translator;
+ }
+
+ /**
+ * Set translator
+ *
+ * @param Zend_Translate|Zend_Translate_Adapter|null $translator
+ * @return Zend_View_Helper_FormElement
+ */
+ public function setTranslator($translator = null)
+ {
+ if (null === $translator) {
+ $this->_translator = null;
+ } elseif ($translator instanceof Zend_Translate_Adapter) {
+ $this->_translator = $translator;
+ } elseif ($translator instanceof Zend_Translate) {
+ $this->_translator = $translator->getAdapter();
+ } else {
+ $e = new Zend_View_Exception('Invalid translator specified');
+ $e->setView($this->view);
+ throw $e;
+ }
+ return $this;
+ }
+
+ /**
+ * Converts parameter arguments to an element info array.
+ *
+ * E.g, formExample($name, $value, $attribs, $options, $listsep) is
+ * the same thing as formExample(array('name' => ...)).
+ *
+ * Note that you cannot pass a 'disable' param; you need to pass
+ * it as an 'attribs' key.
+ *
+ * @access protected
+ *
+ * @return array An element info array with keys for name, value,
+ * attribs, options, listsep, disable, and escape.
+ */
+ protected function _getInfo($name, $value = null, $attribs = null,
+ $options = null, $listsep = null
+ ) {
+ // the baseline info. note that $name serves a dual purpose;
+ // if an array, it's an element info array that will override
+ // these baseline values. as such, ignore it for the 'name'
+ // if it's an array.
+ $info = array(
+ 'name' => is_array($name) ? '' : $name,
+ 'id' => is_array($name) ? '' : $name,
+ 'value' => $value,
+ 'attribs' => $attribs,
+ 'options' => $options,
+ 'listsep' => $listsep,
+ 'disable' => false,
+ 'escape' => true,
+ );
+
+ // override with named args
+ if (is_array($name)) {
+ // only set keys that are already in info
+ foreach ($info as $key => $val) {
+ if (isset($name[$key])) {
+ $info[$key] = $name[$key];
+ }
+ }
+
+ // If all helper options are passed as an array, attribs may have
+ // been as well
+ if (null === $attribs) {
+ $attribs = $info['attribs'];
+ }
+ }
+
+ $attribs = (array)$attribs;
+
+ // Normalize readonly tag
+ if (array_key_exists('readonly', $attribs)) {
+ $attribs['readonly'] = 'readonly';
+ }
+
+ // Disable attribute
+ if (array_key_exists('disable', $attribs)) {
+ if (is_scalar($attribs['disable'])) {
+ // disable the element
+ $info['disable'] = (bool)$attribs['disable'];
+ } else if (is_array($attribs['disable'])) {
+ $info['disable'] = $attribs['disable'];
+ }
+ }
+
+ // Set ID for element
+ if (array_key_exists('id', $attribs)) {
+ $info['id'] = (string)$attribs['id'];
+ } else if ('' !== $info['name']) {
+ $info['id'] = trim(strtr($info['name'],
+ array('[' => '-', ']' => '')), '-');
+ }
+
+ // Remove NULL name attribute override
+ if (array_key_exists('name', $attribs) && is_null($attribs['name'])) {
+ unset($attribs['name']);
+ }
+
+ // Override name in info if specified in attribs
+ if (array_key_exists('name', $attribs) && $attribs['name'] != $info['name']) {
+ $info['name'] = $attribs['name'];
+ }
+
+ // Determine escaping from attributes
+ if (array_key_exists('escape', $attribs)) {
+ $info['escape'] = (bool)$attribs['escape'];
+ }
+
+ // Determine listsetp from attributes
+ if (array_key_exists('listsep', $attribs)) {
+ $info['listsep'] = (string)$attribs['listsep'];
+ }
+
+ // Remove attribs that might overwrite the other keys. We do this LAST
+ // because we needed the other attribs values earlier.
+ foreach ($info as $key => $val) {
+ if (array_key_exists($key, $attribs)) {
+ unset($attribs[$key]);
+ }
+ }
+ $info['attribs'] = $attribs;
+
+ // done!
+ return $info;
+ }
+
+ /**
+ * Creates a hidden element.
+ *
+ * We have this as a common method because other elements often
+ * need hidden elements for their operation.
+ *
+ * @access protected
+ *
+ * @param string $name The element name.
+ * @param string $value The element value.
+ * @param array $attribs Attributes for the element.
+ *
+ * @return string A hidden element.
+ */
+ protected function _hidden($name, $value = null, $attribs = null)
+ {
+ return '<input type="hidden"'
+ . ' name="' . $this->view->escape($name) . '"'
+ . ' value="' . $this->view->escape($value) . '"'
+ . $this->_htmlAttribs($attribs) . $this->getClosingBracket();
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/FormErrors.php b/library/vendor/Zend/View/Helper/FormErrors.php
new file mode 100644
index 0000000..b57d851
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormErrors.php
@@ -0,0 +1,166 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+/**
+ * Abstract class for extension
+ */
+
+
+/**
+ * Helper to render errors for a form element
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_FormErrors extends Zend_View_Helper_FormElement
+{
+ /**
+ * @var Zend_Form_Element
+ */
+ protected $_element;
+
+ /**#@+
+ * @var string Element block start/end tags and separator
+ */
+ protected $_htmlElementEnd = '</li></ul>';
+ protected $_htmlElementStart = '<ul%s><li>';
+ protected $_htmlElementSeparator = '</li><li>';
+ /**#@-*/
+
+ /**
+ * Render form errors
+ *
+ * @param string|array $errors Error(s) to render
+ * @param array $options
+ * @return string
+ */
+ public function formErrors($errors, array $options = null)
+ {
+ $escape = true;
+ if (isset($options['escape'])) {
+ $escape = (bool) $options['escape'];
+ unset($options['escape']);
+ }
+
+ if (empty($options['class'])) {
+ $options['class'] = 'errors';
+ }
+
+ if (isset($options['elementStart'])) {
+ $this->setElementStart($options['elementStart']);
+ }
+ if (isset($options['elementEnd'])) {
+ $this->setElementEnd($options['elementEnd']);
+ }
+ if (isset($options['elementSeparator'])) {
+ $this->setElementSeparator($options['elementSeparator']);
+ }
+
+ $start = $this->getElementStart();
+ if (strstr($start, '%s')) {
+ $attribs = $this->_htmlAttribs($options);
+ $start = sprintf($start, $attribs);
+ }
+
+ if ($escape) {
+ foreach ($errors as $key => $error) {
+ $errors[$key] = $this->view->escape($error);
+ }
+ }
+
+ $html = $start
+ . implode($this->getElementSeparator(), (array) $errors)
+ . $this->getElementEnd();
+
+ return $html;
+ }
+
+ /**
+ * Set end string for displaying errors
+ *
+ * @param string $string
+ * @return Zend_View_Helper_FormErrors
+ */
+ public function setElementEnd($string)
+ {
+ $this->_htmlElementEnd = (string) $string;
+ return $this;
+ }
+
+ /**
+ * Retrieve end string for displaying errors
+ *
+ * @return string
+ */
+ public function getElementEnd()
+ {
+ return $this->_htmlElementEnd;
+ }
+
+ /**
+ * Set separator string for displaying errors
+ *
+ * @param string $string
+ * @return Zend_View_Helper_FormErrors
+ */
+ public function setElementSeparator($string)
+ {
+ $this->_htmlElementSeparator = (string) $string;
+ return $this;
+ }
+
+ /**
+ * Retrieve separator string for displaying errors
+ *
+ * @return string
+ */
+ public function getElementSeparator()
+ {
+ return $this->_htmlElementSeparator;
+ }
+
+ /**
+ * Set start string for displaying errors
+ *
+ * @param string $string
+ * @return Zend_View_Helper_FormErrors
+ */
+ public function setElementStart($string)
+ {
+ $this->_htmlElementStart = (string) $string;
+ return $this;
+ }
+
+ /**
+ * Retrieve start string for displaying errors
+ *
+ * @return string
+ */
+ public function getElementStart()
+ {
+ return $this->_htmlElementStart;
+ }
+
+}
diff --git a/library/vendor/Zend/View/Helper/FormFile.php b/library/vendor/Zend/View/Helper/FormFile.php
new file mode 100644
index 0000000..24a37db
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormFile.php
@@ -0,0 +1,74 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+
+/**
+ * Abstract class for extension
+ */
+
+
+/**
+ * Helper to generate a "file" element
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_FormFile extends Zend_View_Helper_FormElement
+{
+ /**
+ * Generates a 'file' element.
+ *
+ * @access public
+ *
+ * @param string|array $name If a string, the element name. If an
+ * array, all other parameters are ignored, and the array elements
+ * are extracted in place of added parameters.
+ *
+ * @param array $attribs Attributes for the element tag.
+ *
+ * @return string The element XHTML.
+ */
+ public function formFile($name, $attribs = null)
+ {
+ $info = $this->_getInfo($name, null, $attribs);
+ extract($info); // name, id, value, attribs, options, listsep, disable
+
+ // is it disabled?
+ $disabled = '';
+ if ($disable) {
+ $disabled = ' disabled="disabled"';
+ }
+
+ // build the element
+ $xhtml = '<input type="file"'
+ . ' name="' . $this->view->escape($name) . '"'
+ . ' id="' . $this->view->escape($id) . '"'
+ . $disabled
+ . $this->_htmlAttribs($attribs)
+ . $this->getClosingBracket();
+
+ return $xhtml;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/FormHidden.php b/library/vendor/Zend/View/Helper/FormHidden.php
new file mode 100644
index 0000000..36c9c9b
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormHidden.php
@@ -0,0 +1,65 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+
+/**
+ * Abstract class for extension
+ */
+
+
+/**
+ * Helper to generate a "hidden" element
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_FormHidden extends Zend_View_Helper_FormElement
+{
+ /**
+ * Generates a 'hidden' element.
+ *
+ * @access public
+ *
+ * @param string|array $name If a string, the element name. If an
+ * array, all other parameters are ignored, and the array elements
+ * are extracted in place of added parameters.
+ * @param mixed $value The element value.
+ * @param array $attribs Attributes for the element tag.
+ * @return string The element XHTML.
+ */
+ public function formHidden($name, $value = null, array $attribs = null)
+ {
+ $info = $this->_getInfo($name, $value, $attribs);
+ extract($info); // name, value, attribs, options, listsep, disable
+ if (isset($id)) {
+ if (isset($attribs) && is_array($attribs)) {
+ $attribs['id'] = $id;
+ } else {
+ $attribs = array('id' => $id);
+ }
+ }
+ return $this->_hidden($name, $value, $attribs);
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/FormImage.php b/library/vendor/Zend/View/Helper/FormImage.php
new file mode 100644
index 0000000..31d6545
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormImage.php
@@ -0,0 +1,94 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+
+/**
+ * Abstract class for extension
+ */
+
+
+/**
+ * Helper to generate an "image" element
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_FormImage extends Zend_View_Helper_FormElement
+{
+ /**
+ * Generates an 'image' element.
+ *
+ * @access public
+ *
+ * @param string|array $name If a string, the element name. If an
+ * array, all other parameters are ignored, and the array elements
+ * are extracted in place of added parameters.
+ *
+ * @param mixed $value The source ('src="..."') for the image.
+ *
+ * @param array $attribs Attributes for the element tag.
+ *
+ * @return string The element XHTML.
+ */
+ public function formImage($name, $value = null, $attribs = null)
+ {
+ $info = $this->_getInfo($name, $value, $attribs);
+ extract($info); // name, value, attribs, options, listsep, disable
+
+ // Determine if we should use the value or the src attribute
+ if (isset($attribs['src'])) {
+ $src = ' src="' . $this->view->escape($attribs['src']) . '"';
+ unset($attribs['src']);
+ } else {
+ $src = ' src="' . $this->view->escape($value) . '"';
+ unset($value);
+ }
+
+ // Do we have a value?
+ if (isset($value) && !empty($value)) {
+ $value = ' value="' . $this->view->escape($value) . '"';
+ } else {
+ $value = '';
+ }
+
+ // Disabled?
+ $disabled = '';
+ if ($disable) {
+ $disabled = ' disabled="disabled"';
+ }
+
+ // build the element
+ $xhtml = '<input type="image"'
+ . ' name="' . $this->view->escape($name) . '"'
+ . ' id="' . $this->view->escape($id) . '"'
+ . $src
+ . $value
+ . $disabled
+ . $this->_htmlAttribs($attribs)
+ . $this->getClosingBracket();
+
+ return $xhtml;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/FormLabel.php b/library/vendor/Zend/View/Helper/FormLabel.php
new file mode 100644
index 0000000..8b5fa71
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormLabel.php
@@ -0,0 +1,71 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+/** Zend_View_Helper_FormElement **/
+
+/**
+ * Form label helper
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_FormLabel extends Zend_View_Helper_FormElement
+{
+ /**
+ * Generates a 'label' element.
+ *
+ * @param string $name The form element name for which the label is being generated
+ * @param string $value The label text
+ * @param array $attribs Form element attributes (used to determine if disabled)
+ * @return string The element XHTML.
+ */
+ public function formLabel($name, $value = null, array $attribs = null)
+ {
+ $info = $this->_getInfo($name, $value, $attribs);
+ extract($info); // name, value, attribs, options, listsep, disable, escape
+
+ // build the element
+ if ($disable) {
+ // disabled; display nothing
+ return '';
+ }
+
+ $value = ($escape) ? $this->view->escape($value) : $value;
+ $for = (empty($attribs['disableFor']) || !$attribs['disableFor'])
+ ? ' for="' . $this->view->escape($id) . '"'
+ : '';
+ if (array_key_exists('disableFor', $attribs)) {
+ unset($attribs['disableFor']);
+ }
+
+ // enabled; display label
+ $xhtml = '<label'
+ . $for
+ . $this->_htmlAttribs($attribs)
+ . '>' . $value . '</label>';
+
+ return $xhtml;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/FormMultiCheckbox.php b/library/vendor/Zend/View/Helper/FormMultiCheckbox.php
new file mode 100644
index 0000000..3147369
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormMultiCheckbox.php
@@ -0,0 +1,73 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+
+/** Zend_View_Helper_FormRadio */
+
+
+/**
+ * Helper to generate a set of checkbox button elements
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_FormMultiCheckbox extends Zend_View_Helper_FormRadio
+{
+ /**
+ * Input type to use
+ * @var string
+ */
+ protected $_inputType = 'checkbox';
+
+ /**
+ * Whether or not this element represents an array collection by default
+ * @var bool
+ */
+ protected $_isArray = true;
+
+ /**
+ * Generates a set of checkbox button elements.
+ *
+ * @access public
+ *
+ * @param string|array $name If a string, the element name. If an
+ * array, all other parameters are ignored, and the array elements
+ * are extracted in place of added parameters.
+ *
+ * @param mixed $value The checkbox value to mark as 'checked'.
+ *
+ * @param array $options An array of key-value pairs where the array
+ * key is the checkbox value, and the array value is the radio text.
+ *
+ * @param array|string $attribs Attributes added to each radio.
+ *
+ * @return string The radio buttons XHTML.
+ */
+ public function formMultiCheckbox($name, $value = null, $attribs = null,
+ $options = null, $listsep = "<br />\n")
+ {
+ return $this->formRadio($name, $value, $attribs, $options, $listsep);
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/FormNote.php b/library/vendor/Zend/View/Helper/FormNote.php
new file mode 100644
index 0000000..adeb411
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormNote.php
@@ -0,0 +1,60 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+
+/**
+ * Abstract class for extension
+ */
+
+
+/**
+ * Helper to show an HTML note
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_FormNote extends Zend_View_Helper_FormElement
+{
+ /**
+ * Helper to show a "note" based on a hidden value.
+ *
+ * @access public
+ *
+ * @param string|array $name If a string, the element name. If an
+ * array, all other parameters are ignored, and the array elements
+ * are extracted in place of added parameters.
+ *
+ * @param array $value The note to display. HTML is *not* escaped; the
+ * note is displayed as-is.
+ *
+ * @return string The element XHTML.
+ */
+ public function formNote($name, $value = null)
+ {
+ $info = $this->_getInfo($name, $value);
+ extract($info); // name, value, attribs, options, listsep, disable
+ return $value;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/FormPassword.php b/library/vendor/Zend/View/Helper/FormPassword.php
new file mode 100644
index 0000000..3cd880d
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormPassword.php
@@ -0,0 +1,88 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+
+/**
+ * Abstract class for extension
+ */
+
+
+/**
+ * Helper to generate a "password" element
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_FormPassword extends Zend_View_Helper_FormElement
+{
+ /**
+ * Generates a 'password' element.
+ *
+ * @access public
+ *
+ * @param string|array $name If a string, the element name. If an
+ * array, all other parameters are ignored, and the array elements
+ * are extracted in place of added parameters.
+ *
+ * @param mixed $value The element value.
+ *
+ * @param array $attribs Attributes for the element tag.
+ *
+ * @return string The element XHTML.
+ */
+ public function formPassword($name, $value = null, $attribs = null)
+ {
+ $info = $this->_getInfo($name, $value, $attribs);
+ extract($info); // name, value, attribs, options, listsep, disable
+
+ // is it disabled?
+ $disabled = '';
+ if ($disable) {
+ // disabled
+ $disabled = ' disabled="disabled"';
+ }
+
+ // determine the XHTML value
+ $valueString = ' value=""';
+ if (array_key_exists('renderPassword', $attribs)) {
+ if ($attribs['renderPassword']) {
+ $valueString = ' value="' . $this->view->escape($value) . '"';
+ }
+ unset($attribs['renderPassword']);
+ }
+
+ // render the element
+ $xhtml = '<input type="password"'
+ . ' name="' . $this->view->escape($name) . '"'
+ . ' id="' . $this->view->escape($id) . '"'
+ . $valueString
+ . $disabled
+ . $this->_htmlAttribs($attribs)
+ . $this->getClosingBracket();
+
+ return $xhtml;
+ }
+
+}
diff --git a/library/vendor/Zend/View/Helper/FormRadio.php b/library/vendor/Zend/View/Helper/FormRadio.php
new file mode 100644
index 0000000..b67c0d6
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormRadio.php
@@ -0,0 +1,185 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+
+/**
+ * Abstract class for extension
+ */
+
+
+/**
+ * Helper to generate a set of radio button elements
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_FormRadio extends Zend_View_Helper_FormElement
+{
+ /**
+ * Input type to use
+ * @var string
+ */
+ protected $_inputType = 'radio';
+
+ /**
+ * Whether or not this element represents an array collection by default
+ * @var bool
+ */
+ protected $_isArray = false;
+
+ /**
+ * Generates a set of radio button elements.
+ *
+ * @access public
+ *
+ * @param string|array $name If a string, the element name. If an
+ * array, all other parameters are ignored, and the array elements
+ * are extracted in place of added parameters.
+ *
+ * @param mixed $value The radio value to mark as 'checked'.
+ *
+ * @param array $options An array of key-value pairs where the array
+ * key is the radio value, and the array value is the radio text.
+ *
+ * @param array|string $attribs Attributes added to each radio.
+ *
+ * @return string The radio buttons XHTML.
+ */
+ public function formRadio($name, $value = null, $attribs = null,
+ $options = null, $listsep = "<br />\n")
+ {
+
+ $info = $this->_getInfo($name, $value, $attribs, $options, $listsep);
+ extract($info); // name, value, attribs, options, listsep, disable
+
+ // retrieve attributes for labels (prefixed with 'label_' or 'label')
+ $label_attribs = array();
+ foreach ($attribs as $key => $val) {
+ $tmp = false;
+ $keyLen = strlen($key);
+ if ((6 < $keyLen) && (substr($key, 0, 6) == 'label_')) {
+ $tmp = substr($key, 6);
+ } elseif ((5 < $keyLen) && (substr($key, 0, 5) == 'label')) {
+ $tmp = substr($key, 5);
+ }
+
+ if ($tmp) {
+ // make sure first char is lowercase
+ $tmp[0] = strtolower($tmp[0]);
+ $label_attribs[$tmp] = $val;
+ unset($attribs[$key]);
+ }
+ }
+
+ $labelPlacement = 'append';
+ foreach ($label_attribs as $key => $val) {
+ switch (strtolower($key)) {
+ case 'placement':
+ unset($label_attribs[$key]);
+ $val = strtolower($val);
+ if (in_array($val, array('prepend', 'append'))) {
+ $labelPlacement = $val;
+ }
+ break;
+ }
+ }
+
+ // the radio button values and labels
+ $options = (array) $options;
+
+ // build the element
+ $xhtml = '';
+ $list = array();
+
+ // should the name affect an array collection?
+ $name = $this->view->escape($name);
+ if ($this->_isArray && ('[]' != substr($name, -2))) {
+ $name .= '[]';
+ }
+
+ // ensure value is an array to allow matching multiple times
+ $value = (array) $value;
+
+ // Set up the filter - Alnum + hyphen + underscore
+ $pattern = @preg_match('/\pL/u', 'a')
+ ? '/[^\p{L}\p{N}\-\_]/u' // Unicode
+ : '/[^a-zA-Z0-9\-\_]/'; // No Unicode
+ $filter = new Zend_Filter_PregReplace($pattern, "");
+
+ // add radio buttons to the list.
+ foreach ($options as $opt_value => $opt_label) {
+
+ // Should the label be escaped?
+ if ($escape) {
+ $opt_label = $this->view->escape($opt_label);
+ }
+
+ // is it disabled?
+ $disabled = '';
+ if (true === $disable) {
+ $disabled = ' disabled="disabled"';
+ } elseif (is_array($disable) && in_array($opt_value, $disable)) {
+ $disabled = ' disabled="disabled"';
+ }
+
+ // is it checked?
+ $checked = '';
+ if (in_array($opt_value, $value)) {
+ $checked = ' checked="checked"';
+ }
+
+ // generate ID
+ $optId = $id . '-' . $filter->filter($opt_value);
+
+ // Wrap the radios in labels
+ $radio = '<label'
+ . $this->_htmlAttribs($label_attribs) . '>'
+ . (('prepend' == $labelPlacement) ? $opt_label : '')
+ . '<input type="' . $this->_inputType . '"'
+ . ' name="' . $name . '"'
+ . ' id="' . $optId . '"'
+ . ' value="' . $this->view->escape($opt_value) . '"'
+ . $checked
+ . $disabled
+ . $this->_htmlAttribs($attribs)
+ . $this->getClosingBracket()
+ . (('append' == $labelPlacement) ? $opt_label : '')
+ . '</label>';
+
+ // add to the array of radio buttons
+ $list[] = $radio;
+ }
+
+ // XHTML or HTML for standard list separator?
+ if (!$this->_isXhtml() && false !== strpos($listsep, '<br />')) {
+ $listsep = str_replace('<br />', '<br>', $listsep);
+ }
+
+ // done!
+ $xhtml .= implode($listsep, $list);
+
+ return $xhtml;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/FormReset.php b/library/vendor/Zend/View/Helper/FormReset.php
new file mode 100644
index 0000000..d6276f6
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormReset.php
@@ -0,0 +1,81 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+
+/**
+ * Abstract class for extension
+ */
+
+
+/**
+ * Helper to generate a "reset" button
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_FormReset extends Zend_View_Helper_FormElement
+{
+ /**
+ * Generates a 'reset' button.
+ *
+ * @access public
+ *
+ * @param string|array $name If a string, the element name. If an
+ * array, all other parameters are ignored, and the array elements
+ * are extracted in place of added parameters.
+ *
+ * @param mixed $value The element value.
+ *
+ * @param array $attribs Attributes for the element tag.
+ *
+ * @return string The element XHTML.
+ */
+ public function formReset($name = '', $value = 'Reset', $attribs = null)
+ {
+ $info = $this->_getInfo($name, $value, $attribs);
+ extract($info); // name, value, attribs, options, listsep, disable
+
+ // check if disabled
+ $disabled = '';
+ if ($disable) {
+ $disabled = ' disabled="disabled"';
+ }
+
+ // Render button
+ $xhtml = '<input type="reset"'
+ . ' name="' . $this->view->escape($name) . '"'
+ . ' id="' . $this->view->escape($id) . '"'
+ . $disabled;
+
+ // add a value if one is given
+ if (! empty($value)) {
+ $xhtml .= ' value="' . $this->view->escape($value) . '"';
+ }
+
+ // add attributes, close, and return
+ $xhtml .= $this->_htmlAttribs($attribs) . $this->getClosingBracket();
+ return $xhtml;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/FormSelect.php b/library/vendor/Zend/View/Helper/FormSelect.php
new file mode 100644
index 0000000..82709b1
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormSelect.php
@@ -0,0 +1,199 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+
+/**
+ * Abstract class for extension
+ */
+
+
+/**
+ * Helper to generate "select" list of options
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_FormSelect extends Zend_View_Helper_FormElement
+{
+ /**
+ * Generates 'select' list of options.
+ *
+ * @access public
+ *
+ * @param string|array $name If a string, the element name. If an
+ * array, all other parameters are ignored, and the array elements
+ * are extracted in place of added parameters.
+ *
+ * @param mixed $value The option value to mark as 'selected'; if an
+ * array, will mark all values in the array as 'selected' (used for
+ * multiple-select elements).
+ *
+ * @param array|string $attribs Attributes added to the 'select' tag.
+ * the optional 'optionClasses' attribute is used to add a class to
+ * the options within the select (associative array linking the option
+ * value to the desired class)
+ *
+ * @param array $options An array of key-value pairs where the array
+ * key is the radio value, and the array value is the radio text.
+ *
+ * @param string $listsep When disabled, use this list separator string
+ * between list values.
+ *
+ * @return string The select tag and options XHTML.
+ */
+ public function formSelect($name, $value = null, $attribs = null,
+ $options = null, $listsep = "<br />\n")
+ {
+ $info = $this->_getInfo($name, $value, $attribs, $options, $listsep);
+ extract($info); // name, id, value, attribs, options, listsep, disable
+
+ // force $value to array so we can compare multiple values to multiple
+ // options; also ensure it's a string for comparison purposes.
+ $value = array_map('strval', (array) $value);
+
+ // check if element may have multiple values
+ $multiple = '';
+
+ if (substr($name, -2) == '[]') {
+ // multiple implied by the name
+ $multiple = ' multiple="multiple"';
+ }
+
+ if (isset($attribs['multiple'])) {
+ // Attribute set
+ if ($attribs['multiple']) {
+ // True attribute; set multiple attribute
+ $multiple = ' multiple="multiple"';
+
+ // Make sure name indicates multiple values are allowed
+ if (!empty($multiple) && (substr($name, -2) != '[]')) {
+ $name .= '[]';
+ }
+ } else {
+ // False attribute; ensure attribute not set
+ $multiple = '';
+ }
+ unset($attribs['multiple']);
+ }
+
+ // handle the options classes
+ $optionClasses = array();
+ if (isset($attribs['optionClasses'])) {
+ $optionClasses = $attribs['optionClasses'];
+ unset($attribs['optionClasses']);
+ }
+
+ // now start building the XHTML.
+ $disabled = '';
+ if (true === $disable) {
+ $disabled = ' disabled="disabled"';
+ }
+
+ // Build the surrounding select element first.
+ $xhtml = '<select'
+ . ' name="' . $this->view->escape($name) . '"'
+ . ' id="' . $this->view->escape($id) . '"'
+ . $multiple
+ . $disabled
+ . $this->_htmlAttribs($attribs)
+ . ">\n ";
+
+ // build the list of options
+ $list = array();
+ $translator = $this->getTranslator();
+ foreach ((array) $options as $opt_value => $opt_label) {
+ if (is_array($opt_label)) {
+ $opt_disable = '';
+ if (is_array($disable) && in_array($opt_value, $disable)) {
+ $opt_disable = ' disabled="disabled"';
+ }
+ if (null !== $translator) {
+ $opt_value = $translator->translate($opt_value);
+ }
+ $opt_id = ' id="' . $this->view->escape($id) . '-optgroup-'
+ . $this->view->escape($opt_value) . '"';
+ $list[] = '<optgroup'
+ . $opt_disable
+ . $opt_id
+ . ' label="' . $this->view->escape($opt_value) .'">';
+ foreach ($opt_label as $val => $lab) {
+ $list[] = $this->_build($val, $lab, $value, $disable, $optionClasses);
+ }
+ $list[] = '</optgroup>';
+ } else {
+ $list[] = $this->_build($opt_value, $opt_label, $value, $disable, $optionClasses);
+ }
+ }
+
+ // add the options to the xhtml and close the select
+ $xhtml .= implode("\n ", $list) . "\n</select>";
+
+ return $xhtml;
+ }
+
+ /**
+ * Builds the actual <option> tag
+ *
+ * @param string $value Options Value
+ * @param string $label Options Label
+ * @param array $selected The option value(s) to mark as 'selected'
+ * @param array|bool $disable Whether the select is disabled, or individual options are
+ * @param array $optionClasses The classes to associate with each option value
+ * @return string Option Tag XHTML
+ */
+ protected function _build($value, $label, $selected, $disable, $optionClasses = array())
+ {
+ if (is_bool($disable)) {
+ $disable = array();
+ }
+
+ $class = null;
+ if (array_key_exists($value, $optionClasses)) {
+ $class = $optionClasses[$value];
+ }
+
+
+ $opt = '<option'
+ . ' value="' . $this->view->escape($value) . '"';
+
+ if ($class) {
+ $opt .= ' class="' . $class . '"';
+ }
+ // selected?
+ if (in_array((string) $value, $selected)) {
+ $opt .= ' selected="selected"';
+ }
+
+ // disabled?
+ if (in_array($value, $disable)) {
+ $opt .= ' disabled="disabled"';
+ }
+
+ $opt .= '>' . $this->view->escape($label) . "</option>";
+
+ return $opt;
+ }
+
+}
diff --git a/library/vendor/Zend/View/Helper/FormSubmit.php b/library/vendor/Zend/View/Helper/FormSubmit.php
new file mode 100644
index 0000000..959feb1
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormSubmit.php
@@ -0,0 +1,80 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+
+/**
+ * Abstract class for extension
+ */
+
+
+/**
+ * Helper to generate a "submit" button
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_FormSubmit extends Zend_View_Helper_FormElement
+{
+ /**
+ * Generates a 'submit' button.
+ *
+ * @access public
+ *
+ * @param string|array $name If a string, the element name. If an
+ * array, all other parameters are ignored, and the array elements
+ * are extracted in place of added parameters.
+ *
+ * @param mixed $value The element value.
+ *
+ * @param array $attribs Attributes for the element tag.
+ *
+ * @return string The element XHTML.
+ */
+ public function formSubmit($name, $value = null, $attribs = null)
+ {
+ $info = $this->_getInfo($name, $value, $attribs);
+ extract($info); // name, value, attribs, options, listsep, disable, id
+ // check if disabled
+ $disabled = '';
+ if ($disable) {
+ $disabled = ' disabled="disabled"';
+ }
+
+ if ($id) {
+ $id = ' id="' . $this->view->escape($id) . '"';
+ }
+
+ // Render the button.
+ $xhtml = '<input type="submit"'
+ . ' name="' . $this->view->escape($name) . '"'
+ . $id
+ . ' value="' . $this->view->escape($value) . '"'
+ . $disabled
+ . $this->_htmlAttribs($attribs)
+ . $this->getClosingBracket();
+
+ return $xhtml;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/FormText.php b/library/vendor/Zend/View/Helper/FormText.php
new file mode 100644
index 0000000..8b2dbd9
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormText.php
@@ -0,0 +1,77 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+
+/**
+ * Abstract class for extension
+ */
+
+
+/**
+ * Helper to generate a "text" element
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_FormText extends Zend_View_Helper_FormElement
+{
+ /**
+ * Generates a 'text' element.
+ *
+ * @access public
+ *
+ * @param string|array $name If a string, the element name. If an
+ * array, all other parameters are ignored, and the array elements
+ * are used in place of added parameters.
+ *
+ * @param mixed $value The element value.
+ *
+ * @param array $attribs Attributes for the element tag.
+ *
+ * @return string The element XHTML.
+ */
+ public function formText($name, $value = null, $attribs = null)
+ {
+ $info = $this->_getInfo($name, $value, $attribs);
+ extract($info); // name, value, attribs, options, listsep, disable
+
+ // build the element
+ $disabled = '';
+ if ($disable) {
+ // disabled
+ $disabled = ' disabled="disabled"';
+ }
+
+ $xhtml = '<input type="text"'
+ . ' name="' . $this->view->escape($name) . '"'
+ . ' id="' . $this->view->escape($id) . '"'
+ . ' value="' . $this->view->escape($value) . '"'
+ . $disabled
+ . $this->_htmlAttribs($attribs)
+ . $this->getClosingBracket();
+
+ return $xhtml;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/FormTextarea.php b/library/vendor/Zend/View/Helper/FormTextarea.php
new file mode 100644
index 0000000..7fa8442
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/FormTextarea.php
@@ -0,0 +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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+
+/**
+ * Abstract class for extension
+ */
+
+
+/**
+ * Helper to generate a "textarea" element
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_FormTextarea extends Zend_View_Helper_FormElement
+{
+ /**
+ * The default number of rows for a textarea.
+ *
+ * @access public
+ *
+ * @var int
+ */
+ public $rows = 24;
+
+ /**
+ * The default number of columns for a textarea.
+ *
+ * @access public
+ *
+ * @var int
+ */
+ public $cols = 80;
+
+ /**
+ * Generates a 'textarea' element.
+ *
+ * @access public
+ *
+ * @param string|array $name If a string, the element name. If an
+ * array, all other parameters are ignored, and the array elements
+ * are extracted in place of added parameters.
+ *
+ * @param mixed $value The element value.
+ *
+ * @param array $attribs Attributes for the element tag.
+ *
+ * @return string The element XHTML.
+ */
+ public function formTextarea($name, $value = null, $attribs = null)
+ {
+ $info = $this->_getInfo($name, $value, $attribs);
+ extract($info); // name, value, attribs, options, listsep, disable
+
+ // is it disabled?
+ $disabled = '';
+ if ($disable) {
+ // disabled.
+ $disabled = ' disabled="disabled"';
+ }
+
+ // Make sure that there are 'rows' and 'cols' values
+ // as required by the spec. noted by Orjan Persson.
+ if (empty($attribs['rows'])) {
+ $attribs['rows'] = (int) $this->rows;
+ }
+ if (empty($attribs['cols'])) {
+ $attribs['cols'] = (int) $this->cols;
+ }
+
+ // build the element
+ $xhtml = '<textarea name="' . $this->view->escape($name) . '"'
+ . ' id="' . $this->view->escape($id) . '"'
+ . $disabled
+ . $this->_htmlAttribs($attribs) . '>'
+ . $this->view->escape($value) . '</textarea>';
+
+ return $xhtml;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Gravatar.php b/library/vendor/Zend/View/Helper/Gravatar.php
new file mode 100644
index 0000000..1afc4cb
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Gravatar.php
@@ -0,0 +1,361 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id: Doctype.php 16971 2009-07-22 18:05:45Z mikaelkael $
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_HtmlElement */
+
+/**
+ * Helper for retrieving avatars from gravatar.com
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @link http://pl.gravatar.com/site/implement/url
+ */
+class Zend_View_Helper_Gravatar extends Zend_View_Helper_HtmlElement
+{
+
+ /**
+ * URL to gravatar service
+ */
+ const GRAVATAR_URL = 'http://www.gravatar.com/avatar';
+ /**
+ * Secure URL to gravatar service
+ */
+ const GRAVATAR_URL_SECURE = 'https://secure.gravatar.com/avatar';
+
+ /**
+ * Gravatar rating
+ */
+ const RATING_G = 'g';
+ const RATING_PG = 'pg';
+ const RATING_R = 'r';
+ const RATING_X = 'x';
+
+ /**
+ * Default gravatar image value constants
+ */
+ const DEFAULT_404 = '404';
+ const DEFAULT_MM = 'mm';
+ const DEFAULT_IDENTICON = 'identicon';
+ const DEFAULT_MONSTERID = 'monsterid';
+ const DEFAULT_WAVATAR = 'wavatar';
+
+ /**
+ * Options
+ *
+ * @var array
+ */
+ protected $_options = array(
+ 'img_size' => 80,
+ 'default_img' => self::DEFAULT_MM,
+ 'rating' => self::RATING_G,
+ 'secure' => null,
+ );
+
+ /**
+ * Email Adress
+ *
+ * @var string
+ */
+ protected $_email;
+
+ /**
+ * Attributes for HTML image tag
+ *
+ * @var array
+ */
+ protected $_attribs;
+
+ /**
+ * Returns an avatar from gravatar's service.
+ *
+ * $options may include the following:
+ * - 'img_size' int height of img to return
+ * - 'default_img' string img to return if email adress has not found
+ * - 'rating' string rating parameter for avatar
+ * - 'secure' bool load from the SSL or Non-SSL location
+ *
+ * @see http://pl.gravatar.com/site/implement/url
+ * @see http://pl.gravatar.com/site/implement/url More information about gravatar's service.
+ * @param string|null $email Email adress.
+ * @param null|array $options Options
+ * @param array $attribs Attributes for image tag (title, alt etc.)
+ * @return Zend_View_Helper_Gravatar
+ */
+ public function gravatar($email = "", $options = array(), $attribs = array())
+ {
+ $this->setEmail($email);
+ $this->setOptions($options);
+ $this->setAttribs($attribs);
+ return $this;
+ }
+
+ /**
+ * Configure state
+ *
+ * @param array $options
+ * @return Zend_View_Helper_Gravatar
+ */
+ public function setOptions(array $options)
+ {
+ foreach ($options as $key => $value) {
+ $method = 'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', $key)));
+ if (method_exists($this, $method)) {
+ $this->{$method}($value);
+ }
+ }
+ return $this;
+ }
+
+ /**
+ * Get img size
+ *
+ * @return int The img size
+ */
+ public function getImgSize()
+ {
+ return $this->_options['img_size'];
+ }
+
+ /**
+ * Set img size in pixels
+ *
+ * @param int $imgSize Size of img must be between 1 and 512
+ * @return Zend_View_Helper_Gravatar
+ */
+ public function setImgSize($imgSize)
+ {
+ $this->_options['img_size'] = (int) $imgSize;
+ return $this;
+ }
+
+ /**
+ * Get default img
+ *
+ * @return string
+ */
+ public function getDefaultImg()
+ {
+ return $this->_options['default_img'];
+ }
+
+ /**
+ * Set default img
+ *
+ * Can be either an absolute URL to an image, or one of the DEFAULT_* constants
+ *
+ * @param string $defaultImg
+ * @link http://pl.gravatar.com/site/implement/url More information about default image.
+ * @return Zend_View_Helper_Gravatar
+ */
+ public function setDefaultImg($defaultImg)
+ {
+ $this->_options['default_img'] = urlencode($defaultImg);
+ return $this;
+ }
+
+ /**
+ * Set rating value
+ *
+ * Must be one of the RATING_* constants
+ *
+ * @param string $rating Value for rating. Allowed values are: g, px, r,x
+ * @link http://pl.gravatar.com/site/implement/url More information about rating.
+ * @throws Zend_View_Exception
+ */
+ public function setRating($rating)
+ {
+ switch ($rating) {
+ case self::RATING_G:
+ case self::RATING_PG:
+ case self::RATING_R:
+ case self::RATING_X:
+ $this->_options['rating'] = $rating;
+ break;
+ default:
+ throw new Zend_View_Exception(sprintf(
+ 'The rating value "%s" is not allowed',
+ $rating
+ ));
+ }
+ return $this;
+ }
+
+ /**
+ * Get rating value
+ *
+ * @return string
+ */
+ public function getRating()
+ {
+ return $this->_options['rating'];
+ }
+
+ /**
+ * Set email adress
+ *
+ * @param string $email
+ * @return Zend_View_Helper_Gravatar
+ */
+ public function setEmail( $email )
+ {
+ $this->_email = $email;
+ return $this;
+ }
+
+ /**
+ * Get email adress
+ *
+ * @return string
+ */
+ public function getEmail()
+ {
+ return $this->_email;
+ }
+
+ /**
+ * Load from an SSL or No-SSL location?
+ *
+ * @param bool $flag
+ * @return Zend_View_Helper_Gravatar
+ */
+ public function setSecure($flag)
+ {
+ $this->_options['secure'] = ($flag === null) ? null : (bool) $flag;
+ return $this;
+ }
+
+ /**
+ * Get an SSL or a No-SSL location
+ *
+ * @return bool
+ */
+ public function getSecure()
+ {
+ if ($this->_options['secure'] === null) {
+ return (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off');
+ }
+ return $this->_options['secure'];
+ }
+
+ /**
+ * Get attribs of image
+ *
+ * Warning!
+ * If you set src attrib, you get it, but this value will be overwritten in
+ * protected method _setSrcAttribForImg(). And finally your get other src
+ * value!
+ *
+ * @return array
+ */
+ public function getAttribs()
+ {
+ return $this->_attribs;
+ }
+
+ /**
+ * Set attribs for image tag
+ *
+ * Warning! You shouldn't set src attrib for image tag.
+ * This attrib is overwritten in protected method _setSrcAttribForImg().
+ * This method(_setSrcAttribForImg) is called in public method getImgTag().
+
+ * @param array $attribs
+ * @return Zend_View_Helper_Gravatar
+ */
+ public function setAttribs(array $attribs)
+ {
+ $this->_attribs = $attribs;
+ return $this;
+ }
+
+ /**
+ * Get URL to gravatar's service.
+ *
+ * @return string URL
+ */
+ protected function _getGravatarUrl()
+ {
+ return ($this->getSecure() === false) ? self::GRAVATAR_URL : self::GRAVATAR_URL_SECURE;
+ }
+
+ /**
+ * Get avatar url (including size, rating and default image oprions)
+ *
+ * @return string
+ */
+ protected function _getAvatarUrl()
+ {
+ $src = $this->_getGravatarUrl()
+ . '/'
+ . md5(strtolower(trim($this->getEmail())))
+ . '?s='
+ . $this->getImgSize()
+ . '&d='
+ . $this->getDefaultImg()
+ . '&r='
+ . $this->getRating();
+ return $src;
+ }
+
+ /**
+ * Set src attrib for image.
+ *
+ * You shouldn't set a own url value!
+ * It sets value, uses protected method _getAvatarUrl.
+ *
+ * If already exsist overwritten.
+ */
+ protected function _setSrcAttribForImg()
+ {
+ $attribs = $this->getAttribs();
+ $attribs['src'] = $this->_getAvatarUrl();
+ $this->setAttribs($attribs);
+ }
+
+ /**
+ * Return valid image tag
+ *
+ * @return string
+ */
+ public function getImgTag()
+ {
+ $this->_setSrcAttribForImg();
+ $html = '<img'
+ . $this->_htmlAttribs($this->getAttribs())
+ . $this->getClosingBracket();
+
+ return $html;
+ }
+
+ /**
+ * Return valid image tag
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ return $this->getImgTag();
+
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/HeadLink.php b/library/vendor/Zend/View/Helper/HeadLink.php
new file mode 100644
index 0000000..3b1bcb7
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/HeadLink.php
@@ -0,0 +1,471 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_Placeholder_Container_Standalone */
+
+/**
+ * Zend_Layout_View_Helper_HeadLink
+ *
+ * @see http://www.w3.org/TR/xhtml1/dtds.html
+ * @uses Zend_View_Helper_Placeholder_Container_Standalone
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @method $this appendAlternate($href, $type, $title, $extras)
+ * @method $this appendStylesheet($href, $media = 'screen', $conditionalStylesheet = false, array $extras = array())
+ * @method $this offsetSetAlternate($index, $href, $type, $title, $extras)
+ * @method $this offsetSetStylesheet($index, $href, $media = 'screen', $conditionalStylesheet = false, array $extras = array())
+ * @method $this prependAlternate($href, $type, $title, $extras)
+ * @method $this prependStylesheet($href, $media = 'screen', $conditionalStylesheet = false, array $extras = array())
+ * @method $this setAlternate($href, $type, $title, $extras)
+ * @method $this setStylesheet($href, $media = 'screen', $conditionalStylesheet = false, array $extras = array())
+ */
+class Zend_View_Helper_HeadLink extends Zend_View_Helper_Placeholder_Container_Standalone
+{
+ /**
+ * $_validAttributes
+ *
+ * @var array
+ */
+ protected $_itemKeys = array(
+ 'charset',
+ 'href',
+ 'hreflang',
+ 'id',
+ 'media',
+ 'rel',
+ 'rev',
+ 'type',
+ 'title',
+ 'extras',
+ 'sizes',
+ );
+
+ /**
+ * @var string registry key
+ */
+ protected $_regKey = 'Zend_View_Helper_HeadLink';
+
+ /**
+ * Constructor
+ *
+ * Use PHP_EOL as separator
+ *
+ * @return void
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ $this->setSeparator(PHP_EOL);
+ }
+
+ /**
+ * headLink() - View Helper Method
+ *
+ * Returns current object instance. Optionally, allows passing array of
+ * values to build link.
+ *
+ * @return Zend_View_Helper_HeadLink
+ */
+ public function headLink(array $attributes = null, $placement = Zend_View_Helper_Placeholder_Container_Abstract::APPEND)
+ {
+ if (null !== $attributes) {
+ $item = $this->createData($attributes);
+ switch ($placement) {
+ case Zend_View_Helper_Placeholder_Container_Abstract::SET:
+ $this->set($item);
+ break;
+ case Zend_View_Helper_Placeholder_Container_Abstract::PREPEND:
+ $this->prepend($item);
+ break;
+ case Zend_View_Helper_Placeholder_Container_Abstract::APPEND:
+ default:
+ $this->append($item);
+ break;
+ }
+ }
+ return $this;
+ }
+
+ /**
+ * Overload method access
+ *
+ * Creates the following virtual methods:
+ * - appendStylesheet($href, $media, $conditionalStylesheet, $extras)
+ * - offsetSetStylesheet($index, $href, $media, $conditionalStylesheet, $extras)
+ * - prependStylesheet($href, $media, $conditionalStylesheet, $extras)
+ * - setStylesheet($href, $media, $conditionalStylesheet, $extras)
+ * - appendAlternate($href, $type, $title, $extras)
+ * - offsetSetAlternate($index, $href, $type, $title, $extras)
+ * - prependAlternate($href, $type, $title, $extras)
+ * - setAlternate($href, $type, $title, $extras)
+ *
+ * Items that may be added in the future:
+ * - Navigation? need to find docs on this
+ * - public function appendStart()
+ * - public function appendContents()
+ * - public function appendPrev()
+ * - public function appendNext()
+ * - public function appendIndex()
+ * - public function appendEnd()
+ * - public function appendGlossary()
+ * - public function appendAppendix()
+ * - public function appendHelp()
+ * - public function appendBookmark()
+ * - Other?
+ * - public function appendCopyright()
+ * - public function appendChapter()
+ * - public function appendSection()
+ * - public function appendSubsection()
+ *
+ * @param mixed $method
+ * @param mixed $args
+ * @return void
+ */
+ public function __call($method, $args)
+ {
+ if (preg_match('/^(?P<action>set|(ap|pre)pend|offsetSet)(?P<type>Stylesheet|Alternate)$/', $method, $matches)) {
+ $argc = count($args);
+ $action = $matches['action'];
+ $type = $matches['type'];
+ $index = null;
+
+ if ('offsetSet' == $action) {
+ if (0 < $argc) {
+ $index = array_shift($args);
+ --$argc;
+ }
+ }
+
+ if (1 > $argc) {
+ $e = new Zend_View_Exception(sprintf('%s requires at least one argument', $method));
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ if (is_array($args[0])) {
+ $item = $this->createData($args[0]);
+ } else {
+ $dataMethod = 'createData' . $type;
+ $item = $this->$dataMethod($args);
+ }
+
+ if ($item) {
+ if ('offsetSet' == $action) {
+ $this->offsetSet($index, $item);
+ } else {
+ $this->$action($item);
+ }
+ }
+
+ return $this;
+ }
+
+ return parent::__call($method, $args);
+ }
+
+ /**
+ * Check if value is valid
+ *
+ * @param mixed $value
+ * @return boolean
+ */
+ protected function _isValid($value)
+ {
+ if (!$value instanceof stdClass) {
+ return false;
+ }
+
+ $vars = get_object_vars($value);
+ $keys = array_keys($vars);
+ $intersection = array_intersect($this->_itemKeys, $keys);
+ if (empty($intersection)) {
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * append()
+ *
+ * @param array $value
+ * @return void
+ */
+ public function append($value)
+ {
+ if (!$this->_isValid($value)) {
+ $e = new Zend_View_Exception('append() expects a data token; please use one of the custom append*() methods');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ return $this->getContainer()->append($value);
+ }
+
+ /**
+ * offsetSet()
+ *
+ * @param string|int $index
+ * @param array $value
+ * @return void
+ */
+ public function offsetSet($index, $value): void
+ {
+ if (!$this->_isValid($value)) {
+ $e = new Zend_View_Exception('offsetSet() expects a data token; please use one of the custom offsetSet*() methods');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $this->getContainer()->offsetSet($index, $value);
+ }
+
+ /**
+ * prepend()
+ *
+ * @param array $value
+ * @return Zend_Layout_ViewHelper_HeadLink
+ */
+ public function prepend($value)
+ {
+ if (!$this->_isValid($value)) {
+ $e = new Zend_View_Exception('prepend() expects a data token; please use one of the custom prepend*() methods');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ return $this->getContainer()->prepend($value);
+ }
+
+ /**
+ * set()
+ *
+ * @param array $value
+ * @return Zend_Layout_ViewHelper_HeadLink
+ */
+ public function set($value)
+ {
+ if (!$this->_isValid($value)) {
+ $e = new Zend_View_Exception('set() expects a data token; please use one of the custom set*() methods');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ return $this->getContainer()->set($value);
+ }
+
+
+ /**
+ * Create HTML link element from data item
+ *
+ * @param stdClass $item
+ * @return string
+ */
+ public function itemToString(stdClass $item)
+ {
+ $attributes = (array) $item;
+ $link = '<link ';
+
+ foreach ($this->_itemKeys as $itemKey) {
+ if (isset($attributes[$itemKey])) {
+ if(is_array($attributes[$itemKey])) {
+ foreach($attributes[$itemKey] as $key => $value) {
+ $link .= sprintf('%s="%s" ', $key, ($this->_autoEscape) ? $this->_escape($value) : $value);
+ }
+ } else {
+ $link .= sprintf('%s="%s" ', $itemKey, ($this->_autoEscape) ? $this->_escape($attributes[$itemKey]) : $attributes[$itemKey]);
+ }
+ }
+ }
+
+ if ($this->view instanceof Zend_View_Abstract) {
+ $link .= ($this->view->doctype()->isXhtml()) ? '/>' : '>';
+ } else {
+ $link .= '/>';
+ }
+
+ if (($link == '<link />') || ($link == '<link >')) {
+ return '';
+ }
+
+ if (isset($attributes['conditionalStylesheet'])
+ && !empty($attributes['conditionalStylesheet'])
+ && is_string($attributes['conditionalStylesheet']))
+ {
+ if (str_replace(' ', '', $attributes['conditionalStylesheet']) === '!IE') {
+ $link = '<!-->' . $link . '<!--';
+ }
+ $link = '<!--[if ' . $attributes['conditionalStylesheet'] . ']>' . $link . '<![endif]-->';
+ }
+
+ return $link;
+ }
+
+ /**
+ * Render link elements as string
+ *
+ * @param string|int $indent
+ * @return string
+ */
+ public function toString($indent = null)
+ {
+ $indent = (null !== $indent)
+ ? $this->getWhitespace($indent)
+ : $this->getIndent();
+
+ $items = array();
+ $this->getContainer()->ksort();
+ foreach ($this as $item) {
+ $items[] = $this->itemToString($item);
+ }
+
+ return $indent . implode($this->_escape($this->getSeparator()) . $indent, $items);
+ }
+
+ /**
+ * Create data item for stack
+ *
+ * @param array $attributes
+ * @return stdClass
+ */
+ public function createData(array $attributes)
+ {
+ $data = (object) $attributes;
+ return $data;
+ }
+
+ /**
+ * Create item for stylesheet link item
+ *
+ * @param array $args
+ * @return stdClass|false Returns fals if stylesheet is a duplicate
+ */
+ public function createDataStylesheet(array $args)
+ {
+ $rel = 'stylesheet';
+ $type = 'text/css';
+ $media = 'screen';
+ $conditionalStylesheet = false;
+ $href = array_shift($args);
+
+ if ($this->_isDuplicateStylesheet($href)) {
+ return false;
+ }
+
+ if (0 < count($args)) {
+ $media = array_shift($args);
+ if(is_array($media)) {
+ $media = implode(',', $media);
+ } else {
+ $media = (string) $media;
+ }
+ }
+ if (0 < count($args)) {
+ $conditionalStylesheet = array_shift($args);
+ if(!empty($conditionalStylesheet) && is_string($conditionalStylesheet)) {
+ $conditionalStylesheet = (string) $conditionalStylesheet;
+ } else {
+ $conditionalStylesheet = null;
+ }
+ }
+
+ if(0 < count($args) && is_array($args[0])) {
+ $extras = array_shift($args);
+ $extras = (array) $extras;
+ }
+
+ $attributes = compact('rel', 'type', 'href', 'media', 'conditionalStylesheet', 'extras');
+ return $this->createData($this->_applyExtras($attributes));
+ }
+
+ /**
+ * Is the linked stylesheet a duplicate?
+ *
+ * @param string $uri
+ * @return bool
+ */
+ protected function _isDuplicateStylesheet($uri)
+ {
+ foreach ($this->getContainer() as $item) {
+ if (($item->rel == 'stylesheet') && ($item->href == $uri)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Create item for alternate link item
+ *
+ * @param array $args
+ * @return stdClass
+ */
+ public function createDataAlternate(array $args)
+ {
+ if (3 > count($args)) {
+ $e = new Zend_View_Exception(sprintf('Alternate tags require 3 arguments; %s provided', count($args)));
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $rel = 'alternate';
+ $href = array_shift($args);
+ $type = array_shift($args);
+ $title = array_shift($args);
+
+ if(0 < count($args) && is_array($args[0])) {
+ $extras = array_shift($args);
+ $extras = (array) $extras;
+
+ if(isset($extras['media']) && is_array($extras['media'])) {
+ $extras['media'] = implode(',', $extras['media']);
+ }
+ }
+
+ $href = (string) $href;
+ $type = (string) $type;
+ $title = (string) $title;
+
+ $attributes = compact('rel', 'href', 'type', 'title', 'extras');
+ return $this->createData($this->_applyExtras($attributes));
+ }
+
+ /**
+ * Apply any overrides specified in the 'extras' array
+ * @param array $attributes
+ * @return array
+ */
+ protected function _applyExtras($attributes)
+ {
+ if (isset($attributes['extras'])) {
+ foreach ($attributes['extras'] as $eKey=>$eVal) {
+ if (isset($attributes[$eKey])) {
+ $attributes[$eKey] = $eVal;
+ unset($attributes['extras'][$eKey]);
+ }
+ }
+ }
+ return $attributes;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/HeadMeta.php b/library/vendor/Zend/View/Helper/HeadMeta.php
new file mode 100644
index 0000000..88cd3a7
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/HeadMeta.php
@@ -0,0 +1,440 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_Placeholder_Container_Standalone */
+
+/**
+ * Zend_Layout_View_Helper_HeadMeta
+ *
+ * @see http://www.w3.org/TR/xhtml1/dtds.html
+ * @uses Zend_View_Helper_Placeholder_Container_Standalone
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @method $this appendHttpEquiv($keyValue, $content, $conditionalHttpEquiv)
+ * @method $this appendName($keyValue, $content, $conditionalName)
+ * @method $this appendProperty($property, $content, $modifiers)
+ * @method $this offsetSetHttpEquiv($index, $keyValue, $content, $conditionalHttpEquiv)
+ * @method $this offsetSetName($index, $keyValue, $content, $conditionalName)
+ * @method $this offsetSetProperty($index, $property, $content, $modifiers)
+ * @method $this prependHttpEquiv($keyValue, $content, $conditionalHttpEquiv)
+ * @method $this prependName($keyValue, $content, $conditionalName)
+ * @method $this prependProperty($property, $content, $modifiers)
+ * @method $this setCharset($charset)
+ * @method $this setHttpEquiv($keyValue, $content, $modifiers)
+ * @method $this setName($keyValue, $content, $modifiers)
+ * @method $this setProperty($property, $content, $modifiers)
+ */
+class Zend_View_Helper_HeadMeta extends Zend_View_Helper_Placeholder_Container_Standalone
+{
+ /**
+ * Types of attributes
+ * @var array
+ */
+ protected $_typeKeys = array('name', 'http-equiv', 'charset', 'property');
+ protected $_requiredKeys = array('content');
+ protected $_modifierKeys = array('lang', 'scheme');
+
+ /**
+ * @var string registry key
+ */
+ protected $_regKey = 'Zend_View_Helper_HeadMeta';
+
+ /**
+ * Constructor
+ *
+ * Set separator to PHP_EOL
+ *
+ * @return void
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ $this->setSeparator(PHP_EOL);
+ }
+
+ /**
+ * Retrieve object instance; optionally add meta tag
+ *
+ * @param string $content
+ * @param string $keyValue
+ * @param string $keyType
+ * @param array $modifiers
+ * @param string $placement
+ * @return Zend_View_Helper_HeadMeta
+ */
+ public function headMeta($content = null, $keyValue = null, $keyType = 'name', $modifiers = array(), $placement = Zend_View_Helper_Placeholder_Container_Abstract::APPEND)
+ {
+ if ((null !== $content) && (null !== $keyValue)) {
+ $item = $this->createData($keyType, $keyValue, $content, $modifiers);
+ $action = strtolower($placement);
+ switch ($action) {
+ case 'append':
+ case 'prepend':
+ case 'set':
+ $this->$action($item);
+ break;
+ default:
+ $this->append($item);
+ break;
+ }
+ }
+
+ return $this;
+ }
+
+ protected function _normalizeType($type)
+ {
+ switch ($type) {
+ case 'Name':
+ return 'name';
+ case 'HttpEquiv':
+ return 'http-equiv';
+ case 'Property':
+ return 'property';
+ default:
+ $e = new Zend_View_Exception(sprintf('Invalid type "%s" passed to _normalizeType', $type));
+ $e->setView($this->view);
+ throw $e;
+ }
+ }
+
+ /**
+ * Overload method access
+ *
+ * Allows the following 'virtual' methods:
+ * - appendName($keyValue, $content, $modifiers = array())
+ * - offsetGetName($index, $keyValue, $content, $modifers = array())
+ * - prependName($keyValue, $content, $modifiers = array())
+ * - setName($keyValue, $content, $modifiers = array())
+ * - appendHttpEquiv($keyValue, $content, $modifiers = array())
+ * - offsetGetHttpEquiv($index, $keyValue, $content, $modifers = array())
+ * - prependHttpEquiv($keyValue, $content, $modifiers = array())
+ * - setHttpEquiv($keyValue, $content, $modifiers = array())
+ * - appendProperty($keyValue, $content, $modifiers = array())
+ * - offsetGetProperty($index, $keyValue, $content, $modifiers = array())
+ * - prependProperty($keyValue, $content, $modifiers = array())
+ * - setProperty($keyValue, $content, $modifiers = array())
+ *
+ * @param string $method
+ * @param array $args
+ * @return Zend_View_Helper_HeadMeta
+ */
+ public function __call($method, $args)
+ {
+ if (preg_match('/^(?P<action>set|(pre|ap)pend|offsetSet)(?P<type>Name|HttpEquiv|Property)$/', $method, $matches)) {
+ $action = $matches['action'];
+ $type = $this->_normalizeType($matches['type']);
+ $argc = count($args);
+ $index = null;
+
+ if ('offsetSet' == $action) {
+ if (0 < $argc) {
+ $index = array_shift($args);
+ --$argc;
+ }
+ }
+
+ if (2 > $argc) {
+ $e = new Zend_View_Exception('Too few arguments provided; requires key value, and content');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ if (3 > $argc) {
+ $args[] = array();
+ }
+
+ $item = $this->createData($type, $args[0], $args[1], $args[2]);
+
+ if ('offsetSet' == $action) {
+ $this->offsetSet($index, $item);
+ return $this;
+ }
+
+ $this->$action($item);
+ return $this;
+ }
+
+ return parent::__call($method, $args);
+ }
+
+ /**
+ * Create an HTML5-style meta charset tag. Something like <meta charset="utf-8">
+ *
+ * Not valid in a non-HTML5 doctype
+ *
+ * @param string $charset
+ * @return Zend_View_Helper_HeadMeta Provides a fluent interface
+ */
+ public function setCharset($charset)
+ {
+ $item = new stdClass;
+ $item->type = 'charset';
+ $item->charset = $charset;
+ $item->content = null;
+ $item->modifiers = array();
+ $this->set($item);
+ return $this;
+ }
+
+ /**
+ * Determine if item is valid
+ *
+ * @param mixed $item
+ * @return boolean
+ */
+ protected function _isValid($item)
+ {
+ if ((!$item instanceof stdClass)
+ || !isset($item->type)
+ || !isset($item->modifiers))
+ {
+ return false;
+ }
+
+ $isHtml5 = is_null($this->view) ? false : $this->view->doctype()->isHtml5();
+
+ if (!isset($item->content)
+ && (! $isHtml5 || (! $isHtml5 && $item->type !== 'charset'))) {
+ return false;
+ }
+
+ // <meta property= ... /> is only supported with doctype RDFa
+ if ( !is_null($this->view) && !$this->view->doctype()->isRdfa()
+ && $item->type === 'property') {
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Append
+ *
+ * @param string $value
+ * @return void
+ * @throws Zend_View_Exception
+ */
+ public function append($value)
+ {
+ if (!$this->_isValid($value)) {
+ $e = new Zend_View_Exception('Invalid value passed to append; please use appendMeta()');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ return $this->getContainer()->append($value);
+ }
+
+ /**
+ * OffsetSet
+ *
+ * @param string|int $index
+ * @param string $value
+ * @return void
+ * @throws Zend_View_Exception
+ */
+ public function offsetSet($index, $value): void
+ {
+ if (!$this->_isValid($value)) {
+ $e = new Zend_View_Exception('Invalid value passed to offsetSet; please use offsetSetName() or offsetSetHttpEquiv()');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $this->getContainer()->offsetSet($index, $value);
+ }
+
+ /**
+ * OffsetUnset
+ *
+ * @param string|int $index
+ * @return void
+ * @throws Zend_View_Exception
+ */
+ public function offsetUnset($index): void
+ {
+ if (!in_array($index, $this->getContainer()->getKeys())) {
+ $e = new Zend_View_Exception('Invalid index passed to offsetUnset()');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $this->getContainer()->offsetUnset($index);
+ }
+
+ /**
+ * Prepend
+ *
+ * @param string $value
+ * @return void
+ * @throws Zend_View_Exception
+ */
+ public function prepend($value)
+ {
+ if (!$this->_isValid($value)) {
+ $e = new Zend_View_Exception('Invalid value passed to prepend; please use prependMeta()');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ return $this->getContainer()->prepend($value);
+ }
+
+ /**
+ * Set
+ *
+ * @param string $value
+ * @return void
+ * @throws Zend_View_Exception
+ */
+ public function set($value)
+ {
+ if (!$this->_isValid($value)) {
+ $e = new Zend_View_Exception('Invalid value passed to set; please use setMeta()');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $container = $this->getContainer();
+ foreach ($container->getArrayCopy() as $index => $item) {
+ if ($item->type == $value->type && $item->{$item->type} == $value->{$value->type}) {
+ $this->offsetUnset($index);
+ }
+ }
+
+ return $this->append($value);
+ }
+
+ /**
+ * Build meta HTML string
+ *
+ * @param string $type
+ * @param string $typeValue
+ * @param string $content
+ * @param array $modifiers
+ * @return string
+ */
+ public function itemToString(stdClass $item)
+ {
+ if (!in_array($item->type, $this->_typeKeys)) {
+ $e = new Zend_View_Exception(sprintf('Invalid type "%s" provided for meta', $item->type));
+ $e->setView($this->view);
+ throw $e;
+ }
+ $type = $item->type;
+
+ $modifiersString = '';
+ foreach ($item->modifiers as $key => $value) {
+ if (!is_null($this->view) && $this->view->doctype()->isHtml5()
+ && $key == 'scheme') {
+ throw new Zend_View_Exception('Invalid modifier '
+ . '"scheme" provided; not supported by HTML5');
+ }
+ if (!in_array($key, $this->_modifierKeys)) {
+ continue;
+ }
+ $modifiersString .= $key . '="' . $this->_escape($value) . '" ';
+ }
+
+ if ($this->view instanceof Zend_View_Abstract) {
+ if ($this->view->doctype()->isHtml5()
+ && $type == 'charset') {
+ $tpl = ($this->view->doctype()->isXhtml())
+ ? '<meta %s="%s"/>'
+ : '<meta %s="%s">';
+ } elseif ($this->view->doctype()->isXhtml()) {
+ $tpl = '<meta %s="%s" content="%s" %s/>';
+ } else {
+ $tpl = '<meta %s="%s" content="%s" %s>';
+ }
+ } else {
+ $tpl = '<meta %s="%s" content="%s" %s/>';
+ }
+
+ $meta = sprintf(
+ $tpl,
+ $type,
+ $this->_escape($item->$type),
+ $this->_escape($item->content),
+ $modifiersString
+ );
+
+ if (isset($item->modifiers['conditional'])
+ && !empty($item->modifiers['conditional'])
+ && is_string($item->modifiers['conditional']))
+ {
+ if (str_replace(' ', '', $item->modifiers['conditional']) === '!IE') {
+ $meta = '<!-->' . $meta . '<!--';
+ }
+ $meta = '<!--[if ' . $this->_escape($item->modifiers['conditional']) . ']>' . $meta . '<![endif]-->';
+ }
+
+ return $meta;
+ }
+
+ /**
+ * Render placeholder as string
+ *
+ * @param string|int $indent
+ * @return string
+ */
+ public function toString($indent = null)
+ {
+ $indent = (null !== $indent)
+ ? $this->getWhitespace($indent)
+ : $this->getIndent();
+
+ $items = array();
+ $this->getContainer()->ksort();
+ try {
+ foreach ($this as $item) {
+ $items[] = $this->itemToString($item);
+ }
+ } catch (Zend_View_Exception $e) {
+ trigger_error($e->getMessage(), E_USER_WARNING);
+ return '';
+ }
+ return $indent . implode($this->_escape($this->getSeparator()) . $indent, $items);
+ }
+
+ /**
+ * Create data item for inserting into stack
+ *
+ * @param string $type
+ * @param string $typeValue
+ * @param string $content
+ * @param array $modifiers
+ * @return stdClass
+ */
+ public function createData($type, $typeValue, $content, array $modifiers)
+ {
+ $data = new stdClass;
+ $data->type = $type;
+ $data->$type = $typeValue;
+ $data->content = $content;
+ $data->modifiers = $modifiers;
+ return $data;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/HeadScript.php b/library/vendor/Zend/View/Helper/HeadScript.php
new file mode 100644
index 0000000..5b8461d
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/HeadScript.php
@@ -0,0 +1,512 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_Placeholder_Container_Standalone */
+
+/**
+ * Helper for setting and retrieving script elements for HTML head section
+ *
+ * @uses Zend_View_Helper_Placeholder_Container_Standalone
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @method $this appendFile($src, $type = 'text/javascript', array $attrs = array())
+ * @method $this appendScript($script, $type = 'text/javascript', array $attrs = array())
+ * @method $this offsetSetFile($index, $src, $type = 'text/javascript', array $attrs = array())
+ * @method $this offsetSetScript($index, $script, $type = 'text/javascript', array $attrs = array())
+ * @method $this prependFile($src, $type = 'text/javascript', array $attrs = array())
+ * @method $this prependScript($script, $type = 'text/javascript', array $attrs = array())
+ * @method $this setFile($src, $type = 'text/javascript', array $attrs = array())
+ * @method $this setScript($script, $type = 'text/javascript', array $attrs = array())
+ */
+class Zend_View_Helper_HeadScript extends Zend_View_Helper_Placeholder_Container_Standalone
+{
+ /**#@+
+ * Script type contants
+ * @const string
+ */
+ const FILE = 'FILE';
+ const SCRIPT = 'SCRIPT';
+ /**#@-*/
+
+ /**
+ * Registry key for placeholder
+ * @var string
+ */
+ protected $_regKey = 'Zend_View_Helper_HeadScript';
+
+ /**
+ * Are arbitrary attributes allowed?
+ * @var bool
+ */
+ protected $_arbitraryAttributes = false;
+
+ /**#@+
+ * Capture type and/or attributes (used for hinting during capture)
+ * @var string
+ */
+ protected $_captureLock;
+ protected $_captureScriptType = null;
+ protected $_captureScriptAttrs = null;
+ protected $_captureType;
+ /**#@-*/
+
+ /**
+ * Optional allowed attributes for script tag
+ * @var array
+ */
+ protected $_optionalAttributes = array(
+ 'charset', 'defer', 'language', 'src'
+ );
+
+ /**
+ * Required attributes for script tag
+ * @var string
+ */
+ protected $_requiredAttributes = array('type');
+
+ /**
+ * Whether or not to format scripts using CDATA; used only if doctype
+ * helper is not accessible
+ * @var bool
+ */
+ public $useCdata = false;
+
+ /**
+ * Constructor
+ *
+ * Set separator to PHP_EOL.
+ *
+ * @return void
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ $this->setSeparator(PHP_EOL);
+ }
+
+ /**
+ * Return headScript object
+ *
+ * Returns headScript helper object; optionally, allows specifying a script
+ * or script file to include.
+ *
+ * @param string $mode Script or file
+ * @param string $spec Script/url
+ * @param string $placement Append, prepend, or set
+ * @param array $attrs Array of script attributes
+ * @param string $type Script type and/or array of script attributes
+ * @return Zend_View_Helper_HeadScript
+ */
+ public function headScript($mode = Zend_View_Helper_HeadScript::FILE, $spec = null, $placement = 'APPEND', array $attrs = array(), $type = 'text/javascript')
+ {
+ if ((null !== $spec) && is_string($spec)) {
+ $action = ucfirst(strtolower($mode));
+ $placement = strtolower($placement);
+ switch ($placement) {
+ case 'set':
+ case 'prepend':
+ case 'append':
+ $action = $placement . $action;
+ break;
+ default:
+ $action = 'append' . $action;
+ break;
+ }
+ $this->$action($spec, $type, $attrs);
+ }
+
+ return $this;
+ }
+
+ /**
+ * Start capture action
+ *
+ * @param mixed $captureType
+ * @param string $typeOrAttrs
+ * @return void
+ */
+ public function captureStart($captureType = Zend_View_Helper_Placeholder_Container_Abstract::APPEND, $type = 'text/javascript', $attrs = array())
+ {
+ if ($this->_captureLock) {
+ $e = new Zend_View_Helper_Placeholder_Container_Exception('Cannot nest headScript captures');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $this->_captureLock = true;
+ $this->_captureType = $captureType;
+ $this->_captureScriptType = $type;
+ $this->_captureScriptAttrs = $attrs;
+ ob_start();
+ }
+
+ /**
+ * End capture action and store
+ *
+ * @return void
+ */
+ public function captureEnd()
+ {
+ $content = ob_get_clean();
+ $type = $this->_captureScriptType;
+ $attrs = $this->_captureScriptAttrs;
+ $this->_captureScriptType = null;
+ $this->_captureScriptAttrs = null;
+ $this->_captureLock = false;
+
+ switch ($this->_captureType) {
+ case Zend_View_Helper_Placeholder_Container_Abstract::SET:
+ case Zend_View_Helper_Placeholder_Container_Abstract::PREPEND:
+ case Zend_View_Helper_Placeholder_Container_Abstract::APPEND:
+ $action = strtolower($this->_captureType) . 'Script';
+ break;
+ default:
+ $action = 'appendScript';
+ break;
+ }
+ $this->$action($content, $type, $attrs);
+ }
+
+ /**
+ * Overload method access
+ *
+ * Allows the following method calls:
+ * - appendFile($src, $type = 'text/javascript', $attrs = array())
+ * - offsetSetFile($index, $src, $type = 'text/javascript', $attrs = array())
+ * - prependFile($src, $type = 'text/javascript', $attrs = array())
+ * - setFile($src, $type = 'text/javascript', $attrs = array())
+ * - appendScript($script, $type = 'text/javascript', $attrs = array())
+ * - offsetSetScript($index, $src, $type = 'text/javascript', $attrs = array())
+ * - prependScript($script, $type = 'text/javascript', $attrs = array())
+ * - setScript($script, $type = 'text/javascript', $attrs = array())
+ *
+ * @param string $method
+ * @param array $args
+ * @return Zend_View_Helper_HeadScript
+ * @throws Zend_View_Exception if too few arguments or invalid method
+ */
+ public function __call($method, $args)
+ {
+ if (preg_match('/^(?P<action>set|(ap|pre)pend|offsetSet)(?P<mode>File|Script)$/', $method, $matches)) {
+ if (1 > count($args)) {
+ $e = new Zend_View_Exception(sprintf('Method "%s" requires at least one argument', $method));
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $action = $matches['action'];
+ $mode = strtolower($matches['mode']);
+ $type = 'text/javascript';
+ $attrs = array();
+
+ if ('offsetSet' == $action) {
+ $index = array_shift($args);
+ if (1 > count($args)) {
+ $e = new Zend_View_Exception(sprintf('Method "%s" requires at least two arguments, an index and source', $method));
+ $e->setView($this->view);
+ throw $e;
+ }
+ }
+
+ $content = $args[0];
+
+ if (isset($args[1])) {
+ $type = (string) $args[1];
+ }
+ if (isset($args[2])) {
+ $attrs = (array) $args[2];
+ }
+
+ switch ($mode) {
+ case 'script':
+ $item = $this->createData($type, $attrs, $content);
+ if ('offsetSet' == $action) {
+ $this->offsetSet($index, $item);
+ } else {
+ $this->$action($item);
+ }
+ break;
+ case 'file':
+ default:
+ if (!$this->_isDuplicate($content) || $action=='set') {
+ $attrs['src'] = $content;
+ $item = $this->createData($type, $attrs);
+ if ('offsetSet' == $action) {
+ $this->offsetSet($index, $item);
+ } else {
+ $this->$action($item);
+ }
+ }
+ break;
+ }
+
+ return $this;
+ }
+
+ return parent::__call($method, $args);
+ }
+
+ /**
+ * Is the file specified a duplicate?
+ *
+ * @param string $file
+ * @return bool
+ */
+ protected function _isDuplicate($file)
+ {
+ foreach ($this->getContainer() as $item) {
+ if (($item->source === null)
+ && array_key_exists('src', $item->attributes)
+ && ($file == $item->attributes['src']))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Is the script provided valid?
+ *
+ * @param mixed $value
+ * @param string $method
+ * @return bool
+ */
+ protected function _isValid($value)
+ {
+ if ((!$value instanceof stdClass)
+ || !isset($value->type)
+ || (!isset($value->source) && !isset($value->attributes)))
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Override append
+ *
+ * @param string $value
+ * @return void
+ */
+ public function append($value)
+ {
+ if (!$this->_isValid($value)) {
+ $e = new Zend_View_Exception('Invalid argument passed to append(); please use one of the helper methods, appendScript() or appendFile()');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ return $this->getContainer()->append($value);
+ }
+
+ /**
+ * Override prepend
+ *
+ * @param string $value
+ * @return void
+ */
+ public function prepend($value)
+ {
+ if (!$this->_isValid($value)) {
+ $e = new Zend_View_Exception('Invalid argument passed to prepend(); please use one of the helper methods, prependScript() or prependFile()');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ return $this->getContainer()->prepend($value);
+ }
+
+ /**
+ * Override set
+ *
+ * @param string $value
+ * @return void
+ */
+ public function set($value)
+ {
+ if (!$this->_isValid($value)) {
+ $e = new Zend_View_Exception('Invalid argument passed to set(); please use one of the helper methods, setScript() or setFile()');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ return $this->getContainer()->set($value);
+ }
+
+ /**
+ * Override offsetSet
+ *
+ * @param string|int $index
+ * @param mixed $value
+ * @return void
+ */
+ public function offsetSet($index, $value): void
+ {
+ if (!$this->_isValid($value)) {
+ $e = new Zend_View_Exception('Invalid argument passed to offsetSet(); please use one of the helper methods, offsetSetScript() or offsetSetFile()');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $this->getContainer()->offsetSet($index, $value);
+ }
+
+ /**
+ * Set flag indicating if arbitrary attributes are allowed
+ *
+ * @param bool $flag
+ * @return Zend_View_Helper_HeadScript
+ */
+ public function setAllowArbitraryAttributes($flag)
+ {
+ $this->_arbitraryAttributes = (bool) $flag;
+ return $this;
+ }
+
+ /**
+ * Are arbitrary attributes allowed?
+ *
+ * @return bool
+ */
+ public function arbitraryAttributesAllowed()
+ {
+ return $this->_arbitraryAttributes;
+ }
+
+ /**
+ * Create script HTML
+ *
+ * @param string $type
+ * @param array $attributes
+ * @param string $content
+ * @param string|int $indent
+ * @return string
+ */
+ public function itemToString($item, $indent, $escapeStart, $escapeEnd)
+ {
+ $attrString = '';
+ if (!empty($item->attributes)) {
+ foreach ($item->attributes as $key => $value) {
+ if ((!$this->arbitraryAttributesAllowed() && !in_array($key, $this->_optionalAttributes))
+ || in_array($key, array('conditional', 'noescape')))
+ {
+ continue;
+ }
+ if ('defer' == $key) {
+ $value = 'defer';
+ }
+ $attrString .= sprintf(' %s="%s"', $key, ($this->_autoEscape) ? $this->_escape($value) : $value);
+ }
+ }
+
+ $addScriptEscape = !(isset($item->attributes['noescape']) && filter_var($item->attributes['noescape'], FILTER_VALIDATE_BOOLEAN));
+
+ $type = ($this->_autoEscape) ? $this->_escape($item->type) : $item->type;
+ $html = '<script type="' . $type . '"' . $attrString . '>';
+ if (!empty($item->source)) {
+ $html .= PHP_EOL ;
+
+ if ($addScriptEscape) {
+ $html .= $indent . ' ' . $escapeStart . PHP_EOL;
+ }
+
+ $html .= $indent . ' ' . $item->source;
+
+ if ($addScriptEscape) {
+ $html .= $indent . ' ' . $escapeEnd . PHP_EOL;
+ }
+
+ $html .= $indent;
+ }
+ $html .= '</script>';
+
+ if (isset($item->attributes['conditional'])
+ && !empty($item->attributes['conditional'])
+ && is_string($item->attributes['conditional']))
+ {
+ // inner wrap with comment end and start if !IE
+ if (str_replace(' ', '', $item->attributes['conditional']) === '!IE') {
+ $html = '<!-->' . $html . '<!--';
+ }
+ $html = $indent . '<!--[if ' . $item->attributes['conditional'] . ']>' . $html . '<![endif]-->';
+ } else {
+ $html = $indent . $html;
+ }
+
+ return $html;
+ }
+
+ /**
+ * Retrieve string representation
+ *
+ * @param string|int $indent
+ * @return string
+ */
+ public function toString($indent = null)
+ {
+ $indent = (null !== $indent)
+ ? $this->getWhitespace($indent)
+ : $this->getIndent();
+
+ if ($this->view) {
+ $useCdata = $this->view->doctype()->isXhtml() ? true : false;
+ } else {
+ $useCdata = $this->useCdata ? true : false;
+ }
+ $escapeStart = ($useCdata) ? '//<![CDATA[' : '//<!--';
+ $escapeEnd = ($useCdata) ? '//]]>' : '//-->';
+
+ $items = array();
+ $this->getContainer()->ksort();
+ foreach ($this as $item) {
+ if (!$this->_isValid($item)) {
+ continue;
+ }
+
+ $items[] = $this->itemToString($item, $indent, $escapeStart, $escapeEnd);
+ }
+
+ $return = implode($this->getSeparator(), $items);
+ return $return;
+ }
+
+ /**
+ * Create data item containing all necessary components of script
+ *
+ * @param string $type
+ * @param array $attributes
+ * @param string $content
+ * @return stdClass
+ */
+ public function createData($type, array $attributes, $content = null)
+ {
+ $data = new stdClass();
+ $data->type = $type;
+ $data->attributes = $attributes;
+ $data->source = $content;
+ return $data;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/HeadStyle.php b/library/vendor/Zend/View/Helper/HeadStyle.php
new file mode 100644
index 0000000..c28f997
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/HeadStyle.php
@@ -0,0 +1,426 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_Placeholder_Container_Standalone */
+
+/**
+ * Helper for setting and retrieving stylesheets
+ *
+ * @uses Zend_View_Helper_Placeholder_Container_Standalone
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @method $this appendStyle($content, array $attributes = array())
+ * @method $this offsetSetStyle($index, $content, array $attributes = array())
+ * @method $this prependStyle($content, array $attributes = array())
+ * @method $this setStyle($content, array $attributes = array())
+ */
+class Zend_View_Helper_HeadStyle extends Zend_View_Helper_Placeholder_Container_Standalone
+{
+ /**
+ * Registry key for placeholder
+ * @var string
+ */
+ protected $_regKey = 'Zend_View_Helper_HeadStyle';
+
+ /**
+ * Allowed optional attributes
+ * @var array
+ */
+ protected $_optionalAttributes = array('lang', 'title', 'media', 'dir');
+
+ /**
+ * Allowed media types
+ * @var array
+ */
+ protected $_mediaTypes = array(
+ 'all', 'aural', 'braille', 'handheld', 'print',
+ 'projection', 'screen', 'tty', 'tv'
+ );
+
+ /**
+ * Capture type and/or attributes (used for hinting during capture)
+ * @var string
+ */
+ protected $_captureAttrs = null;
+
+ /**
+ * Capture lock
+ * @var bool
+ */
+ protected $_captureLock;
+
+ /**
+ * Capture type (append, prepend, set)
+ * @var string
+ */
+ protected $_captureType;
+
+ /**
+ * Constructor
+ *
+ * Set separator to PHP_EOL.
+ *
+ * @return void
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ $this->setSeparator(PHP_EOL);
+ }
+
+ /**
+ * Return headStyle object
+ *
+ * Returns headStyle helper object; optionally, allows specifying
+ *
+ * @param string $content Stylesheet contents
+ * @param string $placement Append, prepend, or set
+ * @param string|array $attributes Optional attributes to utilize
+ * @return Zend_View_Helper_HeadStyle
+ */
+ public function headStyle($content = null, $placement = 'APPEND', $attributes = array())
+ {
+ if ((null !== $content) && is_string($content)) {
+ switch (strtoupper($placement)) {
+ case 'SET':
+ $action = 'setStyle';
+ break;
+ case 'PREPEND':
+ $action = 'prependStyle';
+ break;
+ case 'APPEND':
+ default:
+ $action = 'appendStyle';
+ break;
+ }
+ $this->$action($content, $attributes);
+ }
+
+ return $this;
+ }
+
+ /**
+ * Overload method calls
+ *
+ * Allows the following method calls:
+ * - appendStyle($content, $attributes = array())
+ * - offsetSetStyle($index, $content, $attributes = array())
+ * - prependStyle($content, $attributes = array())
+ * - setStyle($content, $attributes = array())
+ *
+ * @param string $method
+ * @param array $args
+ * @return void
+ * @throws Zend_View_Exception When no $content provided or invalid method
+ */
+ public function __call($method, $args)
+ {
+ if (preg_match('/^(?P<action>set|(ap|pre)pend|offsetSet)(Style)$/', $method, $matches)) {
+ $index = null;
+ $argc = count($args);
+ $action = $matches['action'];
+
+ if ('offsetSet' == $action) {
+ if (0 < $argc) {
+ $index = array_shift($args);
+ --$argc;
+ }
+ }
+
+ if (1 > $argc) {
+ $e = new Zend_View_Exception(sprintf('Method "%s" requires minimally content for the stylesheet', $method));
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $content = $args[0];
+ $attrs = array();
+ if (isset($args[1])) {
+ $attrs = (array) $args[1];
+ }
+
+ $item = $this->createData($content, $attrs);
+
+ if ('offsetSet' == $action) {
+ $this->offsetSet($index, $item);
+ } else {
+ $this->$action($item);
+ }
+
+ return $this;
+ }
+
+ return parent::__call($method, $args);
+ }
+
+ /**
+ * Determine if a value is a valid style tag
+ *
+ * @param mixed $value
+ * @param string $method
+ * @return boolean
+ */
+ protected function _isValid($value)
+ {
+ if ((!$value instanceof stdClass)
+ || !isset($value->content)
+ || !isset($value->attributes))
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Override append to enforce style creation
+ *
+ * @param mixed $value
+ * @return void
+ */
+ public function append($value)
+ {
+ if (!$this->_isValid($value)) {
+ $e = new Zend_View_Exception('Invalid value passed to append; please use appendStyle()');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ return $this->getContainer()->append($value);
+ }
+
+ /**
+ * Override offsetSet to enforce style creation
+ *
+ * @param string|int $index
+ * @param mixed $value
+ * @return void
+ */
+ public function offsetSet($index, $value): void
+ {
+ if (!$this->_isValid($value)) {
+ $e = new Zend_View_Exception('Invalid value passed to offsetSet; please use offsetSetStyle()');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $this->getContainer()->offsetSet($index, $value);
+ }
+
+ /**
+ * Override prepend to enforce style creation
+ *
+ * @param mixed $value
+ * @return void
+ */
+ public function prepend($value)
+ {
+ if (!$this->_isValid($value)) {
+ $e = new Zend_View_Exception('Invalid value passed to prepend; please use prependStyle()');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ return $this->getContainer()->prepend($value);
+ }
+
+ /**
+ * Override set to enforce style creation
+ *
+ * @param mixed $value
+ * @return void
+ */
+ public function set($value)
+ {
+ if (!$this->_isValid($value)) {
+ $e = new Zend_View_Exception('Invalid value passed to set; please use setStyle()');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ return $this->getContainer()->set($value);
+ }
+
+ /**
+ * Start capture action
+ *
+ * @param mixed $captureType
+ * @param string $typeOrAttrs
+ * @return void
+ */
+ public function captureStart($type = Zend_View_Helper_Placeholder_Container_Abstract::APPEND, $attrs = null)
+ {
+ if ($this->_captureLock) {
+ $e = new Zend_View_Helper_Placeholder_Container_Exception('Cannot nest headStyle captures');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $this->_captureLock = true;
+ $this->_captureAttrs = $attrs;
+ $this->_captureType = $type;
+ ob_start();
+ }
+
+ /**
+ * End capture action and store
+ *
+ * @return void
+ */
+ public function captureEnd()
+ {
+ $content = ob_get_clean();
+ $attrs = $this->_captureAttrs;
+ $this->_captureAttrs = null;
+ $this->_captureLock = false;
+
+ switch ($this->_captureType) {
+ case Zend_View_Helper_Placeholder_Container_Abstract::SET:
+ $this->setStyle($content, $attrs);
+ break;
+ case Zend_View_Helper_Placeholder_Container_Abstract::PREPEND:
+ $this->prependStyle($content, $attrs);
+ break;
+ case Zend_View_Helper_Placeholder_Container_Abstract::APPEND:
+ default:
+ $this->appendStyle($content, $attrs);
+ break;
+ }
+ }
+
+ /**
+ * Convert content and attributes into valid style tag
+ *
+ * @param stdClass $item Item to render
+ * @param string $indent Indentation to use
+ * @return string
+ */
+ public function itemToString(stdClass $item, $indent)
+ {
+ $attrString = '';
+ if (!empty($item->attributes)) {
+ $enc = 'UTF-8';
+ if ($this->view instanceof Zend_View_Interface
+ && method_exists($this->view, 'getEncoding')
+ ) {
+ $enc = $this->view->getEncoding();
+ }
+ foreach ($item->attributes as $key => $value) {
+ if (!in_array($key, $this->_optionalAttributes)) {
+ continue;
+ }
+ if ('media' == $key) {
+ if(false === strpos($value, ',')) {
+ if (!in_array($value, $this->_mediaTypes)) {
+ continue;
+ }
+ } else {
+ $media_types = explode(',', $value);
+ $value = '';
+ foreach($media_types as $type) {
+ $type = trim($type);
+ if (!in_array($type, $this->_mediaTypes)) {
+ continue;
+ }
+ $value .= $type .',';
+ }
+ $value = substr($value, 0, -1);
+ }
+ }
+ $attrString .= sprintf(' %s="%s"', $key, htmlspecialchars($value, ENT_COMPAT, $enc));
+ }
+ }
+
+ $escapeStart = $indent . '<!--'. PHP_EOL;
+ $escapeEnd = $indent . '-->'. PHP_EOL;
+ if (isset($item->attributes['conditional'])
+ && !empty($item->attributes['conditional'])
+ && is_string($item->attributes['conditional'])
+ ) {
+ $escapeStart = null;
+ $escapeEnd = null;
+ }
+
+ $html = '<style type="text/css"' . $attrString . '>' . PHP_EOL
+ . $escapeStart . $indent . $item->content . PHP_EOL . $escapeEnd
+ . '</style>';
+
+ if (null == $escapeStart && null == $escapeEnd) {
+ if (str_replace(' ', '', $item->attributes['conditional']) === '!IE') {
+ $html = '<!-->' . $html . '<!--';
+ }
+ $html = '<!--[if ' . $item->attributes['conditional'] . ']>' . $html . '<![endif]-->';
+ }
+
+ return $html;
+ }
+
+ /**
+ * Create string representation of placeholder
+ *
+ * @param string|int $indent
+ * @return string
+ */
+ public function toString($indent = null)
+ {
+ $indent = (null !== $indent)
+ ? $this->getWhitespace($indent)
+ : $this->getIndent();
+
+ $items = array();
+ $this->getContainer()->ksort();
+ foreach ($this as $item) {
+ if (!$this->_isValid($item)) {
+ continue;
+ }
+ $items[] = $this->itemToString($item, $indent);
+ }
+
+ $return = $indent . implode($this->getSeparator() . $indent, $items);
+ $return = preg_replace("/(\r\n?|\n)/", '$1' . $indent, $return);
+ return $return;
+ }
+
+ /**
+ * Create data item for use in stack
+ *
+ * @param string $content
+ * @param array $attributes
+ * @return stdClass
+ */
+ public function createData($content, array $attributes)
+ {
+ if (!isset($attributes['media'])) {
+ $attributes['media'] = 'screen';
+ } else if(is_array($attributes['media'])) {
+ $attributes['media'] = implode(',', $attributes['media']);
+ }
+
+ $data = new stdClass();
+ $data->content = $content;
+ $data->attributes = $attributes;
+
+ return $data;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/HeadTitle.php b/library/vendor/Zend/View/Helper/HeadTitle.php
new file mode 100644
index 0000000..77aef26
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/HeadTitle.php
@@ -0,0 +1,218 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_Placeholder_Container_Standalone */
+
+/**
+ * Helper for setting and retrieving title element for HTML head
+ *
+ * @uses Zend_View_Helper_Placeholder_Container_Standalone
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_HeadTitle extends Zend_View_Helper_Placeholder_Container_Standalone
+{
+ /**
+ * Registry key for placeholder
+ * @var string
+ */
+ protected $_regKey = 'Zend_View_Helper_HeadTitle';
+
+ /**
+ * Whether or not auto-translation is enabled
+ * @var boolean
+ */
+ protected $_translate = false;
+
+ /**
+ * Translation object
+ *
+ * @var Zend_Translate_Adapter
+ */
+ protected $_translator;
+
+ /**
+ * Default title rendering order (i.e. order in which each title attached)
+ *
+ * @var string
+ */
+ protected $_defaultAttachOrder = null;
+
+ /**
+ * Retrieve placeholder for title element and optionally set state
+ *
+ * @param string $title
+ * @param string $setType
+ * @return Zend_View_Helper_HeadTitle
+ */
+ public function headTitle($title = null, $setType = null)
+ {
+ if (null === $setType) {
+ $setType = (null === $this->getDefaultAttachOrder())
+ ? Zend_View_Helper_Placeholder_Container_Abstract::APPEND
+ : $this->getDefaultAttachOrder();
+ }
+ $title = (string) $title;
+ if ($title !== '') {
+ if ($setType == Zend_View_Helper_Placeholder_Container_Abstract::SET) {
+ $this->set($title);
+ } elseif ($setType == Zend_View_Helper_Placeholder_Container_Abstract::PREPEND) {
+ $this->prepend($title);
+ } else {
+ $this->append($title);
+ }
+ }
+
+ return $this;
+ }
+
+ /**
+ * Set a default order to add titles
+ *
+ * @param string $setType
+ */
+ public function setDefaultAttachOrder($setType)
+ {
+ if (!in_array($setType, array(
+ Zend_View_Helper_Placeholder_Container_Abstract::APPEND,
+ Zend_View_Helper_Placeholder_Container_Abstract::SET,
+ Zend_View_Helper_Placeholder_Container_Abstract::PREPEND
+ ))) {
+ throw new Zend_View_Exception("You must use a valid attach order: 'PREPEND', 'APPEND' or 'SET'");
+ }
+
+ $this->_defaultAttachOrder = $setType;
+ return $this;
+ }
+
+ /**
+ * Get the default attach order, if any.
+ *
+ * @return mixed
+ */
+ public function getDefaultAttachOrder()
+ {
+ return $this->_defaultAttachOrder;
+ }
+
+ /**
+ * Sets a translation Adapter for translation
+ *
+ * @param Zend_Translate|Zend_Translate_Adapter $translate
+ * @return Zend_View_Helper_HeadTitle
+ */
+ public function setTranslator($translate)
+ {
+ if ($translate instanceof Zend_Translate_Adapter) {
+ $this->_translator = $translate;
+ } elseif ($translate instanceof Zend_Translate) {
+ $this->_translator = $translate->getAdapter();
+ } else {
+ $e = new Zend_View_Exception("You must set an instance of Zend_Translate or Zend_Translate_Adapter");
+ $e->setView($this->view);
+ throw $e;
+ }
+ return $this;
+ }
+
+ /**
+ * Retrieve translation object
+ *
+ * If none is currently registered, attempts to pull it from the registry
+ * using the key 'Zend_Translate'.
+ *
+ * @return Zend_Translate_Adapter|null
+ */
+ public function getTranslator()
+ {
+ if (null === $this->_translator) {
+ if (Zend_Registry::isRegistered('Zend_Translate')) {
+ $this->setTranslator(Zend_Registry::get('Zend_Translate'));
+ }
+ }
+ return $this->_translator;
+ }
+
+ /**
+ * Enables translation
+ *
+ * @return Zend_View_Helper_HeadTitle
+ */
+ public function enableTranslation()
+ {
+ $this->_translate = true;
+ return $this;
+ }
+
+ /**
+ * Disables translation
+ *
+ * @return Zend_View_Helper_HeadTitle
+ */
+ public function disableTranslation()
+ {
+ $this->_translate = false;
+ return $this;
+ }
+
+ /**
+ * Turn helper into string
+ *
+ * @param string|null $indent
+ * @param string|null $locale
+ * @return string
+ */
+ public function toString($indent = null, $locale = null)
+ {
+ $indent = (null !== $indent)
+ ? $this->getWhitespace($indent)
+ : $this->getIndent();
+
+ $items = array();
+
+ if($this->_translate && $translator = $this->getTranslator()) {
+ foreach ($this as $item) {
+ $items[] = $translator->translate($item, $locale);
+ }
+ } else {
+ foreach ($this as $item) {
+ $items[] = $item;
+ }
+ }
+
+ $separator = $this->getSeparator();
+ $output = '';
+ if(($prefix = $this->getPrefix())) {
+ $output .= $prefix;
+ }
+ $output .= implode($separator, $items);
+ if(($postfix = $this->getPostfix())) {
+ $output .= $postfix;
+ }
+
+ $output = ($this->_autoEscape) ? $this->_escape($output) : $output;
+
+ return $indent . '<title>' . $output . '</title>';
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/HtmlElement.php b/library/vendor/Zend/View/Helper/HtmlElement.php
new file mode 100644
index 0000000..212afbd
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/HtmlElement.php
@@ -0,0 +1,165 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+/**
+ * @see Zend_View_Helper_Abstract
+ */
+
+/**
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+abstract class Zend_View_Helper_HtmlElement extends Zend_View_Helper_Abstract
+{
+ /**
+ * EOL character
+ */
+ const EOL = "\n";
+
+ /**
+ * The tag closing bracket
+ *
+ * @var string
+ */
+ protected $_closingBracket = null;
+
+ /**
+ * Get the tag closing bracket
+ *
+ * @return string
+ */
+ public function getClosingBracket()
+ {
+ if (!$this->_closingBracket) {
+ if ($this->_isXhtml()) {
+ $this->_closingBracket = ' />';
+ } else {
+ $this->_closingBracket = '>';
+ }
+ }
+
+ return $this->_closingBracket;
+ }
+
+ /**
+ * Is doctype XHTML?
+ *
+ * @return boolean
+ */
+ protected function _isXhtml()
+ {
+ $doctype = $this->view->doctype();
+ return $doctype->isXhtml();
+ }
+
+ /**
+ * Is doctype HTML5?
+ *
+ * @return boolean
+ */
+ protected function _isHtml5()
+ {
+ $doctype = $this->view->doctype();
+ return $doctype->isHtml5();
+ }
+
+ /**
+ * Is doctype strict?
+ *
+ * @return boolean
+ */
+ protected function _isStrictDoctype()
+ {
+ $doctype = $this->view->doctype();
+ return $doctype->isStrict();
+ }
+
+ /**
+ * Converts an associative array to a string of tag attributes.
+ *
+ * @access public
+ *
+ * @param array $attribs From this array, each key-value pair is
+ * converted to an attribute name and value.
+ *
+ * @return string The XHTML for the attributes.
+ */
+ protected function _htmlAttribs($attribs)
+ {
+ $xhtml = '';
+ foreach ((array) $attribs as $key => $val) {
+ $key = $this->view->escape($key);
+
+ if (('on' == substr($key, 0, 2)) || ('constraints' == $key)) {
+ // Don't escape event attributes; _do_ substitute double quotes with singles
+ if (!is_scalar($val)) {
+ // non-scalar data should be cast to JSON first
+ $val = Zend_Json::encode($val);
+ }
+ // Escape single quotes inside event attribute values.
+ // This will create html, where the attribute value has
+ // single quotes around it, and escaped single quotes or
+ // non-escaped double quotes inside of it
+ $val = str_replace('\'', '&#39;', $val);
+ } else {
+ if (is_array($val)) {
+ $val = implode(' ', $val);
+ }
+ $val = $this->view->escape($val);
+ }
+
+ if ('id' == $key) {
+ $val = $this->_normalizeId($val);
+ }
+
+ if (strpos($val, '"') !== false) {
+ $xhtml .= " $key='$val'";
+ } else {
+ $xhtml .= " $key=\"$val\"";
+ }
+
+ }
+ return $xhtml;
+ }
+
+ /**
+ * Normalize an ID
+ *
+ * @param string $value
+ * @return string
+ */
+ protected function _normalizeId($value)
+ {
+ if (strstr($value, '[')) {
+ if ('[]' == substr($value, -2)) {
+ $value = substr($value, 0, strlen($value) - 2);
+ }
+ $value = trim($value, ']');
+ $value = str_replace('][', '-', $value);
+ $value = str_replace('[', '-', $value);
+ }
+ return $value;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/HtmlFlash.php b/library/vendor/Zend/View/Helper/HtmlFlash.php
new file mode 100644
index 0000000..b33ad51
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/HtmlFlash.php
@@ -0,0 +1,59 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+/**
+ * @see Zend_View_Helper_HtmlObject
+ */
+
+/**
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_HtmlFlash extends Zend_View_Helper_HtmlObject
+{
+ /**
+ * Default file type for a flash applet
+ *
+ */
+ const TYPE = 'application/x-shockwave-flash';
+
+ /**
+ * Output a flash movie object tag
+ *
+ * @param string $data The flash file
+ * @param array $attribs Attribs for the object tag
+ * @param array $params Params for in the object tag
+ * @param string $content Alternative content
+ * @return string
+ */
+ public function htmlFlash($data, array $attribs = array(), array $params = array(), $content = null)
+ {
+ // Params
+ $params = array_merge(array('movie' => $data,
+ 'quality' => 'high'), $params);
+
+ return $this->htmlObject($data, self::TYPE, $attribs, $params, $content);
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/HtmlList.php b/library/vendor/Zend/View/Helper/HtmlList.php
new file mode 100644
index 0000000..e080eb1
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/HtmlList.php
@@ -0,0 +1,88 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+
+/**
+ * Zend_View_Helper_FormELement
+ */
+
+/**
+ * Helper for ordered and unordered lists
+ *
+ * @uses Zend_View_Helper_FormElement
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_HtmlList extends Zend_View_Helper_FormElement
+{
+
+ /**
+ * Generates a 'List' element.
+ *
+ * @param array $items Array with the elements of the list
+ * @param boolean $ordered Specifies ordered/unordered list; default unordered
+ * @param array $attribs Attributes for the ol/ul tag.
+ * @return string The list XHTML.
+ */
+ public function htmlList(array $items, $ordered = false, $attribs = false, $escape = true)
+ {
+ if (!is_array($items)) {
+ $e = new Zend_View_Exception('First param must be an array');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $list = '';
+
+ foreach ($items as $item) {
+ if (!is_array($item)) {
+ if ($escape) {
+ $item = $this->view->escape($item);
+ }
+ $list .= '<li>' . $item . '</li>' . self::EOL;
+ } else {
+ if (6 < strlen($list)) {
+ $list = substr($list, 0, strlen($list) - 6)
+ . $this->htmlList($item, $ordered, $attribs, $escape) . '</li>' . self::EOL;
+ } else {
+ $list .= '<li>' . $this->htmlList($item, $ordered, $attribs, $escape) . '</li>' . self::EOL;
+ }
+ }
+ }
+
+ if ($attribs) {
+ $attribs = $this->_htmlAttribs($attribs);
+ } else {
+ $attribs = '';
+ }
+
+ $tag = 'ul';
+ if ($ordered) {
+ $tag = 'ol';
+ }
+
+ return '<' . $tag . $attribs . '>' . self::EOL . $list . '</' . $tag . '>' . self::EOL;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/HtmlObject.php b/library/vendor/Zend/View/Helper/HtmlObject.php
new file mode 100644
index 0000000..a5a4e22
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/HtmlObject.php
@@ -0,0 +1,79 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+/**
+ * @see Zend_View_Helper_HtmlElement
+ */
+
+/**
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_HtmlObject extends Zend_View_Helper_HtmlElement
+{
+ /**
+ * Output an object set
+ *
+ * @param string $data The data file
+ * @param string $type Data file type
+ * @param array $attribs Attribs for the object tag
+ * @param array $params Params for in the object tag
+ * @param string $content Alternative content for object
+ * @return string
+ */
+ public function htmlObject($data, $type, array $attribs = array(), array $params = array(), $content = null)
+ {
+ // Merge data and type
+ $attribs = array_merge(array('data' => $data,
+ 'type' => $type), $attribs);
+
+ // Params
+ $paramHtml = array();
+ $closingBracket = $this->getClosingBracket();
+
+ foreach ($params as $param => $options) {
+ if (is_string($options)) {
+ $options = array('value' => $options);
+ }
+
+ $options = array_merge(array('name' => $param), $options);
+
+ $paramHtml[] = '<param' . $this->_htmlAttribs($options) . $closingBracket;
+ }
+
+ // Content
+ if (is_array($content)) {
+ $content = implode(self::EOL, $content);
+ }
+
+ // Object header
+ $xhtml = '<object' . $this->_htmlAttribs($attribs) . '>' . self::EOL
+ . implode(self::EOL, $paramHtml) . self::EOL
+ . ($content ? $content . self::EOL : '')
+ . '</object>';
+
+ return $xhtml;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/HtmlPage.php b/library/vendor/Zend/View/Helper/HtmlPage.php
new file mode 100644
index 0000000..2a2265c
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/HtmlPage.php
@@ -0,0 +1,74 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+/**
+ * @see Zend_View_Helper_HtmlObject
+ */
+
+/**
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_HtmlPage extends Zend_View_Helper_HtmlObject
+{
+ /**
+ * Default file type for html
+ *
+ */
+ const TYPE = 'text/html';
+
+ /**
+ * Object classid
+ *
+ */
+ const ATTRIB_CLASSID = 'clsid:25336920-03F9-11CF-8FD0-00AA00686F13';
+
+ /**
+ * Default attributes
+ *
+ * @var array
+ */
+ protected $_attribs = array('classid' => self::ATTRIB_CLASSID);
+
+ /**
+ * Output a html object tag
+ *
+ * @param string $data The html url
+ * @param array $attribs Attribs for the object tag
+ * @param array $params Params for in the object tag
+ * @param string $content Alternative content
+ * @return string
+ */
+ public function htmlPage($data, array $attribs = array(), array $params = array(), $content = null)
+ {
+ // Attrs
+ $attribs = array_merge($this->_attribs, $attribs);
+
+ // Params
+ $params = array_merge(array('data' => $data), $params);
+
+ return $this->htmlObject($data, self::TYPE, $attribs, $params, $content);
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/HtmlQuicktime.php b/library/vendor/Zend/View/Helper/HtmlQuicktime.php
new file mode 100644
index 0000000..f09452d
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/HtmlQuicktime.php
@@ -0,0 +1,81 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+/**
+ * @see Zend_View_Helper_HtmlObject
+ */
+
+/**
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_HtmlQuicktime extends Zend_View_Helper_HtmlObject
+{
+ /**
+ * Default file type for a movie applet
+ *
+ */
+ const TYPE = 'video/quicktime';
+
+ /**
+ * Object classid
+ *
+ */
+ const ATTRIB_CLASSID = 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B';
+
+ /**
+ * Object Codebase
+ *
+ */
+ const ATTRIB_CODEBASE = 'http://www.apple.com/qtactivex/qtplugin.cab';
+
+ /**
+ * Default attributes
+ *
+ * @var array
+ */
+ protected $_attribs = array('classid' => self::ATTRIB_CLASSID,
+ 'codebase' => self::ATTRIB_CODEBASE);
+
+ /**
+ * Output a quicktime movie object tag
+ *
+ * @param string $data The quicktime file
+ * @param array $attribs Attribs for the object tag
+ * @param array $params Params for in the object tag
+ * @param string $content Alternative content
+ * @return string
+ */
+ public function htmlQuicktime($data, array $attribs = array(), array $params = array(), $content = null)
+ {
+ // Attrs
+ $attribs = array_merge($this->_attribs, $attribs);
+
+ // Params
+ $params = array_merge(array('src' => $data), $params);
+
+ return $this->htmlObject($data, self::TYPE, $attribs, $params, $content);
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/InlineScript.php b/library/vendor/Zend/View/Helper/InlineScript.php
new file mode 100644
index 0000000..555a2f4
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/InlineScript.php
@@ -0,0 +1,60 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_HeadScript */
+
+/**
+ * Helper for setting and retrieving script elements for inclusion in HTML body
+ * section
+ *
+ * @uses Zend_View_Helper_Head_Script
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_InlineScript extends Zend_View_Helper_HeadScript
+{
+ /**
+ * Registry key for placeholder
+ * @var string
+ */
+ protected $_regKey = 'Zend_View_Helper_InlineScript';
+
+ /**
+ * Return InlineScript object
+ *
+ * Returns InlineScript helper object; optionally, allows specifying a
+ * script or script file to include.
+ *
+ * @param string $mode Script or file
+ * @param string $spec Script/url
+ * @param string $placement Append, prepend, or set
+ * @param array $attrs Array of script attributes
+ * @param string $type Script type and/or array of script attributes
+ * @return Zend_View_Helper_InlineScript
+ */
+ public function inlineScript($mode = Zend_View_Helper_HeadScript::FILE, $spec = null, $placement = 'APPEND', array $attrs = array(), $type = 'text/javascript')
+ {
+ return $this->headScript($mode, $spec, $placement, $attrs, $type);
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Interface.php b/library/vendor/Zend/View/Helper/Interface.php
new file mode 100644
index 0000000..c7e761b
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Interface.php
@@ -0,0 +1,46 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+/**
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+interface Zend_View_Helper_Interface
+{
+ /**
+ * Set the View object
+ *
+ * @param Zend_View_Interface $view
+ * @return Zend_View_Helper_Interface
+ */
+ public function setView(Zend_View_Interface $view);
+
+ /**
+ * Strategy pattern: helper method to invoke
+ *
+ * @return mixed
+ */
+ public function direct();
+}
diff --git a/library/vendor/Zend/View/Helper/Json.php b/library/vendor/Zend/View/Helper/Json.php
new file mode 100644
index 0000000..62bf079
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Json.php
@@ -0,0 +1,86 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_Json */
+
+/** Zend_Controller_Front */
+
+/** Zend_View_Helper_Abstract.php */
+
+/**
+ * Helper for simplifying JSON responses
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_Json extends Zend_View_Helper_Abstract
+{
+ /**
+ * Encode data as JSON, disable layouts, and set response header
+ *
+ * If $keepLayouts is true, does not disable layouts.
+ * If $encodeJson is false, does not JSON-encode $data
+ *
+ * @param mixed $data
+ * @param bool $keepLayouts
+ * NOTE: if boolean, establish $keepLayouts to true|false
+ * if array, admit params for Zend_Json::encode as enableJsonExprFinder=>true|false
+ * this array can contains a 'keepLayout'=>true|false and/or 'encodeData'=>true|false
+ * that will not be passed to Zend_Json::encode method but will be used here
+ * @param bool $encodeData
+ * @return string|void
+ */
+ public function json($data, $keepLayouts = false, $encodeData = true)
+ {
+ $options = array();
+ if (is_array($keepLayouts)) {
+ $options = $keepLayouts;
+
+ $keepLayouts = false;
+ if (array_key_exists('keepLayouts', $options)) {
+ $keepLayouts = $options['keepLayouts'];
+ unset($options['keepLayouts']);
+ }
+
+ if (array_key_exists('encodeData', $options)) {
+ $encodeData = $options['encodeData'];
+ unset($options['encodeData']);
+ }
+ }
+
+ if ($encodeData) {
+ $data = Zend_Json::encode($data, null, $options);
+ }
+ if (!$keepLayouts) {
+ $layout = Zend_Layout::getMvcInstance();
+ if ($layout instanceof Zend_Layout) {
+ $layout->disableLayout();
+ }
+ }
+
+ $response = Zend_Controller_Front::getInstance()->getResponse();
+ $response->setHeader('Content-Type', 'application/json', true);
+ return $data;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Layout.php b/library/vendor/Zend/View/Helper/Layout.php
new file mode 100644
index 0000000..a83bf06
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Layout.php
@@ -0,0 +1,79 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_Abstract.php */
+
+/**
+ * View helper for retrieving layout object
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_Layout extends Zend_View_Helper_Abstract
+{
+ /** @var Zend_Layout */
+ protected $_layout;
+
+ /**
+ * Get layout object
+ *
+ * @return Zend_Layout
+ */
+ public function getLayout()
+ {
+ if (null === $this->_layout) {
+ $this->_layout = Zend_Layout::getMvcInstance();
+ if (null === $this->_layout) {
+ // Implicitly creates layout object
+ $this->_layout = new Zend_Layout();
+ }
+ }
+
+ return $this->_layout;
+ }
+
+ /**
+ * Set layout object
+ *
+ * @param Zend_Layout $layout
+ * @return Zend_Layout_Controller_Action_Helper_Layout
+ */
+ public function setLayout(Zend_Layout $layout)
+ {
+ $this->_layout = $layout;
+ return $this;
+ }
+
+ /**
+ * Return layout object
+ *
+ * Usage: $this->layout()->setLayout('alternate');
+ *
+ * @return Zend_Layout
+ */
+ public function layout()
+ {
+ return $this->getLayout();
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/PaginationControl.php b/library/vendor/Zend/View/Helper/PaginationControl.php
new file mode 100644
index 0000000..b474963
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/PaginationControl.php
@@ -0,0 +1,142 @@
+<?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_View
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+/**
+ * @category Zend
+ * @package Zend_View
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_PaginationControl
+{
+ /**
+ * View instance
+ *
+ * @var Zend_View_Instance
+ */
+ public $view = null;
+
+ /**
+ * Default view partial
+ *
+ * @var string|array
+ */
+ protected static $_defaultViewPartial = null;
+
+ /**
+ * Sets the view instance.
+ *
+ * @param Zend_View_Interface $view View instance
+ * @return Zend_View_Helper_PaginationControl
+ */
+ public function setView(Zend_View_Interface $view)
+ {
+ $this->view = $view;
+ return $this;
+ }
+
+ /**
+ * Sets the default view partial.
+ *
+ * @param string|array $partial View partial
+ */
+ public static function setDefaultViewPartial($partial)
+ {
+ self::$_defaultViewPartial = $partial;
+ }
+
+ /**
+ * Gets the default view partial
+ *
+ * @return string|array
+ */
+ public static function getDefaultViewPartial()
+ {
+ return self::$_defaultViewPartial;
+ }
+
+ /**
+ * Render the provided pages. This checks if $view->paginator is set and,
+ * if so, uses that. Also, if no scrolling style or partial are specified,
+ * the defaults will be used (if set).
+ *
+ * @param Zend_Paginator (Optional) $paginator
+ * @param string $scrollingStyle (Optional) Scrolling style
+ * @param string $partial (Optional) View partial
+ * @param array|string $params (Optional) params to pass to the partial
+ * @return string
+ * @throws Zend_View_Exception
+ */
+ public function paginationControl(Zend_Paginator $paginator = null, $scrollingStyle = null, $partial = null, $params = null)
+ {
+ if ($paginator === null) {
+ if (isset($this->view->paginator) and $this->view->paginator !== null and $this->view->paginator instanceof Zend_Paginator) {
+ $paginator = $this->view->paginator;
+ } else {
+ /**
+ * @see Zend_View_Exception
+ */
+
+ $e = new Zend_View_Exception('No paginator instance provided or incorrect type');
+ $e->setView($this->view);
+ throw $e;
+ }
+ }
+
+ if ($partial === null) {
+ if (self::$_defaultViewPartial === null) {
+ /**
+ * @see Zend_View_Exception
+ */
+ $e = new Zend_View_Exception('No view partial provided and no default set');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $partial = self::$_defaultViewPartial;
+ }
+
+ $pages = get_object_vars($paginator->getPages($scrollingStyle));
+
+ if ($params !== null) {
+ $pages = array_merge($pages, (array) $params);
+ }
+
+ if (is_array($partial)) {
+ if (count($partial) != 2) {
+ /**
+ * @see Zend_View_Exception
+ */
+ $e = new Zend_View_Exception('A view partial supplied as an array must contain two values: the filename and its module');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ if ($partial[1] !== null) {
+ return $this->view->partial($partial[0], $partial[1], $pages);
+ }
+
+ $partial = $partial[0];
+ }
+
+ return $this->view->partial($partial, $pages);
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Partial.php b/library/vendor/Zend/View/Helper/Partial.php
new file mode 100644
index 0000000..787db9c
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Partial.php
@@ -0,0 +1,150 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_Abstract.php */
+
+/**
+ * Helper for rendering a template fragment in its own variable scope.
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_Partial extends Zend_View_Helper_Abstract
+{
+ /**
+ * Variable to which object will be assigned
+ * @var string
+ */
+ protected $_objectKey;
+
+ /**
+ * Renders a template fragment within a variable scope distinct from the
+ * calling View object.
+ *
+ * If no arguments are passed, returns the helper instance.
+ *
+ * If the $model is an array, it is passed to the view object's assign()
+ * method.
+ *
+ * If the $model is an object, it first checks to see if the object
+ * implements a 'toArray' method; if so, it passes the result of that
+ * method to to the view object's assign() method. Otherwise, the result of
+ * get_object_vars() is passed.
+ *
+ * @param string $name Name of view script
+ * @param string|array $module If $model is empty, and $module is an array,
+ * these are the variables to populate in the
+ * view. Otherwise, the module in which the
+ * partial resides
+ * @param array $model Variables to populate in the view
+ * @return string|Zend_View_Helper_Partial
+ */
+ public function partial($name = null, $module = null, $model = null)
+ {
+ if (0 == func_num_args()) {
+ return $this;
+ }
+
+ $view = $this->cloneView();
+ if (isset($this->partialCounter)) {
+ $view->partialCounter = $this->partialCounter;
+ }
+ if (isset($this->partialTotalCount)) {
+ $view->partialTotalCount = $this->partialTotalCount;
+ }
+
+ if ((null !== $module) && is_string($module)) {
+ $moduleDir = Zend_Controller_Front::getInstance()->getControllerDirectory($module);
+ if (null === $moduleDir) {
+ $e = new Zend_View_Helper_Partial_Exception('Cannot render partial; module does not exist');
+ $e->setView($this->view);
+ throw $e;
+ }
+ $viewsDir = dirname($moduleDir) . '/views';
+ $view->addBasePath($viewsDir);
+ } elseif ((null == $model) && (null !== $module)
+ && (is_array($module) || is_object($module)))
+ {
+ $model = $module;
+ }
+
+ if (!empty($model)) {
+ if (is_array($model)) {
+ $view->assign($model);
+ } elseif (is_object($model)) {
+ if (null !== ($objectKey = $this->getObjectKey())) {
+ $view->assign($objectKey, $model);
+ } elseif (method_exists($model, 'toArray')) {
+ $view->assign($model->toArray());
+ } else {
+ $view->assign(get_object_vars($model));
+ }
+ }
+ }
+
+ return $view->render($name);
+ }
+
+ /**
+ * Clone the current View
+ *
+ * @return Zend_View_Interface
+ */
+ public function cloneView()
+ {
+ $view = clone $this->view;
+ $view->clearVars();
+ return $view;
+ }
+
+ /**
+ * Set object key
+ *
+ * @param string $key
+ * @return Zend_View_Helper_Partial
+ */
+ public function setObjectKey($key)
+ {
+ if (null === $key) {
+ $this->_objectKey = null;
+ } else {
+ $this->_objectKey = (string) $key;
+ }
+
+ return $this;
+ }
+
+ /**
+ * Retrieve object key
+ *
+ * The objectKey is the variable to which an object in the iterator will be
+ * assigned.
+ *
+ * @return null|string
+ */
+ public function getObjectKey()
+ {
+ return $this->_objectKey;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Partial/Exception.php b/library/vendor/Zend/View/Helper/Partial/Exception.php
new file mode 100644
index 0000000..5cd850a
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Partial/Exception.php
@@ -0,0 +1,38 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+
+/** Zend_View_Exception */
+
+
+/**
+ * Exception for Zend_View_Helper_Partial class.
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_Partial_Exception extends Zend_View_Exception
+{
+}
diff --git a/library/vendor/Zend/View/Helper/PartialLoop.php b/library/vendor/Zend/View/Helper/PartialLoop.php
new file mode 100644
index 0000000..12125b4
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/PartialLoop.php
@@ -0,0 +1,98 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_Partial */
+
+/**
+ * Helper for rendering a template fragment in its own variable scope; iterates
+ * over data provided and renders for each iteration.
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_PartialLoop extends Zend_View_Helper_Partial
+{
+
+ /**
+ * Marker to where the pointer is at in the loop
+ * @var integer
+ */
+ protected $partialCounter = 0;
+
+ /**
+ * Renders a template fragment within a variable scope distinct from the
+ * calling View object.
+ *
+ * If no arguments are provided, returns object instance.
+ *
+ * @param string $name Name of view script
+ * @param string|array $module If $model is empty, and $module is an array,
+ * these are the variables to populate in the
+ * view. Otherwise, the module in which the
+ * partial resides
+ * @param array $model Variables to populate in the view
+ * @return string
+ */
+ public function partialLoop($name = null, $module = null, $model = null)
+ {
+ if (0 == func_num_args()) {
+ return $this;
+ }
+
+ if ((null === $model) && (null !== $module)) {
+ $model = $module;
+ $module = null;
+ }
+
+ if (!is_array($model)
+ && (!$model instanceof Traversable)
+ && (is_object($model) && !method_exists($model, 'toArray'))
+ ) {
+ $e = new Zend_View_Helper_Partial_Exception('PartialLoop helper requires iterable data');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ if (is_object($model)
+ && (!$model instanceof Traversable)
+ && method_exists($model, 'toArray')
+ ) {
+ $model = $model->toArray();
+ }
+
+ $content = '';
+ // reset the counter if it's call again
+ $this->partialCounter = 0;
+ $this->partialTotalCount = count($model);
+
+ foreach ($model as $item) {
+ // increment the counter variable
+ $this->partialCounter++;
+
+ $content .= $this->partial($name, $module, $item);
+ }
+
+ return $content;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Placeholder.php b/library/vendor/Zend/View/Helper/Placeholder.php
new file mode 100644
index 0000000..3ca47ad
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Placeholder.php
@@ -0,0 +1,85 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_Placeholder_Registry */
+
+/** Zend_View_Helper_Abstract.php */
+
+/**
+ * Helper for passing data between otherwise segregated Views. It's called
+ * Placeholder to make its typical usage obvious, but can be used just as easily
+ * for non-Placeholder things. That said, the support for this is only
+ * guaranteed to effect subsequently rendered templates, and of course Layouts.
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_Placeholder extends Zend_View_Helper_Abstract
+{
+ /**
+ * Placeholder items
+ * @var array
+ */
+ protected $_items = array();
+
+ /**
+ * @var Zend_View_Helper_Placeholder_Registry
+ */
+ protected $_registry;
+
+ /**
+ * Constructor
+ *
+ * Retrieve container registry from Zend_Registry, or create new one and register it.
+ *
+ * @return void
+ */
+ public function __construct()
+ {
+ $this->_registry = Zend_View_Helper_Placeholder_Registry::getRegistry();
+ }
+
+
+ /**
+ * Placeholder helper
+ *
+ * @param string $name
+ * @return Zend_View_Helper_Placeholder_Container_Abstract
+ */
+ public function placeholder($name)
+ {
+ $name = (string) $name;
+ return $this->_registry->getContainer($name);
+ }
+
+ /**
+ * Retrieve the registry
+ *
+ * @return Zend_View_Helper_Placeholder_Registry
+ */
+ public function getRegistry()
+ {
+ return $this->_registry;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Placeholder/Container.php b/library/vendor/Zend/View/Helper/Placeholder/Container.php
new file mode 100644
index 0000000..c30025a
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Placeholder/Container.php
@@ -0,0 +1,35 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_Placeholder_Container_Abstract */
+
+/**
+ * Container for placeholder values
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_Placeholder_Container extends Zend_View_Helper_Placeholder_Container_Abstract
+{
+}
diff --git a/library/vendor/Zend/View/Helper/Placeholder/Container/Abstract.php b/library/vendor/Zend/View/Helper/Placeholder/Container/Abstract.php
new file mode 100644
index 0000000..d015c1d
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Placeholder/Container/Abstract.php
@@ -0,0 +1,384 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/**
+ * Abstract class representing container for placeholder values
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+abstract class Zend_View_Helper_Placeholder_Container_Abstract extends ArrayObject
+{
+ /**
+ * Whether or not to override all contents of placeholder
+ * @const string
+ */
+ const SET = 'SET';
+
+ /**
+ * Whether or not to append contents to placeholder
+ * @const string
+ */
+ const APPEND = 'APPEND';
+
+ /**
+ * Whether or not to prepend contents to placeholder
+ * @const string
+ */
+ const PREPEND = 'PREPEND';
+
+ /**
+ * What text to prefix the placeholder with when rendering
+ * @var string
+ */
+ protected $_prefix = '';
+
+ /**
+ * What text to append the placeholder with when rendering
+ * @var string
+ */
+ protected $_postfix = '';
+
+ /**
+ * What string to use between individual items in the placeholder when rendering
+ * @var string
+ */
+ protected $_separator = '';
+
+ /**
+ * What string to use as the indentation of output, this will typically be spaces. Eg: ' '
+ * @var string
+ */
+ protected $_indent = '';
+
+ /**
+ * Whether or not we're already capturing for this given container
+ * @var bool
+ */
+ protected $_captureLock = false;
+
+ /**
+ * What type of capture (overwrite (set), append, prepend) to use
+ * @var string
+ */
+ protected $_captureType;
+
+ /**
+ * Key to which to capture content
+ * @var string
+ */
+ protected $_captureKey;
+
+ /**
+ * Constructor - This is needed so that we can attach a class member as the ArrayObject container
+ *
+ * @return \Zend_View_Helper_Placeholder_Container_Abstract
+ */
+ public function __construct()
+ {
+ parent::__construct(array(), parent::ARRAY_AS_PROPS);
+ }
+
+ /**
+ * Set a single value
+ *
+ * @param mixed $value
+ * @return void
+ */
+ public function set($value)
+ {
+ $this->exchangeArray(array($value));
+ }
+
+ /**
+ * Prepend a value to the top of the container
+ *
+ * @param mixed $value
+ * @return void
+ */
+ public function prepend($value)
+ {
+ $values = $this->getArrayCopy();
+ array_unshift($values, $value);
+ $this->exchangeArray($values);
+ }
+
+ /**
+ * Retrieve container value
+ *
+ * If single element registered, returns that element; otherwise,
+ * serializes to array.
+ *
+ * @return mixed
+ */
+ public function getValue()
+ {
+ if (1 == count($this)) {
+ $keys = $this->getKeys();
+ $key = array_shift($keys);
+ return $this[$key];
+ }
+
+ return $this->getArrayCopy();
+ }
+
+ /**
+ * Set prefix for __toString() serialization
+ *
+ * @param string $prefix
+ * @return Zend_View_Helper_Placeholder_Container
+ */
+ public function setPrefix($prefix)
+ {
+ $this->_prefix = (string) $prefix;
+ return $this;
+ }
+
+ /**
+ * Retrieve prefix
+ *
+ * @return string
+ */
+ public function getPrefix()
+ {
+ return $this->_prefix;
+ }
+
+ /**
+ * Set postfix for __toString() serialization
+ *
+ * @param string $postfix
+ * @return Zend_View_Helper_Placeholder_Container
+ */
+ public function setPostfix($postfix)
+ {
+ $this->_postfix = (string) $postfix;
+ return $this;
+ }
+
+ /**
+ * Retrieve postfix
+ *
+ * @return string
+ */
+ public function getPostfix()
+ {
+ return $this->_postfix;
+ }
+
+ /**
+ * Set separator for __toString() serialization
+ *
+ * Used to implode elements in container
+ *
+ * @param string $separator
+ * @return Zend_View_Helper_Placeholder_Container
+ */
+ public function setSeparator($separator)
+ {
+ $this->_separator = (string) $separator;
+ return $this;
+ }
+
+ /**
+ * Retrieve separator
+ *
+ * @return string
+ */
+ public function getSeparator()
+ {
+ return $this->_separator;
+ }
+
+ /**
+ * Set the indentation string for __toString() serialization,
+ * optionally, if a number is passed, it will be the number of spaces
+ *
+ * @param string|int $indent
+ * @return Zend_View_Helper_Placeholder_Container_Abstract
+ */
+ public function setIndent($indent)
+ {
+ $this->_indent = $this->getWhitespace($indent);
+ return $this;
+ }
+
+ /**
+ * Retrieve indentation
+ *
+ * @return string
+ */
+ public function getIndent()
+ {
+ return $this->_indent;
+ }
+
+ /**
+ * Retrieve whitespace representation of $indent
+ *
+ * @param int|string $indent
+ * @return string
+ */
+ public function getWhitespace($indent)
+ {
+ if (is_int($indent)) {
+ $indent = str_repeat(' ', $indent);
+ }
+
+ return (string) $indent;
+ }
+
+ /**
+ * Start capturing content to push into placeholder
+ *
+ * @param int|string $type How to capture content into placeholder; append, prepend, or set
+ * @param null $key
+ * @throws Zend_View_Helper_Placeholder_Container_Exception
+ * @return void
+ */
+ public function captureStart($type = Zend_View_Helper_Placeholder_Container_Abstract::APPEND, $key = null)
+ {
+ if ($this->_captureLock) {
+ $e = new Zend_View_Helper_Placeholder_Container_Exception('Cannot nest placeholder captures for the same placeholder');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $this->_captureLock = true;
+ $this->_captureType = $type;
+ if ((null !== $key) && is_scalar($key)) {
+ $this->_captureKey = (string) $key;
+ }
+ ob_start();
+ }
+
+ /**
+ * End content capture
+ *
+ * @return void
+ */
+ public function captureEnd()
+ {
+ $data = ob_get_clean();
+ $key = null;
+ $this->_captureLock = false;
+ if (null !== $this->_captureKey) {
+ $key = $this->_captureKey;
+ }
+ switch ($this->_captureType) {
+ case self::SET:
+ if (null !== $key) {
+ $this[$key] = $data;
+ } else {
+ $this->exchangeArray(array($data));
+ }
+ break;
+ case self::PREPEND:
+ if (null !== $key) {
+ $array = array($key => $data);
+ $values = $this->getArrayCopy();
+ $final = $array + $values;
+ $this->exchangeArray($final);
+ } else {
+ $this->prepend($data);
+ }
+ break;
+ case self::APPEND:
+ default:
+ if (null !== $key) {
+ if (empty($this[$key])) {
+ $this[$key] = $data;
+ } else {
+ $this[$key] .= $data;
+ }
+ } else {
+ $this[$this->nextIndex()] = $data;
+ }
+ break;
+ }
+ }
+
+ /**
+ * Get keys
+ *
+ * @return array
+ */
+ public function getKeys()
+ {
+ $array = $this->getArrayCopy();
+ return array_keys($array);
+ }
+
+ /**
+ * Next Index
+ *
+ * as defined by the PHP manual
+ * @return int
+ */
+ public function nextIndex()
+ {
+ $keys = $this->getKeys();
+ if (0 == count($keys)) {
+ return 0;
+ }
+
+ return $nextIndex = max($keys) + 1;
+ }
+
+ /**
+ * Render the placeholder
+ *
+ * @param null $indent
+ * @return string
+ */
+ public function toString($indent = null)
+ {
+ // Check items
+ if (0 === $this->count()) {
+ return '';
+ }
+
+ $indent = ($indent !== null)
+ ? $this->getWhitespace($indent)
+ : $this->getIndent();
+
+ $items = $this->getArrayCopy();
+ $return = $indent
+ . $this->getPrefix()
+ . implode($this->getSeparator(), $items)
+ . $this->getPostfix();
+ $return = preg_replace("/(\r\n?|\n)/", '$1' . $indent, $return);
+ return $return;
+ }
+
+ /**
+ * Serialize object to string
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ return $this->toString();
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Placeholder/Container/Exception.php b/library/vendor/Zend/View/Helper/Placeholder/Container/Exception.php
new file mode 100644
index 0000000..aceb769
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Placeholder/Container/Exception.php
@@ -0,0 +1,38 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+
+/** Zend_View_Exception */
+
+
+/**
+ * Exception for Zend_View_Helper_Placeholder_Container class.
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_Placeholder_Container_Exception extends Zend_View_Exception
+{
+}
diff --git a/library/vendor/Zend/View/Helper/Placeholder/Container/Standalone.php b/library/vendor/Zend/View/Helper/Placeholder/Container/Standalone.php
new file mode 100644
index 0000000..c875ca7
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Placeholder/Container/Standalone.php
@@ -0,0 +1,322 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_Placeholder_Registry */
+
+/** Zend_View_Helper_Abstract.php */
+
+/**
+ * Base class for targetted placeholder helpers
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+abstract class Zend_View_Helper_Placeholder_Container_Standalone extends Zend_View_Helper_Abstract implements IteratorAggregate, Countable, ArrayAccess
+{
+ /**
+ * @var Zend_View_Helper_Placeholder_Container_Abstract
+ */
+ protected $_container;
+
+ /**
+ * @var Zend_View_Helper_Placeholder_Registry
+ */
+ protected $_registry;
+
+ /**
+ * Registry key under which container registers itself
+ * @var string
+ */
+ protected $_regKey;
+
+ /**
+ * Flag wheter to automatically escape output, must also be
+ * enforced in the child class if __toString/toString is overriden
+ * @var book
+ */
+ protected $_autoEscape = true;
+
+ /**
+ * Constructor
+ *
+ * @return void
+ */
+ public function __construct()
+ {
+ $this->setRegistry(Zend_View_Helper_Placeholder_Registry::getRegistry());
+ $this->setContainer($this->getRegistry()->getContainer($this->_regKey));
+ }
+
+ /**
+ * Retrieve registry
+ *
+ * @return Zend_View_Helper_Placeholder_Registry
+ */
+ public function getRegistry()
+ {
+ return $this->_registry;
+ }
+
+ /**
+ * Set registry object
+ *
+ * @param Zend_View_Helper_Placeholder_Registry $registry
+ * @return Zend_View_Helper_Placeholder_Container_Standalone
+ */
+ public function setRegistry(Zend_View_Helper_Placeholder_Registry $registry)
+ {
+ $this->_registry = $registry;
+ return $this;
+ }
+
+ /**
+ * Set whether or not auto escaping should be used
+ *
+ * @param bool $autoEscape whether or not to auto escape output
+ * @return Zend_View_Helper_Placeholder_Container_Standalone
+ */
+ public function setAutoEscape($autoEscape = true)
+ {
+ $this->_autoEscape = ($autoEscape) ? true : false;
+ return $this;
+ }
+
+ /**
+ * Return whether autoEscaping is enabled or disabled
+ *
+ * return bool
+ */
+ public function getAutoEscape()
+ {
+ return $this->_autoEscape;
+ }
+
+ /**
+ * Escape a string
+ *
+ * @param string $string
+ * @return string
+ */
+ protected function _escape($string)
+ {
+ $enc = 'UTF-8';
+ if ($this->view instanceof Zend_View_Interface
+ && method_exists($this->view, 'getEncoding')
+ ) {
+ $enc = $this->view->getEncoding();
+ }
+
+ return htmlspecialchars((string) $string, ENT_COMPAT, $enc);
+ }
+
+ /**
+ * Set container on which to operate
+ *
+ * @param Zend_View_Helper_Placeholder_Container_Abstract $container
+ * @return Zend_View_Helper_Placeholder_Container_Standalone
+ */
+ public function setContainer(Zend_View_Helper_Placeholder_Container_Abstract $container)
+ {
+ $this->_container = $container;
+ return $this;
+ }
+
+ /**
+ * Retrieve placeholder container
+ *
+ * @return Zend_View_Helper_Placeholder_Container_Abstract
+ */
+ public function getContainer()
+ {
+ return $this->_container;
+ }
+
+ /**
+ * Overloading: set property value
+ *
+ * @param string $key
+ * @param mixed $value
+ * @return void
+ */
+ public function __set($key, $value)
+ {
+ $container = $this->getContainer();
+ $container[$key] = $value;
+ }
+
+ /**
+ * Overloading: retrieve property
+ *
+ * @param string $key
+ * @return mixed
+ */
+ public function __get($key)
+ {
+ $container = $this->getContainer();
+ if (isset($container[$key])) {
+ return $container[$key];
+ }
+
+ return null;
+ }
+
+ /**
+ * Overloading: check if property is set
+ *
+ * @param string $key
+ * @return bool
+ */
+ public function __isset($key)
+ {
+ $container = $this->getContainer();
+ return isset($container[$key]);
+ }
+
+ /**
+ * Overloading: unset property
+ *
+ * @param string $key
+ * @return void
+ */
+ public function __unset($key)
+ {
+ $container = $this->getContainer();
+ if (isset($container[$key])) {
+ unset($container[$key]);
+ }
+ }
+
+ /**
+ * Overload
+ *
+ * Proxy to container methods
+ *
+ * @param string $method
+ * @param array $args
+ * @return mixed
+ */
+ public function __call($method, $args)
+ {
+ $container = $this->getContainer();
+ if (method_exists($container, $method)) {
+ $return = call_user_func_array(array($container, $method), $args);
+ if ($return === $container) {
+ // If the container is returned, we really want the current object
+ return $this;
+ }
+ return $return;
+ }
+
+ $e = new Zend_View_Exception('Method "' . $method . '" does not exist');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ /**
+ * String representation
+ *
+ * @return string
+ */
+ public function toString()
+ {
+ return $this->getContainer()->toString();
+ }
+
+ /**
+ * Cast to string representation
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ return $this->toString();
+ }
+
+ /**
+ * Countable
+ *
+ * @return int
+ */
+ public function count(): int
+ {
+ $container = $this->getContainer();
+ return count($container);
+ }
+
+ /**
+ * ArrayAccess: offsetExists
+ *
+ * @param string|int $offset
+ * @return bool
+ */
+ public function offsetExists($offset): bool
+ {
+ return $this->getContainer()->offsetExists($offset);
+ }
+
+ /**
+ * ArrayAccess: offsetGet
+ *
+ * @param string|int $offset
+ * @return mixed
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetGet($offset)
+ {
+ return $this->getContainer()->offsetGet($offset);
+ }
+
+ /**
+ * ArrayAccess: offsetSet
+ *
+ * @param string|int $offset
+ * @param mixed $value
+ * @return void
+ */
+ public function offsetSet($offset, $value): void
+ {
+ $this->getContainer()->offsetSet($offset, $value);
+ }
+
+ /**
+ * ArrayAccess: offsetUnset
+ *
+ * @param string|int $offset
+ * @return void
+ */
+ public function offsetUnset($offset): void
+ {
+ $this->getContainer()->offsetUnset($offset);
+ }
+
+ /**
+ * IteratorAggregate: get Iterator
+ *
+ * @return Iterator
+ */
+ public function getIterator(): Traversable
+ {
+ return $this->getContainer()->getIterator();
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Placeholder/Registry.php b/library/vendor/Zend/View/Helper/Placeholder/Registry.php
new file mode 100644
index 0000000..111604c
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Placeholder/Registry.php
@@ -0,0 +1,183 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_Registry */
+
+/** Zend_View_Helper_Placeholder_Container_Abstract */
+
+/** Zend_View_Helper_Placeholder_Container */
+
+/**
+ * Registry for placeholder containers
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_Placeholder_Registry
+{
+ /**
+ * Zend_Registry key under which placeholder registry exists
+ * @const string
+ */
+ const REGISTRY_KEY = 'Zend_View_Helper_Placeholder_Registry';
+
+ /**
+ * Default container class
+ * @var string
+ */
+ protected $_containerClass = 'Zend_View_Helper_Placeholder_Container';
+
+ /**
+ * Placeholder containers
+ * @var array
+ */
+ protected $_items = array();
+
+ /**
+ * Retrieve or create registry instnace
+ *
+ * @return void
+ */
+ public static function getRegistry()
+ {
+ if (Zend_Registry::isRegistered(self::REGISTRY_KEY)) {
+ $registry = Zend_Registry::get(self::REGISTRY_KEY);
+ } else {
+ $registry = new self();
+ Zend_Registry::set(self::REGISTRY_KEY, $registry);
+ }
+
+ return $registry;
+ }
+
+ /**
+ * createContainer
+ *
+ * @param string $key
+ * @param array $value
+ * @return Zend_View_Helper_Placeholder_Container_Abstract
+ */
+ public function createContainer($key, array $value = array())
+ {
+ $key = (string) $key;
+
+ $this->_items[$key] = new $this->_containerClass($value);
+ return $this->_items[$key];
+ }
+
+ /**
+ * Retrieve a placeholder container
+ *
+ * @param string $key
+ * @return Zend_View_Helper_Placeholder_Container_Abstract
+ */
+ public function getContainer($key)
+ {
+ $key = (string) $key;
+ if (isset($this->_items[$key])) {
+ return $this->_items[$key];
+ }
+
+ $container = $this->createContainer($key);
+
+ return $container;
+ }
+
+ /**
+ * Does a particular container exist?
+ *
+ * @param string $key
+ * @return bool
+ */
+ public function containerExists($key)
+ {
+ $key = (string) $key;
+ $return = array_key_exists($key, $this->_items);
+ return $return;
+ }
+
+ /**
+ * Set the container for an item in the registry
+ *
+ * @param string $key
+ * @param Zend_View_Placeholder_Container_Abstract $container
+ * @return Zend_View_Placeholder_Registry
+ */
+ public function setContainer($key, Zend_View_Helper_Placeholder_Container_Abstract $container)
+ {
+ $key = (string) $key;
+ $this->_items[$key] = $container;
+ return $this;
+ }
+
+ /**
+ * Delete a container
+ *
+ * @param string $key
+ * @return bool
+ */
+ public function deleteContainer($key)
+ {
+ $key = (string) $key;
+ if (isset($this->_items[$key])) {
+ unset($this->_items[$key]);
+ return true;
+ }
+
+ return false;
+ }
+
+ /**
+ * Set the container class to use
+ *
+ * @param string $name
+ * @return Zend_View_Helper_Placeholder_Registry
+ */
+ public function setContainerClass($name)
+ {
+ if (!class_exists($name)) {
+ Zend_Loader::loadClass($name);
+ }
+
+ $reflection = new ReflectionClass($name);
+ if (!$reflection->isSubclassOf(new ReflectionClass('Zend_View_Helper_Placeholder_Container_Abstract'))) {
+ $e = new Zend_View_Helper_Placeholder_Registry_Exception('Invalid Container class specified');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $this->_containerClass = $name;
+ return $this;
+ }
+
+ /**
+ * Retrieve the container class
+ *
+ * @return string
+ */
+ public function getContainerClass()
+ {
+ return $this->_containerClass;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Placeholder/Registry/Exception.php b/library/vendor/Zend/View/Helper/Placeholder/Registry/Exception.php
new file mode 100644
index 0000000..42d7a28
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Placeholder/Registry/Exception.php
@@ -0,0 +1,38 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+
+/** Zend_View_Exception */
+
+
+/**
+ * Exception for Zend_View_Helper_Placeholder_Registry class.
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_Placeholder_Registry_Exception extends Zend_View_Exception
+{
+}
diff --git a/library/vendor/Zend/View/Helper/RenderToPlaceholder.php b/library/vendor/Zend/View/Helper/RenderToPlaceholder.php
new file mode 100644
index 0000000..1d11186
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/RenderToPlaceholder.php
@@ -0,0 +1,52 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_Abstract.php */
+
+/**
+ * Renders a template and stores the rendered output as a placeholder
+ * variable for later use.
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+class Zend_View_Helper_RenderToPlaceholder extends Zend_View_Helper_Abstract
+{
+
+ /**
+ * Renders a template and stores the rendered output as a placeholder
+ * variable for later use.
+ *
+ * @param string $script The template script to render
+ * @param string $placeholder The placeholder variable name in which to store the rendered output
+ * @return void
+ */
+ public function renderToPlaceholder($script, $placeholder)
+ {
+ $this->view->placeholder($placeholder)->captureStart();
+ echo $this->view->render($script);
+ $this->view->placeholder($placeholder)->captureEnd();
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/ServerUrl.php b/library/vendor/Zend/View/Helper/ServerUrl.php
new file mode 100644
index 0000000..c38ec8b
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/ServerUrl.php
@@ -0,0 +1,148 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+/**
+ * Helper for returning the current server URL (optionally with request URI)
+ *
+ * @category Zend
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_ServerUrl
+{
+ /**
+ * Scheme
+ *
+ * @var string
+ */
+ protected $_scheme;
+
+ /**
+ * Host (including port)
+ *
+ * @var string
+ */
+ protected $_host;
+
+ /**
+ * Constructor
+ *
+ * @return void
+ */
+ public function __construct()
+ {
+ switch (true) {
+ case (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] === true)):
+ case (isset($_SERVER['HTTP_SCHEME']) && ($_SERVER['HTTP_SCHEME'] == 'https')):
+ case (isset($_SERVER['SERVER_PORT']) && ($_SERVER['SERVER_PORT'] == 443)):
+ $scheme = 'https';
+ break;
+ default:
+ $scheme = 'http';
+ }
+ $this->setScheme($scheme);
+
+ if (isset($_SERVER['HTTP_HOST']) && !empty($_SERVER['HTTP_HOST'])) {
+ $this->setHost($_SERVER['HTTP_HOST']);
+ } else if (isset($_SERVER['SERVER_NAME'], $_SERVER['SERVER_PORT'])) {
+ $name = $_SERVER['SERVER_NAME'];
+ $port = $_SERVER['SERVER_PORT'];
+
+ if (($scheme == 'http' && $port == 80) ||
+ ($scheme == 'https' && $port == 443)) {
+ $this->setHost($name);
+ } else {
+ $this->setHost($name . ':' . $port);
+ }
+ }
+ }
+
+ /**
+ * View helper entry point:
+ * Returns the current host's URL like http://site.com
+ *
+ * @param string|boolean $requestUri [optional] if true, the request URI
+ * found in $_SERVER will be appended
+ * as a path. If a string is given, it
+ * will be appended as a path. Default
+ * is to not append any path.
+ * @return string server url
+ */
+ public function serverUrl($requestUri = null)
+ {
+ if ($requestUri === true) {
+ $path = $_SERVER['REQUEST_URI'];
+ } else if (is_string($requestUri)) {
+ $path = $requestUri;
+ } else {
+ $path = '';
+ }
+
+ return $this->getScheme() . '://' . $this->getHost() . $path;
+ }
+
+ /**
+ * Returns host
+ *
+ * @return string host
+ */
+ public function getHost()
+ {
+ return $this->_host;
+ }
+
+ /**
+ * Sets host
+ *
+ * @param string $host new host
+ * @return Zend_View_Helper_ServerUrl fluent interface, returns self
+ */
+ public function setHost($host)
+ {
+ $this->_host = $host;
+ return $this;
+ }
+
+ /**
+ * Returns scheme (typically http or https)
+ *
+ * @return string scheme (typically http or https)
+ */
+ public function getScheme()
+ {
+ return $this->_scheme;
+ }
+
+ /**
+ * Sets scheme (typically http or https)
+ *
+ * @param string $scheme new scheme (typically http or https)
+ * @return Zend_View_Helper_ServerUrl fluent interface, returns self
+ */
+ public function setScheme($scheme)
+ {
+ $this->_scheme = $scheme;
+ return $this;
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Translate.php b/library/vendor/Zend/View/Helper/Translate.php
new file mode 100644
index 0000000..8a7d916
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Translate.php
@@ -0,0 +1,174 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id$
+ */
+
+/** Zend_Locale */
+
+/** Zend_View_Helper_Abstract.php */
+
+/**
+ * Translation view helper
+ *
+ * @category Zend
+ * @package Zend_View
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_Translate extends Zend_View_Helper_Abstract
+{
+ /**
+ * Translation object
+ *
+ * @var Zend_Translate_Adapter
+ */
+ protected $_translator;
+
+ /**
+ * Constructor for manually handling
+ *
+ * @param Zend_Translate|Zend_Translate_Adapter $translate Instance of Zend_Translate
+ */
+ public function __construct($translate = null)
+ {
+ if ($translate !== null) {
+ $this->setTranslator($translate);
+ }
+ }
+
+ /**
+ * Translate a message
+ * You can give multiple params or an array of params.
+ * If you want to output another locale just set it as last single parameter
+ * Example 1: translate('%1\$s + %2\$s', $value1, $value2, $locale);
+ * Example 2: translate('%1\$s + %2\$s', array($value1, $value2), $locale);
+ *
+ * @param string $messageid Id of the message to be translated
+ * @return string|Zend_View_Helper_Translate Translated message
+ */
+ public function translate($messageid = null)
+ {
+ if ($messageid === null) {
+ return $this;
+ }
+
+ $translate = $this->getTranslator();
+ $options = func_get_args();
+
+ array_shift($options);
+ $count = count($options);
+ $locale = null;
+ if ($count > 0) {
+ if (Zend_Locale::isLocale($options[($count - 1)], null, false) !== false) {
+ $locale = array_pop($options);
+ }
+ }
+
+ if ((count($options) === 1) and (is_array($options[0]) === true)) {
+ $options = $options[0];
+ }
+
+ if ($translate !== null) {
+ $messageid = $translate->translate($messageid, $locale);
+ }
+
+ if (count($options) === 0) {
+ return $messageid;
+ }
+
+ return vsprintf($messageid, $options);
+ }
+
+ /**
+ * Sets a translation Adapter for translation
+ *
+ * @param Zend_Translate|Zend_Translate_Adapter $translate Instance of Zend_Translate
+ * @throws Zend_View_Exception When no or a false instance was set
+ * @return Zend_View_Helper_Translate
+ */
+ public function setTranslator($translate)
+ {
+ if ($translate instanceof Zend_Translate_Adapter) {
+ $this->_translator = $translate;
+ } else if ($translate instanceof Zend_Translate) {
+ $this->_translator = $translate->getAdapter();
+ } else {
+ $e = new Zend_View_Exception('You must set an instance of Zend_Translate or Zend_Translate_Adapter');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ return $this;
+ }
+
+ /**
+ * Retrieve translation object
+ *
+ * @return Zend_Translate_Adapter|null
+ */
+ public function getTranslator()
+ {
+ if ($this->_translator === null) {
+ if (Zend_Registry::isRegistered('Zend_Translate')) {
+ $this->setTranslator(Zend_Registry::get('Zend_Translate'));
+ }
+ }
+
+ return $this->_translator;
+ }
+
+ /**
+ * Set's an new locale for all further translations
+ *
+ * @param string|Zend_Locale $locale New locale to set
+ * @throws Zend_View_Exception When no Zend_Translate instance was set
+ * @return Zend_View_Helper_Translate
+ */
+ public function setLocale($locale = null)
+ {
+ $translate = $this->getTranslator();
+ if ($translate === null) {
+ $e = new Zend_View_Exception('You must set an instance of Zend_Translate or Zend_Translate_Adapter');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ $translate->setLocale($locale);
+ return $this;
+ }
+
+ /**
+ * Returns the set locale for translations
+ *
+ * @throws Zend_View_Exception When no Zend_Translate instance was set
+ * @return string|Zend_Locale
+ */
+ public function getLocale()
+ {
+ $translate = $this->getTranslator();
+ if ($translate === null) {
+ $e = new Zend_View_Exception('You must set an instance of Zend_Translate or Zend_Translate_Adapter');
+ $e->setView($this->view);
+ throw $e;
+ }
+
+ return $translate->getLocale();
+ }
+}
diff --git a/library/vendor/Zend/View/Helper/Url.php b/library/vendor/Zend/View/Helper/Url.php
new file mode 100644
index 0000000..3ed84ca
--- /dev/null
+++ b/library/vendor/Zend/View/Helper/Url.php
@@ -0,0 +1,50 @@
+<?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_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @version $Id$
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+/** Zend_View_Helper_Abstract.php */
+
+/**
+ * Helper for making easy links and getting urls that depend on the routes and router
+ *
+ * @package Zend_View
+ * @subpackage Helper
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_View_Helper_Url extends Zend_View_Helper_Abstract
+{
+ /**
+ * Generates an url given the name of a route.
+ *
+ * @access public
+ *
+ * @param array $urlOptions Options passed to the assemble method of the Route object.
+ * @param mixed $name The name of a Route to use. If null it will use the current Route
+ * @param bool $reset Whether or not to reset the route defaults with those provided
+ * @return string Url for the link href attribute.
+ */
+ public function url(array $urlOptions = array(), $name = null, $reset = false, $encode = true)
+ {
+ $router = Zend_Controller_Front::getInstance()->getRouter();
+ return $router->assemble($urlOptions, $name, $reset, $encode);
+ }
+}