diff options
author | Meik Sievertsen <acydburn@phpbb.com> | 2006-10-14 14:56:46 +0000 |
---|---|---|
committer | Meik Sievertsen <acydburn@phpbb.com> | 2006-10-14 14:56:46 +0000 |
commit | 4afaca12dc55b076293e9ef8ac28332d22730df0 (patch) | |
tree | 944b15618d8a0bed05fafb942e27322a739b2d3d /phpBB/includes/acp | |
parent | 46922674ea1b5ecf96d14c0edfdbcf6af3743051 (diff) | |
download | forums-4afaca12dc55b076293e9ef8ac28332d22730df0.tar forums-4afaca12dc55b076293e9ef8ac28332d22730df0.tar.gz forums-4afaca12dc55b076293e9ef8ac28332d22730df0.tar.bz2 forums-4afaca12dc55b076293e9ef8ac28332d22730df0.tar.xz forums-4afaca12dc55b076293e9ef8ac28332d22730df0.zip |
- store sql_layer directly within the layer itself
- new method sql_multi_insert to circumvent db-specific hacks
(hopefully not introduced any parsing errors)
git-svn-id: file:///svn/phpbb/trunk@6497 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/acp')
-rw-r--r-- | phpBB/includes/acp/acp_database.php | 39 | ||||
-rw-r--r-- | phpBB/includes/acp/acp_forums.php | 32 | ||||
-rw-r--r-- | phpBB/includes/acp/acp_groups.php | 19 | ||||
-rw-r--r-- | phpBB/includes/acp/acp_icons.php | 2 | ||||
-rw-r--r-- | phpBB/includes/acp/acp_main.php | 21 | ||||
-rw-r--r-- | phpBB/includes/acp/acp_profile.php | 4 | ||||
-rw-r--r-- | phpBB/includes/acp/acp_reasons.php | 2 | ||||
-rw-r--r-- | phpBB/includes/acp/acp_users.php | 6 | ||||
-rw-r--r-- | phpBB/includes/acp/auth.php | 57 |
9 files changed, 30 insertions, 152 deletions
diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index d4d4cf89b1..ccb1460c8a 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -133,7 +133,7 @@ class acp_database $sql_data .= "# DATE : " . gmdate("d-m-Y H:i:s", $time) . " GMT\n"; $sql_data .= "#\n"; - switch (SQL_LAYER) + switch ($db->sql_layer) { case 'sqlite': $sql_data .= "BEGIN TRANSACTION;\n"; @@ -151,7 +151,7 @@ class acp_database break; } - if ($structure && SQL_LAYER == 'firebird') + if ($structure && $db->sql_layer == 'firebird') { $sql = 'SELECT RDB$FUNCTION_NAME, RDB$DESCRIPTION FROM RDB$FUNCTIONS @@ -181,7 +181,7 @@ class acp_database // Get the table structure if ($structure) { - switch (SQL_LAYER) + switch ($db->sql_layer) { case 'mysqli': case 'mysql4': @@ -224,27 +224,12 @@ class acp_database } $sql_data .= $this->get_table_structure($table_name); } - // We might wanna empty out all that junk :D else { - switch (SQL_LAYER) - { - case 'mysqli': - case 'mysql4': - case 'mysql': - case 'mssql': - case 'mssql_odbc': - case 'oracle': - case 'postgres': - case 'firebird': - $sql_data .= 'TRUNCATE TABLE ' . $table_name . ";\n"; - break; - - case 'sqlite': - $sql_data .= 'DELETE FROM ' . $table_name . ";\n"; - break; - } + // We might wanna empty out all that junk :D + $sql_data .= (($db->sql_layer == 'sqlite') ? 'DELETE FROM ' : 'TRUNCATE TABLE ') . $table_name . ";\n"; } + // Now write the data for the first time. :) if ($store == true) { @@ -270,7 +255,7 @@ class acp_database { $sql_data .= "\n"; - switch (SQL_LAYER) + switch ($db->sql_layer) { case 'mysqli': @@ -1016,7 +1001,7 @@ class acp_database } } - switch (SQL_LAYER) + switch ($db->sql_layer) { case 'sqlite': case 'postgres': @@ -1056,7 +1041,7 @@ class acp_database default: $tables = array(); - switch (SQL_LAYER) + switch ($db->sql_layer) { case 'sqlite': $sql = "SELECT name @@ -1247,13 +1232,13 @@ class acp_database remove_remarks($data); // SQLite gets improved performance when you shove all of these disk write queries at once :D - if (SQL_LAYER == 'sqlite') + if ($db->sql_layer == 'sqlite') { $db->sql_query($data); } else { - switch (SQL_LAYER) + switch ($db->sql_layer) { case 'firebird': $delim = ';;'; @@ -1351,7 +1336,7 @@ class acp_database $sql_data = ''; - switch (SQL_LAYER) + switch ($db->sql_layer) { case 'mysqli': case 'mysql4': diff --git a/phpBB/includes/acp/acp_forums.php b/phpBB/includes/acp/acp_forums.php index cd63f26a1b..358c0cf3cd 100644 --- a/phpBB/includes/acp/acp_forums.php +++ b/phpBB/includes/acp/acp_forums.php @@ -210,34 +210,8 @@ class acp_forums $db->sql_freeresult($result); // Now insert the data - switch (SQL_LAYER) - { - case 'mysql': - case 'mysql4': - case 'mysqli': - if (sizeof($users_sql_ary)) - { - $db->sql_query('INSERT INTO ' . ACL_USERS_TABLE . ' ' . $db->sql_build_array('MULTI_INSERT', $users_sql_ary)); - } - - if (sizeof($groups_sql_ary)) - { - $db->sql_query('INSERT INTO ' . ACL_GROUPS_TABLE . ' ' . $db->sql_build_array('MULTI_INSERT', $groups_sql_ary)); - } - break; - - default: - foreach ($users_sql_ary as $ary) - { - $db->sql_query('INSERT INTO ' . ACL_USERS_TABLE . ' ' . $db->sql_build_array('INSERT', $ary)); - } - - foreach ($groups_sql_ary as $ary) - { - $db->sql_query('INSERT INTO ' . ACL_GROUPS_TABLE . ' ' . $db->sql_build_array('INSERT', $ary)); - } - break; - } + $db->sql_multi_insert(ACL_USERS_TABLE, $users_sql_ary); + $db->sql_multi_insert(ACL_GROUPS_TABLE, $groups_sql_ary); } $auth->acl_clear_prefetch(); @@ -1408,7 +1382,7 @@ class acp_forums } $db->sql_freeresult($result); - switch (SQL_LAYER) + switch ($db->sql_layer) { case 'mysql4': case 'mysqli': diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php index 600d596370..f4c869c40c 100644 --- a/phpBB/includes/acp/acp_groups.php +++ b/phpBB/includes/acp/acp_groups.php @@ -368,24 +368,7 @@ class acp_groups $db->sql_freeresult($result); // Now insert the data - if (sizeof($groups_sql_ary)) - { - switch (SQL_LAYER) - { - case 'mysql': - case 'mysql4': - case 'mysqli': - $db->sql_query('INSERT INTO ' . ACL_GROUPS_TABLE . ' ' . $db->sql_build_array('MULTI_INSERT', $groups_sql_ary)); - break; - - default: - foreach ($groups_sql_ary as $ary) - { - $db->sql_query('INSERT INTO ' . ACL_GROUPS_TABLE . ' ' . $db->sql_build_array('INSERT', $ary)); - } - break; - } - } + $db->sql_multi_insert(ACL_GROUPS_TABLE, $groups_sql_ary); $auth->acl_clear_prefetch(); } diff --git a/phpBB/includes/acp/acp_icons.php b/phpBB/includes/acp/acp_icons.php index c4747a2e42..4636b067c2 100644 --- a/phpBB/includes/acp/acp_icons.php +++ b/phpBB/includes/acp/acp_icons.php @@ -311,7 +311,7 @@ class acp_icons // The user has already selected a smilies_pak file if ($current == 'delete') { - $db->sql_query(((SQL_LAYER != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . $table); + $db->sql_query((($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . $table); switch ($mode) { diff --git a/phpBB/includes/acp/acp_main.php b/phpBB/includes/acp/acp_main.php index d8e8cdf192..4bd230458b 100644 --- a/phpBB/includes/acp/acp_main.php +++ b/phpBB/includes/acp/acp_main.php @@ -149,7 +149,7 @@ class acp_main break; case 'db_track': - $db->sql_query(((SQL_LAYER != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . TOPICS_POSTED_TABLE); + $db->sql_query((($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . TOPICS_POSTED_TABLE); // This can get really nasty... therefore we only do the last six months $get_from_time = time() - (6 * 4 * 7 * 24 * 60 * 60); @@ -204,24 +204,7 @@ class acp_main } unset($posted); - if (sizeof($sql_ary)) - { - switch (SQL_LAYER) - { - case 'mysql': - case 'mysql4': - case 'mysqli': - $db->sql_query('INSERT INTO ' . TOPICS_POSTED_TABLE . ' ' . $db->sql_build_array('MULTI_INSERT', $sql_ary)); - break; - - default: - foreach ($sql_ary as $ary) - { - $db->sql_query('INSERT INTO ' . TOPICS_POSTED_TABLE . ' ' . $db->sql_build_array('INSERT', $ary)); - } - break; - } - } + $db->sql_multi_insert(TOPICS_POSTED_TABLE, $sql_ary); } add_log('admin', 'LOG_RESYNC_POST_MARKING'); diff --git a/phpBB/includes/acp/acp_profile.php b/phpBB/includes/acp/acp_profile.php index e5b998f535..4862d3ead0 100644 --- a/phpBB/includes/acp/acp_profile.php +++ b/phpBB/includes/acp/acp_profile.php @@ -107,7 +107,7 @@ class acp_profile $db->sql_query('DELETE FROM ' . PROFILE_FIELDS_LANG_TABLE . " WHERE field_id = $field_id"); $db->sql_query('DELETE FROM ' . PROFILE_LANG_TABLE . " WHERE field_id = $field_id"); - switch (SQL_LAYER) + switch ($db->sql_layer) { case 'sqlite': $sql = "SELECT sql @@ -1236,7 +1236,7 @@ class acp_profile { global $db; - switch (SQL_LAYER) + switch ($db->sql_layer) { case 'mysql': case 'mysql4': diff --git a/phpBB/includes/acp/acp_reasons.php b/phpBB/includes/acp/acp_reasons.php index abf554d824..0dd62b5e22 100644 --- a/phpBB/includes/acp/acp_reasons.php +++ b/phpBB/includes/acp/acp_reasons.php @@ -202,7 +202,7 @@ class acp_reasons $other_reason_id = (int) $db->sql_fetchfield('reason_id'); $db->sql_freeresult($result); - switch (SQL_LAYER) + switch ($db->sql_layer) { // The ugly one! case 'mysqli': diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php index e029fb54b9..94d24e6505 100644 --- a/phpBB/includes/acp/acp_users.php +++ b/phpBB/includes/acp/acp_users.php @@ -1040,7 +1040,7 @@ class acp_users // Update Custom Fields if (sizeof($cp_data)) { - switch (SQL_LAYER) + switch ($db->sql_layer) { case 'oracle': case 'firebird': @@ -1944,7 +1944,7 @@ class acp_users FROM ' . ACL_OPTIONS_TABLE . " WHERE auth_option LIKE '%\_'"; - if (SQL_LAYER == 'mssql' || SQL_LAYER == 'mssql_odbc') + if ($db->sql_layer == 'mssql' || $db->sql_layer == 'mssql_odbc') { $sql .= " ESCAPE '\\'"; } @@ -1964,7 +1964,7 @@ class acp_users FROM ' . ACL_OPTIONS_TABLE . " WHERE auth_option LIKE '%\_'"; - if (SQL_LAYER == 'mssql' || SQL_LAYER == 'mssql_odbc') + if ($db->sql_layer == 'mssql' || $db->sql_layer == 'mssql_odbc') { $sql .= " ESCAPE '\\'"; } diff --git a/phpBB/includes/acp/auth.php b/phpBB/includes/acp/auth.php index 36fa5dbcea..436e3f017b 100644 --- a/phpBB/includes/acp/auth.php +++ b/phpBB/includes/acp/auth.php @@ -724,24 +724,7 @@ class auth_admin extends auth } } - if (sizeof($sql_ary)) - { - switch (SQL_LAYER) - { - case 'mysql': - case 'mysql4': - case 'mysqli': - $db->sql_query('INSERT INTO ' . ACL_OPTIONS_TABLE . ' ' . $db->sql_build_array('MULTI_INSERT', $sql_ary)); - break; - - default: - foreach ($sql_ary as $ary) - { - $db->sql_query('INSERT INTO ' . ACL_OPTIONS_TABLE . ' ' . $db->sql_build_array('INSERT', $ary)); - } - break; - } - } + $db->sql_multi_insert(ACL_OPTIONS_TABLE, $sql_ary); $cache->destroy('acl_options'); $this->acl_clear_prefetch(); @@ -874,24 +857,7 @@ class auth_admin extends auth } } - if (sizeof($sql_ary)) - { - switch (SQL_LAYER) - { - case 'mysql': - case 'mysql4': - case 'mysqli': - $db->sql_query("INSERT INTO $table " . $db->sql_build_array('MULTI_INSERT', $sql_ary)); - break; - - default: - foreach ($sql_ary as $ary) - { - $db->sql_query("INSERT INTO $table " . $db->sql_build_array('INSERT', $ary)); - } - break; - } - } + $db->sql_multi_insert($table, $sql_ary); if ($clear_prefetch) { @@ -956,21 +922,8 @@ class auth_admin extends auth WHERE role_id = ' . $role_id; $db->sql_query($sql); - switch (SQL_LAYER) - { - case 'mysql': - case 'mysql4': - case 'mysqli': - $db->sql_query('INSERT INTO ' . ACL_ROLES_DATA_TABLE . ' ' . $db->sql_build_array('MULTI_INSERT', $sql_ary)); - break; - - default: - foreach ($sql_ary as $ary) - { - $db->sql_query('INSERT INTO ' . ACL_ROLES_DATA_TABLE . ' ' . $db->sql_build_array('INSERT', $ary)); - } - break; - } + // Now insert the new values + $db->sql_multi_insert(ACL_ROLES_DATA_TABLE, $sql_ary); $this->acl_clear_prefetch(); } @@ -1010,7 +963,7 @@ class auth_admin extends auth $sql = 'SELECT auth_option, auth_option_id FROM ' . ACL_OPTIONS_TABLE . " WHERE auth_option LIKE '" . $db->sql_escape(str_replace('_', "\_", $permission_type)) . "%'"; - $sql .= (SQL_LAYER == 'mssql' || SQL_LAYER == 'mssql_odbc') ? " ESCAPE '\\'" : ''; + $sql .= ($db->sql_layer == 'mssql' || $db->sql_layer == 'mssql_odbc') ? " ESCAPE '\\'" : ''; $result = $db->sql_query($sql); |