function __construct($create_tables = false) { $this->create_tables = $create_tables; // 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_newsletter_process'); $this->addFieldDefinition(self::field_id, "INT NOT NULL AUTO_INCREMENT", true); $this->addFieldDefinition(self::field_archiv_id, "INT(11) NOT NULL DEFAULT '-1'"); $this->addFieldDefinition(self::field_register_ids, "TEXT NOT NULL DEFAULT ''"); $this->addFieldDefinition(self::field_distribution_ids, "TEXT NOT NULL DEFAULT ''"); $this->addFieldDefinition(self::field_count, "INT(11) NOT NULL DEFAULT '0'"); $this->addFieldDefinition(self::field_send, "INT(11) NOT NULL DEFAULT '0'"); $this->addFieldDefinition(self::field_simulate, "TINYINT NOT NULL DEFAULT '0'"); $this->addFieldDefinition(self::field_job_created_dt, "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'"); $this->addFieldDefinition(self::field_job_done_dt, "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'"); $this->addFieldDefinition(self::field_job_process_time, "FLOAT NOT NULL DEFAULT '0'"); $this->addFieldDefinition(self::field_is_done, "TINYINT NOT NULL DEFAULT '0'"); $this->addFieldDefinition(self::field_update_when, "TIMESTAMP"); // check field definitions $this->checkFieldDefinitions(); // create tables if ($this->create_tables) { if (!$this->sqlTableExists()) { if (!$this->sqlCreateTable()) { $this->setError(sprintf('[%s - %s] %s', __METHOD__, __LINE__, $this->getError())); return false; } } } return true; }