1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-05 15:16:16 +02:00

forgot to actually commit it :P

git-svn-id: file:///svn/phpbb/trunk@7016 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
David M 2007-02-19 20:57:05 +00:00
parent 59fdd2edca
commit 4805ae6542

View File

@ -161,107 +161,18 @@ class acp_database
break;
default:
$tables = array();
switch ($db->sql_layer)
include($phpbb_root_path . 'includes/functions_install.' . $phpEx);
$tables = get_tables($db);
foreach ($tables as $table_name)
{
case 'sqlite':
$sql = "SELECT name
FROM sqlite_master
WHERE type='table'
ORDER BY name";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
if (strlen($table_prefix) == 0 || strpos($row['name'], $table_prefix) === 0)
{
$tables[] = $row['name'];
}
}
$db->sql_freeresult($result);
break;
case 'mysqli':
case 'mysql4':
case 'mysql':
$sql = "SHOW TABLES
LIKE '{$table_prefix}%'";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$tables[] = current($row);
}
$db->sql_freeresult($result);
break;
case 'postgres':
$sql = 'SELECT relname
FROM pg_stat_user_tables
ORDER BY relname';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
if (strlen($table_prefix) == 0 || strpos($row['relname'], $table_prefix) === 0)
{
$tables[] = $row['relname'];
}
}
$db->sql_freeresult($result);
break;
case 'mssql':
case 'mssql_odbc':
$sql = "SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
ORDER BY TABLE_NAME";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
if (strlen($table_prefix) == 0 || strpos($row['TABLE_NAME'], $table_prefix) === 0)
{
$tables[] = $row['TABLE_NAME'];
}
}
$db->sql_freeresult($result);
break;
case 'firebird':
$sql = 'SELECT RDB$RELATION_NAME as TABLE_NAME
FROM RDB$RELATIONS
WHERE RDB$SYSTEM_FLAG=0
AND RDB$VIEW_BLR IS NULL';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
if (strlen($table_prefix) == 0 || stripos($row['table_name'], $table_prefix) === 0)
{
$tables[] = $row['table_name'];
}
}
$db->sql_freeresult($result);
break;
case 'oracle':
$sql = 'SELECT TNAME as table_name
FROM TAB';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
if (strlen($table_prefix) == 0 || stripos($row['table_name'], $table_prefix) === 0)
{
$tables[] = $row['table_name'];
}
}
$db->sql_freeresult($result);
break;
}
foreach ($tables as $table)
{
$template->assign_block_vars('tables', array(
'TABLE' => $table
));
if (strlen($table_prefix) === 0 || strpos($table_name, $table_prefix) === 0)
{
$template->assign_block_vars('tables', array(
'TABLE' => $table_name
));
}
}
unset($tables);
$template->assign_vars(array(
'U_ACTION' => $this->u_action . '&action=download'
@ -398,7 +309,7 @@ class acp_database
$delim = ";\n";
while (($sql = $fgetd($fp, $delim, $read, $seek, $eof)) !== false)
{
$query = trim($fgetd($fp, $delim, $read, $seek, $eof));
$query = trim($sql);
if (substr($query, 0, 8) === 'SET TERM')
{
$delim = $query[9] . "\n";
@ -417,6 +328,10 @@ class acp_database
{
while (($sub = $fgetd($fp, "\n", $read, $seek, $eof)) !== '\.')
{
if ($sub === false)
{
trigger_error($user->lang['RESTORE_FAILURE'] . adm_back_link($this->u_action));
}
pg_put_line($db->db_connect_id, $sub . "\n");
}
pg_put_line($db->db_connect_id, "\\.\n");
@ -612,7 +527,7 @@ class base_extractor
if ($this->download === true)
{
if ($this->format === 'bzip2' || ($this->format === 'gzip' && !$this->run_comp))
if ($this->format === 'bzip2' || $this->format === 'text' || ($this->format === 'gzip' && !$this->run_comp))
{
echo $data;
}
@ -1367,6 +1282,7 @@ class mssql_extractor extends base_extractor
function write_end()
{
$this->flush("COMMIT\nGO\n");
parent::write_end();
}
function write_start($prefix)