value ? "checked=\"checked\"" : ''; $disabled = $this->disabled ? " disabled=\"disabled\"" : ""; return "id() . "\" name=\"{$this->name}\" $checked $disabled />"; } function dataValue() { return $this->value ? 1 : 0; } /** * Checkboxes use the RightLabelledFieldHolder template, to put the field on the left * and the label on the right. See {@link FormField::FieldHolder} for more information about * how FieldHolder works. */ function FieldHolder() { if($this->labelLeft) { return parent::FieldHolder(); } else { extract($this->getXMLValues(array( 'Name', 'Field', 'Title', 'Message', 'MessageType' ))); $messageBlock = isset($Message) ? "$Message" : ''; $Type = $this->XML_val('Type'); return << $Field $messageBlock

HTML; } } function useLabelLeft( $labelLeft = true ) { $this->labelLeft = $labelLeft; } /** * Returns a restricted field holder used within things like FieldGroups */ function SmallFieldHolder() { $result = $this->Field(); if($t = $this->Title()) { $result .= " "; } return $result; } /** * Returns a readonly version of this field */ function performReadonlyTransformation() { $field = new CheckboxField_Readonly($this->name, $this->title, $this->value ? 'Yes' : 'No'); $field->setForm($this->form); return $field; } function performDisabledTransformation() { $this->disabled = true; return $this; } } class CheckboxField_Readonly extends ReadonlyField { function performReadonlyTransformation() { return $this; } function setValue($val) { $this->value = ($val) ? 'Yes' : 'No'; } } ?>