public function __construct($createTables = false) { $this->createTables = $createTables; // use another table prefix? if (file_exists(WB_PATH . '/modules/' . basename(dirname(__FILE__)) . '/config.json')) { $config = json_decode(file_get_contents(WB_PATH . '/modules/' . basename(dirname(__FILE__)) . '/config.json'), true); if (isset($config['table_prefix'])) { self::$table_prefix = $config['table_prefix']; } } parent::__construct(); $this->setTablePrefix(self::$table_prefix); $this->setTableName('mod_kit_config'); $this->addFieldDefinition(self::field_id, "INT(11) NOT NULL AUTO_INCREMENT", true); $this->addFieldDefinition(self::field_name, "VARCHAR(32) NOT NULL DEFAULT ''"); $this->addFieldDefinition(self::field_type, "TINYINT UNSIGNED NOT NULL DEFAULT '" . self::type_undefined . "'"); $this->addFieldDefinition(self::field_value, "VARCHAR(255) NOT NULL DEFAULT ''", false, false, true); $this->addFieldDefinition(self::field_label, "VARCHAR(64) NOT NULL DEFAULT 'ed_str_undefined'"); $this->addFieldDefinition(self::field_description, "VARCHAR(255) NOT NULL DEFAULT 'ed_str_undefined'"); $this->addFieldDefinition(self::field_status, "TINYINT UNSIGNED NOT NULL DEFAULT '" . self::status_active . "'"); $this->addFieldDefinition(self::field_update_by, "VARCHAR(32) NOT NULL DEFAULT 'SYSTEM'"); $this->addFieldDefinition(self::field_update_when, "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'"); $this->setIndexFields(array(self::field_name)); $this->setAllowedHTMLtags('<a><abbr><acronym><span>'); $this->checkFieldDefinitions(); date_default_timezone_set(CFG_TIME_ZONE); // Tabelle erstellen if ($this->createTables) { if (!$this->sqlTableExists()) { if (!$this->sqlCreateTable()) { $this->setError(sprintf('[%s - %s] %s', __METHOD__, __LINE__, $this->getError())); } } } if (!defined('KIT_INSTALL_RUNNING')) { // Default Werte garantieren if ($this->sqlTableExists()) { $this->checkConfig(); } } }