public function icreate($block, $data, $linked = FALSE) { $ofblock = $this->offuscate($block); $h = HOUND::CREATE($this->option('DOB_TABLE_PREFIX') . $ofblock); $h->addField($this->option('DOB_BLOCK_ID_FIELD'), HOUND::DEFAULT_TYPE(HOUNDTYPES::INCREMENTAL), $this->option('DOB_CORE_ID_SIZE'), FALSE, TRUE, TRUE); foreach ($data as $v) { $h->addField($this->offuscate($v[self::FIELD_NAME]), HOUND::DEFAULT_TYPE(HOUNDTYPES::TEXT), $v[self::FIELD_LENGTH]); } $h->execute($this->option('DOB_DEBUG')); if ($h->error()) { return FALSE; } if ($linked) { $hf = HOUND::ALTER($this->option('DOB_TABLE_PREFIX') . $ofblock); $hf->set_foreignkey($this->option('DOB_BLOCK_ID_FIELD'), $this->_props[self::$_P_TABL_NAME], $this->_props[self::$_P_TABL_F_ID], TRUE); $hf->execute($this->option('DOB_DEBUG')); if ($hf->error()) { return FALSE; } } $this->_setBlockInProps($block, $linked); return TRUE; }