Browse Source

First version for Drupal 5.x

Frederic G. Marand 16 years ago
commit
158a88d13f
7 changed files with 810 additions and 0 deletions
  1. 47 0
      README.txt
  2. 25 0
      admin.theme
  3. 50 0
      image_gallery.tpl.php
  4. 27 0
      node.tpl.php
  5. 101 0
      page.tpl.php
  6. 530 0
      style.css
  7. 30 0
      template.php

+ 47 - 0
README.txt

@@ -0,0 +1,47 @@
+/**
+ * admin: A very limited theme with almost no features, to maximize screen real estate
+ * derived from box_grey
+ *
+ * @version $Id: README.txt,v 1.1 2007-08-20 19:43:07 marand Exp $
+ * @copyright 2006-2007 OSI
+ * @license CeCILL 2.0
+ */
+
+ATTENTION
+=========
+
+Admin est une modification privée OSInet de box_grey pour le compte administrateur
+Il ne doit pas être distribué.
+
+
+box_grey theme for phptemplate on Drupal
+----------------------------------------
+
+box_ is intended to be relatively easy to modify for those that aren't competent in css positioning. Instead of using entirely CSS for layout it is a so called hybrid layout - it uses CSS combined with very simple tables.
+
+It is a standard three column layout using a table for the central three columns with a header above the table and a footer below. This reduces accessibility and adds a little code bloat but has certain advantages:
+- the content columns won't overlap if a user inserts wide content
+- the content appears in the template (page.tpl.php) in the order it appears on the page
+- you can add any sized logo image, the header should expand to fit.
+
+*NOTE for those upgrading*
+As of 2006.01.09 the stylesheet has been radically reworked. The colour and border declarations have been merged with those for layout and are no longer clustered at the top of the stylesheet.
+
+Author
+------
+adrinux (aka Adrian Simmons)
+mailto: adrinux@gmail.com
+IM: perlucida
+
+Known Problems
+--------------
+IE5win
+  - Places calendar block right margin a few pixels outside the viewport.
+  - Gets the padding/margin on menu elements a little wrong, but not unusably so.
+
+IE5mac
+  - Has some problems with user pictures enabled, it may (somewhat randomly) increase the left margin on the node content text to match the right margin of the picture.
+  - Doesn't honour the styles for links with class="active", these should be pale grey.
+
+Everything
+  - Fixed width content like the form textareas in the central column can make the sidebars shrink if the browser window is narrow. Again, this looks a little odd but remains perfectly useable.

+ 25 - 0
admin.theme

@@ -0,0 +1,25 @@
+<?php
+/**
+ * admin: A very limited theme with almost no features, to maximize screen real estate
+ *
+ * @version $Id: admin.theme,v 1.1 2007-08-20 19:43:07 marand Exp $
+ * @copyright 2006-2007 OSI
+ * @license CeCILL 2.0
+ */
+
+function admin_settings()
+  {
+  $title = t('Extended settings for theme %theme', array('%theme' => 'admin'));
+  drupal_set_title($title);
+  $form = array();
+
+  $form['admin_background'] = array
+    (
+    '#type'          => 'textfield',
+    '#title'         => t('background-color'),
+    '#default_value' => variable_get('admin_background', 'transparent'),
+    '#description'   => t('CSS string for a background color. It will be applied to nodes.'),
+    );
+
+  return system_settings_form('admin_admin_settings', $form);
+  }

+ 50 - 0
image_gallery.tpl.php

