/**
  * 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());
     }
 }