From 3e7136459f74219c9074ae9048e615234992775c Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@destailleur.fr>
Date: Wed, 28 Mar 2012 02:57:49 +0200
Subject: [PATCH] Fix: Reorder boxes

---
 htdocs/admin/boxes.php | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/htdocs/admin/boxes.php b/htdocs/admin/boxes.php
index 8b2a12a7217..5e0a8b1ffc4 100644
--- a/htdocs/admin/boxes.php
+++ b/htdocs/admin/boxes.php
@@ -169,14 +169,25 @@ if ($action == 'switch')
 	$objto=new ModeleBoxes($db);
 	$objto->fetch($_GET["switchto"]);
 
+	$resultupdatefrom=0;
+	$resultupdateto=0;
 	if (is_object($objfrom) && is_object($objto))
 	{
-		$sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order='".$objto->box_order."' WHERE rowid=".$objfrom->rowid;
-		//print "xx".$sql;
+	    $newfirst=$objto->box_order;
+		$newsecond=$objfrom->box_order;
+	    if ($newfirst == $newsecond)
+	    {
+	         $newsecondchar=preg_replace('/[0-9]+/','',$newsecond);
+	         $newsecondnum=preg_replace('/[a-zA-Z]+/','',$newsecond);
+	         $newsecond=sprintf("%s%02d",$newsecondchar?$newsecondchar:'A',$newsecondnum+1);
+	    }
+		$sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order='".$newfirst."' WHERE rowid=".$objfrom->rowid;
+		dol_syslog($sql);
 		$resultupdatefrom = $db->query($sql);
 		if (! $resultupdatefrom) { dol_print_error($db); }
-		$sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order='".$objfrom->box_order."' WHERE rowid=".$objto->rowid;
-		//print "xx".$sql;
+
+		$sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order='".$newsecond."' WHERE rowid=".$objto->rowid;
+		dol_syslog($sql);
 		$resultupdateto = $db->query($sql);
 		if (! $resultupdateto) { dol_print_error($db); }
 	}
-- 
GitLab