Index: /trunk/admin/admin.php
===================================================================
--- /trunk/admin/admin.php	(revision 358)
+++ /trunk/admin/admin.php	(revision 359)
@@ -17,5 +17,5 @@
 #$LIMITE=3; //fascia di separazione del maggioritario (15.000 abitanti)
 # tempo di sessione: ini_set('session.gc_maxlifetime','3600');
-global $multicomune,$msglogout;
+global $multicomune,$msglogout,$language;
 
 // Adattamento variabili superglobal
@@ -307,18 +307,18 @@
 $admincomune=$row[1];
 $adminop=$row[2]; 
-
+	
 #if (($adminsuper==1 || $admincomune==1 || $adminop==1)) {
 	if ($adminsuper==1)
 		return 256;
-	elseif ($admincomune==1){
+	elseif ($admincomune==1) 
 		return 64;
 #		$sth = $dbi->prepare("select permessi from ".$prefix."_ele_operatori where id_cons='0' and aid='$aid' and id_comune='$id_comune'");
-	}else{
-		$sth = $dbi->prepare("select id_cons from ".$prefix."_ele_cons_comune where id_comune='$id_comune' and id_cons_gen='$id_cons_gen'");
-		$sth->execute();	
-		$row = $sth->fetch(PDO::FETCH_BOTH);	
-		$id_cons=$row[0];
-		$sth = $dbi->prepare("select permessi from ".$prefix."_ele_operatori where id_cons='$id_cons' and aid='$aid' and id_comune='$id_comune'");
-	}	
+
+	$sth = $dbi->prepare("select id_cons from ".$prefix."_ele_cons_comune where id_comune='$id_comune' and id_cons_gen='$id_cons_gen'");
+	$sth->execute();	
+	$row = $sth->fetch(PDO::FETCH_BOTH);	
+	$id_cons=$row[0];
+	$sth = $dbi->prepare("select permessi from ".$prefix."_ele_operatori where id_cons='$id_cons' and aid='$aid' and id_comune='$id_comune'");
+		
 	$sth->execute();	
 	$row = $sth->fetch(PDO::FETCH_BOTH);
@@ -405,5 +405,5 @@
 */
 global $siteistat,$perms,$msglogout; 
-
+$language=$_SESSION['lang'];
 $ref="Location: admin.php?"; 
 #$ref="Location: https://www.eleonline.it/adminmob/admin.php?"; 
@@ -415,5 +415,5 @@
 
 if (isset($_SESSION['lang'])) 
-$ref=$ref."&language=".$_SESSION['lang']; 
+$ref=$ref."&language=$language"; 
 $ref.="&msglogout=$msglogout";
 $_SESSION=array();  
@@ -444,4 +444,6 @@
 	}
 }
+
+
 #echo "op:".$param['op']." -- aid:".$_SESSION['aid']."remote:".$_SESSION['remote']."REMOTE:".$_SERVER['REMOTE_ADDR'];
 if (isset($param['op'])) $op=addslashes($param['op']); else $op='ele';
@@ -451,6 +453,5 @@
 	if($tema=='Futura2' and $op!='logout') 
 	{
-		include("temi/$tema/index.php"); 
-		testata();
+		include("temi/$tema/index.php");
 	}else
 switch($op) {
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);
+
 
 ?>
Index: /trunk/admin/footer.php
===================================================================
--- /trunk/admin/footer.php	(revision 358)
+++ /trunk/admin/footer.php	(revision 359)
@@ -20,9 +20,8 @@
 /*    LE SEGUENTI LINEE DI PROGRAMMA NON DEVONO ESSERE MODIFICATE       */
 /************************************************************************/
-echo "<table width=\"100%\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
-<tr bgcolor=\"#000000\"><td align=\"right\">
-<b><font color=\"#ffffff\"><a href=\"http://www.eleonline.it\" target=\"eleonline\">
-
-$version - <img src=\"modules/Elezioni/images/ico.jpg\" border=\"0\" alt=\"Eleonline\" align=\"middle\"></a> "._GESTIONE." by robertogigli & luciano apolito</font></b></td></tr></table>";
+echo "<table width=\"100%\"  border=\"1\" cellpadding=\"0\" cellspacing=\"0\">
+<tr><td align=\"right\">
+<a href=\"http://www.eleonline.it\" target=\"eleonline\">
+ $version - <img src=\"modules/Elezioni/images/ico.jpg\" border=\"0\" alt=\"Eleonline\" align=\"middle\"></a></td><td bgcolor=\"grey\"<b><font color=\"#ffffff\"> "._GESTIONE." by robertogigli & luciano apolito</font></b></td></tr></table>";
 echo "</td></tr></table></div>";
 echo "</body>\n"
Index: /trunk/admin/header.php
===================================================================
--- /trunk/admin/header.php	(revision 358)
+++ /trunk/admin/header.php	(revision 359)
@@ -13,5 +13,5 @@
 if(isset($_SESSION['aid'])){
 include_once("modules/Elezioni/query.sql");
-
+global $language;
 $row=setconsultazione(); 
 if(isset($row[0])) {
@@ -27,12 +27,13 @@
 }
 }
-if (isset($param['language'])) {
+		if(!isset($language) or strlen($language)!=2) 
+			$language='it';
+if (isset($param['language']) and strlen($param['language']==2)) {
 	$_SESSION['lang']=substr($param['language'],0,2);
 	$lang=$_SESSION['lang'];
 }
 elseif (strlen($_SESSION['lang'])==2) $lang=$_SESSION['lang'];
-else $lang=$language;
+else {$lang=$language; $_SESSION['lang']=$lang;}
 include_once("modules/Elezioni/language/lang-$lang.php");
-
 
 ###############
Index: /trunk/admin/modules/Elezioni/ele_permessi.php
===================================================================
--- /trunk/admin/modules/Elezioni/ele_permessi.php	(revision 358)
+++ /trunk/admin/modules/Elezioni/ele_permessi.php	(revision 359)
@@ -85,5 +85,4 @@
 	}
 	}
