Grima  2018-08
Whispering into Alma's ear
Public Member Functions | Public Attributes | Protected Attributes | List of all members
GrimaFormField Class Reference

Wrapper for each field in a form, keeping track of its properties. More...

Public Member Functions

  booly ($str, $default='undefined')
  return boolean meaning of common terms ("true","on","1","yes") More...
 
  __construct ($field)
  create a new GrimaFormField More...
 

Public Attributes

  $value
 
  $name
 
  $label
 
  $placeholder
 
  $required
 
  $persistent
 
  $visible
 
  $rows
 
  $dataset
 
  $error_condition = ""
 
  $error_message = ""
 

Protected Attributes

  $autocomplete
 
  $highlight
 

Detailed Description

Wrapper for each field in a form, keeping track of its properties.

Definition at line 1786 of file grima-lib.php.

Constructor & Destructor Documentation

◆ __construct()

GrimaFormField::__construct (   $field )

create a new GrimaFormField

Parameters
DomNode $field with attributes for all properties

Definition at line 1837 of file grima-lib.php.

References GrimaUser\GetCurrentUser(), and GrimaDB\getInstitutions().

1837  {
1838  $this->name = $field->getAttribute('name');
1839  $this->label = $field->getAttribute('label');
1840  $this->placeholder = $field->getAttribute('placeholder');
1841  $this->rows = $field->getAttribute('rows');
1842  $this->type = $field->getAttribute('type');
1843  if (!$this->type) {
1844  $this->type = 'input';
1845  }
1846  $this->required = $this->booly($field->getAttribute('required'),true);
1847  $this->persistent = $this->booly($field->getAttribute('persistent'),false);
1848  $this->autocomplete = $this->booly($field->getAttribute('autocomplete'),false);
1849  $this->visible = $this->booly($field->getAttribute('visible'),true);
1850  $this->dataset = $field->getAttribute('dataset');
1851  $this->options = array();
1852  if ($this->dataset) {
1853  if ($this->dataset == "institutions") {
1854  $institutions = GrimaDB::getInstitutions();
1855  $currentUser = GrimaUser::GetCurrentUser();
1856  foreach ($institutions as $institution) {
1857  $i = htmlspecialchars($institution);
1858  $s = ($institution === $currentUser['institution']) ? ' selected="selected"' : '';
1859  $this->options[] = "<option value=\"$i\"$s>$i</option>";
1860  }
1861  }
1862  } else {
1863  foreach ($field->getElementsByTagName("option") as $option) {
1864  $this->options[] = $option->ownerDocument->saveXML( $option );
1865  }
1866  }
1867  }
static getInstitutions()
Definition: grima-lib.php:3947
static GetCurrentUser()
Definition: grima-lib.php:4112
booly($str, $default='undefined')
return boolean meaning of common terms ("true","on","1","yes")
Definition: grima-lib.php:1811

Member Function Documentation

◆ booly()

GrimaFormField::booly (   $str,
  $default = 'undefined' 
)

return boolean meaning of common terms ("true","on","1","yes")

Parameters
string $str term to interpret
$default if it is not found
Returns
boolean true or false

Definition at line 1811 of file grima-lib.php.

1811  {
1812  switch(strtolower($str)) {
1813  case 'true':
1814  case 't':
1815  case 'on':
1816  case 'yes':
1817  case '1':
1818  return true;
1819  case 'false':
1820  case 'f':
1821  case 'off':
1822  case 'no':
1823  case '0':
1824  return false;
1825  default:
1826  return $default;
1827  }
1828  }

Member Data Documentation

◆ $autocomplete

GrimaFormField::$autocomplete
protected

Definition at line 1798 of file grima-lib.php.

◆ $dataset

GrimaFormField::$dataset

Definition at line 1797 of file grima-lib.php.

◆ $error_condition

GrimaFormField::$error_condition = ""

Definition at line 1800 of file grima-lib.php.

◆ $error_message

GrimaFormField::$error_message = ""

Definition at line 1801 of file grima-lib.php.

◆ $highlight

GrimaFormField::$highlight
protected

Definition at line 1799 of file grima-lib.php.

◆ $label

GrimaFormField::$label

Definition at line 1791 of file grima-lib.php.

◆ $name

GrimaFormField::$name

Definition at line 1790 of file grima-lib.php.

◆ $persistent

GrimaFormField::$persistent

Definition at line 1794 of file grima-lib.php.

◆ $placeholder

GrimaFormField::$placeholder

Definition at line 1792 of file grima-lib.php.

◆ $required

GrimaFormField::$required

Definition at line 1793 of file grima-lib.php.

◆ $rows

GrimaFormField::$rows

Definition at line 1796 of file grima-lib.php.

◆ $value

GrimaFormField::$value

Definition at line 1788 of file grima-lib.php.

◆ $visible

GrimaFormField::$visible

Definition at line 1795 of file grima-lib.php.


The documentation for this class was generated from the following file: