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; }
private function _createDatabase($p) { $t = HOUND::CREATE($this->option('DOB_TABLE_PREFIX') . $p[self::$_P_TABL_NAME]); $t->addField($p[self::$_P_TABL_F_ID], HOUND::DEFAULT_TYPE(HOUNDTYPES::INCREMENTAL, $this->option('DOB_CORE_ID_SIZE')), FALSE, TRUE, TRUE); $t->addField($p[self::$_P_TABL_F_UID], HOUND::DEFAULT_TYPE(HOUNDTYPES::TEXT, 256), FALSE, FALSE, FALSE, TRUE); $t->addField($p[self::$_P_TABL_F_PSW], HOUND::DEFAULT_TYPE(HOUNDTYPES::TEXT, 256), FALSE); $t->addField($p[self::$_P_TABL_F_TOKEN], HOUND::DEFAULT_TYPE(HOUNDTYPES::TEXT, 256), FALSE); $t->addField($p[self::$_P_TABL_F_EXPIRES], HOUND::DEFAULT_TYPE(HOUNDTYPES::TEXT, 256), FALSE); $t->addField($p[self::$_P_TABL_F_ROLE], HOUND::DEFAULT_TYPE(HOUNDTYPES::TEXT, 256), FALSE); if ($t->execute($this->option('DOB_DEBUG'))) { $this->status(self::$DATA_K_TABLECREATED); return TRUE; } $this->status(self::$DATA_E_TABLENOTCREATED); return FALSE; }