getElement(); $label = $element->getLabel(); if ($label == '') { return false; } if ($translator = $element->getTranslator()) { $label = $translator->translate($label); } if ($element->isRequired() && !$this->getOption('dontMarkRequired')) { $label .= '*'; } return $label . ':'; /*return $element->getView() ->formLabel($element->getName(), $label);*/ } public function buildInput($content = '') { $element = $this->getElement(); $helper = $element->helper; $attribs = $element->getAttribs(); if ($this->getOption('bottom')) { $attribs = array_merge($attribs, array('style' => 'top:0; width:auto')); } if ($element instanceof Monkeys_Form_Element_Captcha) { return $content; } $input = $element->getView()->$helper( $element->getName(), $element->getValue(), $attribs, $element->options, $this->getSeparator() ); if ($element instanceof Monkeys_Form_Element_Radio) { return "
$input
"; } return $input; } public function buildErrors() { $element = $this->getElement(); $messages = $element->getMessages(); if (empty($messages)) { return ''; } return $element->getView()->formErrors($messages); /*return '
' . $element->getView()->formErrors($messages) . '
';*/ } public function buildDescription() { $element = $this->getElement(); $desc = $element->getDescription(); if (empty($desc)) { return ''; } if ($translator = $element->getTranslator()) { $desc = $translator->translate($desc); } return $desc; } public function render($content) { $element = $this->getElement(); if (!$element instanceof Zend_Form_Element) { return $content; } if (null === $element->getView()) { return $content; } $separator = $this->getSeparator(); $placement = $this->getPlacement(); $label = $this->buildLabel(); $input = $this->buildInput($content); $errors = $this->buildErrors(); $desc = $this->buildDescription(); if ($desc && $errors) { $desc = "
$desc
"; } else if ($desc && !$errors) { $desc = "
$desc
"; } if ($this->getOption('yuiGridType')) { $yuiGridType = $this->getOption('yuiGridType'); } else { $yuiGridType = 'gf'; } if ($this->getOption('wideLabel')) { if ($label !== false) { $output = "
\n" ."
$label
\n" ."
 
\n" ."
\n" ." $input\n" ." $desc\n" . ($errors? "
$errors
\n" : "") ."
\n" ."
\n"; } else { $output = "
\n" ." $input\n" ." $desc\n" . ($errors? "
$errors
\n" : "") ."
\n"; } } else if ($this->getOption('separateLine')) { $output = "
\n" ." $label\n" ."
\n" ."
$input
\n" ."
$desc
\n" . ($errors? "
$errors
\n" : ""); } else if ($this->getOption('continuous')) { $output = "
\n" ." $label $input" ."
\n" ." $desc\n" . ($errors? "
$errors
\n" : "") ."
\n" ."
\n"; } else { $output = "
\n" ."
$label
\n" ."
\n" ." $input\n" ." $desc\n" . ($errors? "
$errors
\n" : "") ."
\n" ."
\n"; } return $output; // I believe we shouldn't use $placement (messes up the captcha, but I'm not sure about radios) /*switch ($placement) { case (self::PREPEND): return $output . $separator . $content; case (self::APPEND): default: return $content . $separator . $output; }*/ } }