Exemplo n.º 1
0
 public static function restore($props)
 {
     $rv =& FormInputFabrication::createNew($props['type'], $props['name']);
     $rv->_value = $props['value'];
     $rv->_default_value = $props['default_value'];
     $rv->_configuration = StoreObject::restore($props['configuration']);
     return $rv;
 }
System::import('System.Context.HttpContext');
System::import('System.FormInput.FormInputFabrication');
System::import('System.FormInput.FormInput');
System::import('System.FormInput.FormInputConfiguration');
System::import('System.FormInput.Configurations.FormInputLengthConfiguration');
System::import('System.FormInput.Configurations.FormInputSelectedConfiguration');
//System::import( 'System.StoreObject' );
$context =& new HttpContext();
FormInput::setContext($context);
$configNom =& new FormInputConfiguration();
$configNom->add(new FormInputLengthConfiguration(10));
$configCheckbox =& new FormInputConfiguration();
$configCheckbox->add(new FormInputSelectedConfiguration(false));
$inputs = array('nom' => array('type' => FormInputEnumeration::TYPE_TEXT, 'defaultValue' => 'Ab\'r"aham', 'configuration' => $configNom), 'case_a_cocher' => array('type' => FormInputEnumeration::TYPE_CHECKBOX, 'defaultValue' => 1, 'configuration' => $configCheckbox));
foreach ($inputs as $name => $struct) {
    ${$name} =& FormInputFabrication::createNew($struct['type'], $name);
    if (array_key_exists('defaultValue', $struct)) {
        ${$name}->setDefaultValue($struct['defaultValue']);
    }
    if (array_key_exists('configuration', $struct)) {
        ${$name}->setConfiguration($struct['configuration']);
    }
}
/*
  System::export(
    StoreObject::restore(
      'a:2:{s:5:"class";s:9:"TextField";s:5:"props";a:5:{s:4:"name";s:8:"nom_copy";s:4:"type";s:4:"text";s:5:"value";N;s:13:"default_value";s:7:"Abraham";s:13:"configuration";s:200:"a:2:{s:5:"class";s:22:"FormInputConfiguration";s:5:"props";a:1:{s:5:"items";a:1:{s:6:"length";s:95:"a:2:{s:5:"class";s:28:"FormInputLengthConfiguration";s:5:"props";a:1:{s:10:"max_length";i:10;}}";}}}";}}'
    ),
    'restore TextField'
  );
*/