@@ -0,0 +1,50 @@
+<?php
+/**
+ * admin: A very limited theme with almost no features, to maximize screen real estate
+ *
+ * @version $Id: image_gallery.tpl.php,v 1.1 2007-08-20 19:43:07 marand Exp $
+ * @copyright 2006-2007 OSI
+ * @license CeCILL 2.0
+ */
+
+  // We'll add height to keep thumbnails lined up.
+  $size = _image_get_dimensions('thumbnail');
+  $width = $size['width'];
+  $height = $size['height'];
+  $content = '';
+  if (count($galleries)) {
+    $content.= '<ul class="galleries">';
+    foreach ($galleries as $gallery) {
+      $content .= '<li>';
+      if ($gallery->count)
+      $content.= "<h3>".l($gallery->name, 'image/tid/'.$gallery->tid) . "</h3>\n";
+      $content.= '<div class="description">'. l(image_display($gallery->latest, 'thumbnail'), 'image/tid/'.$gallery->tid, array(), NULL, NULL, FALSE, TRUE) . check_markup($gallery->description) ."</div>\n";
+      $content.= '<p class="count">' . format_plural($gallery->count, 'There is %count image in this gallery', 'There are %count images in this gallery') . "</p>\n";
+      if ($gallery->latest->changed) {
+        $content.= '<p class="last">'. t('Last updated: %date', array('%date' => format_date($gallery->latest->changed))) . "</p>\n";
+      }
+      $content.= "</li>\n";
+    }
+  }
+  if (count($images)) {
+    $height += 5;
+    $content= '<ul class="images">';
+    foreach ($images as $image) {
+      $content .= '<li';
+      if ($image->sticky) {
+        $content .= ' class="sticky"';
+      }
+      $content .= ">\n";
+      $content .= l(image_display($image, 'thumbnail'), 'node/'.$image->nid, array(), NULL, NULL, FALSE, TRUE);
+      $content .= "</li>\n";
+    }
+  }
+    $content.= "</ul>\n";
+  if ($pager = theme('pager', NULL, variable_get('image_images_per_page', 6), 0)) {
+    $content.= $pager;
+  }
+  If (count($images) + count($galleries) == 0) {
+      $content.= '<p class="count">' . format_plural(0, 'There is %count image in this gallery', 'There are %count images in this gallery') . "</p>\n";
+  }
+  print $content;
+ ?>

+ 27 - 0
node.tpl.php

@@ -0,0 +1,27 @@
+<?php
+/**
+ * admin: A very limited theme with almost no features, to maximize screen real estate
+ *
+ * @version $Id: node.tpl.php,v 1.1 2007-08-20 19:43:07 marand Exp $
+ * @copyright 2006-2007 OSI
+ * @license CeCILL 2.0
+ */
+?><div style="background-color: <?php print variable_get('admin_background', 'transparent'); ?> ! important" class="node<?php print ($sticky) ? " sticky" : ""; ?>">
+  <?php if ($page == 0): ?>
+    <h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
+  <?php endif; ?>
+  <?php print $picture ?>
+  <div class="info"><?php print $submitted ?></div>
+  <div class="content">
+  <?php print $content ?>
+  </div>
+<?php if ($links): ?>
+    <?php if ($picture): ?>
+      <br class='clear' />
+    <?php endif; ?>
+  <div class="links"><?php print $links ?></div>
+<?php endif; ?>
+<?php if ($terms): ?>
+  <div class="terms">( categories: <?php print $terms ?> )</div>
+<?php endif; ?>
+</div>

+ 101 - 0
page.tpl.php

@@ -0,0 +1,101 @@
+<?php
+/**
+ * admin: A very limited theme with almost no features, to maximize screen real estate
+ *
+ * @version $Id: page.tpl.php,v 1.1 2007-08-20 19:43:07 marand Exp $
+ * @copyright 2006-2007 OSI
+ * @license CeCILL 2.0
+ */
+?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="<?php print $language ?>" xml:lang="<?php print $language ?>">
+<head>
+  <title><?php print $head_title ?></title>
+  <meta http-equiv="Content-Style-Type" content="text/css" />
+  <?php print $head ?>
+  <?php print $styles ?>
+</head>
+<body <?php print theme("onload_attribute"); ?>>
+<div id="header" class="clear-block">
+  <?php print $search_box ?>
+  <?php if ($logo) : ?>
+  <a href="<?php print url() ?>" title="Index Page"><img src="<?php print($logo) ?>" alt="Logo" /></a>
+  <?php endif; ?>
+  <?php if ($site_name) : ?>
+    <h1 id="site-name"><a href="<?php print url() ?>" title="Index Page"><?php print($site_name) ?></a></h1>
+  <?php endif;?>
+  <?php if ($site_slogan) : ?>
+    <span id="site-slogan"><?php print($site_slogan) ?></span>
+  <?php endif;?>
+  <?php print $header ?>
+  <?php if ($top_menu) { ?>
+  <div id="top_menu" class="clear-block">
+    <?php print $top_menu ; ?>
+    </div>
+<?php } ?>
+</div>
+<div id="top-nav">
+  <?php if (count($secondary_links)) : ?>
+    <ul id="secondary">
+    <?php foreach ($secondary_links as $link): ?>
+      <li><?php print $link?></li>
+    <?php endforeach; ?>
+    </ul>
+  <?php endif; ?>
+  <?php if (count($primary_links)) : /* changement en D5 ? */ ?>
+    <ul id="primary">
+    <?php foreach ($primary_links as $link): ?>
+      <li><?php print $link?></li>
+    <?php endforeach; ?>
+    </ul>
+  <?php endif; ?>
+</div>
+<table id="content">
+  <tr>
+    <?php if ($sidebar_left != ""): ?>
+      <td class="sidebar" id="sidebar-left">
+        <?php print $sidebar_left ?>
+      </td>
+    <?php endif; ?>
+        <td class="main-content" id="content-<?php print $layout ?>">
+        <?php if ($title != ""): ?>
+          <h2 class="content-title"><?php print $title ?></h2>
+        <?php endif; ?>
+        <?php if ($tabs != ""): ?>
+          <?php print $tabs ?>
+        <?php endif; ?>
+
+        <?php if ($mission != ""): ?>
+          <div id="mission"><?php print $mission ?></div>
+        <?php endif; ?>
+
+        <?php if ($help != ""): ?>
+          <p id="help"><?php print $help ?></p>
+        <?php endif; ?>
+
+        <?php if ($messages != ""): ?>
+          <div id="message"><?php print $messages ?></div>
+        <?php endif; ?>
+
+        <!-- start main content -->
+        <?php print($content) ?>
+        <!-- end main content -->
+        </td><!-- mainContent -->
+    <?php if ($sidebar_right != ""): ?>
+    <td class="sidebar" id="sidebar-right">
+        <?php print $sidebar_right ?>
+    </td>
+    <?php endif; ?>
+  </tr>
+</table>
+<?php print $breadcrumb ?>
+<div id="footer">
+  <?php if ($footer_message) : ?>
+    <p><?php print $footer_message;?></p>
+  <?php endif; ?>
+Validate <a href="http://validator.w3.org/check/referer">XHTML</a> or <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a>.
+</div><!-- footer -->
+ <?php print $closure;?>
+  </body>
+</html>
+

+ 530 - 0
style.css

