aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/install/database_update.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/install/database_update.php')
-rw-r--r--phpBB/install/database_update.php85
1 files changed, 62 insertions, 23 deletions
diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php
index 211bbec8d1..43d8c06a27 100644
--- a/phpBB/install/database_update.php
+++ b/phpBB/install/database_update.php
@@ -8,7 +8,7 @@
*
*/
-$updates_to_version = '3.0.1';
+$updates_to_version = '3.0.2-RC1';
// Return if we "just include it" to find out for which version the database update is responsible for
if (defined('IN_PHPBB') && defined('IN_INSTALL'))
@@ -33,7 +33,7 @@ error_reporting(E_ALL);
// Include essential scripts
include($phpbb_root_path . 'config.' . $phpEx);
-if (!isset($dbms))
+if (!defined('PHPBB_INSTALLED') || empty($dbms) || empty($acm_type))
{
die("Please read: <a href='../docs/INSTALL.html'>INSTALL.html</a> before attempting to update.");
}
@@ -496,6 +496,12 @@ $database_update_info = array(
GROUPS_TABLE => array('group_legend'),
),
),
+ // No changes from 3.0.1-RC1 to 3.0.1
+ '3.0.1-RC1' => array(),
+ // No changes from 3.0.1 to 3.0.2-RC1
+ '3.0.1' => array(),
+// uncomment once RC1 out - no changes from 3.0.2-RC1 to 3.0.2
+// '3.0.2-RC1' => array(),
);
// Determine mapping database type
@@ -581,6 +587,11 @@ while ($row = $db->sql_fetchrow($result))
}
$db->sql_freeresult($result);
+/*if ($debug_from_version !== false)
+{
+ $config['version'] = $debug_from_version;
+}*/
+
echo $lang['PREVIOUS_VERSION'] . ' :: <strong>' . $config['version'] . '</strong><br />';
echo $lang['UPDATED_VERSION'] . ' :: <strong>' . $updates_to_version . '</strong></p>';
@@ -604,7 +615,7 @@ else
// Checks/Operations that have to be completed prior to starting the update itself
$exit = false;
-if (version_compare($current_version, '3.0.RC8', '<='))
+if (version_compare($current_version, '3.0.RC8', '<=')) /* && $debug_from_version === false) */
{
// Define missing language entries...
if (!isset($lang['CLEANING_USERNAMES']))
@@ -932,7 +943,7 @@ if (version_compare($current_version, '3.0.RC8', '<='))
foreach ($user_ids as $i => $user_id)
{
$row = $users[$user_id];
-
+
$rank_title = $rank_img = '';
get_user_rank($row['user_rank'], $row['user_posts'], $rank_title, $rank_img, $rank_img_src);
@@ -1092,13 +1103,20 @@ for ($i = 0; $i < sizeof($versions); $i++)
$next_version = (isset($versions[$i + 1])) ? $versions[$i + 1] : $updates_to_version;
- if (!sizeof($schema_changes))
+ // If the installed version to be updated to is < than the current version, and if the current version is >= as the version to be updated to next, we will skip the process
+ if (version_compare($version, $current_version, '<') && version_compare($current_version, $next_version, '>='))
{
continue;
}
- // If the installed version to be updated to is < than the current version, and if the current version is >= as the version to be updated to next, we will skip the process
- if (version_compare($version, $current_version, '<') && version_compare($current_version, $next_version, '>='))
+/* if ($debug_from_version !== false)
+ {
+ // Applying update schema for version array with key '$version'
+ // for version '$version' to '$next_version'
+ continue;
+ }*/
+
+ if (!sizeof($schema_changes))
{
continue;
}
@@ -1209,10 +1227,7 @@ $errored = $no_updates = false;
flush();
$no_updates = true;
-
-$versions = array(
- '3.0.RC2', '3.0.RC3', '3.0.RC4', '3.0.RC5', '3.0.0'
-);
+$versions = array_keys($database_update_info);
// some code magic
for ($i = 0; $i < sizeof($versions); $i++)
@@ -1226,8 +1241,14 @@ for ($i = 0; $i < sizeof($versions); $i++)
continue;
}
- $no_updates = false;
- change_database_data($version);
+/* if ($debug_from_version !== false)
+ {
+ // Applying update schema for version array with key '$version'
+ // for version '$version' to '$next_version'
+ continue;
+ }*/
+
+ change_database_data($no_updates, $version);
}
_write_result($no_updates, $errored, $error_ary);
@@ -1246,6 +1267,9 @@ $errored = $no_updates = false;
flush();
+//if ($debug_from_version === false)
+// {
+
// update the version
$sql = "UPDATE " . CONFIG_TABLE . "
SET config_value = '$updates_to_version'
@@ -1258,6 +1282,8 @@ $sql = 'UPDATE ' . USERS_TABLE . "
user_perm_from = 0";
_sql($sql, $errored, $error_ary);
+// }
+
/* Optimize/vacuum analyze the tables where appropriate
// this should be done for each version in future along with
// the version number update
@@ -1324,7 +1350,7 @@ $cache->purge();
</div>
</div>
</div>
-
+
<div id="page-footer">
Powered by phpBB &copy; 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>
</div>
@@ -1345,7 +1371,7 @@ if (function_exists('exit_handler'))
/**
* Function where all data changes are executed
*/
-function change_database_data($version)
+function change_database_data(&$no_updates, $version)
{
global $db, $map_dbms, $errored, $error_ary, $config, $phpbb_root_path;
@@ -1364,7 +1390,7 @@ function change_database_data($version)
$smileys[$row['smiley_id']] = $row['code'];
}
$db->sql_freeresult($result);
-
+
foreach ($smileys as $id => $code)
{
// 2.0 only entitized lt and gt; We need to do something about double quotes.
@@ -1392,6 +1418,7 @@ function change_database_data($version)
sql_create_index($map_dbms, 'ath_op_id', ACL_ROLES_DATA_TABLE, array('auth_option_id'));
}
+ $no_updates = false;
break;
case '3.0.RC3':
@@ -1481,6 +1508,7 @@ function change_database_data($version)
set_config('allow_birthdays', '1');
set_config('cron_lock', '0', true);
+ $no_updates = false;
break;
case '3.0.RC4':
@@ -1678,6 +1706,7 @@ function change_database_data($version)
set_config('ldap_port', '');
set_config('ldap_user_filter', '');
+ $no_updates = false;
break;
case '3.0.RC5':
@@ -1699,7 +1728,7 @@ function change_database_data($version)
$sql = 'SELECT forum_id, forum_password
FROM ' . FORUMS_TABLE;
$result = _sql($sql, $errored, $error_ary);
-
+
while ($row = $db->sql_fetchrow($result))
{
if (!empty($row['forum_password']))
@@ -1708,9 +1737,10 @@ function change_database_data($version)
}
}
$db->sql_freeresult($result);
-
+
$db->sql_transaction('commit');
+ $no_updates = false;
break;
case '3.0.0':
@@ -1719,7 +1749,7 @@ function change_database_data($version)
SET topic_last_view_time = topic_last_post_time
WHERE topic_last_view_time = 0";
_sql($sql, $errored, $error_ary);
-
+
// Update smiley sizes
$smileys = array('icon_e_surprised.gif', 'icon_eek.gif', 'icon_cool.gif', 'icon_lol.gif', 'icon_mad.gif', 'icon_razz.gif', 'icon_redface.gif', 'icon_cry.gif', 'icon_evil.gif', 'icon_twisted.gif', 'icon_rolleyes.gif', 'icon_exclaim.gif', 'icon_question.gif', 'icon_idea.gif', 'icon_arrow.gif', 'icon_neutral.gif', 'icon_mrgreen.gif', 'icon_e_ugeek.gif');
@@ -1728,18 +1758,27 @@ function change_database_data($version)
if (file_exists($phpbb_root_path . 'images/smilies/' . $smiley))
{
list($width, $height) = getimagesize($phpbb_root_path . 'images/smilies/' . $smiley);
-
+
$sql = 'UPDATE ' . SMILIES_TABLE . '
SET smiley_width = ' . $width . ', smiley_height = ' . $height . "
WHERE smiley_url = '" . $db->sql_escape($smiley) . "'";
-
+
_sql($sql, $errored, $error_ary);
}
}
-
- // TODO: remove all form token min times
+ $no_updates = false;
+ break;
+
+ case '3.0.1-RC1':
+
+ set_config('referer_validation', '1');
+ set_config('check_attachment_content', '1');
+ set_config('mime_triggers', 'body|head|html|img|plaintext|a href|pre|script|table|title');
+
+ $no_updates = false;
break;
+
}
}