Index: trunk/admin/aggiornadb.php
===================================================================
--- trunk/admin/aggiornadb.php	(revision 358)
+++ trunk/admin/aggiornadb.php	(revision 359)
@@ -43,18 +43,23 @@
 	return $ret;
 }
-function aggiorna_index($sql,$dbi,$sql2,$num){
+function aggiorna_index($tab,$ind,$dbi,$sql2,$num){
 	$ret=0;
-	try{
-		$res = $dbi->prepare("$sql");
-		$res->execute();
-		$ret= 1;
-        }
-	catch(PDOException $e)
-	{
-	 $ret=0;
-	 echo "<br>".$num.") Fallito: $sql";
-	 return $ret;
+	$sqltest="SHOW INDEX FROM `$tab` WHERE KEY_NAME = '$ind'";
+	$res = $dbi->prepare("$sqltest");
+	$res->execute();
+	if($res->rowCount()) {
+		$sql="ALTER TABLE `$tab` DROP INDEX `$ind`";
+		try{
+			$res = $dbi->prepare("$sql");
+			$res->execute();
+			$ret= 1;
+			}
+		catch(PDOException $e)
+		{
+		 $ret=0;
+		 echo "<br>".$num.") Fallito: $sql -- $e->getmessage()";
+		 return $ret;
+		}
 	}
-
 	if("$sql2"!=""){
 		try{
@@ -127,5 +132,5 @@
 	$ret=aggiorna($sql,$dbi,'',$num);
 }
-if(!controllo($prefix.'_ele_operatori','id_circ',++$num))
+if(!controllo($prefix.'_ele_operatori','id_sez',++$num))
 {
 	$sql="ALTER TABLE `".$prefix."_ele_operatori` ADD `id_sez` INT(11) NOT NULL  DEFAULT 0 AFTER `id_circ`";
@@ -185,4 +190,7 @@
 
 $sql="ALTER TABLE `".$prefix."_ele_gruppo` CHANGE `num_circ` `num_circ` INT(2) UNSIGNED NOT NULL DEFAULT '1';";
+$ret=aggiorna($sql,$dbi,'',++$num);
+
+$sql="ALTER TABLE `soraldo_authors` CHANGE `adminsuper` `adminsuper` TINYINT(2) NOT NULL DEFAULT '0';";
 $ret=aggiorna($sql,$dbi,'',++$num);
 
@@ -281,7 +289,4 @@
 
 
-	$sql="ALTER TABLE `".$prefix."_ele_voti_ref` DROP INDEX `id_cons`; ";
-	$sql2="ALTER TABLE `".$prefix."_ele_voti_ref` ADD INDEX `id_cons` (`id_cons`, `id_gruppo`) USING BTREE";
-	$ret=aggiorna_index($sql,$dbi,$sql2,++$num);
 
 #if(!$ret) 
@@ -291,42 +296,71 @@
 #else
 #	echo "<br>".$num++.") Index aggiunto";
-$sql="ALTER TABLE `".$prefix."_ele_voti_lista` DROP INDEX `id_cons`";
+#$sql="ALTER TABLE `".$prefix."_ele_voti_lista` DROP INDEX if exists `id_cons`";
+
+$tab=$prefix."_ele_voti_ref";
+$ind="id_cons";
+#	$sql="ALTER TABLE `".$prefix."_ele_voti_ref` DROP INDEX `id_cons`; ";
+$sql2="ALTER TABLE `".$prefix."_ele_voti_ref` ADD INDEX `id_cons` (`id_cons`, `id_gruppo`) USING BTREE";
+$ret=aggiorna_index($tab, $ind,$dbi,$sql2,++$num);
+
+$tab=$prefix."_ele_voti_lista";
+$ind="id_cons";
 $sql2="ALTER TABLE `".$prefix."_ele_voti_lista` ADD INDEX `id_cons` (`id_cons`, `id_sez`, `id_lista`) USING BTREE";
-$ret=aggiorna_index($sql,$dbi,$sql2,++$num);
-
-$sql="ALTER TABLE `".$prefix."_ele_voti_gruppo` DROP INDEX `id_cons`";
+$ret=aggiorna_index($tab,$ind,$dbi,$sql2,++$num);
+
+$tab=$prefix."_ele_voti_gruppo";
+$ind="id_cons";
+#$sql="ALTER TABLE `".$prefix."_ele_voti_gruppo` DROP INDEX if exists `id_cons`";
 $sql2="ALTER TABLE `".$prefix."_ele_voti_gruppo` ADD INDEX `id_cons` (`id_cons`, `id_sez`, `id_gruppo`) USING BTREE";
-$ret=aggiorna_index($sql,$dbi,$sql2,++$num);
-
-$sql="ALTER TABLE `".$prefix."_ele_voti_candidati` DROP INDEX `id_cons`";
+$ret=aggiorna_index($tab,$ind,$dbi,$sql2,++$num);
+
+$tab=$prefix."_ele_voti_candidati";
+$ind="id_cons";
+#$sql="ALTER TABLE `".$prefix."_ele_voti_candidati` DROP INDEX if exists `id_cons`";
 $sql2="ALTER TABLE `".$prefix."_ele_voti_candidati` ADD INDEX `id_cons` (`id_cons`, `id_sez`, `id_cand`) USING BTREE";
-$ret=aggiorna_index($sql,$dbi,$sql2,++$num);
-
-$sql="ALTER TABLE `".$prefix."_ele_lista` DROP INDEX `id_cons`";
+$ret=aggiorna_index($tab,$ind,$dbi,$sql2,++$num);
+
+$tab=$prefix."_ele_lista";
+$ind="id_cons";
+#$sql="ALTER TABLE `".$prefix."_ele_lista` DROP INDEX if exists `id_cons`";
 $sql2="ALTER TABLE `".$prefix."_ele_lista` ADD INDEX `id_cons` (`id_cons`, `id_gruppo`) USING BTREE";
-$ret=aggiorna_index($sql,$dbi,$sql2,++$num);
-
-$sql="ALTER TABLE `".$prefix."_ele_lista` DROP INDEX `PRIMARY`";
+$ret=aggiorna_index($tab,$ind,$dbi,$sql2,++$num);
+
+$tab=$prefix."_ele_lista";
+$ind="PRIMARY";
+#$sql="ALTER TABLE `".$prefix."_ele_lista` DROP INDEX if exists `PRIMARY`";
 $sql2="ALTER TABLE `".$prefix."_ele_lista` ADD PRIMARY KEY (`id_lista`) USING BTREE";
-$ret=aggiorna_index($sql,$dbi,$sql2,++$num);
-
-$sql="ALTER TABLE `".$prefix."_ele_gruppo` DROP INDEX `id_cons`";
+$ret=aggiorna_index($tab,$ind,$dbi,$sql2,++$num);
+
+$tab=$prefix."_ele_gruppo";
+$ind="id_cons";
+#$sql="ALTER TABLE `".$prefix."_ele_gruppo` DROP INDEX if exists `id_cons`";
 $sql2="ALTER TABLE `".$prefix."_ele_gruppo` ADD INDEX `id_cons` (`id_cons`, `id_circ`) USING BTREE";
-$ret=aggiorna_index($sql,$dbi,$sql2,++$num);
-
-$sql="ALTER TABLE `".$prefix."_ele_gruppo` DROP INDEX `PRIMARY`";
+$ret=aggiorna_index($tab,$ind,$dbi,$sql2,++$num);
+
+$tab=$prefix."_ele_gruppo";
+$ind="PRIMARY";
+#$sql="ALTER TABLE `".$prefix."_ele_gruppo` DROP INDEX if exists `PRIMARY`";
 $sql2="ALTER TABLE `".$prefix."_ele_gruppo` ADD PRIMARY KEY (`id_gruppo`) USING BTREE";
-$ret=aggiorna_index($sql,$dbi,$sql2,++$num);
-
-$sql="ALTER TABLE `".$prefix."_ele_candidati` DROP INDEX `id_cons`";
+$ret=aggiorna_index($tab,$ind,$dbi,$sql2,++$num);
+
+$tab=$prefix."_ele_candidati";
+$ind="id_cons";
+#$sql="ALTER TABLE `".$prefix."_ele_candidati` DROP INDEX if exists `id_cons`";
 $sql2="ALTER TABLE `".$prefix."_ele_candidati` ADD INDEX `id_cons` (`id_cons`, `id_lista`) USING BTREE";
-$ret=aggiorna_index($sql,$dbi,$sql2,++$num);
-
-$sql="ALTER TABLE `".$prefix."_ele_candidati` DROP INDEX `PRIMARY`";
+$ret=aggiorna_index($tab,$ind,$dbi,$sql2,++$num);
+
+$tab=$prefix."_ele_candidati";
+$ind="PRIMARY";
+#$sql="ALTER TABLE `".$prefix."_ele_candidati` DROP INDEX if exists `PRIMARY`";
 $sql2="ALTER TABLE `".$prefix."_ele_candidati` ADD PRIMARY KEY (`id_cand`) USING BTREE";
-$ret=aggiorna_index($sql,$dbi,$sql2,++$num);
-
-$sql="ALTER TABLE `".$prefix."_ele_consultazione` ADD UNIQUE `descrizione` (`descrizione`(100))";
-$ret=aggiorna_index($sql,$dbi,$sql2,++$num);
+$ret=aggiorna_index($tab,$ind,$dbi,$sql2,++$num);
+
+$tab=$prefix."_ele_consultazione";
+$ind="descrizione";
+#$sql="ALTER TABLE `".$prefix."_ele_consultazione` DROP INDEX if exists `descrizione`";
+$sql2="ALTER TABLE `".$prefix."_ele_consultazione` ADD UNIQUE `descrizione` (`descrizione`(100))";
+$ret=aggiorna_index($tab,$ind,$dbi,$sql2,++$num);
+
 
 ?>
