diff --git a/htdocs/admin/boxes.php b/htdocs/admin/boxes.php index f3eb4debcae..6eac0dca067 100644 --- a/htdocs/admin/boxes.php +++ b/htdocs/admin/boxes.php @@ -21,25 +21,22 @@ */ /** - \file htdocs/admin/boxes.php - \brief Page d'administration/configuration des boites - \version $Revision$ + \file htdocs/admin/boxes.php + \brief Page d'administration/configuration des boites + \version $Revision$ */ require("./pre.inc.php"); - $langs->load("admin"); if (!$user->admin) -accessforbidden(); - + accessforbidden(); // Définition des positions possibles pour les boites $pos_array = array(0); // Positions possibles pour une boite (0,1,2,...) $pos_name = array($langs->trans("Home")); // Nom des positions 0=Homepage, 1=... $boxes = array(); - llxHeader(); print_titre($langs->trans("Boxes")); @@ -53,14 +50,15 @@ print "
".$langs->trans("BoxesDesc")."
\n"; if ($_POST["action"] == 'add') { - $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."boxes WHERE box_id=".$_POST["boxid"]." AND position=".$_POST["pos"]; - $result = $db->query($sql); - - $num = $db->num_rows($result); - if ($num == 0) { - // Si la boite n'est pas deja active - $sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (box_id, position) values (".$_POST["boxid"].",".$_POST["pos"].");"; - $result = $db->query($sql); + $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."boxes WHERE box_id=".$_POST["boxid"]." AND position=".$_POST["pos"]; + $result = $db->query($sql); + + $num = $db->num_rows($result); + if ($num == 0) + { + // Si la boite n'est pas deja active + $sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (box_id, position) values (".$_POST["boxid"].",".$_POST["pos"].");"; + $result = $db->query($sql); } } @@ -72,47 +70,52 @@ if ($_GET["action"] == 'delete') if ($_GET["action"] == 'switch') { - // On permute les valeur du champ box_order des 2 lignes de la table boxes - $db->begin(); + // On permute les valeur du champ box_order des 2 lignes de la table boxes + $db->begin(); - $sql="SELECT box_order FROM ".MAIN_DB_PREFIX."boxes WHERE rowid=".$_GET["switchfrom"]; - $resultfrom = $db->query($sql); - if ($resultfrom) + $sql="SELECT box_order FROM ".MAIN_DB_PREFIX."boxes WHERE rowid=".$_GET["switchfrom"]; + $resultfrom = $db->query($sql); + if ($resultfrom) { - $objfrom = $db->fetch_object($resultfrom); - } else - { - dolibarr_print_error($db); + $objfrom = $db->fetch_object($resultfrom); } - $sql="SELECT box_order FROM ".MAIN_DB_PREFIX."boxes WHERE rowid=".$_GET["switchto"]; - $resultto = $db->query($sql); - if ($resultto) + else { - $objto = $db->fetch_object($resultto); - } else - { - dolibarr_print_error($db); + dolibarr_print_error($db); } - if ($objfrom && $objto) { - $sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order=".$objto->box_order." WHERE rowid=".$_GET["switchfrom"]; - $resultupdatefrom = $db->query($sql); - if (! $resultupdatefrom) { dolibarr_print_error($db); } - $sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order=".$objfrom->box_order." WHERE rowid=".$_GET["switchto"]; - $resultupdateto = $db->query($sql); - if (! $resultupdateto) { dolibarr_print_error($db); } + + $sql="SELECT box_order FROM ".MAIN_DB_PREFIX."boxes WHERE rowid=".$_GET["switchto"]; + $resultto = $db->query($sql); + + if ($resultto) + { + $objto = $db->fetch_object($resultto); + } + else + { + dolibarr_print_error($db); } - if ($resultupdatefrom && $resultupdateto) + if ($objfrom && $objto) { + $sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order=".$objto->box_order." WHERE rowid=".$_GET["switchfrom"]; + $resultupdatefrom = $db->query($sql); + if (! $resultupdatefrom) { dolibarr_print_error($db); } + $sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order=".$objfrom->box_order." WHERE rowid=".$_GET["switchto"]; + $resultupdateto = $db->query($sql); + if (! $resultupdateto) { dolibarr_print_error($db); } + } + + if ($resultupdatefrom && $resultupdateto) { - $db->commit(); + $db->commit(); } - else { - $db->rollback(); + else + { + $db->rollback(); } } - /* * Recherche des boites actives par position possible * On stocke les boites actives par $boxes[position][id_boite]=1 @@ -126,25 +129,26 @@ $result = $db->query($sql); if ($result) { - $num = $db->num_rows($result); - $i = 0; - $decalage=0; - while ($i < $num) + $num = $db->num_rows($result); + $i = 0; + $decalage=0; + while ($i < $num) { - $var = ! $var; - $obj = $db->fetch_object($result); - $boxes[$obj->position][$obj->box_id]=1; - $i++; - - // On renumérote l'ordre des boites si l'une d'elle est à 0 (Ne doit arriver que sur des anciennes versions) - if ($obj->box_order==0) $decalage++; - if ($decalage) { - $sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order=box_order+".$decalage." WHERE rowid=".$obj->rowid; - $db->query($sql); - } + $var = ! $var; + $obj = $db->fetch_object($result); + $boxes[$obj->position][$obj->box_id]=1; + $i++; + + // On renumérote l'ordre des boites si l'une d'elle est à 0 (Ne doit arriver que sur des anciennes versions) + if ($obj->box_order==0) $decalage++; + if ($decalage) + { + $sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order=box_order+".$decalage." WHERE rowid=".$obj->rowid; + $db->query($sql); + } } - - $db->free($result); + + $db->free($result); } @@ -168,47 +172,49 @@ $var=True; if ($result) { - $html=new Form($db); - - $num = $db->num_rows($result); - $i = 0; - - // Boucle sur toutes les boites - while ($i < $num) + $html=new Form($db); + + $num = $db->num_rows($result); + $i = 0; + + // Boucle sur toutes les boites + while ($i < $num) { - $var = ! $var; - $obj = $db->fetch_object($result); - - $module=eregi_replace('.php$','',$obj->file); - include_once(DOL_DOCUMENT_ROOT."/includes/boxes/".$module.".php"); - $box=new $module(); - - print '
'; - $logo=eregi_replace("^object_","",$box->boximg); - print ''.img_object("",$logo).' '.$box->boxlabel.'' . $obj->file . ''; - - // Pour chaque position possible, on affiche un lien - // d'activation si boite non deja active pour cette position - print ''; - print $html->select_array("pos",$pos_name); - print ''; - print ''; - print ' '; - print ''; - - print ' '; - - print ''; - print '
'; - - $i++; + $var = ! $var; + $obj = $db->fetch_object($result); + + $module=eregi_replace('.php$','',$obj->file); + include_once(DOL_DOCUMENT_ROOT."/includes/boxes/".$module.".php"); + $box=new $module(); + + print '
'; + $logo=eregi_replace("^object_","",$box->boximg); + print ''.img_object("",$logo).' '.$box->boxlabel.'' . $obj->file . ''; + + // Pour chaque position possible, on affiche un lien + // d'activation si boite non deja active pour cette position + print ''; + print $html->select_array("pos",$pos_name); + print ''; + print ''; + print ' '; + print ''; + + print ' '; + print '
'; + + $i++; } - - $db->free($result); + + $db->free($result); } print ''; +/* + * Boites activées + * + */ print "
\n\n"; print_titre($langs->trans("BoxesActivated")); @@ -226,60 +232,60 @@ $sql = "SELECT b.rowid, b.box_id, b.position, d.name, d.file"; $sql .= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as d"; $sql .= " where b.box_id = d.rowid"; $sql .= " ORDER by position, box_order"; -$result = $db->query($sql); -if ($result) +$resql = $db->query($sql); + +if ($resql) { - $num = $db->num_rows(); - $i = 0; - - $box_order=1; - $foundrupture=1; - - // On lit avec un coup d'avance - $obj = $db->fetch_object($result); - - while ($obj && $i < $num) + $num = $db->num_rows($resql); + $i = 0; + + $box_order=1; + $foundrupture=1; + + // On lit avec un coup d'avance + $obj = $db->fetch_object($resql); + + while ($obj && $i < $num) { - $var = ! $var; - $objnext = $db->fetch_object($result); - - $module=eregi_replace('.php$','',$obj->file); - include_once(DOL_DOCUMENT_ROOT."/includes/boxes/".$module.".php"); - $box=new $module(); - - $logo=eregi_replace("^object_","",$box->boximg); - print ''.img_object("",$logo).' '.$box->boxlabel.''; - print ' '; - print '' . $pos_name[$obj->position] . ''; - $hasnext=true; - $hasprevious=true; - if ($foundrupture) { $hasprevious=false; $foundrupture=0; } - if (! $objnext || $obj->position != $objnext->position) { $hasnext=false; $foundrupture=1; } - print ''.$box_order.''; - print ''; - print ($hasnext?''.img_down().' ':''); - print ($hasprevious?''.img_up().'':''); - print ''; - print ''; - print ''.img_delete().''; - print ''; - - print "\n"; - $i++; - - $box_order++; - - if (! $foundrupture) $objprevious = $obj; - else $box_order=1; - $obj=$objnext; + $var = ! $var; + $objnext = $db->fetch_object($resql); + + $module=eregi_replace('.php$','',$obj->file); + include_once(DOL_DOCUMENT_ROOT."/includes/boxes/".$module.".php"); + $box=new $module(); + + $logo=eregi_replace("^object_","",$box->boximg); + print ''.img_object("",$logo).' '.$box->boxlabel.''; + print ' '; + print '' . $pos_name[$obj->position] . ''; + $hasnext=true; + $hasprevious=true; + if ($foundrupture) { $hasprevious=false; $foundrupture=0; } + if (! $objnext || $obj->position != $objnext->position) { $hasnext=false; $foundrupture=1; } + print ''.$box_order.''; + print ''; + print ($hasnext?''.img_down().' ':''); + print ($hasprevious?''.img_up().'':''); + print ''; + print ''; + print ''.img_delete().''; + print ''; + + print "\n"; + $i++; + + $box_order++; + + if (! $foundrupture) $objprevious = $obj; + else $box_order=1; + $obj=$objnext; } - - $db->free($result); + + $db->free($resql); } - print '
'; $db->close();