- Patch #144634 by chx: fixed critical bug that prevented language negotiation to work after/when drupal_goto() is called.

6.x
Dries Buytaert 2007-10-02 16:03:17 +00:00
parent ec75cf33fd
commit c389c90529
12 changed files with 370 additions and 365 deletions

View File

@ -90,7 +90,7 @@ DirectoryIndex index.php
# modify the following line: # modify the following line:
# RewriteBase /drupal # RewriteBase /drupal
# #
# If your site is running in a VirtualDocumentRoot at http://example.com/, # If your site is running in a VirtualDocumentRoot at http://example.com/,
# uncomment the following line: # uncomment the following line:
# RewriteBase / # RewriteBase /

View File

@ -12,7 +12,7 @@ Drupal 6.0, xxxx-xx-xx (development version)
default in the default install profile. default in the default install profile.
* Extended the database log module so log messages can be filtered. * Extended the database log module so log messages can be filtered.
* Added syslog module: useful for monitoring large Drupal installations. * Added syslog module: useful for monitoring large Drupal installations.
- Added optional e-mail notifications when users are approved, blocked, or - Added optional e-mail notifications when users are approved, blocked, or
deleted. deleted.
- Added versioning support to categories by associating them with node - Added versioning support to categories by associating them with node
revisions. revisions.

View File

