false, PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
$sql = "use $dbname";
$dbi->exec($sql);
}
catch(PDOException $e)
{
die( $sql . "
" . $e->getMessage());
}
###############
function aggiorna($sql,$dbi){
$new=0;
try{
$res = $dbi->prepare("$sql");
$res->execute();
}
catch(PDOException $e)
{
echo $sql . "
" . $e->getMessage();
return 0;
}
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 $vifs `Versione` `versione` int(3)";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$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 "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$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 "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$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 "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$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 "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$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 "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$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 "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$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 "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$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 "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$sql="ALTER TABLE `soraldo_ele_voti_ref` DROP INDEX $vifs `id_cons`; ";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato
";
$sql="ALTER TABLE `soraldo_ele_voti_ref` ADD INDEX `id_cons` (`id_cons`, `id_gruppo`) USING BTREE";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo $num++.") Aggiornato
";
$sql="ALTER TABLE `soraldo_ele_voti_lista` DROP INDEX $vifs `id_cons`";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato
";
$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 "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$sql="ALTER TABLE `soraldo_ele_voti_gruppo` DROP INDEX $vifs `id_cons`";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato
";
$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 "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$sql="ALTER TABLE `soraldo_ele_voti_candidati` DROP INDEX $vifs `id_cons`";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato
";
$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 "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$sql="ALTER TABLE `soraldo_ele_lista` DROP INDEX $vifs `id_cons`";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato
";
$sql="ALTER TABLE `soraldo_ele_lista` ADD INDEX `id_cons` (`id_cons`, `id_gruppo`) USING BTREE";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$sql="ALTER TABLE `soraldo_ele_lista` DROP INDEX $vifs `PRIMARY`";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato
";
$sql="ALTER TABLE `soraldo_ele_lista` ADD PRIMARY KEY (`id_lista`) USING BTREE";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$sql="ALTER TABLE `soraldo_ele_gruppo` DROP INDEX $vifs `id_cons`";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato
";
$sql="ALTER TABLE `soraldo_ele_gruppo` ADD INDEX `id_cons` (`id_cons`, `id_circ`) USING BTREE";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$sql="ALTER TABLE `soraldo_ele_gruppo` DROP INDEX $vifs `PRIMARY`";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato
";
$sql="ALTER TABLE `soraldo_ele_gruppo` ADD PRIMARY KEY (`id_gruppo`) USING BTREE";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$sql="ALTER TABLE `soraldo_ele_candidati` DROP INDEX $vifs `id_cons`";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato
";
$sql="ALTER TABLE `soraldo_ele_candidati` ADD INDEX `id_cons` (`id_cons`, `id_lista`) USING BTREE";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$sql="ALTER TABLE `soraldo_ele_candidati` DROP INDEX $vifs `PRIMARY`";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo $num++.") Index eliminato
";
$sql="ALTER TABLE `soraldo_ele_candidati` ADD PRIMARY KEY (`id_cand`) USING BTREE";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$sql="ALTER TABLE `soraldo_ele_sezioni` ADD $vifn `colore` VARCHAR(50) NULL AFTER `solo_lista`";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$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 "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$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 "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
$sql="update `soraldo_ele_voti_lista` as t1 left join `soraldo_ele_lista` as t2 on t1.id_lista=t2.id_lista set t1.num_lista=t2.num_lista;";
$ret=aggiorna($sql,$dbi);
if(!$ret) echo "
".$num++.") Fallito: $sql"; else echo "
".$num++.") Aggiornato
";
###############
$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
";
else echo "La vista per le sezioni è già presente
";
$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
";
else echo "La vista per i candidati è già presente
";
$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
";
else echo "La vista per le liste è già presente
";
$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
";
else echo "La vista per i gruppi è già presente
";
?>