Index: /trunk/admin/aggiornadb.php
===================================================================
--- /trunk/admin/aggiornadb.php	(revision 297)
+++ /trunk/admin/aggiornadb.php	(revision 298)
@@ -24,34 +24,37 @@
 	return 1;
 }	
+$sql="alter table `soraldo_config` change column if exists `Versione` `versione` int(3)";
+$ret=aggiorna($sql,$dbi);
+if($ret) {$vifn='if not exists';$vifs='if exists';} else {$vifn='';$vifs='';}
 
 $num=1;
-$sql="alter table `soraldo_config` change column if exists `Versione` `versione` int(3)";
-$ret=aggiorna($sql,$dbi);
-if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_gruppo` ADD if not exists `num_circ` INT(2) UNSIGNED NOT NULL AFTER `id_circ`";
-$ret=aggiorna($sql,$dbi);
-if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_voti_gruppo` ADD if not exists `num_gruppo` INT(2) UNSIGNED NOT NULL AFTER `id_sez`";
-$ret=aggiorna($sql,$dbi);
-if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_lista` ADD if not exists `num_gruppo` INT(2) UNSIGNED NOT NULL AFTER `id_gruppo`";
-$ret=aggiorna($sql,$dbi);
-if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_lista` ADD if not exists `num_circ` INT(2) UNSIGNED NOT NULL AFTER `id_circ`";
-$ret=aggiorna($sql,$dbi);
-if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_voti_lista` ADD if not exists `num_lista` INT(2) UNSIGNED NOT NULL AFTER `id_sez`";
-$ret=aggiorna($sql,$dbi);
-if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_voti_ref` ADD if not exists `num_gruppo` INT(2) UNSIGNED NOT NULL AFTER `id_sez`";
-$ret=aggiorna($sql,$dbi);
-if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_voti_candidati` ADD if not exists `num_cand` INT(2) UNSIGNED NOT NULL AFTER `id_sez`";
-$ret=aggiorna($sql,$dbi);
-if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_candidati` ADD if not exists `num_lista` INT(2) UNSIGNED NOT NULL AFTER `id_lista`";
-$ret=aggiorna($sql,$dbi);
-if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_voti_ref` DROP INDEX if exists `id_cons`; ";
+$sql="alter table `soraldo_config` change column $vifs `Versione` `versione` int(3)";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
+$sql="ALTER TABLE `soraldo_ele_gruppo` ADD $vifn `num_circ` INT(2) UNSIGNED NOT NULL AFTER `id_circ`";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
+$sql="ALTER TABLE `soraldo_ele_voti_gruppo` ADD $vifn `num_gruppo` INT(2) UNSIGNED NOT NULL AFTER `id_sez`";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
+$sql="ALTER TABLE `soraldo_ele_lista` ADD $vifn `num_gruppo` INT(2) UNSIGNED NOT NULL AFTER `id_gruppo`";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
+$sql="ALTER TABLE `soraldo_ele_lista` ADD $vifn `num_circ` INT(2) UNSIGNED NOT NULL AFTER `id_circ`";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
+$sql="ALTER TABLE `soraldo_ele_voti_lista` ADD $vifn `num_lista` INT(2) UNSIGNED NOT NULL AFTER `id_sez`";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
+$sql="ALTER TABLE `soraldo_ele_voti_ref` ADD $vifn `num_gruppo` INT(2) UNSIGNED NOT NULL AFTER `id_sez`";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
+$sql="ALTER TABLE `soraldo_ele_voti_candidati` ADD $vifn `num_cand` INT(2) UNSIGNED NOT NULL AFTER `id_sez`";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
+$sql="ALTER TABLE `soraldo_ele_candidati` ADD $vifn `num_lista` INT(2) UNSIGNED NOT NULL AFTER `id_lista`";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
+$sql="ALTER TABLE `soraldo_ele_voti_ref` DROP INDEX $vifs `id_cons`; ";
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
@@ -59,5 +62,5 @@
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo  $num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_voti_lista` DROP INDEX if exists `id_cons`";
+$sql="ALTER TABLE `soraldo_ele_voti_lista` DROP INDEX $vifs `id_cons`";
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
@@ -65,5 +68,5 @@
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_voti_gruppo` DROP INDEX if exists `id_cons`";
+$sql="ALTER TABLE `soraldo_ele_voti_gruppo` DROP INDEX $vifs `id_cons`";
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
@@ -71,5 +74,5 @@
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_voti_candidati` DROP INDEX if exists `id_cons`";
+$sql="ALTER TABLE `soraldo_ele_voti_candidati` DROP INDEX $vifs `id_cons`";
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
@@ -77,5 +80,5 @@
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_lista` DROP INDEX if exists `id_cons`";
+$sql="ALTER TABLE `soraldo_ele_lista` DROP INDEX $vifs `id_cons`";
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
@@ -83,5 +86,5 @@
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_lista` DROP INDEX if exists `PRIMARY`";
+$sql="ALTER TABLE `soraldo_ele_lista` DROP INDEX $vifs `PRIMARY`";
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
@@ -89,5 +92,5 @@
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_gruppo` DROP INDEX if exists `id_cons`";
+$sql="ALTER TABLE `soraldo_ele_gruppo` DROP INDEX $vifs `id_cons`";
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
@@ -95,5 +98,5 @@
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_gruppo` DROP INDEX if exists `PRIMARY`";
+$sql="ALTER TABLE `soraldo_ele_gruppo` DROP INDEX $vifs `PRIMARY`";
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
@@ -101,5 +104,5 @@
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_candidati` DROP INDEX if exists `id_cons`";
+$sql="ALTER TABLE `soraldo_ele_candidati` DROP INDEX $vifs `id_cons`";
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
@@ -107,5 +110,5 @@
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_candidati` DROP INDEX if exists `PRIMARY`";
+$sql="ALTER TABLE `soraldo_ele_candidati` DROP INDEX $vifs `PRIMARY`";
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
@@ -113,8 +116,11 @@
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
-$sql="ALTER TABLE `soraldo_ele_sezioni` ADD if not exists `colore` VARCHAR(50) NULL AFTER `solo_lista`";
+$sql="ALTER TABLE `soraldo_ele_sezioni` ADD $vifn `colore` VARCHAR(50) NULL AFTER `solo_lista`";
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
 $sql="CREATE TABLE if not exists`soraldo_ele_controlli` ( `id_cons` INT(11) NOT NULL , `id_sez` INT(11) NOT NULL , `tipo` VARCHAR(10) NOT NULL , `id` INT(11) NOT NULL , INDEX `sezione` (`id_sez`)) ENGINE = MyISAM";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
+$sql="update `soraldo_ele_voti_gruppo` as t1 left join `soraldo_ele_gruppo` as t2 on t1.id_gruppo=t2.id_gruppo set t1.num_gruppo=t2.num_gruppo;";
 $ret=aggiorna($sql,$dbi);
 if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
