Commit e62e3417 authored by Steven Wittens's avatar Steven Wittens

Update of the box function in themes to allow a difference in...

Update of the box function in themes to allow a difference in style/output/look of a box() depending on the position on the page.
Basically this is a 'nice version' of a hack that you could do as a theme author.
I've updated all the standard themes, but 3rd party themes will of course have to be updated by their authors, in the following manner:

- Replace the box() declaration:
< function box($subject, $content) {
> function box($subject, $content, $region = "main") {

- Replace the theme_account call:
< theme_account($this);
> theme_account("region", $this);

Note that you'll have to replace "region" with the correct region that the box is placed in. However if you have a one-column theme, you should use "all", and not for example "left" (if all boxes are on the left).
Usually the "region" here should be the same as the nearest theme_blocks() call.

Those theme authors who want to can make boxes that appear in the center look different from those that appear in the sides for example.
parent bab8da02
......@@ -18,7 +18,7 @@ function theme_init() {
return new Theme();
}
function theme_account($theme) {
function theme_account($region, $theme) {
global $user;
if ($user->id) {
......@@ -48,7 +48,7 @@ function theme_account($theme) {
$content .= "<a href=\"account.php?op=logout\">". t("logout") ."</a>\n";
$content .= "</td></tr></table>\n";
$theme->box($user->userid, $content);
$theme->box($user->userid, $content, $region);
}
else {
$output .= "<div align=\"center\">\n";
......@@ -60,7 +60,7 @@ function theme_account($theme) {
$output .= " </form>\n";
$output .= "</div>\n";
$theme->box(t("Login"), $output);
$theme->box(t("Login"), $output, $region);
}
}
......@@ -72,7 +72,7 @@ function theme_blocks($region, $theme) {
case "/node.php":
if ($region != "left") {
if ($user->id) $node = db_fetch_object(db_query("SELECT * FROM node WHERE nid = '$id'"));
if ($node->status == $status[queued]) theme_moderation_results($theme, $node);
if ($node->status == $status[queued]) theme_moderation_results($theme, $node, $region);
}
break;
case "/index.php":
......@@ -80,13 +80,13 @@ function theme_blocks($region, $theme) {
else $result = db_query("SELECT * FROM blocks WHERE status = 2". (($region == "left" || $region == "right") ? ($region == "left" ? " AND region = 0" : " AND region = 1") : "") ." ORDER BY weight");
while ($block = db_fetch_object($result)) {
$blocks = module_invoke($block->module, "block");
$theme->box(t($blocks[$block->offset]["subject"]), $blocks[$block->offset]["content"]);
$theme->box(t($blocks[$block->offset]["subject"]), $blocks[$block->offset]["content"], $region);
}
break;
}
}
function theme_moderation_results($theme, $node) {
function theme_moderation_results($theme, $node, $region) {
foreach (explode(",", $node->users) as $vote) {
if ($vote) {
$data = explode("=", $vote);
......@@ -94,7 +94,7 @@ function theme_moderation_results($theme, $node) {
}
}
$theme->box(t("Moderation results"), ($output ? $output : t("This node has not been moderated yet.")));
$theme->box(t("Moderation results"), ($output ? $output : t("This node has not been moderated yet.")), $region);
}
?>
......@@ -136,7 +136,7 @@ function comment($comment, $link = "") {
echo "</TABLE>";
} // close comment function
function box($subject, $content) {
function box($subject, $content, $region = "main") {
?>
......@@ -169,7 +169,7 @@ function footer() {
global $PHP_SELF;
theme_account($this);
theme_account("right", $this);
theme_blocks("right", $this);
?>
......
......@@ -129,7 +129,7 @@ function stripbreaks($a) { // helper function for generating the javascripted bo
} // close stripbreaks function
function box($subject, $content) {
function box($subject, $content, $region = "main") {
print "<script language=\"JavaScript\"><!--\nb(\"". $this->stripbreaks(addslashes($subject)) ."\",\"". $this->stripbreaks(addslashes($content)) ."\"); // -->\n</script>\n";
} // close box function
......@@ -139,7 +139,7 @@ function footer() {
</td>
<td valign="top">
<?php
theme_account($this);
theme_account("all", $this);
theme_blocks("all", $this);
?>
</td>
......
......@@ -226,7 +226,7 @@ function comment($comment, $link = "") {
} // close comment function
function box($subject, $content) {
function box($subject, $content, $region = "main") {
$img = (rand(0, 50) == 25) ? "boxbottomright2.gif" : "boxbottomright1.gif";
$width = rand(10, 200);
$img2 = (rand(0, 100) == 50) ? "boxtopleftside2.gif" : "boxtopleftside1.gif";
......@@ -296,7 +296,7 @@ function footer() {
global $PHP_SELF;
theme_account($this);
theme_account("right", $this);
theme_blocks("right", $this);
?>
......
......@@ -115,7 +115,7 @@ function comment($comment, $link = "") {
print "<br />\n\n";
}
function box($subject, $content) {
function box($subject, $content, $region = "main") {
print "\n<!-- box: \"$subject\" -->\n";
print "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#000000\" width=\"100%\">\n";
print " <tr>\n";
......@@ -135,7 +135,7 @@ function footer() {
</td>
<td valign="top" width="200">
<?php
theme_account($this);
theme_account("all", $this);
theme_blocks("all", $this);
?>
</tr>
......
......@@ -165,7 +165,7 @@ function comment($comment, $link) {
?></TD></TR></TABLE><BR><?php
}
function box($subject, $content) {
function box($subject, $content, $region = "main") {
?>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" BGCOLOR="<?php echo $this->brcolor1; ?>" WIDTH="100%">
<TR><TD>
......@@ -188,7 +188,7 @@ function footer() {
</TD>
<TD VALIGN="top" WIDTH="20%">
<?php
theme_account($this);
theme_account("all", $this);
theme_blocks("all", $this);
?>
</TD>
......
......@@ -94,7 +94,7 @@ function do_nav() {
<?php
theme_account($this);
theme_account("all", $this);
theme_blocks("all", $this);
?>
......@@ -192,7 +192,7 @@ function comment($comment, $link = "") {
} // close comment function
function box($subject, $content) {
function box($subject, $content, $region = "main") {
switch (rand(0,7)) {
case 0: $img = "square.gif"; break;
......@@ -205,8 +205,7 @@ function box($subject, $content) {
default: $img = "square.gif";
}
?>
?>
<table width="90%" border="0" cellpadding="0" cellspacing="1">
<tr>
<td class="box"><img src="themes/yaroon/images/square.gif" />&nbsp;<b><?php echo $subject; ?></b></td>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment