Fix yet more image links bugs
[lhc/web/wiklou.git] / includes / DatabaseSqlite.php
index ee859ec..8b4466e 100644 (file)
@@ -1,16 +1,14 @@
 <?php
 /**
- * This script is the SQLite database abstraction layer, see http://www.organicdesign.co.nz/Extension_talk:MediaWikiLite.php
- * - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html){{php}}
- * - Author:  [http://www.organicdesign.co.nz/nad User:Nad]
- * - Started: 2007-12-17
- * - Last update: 2008-01-20
+ * This script is the SQLite database abstraction layer
  *
- * {{php}}{{category:Extensions|DatabaseSqlite.php}}
+ * See maintenance/sqlite/README for development notes and other specific information
+ * @ingroup Database
+ * @file
  */
 
 /**
- * @addtogroup Database
+ * @ingroup Database
  */
 class DatabaseSqlite extends Database {
 
@@ -335,17 +333,16 @@ class DatabaseSqlite extends Database {
                $wgDBTableOptions = '';
                $mysql_tmpl  = "$IP/maintenance/tables.sql";
                $mysql_iw    = "$IP/maintenance/interwiki.sql";
-               $sqlite_tmpl = "$wgSQLiteDataDir/tables.sql";
+               $sqlite_tmpl = "$IP/maintenance/sqlite/tables.sql";
 
                # Make an SQLite template file if it doesn't exist (based on the same one MySQL uses to create a new wiki db)
-               if (1 || !file_exists($sqlite_tmpl)) { # todo: make this conditional again
+               if (!file_exists($sqlite_tmpl)) {
                        $sql = file_get_contents($mysql_tmpl);
                        $sql = preg_replace('/^\s*--.*?$/m','',$sql); # strip comments
                        $sql = preg_replace('/^\s*(UNIQUE)?\s*(PRIMARY)?\s*KEY.+?$/m','',$sql);
                        $sql = preg_replace('/^\s*(UNIQUE )?INDEX.+?$/m','',$sql); # These indexes should be created with a CREATE INDEX query
                        $sql = preg_replace('/^\s*FULLTEXT.+?$/m','',$sql);        # Full text indexes
                        $sql = preg_replace('/ENUM\(.+?\)/','TEXT',$sql); # Make ENUM's into TEXT's
-                       $sql = preg_replace('/ENUM\(.+?\)/','TEXT',$sql); # Make ENUM's into TEXT's
                        $sql = preg_replace('/binary\(\d+\)/','BLOB',$sql);
                        $sql = preg_replace('/(TYPE|MAX_ROWS|AVG_ROW_LENGTH)=\w+/','',$sql);
                        $sql = preg_replace('/,\s*\)/s',')',$sql); # removing previous items may leave a trailing comma
@@ -354,6 +351,10 @@ class DatabaseSqlite extends Database {
                        $sql = str_replace(' unsigned','',$sql);
                        $sql = str_replace(' int ',' INTEGER ',$sql);
                        $sql = str_replace('NOT NULL','',$sql);
+
+                       # Tidy up and write file
+                       $sql = preg_replace('/^\s*^/m','',$sql); # Remove empty lines
+                       $sql = preg_replace('/;$/m',";\n",$sql); # Separate each statement with an empty line
                        file_put_contents($sqlite_tmpl,$sql);
                }
 
@@ -376,7 +377,7 @@ class DatabaseSqlite extends Database {
 }
 
 /**
- * @addtogroup Database
+ * @ingroup Database
  */
 class SQLiteField extends MySQLField {