/usr/share/php/libzend-framework-php/ZendX/JQuery/Form/Decorator/UiWidgetPane.php is in libzend-framework-zendx-php 1.11.11-0ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | <?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 ZendX
* @package ZendX_JQuery
* @subpackage View
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: UiWidgetPane.php 20165 2010-01-09 18:57:56Z bkarwin $
*/
require_once "Zend/Form/Decorator/Abstract.php";
/**
* Abstract Form Decorator for all jQuery UI Pane View Helpers
*
* @package ZendX_JQuery
* @subpackage Form
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
abstract class ZendX_JQuery_Form_Decorator_UiWidgetPane extends Zend_Form_Decorator_Abstract
{
/**
* View helper
* @var string
*/
protected $_helper;
/**
* Element attributes
* @var array
*/
protected $_attribs;
/**
* jQuery option parameters
* @var array
*/
protected $_jQueryParams;
/**
* Container title
* @var string
*/
protected $_title;
/**
* Get view helper for rendering container
*
* @return string
*/
public function getHelper()
{
if (null === $this->_helper) {
require_once 'Zend/Form/Decorator/Exception.php';
throw new Zend_Form_Decorator_Exception('No view helper specified fo UiWidgetContainer decorator');
}
return $this->_helper;
}
/**
* Get element attributes
*
* @return array
*/
public function getAttribs()
{
if (null === $this->_attribs) {
$attribs = $this->getElement()->getAttribs();
if (array_key_exists('jQueryParams', $attribs)) {
$this->getJQueryParams();
unset($attribs['jQueryParams']);
}
$this->_attribs = $attribs;
}
return $this->_attribs;
}
/**
* Get jQuery option parameters
*
* @return array
*/
public function getJQueryParams()
{
if (null === $this->_jQueryParams) {
$attribs = $this->getElement()->getAttribs();
$this->_jQueryParams = array();
if (array_key_exists('jQueryParams', $attribs)) {
$this->_jQueryParams = $attribs['jQueryParams'];
}
$options = $this->getOptions();
if (array_key_exists('jQueryParams', $options)) {
$this->_jQueryParams = array_merge($this->_jQueryParams, $options['jQueryParams']);
$this->removeOption('jQueryParams');
}
}
// Ensure we have a title param
if (!array_key_exists('title', $this->_jQueryParams)) {
require_once "Zend/Form/Decorator/Exception.php";
throw new Zend_Form_Decorator_Exception("UiWidgetPane Decorators have to have a jQueryParam 'title' to render. This title can been set via setJQueryParam('title') on the parent element.");
}
return $this->_jQueryParams;
}
/**
* Render an jQuery UI Widget Pane using its associated view helper
*
* @throws Zend_Form_Decorator_Exception
* @param string $content
* @return string
* @throws Zend_Form_Decorator_Exception if element or view are not registered
*/
public function render($content)
{
$element = $this->getElement();
$view = $element->getView();
if (null === $view) {
return $content;
}
$jQueryParams = $this->getJQueryParams();
$attribs = array_merge($this->getAttribs(), $this->getOptions());
if(isset($jQueryParams['title']) && !empty($jQueryParams['title'])) {
if (null !== ($translator = $element->getTranslator())) {
$jQueryParams['title'] = $translator->translate($jQueryParams['title']);
}
}
if(isset($jQueryParams['containerId'])) {
$id = $jQueryParams['containerId']."-container";
} else {
require_once "Zend/Form/Decorator/Exception.php";
throw new Zend_Form_Decorator_Exception("UiWidgetPane Decorators have to have a jQueryParam 'containerId', to point at their parent container. This containerId has been set via setAttrib('id') on the parent element.");
}
$helper = $this->getHelper();
return $view->$helper($id, $content, $jQueryParams, $attribs);
}
}
|