public
Last active

EditableHiddenField for UserDefinedForms

  • Download Gist
EditableHiddenField.php
PHP
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
<?php
 
/**
* @package userforms
*/
class EditableHiddenField extends EditableFormField {
 
private static $singular_name = 'Hidden Field';
private static $plural_name = 'Hidden Fields';
public function getFieldConfiguration() {
$options = parent::getFieldConfiguration();
 
$options->push(
new TextField($this->getSettingName("Variable"), 'Value (use GET["a"]) to accept GET parameters', $this->getSetting('Variable')),
new CheckboxField(
$this->getSettingName('HideFromReports'),
_t('EditableLiteralField.HIDEFROMREPORT', 'Hide from reports?'),
$this->getSetting('HideFromReports')
)
);
 
if($this->readonly) {
$extraFields = $options->makeReadonly();
}
return $options;
}
 
public function getFormField() {
$var = $this->getSetting('Variable');
 
if(preg_match("/^GET\[(.*)\]$/i", $var, $results)) {
$var = (isset($_GET[$results[1]])) ? $_GET[$results[1]] : "";
}
 
return new HiddenField($this->Name, $this->Title, $var);
}
public function showInReports() {
return (!$this->getSetting('HideFromReports'));
}
public function getFieldValidationOptions() {
return false;
}
}

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.