Index: trunk/admin/aggiornadb.php
===================================================================
--- trunk/admin/aggiornadb.php	(revision 296)
+++ trunk/admin/aggiornadb.php	(revision 296)
@@ -0,0 +1,242 @@
+<?php
+@require_once("config.php"); 
+	try{
+	$dbi = new PDO("mysql:host=$dbhost;charset=latin1", $dbuname, $dbpass, array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION)); 
+     	$sql = "use $dbname";
+    	$dbi->exec($sql);
+        }
+	catch(PDOException $e)
+	{
+	    die( $sql . "<br>" . $e->getMessage());
+	} 
+###############
+function aggiorna($sql,$dbi){
+	$new=0;
+	try{
+		$res = $dbi->prepare("$sql");
+		$res->execute();
+        }
+	catch(PDOException $e)
+	{
+		 echo $sql . "<br>" . $e->getMessage();
+		return 0;
+	} 
+	return 1;
+}	
+
+$num=1;
+$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`; ";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
+$sql="ALTER TABLE `soraldo_ele_voti_ref` ADD INDEX `id_cons` (`id_cons`, `id_gruppo`) USING BTREE";
+$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`";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
+$sql="ALTER TABLE `soraldo_ele_voti_lista` ADD INDEX `id_cons` (`id_cons`, `id_sez`, `id_lista`) USING BTREE";
+$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`";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
+$sql="ALTER TABLE `soraldo_ele_voti_gruppo` ADD INDEX `id_cons` (`id_cons`, `id_sez`, `id_gruppo`) USING BTREE";
+$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`";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
+$sql="ALTER TABLE `soraldo_ele_voti_candidati` ADD INDEX `id_cons` (`id_cons`, `id_sez`, `id_cand`) USING BTREE";
+$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`";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
+$sql="ALTER TABLE `soraldo_ele_lista` ADD INDEX `id_cons` (`id_cons`, `id_gruppo`) USING BTREE";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
+$sql="ALTER TABLE `soraldo_ele_lista` DROP PRIMARY KEY";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
+$sql="ALTER TABLE `soraldo_ele_lista` ADD PRIMARY KEY (`id_lista`) USING BTREE";
+$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`";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
+$sql="ALTER TABLE `soraldo_ele_gruppo` ADD INDEX `id_cons` (`id_cons`, `id_circ`) USING BTREE";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
+$sql="ALTER TABLE `soraldo_ele_gruppo` DROP PRIMARY KEY";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
+$sql="ALTER TABLE `soraldo_ele_gruppo` ADD PRIMARY KEY (`id_gruppo`) USING BTREE";
+$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`";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
+$sql="ALTER TABLE `soraldo_ele_candidati` ADD INDEX `id_cons` (`id_cons`, `id_lista`) USING BTREE";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
+$sql="ALTER TABLE `soraldo_ele_candidati` DROP PRIMARY KEY";
+$ret=aggiorna($sql,$dbi);
+if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato<br>";
+$sql="ALTER TABLE `soraldo_ele_candidati` ADD PRIMARY KEY (`id_cand`) USING BTREE";
+$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`";
+$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>";
+###############
+
+	
+	$new=0;
+	try{
+		$sql = "SELECT * FROM ".$prefix."_view_sezione limit 0,1";
+		$res = $dbi->prepare("$sql");
+		$res->execute();
+        }
+	catch(PDOException $e)
+	{
+		$new=1;
+		$sql = "CREATE VIEW `soraldo_view_sezione` AS select 
+		`t1`.`id_cons` AS `id_cons`,
+		`t1`.`id_sez` AS `id_sez`,
+		`t1`.`num_sez` AS `num_sez`,
+		`t2`.`id_sede` AS `id_sede`,
+		`t3`.`id_circ` AS `id_circ`,
+		`t3`.`num_circ` AS `num_circ`,
+		`t3`.`descrizione` AS `descrizione`
+		from ((`soraldo_ele_circoscrizione` `t3` 
+		join `soraldo_ele_sede` `t2`) 
+		join `soraldo_ele_sezioni` `t1`) 
+		where (`t3`.`id_circ` = `t2`.`id_circ`)
+		and (`t2`.`id_sede` = `t1`.`id_sede`)";
+		$res = $dbi->prepare("$sql");
+		$res->execute();
+	}                                                                                       	
+	if($new) echo "Creata la vista per le sezioni<br>";
+	else echo "La vista per le sezioni Ãš giÃ  presente<br>";
+
+		$new=0;
+	try{
+		$sql = "SELECT * FROM ".$prefix."_view_candidato limit 0,1";
+		$res = $dbi->prepare("$sql");
+		$res->execute();
+        }
+	catch(PDOException $e)
+	{
+		$new=1;
+		$sql = "CREATE VIEW `soraldo_view_candidato` AS select 
+		`t3`.`id_cons` AS `id_cons`,
+		`t3`.`id_sez` AS `id_sez`,
+		`t4`.`id_lista` AS `id_lista`,
+		`t4`.`num_lista` AS `num_lista`,
+		`t3`.`num_sez` AS `num_sez`,
+		`t1`.`num_cand` AS `num_cand`,
+		concat(`t1`.`cognome`,' ',`t1`.`nome`) AS `descrizione`,
+		`t2`.`voti` AS `voti` 
+		from (((`soraldo_ele_candidati` `t1` 
+		join `soraldo_ele_voti_candidati` `t2`) 
+		join `soraldo_ele_sezioni` `t3`) 
+		join `soraldo_ele_lista` `t4`) 
+		where ((`t1`.`id_lista` = `t4`.`id_lista`)
+		and (`t1`.`id_cand` = `t2`.`id_cand`)
+		and (`t2`.`id_sez` = `t3`.`id_sez`))";
+		$res = $dbi->prepare("$sql");
+		$res->execute();
+	}                                                                                       	
+	if($new) echo "Creata la vista per i candidati<br>";
+	else echo "La vista per i candidati Ãš giÃ  presente<br>";
+	$new=0;
+	try{
+		$sql = "SELECT * FROM ".$prefix."_view_lista limit 0,1";
+		$res = $dbi->prepare("$sql");
+		$res->execute();
+        }
+	catch(PDOException $e)
+	{
+		$new=1;
+		$sql = "CREATE VIEW `soraldo_view_lista` AS select 
+		`t1`.`id_cons` AS `id_cons`,
+		`t1`.`id_sez` AS `id_sez`,
+		`t1`.`num_sez` AS `num_sez`,
+		`t2`.`id_lista` AS `id_lista`,
+		`t2`.`num_lista` AS `num_lista`,
+		`t2`.`descrizione` AS `descrizione`,
+		`t4`.`id_gruppo` AS `id_gruppo`,
+		`t4`.`num_gruppo` AS `num_gruppo`,
+		`t4`.`descrizione` AS `desgruppo`,
+		`t3`.`voti` AS `voti` 
+		from (((`soraldo_ele_sezioni` `t1` 
+		join `soraldo_ele_lista` `t2`) 
+		join `soraldo_ele_voti_lista` `t3`) 
+		join `soraldo_ele_gruppo` `t4`) 
+		where ((`t1`.`id_sez` = `t3`.`id_sez`)
+		and (`t2`.`id_lista` = `t3`.`id_lista`)
+		and (`t2`.`id_gruppo` = `t4`.`id_gruppo`))";
+		$res = $dbi->prepare("$sql");
+		$res->execute();
+	}                                                                                       	
+	if($new) echo "Creata la vista per le liste<br>";
+	else echo "La vista per le liste Ãš giÃ  presente<br>";
+	$new=0;
+	
+	try{
+		$sql = "SELECT * FROM ".$prefix."_view_gruppo limit 0,1";
+		$res = $dbi->prepare("$sql");
+		$res->execute();
+        }
+	catch(PDOException $e)
+	{
+		$new=1;
+		$sql = "CREATE VIEW `soraldo_view_gruppo` AS select 
+		`t1`.`id_cons` AS `id_cons`,
+		`t1`.`id_sez` AS `id_sez`,
+		`t1`.`num_sez` AS `num_sez`,
+		`t2`.`id_gruppo` AS `id_gruppo`,
+		`t2`.`num_gruppo` AS `num_gruppo`,
+		`t2`.`descrizione` AS `descrizione`,
+		`t3`.`voti` AS `voti` 
+		from ((`soraldo_ele_sezioni` `t1` 
+		join `soraldo_ele_gruppo` `t2`) 
+		join `soraldo_ele_voti_gruppo` `t3`) 
+		where ((`t1`.`id_sez` = `t3`.`id_sez`)
+		and (`t2`.`id_gruppo` = `t3`.`id_gruppo`))";
+		$res = $dbi->prepare("$sql");
+		$res->execute();
+	}                                                                                       	
+	if($new) echo "Creata la vista per i gruppi<br>";
+	else echo "La vista per i gruppi Ãš giÃ  presente<br>";
+	
+	
+
+?>