@ -54,7 +54,7 @@ INSTALLATION
your web server's document root or your public HTML directory: your web server's document root or your public HTML directory:
mv drupal-x.x/* drupal-x.x/.htaccess /var/www/html mv drupal-x.x/* drupal-x.x/.htaccess /var/www/html
If you would like to have the default English interface translated to a If you would like to have the default English interface translated to a
different language, we have good news. You can install and use Drupal in different language, we have good news. You can install and use Drupal in
other languages from the start. Check whether a released package of the other languages from the start. Check whether a released package of the
@ -69,7 +69,7 @@ INSTALLATION
the details you provide through the install process, in the same the details you provide through the install process, in the same
directory. For Drupal to be able to create the file, you need to directory. For Drupal to be able to create the file, you need to
give the web server write privileges to the sites/default directory: give the web server write privileges to the sites/default directory:
chmod o+w default chmod o+w default
3. CREATE THE DRUPAL DATABASE 3. CREATE THE DRUPAL DATABASE
@ -90,7 +90,7 @@ INSTALLATION
To run the install script point your browser to the base url of your website To run the install script point your browser to the base url of your website
(i.e. http://www.example.com). (i.e. http://www.example.com).
You will be guided through several screens to set up the database, You will be guided through several screens to set up the database,
create tables, add the first user account and provide basic web create tables, add the first user account and provide basic web
site settings. site settings.

View File

@ -311,8 +311,8 @@ function drupal_goto($path = '', $query = NULL, $fragment = NULL, $http_response
// data will be written to the database before the header is sent to the // data will be written to the database before the header is sent to the
// browser. // browser.
register_shutdown_function('header', "Location: $url", TRUE, $http_response_code); register_shutdown_function('header', "Location: $url", TRUE, $http_response_code);
// Make sure none of the code below the drupal_goto() call gets executed. // Make sure none of the code below the drupal_goto() call gets executed.
exit(); exit();
} }
@ -1197,6 +1197,8 @@ function format_date($timestamp, $type = 'medium', $format = '', $timezone = NUL
* as in an RSS feed. * as in an RSS feed.
* 'alias' (default FALSE) * 'alias' (default FALSE)
* Whether the given path is an alias already. * Whether the given path is an alias already.
* 'external'
* Whether the given path is an external URL.
* @return * @return
* a string containing a URL to the given path. * a string containing a URL to the given path.
* *
@ -1206,11 +1208,17 @@ function format_date($timestamp, $type = 'medium', $format = '', $timezone = NUL
function url($path = NULL, $options = array()) { function url($path = NULL, $options = array()) {
// Merge in defaults // Merge in defaults
$options += array( $options += array(
'fragment' => '', 'fragment' => '',
'query' => '', 'query' => '',
'absolute' => FALSE, 'absolute' => FALSE,
'alias' => FALSE, 'alias' => FALSE,
); );
if (!isset($options['external'])) {
// Return an external link if $path contains an allowed absolute URL.
// Only call the slow filter_xss_bad_protocol if $path contains a ':' before any / ? or #.
$colonpos = strpos($path, ':');
$options['external'] = ($colonpos !== FALSE && !preg_match('![/?#]!', substr($path, 0, $colonpos)) && filter_xss_bad_protocol($path, FALSE) == check_plain($path));
}
// May need language dependant rewriting if language.inc is present // May need language dependant rewriting if language.inc is present
if (function_exists('language_url_rewrite')) { if (function_exists('language_url_rewrite')) {
@ -1223,10 +1231,7 @@ function url($path = NULL, $options = array()) {
$options['query'] = drupal_query_string_encode($options['query']); $options['query'] = drupal_query_string_encode($options['query']);
} }
// Return an external link if $path contains an allowed absolute URL. if ($options['external']) {
// Only call the slow filter_xss_bad_protocol if $path contains a ':' before any / ? or #.
$colonpos = strpos($path, ':');
if ($colonpos !== FALSE && !preg_match('![/?#]!', substr($path, 0, $colonpos)) && filter_xss_bad_protocol($path, FALSE) == check_plain($path)) {
// Split off the fragment // Split off the fragment
if (strpos($path, '#') !== FALSE) { if (strpos($path, '#') !== FALSE) {
list($path, $old_fragment) = explode('#', $path, 2); list($path, $old_fragment) = explode('#', $path, 2);

View File

@ -100,7 +100,7 @@ function language_url_rewrite(&$path, &$options) {
global $language; global $language;
// Only modify relative (insite) URLs. // Only modify relative (insite) URLs.
if (!$options['absolute']) { if (!$options['external']) {
// Language can be passed as an option, or we go for current language. // Language can be passed as an option, or we go for current language.
$path_language = isset($options['language']) ? $options['language'] : $language; $path_language = isset($options['language']) ? $options['language'] : $language;

4
misc/jquery.js vendored

File diff suppressed because one or more lines are too long

View File

@ -27,11 +27,11 @@ function aggregator_page_source($arg1, $arg2 = NULL) {
$feed = (object)$feed; $feed = (object)$feed;
drupal_set_title(check_plain($feed->title)); drupal_set_title(check_plain($feed->title));
$feed_source = theme('aggregator_feed_source', $feed); $feed_source = theme('aggregator_feed_source', $feed);
// It is safe to include the fid in the query because it's loaded from the // It is safe to include the fid in the query because it's loaded from the
// database by aggregator_feed_load. // database by aggregator_feed_load.
$items = aggregator_feed_items_load('SELECT * FROM {aggregator_item} WHERE fid = '. $feed->fid .' ORDER BY timestamp DESC, iid DESC'); $items = aggregator_feed_items_load('SELECT * FROM {aggregator_item} WHERE fid = '. $feed->fid .' ORDER BY timestamp DESC, iid DESC');
return _aggregator_page_list($items, arg(3), $feed_source); return _aggregator_page_list($items, arg(3), $feed_source);
} }
@ -46,16 +46,16 @@ function aggregator_page_category($arg1, $arg2 = NULL) {
drupal_add_feed(url('aggregator/rss/'. $category['cid']), variable_get('site_name', 'Drupal') .' '. t('aggregator - @title', array('@title' => $category['title']))); drupal_add_feed(url('aggregator/rss/'. $category['cid']), variable_get('site_name', 'Drupal') .' '. t('aggregator - @title', array('@title' => $category['title'])));
// It is safe to include the cid in the query because it's loaded from the // It is safe to include the cid in the query because it's loaded from the
// database by aggregator_category_load. // database by aggregator_category_load.
$items = aggregator_feed_items_load('SELECT i.*, f.title AS ftitle, f.link AS flink FROM {aggregator_category_item} c LEFT JOIN {aggregator_item} i ON c.iid = i.iid LEFT JOIN {aggregator_feed} f ON i.fid = f.fid WHERE cid = '. $category['cid'] .' ORDER BY timestamp DESC, i.iid DESC'); $items = aggregator_feed_items_load('SELECT i.*, f.title AS ftitle, f.link AS flink FROM {aggregator_category_item} c LEFT JOIN {aggregator_item} i ON c.iid = i.iid LEFT JOIN {aggregator_feed} f ON i.fid = f.fid WHERE cid = '. $category['cid'] .' ORDER BY timestamp DESC, i.iid DESC');
return _aggregator_page_list($items, arg(3)); return _aggregator_page_list($items, arg(3));
} }
/** /**
* Load feed items by passing a sql query. * Load feed items by passing a sql query.
*/ */
function aggregator_feed_items_load($sql) { function aggregator_feed_items_load($sql) {
$items = array(); $items = array();
if (isset($sql)) { if (isset($sql)) {
$result = pager_query($sql, 20); $result = pager_query($sql, 20);
@ -82,7 +82,7 @@ function _aggregator_page_list($items, $op, $feed_source = '') {
} }
else { else {
// Assemble themed output. // Assemble themed output.
$output = $feed_source; $output = $feed_source;
foreach ($items as $item) { foreach ($items as $item) {
$output .= theme('aggregator_item', $item); $output .= theme('aggregator_item', $item);
} }
@ -106,7 +106,7 @@ function aggregator_categorize_items($items, $feed_source = '') {
$categories = array(); $categories = array();
$done = FALSE; $done = FALSE;
$form['items'] = array(); $form['items'] = array();
$form['categories'] = array('#tree' => TRUE); $form['categories'] = array('#tree' => TRUE);
foreach ($items as $item) { foreach ($items as $item) {
$form['items'][$item->iid] = array('#value' => theme('aggregator_item', $item)); $form['items'][$item->iid] = array('#value' => theme('aggregator_item', $item));
$form['categories'][$item->iid] = array(); $form['categories'][$item->iid] = array();
@ -285,7 +285,7 @@ function aggregator_page_rss() {
$sql = 'SELECT i.*, f.title AS ftitle, f.link AS flink FROM {aggregator_item} i INNER JOIN {aggregator_feed} f ON i.fid = f.fid ORDER BY i.timestamp DESC, i.iid DESC'; $sql = 'SELECT i.*, f.title AS ftitle, f.link AS flink FROM {aggregator_item} i INNER JOIN {aggregator_feed} f ON i.fid = f.fid ORDER BY i.timestamp DESC, i.iid DESC';
$result = db_query_range($sql, 0, variable_get('feed_default_items', 10)); $result = db_query_range($sql, 0, variable_get('feed_default_items', 10));
} }
while ($item = db_fetch_object($result)) { while ($item = db_fetch_object($result)) {
$feeds[] = $item; $feeds[] = $item;
} }
@ -347,11 +347,11 @@ function aggregator_page_opml($cid = NULL) {
else { else {
$result = db_query('SELECT * FROM {aggregator_feed} ORDER BY title'); $result = db_query('SELECT * FROM {aggregator_feed} ORDER BY title');
} }
while ($item = db_fetch_object($result)) { while ($item = db_fetch_object($result)) {
$feeds[] = $item; $feeds[] = $item;
} }
return theme('aggregator_page_opml', $feeds); return theme('aggregator_page_opml', $feeds);
} }
@ -429,7 +429,7 @@ function template_preprocess_aggregator_summary_item(&$variables) {
*/ */
function template_preprocess_aggregator_feed_source(&$variables) { function template_preprocess_aggregator_feed_source(&$variables) {
$feed = $variables['feed']; $feed = $variables['feed'];
$variables['source_icon'] = theme('feed_icon', $feed->url, t('!title feed', array('!title' => $feed->title))); $variables['source_icon'] = theme('feed_icon', $feed->url, t('!title feed', array('!title' => $feed->title)));
$variables['source_image'] = $feed->image; $variables['source_image'] = $feed->image;
$variables['source_description'] = aggregator_filter_xss($feed->description); $variables['source_description'] = aggregator_filter_xss($feed->description);

View File

@ -25,9 +25,9 @@ function contact_site_page() {
function contact_mail_page() { function contact_mail_page() {
global $user; global $user;
$form = $categories = array(); $form = $categories = array();
$result = db_query('SELECT cid, category, selected FROM {contact} ORDER BY weight, category'); $result = db_query('SELECT cid, category, selected FROM {contact} ORDER BY weight, category');
while ($category = db_fetch_object($result)) { while ($category = db_fetch_object($result)) {
$categories[$category->cid] = $category->category; $categories[$category->cid] = $category->category;

View File

@ -34,7 +34,7 @@ function user_admin($callback_arg = '') {
/** /**
* Form builder; Return form for user administration filters. * Form builder; Return form for user administration filters.
* *
* @ingroup forms * @ingroup forms
* @see user_filter_form_submit(). * @see user_filter_form_submit().
*/ */
@ -486,7 +486,7 @@ function user_admin_settings() {
/** /**
* Menu callback: administer permissions. * Menu callback: administer permissions.
* *
* @ingroup forms * @ingroup forms
* @see user_admin_perm_submit(). * @see user_admin_perm_submit().
* @see theme_user_admin_perm(). * @see theme_user_admin_perm().
@ -611,7 +611,7 @@ function theme_user_admin_perm($form) {
/** /**
* Menu callback: administer roles. * Menu callback: administer roles.
* *
* @ingroup forms * @ingroup forms
* @see user_admin_role_validate(). * @see user_admin_role_validate().
* @see user_admin_role_submit(). * @see user_admin_role_submit().
@ -859,7 +859,7 @@ function user_admin_access_check_submit($form, &$form_state) {
/** /**
* Menu callback: delete an access rule * Menu callback: delete an access rule
* *
* @ingroup forms * @ingroup forms
* @see user_admin_access_delete_confirm_submit(). * @see user_admin_access_delete_confirm_submit().
*/ */
@ -904,7 +904,7 @@ function user_admin_access() {
/** /**
* Theme user administration overview. * Theme user administration overview.
* *
* @ingroup themeable * @ingroup themeable
*/ */
function theme_user_admin_account($form) { function theme_user_admin_account($form) {
@ -973,7 +973,7 @@ function theme_user_admin_new_role($form) {
/** /**
* Theme user administration filter form. * Theme user administration filter form.
* *
* @ingroup themeable * @ingroup themeable
*/ */
function theme_user_filter_form($form) { function theme_user_filter_form($form) {
@ -986,7 +986,7 @@ function theme_user_filter_form($form) {
/** /**
* Theme user administration filter selector. * Theme user administration filter selector.
* *
* @ingroup themeable * @ingroup themeable
*/ */
function theme_user_filters($form) { function theme_user_filters($form) {

View File

@ -1,321 +1,321 @@
/* $Id$ */ /* $Id$ */
html { html {
direction: rtl; direction: rtl;
} }
/** /**
* Markup free clearing * Markup free clearing
* Details: http://www.positioniseverything.net/easyclearing.html * Details: http://www.positioniseverything.net/easyclearing.html
*/ */
.clear-block:after { .clear-block:after {
content: "."; content: ".";
display: block; display: block;
height: 0; height: 0;
clear: both; clear: both;
visibility: hidden; visibility: hidden;
} }
.clear-block { .clear-block {
display: inline-block; display: inline-block;
} }
/* Hides from IE-mac \*/ /* Hides from IE-mac \*/
* html .clear-block { * html .clear-block {
height: 1%; height: 1%;
} }
.clear-block { .clear-block {
display: block; display: block;
} }
/* End hide from IE-mac */ /* End hide from IE-mac */
/** /**
* Generic elements * Generic elements
*/ */
body { body {
direction: rtl; direction: rtl;
} }
ol li, ul li { ol li, ul li {
margin: 0.4em .5em 0.4em 0; margin: 0.4em .5em 0.4em 0;
} }
ul.menu, .item-list ul { ul.menu, .item-list ul {
margin: 0.35em -0.5em 0 0; margin: 0.35em -0.5em 0 0;
} }
ul.menu ul, .item-list ul ul { ul.menu ul, .item-list ul ul {
margin-left: inherit; margin-left: inherit;
margin-right: 0em; margin-right: 0em;
} }
ol li, ul li, ul.menu li, .item-list ul li, li.leaf { ol li, ul li, ul.menu li, .item-list ul li, li.leaf {
margin: 0.15em .5em 0.15em 0; margin: 0.15em .5em 0.15em 0;
} }
ul li, ul.menu li, .item-list ul li, li.leaf { ul li, ul.menu li, .item-list ul li, li.leaf {
padding: 0 1.5em .2em 0; padding: 0 1.5em .2em 0;
background: transparent url("images/menu-leaf.gif") no-repeat 100% .35em; background: transparent url("images/menu-leaf.gif") no-repeat 100% .35em;
} }
ol li { ol li {
margin-left: inherit; margin-left: inherit;
margin-right: 2em; margin-right: 2em;
} }
ul li.expanded { ul li.expanded {
background: transparent url("images/menu-expanded.gif") no-repeat 100% .35em; background: transparent url("images/menu-expanded.gif") no-repeat 100% .35em;
} }
ul li.collapsed { ul li.collapsed {
background: transparent url("images/menu-collapsed-rtl.gif") no-repeat 100% .35em; background: transparent url("images/menu-collapsed-rtl.gif") no-repeat 100% .35em;
} }
ul.inline li { ul.inline li {
padding: 0 0 0 1em; padding: 0 0 0 1em;
} }
ol.task-list { ol.task-list {
margin-left: inherit; margin-left: inherit;
margin-right: 0; margin-right: 0;
} }
ol.task-list li { ol.task-list li {
padding: 0.5em 2em 0.5em 1em; padding: 0.5em 2em 0.5em 1em;
} }
ol.task-list li.active { ol.task-list li.active {
background: transparent url(images/task-list.png) no-repeat 97px 50%; background: transparent url(images/task-list.png) no-repeat 97px 50%;
} }
ol.task-list li.done { ol.task-list li.done {
background: transparent url(../../misc/watchdog-ok.png) no-repeat 100% 50%; background: transparent url(../../misc/watchdog-ok.png) no-repeat 100% 50%;
} }
ol.task-list li.active { ol.task-list li.active {
margin-right: inherit; margin-right: inherit;
margin-left: 1em; margin-left: 1em;
} }
dl { dl {
margin: 0.5em 1.5em 1em 0; margin: 0.5em 1.5em 1em 0;
} }
dl dt { dl dt {
} }
dl dd { dl dd {
margin: 0 1.5em .5em 0; margin: 0 1.5em .5em 0;
} }
.form-button, .form-submit { .form-button, .form-submit {
margin: 2em 0 1em 0.5em; margin: 2em 0 1em 0.5em;
} }
#header-region h2 { #header-region h2 {
margin: 0 0 0 1em; margin: 0 0 0 1em;
} }
#wrapper { #wrapper {
background: #edf5fa url("images/body.png") repeat-x 50% 0; background: #edf5fa url("images/body.png") repeat-x 50% 0;
} }
#wrapper #container #header h1 img { #wrapper #container #header h1 img {
padding-right: inherit; padding-right: inherit;
float: right; float: right;
padding-right: inherit; padding-right: inherit;
padding-left : 20px; padding-left : 20px;
} }
#sidebar-left .block-region { #sidebar-left .block-region {
margin: 0 0 0 15px; margin: 0 0 0 15px;
} }
#sidebar-right .block-region { #sidebar-right .block-region {
margin: 0 15px 0px 0; margin: 0 15px 0px 0;
} }
/* Now we add the backgrounds for the main content shading */ /* Now we add the backgrounds for the main content shading */
#wrapper #container #center #squeeze { #wrapper #container #center #squeeze {
background: #fff url("images/bg-content.png") repeat-x 50% 0; background: #fff url("images/bg-content.png") repeat-x 50% 0;
} }
#wrapper #container .breadcrumb { #wrapper #container .breadcrumb {
position: absolute; position: absolute;
top: 15px; top: 15px;
left: inherit; left: inherit;
right: 35px; right: 35px;
z-index: 3; z-index: 3;
} }
/** /**
* Primary navigation * Primary navigation
*/ */
ul.primary-links { ul.primary-links {
float: left; float: left;
width:70%; width:70%;
} }
ul.primary-links li { ul.primary-links li {
float: right; float: right;
} }
/** /**
* Secondary navigation * Secondary navigation
*/ */
ul.secondary-links { ul.secondary-links {
padding: 20px 0 0; padding: 20px 0 0;
float: left; float: left;
clear: left; clear: left;
} }
ul.secondary-links li { ul.secondary-links li {
float: right; float: right;
} }
ul.primary { ul.primary {
float: right; float: right;
} }
ul.secondary { ul.secondary {
clear: both; clear: both;
text-align: right; text-align: right;
} }
h2.with-tabs { h2.with-tabs {
float: right; float: right;
margin: 0 0 0 2em; margin: 0 0 0 2em;
} }
ul.primary li a, ul.primary li.active a, ul.primary li a:hover, ul.primary li a:visited, ul.primary li a, ul.primary li.active a, ul.primary li a:hover, ul.primary li a:visited,
ul.secondary li a, ul.secondary li.active a, ul.secondary li a:hover, ul.secondary li a:visited { ul.secondary li a, ul.secondary li.active a, ul.secondary li a:hover, ul.secondary li a:visited {
margin: 0 1px 0 0; margin: 0 1px 0 0;
} }
ul.primary li a:after { ul.primary li a:after {
/* Fix Firefox 2 RTL bug. */ /* Fix Firefox 2 RTL bug. */
content: " "; content: " ";
} }
ul.links li, ul.inline li { ul.links li, ul.inline li {
padding-left: 1em; padding-left: 1em;
padding-right: 0; padding-right: 0;
} }
.node .links, .comment .links { .node .links, .comment .links {
text-align: right; text-align: right;
} }
.node .links ul.links li, .comment .links ul.links li {} .node .links ul.links li, .comment .links ul.links li {}
.terms ul.links li { .terms ul.links li {
padding-right: 1em; padding-right: 1em;
padding-left: 0; padding-left: 0;
} }
.picture, .comment .submitted { .picture, .comment .submitted {
padding-left: inherit; padding-left: inherit;
float: left; float: left;
clear: left; clear: left;
padding-right: 1em; padding-right: 1em;
} }
.new { .new {
float: left; float: left;
} }
.terms { .terms {
float: left; float: left;
} }
.indented { .indented {
margin-left: 0; /* an should be inherit, but force left margin to be 0 */ margin-left: 0; /* an should be inherit, but force left margin to be 0 */
margin-right: 25px; margin-right: 25px;
} }
html.js fieldset.collapsible legend a { html.js fieldset.collapsible legend a {
padding-left: inherit; padding-left: inherit;
padding-right: 2em; padding-right: 2em;
background: url("images/menu-expanded.gif") no-repeat 100% 50%; background: url("images/menu-expanded.gif") no-repeat 100% 50%;
} }
html.js fieldset.collapsed legend a { html.js fieldset.collapsed legend a {
background: url("images/menu-collapsed-rtl.gif") no-repeat 100% 50%; background: url("images/menu-collapsed-rtl.gif") no-repeat 100% 50%;
} }
/** /**
* Syndication Block * Syndication Block
*/ */
#block-node-0 h2 { #block-node-0 h2 {
float: right; float: right;
padding-right: inherit; padding-right: inherit;
padding-left: 20px; padding-left: 20px;
} }
#block-node-0 img { #block-node-0 img {
float: left; float: left;
} }
#block-node-0 .content { #block-node-0 .content {
clear: left; clear: left;
} }
/** /**
* Login Block * Login Block
*/ */
#user-login-form ul { #user-login-form ul {
text-align: right; text-align: right;
} }
div.admin .left { div.admin .left {
float: right; float: right;
} }
div.admin .right { div.admin .right {
float: left; float: left;
} }
/* Fix Opera, IE6 and IE7 header width */ /* Fix Opera, IE6 and IE7 header width */
#wrapper #container #header { #wrapper #container #header {
position: relative; position: relative;
width: 100%; width: 100%;
} }
#wrapper #container #header #logo-floater { #wrapper #container #header #logo-floater {
width: 100%; width: 100%;
left: 0; left: 0;
top:0; top:0;
} }
/** /**
* Fixes for IE7 - Does not break other browsers * Fixes for IE7 - Does not break other browsers
*/ */
/* Position:relative on these breaks IE7. */ /* Position:relative on these breaks IE7. */
ul.primary li a, ul.primary li.active a, ul.primary li a:hover, ul.primary li a:visited, ul.primary li a, ul.primary li.active a, ul.primary li a:hover, ul.primary li a:visited,
ul.secondary li a, ul.secondary li.active a, ul.secondary li a:hover, ul.secondary li a:visited { ul.secondary li a, ul.secondary li.active a, ul.secondary li a:hover, ul.secondary li a:visited {
position: static; position: static;
} }
/* Fix right and left cloumns position breaking on window resize */ /* Fix right and left cloumns position breaking on window resize */
#container { #container {
position: relative; position: relative;
} }
#center { #center {
position: relative; position: relative;
} }
#sidebar-right{ #sidebar-right{
position: absolute; position: absolute;
right: 0; right: 0;
} }
/** /**
* Apply hasLayout to elements in IE7, using standard property "min-height" * Apply hasLayout to elements in IE7, using standard property "min-height"
* (see http://www.satzansatz.de/cssd/onhavinglayout.html) * (see http://www.satzansatz.de/cssd/onhavinglayout.html)
*/ */
/* Fix background bleed in center column. */ /* Fix background bleed in center column. */
#squeeze, #squeeze,
#squeeze .right-corner { #squeeze .right-corner {
min-height: 1%; min-height: 1%;
} }

