diff options
-rw-r--r-- | CHANGELOG.txt | 5 | ||||
-rw-r--r-- | includes/bootstrap.inc | 14 | ||||
-rw-r--r-- | includes/theme.inc | 31 | ||||
-rw-r--r-- | themes/chameleon/chameleon.theme | 5 | ||||
-rw-r--r-- | themes/chameleon/common.css | 12 | ||||
-rw-r--r-- | themes/xtemplate/default/xtemplate.css | 2 | ||||
-rw-r--r-- | themes/xtemplate/default/xtemplate.xtmpl | 2 | ||||
-rw-r--r-- | themes/xtemplate/pushbutton/xtemplate.css | 2 | ||||
-rw-r--r-- | themes/xtemplate/pushbutton/xtemplate.xtmpl | 2 | ||||
-rw-r--r-- | themes/xtemplate/xtemplate.theme | 6 |
10 files changed, 56 insertions, 25 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 7ca96fc74..30bc4331e 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -22,11 +22,14 @@ Drupal x.x.x, xxxx-xx-xx * added support for multiple database connections. - theme system: * changed all GIFs to PNGs. +- blocks: + * added 'recent comments' block. + * added 'categories' block. - blogger API: * added support for auto-discovery of blogger API via RSD. - accessibility: * improved the accessibility of the archive module's calendar. - * improved form handling. + * improved form handling and error reporting. Drupal 4.4.2, 2004-07-04 diff --git a/includes/bootstrap.inc b/includes/bootstrap.inc index 968f0d29f..7a4518a51 100644 --- a/includes/bootstrap.inc +++ b/includes/bootstrap.inc @@ -261,12 +261,16 @@ function watchdog($type, $message, $link = NULL) { * @{ */ function drupal_set_message($message = NULL, $type = "status") { - if (!isset($_SESSION['messages'])) { - $_SESSION['messages'] = array(); - } - if (isset($message)) { - $_SESSION['messages'][] = array($message, $type); + if (!isset($_SESSION['messages'])) { + $_SESSION['messages'] = array(); + } + + if (!isset($_SESSION['messages'][$type])) { + $_SESSION['messages'][$type] = array(); + } + + $_SESSION['messages'][$type][] = $message; } return $_SESSION['messages']; diff --git a/includes/theme.inc b/includes/theme.inc index 494ee78b2..c7c7c4887 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -184,6 +184,35 @@ function theme_page($content, $title = NULL, $breadcrumb = NULL) { } /** + * Returns themed set of status and/or error messages. The messages are grouped + * by type. + * + * @return a string containing the messages. + */ +function theme_status_messages() { + if ($data = drupal_get_messages()) { + $output = ''; + foreach ($data as $type => $messages) { + $output .= "<div class=\"messages $type\">\n"; + if (count($messages) > 1) { + $output .= " <ul>\n"; + foreach($messages as $message) { + $output .= " <li>". ucfirst($message) ."</li>\n"; + } + $output .= " </ul>\n"; + } + else { + $output .= ucfirst($messages[0]); + } + $output .= "</div>\n"; + } + + return $output; + } +} + + +/** * Returns themed set of links. * * @param $links an array of @a links to be themed. @@ -283,7 +312,6 @@ function theme_node($node, $main = 0, $page = 0) { function theme_form_element($title, $value, $description = NULL, $id = NULL, $required = FALSE, $error = FALSE) { $output = "<div class=\"form-item\">\n"; - $required = $required ? theme('mark') : ''; if ($title) { @@ -446,6 +474,7 @@ function theme_item_list($items = array(), $title = NULL) { /** * Returns themed error message. + * REMOVE: this function is deprecated an no longer used in core. * * @param $message the error message to be themed. * diff --git a/themes/chameleon/chameleon.theme b/themes/chameleon/chameleon.theme index 3f24f7406..8af17edf0 100644 --- a/themes/chameleon/chameleon.theme +++ b/themes/chameleon/chameleon.theme @@ -77,10 +77,7 @@ function chameleon_page($content, $title = NULL, $breadcrumb = NULL) { $output .= "<div id=\"help\">$help</div><hr />"; } - foreach (drupal_get_messages() as $message) { - list($message, $type) = $message; - $output .= "<div class=\"message $type\">". ucfirst($message) ."</div>"; - } + $output .= theme_status_messages(); $output .= "\n<!-- begin content -->\n"; $output .= $content; diff --git a/themes/chameleon/common.css b/themes/chameleon/common.css index ece5c3ab3..7ed4e4ff8 100644 --- a/themes/chameleon/common.css +++ b/themes/chameleon/common.css @@ -99,17 +99,17 @@ br { .block { width: 180px; } -.message { +.messages { padding: 0.3em; - margin: 1em 0em 1em 0em; + margin: 0.5em 0em 0.5em 0em; } .status { - border: 1px solid #696; - color: #696; + border: 1px solid #3a3; + color: #3a3; } .error, form-item input.error { - border: 1px solid #930; - color: #930; + border: 1px solid red; + color: red; } /* diff --git a/themes/xtemplate/default/xtemplate.css b/themes/xtemplate/default/xtemplate.css index 5e2e7b2c2..8828323a4 100644 --- a/themes/xtemplate/default/xtemplate.css +++ b/themes/xtemplate/default/xtemplate.css @@ -142,7 +142,7 @@ table { .breadcrumb { margin-bottom: .5em; } -.message { +.messages { background-color: #eee; border: 1px solid #ccc; padding: 0.3em; diff --git a/themes/xtemplate/default/xtemplate.xtmpl b/themes/xtemplate/default/xtemplate.xtmpl index c05d34534..e01129a38 100644 --- a/themes/xtemplate/default/xtemplate.xtmpl +++ b/themes/xtemplate/default/xtemplate.xtmpl @@ -53,7 +53,7 @@ <div id="help">{help}</div> <!-- END: help --> <!-- BEGIN: message --> - <div class="message {type}">{message}</div> + {message} <!-- END: message --> <!-- END: header --> diff --git a/themes/xtemplate/pushbutton/xtemplate.css b/themes/xtemplate/pushbutton/xtemplate.css index a78cb095f..cdf464eec 100644 --- a/themes/xtemplate/pushbutton/xtemplate.css +++ b/themes/xtemplate/pushbutton/xtemplate.css @@ -177,7 +177,7 @@ td#home a:hover img { .breadcrumb { margin-bottom: .5em; } -.message { +.messages { background-color: #eee; border: 1px solid #ccc; padding: 0.3em; diff --git a/themes/xtemplate/pushbutton/xtemplate.xtmpl b/themes/xtemplate/pushbutton/xtemplate.xtmpl index f847c51c3..5e148eaac 100644 --- a/themes/xtemplate/pushbutton/xtemplate.xtmpl +++ b/themes/xtemplate/pushbutton/xtemplate.xtmpl @@ -59,7 +59,7 @@ <div id="help">{help}</div> <!-- END: help --> <!-- BEGIN: message --> - <div class="message {type}">{message}</div> + {message} <!-- END: message --> <!-- END: header --> diff --git a/themes/xtemplate/xtemplate.theme b/themes/xtemplate/xtemplate.theme index 60efdeeb5..1ef3a591c 100644 --- a/themes/xtemplate/xtemplate.theme +++ b/themes/xtemplate/xtemplate.theme @@ -164,10 +164,8 @@ function xtemplate_page($content, $title = NULL, $breadcrumb = NULL) { $xtemplate->template->parse("header.help"); } - foreach (drupal_get_messages() as $message) { - list($message, $type) = $message; - $xtemplate->template->assign("message", ucfirst($message)); - $xtemplate->template->assign("type", $type); + if ($message = theme_status_messages()) { + $xtemplate->template->assign("message", $message); $xtemplate->template->parse("header.message"); } |