diff --git a/htdocs/admin/boxes.php b/htdocs/admin/boxes.php
index 0ededd403a3..a6910f92347 100644
--- a/htdocs/admin/boxes.php
+++ b/htdocs/admin/boxes.php
@@ -26,7 +26,12 @@ if (!$user->admin)
llxHeader();
-print_titre("Boites affichées");
+print_titre("Boites");
+
+print "
";
+print "Les boites sont des cartouches d'informations réduites qui s'affichent sur certaines pages. Vous pouvez choisir ou non d'activer ces cartouches en ciquant sur 'Ajouter' ou la poubelle pour les désactiver. ";
+print "Seules les boites en rapport avec un module actif sont présentées.
\n";
+
if ($HTTP_POST_VARS["action"] == 'add')
{
@@ -53,53 +58,109 @@ if ($_GET["action"] == 'delete')
}
-/*
- *
- *
- *
- */
+// Définition des positions possibles pour les boites
+$pos_array = array(0); // Positions possibles pour une boite (0,1,2,...)
+$pos_name = array(); // Nom des position 0=Homepage, 1=...
+$pos_name[0]="Homepage";
$boxes = array();
-$pos = array("Homepage");
-print '
';
+/*
+ * Recherche des boites actives par position possible
+ * On stocke les boites actives par $boxes[position][id_boite]=1
+ *
+ */
$sql = "SELECT b.rowid, b.box_id, b.position, d.name FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as d where b.box_id = d.rowid";
$result = $db->query($sql);
-$var=True;
if ($result)
{
$num = $db->num_rows();
$i = 0;
-
+
while ($i < $num)
{
$var = ! $var;
$obj = $db->fetch_object( $i);
-
- print '| '.$obj->name.' | ' . $pos[$obj->position] . ' | ';
- print ''.img_delete().'';
- array_push($boxes, $obj->box_id);
- print ' |
';
+ //print "pos ".$obj->position;
+ $boxes[$obj->position][$obj->box_id]=1;
$i++;
}
}
-print '
';
+$db->free();
+
/*
- *
- *
+ * Boites disponibles
*
*/
-print "";
+print '
';
print_titre("Boites disponibles");
-print '
';
+
+print '';
+print '';
+print '| Boites | ';
+print 'Fichier source | ';
+foreach ($pos_array as $position) {
+ print 'Activation '.$pos_name[$position].' | ';
+}
+print "
\n";
$sql = "SELECT rowid, name, file FROM ".MAIN_DB_PREFIX."boxes_def";
$result = $db->query($sql);
$var=True;
+if ($result)
+{
+ $num = $db->num_rows();
+ $i = 0;
+
+ while ($i < $num)
+ {
+ $var = ! $var;
+ $obj = $db->fetch_object( $i);
+
+ print '| '.$obj->name.' | ' . $obj->file . ' | ';
+
+ // Pour chaque position possible, on affiche un lien
+ // d'activation si boite non deja active pour cette position
+ foreach ($pos_array as $position) {
+ print '';
+ if (! $boxes[$position][$obj->rowid])
+ {
+ print 'Ajouter';
+ }
+ else
+ {
+ print " ";
+ }
+ print ' | ';
+ }
+
+ print '
';
+
+ $i++;
+ }
+}
+$db->free();
+
+print '
';
+
+
+print "
\n";
+print_titre("Boites activées");
+
+print '';
+print '';
+print '| Boites | ';
+print 'Active pour | ';
+print 'Désactiver | ';
+print "
\n";
+
+$sql = "SELECT b.rowid, b.box_id, b.position, d.name FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as d where b.box_id = d.rowid";
+$result = $db->query($sql);
+
if ($result)
{
$num = $db->num_rows();
@@ -110,45 +171,18 @@ if ($result)
$var = ! $var;
$obj = $db->fetch_object( $i);
- print '| '.$obj->name.' | ' . $obj->file . ' | ';
-
- /*
-
- if ($rowid == $obj->rowid && $action == 'edit')
- {
- print '';
- }
- else
- {
- */
- if (! in_array($obj->rowid, $boxes))
- {
- print 'Ajouter';
- }
- else
- {
- print " ";
- }
-
+ print ' |
| '.$obj->name.' | ' . $pos_name[$obj->position] . ' | ';
+ print ''.img_delete().'';
print ' |
';
-
$i++;
}
}
+$db->free();
+
+
print '
';
+
$db->close();
llxFooter();