/** * Constructor. * initialize object. * * @param integer $id DB id * @param array $dbValues DB values * @return void * @access public */ function __construct($id = 0, $dbValues = array()) { $datas = array(); if ($id && !$dbValues) { if (!SensitiveIO::isPositiveInteger($id)) { $this->raiseError("Id is not a positive integer : " . $id); return; } $sql = "\n\t\t\t\tselect\n\t\t\t\t\t*\n\t\t\t\tfrom\n\t\t\t\t\tmod_object_field,\n\t\t\t\t\tmod_object_definition\n\t\t\t\twhere\n\t\t\t\t\tid_mof='" . $id . "'\n\t\t\t\t\tand object_id_mof = id_mod\n\t\t\t"; $q = new CMS_query($sql); if ($q->getNumRows()) { $datas = $q->getArray(); } else { $this->raiseError("Unknown ID :" . $id); return; } } elseif (is_array($dbValues) && $dbValues) { $datas = $dbValues; } if (is_array($datas) && $datas) { //set parent values parent::__construct($datas['object_id_mof'], $datas); //set field values $this->_fieldID = (int) $datas['id_mof']; $this->_objectFieldValues["objectID"] = (int) $datas['object_id_mof']; $this->_objectFieldValues["labelID"] = (int) $datas['label_id_mof']; $this->_objectFieldValues["descriptionID"] = (int) $datas['desc_id_mof']; $this->_objectFieldValues["type"] = $datas['type_mof']; $this->_objectFieldValues["order"] = (int) $datas['order_mof']; $this->_objectFieldValues["system"] = $datas['system_mof'] ? true : false; $this->_objectFieldValues["required"] = $datas['required_mof'] ? true : false; $this->_objectFieldValues["indexable"] = $datas['indexable_mof'] ? true : false; $this->_objectFieldValues["searchlist"] = $datas['searchlist_mof'] ? true : false; $this->_objectFieldValues["searchable"] = $datas['searchable_mof'] ? true : false; $this->_objectFieldValues["params"] = $datas['params_mof'] ? unserialize($datas['params_mof']) : array(); $this->_objectFieldValues["uuid"] = isset($datas['uuid_mof']) ? $datas['uuid_mof'] : ''; } else { parent::__construct(0, array()); } }