-        
 	if (!$listmp) $listmp="''";
 	$sql="select aid from ".$prefix."_authors where id_comune=$id_comune and (admincomune=0 and adminop=0 and aid not in ($listmp)) order by aid"; // operatori registrati ma non ancora autorizzati
Index: /trunk/admin/temi/Futura2/index.php
===================================================================
--- /trunk/admin/temi/Futura2/index.php	(revision 358)
+++ /trunk/admin/temi/Futura2/index.php	(revision 359)
@@ -15,4 +15,5 @@
 	if($key=='id_lista') $id_lista=$val;
 }
+
 include("header.php");
 $nometema=$tema;
@@ -49,5 +50,6 @@
 
 list($descr_com) = $res->fetch(PDO::FETCH_NUM);
-
+include_once("header.php");
+testata();
 
 ####################################
@@ -56,5 +58,5 @@
 
 global $op,$tema,$dbi,$nometema,$file,$bgcolor,$sitename,$prefix,$blocco,$lang,$siteistat,$id_cons_gen,$descr_cons,$minsez,$offsetsez,$multicomune,$id_comune,$multicomune,$rss,$colortheme,$descr_com;
-global $id_cons,$do,$id_circ,$id_sede,$id_sez,$ops,$ov,$mv,$gv,$msv,$av,$votog,$genere,$aid,$bgcolor1;
+global $id_cons,$do,$id_circ,$id_sede,$id_sez,$ops,$ov,$mv,$gv,$msv,$av,$votog,$genere,$aid,$bgcolor1,$language;
 include("temi/$tema/function_theme.php");
 #$op='informazioni';
@@ -730,9 +732,13 @@
 //				if ($genere<4 or $votoc){
 //				}
-
+				$sql="select t1.* from ".$prefix."_ele_voti_candidati as t1, ".$prefix."_ele_candidati as t2 where t1.id_cand=t2.id_cand and t1.id_sez='$id_sez' and t2.id_lista='$id_lista3' limit 0,1";
+				$rese = $dbi->prepare("$sql");
+				$rese->execute();
+				if($rese->rowCount()) $segna="style=\"background-color: #99CC33;\""; else $segna='';
 				$sql="select * from ".$prefix."_ele_controlli where tipo='lista' and id_sez='$id_sez' and id='$id_lista3'";
 				$rese = $dbi->prepare("$sql");
 				$rese->execute();
-				if($rese->rowCount()) $segna="style=\"background-color: #dd0000;\""; else $segna='';
+				if($rese->rowCount()) $segna="style=\"background-color: #dd0000;\"";
+				list($sezcol)=$rese->fetch(PDO::FETCH_NUM);
 				$errcolor='';
 				if(isset($errgrulis[$rifgruppo])) $errcolor="style=\"background-color: rgb(255, 0, 0);\"";
@@ -743,5 +749,5 @@
 #funzione non ritenuta utile
 #				if($dettnulli && !$disgiunto  && $tipo_cons!=18 && $tipo_cons!=19) { echo "</td><td align=\"right\"><input  name=\"vnpl$i\" value=\"".$vnpl."\" size=\"7\"  style=\"text-align:right\">"; $tvnpl+=$vnpl;}
-				if($disgiunto) {echo "</td><td align=\"right\"><input  name=\"slpl$i\" value=\"".$slpl."\" size=\"7\"  style=\"text-align:right\">"; $tslpl+=$slpl;}
+				if($disgiunto) {echo "</td><td align=\"right\"><input  name=\"slpl$i\" value=\"".$slpl."\" size=\"7\"  style=\"text-align:right\">"; $tslpl+=intval($slpl);}
 				echo "<input type=\"hidden\" name=\"id_lista$i\" value=\"$id_lista3\"></td>";
 //				echo "<td align=\"right\">$sgpl";
Index: /trunk/admin/versione.php
===================================================================
--- /trunk/admin/versione.php	(revision 358)
+++ /trunk/admin/versione.php	(revision 359)
@@ -1,7 +1,7 @@
 <?php
 
-$versione = "3.0 rev 358";
+$versione = "3.0 rev 359";
 $version_number = $versione;
-$datarel = "23 febbraio 2022";
+$datarel = "24 febbraio 2022";
 $version = "Eleonline $version_number (<i>Data Release: $datarel</i>)";
 
Index: /trunk/client/versione.php
===================================================================
--- /trunk/client/versione.php	(revision 358)
+++ /trunk/client/versione.php	(revision 359)
@@ -1,7 +1,7 @@
 <?php
 
-$versione = "3.0 rev 358";
+$versione = "3.0 rev 359";
 $version_number = $versione;
-$datarel = "23 febbraio 2022";
+$datarel = "24 febbraio 2022";
 $version = "Eleonline $version_number (<i>Data Release: $datarel</i>)";
 
Index: /trunk/install/sql/eleonline.sql
===================================================================
--- /trunk/install/sql/eleonline.sql	(revision 358)
+++ /trunk/install/sql/eleonline.sql	(revision 359)
@@ -60,5 +60,5 @@
   `adminop` tinyint(2) NOT NULL DEFAULT '0',
   `admincomune` tinyint(2) NOT NULL DEFAULT '0',
-  `adminsuper` tinyint(2) NOT NULL DEFAULT '1',
+  `adminsuper` tinyint(2) NOT NULL DEFAULT '0',
   `admlanguage` varchar(30) NOT NULL DEFAULT ''
 ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
