Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drupal 6.26 #43

Merged
merged 21 commits into from May 2, 2012
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
a581901
Merge tag '6.23' of /Users/joshk/pantheon/d.o
Feb 1, 2012
34b5d1e
Issue #1421330 by Albert Volkman, heyrocker: Crosslink cache_set() an…
goba Apr 16, 2012
3eabd1b
Issue #1416212 by pontus_nilsson, ibot: Documentation cleanup for _us…
goba Apr 16, 2012
d82f8e8
Issue #1432708 by scorchio, mkalkbrenner: Expand drupal_goto() docume…
goba Apr 16, 2012
b36bfec
Issue #1436074 by Pat Redmond, tstoeckler, fureigh: Minor documentati…
goba Apr 16, 2012
d8592b2
Issue #1441852 by chris.leversuch, cafuego: Better return value docum…
goba Apr 16, 2012
58f76e6
Issue #300279 by achton, pillarsdotnet, unknownguy: Improve db_query_…
goba Apr 16, 2012
0145eb8
Issue #736556 by Albert Volkman, daniels220, jeckman: Improve theme_l…
goba Apr 16, 2012
744575c
Issue #1446372 by Heine, bserem, champlin: Invalid Unicode code range…
goba Apr 16, 2012
6ea173e
Issue #800968 by JacobSingh, ksenzee, Big Z: Tabledrag.js should not …
goba Apr 16, 2012
0ef4b89
Issue #751578 by xamanu, sanduhrs, Gábor Hojtsy: OpenID realm should …
goba Apr 16, 2012
522dd4b
Issue #655048 by Gábor Hojtsy, gumanist, intuited, Albert Volkman: Pl…
goba Apr 16, 2012
5f6ff33
Issue #784864 by Niklas Fiekas, kbgordon7, rdrh555, lisarex: Link in …
goba Apr 16, 2012
09efe4f
Issue #260934 by catch, ShawnClark, Jody Lynn, Island Usurper, joshmi…
goba Apr 27, 2012
dbf4a60
Issue #1352272 by Albert Volkman, sven.lauer, LSU_JBob: fix phpdoc fo…
goba Apr 27, 2012
ad35cfa
Issue #341588 by voxpelli, mikl, Albert Volkman, dawehner: use the ri…
goba Apr 27, 2012
5e967f4
Issue #183435 by TR, gregmac: make drupal_http_request() more toleran…
goba Apr 27, 2012
79d32fc
Issue #1145700 by jbrown, mr.baileys, joachim: harden link display on…
goba Apr 27, 2012
9260bc4
Drupal 6.26
goba May 2, 2012
a81d5c5
Merge branch 'master' of github.com:pressflow/6
May 2, 2012
249dd9f
Drupal 6.26 release
May 2, 2012
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.txt
@@ -1,3 +1,7 @@
Drupal 6.26, 2012-05-02
----------------------
- Fixed a small number of bugs.
- Made code documentation improvements.