View File

@ -835,7 +835,7 @@ fieldset {
*:first-child+html fieldset > .description, *:first-child+html fieldset .fieldset-wrapper .description { *:first-child+html fieldset > .description, *:first-child+html fieldset .fieldset-wrapper .description {
padding-top: 1em; padding-top: 1em;
} }
fieldset legend { fieldset legend {
/* Fix disappearing legend in FFox */ /* Fix disappearing legend in FFox */
display: block; display: block;
@ -843,7 +843,7 @@ fieldset legend {
*:first-child+html fieldset legend, *:first-child+html fieldset.collapsed legend { *:first-child+html fieldset legend, *:first-child+html fieldset.collapsed legend {
display: inline; display: inline;
} }
html.js fieldset.collapsed { html.js fieldset.collapsed {
background: transparent; background: transparent;

View File

@ -102,11 +102,11 @@ function phptemplate_node_submitted($node) {
*/ */
function phptemplate_get_ie_styles() { function phptemplate_get_ie_styles() {
global $language; global $language;
$iecss = '<link type="text/css" rel="stylesheet" media="all" href="'. base_path() . path_to_theme() .'/fix-ie.css" />'; $iecss = '<link type="text/css" rel="stylesheet" media="all" href="'. base_path() . path_to_theme() .'/fix-ie.css" />';
if (defined('LANGUAGE_RTL') && $language->direction == LANGUAGE_RTL) { if (defined('LANGUAGE_RTL') && $language->direction == LANGUAGE_RTL) {
$iecss .= '<style type="text/css" media="all">@import "'. base_path() . path_to_theme() .'/fix-ie-rtl.css";</style>'; $iecss .= '<style type="text/css" media="all">@import "'. base_path() . path_to_theme() .'/fix-ie-rtl.css";</style>';
} }
return $iecss; return $iecss;
} }