From 355d25e73d90f3174db459a5a380193e0505ada4 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Wed, 4 Jun 2003 18:24:39 +0000 Subject: - Bugfix: renamed the SQL field 'types' to 'nodes' because 'types' is a reserved keyword in MySQL 4. This fixes critical bug #1618. Patch by Marco. ==> This fix requires to run update.php! - Bugfix: made sessions work without warnings when register_globals is turned off. The solution is to use $_SESSION instead of session_register(). This fixes critical bug #1797. Patch by Marco. - Bugfix: sometimes error messages where being discarded when previewing a node. Patch by Craig Courtney. - Bugfix: fixed charset problems. This fixes critical bug #1549. Patch '0023.charset.patch' by Al. - Code improvements: removed some dead code from the comment module. Patch by Marco. - Documentation improvements: polished the node module help texts and form descriptions. Patch '0019.node.module.help.patch' by Al. - CSS improvements all over the map! Patch '0021.more.css.patch' by Al. - GUI improvements: improved the position of Druplicon in the admin menu. Patch '0020.admin.logo.patch' by Al. - GUI improvements: new logos for theme Marvin and theme UnConeD. Logos by Kristjan Jansen. - GUI improvements: small changes to the output emitted by the profile module. Suggestions by Steven Wittens. - GUI improvements: small fixes to Xtemplate. Patch '0022.xtemplate.css.patch' by Al. TODO: - Some modules such as the buddy list module and the annotation module in the contributions repository are also using session_register(). They should be updated. We should setup a task on Drupal. - There is code emitting '
' which doesn't validate. - Does our XML feeds validate with the charset changes? - The forum module's SQL doesn't work properly on PostgreSQL. --- includes/common.inc | 32 +++++++++++++++----------------- includes/pager.inc | 14 +++++++------- includes/theme.inc | 5 +++-- 3 files changed, 25 insertions(+), 26 deletions(-) (limited to 'includes') diff --git a/includes/common.inc b/includes/common.inc index 532720898..708ee9a39 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -453,11 +453,8 @@ function drupal_goto($url) { */ function referer_save() { - global $referer; - if (!strstr($_SERVER["HTTP_REFERER"], request_uri())) { - $referer = $_SERVER["HTTP_REFERER"]; - session_register("referer"); + $_SESSION["referer"] = $_SERVER["HTTP_REFERER"]; } } @@ -466,10 +463,8 @@ function referer_save() { */ function referer_load() { - global $referer; - - if (session_is_registered("referer")) { - return $referer; + if (isset($_SESSION["referer"])) { + return $_SESSION["referer"]; } else { return 0; @@ -608,12 +603,12 @@ function format_rss_channel($title, $link, $description, $items, $language = "en // arbitrary elements may be added using the $args associative array $output .= "\n"; - $output .= " ". htmlentities(strip_tags($title)) ."\n"; - $output .= " ". htmlentities(strip_tags($link)) ."\n"; - $output .= " ". htmlentities($description) ."\n"; - $output .= " ". htmlentities(strip_tags($language)) ."\n"; + $output .= " ". htmlspecialchars(strip_tags($title)) ."\n"; + $output .= " ". htmlspecialchars(strip_tags($link)) ."\n"; + $output .= " ". htmlspecialchars($description) ."\n"; + $output .= " ". htmlspecialchars(strip_tags($language)) ."\n"; foreach ($args as $key => $value) { - $output .= "<$key>". htmlentities(strip_tags($value)) .""; + $output .= "<$key>". htmlspecialchars(strip_tags($value)) .""; } $output .= $items; $output .= "\n"; @@ -625,11 +620,11 @@ function format_rss_item($title, $link, $description, $args = array()) { // arbitrary elements may be added using the $args associative array $output .= "\n"; - $output .= " ". htmlentities(strip_tags($title)) ."\n"; - $output .= " ". htmlentities(strip_tags($link)) ."\n"; - $output .= " ". htmlentities(check_output($description)) ."\n"; + $output .= " ". htmlspecialchars(strip_tags($title)) ."\n"; + $output .= " ". htmlspecialchars(strip_tags($link)) ."\n"; + $output .= " ". htmlspecialchars(check_output($description)) ."\n"; foreach ($args as $key => $value) { - $output .= "<$key>". htmlentities(strip_tags($value)) .""; + $output .= "<$key>". htmlspecialchars(strip_tags($value)) .""; } $output .= "\n"; @@ -1004,6 +999,9 @@ $conf = variable_init(isset($conf) ? $conf : array()); // set error handler: set_error_handler("error_handler"); +// spit out the correct charset http header +header("Content-Type: text/html; charset=". variable_get("charset", "iso-8859-1")); + // initialize installed modules: module_init(); diff --git a/includes/pager.inc b/includes/pager.inc index f031f3a33..a567499b2 100644 --- a/includes/pager.inc +++ b/includes/pager.inc @@ -31,13 +31,13 @@ function pager_display($tags = "", $limit = 10, $element = 0, $type = "default", function pager_display_default($tags = "", $limit = 10, $element = 0, $attributes = array()) { global $pager_total; if ($pager_total[$element] > $limit) { - $output .= "
"; - $output .= ""; - $output .= ""; - $output .= ""; - $output .= ""; - $output .= ""; - $output .= "
". pager_first(($tags[0] ? $tags[0] : t("first page")), $limit, $element, $attributes) ."". pager_previous(($tags[1] ? $tags[1] : t("previous page")), $limit, $element, 1, $attributes) ."". pager_list($limit, $element, ($tags[2] ? $tags[2] : 9 ), "", $attributes) ."". pager_next(($tags[3] ? $tags[3] : t("next page")), $limit, $element, 1, $attributes) ."". pager_last(($tags[4] ? $tags[4] : t("last page")), $limit, $element, $attributes) ."
"; + $output .= "
"; + $output .= "
". pager_first(($tags[0] ? $tags[0] : t("first page")), $limit, $element, $attributes) ."
"; + $output .= "
". pager_previous(($tags[1] ? $tags[1] : t("previous page")), $limit, $element, 1, $attributes) ."
"; + $output .= "
". pager_list($limit, $element, ($tags[2] ? $tags[2] : 9 ), "", $attributes) ."
"; + $output .= "
". pager_next(($tags[3] ? $tags[3] : t("next page")), $limit, $element, 1, $attributes) ."
"; + $output .= "
". pager_last(($tags[4] ? $tags[4] : t("last page")), $limit, $element, $attributes) ."
"; + $output .= "
"; return $output; } diff --git a/includes/theme.inc b/includes/theme.inc index c410e36a7..dce4cff1b 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -92,7 +92,7 @@ function theme_mark() { ** Return a marker. Used to indicate new comments or required form ** fields. */ - return "*"; + return "*"; } function theme_item_list($items = array(), $title = NULL) { @@ -119,7 +119,7 @@ function theme_error($message) { /* ** Return an error message. */ - return "
$message
"; + return "
$message
"; } function theme_list($refresh = 0) { @@ -144,6 +144,7 @@ function theme_list($refresh = 0) { function theme_head($main = 0) { global $base_url; + $output .= ""; $output .= "\n"; $output .= "