Drupal 6.25, 2012-02-29 Drupal 6.25, 2012-02-29
---------------------- ----------------------
Expand Down
4 changes: 4 additions & 0 deletions includes/cache.inc
Expand Up @@ -9,6 +9,8 @@
* @param $table * @param $table
* The table $table to store the data in. Valid core values are 'cache_filter', * The table $table to store the data in. Valid core values are 'cache_filter',
* 'cache_menu', 'cache_page', or 'cache' for the default cache. * 'cache_menu', 'cache_page', or 'cache' for the default cache.
*
* @see cache_set()
*/ */
function cache_get($cid, $table = 'cache') { function cache_get($cid, $table = 'cache') {
global $user; global $user;
Expand Down Expand Up @@ -97,6 +99,8 @@ function cache_get($cid, $table = 'cache') {
* the given time, after which it behaves like CACHE_TEMPORARY. * the given time, after which it behaves like CACHE_TEMPORARY.
* @param $headers * @param $headers
* A string containing HTTP header information for cached pages. * A string containing HTTP header information for cached pages.
*
* @see cache_get()
*/ */
function cache_set($cid, $data, $table = 'cache', $expire = CACHE_PERMANENT, $headers = NULL) { function cache_set($cid, $data, $table = 'cache', $expire = CACHE_PERMANENT, $headers = NULL) {
$serialized = 0; $serialized = 0;
Expand Down
15 changes: 9 additions & 6 deletions includes/common.inc
Expand Up @@ -291,7 +291,8 @@ function drupal_get_destination() {
* @param $path * @param $path
* A Drupal path or a full URL. * A Drupal path or a full URL.
* @param $query * @param $query
* A query string component, if any. * A URL-encoded query string to append to the link, or an array of query
* key/value-pairs without any URL-encoding. Passed to url().
* @param $fragment * @param $fragment
* A destination fragment identifier (named anchor). * A destination fragment identifier (named anchor).
* @param $http_response_code * @param $http_response_code
Expand Down Expand Up @@ -572,8 +573,10 @@ function drupal_http_request($url, $headers = array(), $method = 'GET', $data =
} }
fclose($fp); fclose($fp);


// Parse response. // Parse response headers from the response body.
list($split, $result->data) = explode("\r\n\r\n", $response, 2); // Be tolerant of malformed HTTP responses that separate header and body with
// \n\n or \r\r instead of \r\n\r\n. See http://drupal.org/node/183435
list($split, $result->data) = preg_split("/\r\n\r\n|\n\n|\r\r/", $response, 2);
$split = preg_split("/\r\n|\n|\r/", $split); $split = preg_split("/\r\n|\n|\r/", $split);


list($protocol, $code, $status_message) = explode(' ', trim(array_shift($split)), 3); list($protocol, $code, $status_message) = explode(' ', trim(array_shift($split)), 3);
Expand Down Expand Up @@ -653,7 +656,7 @@ function drupal_error_handler($errno, $message, $filename, $line, $context) {
return; return;
} }


if ($errno & (E_ALL ^ E_DEPRECATED)) { if ($errno & (E_ALL ^ E_DEPRECATED ^ E_NOTICE)) {
$types = array(1 => 'error', 2 => 'warning', 4 => 'parse error', 8 => 'notice', 16 => 'core error', 32 => 'core warning', 64 => 'compile error', 128 => 'compile warning', 256 => 'user error', 512 => 'user warning', 1024 => 'user notice', 2048 => 'strict warning', 4096 => 'recoverable fatal error'); $types = array(1 => 'error', 2 => 'warning', 4 => 'parse error', 8 => 'notice', 16 => 'core error', 32 => 'core warning', 64 => 'compile error', 128 => 'compile warning', 256 => 'user error', 512 => 'user warning', 1024 => 'user notice', 2048 => 'strict warning', 4096 => 'recoverable fatal error');


// For database errors, we want the line number/file name of the place that // For database errors, we want the line number/file name of the place that
Expand Down Expand Up @@ -2539,8 +2542,8 @@ function drupal_to_js($var) {
* (optional) If set, the variable will be converted to JSON and output. * (optional) If set, the variable will be converted to JSON and output.
*/ */
function drupal_json($var = NULL) { function drupal_json($var = NULL) {
// We are returning JavaScript, so tell the browser. // We are returning JSON, so tell the browser.
drupal_set_header('Content-Type: text/javascript; charset=utf-8'); drupal_set_header('Content-Type: application/json');


if (isset($var)) { if (isset($var)) {
echo drupal_to_js($var); echo drupal_to_js($var);
Expand Down
5 changes: 3 additions & 2 deletions includes/database.mysql-common.inc
Expand Up @@ -26,8 +26,9 @@
* and TRUE values to decimal 1. * and TRUE values to decimal 1.
* *
* @return * @return
* A database query result resource, or FALSE if the query was not * Successful SELECT, SHOW, DESCRIBE, EXPLAIN, or other queries which return a
* executed correctly. * set of results will return a database query result resource. Other
* successful queries will return TRUE and failing queries will return FALSE.
*/ */
function db_query($query) { function db_query($query) {
$args = func_get_args(); $args = func_get_args();
Expand Down
10 changes: 5 additions & 5 deletions includes/database.mysql.inc
Expand Up @@ -211,7 +211,7 @@ function db_fetch_array($result) {
* *
* @param $result * @param $result
* A database query result resource, as returned from db_query(). * A database query result resource, as returned from db_query().
* *
* @return * @return
* The resulting field or FALSE. * The resulting field or FALSE.
*/ */
Expand Down Expand Up @@ -334,9 +334,9 @@ function db_query_range_slave($query) {
/** /**
* Runs a SELECT query and stores its results in a temporary table. * Runs a SELECT query and stores its results in a temporary table.
* *
* Use this as a substitute for db_query() when the results need to stored * Use this as a substitute for db_query() when the results need to be stored
* in a temporary table. Temporary tables exist for the duration of the page * in a temporary table.
* request. *
* User-supplied arguments to the query should be passed in as separate parameters * User-supplied arguments to the query should be passed in as separate parameters
* so that they can be properly escaped to avoid SQL injection attacks. * so that they can be properly escaped to avoid SQL injection attacks.
* *
Expand All @@ -355,10 +355,10 @@ function db_query_range_slave($query) {
* *
* NOTE: using this syntax will cast NULL and FALSE values to decimal 0, * NOTE: using this syntax will cast NULL and FALSE values to decimal 0,
* and TRUE values to decimal 1. * and TRUE values to decimal 1.
*
* @param $table * @param $table
* The name of the temporary table to select into. This name will not be * The name of the temporary table to select into. This name will not be
* prefixed as there is no risk of collision. * prefixed as there is no risk of collision.
*
* @return * @return
* A database query result resource, or FALSE if the query was not executed * A database query result resource, or FALSE if the query was not executed
* correctly. * correctly.
Expand Down
8 changes: 4 additions & 4 deletions includes/database.mysqli.inc
Expand Up @@ -334,9 +334,9 @@ function db_query_range_slave($query) {
/** /**
* Runs a SELECT query and stores its results in a temporary table. * Runs a SELECT query and stores its results in a temporary table.
* *
* Use this as a substitute for db_query() when the results need to stored * Use this as a substitute for db_query() when the results need to be stored
* in a temporary table. Temporary tables exist for the duration of the page * in a temporary table.
* request. *
* User-supplied arguments to the query should be passed in as separate parameters * User-supplied arguments to the query should be passed in as separate parameters
* so that they can be properly escaped to avoid SQL injection attacks. * so that they can be properly escaped to avoid SQL injection attacks.
* *
Expand All @@ -355,10 +355,10 @@ function db_query_range_slave($query) {
* *
* NOTE: using this syntax will cast NULL and FALSE values to decimal 0, * NOTE: using this syntax will cast NULL and FALSE values to decimal 0,
* and TRUE values to decimal 1. * and TRUE values to decimal 1.
*
* @param $table * @param $table
* The name of the temporary table to select into. This name will not be * The name of the temporary table to select into. This name will not be
* prefixed as there is no risk of collision. * prefixed as there is no risk of collision.
*
* @return * @return
* A database query result resource, or FALSE if the query was not executed * A database query result resource, or FALSE if the query was not executed
* correctly. * correctly.
Expand Down
8 changes: 4 additions & 4 deletions includes/database.pgsql.inc
Expand Up @@ -345,9 +345,9 @@ function db_query_range_slave($query) {
/** /**
* Runs a SELECT query and stores its results in a temporary table. * Runs a SELECT query and stores its results in a temporary table.
* *
* Use this as a substitute for db_query() when the results need to stored * Use this as a substitute for db_query() when the results need to be stored
* in a temporary table. Temporary tables exist for the duration of the page * in a temporary table.
* request. *
* User-supplied arguments to the query should be passed in as separate parameters * User-supplied arguments to the query should be passed in as separate parameters
* so that they can be properly escaped to avoid SQL injection attacks. * so that they can be properly escaped to avoid SQL injection attacks.
* *
Expand All @@ -366,10 +366,10 @@ function db_query_range_slave($query) {
* *
* NOTE: using this syntax will cast NULL and FALSE values to decimal 0, * NOTE: using this syntax will cast NULL and FALSE values to decimal 0,
* and TRUE values to decimal 1. * and TRUE values to decimal 1.
*
* @param $table * @param $table
* The name of the temporary table to select into. This name will not be * The name of the temporary table to select into. This name will not be
* prefixed as there is no risk of collision. * prefixed as there is no risk of collision.
*
* @return * @return
* A database query result resource, or FALSE if the query was not executed * A database query result resource, or FALSE if the query was not executed
* correctly. * correctly.
Expand Down
9 changes: 7 additions & 2 deletions includes/form.inc
Expand Up @@ -305,6 +305,11 @@ function drupal_execute($form_id, &$form_state) {


$form = call_user_func_array('drupal_retrieve_form', $args); $form = call_user_func_array('drupal_retrieve_form', $args);
$form['#post'] = $form_state['values']; $form['#post'] = $form_state['values'];

// Reset form validation.
$form_state['must_validate'] = TRUE;
form_set_error(NULL, '', TRUE);

drupal_prepare_form($form_id, $form, $form_state); drupal_prepare_form($form_id, $form, $form_state);
drupal_process_form($form_id, $form, $form_state); drupal_process_form($form_id, $form, $form_state);
} }
Expand Down Expand Up @@ -575,7 +580,7 @@ function drupal_prepare_form($form_id, &$form, &$form_state) {
function drupal_validate_form($form_id, $form, &$form_state) { function drupal_validate_form($form_id, $form, &$form_state) {
static $validated_forms = array(); static $validated_forms = array();


if (isset($validated_forms[$form_id])) { if (isset($validated_forms[$form_id]) && empty($form_state['must_validate'])) {
return; return;
} }


Expand Down Expand Up @@ -2437,7 +2442,7 @@ function form_clean_id($id = NULL, $flush = FALSE) {
* clean code independence, ensuring that several batches submitted by * clean code independence, ensuring that several batches submitted by
* different parts of the code (core / contrib modules) can be processed * different parts of the code (core / contrib modules) can be processed
* correctly while not interfering or having to cope with each other. Each * correctly while not interfering or having to cope with each other. Each
* batch set gets to specify his own UI messages, operates on its own set * batch set gets to specify its own UI messages, operates on its own set
* of operations and results, and triggers its own 'finished' callback. * of operations and results, and triggers its own 'finished' callback.
* Batch sets are processed sequentially, with the progress bar starting * Batch sets are processed sequentially, with the progress bar starting
* fresh for every new set. * fresh for every new set.
Expand Down
5 changes: 1 addition & 4 deletions includes/locale.inc
Expand Up @@ -1293,14 +1293,11 @@ function _locale_import_one_string($op, $value = NULL, $mode = NULL, $lang = NUL
// data untouched or if we don't have an existing plural formula. // data untouched or if we don't have an existing plural formula.
$header = _locale_import_parse_header($value['msgstr']); $header = _locale_import_parse_header($value['msgstr']);


// Get the plural formula and update in database. // Get and store the plural formula if available.
if (isset($header["Plural-Forms"]) && $p = _locale_import_parse_plural_forms($header["Plural-Forms"], $file->filename)) { if (isset($header["Plural-Forms"]) && $p = _locale_import_parse_plural_forms($header["Plural-Forms"], $file->filename)) {
list($nplurals, $plural) = $p; list($nplurals, $plural) = $p;
db_query("UPDATE {languages} SET plurals = %d, formula = '%s' WHERE language = '%s'", $nplurals, $plural, $lang); db_query("UPDATE {languages} SET plurals = %d, formula = '%s' WHERE language = '%s'", $nplurals, $plural, $lang);
} }
else {
db_query("UPDATE {languages} SET plurals = %d, formula = '%s' WHERE language = '%s'", 0, '', $lang);
}
} }
$headerdone = TRUE; $headerdone = TRUE;
} }
Expand Down
18 changes: 15 additions & 3 deletions includes/theme.inc
Expand Up @@ -1191,12 +1191,24 @@ function theme_status_messages($display = NULL) {
} }


/** /**
* Return a themed set of links. * Returns HTML for a set of links.
* *
* @param $links * @param $links
* A keyed array of links to be themed. * An associative array of links to be themed. The key for each link
* is used as its CSS class. Each link should be itself an array, with the
* following elements:
* - title: The link text.
* - href: The link URL. If omitted, the 'title' is shown as a plain text
* item in the links list.
* - html: (optional) Whether or not 'title' is HTML. If set, the title
* will not be passed through check_plain().
* - attributes: (optional) Attributes for the anchor, or for the <span> tag
* used in its place if no 'href' is supplied.
* If the 'href' element is supplied, the entire link array is passed to l()
* as its $options parameter.
* @param $attributes * @param $attributes
* A keyed array of attributes * An associative array of attributes for the UL containing the list of links.
*
* @return * @return
* A string containing an unordered list of links. * A string containing an unordered list of links.
*/ */
Expand Down
2 changes: 1 addition & 1 deletion misc/tabledrag.js
Expand Up @@ -1014,7 +1014,7 @@ Drupal.tableDrag.prototype.row.prototype.findSiblings = function(rowSettings) {
var siblings = new Array(); var siblings = new Array();
var directions = new Array('prev', 'next'); var directions = new Array('prev', 'next');
var rowIndentation = this.indents; var rowIndentation = this.indents;
for (var d in directions) { for (var d = 0; d < directions.length; d++) {
var checkRow = $(this.element)[directions[d]](); var checkRow = $(this.element)[directions[d]]();
while (checkRow.length) { while (checkRow.length) {
// Check that the sibling contains a similar target field. // Check that the sibling contains a similar target field.
Expand Down
2 changes: 1 addition & 1 deletion modules/dblog/dblog.admin.inc
Expand Up @@ -79,7 +79,7 @@ function dblog_overview() {
format_date($dblog->timestamp, 'small'), format_date($dblog->timestamp, 'small'),
l(truncate_utf8(_dblog_format_message($dblog), 56, TRUE, TRUE), 'admin/reports/event/'. $dblog->wid, array('html' => TRUE)), l(truncate_utf8(_dblog_format_message($dblog), 56, TRUE, TRUE), 'admin/reports/event/'. $dblog->wid, array('html' => TRUE)),
theme('username', $dblog), theme('username', $dblog),
$dblog->link, filter_xss($dblog->link),
), ),
// Attributes for tr // Attributes for tr
'class' => "dblog-". preg_replace('/[^a-z]/i', '-', $dblog->type) .' '. $classes[$dblog->severity] 'class' => "dblog-". preg_replace('/[^a-z]/i', '-', $dblog->type) .' '. $classes[$dblog->severity]
Expand Down
6 changes: 4 additions & 2 deletions modules/openid/openid.module
Expand Up @@ -501,6 +501,8 @@ function openid_association_request($public) {
} }


function openid_authentication_request($claimed_id, $identity, $return_to = '', $assoc_handle = '', $version = 2) { function openid_authentication_request($claimed_id, $identity, $return_to = '', $assoc_handle = '', $version = 2) {
global $base_url;

module_load_include('inc', 'openid'); module_load_include('inc', 'openid');


$ns = ($version == 2) ? OPENID_NS_2_0 : OPENID_NS_1_0; $ns = ($version == 2) ? OPENID_NS_2_0 : OPENID_NS_1_0;
Expand All @@ -514,10 +516,10 @@ function openid_authentication_request($claimed_id, $identity, $return_to = '',
); );


if ($version == 2) { if ($version == 2) {
$request['openid.realm'] = url('', array('absolute' => TRUE)); $request['openid.realm'] = $base_url . '/';
} }
else { else {
$request['openid.trust_root'] = url('', array('absolute' => TRUE)); $request['openid.trust_root'] = $base_url . '/';
} }


// Simple Registration // Simple Registration
Expand Down
2 changes: 1 addition & 1 deletion modules/search/search.module
Expand Up @@ -43,7 +43,7 @@ define('PREG_CLASS_SEARCH_EXCLUDE',
'\x{2ce5}-\x{2cff}\x{2d6f}\x{2e00}-\x{3005}\x{3007}-\x{303b}\x{303d}-\x{303f}'. '\x{2ce5}-\x{2cff}\x{2d6f}\x{2e00}-\x{3005}\x{3007}-\x{303b}\x{303d}-\x{303f}'.
'\x{3099}-\x{309e}\x{30a0}\x{30fb}\x{30fd}\x{30fe}\x{3190}-\x{319f}\x{31c0}-'. '\x{3099}-\x{309e}\x{30a0}\x{30fb}\x{30fd}\x{30fe}\x{3190}-\x{319f}\x{31c0}-'.
'\x{31cf}\x{3200}-\x{33ff}\x{4dc0}-\x{4dff}\x{a015}\x{a490}-\x{a716}\x{a802}'. '\x{31cf}\x{3200}-\x{33ff}\x{4dc0}-\x{4dff}\x{a015}\x{a490}-\x{a716}\x{a802}'.
'\x{a806}\x{a80b}\x{a823}-\x{a82b}\x{d800}-\x{f8ff}\x{fb1e}\x{fb29}\x{fd3e}'. '\x{a806}\x{a80b}\x{a823}-\x{a82b}\x{e000}-\x{f8ff}\x{fb1e}\x{fb29}\x{fd3e}'.
'\x{fd3f}\x{fdfc}-\x{fe6b}\x{feff}-\x{ff0f}\x{ff1a}-\x{ff20}\x{ff3b}-\x{ff40}'. '\x{fd3f}\x{fdfc}-\x{fe6b}\x{feff}-\x{ff0f}\x{ff1a}-\x{ff20}\x{ff3b}-\x{ff40}'.
'\x{ff5b}-\x{ff65}\x{ff70}\x{ff9e}\x{ff9f}\x{ffe0}-\x{fffd}'); '\x{ff5b}-\x{ff65}\x{ff70}\x{ff9e}\x{ff9f}\x{ffe0}-\x{fffd}');


Expand Down
2 changes: 1 addition & 1 deletion modules/system/system.admin.inc
Expand Up @@ -128,7 +128,7 @@ function system_admin_by_module() {
} }


/** /**
* Menu callback; displays a module's settings page. * Menu callback: Displays the configuration overview page.
*/ */
function system_settings_overview() { function system_settings_overview() {
// Check database setup if necessary // Check database setup if necessary
Expand Down
2 changes: 1 addition & 1 deletion modules/system/system.module
Expand Up @@ -8,7 +8,7 @@
/** /**
* The current system version. * The current system version.
*/ */
define('VERSION', '6.25'); define('VERSION', '6.26');


/** /**
* Core API compatibility. * Core API compatibility.
Expand Down
27 changes: 15 additions & 12 deletions modules/user/user.module
Expand Up @@ -2182,22 +2182,25 @@ function user_preferred_language($account, $default = NULL) {
* @see drupal_mail() * @see drupal_mail()
* *
* @param $op * @param $op
* The operation being performed on the account. Possible values: * The operation being performed on the account. Possible values:
* 'register_admin_created': Welcome message for user created by the admin * - 'register_admin_created': Welcome message for user created by the admin.
* 'register_no_approval_required': Welcome message when user self-registers * - 'register_no_approval_required': Welcome message when user
* 'register_pending_approval': Welcome message, user pending admin approval * self-registers.
* 'password_reset': Password recovery request * - 'register_pending_approval': Welcome message, user pending admin
* 'status_activated': Account activated * approval.
* 'status_blocked': Account blocked * - 'password_reset': Password recovery request.
* 'status_deleted': Account deleted * - 'status_activated': Account activated.
* - 'status_blocked': Account blocked.
* - 'status_deleted': Account deleted.
* *
* @param $account * @param $account
* The user object of the account being notified. Must contain at * The user object of the account being notified. Must contain at
* least the fields 'uid', 'name', and 'mail'. * least the fields 'uid', 'name', and 'mail'.
* @param $language * @param $language
* Optional language to use for the notification, overriding account language. * Optional language to use for the notification, overriding account language.
*
* @return * @return
* The return value from drupal_mail_send(), if ends up being called. * The return value from drupal_mail_send(), if ends up being called.
*/ */
function _user_mail_notify($op, $account, $language = NULL) { function _user_mail_notify($op, $account, $language = NULL) {
// By default, we always notify except for deleted and blocked. // By default, we always notify except for deleted and blocked.
Expand Down
2 changes: 1 addition & 1 deletion update.php
Expand Up @@ -368,7 +368,7 @@ function update_info_page() {
update_task_list('info'); update_task_list('info');
drupal_set_title('Drupal database update'); drupal_set_title('Drupal database update');
$token = drupal_get_token('update'); $token = drupal_get_token('update');
$output = '<p>Use this utility to update your database whenever a new release of Drupal or a module is installed.</p><p>For more detailed information, see the <a href="http://drupal.org/node/258">Installation and upgrading handbook</a>. If you are unsure what these terms mean you should probably contact your hosting provider.</p>'; $output = '<p>Use this utility to update your database whenever a new release of Drupal or a module is installed.</p><p>For more detailed information, see the <a href="http://drupal.org/upgrade">upgrading handbook</a>. If you are unsure what these terms mean you should probably contact your hosting provider.</p>';
$output .= "<ol>\n"; $output .= "<ol>\n";
$output .= "<li><strong>Back up your database</strong>. This process will change your database values and in case of emergency you may need to revert to a backup.</li>\n"; $output .= "<li><strong>Back up your database</strong>. This process will change your database values and in case of emergency you may need to revert to a backup.</li>\n";
$output .= "<li><strong>Back up your code</strong>. Hint: when backing up module code, do not leave that backup in the 'modules' or 'sites/*/modules' directories as this may confuse Drupal's auto-discovery mechanism.</li>\n"; $output .= "<li><strong>Back up your code</strong>. Hint: when backing up module code, do not leave that backup in the 'modules' or 'sites/*/modules' directories as this may confuse Drupal's auto-discovery mechanism.</li>\n";
Expand Down