public function installChangeTables() { $strReturn = ""; $arrFields = array(); $arrFields["change_id"] = array("char20", false); $arrFields["change_date"] = array("long", true); $arrFields["change_user"] = array("char20", true); $arrFields["change_systemid"] = array("char20", true); $arrFields["change_system_previd"] = array("char20", true); $arrFields["change_class"] = array("char254", true); $arrFields["change_action"] = array("char254", true); $arrFields["change_property"] = array("char254", true); $arrFields["change_oldvalue"] = array("text", true); $arrFields["change_newvalue"] = array("text", true); $arrTables = array("changelog"); $arrProvider = class_module_system_changelog::getAdditionalProviders(); foreach ($arrProvider as $objOneProvider) { $arrTables[] = $objOneProvider->getTargetTable(); } $arrDbTables = $this->objDB->getTables(); foreach ($arrTables as $strOneTable) { if (!in_array(_dbprefix_ . $strOneTable, $arrDbTables)) { if (!$this->objDB->createTable($strOneTable, $arrFields, array("change_id"), array("change_date", "change_user", "change_systemid", "change_property"), false)) { $strReturn .= "An error occurred! ...\n"; } } } return $strReturn; }