- Timestamp:
- Mar 27, 2022, 7:51:34 PM (3 years ago)
- Location:
- trunk
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/admin/aggiornadb.php
r361 r362 1 1 <?php 2 2 3 #implementare controllo con: SHOW INDEX FROM tua_tabella WHERE tua_tabella.tua_colonna='nome_colonna'; 3 #imposta il charset su utf8, qualsiasi altro valore per cambiarlo in latin1; 4 $newcs='utf8'; 5 4 6 @require_once("config.php"); 5 7 try{ 6 $dbi = new PDO("mysql:host=$dbhost;charset=latin1", $dbuname, $dbpass, array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));7 8 $dbi->exec($sql); 9 8 $dbi = new PDO("mysql:host=$dbhost", $dbuname, $dbpass, array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION)); 9 $sql = "use $dbname"; 10 $dbi->exec($sql); 11 } 10 12 catch(PDOException $e) 11 13 { 12 14 die( $sql . "<br>" . $e->getMessage()); 13 15 } 16 17 14 18 ############### 15 19 function aggiorna($sql,$dbi,$sql2,$num){ … … 95 99 $num=0; 96 100 101 if(controllo($prefix.'_authors','admincomune',++$num)) 102 { 103 $sql="update `".$prefix."_authors` set admincomune='1' where aid='admin'"; 104 $ret=aggiorna($sql,$dbi,'',$num); 105 $sql="update `".$prefix."_authors` set admincomune='0' where aid!='admin'"; 106 $ret=aggiorna($sql,$dbi,'',$num); 107 echo "Aggiornata la tabella dei permessi<br>"; 108 } 109 97 110 if(!controllo($prefix.'_config','versione',++$num)) 98 111 { 99 112 $sql="alter table `".$prefix."_config` change column `Versione` `versione` int(3)"; 113 $ret=aggiorna($sql,$dbi,'',$num); 114 } 115 116 if(!controllo($prefix.'_config','versione',++$num)) 117 { 118 $sql="alter table `".$prefix."_config` change column `Versione` `versione` int(3)"; 119 $ret=aggiorna($sql,$dbi,'',$num); 120 } 121 122 if(!controllo($prefix.'_config','secret',++$num)) 123 { 124 $sql="alter table `".$prefix."_config` DROP `secret`"; 100 125 $ret=aggiorna($sql,$dbi,'',$num); 101 126 } … … 374 399 375 400 echo "<br>Modifica Charset del database<br>"; 376 #$sql="ALTER DATABASE $dbname CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'"; 401 if($newcs=='utf8') { 402 $cset='utf8'; 403 $ccollate='utf8_general_ci'; 404 $preset='latin1'; 405 }else{ 406 $cset='latin1'; 407 $ccollate='latin1_swedish_ci'; 408 $preset='utf8'; 409 } 410 #$sql="ALTER DATABASE $dbname CHARACTER SET '$cset' COLLATE '$ccollate'"; 377 411 #$res = $dbi->prepare("$sql"); 378 412 #$res->execute(); 379 # alter table $table DEFAULT CHARSET=utf8 COLLATE utf8_general_ci 380 $sql="SELECT table_name,column_name,column_default,column_type,is_nullable FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '$dbname' and (character_set_name=' latin1' or collation_name like 'latin%')";413 414 $sql="SELECT table_name,column_name,column_default,column_type,is_nullable FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '$dbname' and (character_set_name='$preset' or collation_name like '$preset%')"; 381 415 $res = $dbi->prepare("$sql"); 382 416 $res->execute(); 383 417 $tab=''; 418 419 384 420 while(list($nometab,$campo,$def,$tipo,$nul)=$res->fetch(PDO::FETCH_NUM)) { 385 421 if($tab!=$nometab){ 386 $sql="alter table $nometab DEFAULT CHARSET= utf8 COLLATE utf8_general_ci";422 $sql="alter table $nometab DEFAULT CHARSET=$cset COLLATE $ccollate"; 387 423 try{ 388 424 $res2 = $dbi->prepare("$sql"); … … 397 433 if($def!='') $default="DEFAULT '$def'"; else $default=''; 398 434 if($nul=='NO') $nullable='NOT NULL'; else $nullable='NULL'; 399 $sql="ALTER TABLE $nometab CHANGE $campo $campo $tipo CHARACTER SET ' utf8' COLLATE 'utf8_general_ci' $nullable $default;";435 $sql="ALTER TABLE $nometab CHANGE $campo $campo $tipo CHARACTER SET '$cset' COLLATE '$ccollate' $nullable $default;"; 400 436 echo "-- $campo<br>"; 401 437 try{ … … 406 442 { 407 443 $default="DEFAULT $def"; 408 $sql="ALTER TABLE $nometab CHANGE $campo $campo $tipo CHARACTER SET ' utf8' COLLATE 'utf8_general_ci' $nullable $default;";444 $sql="ALTER TABLE $nometab CHANGE $campo $campo $tipo CHARACTER SET '$cset' COLLATE '$ccollate' $nullable $default;"; 409 445 try{ 410 446 $res2 = $dbi->prepare("$sql"); … … 417 453 } 418 454 } 419 $sql="SELECT table_name FROM INFORMATION_SCHEMA.tables WHERE TABLE_SCHEMA = '$dbname' and table_collation like ' latin%'";455 $sql="SELECT table_name FROM INFORMATION_SCHEMA.tables WHERE TABLE_SCHEMA = '$dbname' and table_collation like '$preset%'"; 420 456 $res = $dbi->prepare("$sql"); 421 457 $res->execute(); 422 458 $tab=''; 423 459 while(list($nometab)=$res->fetch(PDO::FETCH_NUM)) { 424 $sql="alter table $nometab DEFAULT CHARSET= utf8 COLLATE utf8_general_ci";460 $sql="alter table $nometab DEFAULT CHARSET=$cset COLLATE $ccollate"; 425 461 try{ 426 462 echo "Tabella: $nometab <br>"; -
trunk/admin/modules/Elezioni/ele.php
r358 r362 66 66 function ele() { 67 67 68 global $espandi, $aid, $bgcolor1, $bgcolor2,$bgcolor5, $prefix, $dbi, $offset, $min,$descr_cons, $id_cons_gen,$tipo_cons,$genere,$op,$id_comune,$perms,$id_cons,$votog,$votol,$votoc,$votocirc,$tema,$fascia ;68 global $espandi, $aid, $bgcolor1, $bgcolor2,$bgcolor5, $prefix, $dbi, $offset, $min,$descr_cons, $id_cons_gen,$tipo_cons,$genere,$op,$id_comune,$perms,$id_cons,$votog,$votol,$votoc,$votocirc,$tema,$fascia,$limite; 69 69 70 70 include ("header.php"); … … 77 77 78 78 $row=daticonscom(); 79 if (isset($row[' fascia'])) $fascia=$row['fascia'];79 if (isset($row['id_fascia'])) $fascia=$row['id_fascia']; 80 80 else 81 81 $fascia=0; … … 277 277 } 278 278 echo "<a href=\"admin.php?op=riepilogo&id_cons_gen=$id_cons_gen\">$bullet "._RIEPILOGO."</a><br>"; 279 if($tipo_cons==18 or $tipo_cons==19) 280 echo "<a href=\"admin.php?op=riepilogovoti&id_cons_gen=$id_cons_gen\">$bullet Tabella dei Totali </a><br>"; 279 # if($tipo_cons==18 or $tipo_cons==19) 280 281 if($genere==5 and ($fascia>$limite or $limite==0)) 282 echo "<a href=\"admin.php?op=riepilogovoti&id_cons_gen=$id_cons_gen\">$bullet Tabella dei Totali</a><br>"; 281 283 } 282 284 -
trunk/admin/modules/Elezioni/ele_riepilogovoti.php
r344 r362 67 67 68 68 ################# calcolo voti di lista espressi 69 $sql="select sum(validi_lista),sum(nulli+bianchi+voti_nulli+contestati+ contestati_lista+solo_gruppo+voti_nulli_lista) from ".$prefix."_ele_sezioni where id_cons='$id_cons'";69 $sql="select sum(validi_lista),sum(nulli+bianchi+voti_nulli+contestati+solo_gruppo),sum(voti_nulli_lista),sum(contestati_lista) from ".$prefix."_ele_sezioni where id_cons='$id_cons'"; 70 70 $resperc = $dbi->prepare("$sql"); 71 71 $resperc->execute(); 72 list($scruvalidi,$scrunulli )=$resperc->fetch(PDO::FETCH_NUM);72 list($scruvalidi,$scrunulli,$nullista,$contlista)=$resperc->fetch(PDO::FETCH_NUM); 73 73 74 74 if($totschede) 75 $listpercscru=number_format(($scruvalidi+$scrunulli )*100/$totschede,2);75 $listpercscru=number_format(($scruvalidi+$scrunulli+$nullista+$contlista)*100/$totschede,2); 76 76 else $listpercscru=0; 77 77 $listtotschede=$totschede; 78 $listtotvoti=($scruvalidi+$scrunulli );78 $listtotvoti=($scruvalidi+$scrunulli+$nullista+$contlista); 79 79 80 80 ################# 81 echo "<table border=\"1\" cellpadding=\"5\" ><tr align=\"middle\"><th colspan=\"5\">Riepilogo dei voti per gruppo e liste collegate</th></tr>";81 echo "<table border=\"1\" cellpadding=\"5\" style=\"border-collapse: collapse; outline: thin solid;\"><tr align=\"middle\"><th colspan=\"5\">Riepilogo dei voti per gruppo e liste collegate</th></tr>"; 82 82 echo "<tr align=\"middle\"><td colspan=\"3\"><b>Scrutinate $listtotvoti schede su $listtotschede ($listpercscru %)</b></td><td colspan=\"2\"><b>Scrutinate $listtotvoti schede su $listtotschede ($listpercscru %)</b></td></tr>"; 83 echo "<tr align=\"middle\"><td><b> Candidato Uninominale</b></td><td><b>Voti</b></td><td><b>Al solo</br>Candidato Uninominale</b></td><td><b>Lista</br>Collegata</b></td><td><b>Voti alla lista</b></td></tr>";83 echo "<tr align=\"middle\"><td><b>"._GRUPPO."</b></td><td><b>Voti</b></td><td><b>Al solo</br>"._GRUPPO."</b></td><td><b>Lista</br>Collegata</b></td><td><b>Voti alla lista</b></td></tr>"; 84 84 $totl=0;$totg=0;$totsg=0; 85 85 while(list($id_gruppo,$votigruppo,$sologruppo)=$res->fetch(PDO::FETCH_NUM)) … … 90 90 $resl->execute(); 91 91 $numliste=$resl->rowCount(); 92 if(!$numliste) $numliste=1; 92 93 $sql="SELECT num_gruppo,descrizione FROM ".$prefix."_ele_gruppo where id_gruppo='$id_gruppo'"; 93 94 $resg2 = $dbi->prepare("$sql"); … … 95 96 list($num_gruppo,$descrg)=$resg2->fetch(PDO::FETCH_NUM); 96 97 97 echo "<tr ><td rowspan=\"$numliste\">$descrg</td><td rowspan=\"$numliste\" align=\"right\"><h2>".number_format($votigruppo,0,',','.')."</h2></td><td rowspan=\"$numliste\" align=\"right\"><h2>".number_format($sologruppo,0,',','.')."</h2></td>";98 echo "<tr style=\"border-top: 2px solid;\"><td rowspan=\"$numliste\">$descrg</td><td rowspan=\"$numliste\" align=\"right\"><h2>".number_format($votigruppo,0,',','.')."</h2></td><td rowspan=\"$numliste\" align=\"right\"><h2>".number_format($sologruppo,0,',','.')."</h2></td>"; 98 99 $currlst=0; 99 100 while (list($id_lista,$num_lista,$descrl)=$resl->fetch(PDO::FETCH_NUM)) … … 107 108 echo "<td>$num_lista) $descrl</td><td align=\"right\"><h2>".number_format($votilista,0,',','.')."</h2></td></tr>"; 108 109 } 110 if(!$currlst) echo "<td></td><td></td></tr>"; 109 111 } 110 echo "<tr ><td><b>Totale</b></td><td align=\"right\"><h1>".number_format($totg,0,',','.')."</h1></td><td align=\"right\"><h1>".number_format($totsg,0,',','.')."</h1></td><td></td><td align=\"right\"><h1>".number_format($totl,0,',','.')."</h1></td></tr>";112 echo "<tr style=\"border-top: 2px solid;\"><td rowspan=\"3\"><b>Totale</b></td><td rowspan=\"3\" align=\"right\"><h1>".number_format($totg,0,',','.')."</h1></td><td rowspan=\"3\" align=\"right\"><h1>".number_format($totsg,0,',','.')."</h1></td><td align=\"right\"><b>Validi di lista</b></td><td align=\"right\"><h1>".number_format($totl,0,',','.')."</h1></td></tr><tr><td align=\"right\"><b>Nulli di lista</b></td><td align=\"right\"><h1>".number_format($nullista,0,',','.')."</h1></td></tr><tr><td align=\"right\"><b>Contestati di lista</b></td><td align=\"right\"><h1>".number_format($contlista,0,',','.')."</h1></td></tr>"; 111 113 echo "</table></br>"; 112 114 -
trunk/admin/modules/Elezioni/ele_spoglio.php
r361 r362 590 590 $errcolor="style=\"background-color: rgb(255, 0, 0);\""; 591 591 $bordcolor="border-color:red;"; 592 }elseif(!$errcolor && $numrec) $errcolor="style=\"background-color: #99CC33;\""; 592 }elseif(!$errcolor && $numrec) $errcolor="style=\"background-color: #99CC33;\""; 593 if($genere>=4 and !$votoc) $stilcur="style=\"cursor: pointer;\""; else $stilcur=''; 593 594 echo "<td align=\"center\" $errcolor><b> $num_lista </b></td>" 594 ."<td align=\"left\" style=\"cursor: pointer;\"onClick=\"vai_lista('id_rif$i');\"><b>$descr_lista</b></td>";595 ."<td align=\"left\" $stilcur onClick=\"vai_lista('id_rif$i');\"><b>$descr_lista</b></td>"; 595 596 ## $cond_sele="and id_lista=$id_lista3"; 596 597 echo "<td align=\"right\"><input name=\"voti$i\" value=\"".$voti."\" size=\"7\" onfocus=\"select();\" style=\"text-align:right; $bordcolor;\"><input id=\"id_rif$i\" type=\"hidden\" name=\"id_lista$i\" value=\"$id_lista3\">"; … … 979 980 else 980 981 echo "<tr style=\"background-color:$bgcolor2; text-align:center\">"; 981 $descr = explode('.',$descr_gruppo, 100);982 # $descr = explode('.',$descr_gruppo, 100); 982 983 echo "<td colspan=\"6\" align=\"center\"><input type=\"hidden\" name=\"id_gruppo$i\" value=\"$id_gruppo\"><b>$num_gruppo) </b>" 983 ."<b> $descr [0]</b></td></tr>";984 ."<b> $descr_gruppo </b></td></tr>"; 984 985 $pro['si']=(isset($pro['si']) and $pro['si']>=0) ? $pro['si']:''; 985 986 $pro['no']=(isset($pro['no']) and $pro['no']>=0) ? $pro['no']:''; -
trunk/admin/modules/Elezioni/ele_voti.php
r361 r362 336 336 if($genere==2 and $votog) 337 337 echo "<td bgcolor=\"$bgcolorg\" align=\"center\" $bordog onClick=\"vai_scelta('admin.php?op=voti&id_comune=$id_comune&id_sez=$id_sez&id_cons_gen=$id_cons_gen&do=spoglio&ops=4');\"><p style=\"margin-left:10px;margin-right:10px;\"><b><font color=\"$tcolorg\">"._GRUPPO."</font></b></p></td>\n"; 338 elseif($genere>=4 and !$votoc) 339 echo "<td bgcolor=\"$bgcolorl\" align=\"center\"$bordol onClick=\"vai_scelta('admin.php?op=voti&id_comune=$id_comune&id_sez=$id_sez&id_cons_gen=$id_cons_gen&do=spoglio&ops=3');\"><p style=\"margin-left:10px;margin-right:10px;\"><b><font color=\"$tcolorl\">"._LISTAPREF."</font></b></p></td>\n"; 338 340 elseif(($genere>2 or $votog)){ //if(($genere>2 or $tipo_cons==10 or $tipo_cons==11)){ 339 341 echo "<td bgcolor=\"$bgcolorl\" align=\"center\"$bordol onClick=\"vai_scelta('admin.php?op=voti&id_comune=$id_comune&id_sez=$id_sez&id_cons_gen=$id_cons_gen&do=spoglio&ops=3');\"><p style=\"margin-left:10px;margin-right:10px;\"><b><font color=\"$tcolorl\">"._LISTA."</font></b></p></td>\n"; -
trunk/admin/modules/Elezioni/ele_widget.php
r360 r362 192 192 //Funzione crea db se non esiste 193 193 //********************************************************************** 194 194 /* 195 195 function make_db_widget(){ 196 196 global $dbi,$prefix; … … 209 209 210 210 } 211 211 */ 212 212 213 213 ?> -
trunk/admin/modules/Elezioni/importa.php
r360 r362 21 21 include("modules/Elezioni/ele.php"); 22 22 23 24 23 function insgruppo() 25 24 { 26 global $prefix, $dbi;27 global $ar_gruppo,$ar_lista,$ar_candi,$idcns;28 29 foreach ($ar_gruppo as $rigagruppo){30 $newidg=0;31 $oldidg=0;32 $isnew=0;33 foreach($rigagruppo as $key=>$campo){34 if ($key==0) $valori="'$idcns',";35 elseif ($key==1) {$valori.= "null"; $oldidg=$campo;}36 elseif ($key==6) $valori.= ",0";37 elseif($key==4 || $key==8) $valori.=",'".utf8_encode($campo)."'";38 elseif($key==9) $valori.=",''";39 else $valori.= ",'".$campo."'";40 if ($key==2) $numgruppo= $campo;41 if ($key==8) $isnew=1;42 }43 if (!$isnew and isset($valori)) $valori.=",null,null";44 if(isset($valori)){45 46 $sql="insert into ".$prefix."_ele_gruppo values($valori)";47 try {48 $res_gruppo = $dbi->prepare("$sql");49 $res_gruppo->execute();50 }51 catch(PDOException $e)52 {53 echo $sql . "<br>" . $e->getMessage();54 }55 $sql="select id_gruppo from ".$prefix."_ele_gruppo where num_gruppo='$numgruppo' and id_cons='$idcns'";56 $resnew = $dbi->prepare("$sql");57 $resnew->execute();58 list ($newidg) = $resnew->fetch(PDO::FETCH_NUM);59 unset($valori);60 if($oldidg)61 $_SESSION['gruppi']['idg_'.$oldidg]=$newidg;62 # inslista($oldidg,$newidg); 63 }64 }65 } 66 67 function inslista() #$oldidg,$newidg25 global $prefix, $dbi; 26 global $ar_gruppo,$ar_lista,$ar_candi,$idcns; 27 28 foreach ($ar_gruppo as $rigagruppo){ 29 $newidg=0; 30 $oldidg=0; 31 $isnew=0; 32 $numcampi=count($rigagruppo); 33 foreach($rigagruppo as $key=>$campo){ 34 if ($key==0) $valori="'$idcns',"; 35 elseif ($key==1) {$valori.= "null"; $oldidg=$campo;} 36 elseif ($key==6) $valori.= ",0"; 37 elseif($key==4) $valori.=",'".utf8_encode($campo)."'"; 38 elseif($key==7) {if($numcampi==9) $valori.=",0"; $valori.= ",'".$campo."'";} 39 elseif($key==8) {$valori.=",'".utf8_encode($campo)."'";$isnew=1;} 40 elseif($key==9) {$valori.=",''";} 41 else $valori.= ",'".$campo."'"; 42 if ($key==2) $numgruppo= $campo; 43 } 44 if (!$isnew and isset($valori)) $valori.=",null,null"; 45 if(isset($valori)){ 46 $sql="insert into ".$prefix."_ele_gruppo values($valori)"; 47 try { 48 $res_gruppo = $dbi->prepare("$sql"); 49 $res_gruppo->execute(); 50 } 51 catch(PDOException $e) 52 { 53 echo $sql . "<br>" . $e->getMessage(); 54 } 55 $sql="select id_gruppo from ".$prefix."_ele_gruppo where num_gruppo='$numgruppo' and id_cons='$idcns'"; 56 $resnew = $dbi->prepare("$sql"); 57 $resnew->execute(); 58 list ($newidg) = $resnew->fetch(PDO::FETCH_NUM); 59 unset($valori); 60 if($oldidg) 61 $_SESSION['gruppi']['idg_'.$oldidg]=$newidg; 62 } 63 } 64 } 65 66 function inslista() 68 67 { 69 68 global $prefix, $dbi; … … 78 77 foreach($rigalista as $key=>$campo){ 79 78 if ($key==0) $valori=$idcns.","; 80 /* elseif ($key==1) {$oldidl=$campo;}81 elseif ($key==2) {$num_lista=$campo;$numlista=$campo;}82 elseif ($key==3) {$id_gruppo=$newidg; if ($campo!=$oldidg) $okl=1;}83 elseif ($key==5) $id_circ=$campo;84 elseif ($key==7) $descr_lista=$campo;85 elseif ($key==8) $stemmanome=$campo;86 elseif ($key==9) $stemmablob=$campo;87 */88 79 elseif ($key==1) {$valori.= "null,";$oldidl=$campo;} 89 80 elseif ($key==2) {$valori.="'$campo',";$numlista= $campo;} … … 91 82 elseif ($key==4) $valori.= "0,"; 92 83 elseif ($key==9 ) $valori.= "'$campo'"; 93 # else $valori.= "'$campo',"; # htmlentities(stripslashes(utf8_decode($_POST['parola'])));94 84 else $valori.="'".utf8_encode($campo)."',"; 95 # else $valori.= "'".htmlentities($campo, ENT_QUOTES, "UTF-8")."',"; htmlspecialchars($str, ENT_QUOTES)96 85 } 97 86 if($key==9){ 98 if ($okl) {$okl=0;continue;} 99 # $valori2=htmlentities($valori); 100 # $sql="insert into ".$prefix."_ele_lista (id_cons,num_lista,id_gruppo,id_circ,descrizione,simbolo,stemma) values ('$id_cons','$num_lista','$id_gruppo','$id_circ','$descr_lista','$stemmanome','$stemmablob')"; 101 $sql="insert into ".$prefix."_ele_lista values($valori)"; 102 try { 103 $res_lista = $dbi->prepare("$sql"); 104 $res_lista->execute(); 105 } 106 catch(PDOException $e) 107 { 108 echo $sql . "<br>" . $e->getMessage(); 109 } 110 111 $sql="select id_lista from ".$prefix."_ele_lista where num_lista='$numlista' and id_cons='$idcns'"; 112 $reslnew = $dbi->prepare("$sql"); 113 $reslnew->execute(); 114 list ($newidl) = $reslnew->fetch(PDO::FETCH_NUM); 115 unset($valori); 116 if($oldidl){ 117 $_SESSION['liste']['idl_'.$oldidl]=$newidl; 118 echo "id_lista:$oldidl:$newidl<br>"; 119 } 120 # inscandi($oldidl,$newidl); 121 } 122 } 123 } 124 125 function inscandi()#$oldidl,$newidl 126 { 127 global $prefix, $dbi; 128 global $ar_candi,$idcns; 129 130 foreach ($ar_candi as $rigacandi){ 131 if(!isset($rigacandi[2])) continue; 132 $okc=0; 133 $oldidl=$rigacandi[2]; 134 $newidl=$_SESSION['liste']['idl_'.$oldidl]; 135 foreach($rigacandi as $key=>$campo){#echo "$key -- $campo<br>"; 136 if (count($rigacandi)!=9) {unset($valori);continue;} 137 if ($key==0) $valori= "null,"; 138 elseif ($key==1) $valori.="'$idcns',"; 139 elseif ($key==2) {$valori.= "'$newidl'"; if ($campo!=$oldidl) $okc=1;} 140 else $valori.= ",'".utf8_encode($campo)."'"; 141 } 142 if(isset($valori) and $valori!=''){ 143 if ($okc) {$okc=0;continue;} 144 # $valori2=addslashes($valori); 145 $sql="insert into ".$prefix."_ele_candidati values($valori)"; 146 # $res_lista = $dbi->prepare("$sql"); 147 # $res_lista->execute(); 148 try { 149 $res_lista = $dbi->prepare("$sql"); 150 $res_lista->execute(); 151 } 152 catch(PDOException $e) 153 { 154 echo "<br>key:$key sql:".$sql . "<br>" . $e->getMessage(); 155 } 156 } 157 } 158 #foreach($_SESSION['liste'] as $key=>$val) echo "$key -- $val<br>"; 87 if ($okl) {$okl=0;continue;} 88 $sql="insert into ".$prefix."_ele_lista values($valori)"; 89 try { 90 $res_lista = $dbi->prepare("$sql"); 91 $res_lista->execute(); 92 } 93 catch(PDOException $e) 94 { 95 echo $sql . "<br>" . $e->getMessage(); 96 } 97 98 $sql="select id_lista from ".$prefix."_ele_lista where num_lista='$numlista' and id_cons='$idcns'"; 99 $reslnew = $dbi->prepare("$sql"); 100 $reslnew->execute(); 101 list ($newidl) = $reslnew->fetch(PDO::FETCH_NUM); 102 unset($valori); 103 if($oldidl){ 104 $_SESSION['liste']['idl_'.$oldidl]=$newidl; 105 } 106 } 107 } 108 } 109 110 function inscandi() 111 { 112 global $prefix, $dbi; 113 global $ar_candi,$idcns; 114 115 foreach ($ar_candi as $rigacandi){ 116 if(!isset($rigacandi[2])) continue; 117 $okc=0; 118 $oldidl=$rigacandi[2]; 119 $newidl=$_SESSION['liste']['idl_'.$oldidl]; 120 foreach($rigacandi as $key=>$campo){ 121 if (count($rigacandi)!=9) {unset($valori);continue;} 122 if ($key==0) $valori= "null,"; 123 elseif ($key==1) $valori.="'$idcns',"; 124 elseif ($key==2) {$valori.= "'$newidl'"; if ($campo!=$oldidl) $okc=1;} 125 else $valori.= ",'".utf8_encode($campo)."'"; 126 } 127 if(isset($valori) and $valori!=''){ 128 if ($okc) {$okc=0;continue;} 129 $sql="insert into ".$prefix."_ele_candidati values($valori)"; 130 try { 131 $res_lista = $dbi->prepare("$sql"); 132 $res_lista->execute(); 133 } 134 catch(PDOException $e) 135 { 136 echo "<br>key:$key sql:".$sql . "<br>" . $e->getMessage(); 137 } 138 } 139 } 159 140 } 160 141 … … 167 148 $res->execute(); 168 149 list($id_cons,$descrizione) = $res->fetch(PDO::FETCH_NUM); 169 170 150 if (!isset($_FILES['datafile']['tmp_name']) or !is_uploaded_file($_FILES['datafile']['tmp_name'])) 151 { 171 152 ele(); 172 if (isset($_GET['help'])) $help=intval($_GET['help']);153 if (isset($_GET['help'])) $help=intval($_GET['help']); 173 154 global $help,$language; 174 155 if (isset($help)) include("language/$language/ele_importa.html"); … … 179 160 echo "<table cellspacing=\"0\" cellpadding=\"2\" border=\"1\"><tr class=\"bggray\"><td colspan=\"2\" align=\"center\">"._SEL_DATA_FILE2."</td></tr><tr><td><input name=\"datafile\" type=\"file\"></td>"; 180 161 echo "<td align=\"center\"><input type=\"submit\" name=\"add\" value=\""._OK."\"></td></tr></table></form>"; 181 ////////////////////////////182 162 }else{ 183 $idcns=$id_cons;184 $sql="delete from ".$prefix."_ele_voti_ref where id_cons=$idcns";185 $res_del = $dbi->prepare("$sql");186 $res_del->execute();187 $sql="delete from ".$prefix."_ele_voti_candidati where id_cons=$idcns";188 $res_del = $dbi->prepare("$sql");189 $res_del->execute();190 $sql="delete from ".$prefix."_ele_voti_lista where id_cons=$idcns";191 $res_del = $dbi->prepare("$sql");192 $res_del->execute();193 $sql="delete from ".$prefix."_ele_voti_gruppo where id_cons=$idcns";194 $res_del = $dbi->prepare("$sql");195 $res_del->execute();196 $sql="update ".$prefix."_ele_sezioni set validi='0', contestati='0', validi_lista='0', nulli='0',bianchi='0',contestati_lista='0', voti_nulli_lista='0' where id_cons=$idcns";197 $res_del = $dbi->prepare("$sql");198 $res_del->execute();199 $sql="delete from ".$prefix."_ele_voti_parziale where id_cons=$idcns";200 $res_del = $dbi->prepare("$sql");201 $res_del->execute();202 $sql="delete from ".$prefix."_ele_candidati where id_cons=$idcns";203 $res_del = $dbi->prepare("$sql");204 $res_del->execute();205 $sql="delete from ".$prefix."_ele_lista where id_cons=$idcns";206 $res_del = $dbi->prepare("$sql");207 $res_del->execute();208 $sql="delete from ".$prefix."_ele_gruppo where id_cons=$idcns";209 $res_del = $dbi->prepare("$sql");210 $res_del->execute();211 $datafile=$_FILES['datafile']['tmp_name'];212 $arrFile = file($datafile);213 $handle = fopen($datafile, "r");214 $test=array();215 $errore=0;216 $fine=0;217 $numgruppo=0;218 $numlista=0;163 $idcns=$id_cons; 164 $sql="delete from ".$prefix."_ele_voti_ref where id_cons=$idcns"; 165 $res_del = $dbi->prepare("$sql"); 166 $res_del->execute(); 167 $sql="delete from ".$prefix."_ele_voti_candidati where id_cons=$idcns"; 168 $res_del = $dbi->prepare("$sql"); 169 $res_del->execute(); 170 $sql="delete from ".$prefix."_ele_voti_lista where id_cons=$idcns"; 171 $res_del = $dbi->prepare("$sql"); 172 $res_del->execute(); 173 $sql="delete from ".$prefix."_ele_voti_gruppo where id_cons=$idcns"; 174 $res_del = $dbi->prepare("$sql"); 175 $res_del->execute(); 176 $sql="update ".$prefix."_ele_sezioni set validi='0', contestati='0', validi_lista='0', nulli='0',bianchi='0',contestati_lista='0', voti_nulli_lista='0' where id_cons=$idcns"; 177 $res_del = $dbi->prepare("$sql"); 178 $res_del->execute(); 179 $sql="delete from ".$prefix."_ele_voti_parziale where id_cons=$idcns"; 180 $res_del = $dbi->prepare("$sql"); 181 $res_del->execute(); 182 $sql="delete from ".$prefix."_ele_candidati where id_cons=$idcns"; 183 $res_del = $dbi->prepare("$sql"); 184 $res_del->execute(); 185 $sql="delete from ".$prefix."_ele_lista where id_cons=$idcns"; 186 $res_del = $dbi->prepare("$sql"); 187 $res_del->execute(); 188 $sql="delete from ".$prefix."_ele_gruppo where id_cons=$idcns"; 189 $res_del = $dbi->prepare("$sql"); 190 $res_del->execute(); 191 $datafile=$_FILES['datafile']['tmp_name']; 192 $arrFile = file($datafile); 193 $handle = fopen($datafile, "r"); 194 $test=array(); 195 $errore=0; 196 $fine=0; 197 $numgruppo=0; 198 $numlista=0; 219 199 // Set counters 220 200 $currentLine = 0; 221 201 $cntFile = count($arrFile); 222 $tabs=array($prefix."_ele_gruppo",$prefix."_ele_lista",$prefix."_ele_candidati",$prefix."_ele_circoscrizione");223 $x=0;$k=0;224 $scarto=0;225 $primog=0;226 $primol=0;227 $conta=array();228 202 $tabs=array($prefix."_ele_gruppo",$prefix."_ele_lista",$prefix."_ele_candidati",$prefix."_ele_circoscrizione"); 203 $x=0;$k=0; 204 $scarto=0; 205 $primog=0; 206 $primol=0; 207 $conta=array(); 208 $currentLine = 0; 229 209 $x=0;$k=0; 230 210 $y=0; 231 $ar_gruppo=array(array()); 232 $ar_lista=array(array()); 233 $ar_candi=array(array()); 234 $z=0; 235 $tab=substr($arrFile[$currentLine],1,-2); 236 $conf=$tabs[$x]; 237 if($k==0) {while (substr($arrFile[$currentLine],1,-2)!=$conf and $currentLine <= $cntFile) $currentLine++; $k++;} 211 $ar_gruppo=array(array()); 212 $ar_lista=array(array()); 213 $ar_candi=array(array()); 214 $z=0; 215 $tab=substr($arrFile[$currentLine],1,-2); 216 $conf=$tabs[$x]; 217 if($k==0) {while (substr($arrFile[$currentLine],1,-2)!=$conf and $currentLine <= $cntFile) $currentLine++; $k++;} 218 $currentLine++; 219 while($currentLine <= $cntFile and $fine==0){ 220 if(isset($arrFile[$currentLine])) 221 $appo=substr($arrFile[$currentLine],1,-2); 222 else $appo=''; 223 if (isset($tabs[($x+1)]) and $appo==$tabs[($x+1)]){ $x++;$conf=$tabs[$x];$currentLine++; continue;} 224 $test=explode(':',$appo); 225 if(!is_array($test)) {die("errore di import<br>");} 226 foreach($test as $key=>$val) 227 if ($conf==$prefix."_ele_gruppo"){ 228 $ar_gruppo[$z][$key]=addslashes(base64_decode($val)); 229 } 230 elseif ($conf==$prefix."_ele_lista"){ 231 if($primog==0){ 232 $gruppofil= array_filter($ar_gruppo); 233 $numgruppo=count($gruppofil); 234 insgruppo(); 235 $primog=1; 236 unset($ar_gruppo); 237 } 238 $ar_lista[$z][$key]=addslashes(base64_decode($val)); 239 } 240 elseif ($conf==$prefix."_ele_candidati"){ 241 if($primog==0){ 242 $gruppofil= array_filter($ar_gruppo); 243 $numgruppo=count($gruppofil); 244 insgruppo(); 245 $primog=1; 246 unset($ar_gruppo); 247 } 248 elseif($primol==0){ 249 $listafil= array_filter($ar_lista); 250 $numlista=count($listafil); 251 inslista(); 252 $primol=1; 253 unset($ar_lista); 254 } 255 $ar_candi[$z][$key]=addslashes(base64_decode($val)); 256 } 257 elseif ($conf==$prefix."_ele_circoscrizione"){ 258 if($primog==0){ 259 $gruppofil= array_filter($ar_gruppo); 260 $numgruppo=count($gruppofil); 261 insgruppo(); 262 $primog=1; 263 unset($ar_gruppo); 264 } 265 elseif($primol==0){ 266 $listafil= array_filter($ar_lista); 267 $numlista=count($listafil); 268 inslista(); 269 $primol=1; 270 unset($ar_lista); 271 }else{ 272 inscandi(); 273 unset($ar_candi); 274 $fine=1; 275 break; 276 } 277 } 238 278 $currentLine++; 239 while($currentLine <= $cntFile and $fine==0){ 240 # $appo=substr($arrFile[$currentLine],1,-2); 241 if(isset($arrFile[$currentLine])) 242 $appo=substr($arrFile[$currentLine],1,-2); 243 else $appo=''; 244 if (isset($tabs[($x+1)]) and $appo==$tabs[($x+1)]){ $x++;$conf=$tabs[$x];$currentLine++; continue;} 245 $test=explode(':',$appo); if(!is_array($test)) {die("errore di import<br>");} 246 foreach($test as $key=>$val) 247 if ($conf==$prefix."_ele_gruppo"){ 248 $ar_gruppo[$z][$key]=addslashes(base64_decode($val));} 249 elseif ($conf==$prefix."_ele_lista"){ 250 if($primog==0){ 251 $gruppofil= array_filter($ar_gruppo); 252 $numgruppo=count($gruppofil); 253 insgruppo(); 254 $primog=1; 255 unset($ar_gruppo); 256 } 257 $ar_lista[$z][$key]=addslashes(base64_decode($val));} 258 elseif ($conf==$prefix."_ele_candidati"){ 259 if($primog==0){ 260 $gruppofil= array_filter($ar_gruppo); 261 $numgruppo=count($gruppofil); 262 insgruppo(); 263 $primog=1; 264 unset($ar_gruppo); 265 } 266 elseif($primol==0){ 267 $listafil= array_filter($ar_lista); 268 $numlista=count($listafil); 269 inslista(); 270 $primol=1; 271 unset($ar_lista); 272 } 273 $ar_candi[$z][$key]=addslashes(base64_decode($val)); 274 } 275 elseif ($conf==$prefix."_ele_circoscrizione"){ 276 if($primog==0){ 277 $gruppofil= array_filter($ar_gruppo); 278 $numgruppo=count($gruppofil); 279 insgruppo(); 280 $primog=1; 281 unset($ar_gruppo); 282 } 283 elseif($primol==0){ 284 $listafil= array_filter($ar_lista); 285 $numlista=count($listafil); 286 inslista(); 287 $primol=1; 288 unset($ar_lista); 289 }else{ 290 inscandi(); 291 unset($ar_candi); 292 $fine=1; 293 break; 294 } 295 } 296 $currentLine++; 297 $z++; 298 } 299 fclose($handle); 300 301 302 303 if ($numgruppo){ 304 # insgruppo(); 305 Header("Location: admin.php?op=gruppo&id_cons_gen=$id_cons_gen"); 306 } 307 elseif ($numlista) { 308 # inslista(); 309 Header("Location: admin.php?op=lista&id_cons_gen=$id_cons_gen"); 310 } 311 else Header("Location: admin.php?op=lista&id_cons_gen=$id_cons_gen"); 312 313 } 314 279 $z++; 280 } 281 fclose($handle); 282 if ($numgruppo){ 283 Header("Location: admin.php?op=gruppo&id_cons_gen=$id_cons_gen"); 284 } 285 elseif ($numlista) { 286 Header("Location: admin.php?op=lista&id_cons_gen=$id_cons_gen"); 287 } 288 else Header("Location: admin.php?op=lista&id_cons_gen=$id_cons_gen"); 289 290 } 315 291 echo"</td></tr></table>"; 316 292 include("footer.php"); 317 293 318 319 320 294 ?> -
trunk/admin/modules/Elezioni/language/lang-en.php
r297 r362 35 35 define("_SOLO_GRUPPO","Ballots for candidate Mayor only"); 36 36 define("_VOTI_LISTA","Ballots for the list"); 37 define("_LISTA","List"); 38 define("_LISTAPREF","List and Candidate"); 39 37 40 break; 38 41 case 4: 39 42 define("_GRUPPO","Candidate President"); 43 define("_LISTA","List"); 44 define("_LISTAPREF","List and Candidate"); 40 45 break; 41 46 case 5: … … 60 65 define("_GRUPPO","List"); 61 66 define("_LISTA","List"); 67 define("_LISTAPREF","List and Candidate"); 62 68 define("_GRUPPOLOGO","List Logo"); 63 69 define("_CONSI","List Candidate"); … … 67 73 define("_GRUPPO","Candidate for President"); 68 74 define("_CONSI","List Candidate"); 75 define("_LISTA","List"); 76 define("_LISTAPREF","List and Candidate"); 69 77 break; 70 78 case 10: //dal 2006 per senato e camera si ha un raggruppamento delle liste ma senza possibilità di voto per il gruppo (solo in italia!) … … 96 104 define("_GRUPPOLOGO","List Logo"); 97 105 define("_CONSI","List Candidate"); 106 define("_LISTA","List"); 107 define("_LISTAPREF","List and Candidate"); 98 108 break; 99 109 case 15: … … 108 118 define("_CONSULTAZIONE","Regional Parliament Election"); 109 119 define("_GRUPPO","Candidate for President"); 120 define("_LISTA","List"); 121 define("_LISTAPREF","List and Candidate"); 110 122 break; 111 123 case 18: … … 114 126 define("_SOLO_GRUPPO","Ballots for Group Candidate only"); 115 127 define("_LISTA","Linked List"); 128 define("_LISTAPREF","List and Candidate"); 116 129 define("_CANDIDATO","Blocked List"); 117 130 … … 123 136 define("_SOLO_GRUPPO","Ballots for Group Candidate only"); 124 137 define("_LISTA","Linked List"); 138 define("_LISTAPREF","List and Candidate"); 125 139 define("_CANDIDATO","Blocked List"); 126 140 -
trunk/admin/modules/Elezioni/language/lang-it.php
r352 r362 38 38 define("_CONSI","Consigliere"); 39 39 define("_LISTA","Lista"); 40 define("_LISTAPREF","Lista e Preferenza"); 40 41 define("_CANDIDATO","Candidato"); 41 42 define("_SOLO_GRUPPO","Voti al solo candidato Sindaco"); … … 48 49 define("_CANDIDATO","Candidato"); 49 50 define("_LISTA","Lista"); 51 define("_LISTAPREF","Lista e Preferenza"); 50 52 break; 51 53 case 5: … … 77 79 define("_CANDIDATO","Candidato"); 78 80 define("_LISTA","Lista"); 81 define("_LISTAPREF","Lista e Preferenza"); 79 82 define("_GRUPPOLOGO","Logo della Lista"); 80 83 define("_CONSI","Candidato Lista"); … … 86 89 define("_CONSI","Candidato Lista"); 87 90 define("_LISTA","Lista"); 91 define("_LISTAPREF","Lista e Preferenza"); 88 92 define("_CANDIDATO","Candidato"); 89 93 define("_SOLO_GRUPPO","Voti al solo candidato Presidente"); … … 125 129 break; 126 130 case 14: 127 define("_SOLO_GRUPPO","Voti al solo candidato Sindaco");128 131 define("_CONSULTAZIONE","Consultazione Parlamentare Europea"); //genere 4 129 132 define("_GRUPPO","Lista"); … … 131 134 define("_CONSI","Candidato Lista"); 132 135 define("_LISTA","Lista"); 136 define("_LISTAPREF","Lista e Preferenza"); 133 137 define("_CANDIDATO","Candidato"); 134 138 define("_DESCRCONS","EUROPEE"); 135 139 break; 136 140 case 15: 137 define("_SOLO_GRUPPO","Voti al solo candidato Sindaco");138 141 define("_CONSULTAZIONE","Consultazione Camera"); //genere 2 139 142 define("_GRUPPO","Coalizione"); … … 151 154 break; 152 155 case 17: 153 define("_SOLO_GRUPPO","Voti al solo candidato Sindaco");154 156 define("_CONSULTAZIONE","Consultazione Elezioni Regionali"); //genere 5 155 157 define("_GRUPPO","Candidato Presidente"); 156 158 define("_LISTA","Lista"); 159 define("_LISTAPREF","Lista e Preferenza"); 157 160 define("_CANDIDATO","Candidato"); 158 161 define("_DESCRCONS","REGIONALI"); 159 162 break; 160 163 case 18: 161 164 define("_CONSULTAZIONE","Consultazione Camera dei deputati"); //genere 5 162 165 define("_GRUPPO","Candidato Uninominale"); 163 166 define("_SOLO_GRUPPO","Voti al solo Candidato Uninominale"); 164 167 define("_LISTA","Lista collegata"); 168 define("_LISTAPREF","Lista e Preferenza"); 165 169 define("_CANDIDATO","Listino bloccato"); 166 170 define("_ATT_UNI","Attenzione! Il dettaglio dei voti"); … … 169 173 define("_NULLISTA",0); 170 174 break; 171 175 case 19: 172 176 define("_CONSULTAZIONE","Consultazione Senato della Repubblica"); //genere 5 173 177 define("_GRUPPO","Candidato Uninominale"); 174 178 define("_SOLO_GRUPPO","Voti al solo Candidato Uninominale"); 175 179 define("_LISTA","Lista collegata"); 180 define("_LISTAPREF","Lista e Preferenza"); 176 181 define("_CANDIDATO","Listino bloccato"); 177 182 define("_ATT_UNI","Attenzione! Il dettaglio dei voti"); -
trunk/admin/modules/Elezioni/restore.php
r344 r362 18 18 $param=strtolower($_SERVER['REQUEST_METHOD']) == 'get' ? $_GET : $_POST; 19 19 if (isset($param['datafile'])) $datafile=addslashes($param['datafile']); else $datafile=''; 20 $id_cons_gen=intval($param['id_cons_gen']); 20 21 include("modules/Elezioni/ele.php"); 21 22 ele(); … … 46 47 $scarto=0; 47 48 $conta=array(); 48 49 while( $currentLine <= $cntFile ){ 49 50 $appo=substr($arrFile[$currentLine],1,-2); 50 51 $conta[$x]=0; … … 63 64 } 64 65 }else {$scarto++;$currentLine++;} 65 66 } 66 67 if ($scarto==0){ 67 68 $currentLine = 0; … … 83 84 $appo=substr($arrFile[$currentLine],1,-2); 84 85 else $appo=''; 85 if(isset($tabs[($x+1)])) 86 if ($appo==$tabs[($x+1)]){ $x++; break;} 87 elseif($appo=='') { $x++; break;} 86 if(isset($tabs[($x+1)])){ 87 if ($appo==$tabs[($x+1)]){ $x++; break;}} 88 elseif($appo=='') { $x++; break;} 89 88 90 if(isset($arrFile[$currentLine])) 89 91 $test=explode(':',$arrFile[$currentLine]); if(!is_array($test)) {die("errore di import<br>");} … … 99 101 } 100 102 } 101 if(!$res_del->rowCount()) die ("delete $tbs where id_cons=$idcns--- errore di cancellazione");103 # if(!$res_del->rowCount()) die ("delete $tbs where id_cons=$idcns--- errore di cancellazione"); 102 104 }else $valori.= ",'".addslashes(base64_decode($val))."'"; 103 $sql="insert into $tab values($valori)"; 105 if($tab=='soraldo_ele_cons_comune') $valori.=",'0'"; 106 $sql="insert into $tab values($valori)"; 107 try { 104 108 $res_comune = $dbi->prepare("$sql"); 105 109 $res_comune->execute(); 110 } 111 catch(PDOException $e) 112 { 113 echo $sql . "<br>" . $e->getMessage(); 114 } 115 116 #echo "TAB: $tbs -- $sql<br>"; 106 117 $currentLine++; 107 118 } … … 111 122 } else $errore=1; 112 123 fclose($handle); 124 die("finito"); 113 125 } 114 126 if (isset($errore)) 115 127 if ($errore) die( _MEX_RESTORE_FAILED); 116 else echo _MEX_RESTORE_OK;128 else die( _MEX_RESTORE_OK ); 117 129 echo"</td></tr></table>"; 118 130 include("footer.php"); -
trunk/admin/versione.php
r361 r362 1 1 <?php 2 2 3 $versione = "3.0 rev 36 1";3 $versione = "3.0 rev 362"; 4 4 $version_number = $versione; 5 $datarel = " 17 marzo 2022";5 $datarel = "27 marzo 2022"; 6 6 $version = "Eleonline $version_number (<i>Data Release: $datarel</i>)"; 7 7 -
trunk/client/modules.php
r345 r362 99 99 100 100 101 $dbi = new PDO("mysql:host=$dbhost;charset= latin1", $dbuname, $dbpass, array(PDO::ATTR_EMULATE_PREPARES => false,101 $dbi = new PDO("mysql:host=$dbhost;charset=utf8", $dbuname, $dbpass, array(PDO::ATTR_EMULATE_PREPARES => false, 102 102 PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION)); 103 103 $sql = "use $dbname"; 104 104 $dbi->exec($sql); 105 $sth = $dbi->prepare("SET SESSION character_set_connection = 'utf8' "); 106 $sth->execute(); 107 $sth = $dbi->prepare("SET SESSION character_set_client = 'utf8' "); 108 $sth->execute(); 109 $sth = $dbi->prepare("SET SESSION character_set_database = 'utf8' "); 110 $sth->execute(); 111 $sth = $dbi->prepare("SET CHARACTER SET utf8"); 112 $sth->execute(); 113 114 $sth = $dbi->prepare("SET NAMES 'utf8'"); 115 $sth->execute(); 105 116 106 117 # protezione csrf ottobre 2012 - by l.apolito -
trunk/client/modules/Elezioni/consiglieri.php
r357 r362 16 16 die(); 17 17 } 18 19 18 $param=strtolower($_SERVER['REQUEST_METHOD']) == 'get' ? $_GET : $_POST; 20 21 19 if (isset($param['gruppo'])) $gruppo=intval($param['gruppo']); else $gruppo=''; 22 20 if (isset($param['numgruppo'])) $numgruppo=intval($param['numgruppo']); else $numgruppo=''; 23 21 if (isset($param['listecol'])) $listecol=intval($param['listecol']); else $listecol=0; 24 25 22 $sql = "select id_conf,id_fascia from ".$prefix."_ele_cons_comune where id_cons='$id_cons'"; 26 23 $result = $dbi->prepare("$sql"); 27 24 $result->execute(); 28 29 25 list($id_conf,$fascia) = $result->fetch(PDO::FETCH_NUM); 30 31 26 $sql = "SELECT limite,consin,infpremio,supsbarramento,suppremio,listinfsbar,listinfconta,listsupconta,supminpremio,infminpremio from ".$prefix."_ele_conf where id_conf='$id_conf'"; 32 27 $res = $dbi->prepare("$sql"); 33 28 $res->execute(); 34 35 29 list($limite,$consin,$infpremio,$supsbarramento,$suppremio,$listinfsbar,$listinfconta,$listsupconta,$supminpremio,$infminpremio) = $res->fetch(PDO::FETCH_NUM); 36 30 $numcons=0; 37 38 31 echo "<table><tr><td align=\"center\">"._PROIEZCONS."</td></tr></table>"; 39 32 … … 362 355 } 363 356 364 365 366 357 function calcoloseggi($gruppi,$num_cons,$flag){ 367 358 global $ultimo,$mex,$sorteggio,$quozienti,$num_cand,$num_candlst; … … 477 468 478 469 function conssup($fascia,$gruppo,$collegate,$collperd,$primoturno) { 479 global $id_cons, $id_cons_gen, $id_comune, $prefix,$dbi;480 global $groups,$lists,$eletti,$ultimo,$quozienti,$num_candlst,$mex,$PNE,$CSEC,$consin;481 global $supsbarramento, $supminpremio, $suppremio;482 global $listsupconta,$numcons;483 #funzione di calcolo per comuni oltre 15.000 abitanti484 #carica il numero di consiglieri da eleggere$groups=array();485 $PNE=_PRIMONON;486 $CSEC=_SINDCONS;487 $lists=array();488 $eletti=array();489 $num_candlst=array();490 #$quozienti = array();491 $oldlists=array();492 $oldlstgrp=array();493 $premio=0;494 /* "Ai fini della determinazione nel secondo turno, della cifra elettorale complessiva delle liste collegate deve tenersi conto anche del collegamento intervenuto in vista del ballottaggio" (Cons. St. Sez. V 4 maggio 2001 n. 2519; 20 settembre 2000 n. 4894; 19 marzo 1996 n. 290)495 */496 497 if (!isset($_SESSION['ballo1'])) $_SESSION['ballo1']='';498 if (!isset($_SESSION['ballo2'])) $_SESSION['ballo2']='';499 $gruppoperd= ($gruppo==$_SESSION['ballo1']) ? $_SESSION['ballo2'] : $_SESSION['ballo1'];500 501 #per voti validi non si intendono i voti validi alle liste ma i voti validi espressi502 #$res_val = mysql_query("SELECT sum(validi_lista) from ".$prefix."_ele_sezioni where id_cons='$id_cons'",$dbi);503 $sql = "SELECT sum(voti) from ".$prefix."_ele_voti_gruppo where id_cons='$id_cons'";504 $res_val = $dbi->prepare("$sql");505 $res_val->execute();506 507 list($validi) = $res_val->fetch(PDO::FETCH_NUM);508 509 $sbarra=($validi*$supsbarramento)/100;510 $sql = "SELECT t1.descrizione,t1.num_gruppo,t2.id_lista,t2.num_lista,t2.descrizione,sum(t3.voti) as voti from ".$prefix."_ele_gruppo as t1, ".$prefix."_ele_lista as t2, ".$prefix."_ele_voti_lista as t3 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo and t2.id_lista=t3.id_lista group by t1.descrizione,t1.num_gruppo,t2.num_lista,t2.descrizione order by voti desc";511 $res_per = $dbi->prepare("$sql");512 $res_per->execute();513 514 $groups=array();515 $premio=0;516 //10-05-2009 gestione differenziata delle norme elettorali517 #carica l'array dei gruppi e della cifra di gruppo518 while (list($descr,$num_gruppo,$id_lista,$num_lista,$descr_lista,$voti)= $res_per->fetch(PDO::FETCH_NUM)){519 if ($listsupconta or $voti>=$sbarra){520 521 522 523 524 525 526 527 }528 }470 global $id_cons, $id_cons_gen, $id_comune, $prefix,$dbi; 471 global $groups,$lists,$eletti,$ultimo,$quozienti,$num_candlst,$mex,$PNE,$CSEC,$consin; 472 global $supsbarramento, $supminpremio, $suppremio; 473 global $listsupconta,$numcons; 474 #funzione di calcolo per comuni oltre 15.000 abitanti 475 #carica il numero di consiglieri da eleggere$groups=array(); 476 $PNE=_PRIMONON; 477 $CSEC=_SINDCONS; 478 $lists=array(); 479 $eletti=array(); 480 $num_candlst=array(); 481 #$quozienti = array(); 482 $oldlists=array(); 483 $oldlstgrp=array(); 484 $premio=0; 485 /* "Ai fini della determinazione nel secondo turno, della cifra elettorale complessiva delle liste collegate deve tenersi conto anche del collegamento intervenuto in vista del ballottaggio" (Cons. St. Sez. V 4 maggio 2001 n. 2519; 20 settembre 2000 n. 4894; 19 marzo 1996 n. 290) 486 */ 487 488 if (!isset($_SESSION['ballo1'])) $_SESSION['ballo1']=''; 489 if (!isset($_SESSION['ballo2'])) $_SESSION['ballo2']=''; 490 $gruppoperd= ($gruppo==$_SESSION['ballo1']) ? $_SESSION['ballo2'] : $_SESSION['ballo1']; 491 492 #per voti validi non si intendono i voti validi alle liste ma i voti validi espressi 493 #$res_val = mysql_query("SELECT sum(validi_lista) from ".$prefix."_ele_sezioni where id_cons='$id_cons'",$dbi); 494 $sql = "SELECT sum(voti) from ".$prefix."_ele_voti_gruppo where id_cons='$id_cons'"; 495 $res_val = $dbi->prepare("$sql"); 496 $res_val->execute(); 497 498 list($validi) = $res_val->fetch(PDO::FETCH_NUM); 499 500 $sbarra=($validi*$supsbarramento)/100; 501 $sql = "SELECT t1.descrizione,t1.num_gruppo,t2.id_lista,t2.num_lista,t2.descrizione,sum(t3.voti) as voti from ".$prefix."_ele_gruppo as t1, ".$prefix."_ele_lista as t2, ".$prefix."_ele_voti_lista as t3 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo and t2.id_lista=t3.id_lista group by t1.descrizione,t1.num_gruppo,t2.num_lista,t2.descrizione order by voti desc"; 502 $res_per = $dbi->prepare("$sql"); 503 $res_per->execute(); 504 505 $groups=array(); 506 $premio=0; 507 //10-05-2009 gestione differenziata delle norme elettorali 508 #carica l'array dei gruppi e della cifra di gruppo 509 while (list($descr,$num_gruppo,$id_lista,$num_lista,$descr_lista,$voti)= $res_per->fetch(PDO::FETCH_NUM)){ 510 if ($listsupconta or $voti>=$sbarra){ 511 if (! isset($groups[($num_gruppo)])) $groups[($num_gruppo)]=0; 512 $desgruppi[$num_gruppo]=$descr; 513 $desliste[$num_lista]=$num_lista.") ".$descr_lista; 514 $idlst[$num_lista]=$id_lista; 515 $listagruppo[$num_lista]=$num_gruppo; 516 $lists[$num_lista]=$voti; 517 $groups[($num_gruppo)]+=$voti; 518 } 519 } 529 520 ################### carica array ... 25 maggio 2014 530 foreach($collegate as $key=>$val){ 531 $sql = "SELECT id_gruppo from ".$prefix."_ele_lista where num_lista='$val' and id_cons='$id_cons'"; 532 $res = $dbi->prepare("$sql"); 533 $res->execute(); 534 521 foreach($collegate as $key=>$val){ 522 $sql = "SELECT id_gruppo from ".$prefix."_ele_lista where num_lista='$val' and id_cons='$id_cons'"; 523 $res = $dbi->prepare("$sql"); 524 $res->execute(); 535 525 list($tempig)=$res->fetch(PDO::FETCH_NUM); 536 526 $sql = "SELECT num_gruppo from ".$prefix."_ele_gruppo where id_gruppo='$tempig' and id_cons='$id_cons'"; 537 $res = $dbi->prepare("$sql"); 538 $res->execute(); 539 527 $res = $dbi->prepare("$sql"); 528 $res->execute(); 540 529 list($tempng)=$res->fetch(PDO::FETCH_NUM); 541 530 $grpinc[$val]=$tempng; 542 }531 } 543 532 $elencog=array(); 544 533 $sindseggiopre=array(); … … 547 536 foreach($testseggio as $testk=>$valk) { $sindseggiopre[]=$testk;} 548 537 ################## 549 $descrsind=$desgruppi[$gruppo]; 550 foreach ($groups as $key=>$val){ 551 #controlla se un gruppo di liste, tra quelle perdenti, ha superato il 50% 552 if ($key!=$gruppo and $val> $validi/2) $premio=2; 553 #elimina gruppi che non hanno superato lo sbarramento 554 if ($val<$sbarra){ 555 foreach ($listagruppo as $lst=>$grp) 556 if ($grp==$key){ 557 unset($listagruppo[$lst]); 558 unset($desliste[$lst]); 559 unset($lists[$lst]); 560 } 561 unset($groups[($key)]); 562 unset($desgruppi[($key)]); 563 564 } 565 } 566 538 $descrsind=$desgruppi[$gruppo]; 539 foreach ($groups as $key=>$val){ 540 #controlla se un gruppo di liste, tra quelle perdenti, ha superato il 50% 541 if ($key!=$gruppo and $val> $validi/2) $premio=2; 542 #elimina gruppi che non hanno superato lo sbarramento 543 if ($val<$sbarra){ 544 foreach ($listagruppo as $lst=>$grp) 545 if ($grp==$key){ 546 unset($listagruppo[$lst]); 547 unset($desliste[$lst]); 548 unset($lists[$lst]); 549 } 550 unset($groups[($key)]); 551 unset($desgruppi[($key)]); 552 553 } 554 } 567 555 foreach ($collegate as $lst) 568 556 if (isset($lists[$lst])){ … … 575 563 $groups[$gruppo]+=$lists[$lst]; 576 564 } 577 ////maggio 2011: da qui578 579 565 #controlla se la percentuale del gruppo vincente e' tra il 40 e il 60% o il sindaco e' eletto al secondo turno 580 566 #e se nessun altro gruppo ha superato il 50% assegna il premio di maggioranza 581 567 #e se nessun altro gruppo ha superato il 50% e nessuno ha ottenuto piu' del 60% dei seggi, assegna il premio di maggioranza 582 $consmin=$numcons; 583 $gruppomin=calcoloseggi($groups,$consmin,0); 584 $nopremio=1; 585 #die("qui:".($numcons*60/100)."<$val"); 586 if (($groups[$gruppo]>=(($validi*$supminpremio)/100) or ! $primoturno) and $groups[$gruppo]<(($validi*$suppremio)/100) and !$premio and $nopremio) $premio=1; 587 else $premio=0; 568 $consmin=$numcons; 569 $gruppomin=calcoloseggi($groups,$consmin,0); 570 $nopremio=1; 571 if (($groups[$gruppo]>=(($validi*$supminpremio)/100) or ! $primoturno) and $groups[$gruppo]<(($validi*$suppremio)/100) and !$premio and $nopremio) $premio=1; 572 else $premio=0; 588 573 $consel=array(); 589 574 $consel[]=array(_LISTA,_VOTI,_SEGGI,_CANDIDATO,_CIFRAELE,_QUOZIENTI); 590 $groupsappo=$groups;591 $candidati=array();592 $grpperd=$gruppoperd;575 $groupsappo=$groups; 576 $candidati=array(); 577 $grpperd=$gruppoperd; 593 578 //maggio 2011: a qui viene spostato in modo da aggiungere i voti di lista delle collegate per il perdente solo dopo aver controllato se supera il 50%, in questo modo si evita che il collegamento tra perdenti faccia decadere il premio di maggioranza se solo insieme superano il 50% 594 579 //maggio 2011: da qui 595 if(!isset($groups[$gruppoperd])) $groups[$gruppoperd]=0; 596 foreach ($collperd as $lst) 597 if (isset($lists[$lst])){ 598 $oldlstgrp[$lst]=$listagruppo[$lst]; 599 $listagruppo[$lst]=$gruppoperd; 600 $oldlists[$lst]=$lists[$lst]; 601 $groups[$gruppoperd]+=$lists[$lst]; 602 $groups[$oldlstgrp[$lst]]-=$lists[$lst]; 603 } 604 580 if(!isset($groups[$gruppoperd])) $groups[$gruppoperd]=0; 581 foreach ($collperd as $lst) 582 if (isset($lists[$lst])){ 583 $oldlstgrp[$lst]=$listagruppo[$lst]; 584 $listagruppo[$lst]=$gruppoperd; 585 $oldlists[$lst]=$lists[$lst]; 586 $groups[$gruppoperd]+=$lists[$lst]; 587 $groups[$oldlstgrp[$lst]]-=$lists[$lst]; 588 } 605 589 ////maggio 2011: a qui (mettendolo dopo Ú come se l'avessi tolto ma possono esserci altre implicazioni visto che si modificano le percentuali del gruppo, così per ora non lo tolgo) va tolto se non vanno sommati i voti delle liste collegate al secondo turno con quelli del gruppo che perde il ballottaggio, se non si collegano viene favorita l'elezione del candidato sindaco con cui era collegata al primo turno mentre se si collegano viene favorito il principio di aggregazione. Per ora i perdenti sono considerati con la situazione al primo turno. Implementiamo cosï¿œ: il 50% deve essere superato dalla minoranza nel primo turno, quindo senza somma dei voti delle liste aggiunte nel secondo turno - la suddivisione dei seggi viene fatta considerando i collegamenti al secondo turno, le liste collegate partecipano alla suddivisione dei seggi con questo gruppo quindi si confronta con le liste del gruppo in cui era al primo turno e valutando i coefficienti si stabilisce quale lista cede il seggio al candidato sindaco non acceduto al ballottaggio. 606 607 if ($premio) { 608 ######### 609 ################### carica array ... 610 /* $elencog=array(); 611 $sindseggiopre=array(); 612 foreach($groups as $testk=>$valk) if($testk!=$grpperd) {$elencog[$testk]=$valk;} 613 $testseggio=calcoloseggi($elencog,ceil($numcons*($suppremio)/100),0); 614 foreach($testseggio as $testk=>$valk) {if($valk) $sindseggio[]=$testk; echo "<br>testkpre: $testk - $valk";} 615 */#foreach ($gruppomin as $key=>$val) {if (($numcons*60/100)<$val) $nopremio=0;if($key!=$gruppo){echo "<br>gruppomin: $key -- $val";}} 616 ################## 590 if ($premio) { 617 591 ################### nell'array sindseggio vengono inseriti i candidati sindaco che restano senza seggio per gli apparentamenti 618 $elencog=array(); 619 $testseggio=array(); 620 $sindseggio=array(); 621 foreach($groups as $testk=>$valk) {if($testk!=$gruppo) $elencog[$testk]=$valk;} 622 $perdente[$gruppoperd]=$groups[$gruppoperd]; 623 $testseggio=calcoloseggi($elencog,floor($numcons-$numcons*($suppremio)/100),0); 624 foreach($testseggio as $testk=>$valk) 625 foreach($sindseggiopre as $testk=>$valk){ if(isset($testseggio[$valk]) and $testseggio[$valk]) continue; $sindseggio[$valk]=$valk;} #foreach ($sindseggiopre as $keyl=>$vall) echo "<br> seggi: $keyl - $vall"; 626 ########### 627 $sindaco[$gruppo]=$groups[$gruppo]; $groups[$gruppo]=0; 628 $gruppomag=calcoloseggi($sindaco,ceil($numcons*$suppremio/100),0); 592 $elencog=array(); 593 $testseggio=array(); 594 $sindseggio=array(); 595 foreach($groups as $testk=>$valk) {if($testk!=$gruppo) $elencog[$testk]=$valk;} 596 $perdente[$gruppoperd]=$groups[$gruppoperd]; 597 $testseggio=calcoloseggi($elencog,floor($numcons-$numcons*($suppremio)/100),0); 598 foreach($testseggio as $testk=>$valk) 599 foreach($sindseggiopre as $testk=>$valk){ if(isset($testseggio[$valk]) and $testseggio[$valk]) continue; $sindseggio[$valk]=$valk;} 600 $sindaco[$gruppo]=$groups[$gruppo]; $groups[$gruppo]=0; 601 $gruppomag=calcoloseggi($sindaco,ceil($numcons*$suppremio/100),0); 629 602 #######calcola i seggi per lista 630 foreach ($gruppomag as $key=>$val){ 631 foreach($listagruppo as $lst=>$grp){ 632 if($grp!=$key) continue; 633 $id_lista=$idlst[$lst]; 634 $x=$lst; 635 $y=$lists[$x]; 636 $pos=0; 637 $z=0; 638 $arvin[$x][$pos++]=$desliste[$lst]; 639 $sql = "SELECT concat(substring(concat('0',t1.num_cand),-2),') ',t1.cognome,' ',substring(t1.nome from 1 for 1),'.') as descr,sum(t2.voti) as voti from ".$prefix."_ele_candidati as t1, ".$prefix."_ele_voti_candidati as t2 where t1.id_lista='$id_lista' and t1.id_cand=t2.id_cand GROUP BY descr order by voti desc,t1.num_cand"; 640 $res_can = $dbi->prepare("$sql"); 641 $res_can->execute(); 642 643 $num_candlst[$x]=$res_can->rowCount(); 644 while(list($cand,$pre)=$res_can->fetch(PDO::FETCH_NUM)){ 645 $cifra[$x][$pos]=$y+$pre; 646 $arvin[$x][$pos++]=$cand; 647 } 648 $listemag[$x]=$y; 649 $desliste[$x]=$descr; 650 $percliste[$x]="<br/>$y (".number_format($y*100/$validi,2)."%)"; 651 $z++; 652 ## } 653 $seggimag=array(); 654 $x=0;#foreach($listemag as $kkk=>$vvv) echo "<br> listemag: $kkk - $vvv - $grp - $gruppo -val=$val"; 603 foreach ($gruppomag as $key=>$val){ 604 foreach($listagruppo as $lst=>$grp){ 605 if($grp!=$key) continue; 606 $id_lista=$idlst[$lst]; 607 $x=$lst; 608 $y=$lists[$x]; 609 $pos=0; 610 $z=0; 611 $arvin[$x][$pos++]=$desliste[$lst]; 612 $sql = "SELECT concat(substring(concat('0',t1.num_cand),-2),') ',t1.cognome,' ',substring(t1.nome from 1 for 1),'.') as descr,sum(t2.voti) as voti from ".$prefix."_ele_candidati as t1, ".$prefix."_ele_voti_candidati as t2 where t1.id_lista='$id_lista' and t1.id_cand=t2.id_cand GROUP BY descr order by voti desc,t1.num_cand"; 613 $res_can = $dbi->prepare("$sql"); 614 $res_can->execute(); 615 $num_candlst[$x]=$res_can->rowCount(); 616 while(list($cand,$pre)=$res_can->fetch(PDO::FETCH_NUM)){ 617 $cifra[$x][$pos]=$y+$pre; 618 $arvin[$x][$pos++]=$cand; 619 } 620 $listemag[$x]=$y; 621 $desliste[$x]=$descr; 622 $percliste[$x]="<br/>$y (".number_format($y*100/$validi,2)."%)"; 623 $z++; 624 $seggimag=array(); 625 $x=0; 655 626 #####25 maggio 2014 - il candidato sindaco non eletto ha diritto al seggio anche se di maggioranza 656 627 ### individua ultimi seggi assegnati a liste collegate 657 if($grp==$gruppo){ 658 $listdec =array(); 659 $seggitmp=calcoloseggi($listemag,$val,1); 660 foreach ($seggitmp as $keyl=>$vall){#echo "<br> lista: $vall - $keyl - $grp - $gruppo"; 661 if($vall==0) continue; 662 663 $sql = "SELECT id_gruppo from ".$prefix."_ele_lista where num_lista='$keyl' and id_cons='$id_cons'"; 664 $res = $dbi->prepare("$sql"); 665 $res->execute(); 666 667 list($tempig)=$res->fetch(PDO::FETCH_NUM); 668 $sql = "SELECT num_gruppo from ".$prefix."_ele_gruppo where id_gruppo='$tempig' and id_cons='$id_cons'"; 669 $res = $dbi->prepare("$sql"); 670 $res->execute(); 671 672 list($tempng)=$res->fetch(PDO::FETCH_NUM); #foreach ($sindseggio as $keyl=>$vall) echo "<br> listdecseggi: $keyl - $vall - $tempng"; 673 if (isset($sindseggio[$tempng])) {$listdec[$tempng][]=$keyl;} 674 # if (in_array($tempng,$sindseggio)) {$listdec[$tempng][]=$keyl;} 675 } 676 } 677 } 678 ########## 679 $seggimag=calcoloseggi($listemag,$val,1); 680 628 if($grp==$gruppo){ 629 $listdec =array(); 630 $seggitmp=calcoloseggi($listemag,$val,1); 631 foreach ($seggitmp as $keyl=>$vall){ 632 if($vall==0) continue; 633 $sql = "SELECT id_gruppo from ".$prefix."_ele_lista where num_lista='$keyl' and id_cons='$id_cons'"; 634 $res = $dbi->prepare("$sql"); 635 $res->execute(); 636 list($tempig)=$res->fetch(PDO::FETCH_NUM); 637 $sql = "SELECT num_gruppo from ".$prefix."_ele_gruppo where id_gruppo='$tempig' and id_cons='$id_cons'"; 638 $res = $dbi->prepare("$sql"); 639 $res->execute(); 640 list($tempng)=$res->fetch(PDO::FETCH_NUM); 641 if (isset($sindseggio[$tempng])) {$listdec[$tempng][]=$keyl;} 642 } 643 } 644 } 645 $seggimag=calcoloseggi($listemag,$val,1); 681 646 ####cerca ultimo seggio assegnato per gruppo di liste collegate al primo turno 682 foreach ($seggimag as $key2=>$val2){ if($val2==0) continue; 683 if(isset($grpinc[$key2])) { $tempng=$grpinc[$key2];} 684 if(isset($listdec[$tempng])) 685 foreach($listdec[$tempng] as $ark=>$arv) { 686 if(!isset($ultquoz[($sindseggio[$tempng])]) and $sindseggio[$tempng]) {$ultquoz[($sindseggio[$tempng])]=$quozienti[$arv][($val2-1)];$lastlist[$tempng]=$arv;} 687 elseif ($ultquoz[($sindseggio[$tempng])]>$quozienti[$arv][($val2-1)]) {$ultquoz[($sindseggio[$tempng])]=$quozienti[$arv][($val2-1)];$lastlist[($sindseggio[$tempng])]=$arv; 688 } 689 }} 690 691 foreach ($seggimag as $key2=>$val2){ 692 ## condizione per esclusione di un seggio da destinare al sindaco non eletto in_array($key2,$lastlist) 693 if(isset($lastlist)) 694 foreach($lastlist as $key3=>$val3){ 695 if($key2==$val3) { 696 $arappo=array_shift($arvin[$key2]);$tpmgrp=0; 697 array_unshift($arvin[$key2],$desgruppi[$key3]); array_unshift($arvin[$key2],$arappo);array_unshift($cifra[$key2],"--");array_unshift($cifra[$key2],"--"); 698 } 699 } 700 ## fine condizione - impostare variabile in db per differenziare il comportamento per consultazioni diverse 701 for ($z=0;$z<$val2;$z++){ 702 if ($z) $consel[]=array("","","",$arvin[$key2][($z+1)],$cifra[$key2][($z+1)],number_format($quozienti[$key2][$z],2)); 703 else 704 { 705 $consel[]=array($arvin[$key2][0],$percliste[$key2],$val2,$arvin[$key2][($z+1)],$cifra[$key2][($z+1)],number_format($quozienti[$key2][$z],2)); 706 $arlisdesv[]=$arvin[$key2][0];$arlissegv[]=$val2;$arlisnumv[]=$key2; 707 } 708 } 709 $x++; 710 if($val2) 711 $consel[]=array($arvin[$key2][0],"$PNE","",$arvin[$key2][($z+1)],$cifra[$key2][($z+1)],number_format($quozienti[$key2][$z],2)); 712 } 713 } 714 } 715 if ($premio) $consmin=floor($numcons*(100-$suppremio)/100); 716 else $consmin=$numcons; 717 647 foreach ($seggimag as $key2=>$val2){ 648 if($val2==0) continue; 649 if(isset($grpinc[$key2])) { $tempng=$grpinc[$key2];} 650 if(isset($listdec[$tempng])) 651 foreach($listdec[$tempng] as $ark=>$arv) { 652 if(!isset($ultquoz[($sindseggio[$tempng])]) and $sindseggio[$tempng]) {$ultquoz[($sindseggio[$tempng])]=$quozienti[$arv][($val2-1)];$lastlist[$tempng]=$arv;} 653 elseif ($ultquoz[($sindseggio[$tempng])]>$quozienti[$arv][($val2-1)]) 654 { 655 $ultquoz[($sindseggio[$tempng])]=$quozienti[$arv][($val2-1)];$lastlist[($sindseggio[$tempng])]=$arv; 656 } 657 } 658 } 659 foreach ($seggimag as $key2=>$val2){ 660 ## condizione per esclusione di un seggio da destinare al sindaco non eletto in_array($key2,$lastlist) 661 if(isset($lastlist)) 662 foreach($lastlist as $key3=>$val3){ 663 if($key2==$val3) { 664 $arappo=array_shift($arvin[$key2]);$tpmgrp=0; 665 array_unshift($arvin[$key2],$desgruppi[$key3]); array_unshift($arvin[$key2],$arappo);array_unshift($cifra[$key2],"--");array_unshift($cifra[$key2],"--"); 666 } 667 } 668 ## fine condizione - impostare variabile in db per differenziare il comportamento per consultazioni diverse 669 for ($z=0;$z<$val2;$z++){ 670 if ($z) $consel[]=array("","","",$arvin[$key2][($z+1)],$cifra[$key2][($z+1)],number_format($quozienti[$key2][$z],2)); 671 else 672 { 673 $consel[]=array($arvin[$key2][0],$percliste[$key2],$val2,$arvin[$key2][($z+1)],$cifra[$key2][($z+1)],number_format($quozienti[$key2][$z],2)); 674 $arlisdesv[]=$arvin[$key2][0];$arlissegv[]=$val2;$arlisnumv[]=$key2; 675 } 676 } 677 $x++; 678 if($val2) 679 $consel[]=array($arvin[$key2][0],"$PNE","",$arvin[$key2][($z+1)],$cifra[$key2][($z+1)],number_format($quozienti[$key2][$z],2)); 680 } 681 } 682 } 683 if ($premio) $consmin=floor($numcons*(100-$suppremio)/100); 684 else $consmin=$numcons; 718 685 #####calcolo per la minoranza o in caso non ci sia premio di maggioranza 719 $gruppomin=calcoloseggi($groups,$consmin,0);720 $ordinati[$gruppo]=$gruppomin[$gruppo];721 foreach ($gruppomin as $key=>$val){722 if($key!=$gruppo) $ordinati[$key]=$val;723 }724 $gruppomin=$ordinati;725 foreach ($gruppomin as $key=>$val){686 $gruppomin=calcoloseggi($groups,$consmin,0); 687 $ordinati[$gruppo]=$gruppomin[$gruppo]; 688 foreach ($gruppomin as $key=>$val){ 689 if($key!=$gruppo) $ordinati[$key]=$val; 690 } 691 $gruppomin=$ordinati; 692 foreach ($gruppomin as $key=>$val){ 726 693 if($premio and $key==$gruppo) continue; 727 $listemin=array(); 728 $cifra=array(); 729 foreach($listagruppo as $lst=>$grp){ 730 if($grp!=$key) continue; 731 732 $id_lista=$idlst[$lst]; 733 $x=$lst; 734 $y=$lists[$x]; 735 $pos=0; 736 $z=0; 737 $pos=0;$z=0; 738 if(!$premio and $key==$gruppo) $arvin[$x][$pos++]=$desliste[$lst]; 739 else $arper[$x][$pos++]=$desliste[$lst]; 740 $sql = "SELECT concat(substring(concat('0',t1.num_cand),-2),') ',t1.cognome,' ',substring(t1.nome from 1 for 1),'.') as descr,sum(t2.voti) as voti from ".$prefix."_ele_candidati as t1, ".$prefix."_ele_voti_candidati as t2 where t1.id_lista='$id_lista' and t1.id_cand=t2.id_cand GROUP BY descr order by voti desc,t1.num_cand"; 741 $res_can = $dbi->prepare("$sql"); 742 $res_can->execute(); 743 744 $num_candlst[$x]=$res_can->rowCount(); 745 while(list($cand,$pre)=$res_can->fetch(PDO::FETCH_NUM)) { 746 $cifra[$x][$pos]=$y+$pre; 747 if(!$premio and $key==$gruppo) 748 $arvin[$x][$pos++]=$cand; 749 else 750 $arper[$x][$pos++]=$cand; 751 } 752 $listemin[$x]=$y; 753 $desliste[$x]=$descr; 754 $percliste[$x]="<br/>$y (".number_format($y*100/$validi,2)."%)"; 755 } 756 $seggimin=array(); 757 echo "$mex"; 758 $ultimo=''; 759 760 $seggimin=calcoloseggi($listemin,$val,1); 761 echo "$mex";#foreach ($seggimin as $lista=>$valc) echo $seggimin[$lista]." key:$lista -val:$valc<br/>"; 762 if(!$premio and $key==$gruppo) 694 $listemin=array(); 695 $cifra=array(); 696 foreach($listagruppo as $lst=>$grp){ 697 if($grp!=$key) continue; 698 $id_lista=$idlst[$lst]; 699 $x=$lst; 700 $y=$lists[$x]; 701 $pos=0; 702 $z=0; 703 $pos=0;$z=0; 704 if(!$premio and $key==$gruppo) $arvin[$x][$pos++]=$desliste[$lst]; 705 else $arper[$x][$pos++]=$desliste[$lst]; 706 $sql = "SELECT concat(substring(concat('0',t1.num_cand),-2),') ',t1.cognome,' ',substring(t1.nome from 1 for 1),'.') as descr,sum(t2.voti) as voti from ".$prefix."_ele_candidati as t1, ".$prefix."_ele_voti_candidati as t2 where t1.id_lista='$id_lista' and t1.id_cand=t2.id_cand GROUP BY descr order by voti desc,t1.num_cand"; 707 $res_can = $dbi->prepare("$sql"); 708 $res_can->execute(); 709 $num_candlst[$x]=$res_can->rowCount(); 710 while(list($cand,$pre)=$res_can->fetch(PDO::FETCH_NUM)) { 711 $cifra[$x][$pos]=$y+$pre; 712 if(!$premio and $key==$gruppo) 713 $arvin[$x][$pos++]=$cand; 714 else 715 $arper[$x][$pos++]=$cand; 716 } 717 $listemin[$x]=$y; 718 $desliste[$x]=$descr; 719 $percliste[$x]="<br/>$y (".number_format($y*100/$validi,2)."%)"; 720 } 721 $seggimin=array(); 722 echo "$mex"; 723 $ultimo=''; 724 $seggimin=calcoloseggi($listemin,$val,1); 725 echo "$mex"; 726 if(!$premio and $key==$gruppo) 763 727 foreach ($seggimin as $lista=>$valc){ 764 $arper[$lista]=$arvin[$lista]; 765 } 766 /* for ($z=0;$z<$valc;$z++){ 767 if ($z) $consel[]=array("","","",$arvin[$lista][($z+1)],$cifra[$lista][($z+1)],$quozienti[$lista][$z]); 768 else $consel[]=array($arvin[$lista][0],$percliste[$lista],$valc,$arvin[$lista][($z+1)],$cifra[$lista][($z+1)],$quozienti[$lista][$z]); 769 } 770 } 771 $consel[]=array($arvin[$lista][0],"$PNE","",$arvin[$lista][($z+1)],$cifra[$lista][($z+1)],$quozienti[$lista][$z]); 772 }//else{ 773 */ 774 775 if ($val and $key!=$gruppo and $consin) {$conselsin[]=array("$CSEC",$desgruppi[$key]); $arcansin[]=$desgruppi[$key];} 776 foreach ($seggimin as $lista=>$val) 777 if(isset($oldlstgrp[$lista]) and !isset($oldseggi[$lista])) {$oldseggi[$lista]=$val; 778 } 728 $arper[$lista]=$arvin[$lista]; 729 } 730 if ($val and $key!=$gruppo and $consin) {$conselsin[]=array("$CSEC",$desgruppi[$key]); $arcansin[]=$desgruppi[$key];} 731 foreach ($seggimin as $lista=>$val) 732 if(isset($oldlstgrp[$lista]) and !isset($oldseggi[$lista])) {$oldseggi[$lista]=$val; 733 } 779 734 if($val==0){ 780 if($ultimo==''){ 781 foreach($oldlists as $lst=>$vot) 782 { 783 if (!isset($quozienti[$lst][($val)])) $quozienti[$lst][($val)]=$vot; 784 if ($oldlstgrp[$lst]!= $key or !isset($oldseggi[$lst]) or $oldseggi[$lst]==0) continue; 785 if($ultimo=='') $ultimo=$lst; 786 if($quozienti[$ultimo][($val)]==$last[$lst]) 735 if($ultimo==''){ 736 foreach($oldlists as $lst=>$vot) 787 737 { 738 if (!isset($quozienti[$lst][($val)])) $quozienti[$lst][($val)]=$vot; 739 if ($oldlstgrp[$lst]!= $key or !isset($oldseggi[$lst]) or $oldseggi[$lst]==0) continue; 740 if($ultimo=='') $ultimo=$lst; 741 if($quozienti[$ultimo][($val)]==$last[$lst]) 742 { 788 743 if($lists[$ultimo]==$lists[$lst] and $ultimo!=$lst) $mex="Per attribuire l'ultimo seggio Ú necessario un sorteggio tra la lista n. $ultimo e la lista n. $lst"; 789 elseif($lists[$ultimo]>$lists[$lst]) {$ultimo=$lst;$mex="";} 790 } 791 if ($quozienti[$ultimo][($val)]> $last[$lst]) {$ultimo=$lst;$mex="";} 792 }$lst=$ultimo; 793 if($ultimo and $consin){ 794 # if($conselb[$ttl[($lst-1)]][2]>1) $conselb[$ttl[($lst-1)]][2]--;else $conselb[$ttl[($lst-1)]][2]=''; 795 # $daunset[]=$tt[($lst-1)]; 796 if($conselb[$ttl[($lst)]][2]>1) $conselb[$ttl[($lst)]][2]--;else $conselb[$ttl[($lst)]][2]=''; 797 $daunset[]=$tt[($lst)]; 798 $conselsin[]=array("$CSEC",$desgruppi[$key]); 799 $arcansin[]=$desgruppi[$key]; 800 } 801 } 802 } 803 #if($key!=$gruppo){ 804 ############### 805 #foreach($collegate 806 foreach ($seggimin as $lista=>$val){ 807 if($ultimo==$lista and $key!=$gruppo and $consin) $val--; 808 } 809 ################ 810 foreach ($seggimin as $lista=>$val){ 811 if($ultimo==$lista and $key!=$gruppo and $consin) $val--; 812 813 814 for ($z=0;$z<$val;$z++){ 815 if ($z) $conselb[]=array("","","",$arper[$lista][($z+1)],$cifra[$lista][($z+1)],number_format($quozienti[$lista][$z],2)); 816 else{ 817 if(!isset($arper[$lista][($z+1)])) $arper[$lista][($z+1)]=0; 818 if(!isset($cifra[$lista][($z+1)])) $cifra[$lista][($z+1)]=0; 819 $conselb[]=array($arper[$lista][0],$percliste[$lista],$val,$arper[$lista][($z+1)],$cifra[$lista][($z+1)],number_format($quozienti[$lista][$z],2)); 820 $ttl[$lista]=(count($conselb)-1); 821 ######## 822 # echo "<br>".$tt[$lista]." arper --- $gruppo --$ultimo--$key--".$arper[$lista][0]; 823 } 824 } 825 if (isset($oldlists[$lista])) 826 { 827 $tt[$lista]=(count($conselb)-1); 828 if($z) $last[$lista]=$quozienti[$lista][($z-1)]; else $last[$lista]=0; 829 830 } 831 if($val){ 832 if(!isset($arper[$lista][($z+1)])) $arper[$lista][($z+1)]=0; 833 if(!isset($cifra[$lista][($z+1)])) $cifra[$lista][($z+1)]=0; 834 if(!isset($quozienti[$lista][$z])) $quozienti[$lista][$z]=0; 835 $conselb[]=array($arper[$lista][0],"$PNE","",$arper[$lista][($z+1)],$cifra[$lista][($z+1)],number_format($quozienti[$lista][$z],2)); 836 } 837 } 838 # }//chiude if $key 744 elseif($lists[$ultimo]>$lists[$lst]) {$ultimo=$lst;$mex="";} 745 } 746 if ($quozienti[$ultimo][($val)]> $last[$lst]) {$ultimo=$lst;$mex="";} 747 } 748 $lst=$ultimo; 749 if($ultimo and $consin){ 750 if($conselb[$ttl[($lst)]][2]>1) $conselb[$ttl[($lst)]][2]--;else $conselb[$ttl[($lst)]][2]=''; 751 $daunset[]=$tt[($lst)]; 752 $conselsin[]=array("$CSEC",$desgruppi[$key]); 753 $arcansin[]=$desgruppi[$key]; 754 } 755 } 756 } 757 foreach ($seggimin as $lista=>$val){ 758 if($ultimo==$lista and $key!=$gruppo and $consin) $val--; 759 } 760 foreach ($seggimin as $lista=>$val){ 761 if($ultimo==$lista and $key!=$gruppo and $consin) $val--; 762 for ($z=0;$z<$val;$z++){ 763 if ($z) $conselb[]=array("","","",$arper[$lista][($z+1)],$cifra[$lista][($z+1)],number_format($quozienti[$lista][$z],2)); 764 else{ 765 if(!isset($arper[$lista][($z+1)])) $arper[$lista][($z+1)]=0; 766 if(!isset($cifra[$lista][($z+1)])) $cifra[$lista][($z+1)]=0; 767 $conselb[]=array($arper[$lista][0],$percliste[$lista],$val,$arper[$lista][($z+1)],$cifra[$lista][($z+1)],number_format($quozienti[$lista][$z],2)); 768 $ttl[$lista]=(count($conselb)-1); 769 } 770 } 771 if (isset($oldlists[$lista])) 772 { 773 $tt[$lista]=(count($conselb)-1); 774 if($z) $last[$lista]=$quozienti[$lista][($z-1)]; else $last[$lista]=0; 775 } 776 if($val){ 777 if(!isset($arper[$lista][($z+1)])) $arper[$lista][($z+1)]=0; 778 if(!isset($cifra[$lista][($z+1)])) $cifra[$lista][($z+1)]=0; 779 if(!isset($quozienti[$lista][$z])) $quozienti[$lista][$z]=0; 780 $conselb[]=array($arper[$lista][0],"$PNE","",$arper[$lista][($z+1)],$cifra[$lista][($z+1)],number_format($quozienti[$lista][$z],2)); 781 } 782 } 839 783 }//chiude foreach gruppomin 840 # }841 784 echo "<table summary=\"Tabella dei consiglieri eletti\" class=\"table-docs\" cellspacing=\"0\" cellpadding=\"2\" border=\"1\" rules=\"all\">"; 842 785 echo "<tr class=\"bggray\"><td scope=\"row\"><b>"; 843 786 echo _SINDACO.": ".$desgruppi[$gruppo]."</b></td></tr></table>"; 844 787 if(isset($daunset)){ 845 if ((sort($daunset,SORT_NUMERIC))==false) echo "Errore di programma!";846 ELSE {847 $tmpda=array_reverse($daunset);848 foreach($tmpda as $key=>$val) {849 $conselb[$val][0]=$conselb[($val+1)][0];$conselb[$val][1]=$conselb[($val+1)][1];850 unset($conselb[($val+1)]);851 } 852 } 853 } #foreach($conselb as $key=>$val) if($val[2]) echo "$x) ".$val[0]."--".$val[2]."<br/>"; else echo "passa".$x++;788 if ((sort($daunset,SORT_NUMERIC))==false) echo "Errore di programma!"; 789 ELSE { 790 $tmpda=array_reverse($daunset); 791 foreach($tmpda as $key=>$val) { 792 $conselb[$val][0]=$conselb[($val+1)][0];$conselb[$val][1]=$conselb[($val+1)][1]; 793 unset($conselb[($val+1)]); 794 } 795 } 796 } 854 797 if (!$premio) 855 798 { … … 865 808 } 866 809 } 867 868 810 if (isset($conselsin)) foreach($conselsin as $key=>$val) 869 811 { … … 880 822 $consel[]=array($val[0],$val[1],$val[2],$val[3],$val[4],$val[5]); 881 823 } 882 883 // plotgraf($descrsind,$arlisdesv,$arlissegv,$arlisdesp,$arlissegp,$arcansin); // per grafico884 824 stampalista($consel); 885 825 unset($_SESSION['ballo1']);unset($_SESSION['ballo2']);unset($_SESSION['grp1']);unset($_SESSION['grp2']); 886 826 } 887 // Grafico 888 function plotgraf($descrsind,$arlisdes,$arlisseg,$arlisdesp,$arlissegp,$arcansin){ 889 //echo "sindaco: $descrsind<br/>"; 890 /* foreach($arlisdes as $key=>$val){ 891 echo "key:$key -- val:$val seggi:".$arlisseg[$key]."<br/>"; 892 } 893 echo "<br/><br/>"; 894 foreach($arlisdesp as $key=>$val){ 895 echo "key:$key -- val:$val seggi:".$arlissegp[$key]."<br/>"; 896 } */ 897 foreach($arlisdes as $key=>$val){ 898 if($arlisseg[$key]=='1') $vocale="o"; else $vocale=''; 899 900 $lista[]="$val \n [ ".$arlisseg[$key]." seggi".$vocale." ]"; 901 $seggin[]=$arlisseg[$key]." seggi".$vocale.""; 902 //echo "La lista $val ottiene ".$arlisseg[$key]." seggi.<br/>"; 903 } 904 foreach($arcansin as $val) { 905 $seggin[]="1 seggio"; 906 $arlisseg[]=1; 907 $lista[]=$val ."\n [ 1 seggio ]" ; 908 //echo "Il candidato sindaco $val e' eletto consigliere.<br/>"; 909 } 910 $sindaco=urlencode($descrsind); 911 912 $seggi=serialize($arlisseg); 913 $seggi=urlencode($seggi); 914 $seggin=serialize($seggin); 915 $seggin=urlencode($seggin); 916 $lista=serialize($lista); 917 $lista=urlencode($lista); 918 $title="Proiezione Composizione Consiglio Comunale"; 919 echo "<table><tr><td> 920 <img src='modules/Elezioni/grafici/consiglio.php?title=$title&seggi=$seggi&seggin=$seggin&lista=$lista&sindaco=$sindaco' alt=\"Grafico\" /></td></tr></table>"; 921 922 923 924 } 827 925 828 ?> -
trunk/client/temi/Futura2/function_theme.php
r335 r362 1238 1238 $res = $dbi->prepare("$sql"); 1239 1239 $res->execute(); 1240 list($tot_aventi) = $res->rowCount();1240 list($tot_aventi) = $res->fetch(PDO::FETCH_NUM); 1241 1241 1242 1242 $sql="select sum(t1.validi+t1.nulli+t1.bianchi+t1.contestati) as tot, … … 1250 1250 $res = $dbi->prepare("$sql"); 1251 1251 $res->execute(); 1252 list($tot_aventi) 1252 list($tot_aventi) = $res->fetch(PDO::FETCH_NUM); 1253 1253 $sql="SELECT sum(validi+nulli+bianchi+contestati) as tot, 1254 1254 sum(validi),sum(nulli),sum(bianchi),sum(contestati), id_gruppo, sum(si), sum(no) -
trunk/client/versione.php
r361 r362 1 1 <?php 2 2 3 $versione = "3.0 rev 36 1";3 $versione = "3.0 rev 362"; 4 4 $version_number = $versione; 5 $datarel = " 17 marzo 2022";5 $datarel = "27 marzo 2022"; 6 6 $version = "Eleonline $version_number (<i>Data Release: $datarel</i>)"; 7 7 -
trunk/install/sql/eleonline.sql
r360 r362 101 101 `editor` enum('0','1') NOT NULL DEFAULT '1', 102 102 `tema_on` enum('0','1') NOT NULL DEFAULT '1', 103 `ed_user` varchar(25) NOT NULL DEFAULT '', 104 `secret` varchar(30) DEFAULT NULL 103 `ed_user` varchar(25) NOT NULL DEFAULT '' 105 104 ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 106 105 … … 110 109 111 110 INSERT INTO `soraldo_config` (`sitename`, `siteurl`, `site_logo`, `slogan`, `startdate`, `adminmail`, `tema`, `foot`, `language`, `blocco`, `testata`, `nome_testata`, `fileout`, `copyright`, `Versione`, `patch`, `siteistat`, `multicomune`, `flash`, `displayerrors`, `gkey`, `googlemaps`, `editor`, `tema_on`, `ed_user`) VALUES 112 ('', 'https://www.eleonline.it', '', 'Sito istituzionale', 'Maggio 2022', 'admin@localhost', 'facebook', '<b>Comune di Test</b><br>\r\nvia - \r\nTel: Fax: \r\n<hr>', 'it', '1', '', '', '', 'Gpl v3', 2, 0, 84023, '1', ' 1', '0', '', '0', '1', '1', 'Admin');111 ('', 'https://www.eleonline.it', '', 'Sito istituzionale', 'Maggio 2022', 'admin@localhost', 'facebook', '<b>Comune di Test</b><br>\r\nvia - \r\nTel: Fax: \r\n<hr>', 'it', '1', '', '', '', 'Gpl v3', 2, 0, 84023, '1', '0', '0', '', '0', '1', '1', 'Admin'); 113 112 114 113 -- -------------------------------------------------------- … … 770 769 (3, '02_risultati.php', '02_risultati.php', 1, 0, 0), 771 770 (4, '04_sezioni.php', '04_sezioni.php', 1, 0, 0), 772 (5, ' bar_affluenze.php', 'bar_affluenze.php', 1, 0, 0),771 (5, 'privacy.php', 'privacy.php', 1, 0, 0), 773 772 (6, 'bloccocand.php', 'bloccocand.php', 1, 0, 0), 774 773 (7, 'bloccogen.php', 'bloccogen.php', 1, 0, 0), … … 776 775 (9, 'bloccoref.php', 'bloccoref.php', 1, 0, 0), 777 776 (10, 'gom_affluenze.php', 'gom_affluenze.php', 1, 0, 0), 778 (11, 'off_Votanti.php', 'off_Votanti.php', 1, 0, 0), 779 (12, 'pie_affluenze.php', 'pie_affluenze.php', 1, 0, 0); 777 (11, 'pie_affluenze.php', 'pie_affluenze.php', 1, 0, 0), 778 (12, 'social.php', 'social.php', 1, 0, 0), 779 (13, 'cerca_candidato.php', 'cerca_candidato.php', 1, 0, 0), 780 (14, 'cookie_law.php', 'cookie_law.php', 1, 0, 0); 780 781 781 782 --
Note:
See TracChangeset
for help on using the changeset viewer.