/** * @return bool */ protected function installTables() { ShopGate::log('INSTALLATION - fetching database object', ShopgateLogger::LOGTYPE_DEBUG); $db = Db::getInstance(true); if (!file_exists(dirname(__FILE__) . '/' . self::INSTALL_SQL_FILE)) { return false; } else { if (!($sql = version_compare(_PS_VERSION_, '1.4.0.10', '>=') ? Tools::file_get_contents(dirname(__FILE__) . '/' . self::INSTALL_SQL_FILE) : file_get_contents(dirname(__FILE__) . '/' . self::INSTALL_SQL_FILE))) { return false; } } $sql = str_replace('PREFIX_', _DB_PREFIX_, $sql); $sql = preg_split("/;\\s*[\r\n]+/", $sql); ShopGate::log('INSTALLATION - install tables', ShopgateLogger::LOGTYPE_DEBUG); foreach ($sql as $query) { if ($query) { if (!$db->execute(trim($query))) { return false; } } } return true; }