public function getField($pType, $pParams) { $id = is_string($pParams['name']) ? $pParams['name'] : serialize($pParams['name']); if (!isset($this->_conditions[$id])) { $this->_conditions[$id] = CopixFieldFactory::get($pType, $pParams); if (!$this->_conditions[$id] instanceof ICopixFieldList) { unset($this->_conditions[$id]); throw new CopixException($pType . ' n\'implémente pas ICopixFieldList'); } } else { $this->_conditions[$id]->setParams($pParams); } return $this->_conditions[$id]->getHTML(); }
public function getField($pName, $pParams = array(), $pAssert = true) { $id = is_string($pName) ? $pName : serialize($pName); if (!isset($this->_fields[$id])) { if (isset($pParams['kind']) && $pParams['kind'] == 'error') { return false; } $pParams['type'] = isset($pParams['type']) ? $pParams['type'] : null; $pParams['name'] = $pName; $this->_fields[$id] = CopixFieldFactory::get($pParams['type'], $pParams, $pAssert); if (!$this->_fields[$id] instanceof ICopixFieldForm) { unset($this->_fields[$id]); throw new CopixException($pType . ' n\'implémente pas ICopixFieldForm'); } $this->_fields[$id]->setMode($this->_mode); $this->_fields[$id]->fillFromRecord($this->_record); } else { foreach ($pParams as $key => $params) { if ($key != 'validator') { $this->_fields[$id]->setParam($key, $params); } } } if (CopixRequest::get('error_' . $this->_id) == null) { $this->_fields[$id]->setDefaultValue(isset($pParams['value']) ? $pParams['value'] : null); } return $this->_fields[$id]; }
public function addField($pName, $pType = null, $pParams = array()) { $this->_tabField[$pName] = CopixFieldFactory::get($pType, array_merge($pParams, array('name' => $pName))); }