diff --git a/root/install_portal/create_schema_files.php b/root/install_portal/create_schema_files.php deleted file mode 100644 index 28bc1225..00000000 --- a/root/install_portal/create_schema_files.php +++ /dev/null @@ -1,954 +0,0 @@ - array( - 'INT:' => 'int(%d)', - 'BINT' => 'bigint(20)', - 'UINT' => 'mediumint(8) UNSIGNED', - 'UINT:' => 'int(%d) UNSIGNED', - 'TINT:' => 'tinyint(%d)', - 'USINT' => 'smallint(4) UNSIGNED', - 'BOOL' => 'tinyint(1) UNSIGNED', - 'VCHAR' => 'varchar(255)', - 'VCHAR:' => 'varchar(%d)', - 'CHAR:' => 'char(%d)', - 'XSTEXT' => 'text', - 'XSTEXT_UNI'=> 'varchar(100)', - 'STEXT' => 'text', - 'STEXT_UNI' => 'varchar(255)', - 'TEXT' => 'text', - 'TEXT_UNI' => 'text', - 'MTEXT' => 'mediumtext', - 'MTEXT_UNI' => 'mediumtext', - 'TIMESTAMP' => 'int(11) UNSIGNED', - 'DECIMAL' => 'decimal(5,2)', - 'DECIMAL:' => 'decimal(%d,2)', - 'PDECIMAL' => 'decimal(6,3)', - 'PDECIMAL:' => 'decimal(%d,3)', - 'VCHAR_UNI' => 'varchar(255)', - 'VCHAR_UNI:'=> 'varchar(%d)', - 'VCHAR_CI' => 'varchar(255)', - 'VARBINARY' => 'varbinary(255)', - ), - - 'mysql_40' => array( - 'INT:' => 'int(%d)', - 'BINT' => 'bigint(20)', - 'UINT' => 'mediumint(8) UNSIGNED', - 'UINT:' => 'int(%d) UNSIGNED', - 'TINT:' => 'tinyint(%d)', - 'USINT' => 'smallint(4) UNSIGNED', - 'BOOL' => 'tinyint(1) UNSIGNED', - 'VCHAR' => 'varbinary(255)', - 'VCHAR:' => 'varbinary(%d)', - 'CHAR:' => 'binary(%d)', - 'XSTEXT' => 'blob', - 'XSTEXT_UNI'=> 'blob', - 'STEXT' => 'blob', - 'STEXT_UNI' => 'blob', - 'TEXT' => 'blob', - 'TEXT_UNI' => 'blob', - 'MTEXT' => 'mediumblob', - 'MTEXT_UNI' => 'mediumblob', - 'TIMESTAMP' => 'int(11) UNSIGNED', - 'DECIMAL' => 'decimal(5,2)', - 'DECIMAL:' => 'decimal(%d,2)', - 'PDECIMAL' => 'decimal(6,3)', - 'PDECIMAL:' => 'decimal(%d,3)', - 'VCHAR_UNI' => 'blob', - 'VCHAR_UNI:'=> array('varbinary(%d)', 'limit' => array('mult', 3, 255, 'blob')), - 'VCHAR_CI' => 'blob', - 'VARBINARY' => 'varbinary(255)', - ), - - 'firebird' => array( - 'INT:' => 'INTEGER', - 'BINT' => 'DOUBLE PRECISION', - 'UINT' => 'INTEGER', - 'UINT:' => 'INTEGER', - 'TINT:' => 'INTEGER', - 'USINT' => 'INTEGER', - 'BOOL' => 'INTEGER', - 'VCHAR' => 'VARCHAR(255) CHARACTER SET NONE', - 'VCHAR:' => 'VARCHAR(%d) CHARACTER SET NONE', - 'CHAR:' => 'CHAR(%d) CHARACTER SET NONE', - 'XSTEXT' => 'BLOB SUB_TYPE TEXT CHARACTER SET NONE', - 'STEXT' => 'BLOB SUB_TYPE TEXT CHARACTER SET NONE', - 'TEXT' => 'BLOB SUB_TYPE TEXT CHARACTER SET NONE', - 'MTEXT' => 'BLOB SUB_TYPE TEXT CHARACTER SET NONE', - 'XSTEXT_UNI'=> 'VARCHAR(100) CHARACTER SET UTF8', - 'STEXT_UNI' => 'VARCHAR(255) CHARACTER SET UTF8', - 'TEXT_UNI' => 'BLOB SUB_TYPE TEXT CHARACTER SET UTF8', - 'MTEXT_UNI' => 'BLOB SUB_TYPE TEXT CHARACTER SET UTF8', - 'TIMESTAMP' => 'INTEGER', - 'DECIMAL' => 'DOUBLE PRECISION', - 'DECIMAL:' => 'DOUBLE PRECISION', - 'PDECIMAL' => 'DOUBLE PRECISION', - 'PDECIMAL:' => 'DOUBLE PRECISION', - 'VCHAR_UNI' => 'VARCHAR(255) CHARACTER SET UTF8', - 'VCHAR_UNI:'=> 'VARCHAR(%d) CHARACTER SET UTF8', - 'VCHAR_CI' => 'VARCHAR(255) CHARACTER SET UTF8', - 'VARBINARY' => 'CHAR(255) CHARACTER SET NONE', - ), - - 'mssql' => array( - 'INT:' => '[int]', - 'BINT' => '[float]', - 'UINT' => '[int]', - 'UINT:' => '[int]', - 'TINT:' => '[int]', - 'USINT' => '[int]', - 'BOOL' => '[int]', - 'VCHAR' => '[varchar] (255)', - 'VCHAR:' => '[varchar] (%d)', - 'CHAR:' => '[char] (%d)', - 'XSTEXT' => '[varchar] (1000)', - 'STEXT' => '[varchar] (3000)', - 'TEXT' => '[varchar] (8000)', - 'MTEXT' => '[text]', - 'XSTEXT_UNI'=> '[varchar] (100)', - 'STEXT_UNI' => '[varchar] (255)', - 'TEXT_UNI' => '[varchar] (4000)', - 'MTEXT_UNI' => '[text]', - 'TIMESTAMP' => '[int]', - 'DECIMAL' => '[float]', - 'DECIMAL:' => '[float]', - 'PDECIMAL' => '[float]', - 'PDECIMAL:' => '[float]', - 'VCHAR_UNI' => '[varchar] (255)', - 'VCHAR_UNI:'=> '[varchar] (%d)', - 'VCHAR_CI' => '[varchar] (255)', - 'VARBINARY' => '[varchar] (255)', - ), - - 'oracle' => array( - 'INT:' => 'number(%d)', - 'BINT' => 'number(20)', - 'UINT' => 'number(8)', - 'UINT:' => 'number(%d)', - 'TINT:' => 'number(%d)', - 'USINT' => 'number(4)', - 'BOOL' => 'number(1)', - 'VCHAR' => 'varchar2(255)', - 'VCHAR:' => 'varchar2(%d)', - 'CHAR:' => 'char(%d)', - 'XSTEXT' => 'varchar2(1000)', - 'STEXT' => 'varchar2(3000)', - 'TEXT' => 'clob', - 'MTEXT' => 'clob', - 'XSTEXT_UNI'=> 'varchar2(300)', - 'STEXT_UNI' => 'varchar2(765)', - 'TEXT_UNI' => 'clob', - 'MTEXT_UNI' => 'clob', - 'TIMESTAMP' => 'number(11)', - 'DECIMAL' => 'number(5, 2)', - 'DECIMAL:' => 'number(%d, 2)', - 'PDECIMAL' => 'number(6, 3)', - 'PDECIMAL:' => 'number(%d, 3)', - 'VCHAR_UNI' => 'varchar2(765)', - 'VCHAR_UNI:'=> array('varchar2(%d)', 'limit' => array('mult', 3, 765, 'clob')), - 'VCHAR_CI' => 'varchar2(255)', - 'VARBINARY' => 'raw(255)', - ), - - 'sqlite' => array( - 'INT:' => 'int(%d)', - 'BINT' => 'bigint(20)', - 'UINT' => 'INTEGER UNSIGNED', //'mediumint(8) UNSIGNED', - 'UINT:' => 'INTEGER UNSIGNED', // 'int(%d) UNSIGNED', - 'TINT:' => 'tinyint(%d)', - 'USINT' => 'INTEGER UNSIGNED', //'mediumint(4) UNSIGNED', - 'BOOL' => 'INTEGER UNSIGNED', //'tinyint(1) UNSIGNED', - 'VCHAR' => 'varchar(255)', - 'VCHAR:' => 'varchar(%d)', - 'CHAR:' => 'char(%d)', - 'XSTEXT' => 'text(65535)', - 'STEXT' => 'text(65535)', - 'TEXT' => 'text(65535)', - 'MTEXT' => 'mediumtext(16777215)', - 'XSTEXT_UNI'=> 'text(65535)', - 'STEXT_UNI' => 'text(65535)', - 'TEXT_UNI' => 'text(65535)', - 'MTEXT_UNI' => 'mediumtext(16777215)', - 'TIMESTAMP' => 'INTEGER UNSIGNED', //'int(11) UNSIGNED', - 'DECIMAL' => 'decimal(5,2)', - 'DECIMAL:' => 'decimal(%d,2)', - 'PDECIMAL' => 'decimal(6,3)', - 'PDECIMAL:' => 'decimal(%d,3)', - 'VCHAR_UNI' => 'varchar(255)', - 'VCHAR_UNI:'=> 'varchar(%d)', - 'VCHAR_CI' => 'varchar(255)', - 'VARBINARY' => 'blob', - ), - - 'postgres' => array( - 'INT:' => 'INT4', - 'BINT' => 'INT8', - 'UINT' => 'INT4', // unsigned - 'UINT:' => 'INT4', // unsigned - 'USINT' => 'INT2', // unsigned - 'BOOL' => 'INT2', // unsigned - 'TINT:' => 'INT2', - 'VCHAR' => 'varchar(255)', - 'VCHAR:' => 'varchar(%d)', - 'CHAR:' => 'char(%d)', - 'XSTEXT' => 'varchar(1000)', - 'STEXT' => 'varchar(3000)', - 'TEXT' => 'varchar(8000)', - 'MTEXT' => 'TEXT', - 'XSTEXT_UNI'=> 'varchar(100)', - 'STEXT_UNI' => 'varchar(255)', - 'TEXT_UNI' => 'varchar(4000)', - 'MTEXT_UNI' => 'TEXT', - 'TIMESTAMP' => 'INT4', // unsigned - 'DECIMAL' => 'decimal(5,2)', - 'DECIMAL:' => 'decimal(%d,2)', - 'PDECIMAL' => 'decimal(6,3)', - 'PDECIMAL:' => 'decimal(%d,3)', - 'VCHAR_UNI' => 'varchar(255)', - 'VCHAR_UNI:'=> 'varchar(%d)', - 'VCHAR_CI' => 'varchar_ci', - 'VARBINARY' => 'bytea', - ), -); - -// A list of types being unsigned for better reference in some db's -$unsigned_types = array('UINT', 'UINT:', 'USINT', 'BOOL', 'TIMESTAMP'); -$supported_dbms = array('firebird', 'mssql', 'mysql_40', 'mysql_41', 'oracle', 'postgres', 'sqlite'); - -foreach ($supported_dbms as $dbms) -{ - $fp = fopen($schema_path . '_' . $dbms . '_schema.sql', 'wt'); - - $line = ''; - - // Write Header - switch ($dbms) - { - case 'mysql_40': - case 'mysql_41': - $line = "#\n# \$I" . "d: $\n#\n\n"; - break; - - case 'firebird': - $line = "#\n# \$I" . "d: $\n#\n\n"; - $line .= custom_data('firebird') . "\n"; - break; - - case 'sqlite': - $line = "#\n# \$I" . "d: $\n#\n\n"; - $line .= "BEGIN TRANSACTION;\n\n"; - break; - - case 'mssql': - $line = "/*\n\n \$I" . "d: $\n\n*/\n\n"; - $line .= "BEGIN TRANSACTION\nGO\n\n"; - break; - - case 'oracle': - $line = "/*\n\n \$I" . "d: $\n\n*/\n\n"; - $line .= custom_data('oracle') . "\n"; - break; - - case 'postgres': - $line = "/*\n\n \$I" . "d: $\n\n*/\n\n"; - $line .= "BEGIN;\n\n"; - $line .= custom_data('postgres') . "\n"; - break; - } - - fwrite($fp, $line); - - foreach ($schema_data as $table_name => $table_data) - { - // Write comment about table - switch ($dbms) - { - case 'mysql_40': - case 'mysql_41': - case 'firebird': - case 'sqlite': - fwrite($fp, "# Table: '{$table_name}'\n"); - break; - - case 'mssql': - case 'oracle': - case 'postgres': - fwrite($fp, "/*\n\tTable: '{$table_name}'\n*/\n"); - break; - } - - // Create Table statement - $generator = $textimage = false; - $line = ''; - - switch ($dbms) - { - case 'mysql_40': - case 'mysql_41': - case 'firebird': - case 'oracle': - case 'sqlite': - case 'postgres': - $line = "CREATE TABLE {$table_name} (\n"; - break; - - case 'mssql': - $line = "CREATE TABLE [{$table_name}] (\n"; - break; - } - - // Table specific so we don't get overlap - $modded_array = array(); - - // Write columns one by one... - foreach ($table_data['COLUMNS'] as $column_name => $column_data) - { - // Get type - if (strpos($column_data[0], ':') !== false) - { - list($orig_column_type, $column_length) = explode(':', $column_data[0]); - if (!is_array($dbms_type_map[$dbms][$orig_column_type . ':'])) - { - $column_type = sprintf($dbms_type_map[$dbms][$orig_column_type . ':'], $column_length); - } - else - { - if (isset($dbms_type_map[$dbms][$orig_column_type . ':']['rule'])) - { - switch ($dbms_type_map[$dbms][$orig_column_type . ':']['rule'][0]) - { - case 'div': - $column_length /= $dbms_type_map[$dbms][$orig_column_type . ':']['rule'][1]; - $column_length = ceil($column_length); - $column_type = sprintf($dbms_type_map[$dbms][$orig_column_type . ':'][0], $column_length); - break; - } - } - - if (isset($dbms_type_map[$dbms][$orig_column_type . ':']['limit'])) - { - switch ($dbms_type_map[$dbms][$orig_column_type . ':']['limit'][0]) - { - case 'mult': - $column_length *= $dbms_type_map[$dbms][$orig_column_type . ':']['limit'][1]; - if ($column_length > $dbms_type_map[$dbms][$orig_column_type . ':']['limit'][2]) - { - $column_type = $dbms_type_map[$dbms][$orig_column_type . ':']['limit'][3]; - $modded_array[$column_name] = $column_type; - } - else - { - $column_type = sprintf($dbms_type_map[$dbms][$orig_column_type . ':'][0], $column_length); - } - break; - } - } - } - $orig_column_type .= ':'; - } - else - { - $orig_column_type = $column_data[0]; - $column_type = $dbms_type_map[$dbms][$column_data[0]]; - if ($column_type == 'text' || $column_type == 'blob') - { - $modded_array[$column_name] = $column_type; - } - } - - // Adjust default value if db-dependant specified - if (is_array($column_data[1])) - { - $column_data[1] = (isset($column_data[1][$dbms])) ? $column_data[1][$dbms] : $column_data[1]['default']; - } - - switch ($dbms) - { - case 'mysql_40': - case 'mysql_41': - $line .= "\t{$column_name} {$column_type} "; - - // For hexadecimal values do not use single quotes - if (!is_null($column_data[1]) && substr($column_type, -4) !== 'text' && substr($column_type, -4) !== 'blob') - { - $line .= (strpos($column_data[1], '0x') === 0) ? "DEFAULT {$column_data[1]} " : "DEFAULT '{$column_data[1]}' "; - } - $line .= 'NOT NULL'; - - if (isset($column_data[2])) - { - if ($column_data[2] == 'auto_increment') - { - $line .= ' auto_increment'; - } - else if ($dbms === 'mysql_41' && $column_data[2] == 'true_sort') - { - $line .= ' COLLATE utf8_unicode_ci'; - } - } - - $line .= ",\n"; - break; - - case 'sqlite': - if (isset($column_data[2]) && $column_data[2] == 'auto_increment') - { - $line .= "\t{$column_name} INTEGER PRIMARY KEY "; - $generator = $column_name; - } - else - { - $line .= "\t{$column_name} {$column_type} "; - } - - $line .= 'NOT NULL '; - $line .= (!is_null($column_data[1])) ? "DEFAULT '{$column_data[1]}'" : ''; - $line .= ",\n"; - break; - - case 'firebird': - $line .= "\t{$column_name} {$column_type} "; - - if (!is_null($column_data[1])) - { - $line .= 'DEFAULT ' . ((is_numeric($column_data[1])) ? $column_data[1] : "'{$column_data[1]}'") . ' '; - } - - $line .= 'NOT NULL'; - - // This is a UNICODE column and thus should be given it's fair share - if (preg_match('/^X?STEXT_UNI|VCHAR_(CI|UNI:?)/', $column_data[0])) - { - $line .= ' COLLATE UNICODE'; - } - - $line .= ",\n"; - - if (isset($column_data[2]) && $column_data[2] == 'auto_increment') - { - $generator = $column_name; - } - break; - - case 'mssql': - if ($column_type == '[text]') - { - $textimage = true; - } - - $line .= "\t[{$column_name}] {$column_type} "; - - if (!is_null($column_data[1])) - { - // For hexadecimal values do not use single quotes - if (strpos($column_data[1], '0x') === 0) - { - $line .= 'DEFAULT (' . $column_data[1] . ') '; - } - else - { - $line .= 'DEFAULT (' . ((is_numeric($column_data[1])) ? $column_data[1] : "'{$column_data[1]}'") . ') '; - } - } - - if (isset($column_data[2]) && $column_data[2] == 'auto_increment') - { - $line .= 'IDENTITY (1, 1) '; - } - - $line .= 'NOT NULL'; - $line .= " ,\n"; - break; - - case 'oracle': - $line .= "\t{$column_name} {$column_type} "; - $line .= (!is_null($column_data[1])) ? "DEFAULT '{$column_data[1]}' " : ''; - - // In Oracle empty strings ('') are treated as NULL. - // Therefore in oracle we allow NULL's for all DEFAULT '' entries - $line .= ($column_data[1] === '') ? ",\n" : "NOT NULL,\n"; - - if (isset($column_data[2]) && $column_data[2] == 'auto_increment') - { - $generator = $column_name; - } - break; - - case 'postgres': - $line .= "\t{$column_name} {$column_type} "; - - if (isset($column_data[2]) && $column_data[2] == 'auto_increment') - { - $line .= "DEFAULT nextval('{$table_name}_seq'),\n"; - - // Make sure the sequence will be created before creating the table - $line = "CREATE SEQUENCE {$table_name}_seq;\n\n" . $line; - } - else - { - $line .= (!is_null($column_data[1])) ? "DEFAULT '{$column_data[1]}' " : ''; - $line .= "NOT NULL"; - - // Unsigned? Then add a CHECK contraint - if (in_array($orig_column_type, $unsigned_types)) - { - $line .= " CHECK ({$column_name} >= 0)"; - } - - $line .= ",\n"; - } - break; - } - } - - switch ($dbms) - { - case 'firebird': - // Remove last line delimiter... - $line = substr($line, 0, -2); - $line .= "\n);;\n\n"; - break; - - case 'mssql': - $line = substr($line, 0, -2); - $line .= "\n) ON [PRIMARY]" . (($textimage) ? ' TEXTIMAGE_ON [PRIMARY]' : '') . "\n"; - $line .= "GO\n\n"; - break; - } - - // Write primary key - if (isset($table_data['PRIMARY_KEY'])) - { - if (!is_array($table_data['PRIMARY_KEY'])) - { - $table_data['PRIMARY_KEY'] = array($table_data['PRIMARY_KEY']); - } - - switch ($dbms) - { - case 'mysql_40': - case 'mysql_41': - case 'postgres': - $line .= "\tPRIMARY KEY (" . implode(', ', $table_data['PRIMARY_KEY']) . "),\n"; - break; - - case 'firebird': - $line .= "ALTER TABLE {$table_name} ADD PRIMARY KEY (" . implode(', ', $table_data['PRIMARY_KEY']) . ");;\n\n"; - break; - - case 'sqlite': - if ($generator === false || !in_array($generator, $table_data['PRIMARY_KEY'])) - { - $line .= "\tPRIMARY KEY (" . implode(', ', $table_data['PRIMARY_KEY']) . "),\n"; - } - break; - - case 'mssql': - $line .= "ALTER TABLE [{$table_name}] WITH NOCHECK ADD \n"; - $line .= "\tCONSTRAINT [PK_{$table_name}] PRIMARY KEY CLUSTERED \n"; - $line .= "\t(\n"; - $line .= "\t\t[" . implode("],\n\t\t[", $table_data['PRIMARY_KEY']) . "]\n"; - $line .= "\t) ON [PRIMARY] \n"; - $line .= "GO\n\n"; - break; - - case 'oracle': - $line .= "\tCONSTRAINT pk_{$table_name} PRIMARY KEY (" . implode(', ', $table_data['PRIMARY_KEY']) . "),\n"; - break; - } - } - - switch ($dbms) - { - case 'oracle': - // UNIQUE contrains to be added? - if (isset($table_data['KEYS'])) - { - foreach ($table_data['KEYS'] as $key_name => $key_data) - { - if (!is_array($key_data[1])) - { - $key_data[1] = array($key_data[1]); - } - - if ($key_data[0] == 'UNIQUE') - { - $line .= "\tCONSTRAINT u_phpbb_{$key_name} UNIQUE (" . implode(', ', $key_data[1]) . "),\n"; - } - } - } - - // Remove last line delimiter... - $line = substr($line, 0, -2); - $line .= "\n)\n/\n\n"; - break; - - case 'postgres': - // Remove last line delimiter... - $line = substr($line, 0, -2); - $line .= "\n);\n\n"; - break; - - case 'sqlite': - // Remove last line delimiter... - $line = substr($line, 0, -2); - $line .= "\n);\n\n"; - break; - } - - // Write Keys - if (isset($table_data['KEYS'])) - { - foreach ($table_data['KEYS'] as $key_name => $key_data) - { - if (!is_array($key_data[1])) - { - $key_data[1] = array($key_data[1]); - } - - switch ($dbms) - { - case 'mysql_40': - case 'mysql_41': - $line .= ($key_data[0] == 'INDEX') ? "\tKEY" : ''; - $line .= ($key_data[0] == 'UNIQUE') ? "\tUNIQUE" : ''; - foreach ($key_data[1] as $key => $col_name) - { - if (isset($modded_array[$col_name])) - { - switch ($modded_array[$col_name]) - { - case 'text': - case 'blob': - $key_data[1][$key] = $col_name . '(255)'; - break; - } - } - } - $line .= ' ' . $key_name . ' (' . implode(', ', $key_data[1]) . "),\n"; - break; - - case 'firebird': - $line .= ($key_data[0] == 'INDEX') ? 'CREATE INDEX' : ''; - $line .= ($key_data[0] == 'UNIQUE') ? 'CREATE UNIQUE INDEX' : ''; - - $line .= ' ' . $table_name . '_' . $key_name . ' ON ' . $table_name . '(' . implode(', ', $key_data[1]) . ");;\n"; - break; - - case 'mssql': - $line .= ($key_data[0] == 'INDEX') ? 'CREATE INDEX' : ''; - $line .= ($key_data[0] == 'UNIQUE') ? 'CREATE UNIQUE INDEX' : ''; - $line .= " [{$key_name}] ON [{$table_name}]([" . implode('], [', $key_data[1]) . "]) ON [PRIMARY]\n"; - $line .= "GO\n\n"; - break; - - case 'oracle': - if ($key_data[0] == 'UNIQUE') - { - continue; - } - - $line .= ($key_data[0] == 'INDEX') ? 'CREATE INDEX' : ''; - - $line .= " {$table_name}_{$key_name} ON {$table_name} (" . implode(', ', $key_data[1]) . ")\n"; - $line .= "/\n"; - break; - - case 'sqlite': - $line .= ($key_data[0] == 'INDEX') ? 'CREATE INDEX' : ''; - $line .= ($key_data[0] == 'UNIQUE') ? 'CREATE UNIQUE INDEX' : ''; - - $line .= " {$table_name}_{$key_name} ON {$table_name} (" . implode(', ', $key_data[1]) . ");\n"; - break; - - case 'postgres': - $line .= ($key_data[0] == 'INDEX') ? 'CREATE INDEX' : ''; - $line .= ($key_data[0] == 'UNIQUE') ? 'CREATE UNIQUE INDEX' : ''; - - $line .= " {$table_name}_{$key_name} ON {$table_name} (" . implode(', ', $key_data[1]) . ");\n"; - break; - } - } - } - - switch ($dbms) - { - case 'mysql_40': - // Remove last line delimiter... - $line = substr($line, 0, -2); - $line .= "\n);\n\n"; - break; - - case 'mysql_41': - // Remove last line delimiter... - $line = substr($line, 0, -2); - $line .= "\n) CHARACTER SET `utf8` COLLATE `utf8_bin`;\n\n"; - break; - - // Create Generator - case 'firebird': - if ($generator !== false) - { - $line .= "\nCREATE GENERATOR {$table_name}_gen;;\n"; - $line .= 'SET GENERATOR ' . $table_name . "_gen TO 0;;\n\n"; - - $line .= 'CREATE TRIGGER t_' . $table_name . ' FOR ' . $table_name . "\n"; - $line .= "BEFORE INSERT\nAS\nBEGIN\n"; - $line .= "\tNEW.{$generator} = GEN_ID({$table_name}_gen, 1);\nEND;;\n\n"; - } - break; - - case 'oracle': - if ($generator !== false) - { - $line .= "\nCREATE SEQUENCE {$table_name}_seq\n/\n\n"; - - $line .= "CREATE OR REPLACE TRIGGER t_{$table_name}\n"; - $line .= "BEFORE INSERT ON {$table_name}\n"; - $line .= "FOR EACH ROW WHEN (\n"; - $line .= "\tnew.{$generator} IS NULL OR new.{$generator} = 0\n"; - $line .= ")\nBEGIN\n"; - $line .= "\tSELECT {$table_name}_seq.nextval\n"; - $line .= "\tINTO :new.{$generator}\n"; - $line .= "\tFROM dual;\nEND;\n/\n\n"; - } - break; - } - - fwrite($fp, $line . "\n"); - } - - $line = ''; - - // Write custom function at the end for some db's - switch ($dbms) - { - case 'mssql': - $line = "\nCOMMIT\nGO\n\n"; - break; - - case 'sqlite': - $line = "\nCOMMIT;"; - break; - - case 'postgres': - $line = "\nCOMMIT;"; - break; - } - - fwrite($fp, $line); - fclose($fp); -} - - -/** -* Define the basic structure -* The format: -* array('{TABLE_NAME}' => {TABLE_DATA}) -* {TABLE_DATA}: -* COLUMNS = array({column_name} = array({column_type}, {default}, {auto_increment})) -* PRIMARY_KEY = {column_name(s)} -* KEYS = array({key_name} = array({key_type}, {column_name(s)})), -* -* Column Types: -* INT:x => SIGNED int(x) -* BINT => BIGINT -* UINT => mediumint(8) UNSIGNED -* UINT:x => int(x) UNSIGNED -* TINT:x => tinyint(x) -* USINT => smallint(4) UNSIGNED (for _order columns) -* BOOL => tinyint(1) UNSIGNED -* VCHAR => varchar(255) -* CHAR:x => char(x) -* XSTEXT_UNI => text for storing 100 characters (topic_title for example) -* STEXT_UNI => text for storing 255 characters (normal input field with a max of 255 single-byte chars) - same as VCHAR_UNI -* TEXT_UNI => text for storing 3000 characters (short text, descriptions, comments, etc.) -* MTEXT_UNI => mediumtext (post text, large text) -* VCHAR:x => varchar(x) -* TIMESTAMP => int(11) UNSIGNED -* DECIMAL => decimal number (5,2) -* DECIMAL: => decimal number (x,2) -* PDECIMAL => precision decimal number (6,3) -* PDECIMAL: => precision decimal number (x,3) -* VCHAR_UNI => varchar(255) BINARY -* VCHAR_CI => varchar_ci for postgresql, others VCHAR -*/ -function get_schema_struct() -{ - $schema_data = array(); - - // Create formel_config table - $schema_data['phpbb_portal_config'] = array( - 'COLUMNS' => array( - 'config_name' => array('VCHAR', ''), - 'config_value' => array('VCHAR', ''), - ), - 'PRIMARY_KEY' => 'config_name', - ); - - return $schema_data; -} - - -/** -* Data put into the header for various dbms -*/ -function custom_data($dbms) -{ - switch ($dbms) - { - case 'oracle': - return << LOWER($2)' LANGUAGE SQL STRICT; -CREATE FUNCTION _varchar_ci_greater_equals(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) >= LOWER($2)' LANGUAGE SQL STRICT; - -/* - Operators -*/ -CREATE OPERATOR <( - PROCEDURE = _varchar_ci_less_than, - LEFTARG = varchar_ci, - RIGHTARG = varchar_ci, - COMMUTATOR = >, - NEGATOR = >=, - RESTRICT = scalarltsel, - JOIN = scalarltjoinsel); - -CREATE OPERATOR <=( - PROCEDURE = _varchar_ci_less_equal, - LEFTARG = varchar_ci, - RIGHTARG = varchar_ci, - COMMUTATOR = >=, - NEGATOR = >, - RESTRICT = scalarltsel, - JOIN = scalarltjoinsel); - -CREATE OPERATOR >( - PROCEDURE = _varchar_ci_greater_than, - LEFTARG = varchar_ci, - RIGHTARG = varchar_ci, - COMMUTATOR = <, - NEGATOR = <=, - RESTRICT = scalargtsel, - JOIN = scalargtjoinsel); - -CREATE OPERATOR >=( - PROCEDURE = _varchar_ci_greater_equals, - LEFTARG = varchar_ci, - RIGHTARG = varchar_ci, - COMMUTATOR = <=, - NEGATOR = <, - RESTRICT = scalargtsel, - JOIN = scalargtjoinsel); - -CREATE OPERATOR <>( - PROCEDURE = _varchar_ci_not_equal, - LEFTARG = varchar_ci, - RIGHTARG = varchar_ci, - COMMUTATOR = <>, - NEGATOR = =, - RESTRICT = neqsel, - JOIN = neqjoinsel); - -CREATE OPERATOR =( - PROCEDURE = _varchar_ci_equal, - LEFTARG = varchar_ci, - RIGHTARG = varchar_ci, - COMMUTATOR = =, - NEGATOR = <>, - RESTRICT = eqsel, - JOIN = eqjoinsel, - HASHES, - MERGES, - SORT1= <); - -EOF; - break; - } - - return ''; -} - -?> \ No newline at end of file diff --git a/root/install_portal/index.htm b/root/install_portal/index.htm deleted file mode 100644 index e69de29b..00000000 diff --git a/root/install_portal/install.php b/root/install_portal/install.php deleted file mode 100644 index d652de62..00000000 --- a/root/install_portal/install.php +++ /dev/null @@ -1,683 +0,0 @@ -session_begin(); -$auth->acl($user->data); -$user->setup(); -$user->add_lang('mods/portal_install'); -$new_mod_version = '0.1.0'; -$page_title = 'Board3portal v' . $new_mod_version; - -$mode = request_var('mode', 'else', true); -function split_sql_file($sql, $delimiter) -{ - $sql = str_replace("\r" , '', $sql); - $data = preg_split('/' . preg_quote($delimiter, '/') . '$/m', $sql); - - $data = array_map('trim', $data); - - // The empty case - $end_data = end($data); - - if (empty($end_data)) - { - unset($data[key($data)]); - } - - return $data; -} -// What sql_layer should we use? -switch ($db->sql_layer) -{ - case 'mysql': - $db_schema = 'mysql_40'; - $delimiter = ';'; - break; - - case 'mysql4': - if (version_compare($db->mysql_version, '4.1.3', '>=')) - { - $db_schema = 'mysql_41'; - } - else - { - $db_schema = 'mysql_40'; - } - $delimiter = ';'; - break; - - case 'mysqli': - $db_schema = 'mysql_41'; - $delimiter = ';'; - break; - - case 'mssql': - $db_schema = 'mssql'; - $delimiter = 'GO'; - break; - - case 'postgres': - $db_schema = 'postgres'; - $delimiter = ';'; - break; - - case 'sqlite': - $db_schema = 'sqlite'; - $delimiter = ';'; - break; - - case 'firebird': - $db_schema = 'firebird'; - $delimiter = ';;'; - break; - - case 'oracle': - $db_schema = 'oracle'; - $delimiter = '/'; - break; - - default: - trigger_error('Sorry, unsupportet Databases found.'); - break; -} -switch ($mode) -{ - case 'install': - $install = request_var('install', 0); - $installed = false; - if ($install == 1) - { - // Drop thes tables if existing - if ($db->sql_layer != 'mssql') - { - $sql = 'DROP TABLE IF EXISTS ' . $table_prefix . 'portal_config'; - $result = $db->sql_query($sql); - $db->sql_freeresult($result); - } - else - { - $sql = 'if exists (select * from sysobjects where name = ' . $table_prefix . 'portal_config) - drop table ' . $table_prefix . 'portal_config'; - $result = $db->sql_query($sql); - $db->sql_freeresult($result); - } - // locate the schema files - $dbms_schema = 'schemas/_' . $db_schema . '_schema.sql'; - $sql_query = @file_get_contents($dbms_schema); - $sql_query = preg_replace('#phpbb_#i', $table_prefix, $sql_query); - $sql_query = preg_replace('/\n{2,}/', "\n", preg_replace('/^#.*$/m', "\n", $sql_query)); - $sql_query = split_sql_file($sql_query, $delimiter); - // make the new one's - foreach ($sql_query as $sql) - { - if (!$db->sql_query($sql)) - { - $error = $db->sql_error(); - $this->p_master->db_error($error['message'], $sql, __LINE__, __FILE__); - } - } - unset($sql_query); - - // Tadaa! Fill all data in ;-) - $sql_query = file_get_contents('schemas/_schema_data.sql'); - switch ($db->sql_layer) - { - case 'mssql': - case 'mssql_odbc': - $sql_query = preg_replace('#\# MSSQL IDENTITY (phpbb_[a-z_]+) (ON|OFF) \##s', 'SET IDENTITY_INSERT \1 \2;', $sql_query); - break; - - case 'postgres': - $sql_query = preg_replace('#\# POSTGRES (BEGIN|COMMIT) \##s', '\1; ', $sql_query); - break; - } - $sql_query = preg_replace('#phpbb_#i', $table_prefix, $sql_query); - $sql_query = preg_replace('/\n{2,}/', "\n", preg_replace('/^#.*$/m', "\n", $sql_query)); - $sql_query = split_sql_file($sql_query, ';'); - - foreach ($sql_query as $sql) - { - if (!$db->sql_query($sql)) - { - $error = $db->sql_error(); - $this->p_master->db_error($error['message'], $sql, __LINE__, __FILE__); - } - } - unset($sql_query); - - // create the acp modules - $modules = new acp_modules(); - $portal = array( - 'module_basename' => '', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => 31, - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_INFO', - 'module_mode' => '', - 'module_auth' => '' - ); - $modules->update_module_data($portal); - $general = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_GENERAL_INFO', - 'module_mode' => 'general', - 'module_auth' => '' - ); - $modules->update_module_data($general); - $news = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_NEWS_INFO', - 'module_mode' => 'news', - 'module_auth' => '' - ); - $modules->update_module_data($news); - $announcements = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_ANNOUNCE_INFO', - 'module_mode' => 'announcements', - 'module_auth' => '' - ); - $modules->update_module_data($announcements); - $welcome = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_WELCOME_INFO', - 'module_mode' => 'welcome', - 'module_auth' => '' - ); - $modules->update_module_data($welcome); - $recent = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_RECENT_INFO', - 'module_mode' => 'recent', - 'module_auth' => '' - ); - $modules->update_module_data($recent); - $wordgraph = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_WORDGRAPH_INFO', - 'module_mode' => 'wordgraph', - 'module_auth' => '' - ); - $modules->update_module_data($wordgraph); - $paypal = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_PAYPAL_INFO', - 'module_mode' => 'paypal', - 'module_auth' => '' - ); - $modules->update_module_data($paypal); - $attachments = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_ATTACHMENTS_NUMBER_INFO', - 'module_mode' => 'attachments', - 'module_auth' => '' - ); - $modules->update_module_data($attachments); - $members = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_MEMBERS_INFO', - 'module_mode' => 'members', - 'module_auth' => '' - ); - $modules->update_module_data($members); - $polls = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_POLLS_INFO', - 'module_mode' => 'polls', - 'module_auth' => '' - ); - $modules->update_module_data($polls); - $bots = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_BOTS_INFO', - 'module_mode' => 'bots', - 'module_auth' => '' - ); - $modules->update_module_data($bots); - $poster = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_MOST_POSTER_INFO', - 'module_mode' => 'poster', - 'module_auth' => '' - ); - $modules->update_module_data($poster); - $minicalendar = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_MINICALENDAR_INFO', - 'module_mode' => 'minicalendar', - 'module_auth' => '' - ); - $modules->update_module_data($minicalendar); - // clear cache and log what we did - $cache->purge(); - add_log('admin', $page_title . ' installed'); - $installed = true; - } - break; - case 'update110b': - $update = request_var('update', 0); - $version = request_var('v', '0', true); - $updated = false; - if ($update == 1) - { - // Drop thes tables if existing - if ($db->sql_layer != 'mssql') - { - $sql = 'DROP TABLE IF EXISTS ' . $table_prefix . 'portal_config'; - $result = $db->sql_query($sql); - $db->sql_freeresult($result); - } - else - { - $sql = 'if exists (select * from sysobjects where name = ' . $table_prefix . 'portal_config) - drop table ' . $table_prefix . 'portal_config'; - $result = $db->sql_query($sql); - $db->sql_freeresult($result); - } - // locate the schema files - $dbms_schema = 'schemas/_' . $db_schema . '_schema.sql'; - $sql_query = @file_get_contents($dbms_schema); - $sql_query = preg_replace('#phpbb_#i', $table_prefix, $sql_query); - $sql_query = preg_replace('/\n{2,}/', "\n", preg_replace('/^#.*$/m', "\n", $sql_query)); - $sql_query = split_sql_file($sql_query, $delimiter); - // make the new one's - foreach ($sql_query as $sql) - { - if (!$db->sql_query($sql)) - { - $error = $db->sql_error(); - $this->p_master->db_error($error['message'], $sql, __LINE__, __FILE__); - } - } - unset($sql_query); - - // Tadaa! Fill all data in ;-) - $sql_query = file_get_contents('schemas/_schema_data.sql'); - switch ($db->sql_layer) - { - case 'mssql': - case 'mssql_odbc': - $sql_query = preg_replace('#\# MSSQL IDENTITY (phpbb_[a-z_]+) (ON|OFF) \##s', 'SET IDENTITY_INSERT \1 \2;', $sql_query); - break; - - case 'postgres': - $sql_query = preg_replace('#\# POSTGRES (BEGIN|COMMIT) \##s', '\1; ', $sql_query); - break; - } - $sql_query = preg_replace('#phpbb_#i', $table_prefix, $sql_query); - $sql_query = preg_replace('/\n{2,}/', "\n", preg_replace('/^#.*$/m', "\n", $sql_query)); - $sql_query = split_sql_file($sql_query, ';'); - - foreach ($sql_query as $sql) - { - if (!$db->sql_query($sql)) - { - $error = $db->sql_error(); - $this->p_master->db_error($error['message'], $sql, __LINE__, __FILE__); - } - } - unset($sql_query); - - - //fill the table, but with the old settings - $sql = 'SELECT * FROM ' . PORTAL_CONFIG_TABLE; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - if (isset($config[$row['config_name']])) - { - $sql2 = 'UPDATE ' . PORTAL_CONFIG_TABLE . " SET config_value = '" . $config[$row['config_name']] . "' WHERE config_name = '" . $row['config_name'] . "' LIMIT 1"; - $db->sql_query($sql2); - } - } - $db->sql_freeresult($result); - $sql = 'UPDATE ' . PORTAL_CONFIG_TABLE . " SET config_value = '" . $new_mod_version . "' WHERE config_name = 'portal_version' LIMIT 1"; - $db->sql_query($sql); - - - //set back the config_table Oo - $sql = "ALTER TABLE {$table_prefix}config CHANGE config_value config_value varchar(255) NOT NULL"; - $db->sql_query($sql); - $sql = 'DELETE FROM ' . CONFIG_TABLE . " WHERE config_name = 'portal_welcome_intro' - OR config_name = 'portal_max_online_friends' - OR config_name = 'portal_max_most_poster' - OR config_name = 'portal_max_last_member' - OR config_name = 'portal_welcome' - OR config_name = 'portal_links' - OR config_name = 'portal_link_us' - OR config_name = 'portal_clock' - OR config_name = 'portal_random_member' - OR config_name = 'portal_latest_members' - OR config_name = 'portal_top_posters' - OR config_name = 'portal_leaders' - OR config_name = 'portal_advanced_stat' - OR config_name = 'portal_version' - OR config_name = 'portal_right_collumn_width' - OR config_name = 'portal_left_collumn_width' - OR config_name = 'portal_poll_topic' - OR config_name = 'portal_poll_topic_id' - OR config_name = 'portal_last_visited_bots_number' - OR config_name = 'portal_load_last_visited_bots' - OR config_name = 'portal_pay_acc' - OR config_name = 'portal_pay_s_block' - OR config_name = 'portal_pay_c_block' - OR config_name = 'portal_recent' - OR config_name = 'portal_recent_title_limit' - OR config_name = 'portal_max_topics' - OR config_name = 'portal_exclude_forums' - OR config_name = 'portal_news_forum' - OR config_name = 'portal_news_length' - OR config_name = 'portal_number_of_news' - OR config_name = 'portal_show_all_news' - OR config_name = 'portal_news' - OR config_name = 'portal_news_style' - OR config_name = 'portal_announcements' - OR config_name = 'portal_announcements_style' - OR config_name = 'portal_number_of_announcements' - OR config_name = 'portal_announcements_day' - OR config_name = 'portal_announcements_length' - OR config_name = 'portal_global_announcements_forum' - OR config_name = 'portal_wordgraph_word_counts' - OR config_name = 'portal_wordgraph_max_words' - OR config_name = 'portal_wordgraph' - OR config_name = 'portal_wordgraph_ratio' - OR config_name = 'portal_minicalendar' - OR config_name = 'portal_minicalendar_today_color' - OR config_name = 'portal_minicalendar_day_link_color' - OR config_name = 'portal_attachments' - OR config_name = 'portal_attachments_number'"; - $db->sql_query($sql); - - $sql = 'SELECT right_id, module_id FROM ' . MODULES_TABLE . " - WHERE module_langname = 'ACP_PORTAL_GENERAL_INFO' - OR module_langname = 'ACP_PORTAL_NEWS_INFO' - OR module_langname = 'ACP_PORTAL_ANNOUNCE_INFO' - OR module_langname = 'ACP_PORTAL_WELCOME_INFO' - OR module_langname = 'ACP_PORTAL_RECENT_INFO' - OR module_langname = 'ACP_PORTAL_WORDGRAPH_INFO' - OR module_langname = 'ACP_PORTAL_PAYPAL_INFO' - OR module_langname = 'ACP_PORTAL_ATTACHMENTS_NUMBER_INFO' - OR module_langname = 'ACP_PORTAL_MEMBERS_INFO' - OR module_langname = 'ACP_PORTAL_POLLS_INFO' - OR module_langname = 'ACP_PORTAL_BOTS_INFO' - OR module_langname = 'ACP_PORTAL_MOST_POSTER_INFO' - OR module_langname = 'ACP_PORTAL_MINICALENDAR_INFO'"; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - $sql = 'DELETE FROM ' . MODULES_TABLE . " WHERE module_id = '{$row['module_id']}'"; - $db->sql_query($sql); - $sql = 'UPDATE ' . MODULES_TABLE . " - SET left_id = left_id - 2 - WHERE module_class = 'acp' - AND left_id > {$row['right_id']}"; - $db->sql_query($sql); - - $sql = 'UPDATE ' . MODULES_TABLE . " - SET right_id = right_id - 2 - WHERE module_class = 'acp' - AND right_id > {$row['right_id']}"; - $db->sql_query($sql); - } - $db->sql_freeresult($result); - - $sql = 'SELECT right_id, module_id FROM ' . MODULES_TABLE . " - WHERE module_langname = 'ACP_PORTAL_INFO'"; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - $sql = 'DELETE FROM ' . MODULES_TABLE . " WHERE module_id = '{$row['module_id']}'"; - $db->sql_query($sql); - $sql = 'UPDATE ' . MODULES_TABLE . " - SET left_id = left_id - 2 - WHERE module_class = 'acp' - AND left_id > {$row['right_id']}"; - $db->sql_query($sql); - - $sql = 'UPDATE ' . MODULES_TABLE . " - SET right_id = right_id - 2 - WHERE module_class = 'acp' - AND right_id > {$row['right_id']}"; - $db->sql_query($sql); - } - $db->sql_freeresult($result); - - - // create the acp modules - $modules = new acp_modules(); - $portal = array( - 'module_basename' => '', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => 31, - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_INFO', - 'module_mode' => '', - 'module_auth' => '' - ); - $modules->update_module_data($portal); - $general = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_GENERAL_INFO', - 'module_mode' => 'general', - 'module_auth' => '' - ); - $modules->update_module_data($general); - $news = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_NEWS_INFO', - 'module_mode' => 'news', - 'module_auth' => '' - ); - $modules->update_module_data($news); - $announcements = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_ANNOUNCE_INFO', - 'module_mode' => 'announcements', - 'module_auth' => '' - ); - $modules->update_module_data($announcements); - $welcome = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_WELCOME_INFO', - 'module_mode' => 'welcome', - 'module_auth' => '' - ); - $modules->update_module_data($welcome); - $recent = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_RECENT_INFO', - 'module_mode' => 'recent', - 'module_auth' => '' - ); - $modules->update_module_data($recent); - $wordgraph = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_WORDGRAPH_INFO', - 'module_mode' => 'wordgraph', - 'module_auth' => '' - ); - $modules->update_module_data($wordgraph); - $paypal = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_PAYPAL_INFO', - 'module_mode' => 'paypal', - 'module_auth' => '' - ); - $modules->update_module_data($paypal); - $attachments = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_ATTACHMENTS_NUMBER_INFO', - 'module_mode' => 'attachments', - 'module_auth' => '' - ); - $modules->update_module_data($attachments); - $members = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_MEMBERS_INFO', - 'module_mode' => 'members', - 'module_auth' => '' - ); - $modules->update_module_data($members); - $polls = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_POLLS_INFO', - 'module_mode' => 'polls', - 'module_auth' => '' - ); - $modules->update_module_data($polls); - $bots = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_BOTS_INFO', - 'module_mode' => 'bots', - 'module_auth' => '' - ); - $modules->update_module_data($bots); - $poster = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_MOST_POSTER_INFO', - 'module_mode' => 'poster', - 'module_auth' => '' - ); - $modules->update_module_data($poster); - $minicalendar = array( - 'module_basename' => 'portal', - 'module_enabled' => 1, - 'module_display' => 1, - 'parent_id' => $portal['module_id'], - 'module_class' => 'acp', - 'module_langname' => 'ACP_PORTAL_MINICALENDAR_INFO', - 'module_mode' => 'minicalendar', - 'module_auth' => '' - ); - $modules->update_module_data($minicalendar); - - // clear cache and log what we did - $cache->purge(); - add_log('admin', $page_title . ' updated'); - $updated = true; - } - break; - default: - //we had a little cheater - break; -} - -include($phpbb_root_path . 'install_portal/layout.'.$phpEx); -?> \ No newline at end of file diff --git a/root/install_portal/layout.php b/root/install_portal/layout.php deleted file mode 100644 index a241bee5..00000000 --- a/root/install_portal/layout.php +++ /dev/null @@ -1,155 +0,0 @@ -'; -echo ''; -echo ''; -echo ''; -echo ''; -echo '' . $page_title . ''; -echo ''; -echo ''; -echo ''; -echo '
'; -echo ' '; -echo '
'; -echo '
'; -echo '
'; -echo ' '; -echo '
'; -echo ' '; -echo '
'; -echo ''; -if ($mode == 'install') -{ - if ($install == 1) - { - if ($installed) - { - echo '
'; - echo '

' . $user->lang['INFORMATION'] . '

'; - echo '

' . sprintf($user->lang['INSTALLER_INSTALL_SUCCESSFUL'], $new_mod_version) . '

'; - echo '
'; - } - else - { - echo '
'; - echo '

' . $user->lang['WARNING'] . '

'; - echo '

' . sprintf($user->lang['INSTALLER_INSTALL_UNSUCCESSFUL'], $new_mod_version) . '

'; - echo '
'; - } - } - else - { - echo '

' . $user->lang['INSTALLER_INSTALL_WELCOME'] . '

'; - echo '

' . $user->lang['INSTALLER_INSTALL_WELCOME_NOTE'] . '

'; - echo '
'; - echo '
'; - echo ' ' . $user->lang['INSTALLER_INSTALL'] . ''; - echo '
'; - echo '
'; - echo '
'; - echo '
'; - echo '

'; - echo '  '; - echo ' '; - echo '

'; - echo '
'; - echo '
'; - } -} -else if ($mode == 'update110b') -{ - if ($update == 1) - { - if ($updated) - { - echo '
'; - echo '

' . $user->lang['INFORMATION'] . '

'; - echo '

' . sprintf($user->lang['INSTALLER_UPDATE_SUCCESSFUL'], $version, $new_mod_version) . '

'; - echo '
'; - } - else - { - echo '
'; - echo '

' . $user->lang['WARNING'] . '

'; - echo '

' . sprintf($user->lang['INSTALLER_UPDATE_UNSUCCESSFUL'], $version, $new_mod_version) . '

'; - echo '
'; - } - } - else - { - echo '

' . $user->lang['INSTALLER_UPDATE_WELCOME'] . '

'; - echo '
'; - echo '
'; - echo ' ' . $user->lang['INSTALLER_UPDATE'] . ''; - echo '
'; - echo '
'; - echo '
'; - echo '
'; - echo '

'; - echo '  '; - echo ' '; - echo '

'; - echo '
'; - echo '
'; - } -} -else if ($mode == 'else') -{ - echo '

' . $user->lang['INSTALLER_INTRO_WELCOME'] . '

'; - echo '

' . $user->lang['INSTALLER_INTRO_WELCOME_NOTE'] . '

'; -} -else -{ - echo '
'; - echo '

ERROR

'; - echo '

' . $user->lang['INSTALLER_NEEDS_FOUNDER'] . '

'; - echo '
'; -} -echo '
'; -echo '
'; -echo ' '; -echo '
'; -echo '
'; -echo '
'; -echo ' '; -echo ''; -echo '
'; -echo ''; -echo ''; -?> \ No newline at end of file diff --git a/root/install_portal/schemas/_firebird_schema.sql b/root/install_portal/schemas/_firebird_schema.sql deleted file mode 100644 index f713711c..00000000 --- a/root/install_portal/schemas/_firebird_schema.sql +++ /dev/null @@ -1,14 +0,0 @@ -# -# $Id: $ -# - - -# Table: 'phpbb_portal_config' -CREATE TABLE phpbb_portal_config ( - config_name VARCHAR(255) CHARACTER SET NONE DEFAULT '' NOT NULL, - config_value VARCHAR(255) CHARACTER SET NONE DEFAULT '' NOT NULL -);; - -ALTER TABLE phpbb_portal_config ADD PRIMARY KEY (config_name);; - - diff --git a/root/install_portal/schemas/_mssql_schema.sql b/root/install_portal/schemas/_mssql_schema.sql deleted file mode 100644 index b046e576..00000000 --- a/root/install_portal/schemas/_mssql_schema.sql +++ /dev/null @@ -1,30 +0,0 @@ -/* - - $Id: $ - -*/ - -BEGIN TRANSACTION -GO - -/* - Table: 'phpbb_portal_config' -*/ -CREATE TABLE [phpbb_portal_config] ( - [config_name] [varchar] (255) DEFAULT ('') NOT NULL , - [config_value] [varchar] (255) DEFAULT ('') NOT NULL -) ON [PRIMARY] -GO - -ALTER TABLE [phpbb_portal_config] WITH NOCHECK ADD - CONSTRAINT [PK_phpbb_portal_config] PRIMARY KEY CLUSTERED - ( - [config_name] - ) ON [PRIMARY] -GO - - - -COMMIT -GO - diff --git a/root/install_portal/schemas/_mysql_40_schema.sql b/root/install_portal/schemas/_mysql_40_schema.sql deleted file mode 100644 index ef7b2b18..00000000 --- a/root/install_portal/schemas/_mysql_40_schema.sql +++ /dev/null @@ -1,12 +0,0 @@ -# -# $Id: $ -# - -# Table: 'phpbb_portal_config' -CREATE TABLE phpbb_portal_config ( - config_name varbinary(255) DEFAULT '' NOT NULL, - config_value varbinary(255) DEFAULT '' NOT NULL, - PRIMARY KEY (config_name) -); - - diff --git a/root/install_portal/schemas/_mysql_41_schema.sql b/root/install_portal/schemas/_mysql_41_schema.sql deleted file mode 100644 index ad7b4408..00000000 --- a/root/install_portal/schemas/_mysql_41_schema.sql +++ /dev/null @@ -1,12 +0,0 @@ -# -# $Id: $ -# - -# Table: 'phpbb_portal_config' -CREATE TABLE phpbb_portal_config ( - config_name varchar(255) DEFAULT '' NOT NULL, - config_value varchar(255) DEFAULT '' NOT NULL, - PRIMARY KEY (config_name) -) CHARACTER SET `utf8` COLLATE `utf8_bin`; - - diff --git a/root/install_portal/schemas/_oracle_schema.sql b/root/install_portal/schemas/_oracle_schema.sql deleted file mode 100644 index a639275d..00000000 --- a/root/install_portal/schemas/_oracle_schema.sql +++ /dev/null @@ -1,90 +0,0 @@ -/* - - $Id: $ - -*/ - -/* - - This first section is optional, however its probably the best method - - of running phpBB on Oracle. If you already have a tablespace and user created - - for phpBB you can leave this section commented out! - - - - The first set of statements create a phpBB tablespace and a phpBB user, - - make sure you change the password of the phpBB user before you run this script!! - -*/ - - - -/* - -CREATE TABLESPACE "PHPBB" - - LOGGING - - DATAFILE 'E:\ORACLE\ORADATA\LOCAL\PHPBB.ora' - - SIZE 10M - - AUTOEXTEND ON NEXT 10M - - MAXSIZE 100M; - - - -CREATE USER "PHPBB" - - PROFILE "DEFAULT" - - IDENTIFIED BY "phpbb_password" - - DEFAULT TABLESPACE "PHPBB" - - QUOTA UNLIMITED ON "PHPBB" - - ACCOUNT UNLOCK; - - - -GRANT ANALYZE ANY TO "PHPBB"; - -GRANT CREATE SEQUENCE TO "PHPBB"; - -GRANT CREATE SESSION TO "PHPBB"; - -GRANT CREATE TABLE TO "PHPBB"; - -GRANT CREATE TRIGGER TO "PHPBB"; - -GRANT CREATE VIEW TO "PHPBB"; - -GRANT "CONNECT" TO "PHPBB"; - - - -COMMIT; - -DISCONNECT; - - - -CONNECT phpbb/phpbb_password; - -*/ -/* - Table: 'phpbb_portal_config' -*/ -CREATE TABLE phpbb_portal_config ( - config_name varchar2(255) DEFAULT '' , - config_value varchar2(255) DEFAULT '' , - CONSTRAINT pk_phpbb_portal_config PRIMARY KEY (config_name) -) -/ - - diff --git a/root/install_portal/schemas/_postgres_schema.sql b/root/install_portal/schemas/_postgres_schema.sql deleted file mode 100644 index 14f3797a..00000000 --- a/root/install_portal/schemas/_postgres_schema.sql +++ /dev/null @@ -1,169 +0,0 @@ -/* - - $Id: $ - -*/ - -BEGIN; - -/* - - Domain definition - -*/ - -CREATE DOMAIN varchar_ci AS varchar(255) NOT NULL DEFAULT ''::character varying; - - - -/* - - Operation Functions - -*/ - -CREATE FUNCTION _varchar_ci_equal(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) = LOWER($2)' LANGUAGE SQL STRICT; - -CREATE FUNCTION _varchar_ci_not_equal(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) != LOWER($2)' LANGUAGE SQL STRICT; - -CREATE FUNCTION _varchar_ci_less_than(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) < LOWER($2)' LANGUAGE SQL STRICT; - -CREATE FUNCTION _varchar_ci_less_equal(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) <= LOWER($2)' LANGUAGE SQL STRICT; - -CREATE FUNCTION _varchar_ci_greater_than(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) > LOWER($2)' LANGUAGE SQL STRICT; - -CREATE FUNCTION _varchar_ci_greater_equals(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) >= LOWER($2)' LANGUAGE SQL STRICT; - - - -/* - - Operators - -*/ - -CREATE OPERATOR <( - - PROCEDURE = _varchar_ci_less_than, - - LEFTARG = varchar_ci, - - RIGHTARG = varchar_ci, - - COMMUTATOR = >, - - NEGATOR = >=, - - RESTRICT = scalarltsel, - - JOIN = scalarltjoinsel); - - - -CREATE OPERATOR <=( - - PROCEDURE = _varchar_ci_less_equal, - - LEFTARG = varchar_ci, - - RIGHTARG = varchar_ci, - - COMMUTATOR = >=, - - NEGATOR = >, - - RESTRICT = scalarltsel, - - JOIN = scalarltjoinsel); - - - -CREATE OPERATOR >( - - PROCEDURE = _varchar_ci_greater_than, - - LEFTARG = varchar_ci, - - RIGHTARG = varchar_ci, - - COMMUTATOR = <, - - NEGATOR = <=, - - RESTRICT = scalargtsel, - - JOIN = scalargtjoinsel); - - - -CREATE OPERATOR >=( - - PROCEDURE = _varchar_ci_greater_equals, - - LEFTARG = varchar_ci, - - RIGHTARG = varchar_ci, - - COMMUTATOR = <=, - - NEGATOR = <, - - RESTRICT = scalargtsel, - - JOIN = scalargtjoinsel); - - - -CREATE OPERATOR <>( - - PROCEDURE = _varchar_ci_not_equal, - - LEFTARG = varchar_ci, - - RIGHTARG = varchar_ci, - - COMMUTATOR = <>, - - NEGATOR = =, - - RESTRICT = neqsel, - - JOIN = neqjoinsel); - - - -CREATE OPERATOR =( - - PROCEDURE = _varchar_ci_equal, - - LEFTARG = varchar_ci, - - RIGHTARG = varchar_ci, - - COMMUTATOR = =, - - NEGATOR = <>, - - RESTRICT = eqsel, - - JOIN = eqjoinsel, - - HASHES, - - MERGES, - - SORT1= <); - - -/* - Table: 'phpbb_portal_config' -*/ -CREATE TABLE phpbb_portal_config ( - config_name varchar(255) DEFAULT '' NOT NULL, - config_value varchar(255) DEFAULT '' NOT NULL, - PRIMARY KEY (config_name) -); - - - -COMMIT; \ No newline at end of file diff --git a/root/install_portal/schemas/_schema_data.sql b/root/install_portal/schemas/_schema_data.sql deleted file mode 100644 index d78c600a..00000000 --- a/root/install_portal/schemas/_schema_data.sql +++ /dev/null @@ -1,68 +0,0 @@ -# -# $Id: schema_data.sql,v 1.257 2007/09/20 21:19:00 stoffel04 Exp $ -# - -# POSTGRES BEGIN # - -# -- Config -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_welcome_intro', 'Welcome to my community!'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_max_online_friends', '8'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_max_most_poster', '8'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_max_last_member', '8'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_welcome', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_links', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_link_us', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_clock', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_random_member', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_latest_members', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_top_posters', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_leaders', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_advanced_stat', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_version', '0.1.0'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_welcome_guest', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_birthdays', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_search', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_friends', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_whois_online', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_change_style', '0'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_main_menu', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_user_menu', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_right_collumn_width', '180'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_left_collumn_width', '180'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_poll_topic', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_poll_topic_id', '2'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_last_visited_bots_number', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_load_last_visited_bots', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_pay_acc', 'your@paypal.com'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_pay_s_block', '0'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_pay_c_block', '0'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_recent', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_recent_title_limit', '100'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_max_topics', '10'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_exclude_forums', ''); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_news_forum', '2'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_news_length', '250'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_number_of_news', '5'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_show_all_news', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_news', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_news_style', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_announcements', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_announcements_style', '0'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_number_of_announcements', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_announcements_day', '0'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_announcements_length', '200'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_global_announcements_forum', '2'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_wordgraph_word_counts', '0'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_wordgraph_max_words', '80'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_wordgraph', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_wordgraph_ratio', '18'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_minicalendar', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_minicalendar_today_color', '//FF0000'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_minicalendar_day_link_color', '//006F00'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_attachments', '1'); -INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_attachments_number', '8'); - - - -# POSTGRES COMMIT # - diff --git a/root/install_portal/schemas/_sqlite_schema.sql b/root/install_portal/schemas/_sqlite_schema.sql deleted file mode 100644 index d6d61670..00000000 --- a/root/install_portal/schemas/_sqlite_schema.sql +++ /dev/null @@ -1,16 +0,0 @@ -# -# $Id: $ -# - -BEGIN TRANSACTION; - -# Table: 'phpbb_portal_config' -CREATE TABLE phpbb_portal_config ( - config_name varchar(255) NOT NULL DEFAULT '', - config_value varchar(255) NOT NULL DEFAULT '', - PRIMARY KEY (config_name) -); - - - -COMMIT; \ No newline at end of file diff --git a/root/install_portal/schemas/index.htm b/root/install_portal/schemas/index.htm deleted file mode 100644 index e69de29b..00000000