Index: /trunk/CHANGES.txt
===================================================================
--- /trunk/CHANGES.txt	(revision 376)
+++ /trunk/CHANGES.txt	(revision 377)
@@ -1,2 +1,10 @@
+Eleonline rev. 377
+DB
+- modifica tabella sezioni con inserimento constraint per controllo duplicati nel numero di sezione
+ADMIN
+- modifica della funzione di connessione al db nel file admin.php per compatibilitÃ  con php5 
+- modifica della funzione di inserimento delle sezioni con inserimento avvisi per errori di inserimento
+- modificata la funzione di aggiornamento del DB ( admin/aggiornadb.php ) per gestire l'aggiornamento degli indici PRIMARY, aggiunto il controllo della tabella soraldo_ele_liste e il nuovo contraint per la tabella soraldo_ele_sezioni
+
 Eleonline rev. 376
 CLIENT
Index: /trunk/admin/admin.php
===================================================================
--- /trunk/admin/admin.php	(revision 376)
+++ /trunk/admin/admin.php	(revision 377)
@@ -136,8 +136,5 @@
 
 $dsn = "mysql:host=$dbhost";
-$opt = [
-PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
-PDO::ATTR_EMULATE_PREPARES => false,
-];
+$opt = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_EMULATE_PREPARES => false);
 if($prefix == '') {
 	db_err ('stepBack','Non avete indicato il prefisso tabelle database.');
Index: /trunk/admin/aggiornadb.php
===================================================================
--- /trunk/admin/aggiornadb.php	(revision 376)
+++ /trunk/admin/aggiornadb.php	(revision 377)
@@ -49,9 +49,14 @@
 function aggiorna_index($tab,$ind,$dbi,$sql2,$num){
 	$ret=0;
+#	$conn->getAttribute( constant( "PDO::ATTR_$val" ) )
 	$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`";
+		if($ind=='PRIMARY')
+			$sql="ALTER TABLE `$tab`  DROP PRIMARY KEY , $sql2 ";
+		else
+			$sql="ALTER TABLE `$tab` DROP INDEX `$ind`";
 		try{
 			$res = $dbi->prepare("$sql");
@@ -66,5 +71,5 @@
 		}
 	}
-	if("$sql2"!=""){
+	if("$sql2"!="" and $ind!='PRIMARY'){
 		try{
 		  $res = $dbi->prepare("$sql2");
@@ -242,4 +247,8 @@
 $ret=aggiorna($sql,$dbi,'',$num);
 
+echo "<br><br>".++$num.") Aggiornamento dei valori di default: ".$prefix."_ele_voti_lista";
+$sql="ALTER TABLE `".$prefix."_ele_voti_lista` CHANGE `num_lista` `num_lista` INT(2) UNSIGNED NULL DEFAULT '0';";
+$ret=aggiorna($sql,$dbi,'',$num);
+
 echo "<br><br>".++$num.") Aggiornamento tabella ".$prefix."_ele_voti_lista";
 $sql="update `".$prefix."_ele_voti_lista` as t1 left join `".$prefix."_ele_lista` as t2 on t1.id_lista=t2.id_lista set t1.num_lista=t2.num_lista;";
@@ -247,5 +256,5 @@
 ##############################################
 
-echo "<br><br>".++$num.") Aggiornamento dei valori di default";
+echo "<br><br>".++$num.") Aggiornamento dei valori di default: ".$prefix."_ele_gruppo";
 $sql="ALTER TABLE `".$prefix."_ele_gruppo` CHANGE `num_circ` `num_circ` INT(2) UNSIGNED NOT NULL DEFAULT '1';";
 $ret=aggiorna($sql,$dbi,'',$num);
@@ -364,4 +373,9 @@
 $ret=aggiorna_index($tab, $ind,$dbi,$sql2,$num);
 
+$tab=$prefix."_ele_sezioni";
+$ind="id_cons";
+$sql2="ALTER TABLE `".$prefix."_ele_sezioni` ADD UNIQUE `id_cons` (`id_cons`, `num_sez`) USING BTREE"; 
+$ret=aggiorna_index($tab,$ind,$dbi,$sql2,$num);
+
 $tab=$prefix."_ele_voti_lista";
 $ind="id_cons";
@@ -390,5 +404,5 @@
 $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";
+$sql2="ADD PRIMARY KEY (`id_lista`) USING BTREE";
 $ret=aggiorna_index($tab,$ind,$dbi,$sql2,$num);
 
@@ -402,5 +416,5 @@
 $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";
+$sql2="ADD PRIMARY KEY (`id_gruppo`) USING BTREE";
 $ret=aggiorna_index($tab,$ind,$dbi,$sql2,$num);
 
@@ -414,5 +428,5 @@
 $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";
+$sql2="ADD PRIMARY KEY (`id_cand`) USING BTREE";
 $ret=aggiorna_index($tab,$ind,$dbi,$sql2,$num);
 
Index: /trunk/admin/modules/Elezioni/ele_sezione.php
===================================================================
--- /trunk/admin/modules/Elezioni/ele_sezione.php	(revision 376)
+++ /trunk/admin/modules/Elezioni/ele_sezione.php	(revision 377)
@@ -23,4 +23,5 @@
 list($tipo_cons,$id_cons) = $res->fetch(PDO::FETCH_NUM);
 if (isset($param['do'])) $do=addslashes($param['do']); else $do='';
+if (isset($param['mex'])) $mex=addslashes($param['mex']); else $mex='';
 if (isset($param['id_sede'])) $id_sede=intval($param['id_sede']); else $id_sede='';
 if (isset($param['min'])) $min=intval($param['min']); else $min=0;
@@ -46,8 +47,20 @@
 
 function all() {
-   global $admin, $bgcolor1, $bgcolor2, $prefix, $dbi, $offset, $min, $id_cons,$id_cons_gen;
+	global $admin, $bgcolor1, $bgcolor2, $prefix, $dbi, $offset, $min, $id_cons,$id_cons_gen,$mex;
 #	OpenTable();
 	$y=0;
-   echo "<center><font class=\"title\"><a NAME=riga><b>"._SEZIONE."</b></a></font><br><br><table border=\"0\" width=\"95%\"><tr>"
+    $sql="SELECT * FROM ".$prefix."_ele_sezioni where id_cons='$id_cons'  ";
+	$res = $dbi->prepare("$sql");
+	$res->execute(); 
+    $numsez = $res->rowCount();
+	$sql="SELECT max(num_sez) FROM ".$prefix."_ele_sezioni where id_cons='$id_cons'  ";
+	$res = $dbi->prepare("$sql");
+	$res->execute(); 
+    list($max) = $res->fetch(PDO::FETCH_NUM);
+	if($numsez!=$max) $mex="Sembra che sia stata saltata una sezione, controllate prego";
+	echo "<center><font class=\"title\"><a NAME=riga><b>"._SEZIONE."</b></a></font><br>";
+	if($mex!='')
+		echo "<h2 style=\"background-color:red;color:white;\">$mex</h2>";
+	echo "<br><table border=\"0\" width=\"95%\"><tr>"
 	."<td bgcolor=\"$bgcolor1\" align=\"center\"><b>"._NUM."</b></td>"
 	."<td bgcolor=\"$bgcolor1\" align=\"center\"><b>"._INDIRIZZO."</b></td>"
@@ -56,8 +69,4 @@
 	."<td bgcolor=\"$bgcolor1\" align=\"center\" ><b>"._TOTS." "._ISCRITTI."</b></td>"
 	."<td bgcolor=\"$bgcolor1\" align=\"center\"><b>"._FUNZIONI."</b></td></tr>";
-    $sql="SELECT * FROM ".$prefix."_ele_sezioni where id_cons='$id_cons'  ";
-	$res = $dbi->prepare("$sql");
-	$res->execute(); 
-    $max = $res->rowCount();
 	echo "<tr align=\"center\"><form name=\"sezi\" action=\"admin.php\">"
 	."<input type=\"hidden\" name=\"op\" value=\"sezione\">"
@@ -217,6 +226,14 @@
 			$sql="insert into ".$prefix."_ele_sezioni (id_cons,id_sede,num_sez,maschi,femmine, autorizzati_m,autorizzati_f,colore) values ('$id_cons', '$id_sede', '$num_sez','$maschi','$femmine','$aut_m', '$aut_f','#FAFAD2')";
 			$res = $dbi->prepare("$sql");
-			$res->execute(); 
-			Header("Location: admin.php?op=sezione&id_cons_gen=$id_cons_gen&min=$min");
+			$mex='';
+			try
+			{
+				$res->execute();
+			}
+			catch(PDOException $e)
+			{
+				if ($e->errorInfo[1] == 1062) $mex="Numero di sezione duplicato, dati non memorizzati";					
+			}
+			Header("Location: admin.php?op=sezione&id_cons_gen=$id_cons_gen&min=$min&mex=$mex");
 		} else {
 			ele();
Index: /trunk/admin/versione.php
===================================================================
--- /trunk/admin/versione.php	(revision 376)
+++ /trunk/admin/versione.php	(revision 377)
@@ -1,7 +1,7 @@
 <?php
 
-$versione = "3.0 rev 376";
+$versione = "3.0 rev 377";
 $version_number = $versione;
-$datarel = "24 settembre 2022";
+$datarel = "28 settembre 2022";
 $version = "Eleonline $version_number (<i>Data Release: $datarel</i>)";
 
Index: /trunk/client/versione.php
===================================================================
--- /trunk/client/versione.php	(revision 376)
+++ /trunk/client/versione.php	(revision 377)
@@ -1,7 +1,7 @@
 <?php
 
-$versione = "3.0 rev 376";
+$versione = "3.0 rev 377";
 $version_number = $versione;
-$datarel = "24 settembre 2022";
+$datarel = "28 settembre 2022";
 $version = "Eleonline $version_number (<i>Data Release: $datarel</i>)";
 
Index: /trunk/install/install4.php
===================================================================
--- /trunk/install/install4.php	(revision 376)
+++ /trunk/install/install4.php	(revision 377)
@@ -310,5 +310,5 @@
 	$query = "INSERT INTO {$configArray['DBPrefix']}_ele_comuni VALUES ('$istat', '$nomecomune', '','','','','$Limite','$Capoluogo','','','0','')";
 	$database->exec( $query );
-	} catch(PDOException $e) { die("$query");}
+	} catch(PDOException $e) { die("L'inserimento del comune Ãš fallito, puÃ² essere aggiunto dal menu Comuni in Admin: $query");}
 	$query = "UPDATE {$configArray['DBPrefix']}_config SET sitename='$sitename', siteurl='$siteUrl', adminmail='$adminEmail', tema='$tema', foot='',language='$Lingua',blocco='$blocco',fileout='$Replica',Versione='3', siteistat='$istat',multicomune='$Multicomune',flash='$flash', tema_on='$sceltatema'   WHERE sitename=''";
 	
