/** * Helper function for generating simple checkbox HTML fragments * * @param Zend_Form_Element_Checkbox $element * @param string $cssEtc optional attribute string for <input> tags * @param string $wrapInputHtml optional HTML that wraps each <input>, split by an asterisk * @param string $wrapLabelHtml optional HTML that wraps each <label>, split by an asterisk * * @return string */ public function simpleCheckbox($element, $cssEtc = '', $wrapInputHtml = '', $wrapLabelHtml = '') { $wrapInputHtmlStart = $wrapInputHtmlEnd = $wrapLabelHtmlStart = $wrapLabelHtmlEnd = ''; if (strpos($wrapInputHtml, '*') !== false) { list($wrapInputHtmlStart, $wrapInputHtmlEnd) = explode('*', $wrapInputHtml); } if (strpos($wrapLabelHtml, '*') !== false) { list($wrapLabelHtmlStart, $wrapLabelHtmlEnd) = explode('*', $wrapLabelHtml); } $output = ''; $checkedValue = $element->options['checkedValue']; $output .= sprintf("%s<input type=\"checkbox\" name=\"%s\" id=\"%s\" value=\"%s\"%s%s />%s<label for=\"%s\">%s</label>%s%s\n", $wrapInputHtmlStart, $element->getName(), $element->getId(), $checkedValue, (string) $checkedValue == (string) $element->getValue() ? ' checked="checked"' : '', $cssEtc != '' ? " {$cssEtc}" : '', $wrapLabelHtmlStart, $element->getId(), $element->getLabel(), $wrapLabelHtmlEnd, $wrapInputHtmlEnd); return $output; }
public function __construct($options = null) { parent::__construct($options); $this->setName('class'); $this->setIsArray(true); $classname = new Zend_Form_Element_Text(Model_ClassGenerator_FormToClass::$nameKey); $classname->setLabel('Class name')->setRequired(true)->addValidator('NotEmpty', true); $classComment = new Zend_Form_Element_Textarea(Model_ClassGenerator_FormToClass::$commentKey); $classComment->setLabel('Class comment/description'); $classComment->setAttrib('cols', '50')->setAttrib('rows', '4'); $persistenceOn = new Zend_Form_Element_Checkbox(Model_ClassGenerator_FormToClass::$withPersistenceKey); $persistenceOn->setLabel('Persistence ON'); $table = new Zend_Form_Element_Text(Model_ClassGenerator_FormToClass::$tableKey); $table->setLabel('Database Table'); $addFieldDynId = new Zend_Form_Element_Hidden('addFieldDynId'); $addFieldDynId->setAttrib('id', 'addFieldDynId'); $addFieldDynId->setValue(1); $attributesSf = self::getAttributeSubform(); $this->addSubForm($attributesSf, 'attributes', 1); /*Use table decorator! require_once('../application/forms/Decorators/Table.php'); $this->setDecorators(array( 'FormElements', array('Table', array('doNotSetDecorators' => false)), 'Form' )); */ $add = new Zend_Form_Element_Button('addAttribute'); $add->setAttrib('id', 'addAttribute'); $add->setLabel('Add Attribute'); $remove = new Zend_Form_Element_Button('removeAttribute'); $remove->setAttrib('id', 'removeAttribute'); $remove->setLabel('Remove Attribute'); $submit = new Zend_Form_Element_Submit('submit'); $submit->setLabel('Play!')->setOrder(5); $this->addElements(array($classname, $classComment, $persistenceOn, $table)); $this->addDisplayGroup(array($classname->getName(), $classComment->getName(), $persistenceOn->getName(), $table->getName()), 'Class properties')->setOrder(0); $this->addElements(array($add, $remove, $submit, $addFieldDynId)); $this->addElement('hash', 'no_csrf_foo', array('salt' => 'unique')); }