@@ -0,0 +1,530 @@
+/**
+ * admin: A very limited theme with almost no features, to maximize screen real estate
+ *
+ * @version $Id: style.css,v 1.1 2007-08-20 19:43:07 marand Exp $
+ * @copyright 2006-2007 OSI
+ * @license CeCILL 2.0
+ */
+body {
+  color: #000;
+  background: #fff;
+  font-family: Verdana, Helvetica, Arial, Lucida, sans-serif;
+  font-size: 84%;
+  padding: 0;
+  margin: 0;
+}
+h1 { font-size: 1.3em; }
+h2 { font-size: 1.1em; }
+h3 { font-size: 1em; font-weight: bold;}
+h4, h5, h6 { font-size: 0.9em; font-weight: bold;}
+h1, h2, h3, h4, h5, h6 {
+  font-family: Helvetica, Arial, Lucida, Verdana, sans-serif;
+}
+p, .book .body {
+  padding: 0 0 0.5em 0;
+  margin: 0;
+  text-indent: 1.6em;
+  font-size: 1em;
+  line-height: 1.6em;
+}
+code
+  {
+  font-size: 1em;
+  font-family: Profont, 'lucida console', 'Courier New', Monaco, monospace;
+  background-color: #f0fff0;
+  padding: 0.1em 0.3em;
+  }
+pre {
+  background: #ddd;
+  border: 1px solid #aaa;
+  padding: 0.75em 1.5em;
+  font-size: 12px;
+}
+a { text-decoration: none; }
+a, a:link { color: #333; }
+a:visited { color: #777; }
+a:hover, a:focus { color: #03f; }
+a:active { color: #606; }
+form {
+  padding: 0;
+  margin: 0;
+}
+blockquote {
+  border: 1px 0px #ddd solid;
+  margin: 0.5em 1em;
+  padding: 0.3em;
+  font-style: italic;
+}
+img { border: 0; }
+ol, ul, dl { position: relative; }
+#header {
+  position: relative;
+  padding: 1em 0 0 0;
+  margin: 0;
+}
+#header img {
+  margin: 0 0.75em 0 1em;
+  float: left;
+}
+#header a:visited { color: #333; }
+#header a:hover { background: transparent; }
+#site-name {
+  font-size: 2.5em;
+  padding: 25px 0 0.2em 0;
+  margin: 0;
+}
+#site-slogan {
+  color: #999;
+  font-family: Helvetica, Arial, Lucida, Verdana, sans-serif;
+  display: inline;
+  font-weight: bold;
+  font-size : 1.2em;
+  padding: 0 0 0 1.2em;
+  margin: 0;
+}
+#content {
+  width: 100%;
+  margin: 0;
+  padding: 0;
+  font-size: 1em;
+}
+td.main-content {
+  vertical-align: top;
+  padding: 0em 1em;
+}
+td.sidebar {
+  vertical-align: top;
+  padding: 0;
+  width: 200px;
+}
+.sidebar .block {
+  background: #fff;
+  border: solid 1px #999;
+  margin: 0 5px 5px 5px;
+  padding: 0 5px 5px 5px;
+}
+.sidebar .block h2 {
+  padding: 3px 0 0 0;
+  margin: 0;
+  font-size: 1em;
+}
+.sidebar .block h3 {
+  margin: 0 0 0.3em 0;
+}
+.sidebar .block .xml-icon {
+  text-align: center;
+}
+.sidebar .block-search input.form-text {
+  width: 100px;
+  padding: 1px;
+  margin-right: 5px;
+}
+.sidebar .block-search button.form-submit {
+  width: 60px;
+  font-size: 12px;
+}
+.sidebar .block a, .sidebar .block { color: #777; }
+.sidebar .block a:visited, .sidebar .block h2, .sidebar .block h3 { color: #999; }
+.sidebar .block a:hover { color: #03f; }
+.more-link {
+  float: none;
+  text-align: right;
+  font-style: italic;
+}
+.block .more-link a { color: #333; }
+.block .more-link a:hover { color: #03f; }
+.item-list {
+  margin: 0.25em 0 0 0;
+  font-size: 0.9em;
+}
+.item-list ul {
+  list-style: none;
+  margin: 0 0 0.5em 0;
+  padding: 0;
+}
+.item-list ul li {
+  margin: 0 0 0.25em 0;
+  padding: 0 0 0 1em;
+  line-height: 1.3em;
+  list-style: none;
+}
+#search {
+  color: #000;
+  background: #fff;
+  margin: 0;
+  padding: 0;
+  float: right;
+  width: 200px;
+}
+#search .form-text {
+  margin-right: 3px;
+  padding: 3px;
+}
+#search .form-submit {
+  padding: 2px;
+}
+#top-nav {
+  padding: 0;
+  margin: 0 0 1.5em 0;
+  font-family: Helvetica, Arial, Lucida, Verdana, sans-serif;
+}
+#top-nav ul {
+  margin: 0;
+  padding: 2px 0 2px 0;
+}
+#primary {
+  font-size: 1.2em;
+  border-top: solid 1px #999;
+}
+#secondary {
+  text-align: right;
+  font-size: 1.1em;
+}
+#primary li {
+  margin-left: 2px;
+  padding: 0;
+  display: inline;
+  list-style-type: none;
+}
+#secondary li {
+  margin-right: 5px;
+  padding: 0;
+  display: inline;
+  list-style-type: none;
+}
+#primary a {
+  color: #111;
+  font-size: 1.1em;
+  font-weight: bold;
+  margin: 0;
+  padding: 0 3px;
+}
+#primary a:hover { color: #03f; }
+#secondary a {
+  color: #333;
+  font-size: 1em;
+  font-weight: bold;
+  margin: 0;
+  padding: 0;
+}
+#secondary a:hover { color: #03f; }
+#primary a.active, #primary a.active:hover, #secondary a.active, #secondary a.active:hover { color: #ccc; }
+.breadcrumb {
+  padding: 0.5em 1em;
+  font-size: 1em;
+  font-weight: bold;
+  margin: 0;
+  height: 1em;
+}
+.main-content .node .content, .comment .content, .book .body {
+  line-height: 1.5em;
+}
+.main-content .node .content a, .comment .content a, .book .body a { border-bottom: 1px solid; }
+.main-content .node, .book {
+  margin: 0 1em 2em 1em;
+}
+.main-content .content-title {
+  font-size: 2em;
+  margin: 0 0 1.6em 0;
+}
+.main-content .node h2, .main-content h2 {
+  padding: 0;
+  margin: 0 0 0.25em 0;
+  font-size: 1.8em;
+}
+.main-content .node .info {
+  color: #999;
+  padding: 0 0 0.2em 0;
+  margin: 0;
+  font-size: 0.9em;
+}
+.main-content .node .links, .main-content .node .terms {
+  padding: 0;
+  margin: 0;
+  font-size: 0.9em;
+  font-weight: bold;
+}
+.main-content .node .terms {
+  color: #999;
+  font-weight: normal;
+  text-align: right;
+}
+.main-content .sticky {
+  border: 1px solid #eee;
+  padding: 0.5em;
+}
+.links a.read-more {
+  font-style: italic;
+  font-size: 1.2em;
+}
+.main-content .node .content {
+  padding: 0;
+  margin: 0;
+}
+.main-content .node .info, .main-content .node .links, #mission {
+  font-family: Helvetica, Arial, Lucida, Verdana, sans-serif;
+}
+#mission {
+  color: #000;
+  background: #eee;
+  border: solid 1px #999;
+  padding: 5px 10px;
+  margin: 0 0 1.6em 0;
+  font-size: 1.1em;
+  text-indent: 0;
+  width: auto;
+}
+.main-content .box {
+  border: 1px solid #eee;
+  margin-bottom: 0.5em;
+}
+.main-content .box .content {
+  padding: 0.5em;
+}
+.main-content .box h2 {
+  padding: 0.5em;
+  margin: 0;
+  font-size: 1.2em;
+  text-align: left;
+}
+.comment {
+  border-top: solid 1px #eee;
+  border-left: solid 1px #eee;
+  border-right: solid 1px #ccc;
+  border-bottom: solid 1px #ddd;
+  padding: 1em;
+  margin: 1.5em 0;
+}
+.comment-folded {
+  padding: 0.5em;
+  margin: 1.5em 0;
+}
+.comment-new .new {
+  color: #4d0;
+  text-align: right;
+  font-size: 1.1em;
+  display: block;
+  padding-bottom: 0.5em;
+  width: 100%;
+}
+.comment .content, .comment .content p {
+  padding: 0;
+  margin: 0;
+  line-height: 1.6em;
+  text-indent: 0;
+}
+.comment .title, .comment .author, .comment .links {
+  font-family: Helvetica, Arial, Lucida, Verdana, sans-serif;
+}
+.comment .title {
+  font-weight: bold;
+  font-size: 1.1em;
+  padding: 0;
+  margin-bottom: 0.5em;
+}
+.comment .title, .comment .title a.active {
+  color: #444;
+  background: #fff;
+}
+.comment .author {
+  color: #333;
+  font-size: 0.9em;
+  padding: 0.1em 0 0.3em 0.75em;
+}
+.comment .links {
+  color: #333;
+  padding: 0.75em 0 0 0;
+  margin: 0;
+}
+#footer {
+  color: #666;
+  background: #fff;
+  border-top: solid 1px #777;
+  padding: 1em 1em 1em 1em;
+  font-size: 0.9em;
+  text-align: center;
+}
+#footer p {
+  text-indent: 0;
+  margin-bottom: 1em;
+}
+.xml-icon {
+  text-align: center;
+}
+fieldset { border: 1px solid #999; }
+.form-submit {
+  margin: 0;
+}
+.form-item {
+  margin: 3px 0;
+  padding: 0.3em 0;
+}
+.form-radio, .form-checkbox {
+  background: transparent;
+  border: 0;
+}
+.main-content .box .content .form-item textarea {
+  width: auto;
+}
+input.form-text, input.form-password {
+  border: solid 1px #ddd;
+  margin: 0;
+  padding: 0 5px;
+  font-size: 12px;
+}
+input, textarea {
+  background: transparent;
+  color: inherit;
+  border: 1px solid #777;
+}
+input:focus, textarea:focus {
+  background: transparent;
+  border: 1px solid #03f;
+}
+button.form-submit {
+  border: solid 1px #ddd;
+  margin: 0;
+  padding: 0;
+  font-size: 12px;
+}
+h3.form-title {
+  text-align: left;
+}
+form .form-item .title  {
+  border: 0;
+  border-bottom: #ddd solid 1px;
+  color: #777;
+  background: transparent;
+  margin-bottom: 0.5em;
+  padding: 0.3em 0;
+  text-align: left;
+}
+select {
+  background: #eee;
+  color: #000;
+  margin: 1px 5px;
+}
+.container-inline {
+  margin: 0 0 1.6em 0;
+}
+.container-inline div {
+  display: inline;
+}
+#pager {
+  text-align: center;
+}
+#pager div {
+  padding: 0.5em;
+}
+.main-content li {
+  padding-bottom: 0.25em;
+}
+#message {
+  background: #fff;
+  border: 2px solid #6e2;
+  padding: 2em;
+  margin: 1em 2em;
+}
+li.leaf {
+  list-style-type: square;
+}
+div.picture {
+  border: 0;
+  float: left;
+  margin: 0 1em 0.3em 0;
+}
+br.clear {
+  clear: both;
+}
+.breadcrumb, .main-content .content-title, .links a.read-more { color: #111; }
+.links a.read-more:hover { color: #03f; }
+.box { border: 1px solid #eee; }
+.box h2 { color: #999; }
+.marker, .error { color: #f00; }
+.ok { color: #080; }
+.path a, .path a:visited { color: #777; }
+.tabs li .active, .tabs li .active:hover  {
+  color: #ccc;
+  background: #fff;
+}
+
+.calendar td, .calendar th { border-color: #eee; }
+.calendar .day-normal { background: #fff; }
+.calendar .day-future { background: #fff; }
+.calendar .day-today { background: #333; color: #fff; }
+.calendar .day-today a { color: #fff; }
+.calendar .day-selected { background: #555; color: #fff; }
+.calendar .day-link { background: #ddd; color: #fff; }
+
+
+ul.galleries {
+  list-style-type: none;
+  margin: 0;
+  padding: 0;
+}
+
+ul.galleries li {
+  background-color : #eee;
+  border: 1px #ccc solid;
+  margin: 1em 0;
+  padding: 1em;
+}
+
+ul.galleries li img {
+  position: relative;
+  float: left;
+  padding: 0 0.5em 0 0;
+  margin: 0 0.5em 0.5em 0;
+}
+
+ul.galleries li p.count {
+  clear: both;
+}
+
+ul.galleries h3 {
+  font-size: 1.2em;
+  margin : 0 0 0.5em 0;
+  padding : 0;
+}
+
+ul.images {
+  list-style-type : none;
+  margin : 0;
+  padding : 0;
+}
+
+ul.images li {
+  float : left;
+  margin : 1em;
+  height: 130px;
+  width: 130px;
+}
+
+/**
+ * For codefilter.module
+ */
+div.codeblock
+  {
+  background-color: #f0fff0 ! important;  /* default #eee in codefilter.module */
+  }
+
+/**
+ * For nice_menus
+ * It seems to actually work better without this
+#top_menu ul li {
+padding:0;
+margin:0;
+background-position:left;
+position:relative;
+}
+#top_menu ul li a {
+padding:0 1em 0 1.5em;
+}
+#top_menu {
+background-color:#eeeeee;
+}
+#top_menu li a {border-bottom:0.25em solid #cccccc;}
+#top_menu li a.active {background-color:#F5F5F5;border-bottom:0.25em solid #459cce;}
+#top_menu li li a {border-bottom-style:none;}
+
+ ----------- */

+ 30 - 0
template.php

@@ -0,0 +1,30 @@
+<?php
+/**
+ * admin: A very limited theme with almost no features, to maximize screen real estate
+ *
+ * @version $Id: template.php,v 1.1 2007-08-20 19:43:07 marand Exp $
+ * @copyright 2006-2007 OSI
+ * @license CeCILL 2.0
+ */
+function phptemplate_image_gallery($galleries, $images) {
+  return _phptemplate_callback('image_gallery', array('galleries' => $galleries, 'images' => $images));
+}
+
+/**
+ * Définition des régions, incluant les régions
+ * usuelles et le top_menu
+ *
+ * @return array
+ */
+function admin_regions()
+  {
+  return array
+    (
+    'top_menu' => t('top menu'),
+    'left'     => t('left sidebar'),
+    'right'    => t('right sidebar'),
+    'content'  => t('content'),
+    'header'   => t('header'),
+    'footer'   => t('footer'),
+    );
+  }