Changeset 383
- Timestamp:
- Nov 15, 2022, 4:26:53 PM (2 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/admin/modules/Elezioni/aggiornadb.php
r379 r383 3 3 #imposta il charset su utf8, qualsiasi altro valore per cambiarlo in latin1; 4 4 $newcs='utf8'; 5 6 @require_once(" config.php");5 /* 6 @require_once("..\..\config.php"); 7 7 try{ 8 8 $dbi = new PDO("mysql:host=$dbhost", $dbuname, $dbpass, array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION)); … … 14 14 die( $sql . "<br>" . $e->getMessage()); 15 15 } 16 16 */ 17 17 18 18 ############### … … 47 47 return $ret; 48 48 } 49 49 50 function aggiorna_index($tab,$ind,$dbi,$sql2,$num){ 50 51 $ret=0; … … 173 174 { 174 175 $sql="ALTER TABLE `".$prefix."_ele_lista` ADD `num_gruppo` INT(2) UNSIGNED NOT NULL AFTER `id_gruppo`"; 175 $ret=aggiorna($sql,$dbi,'',$num); 176 }else echo "<br><span style=\"color: green;\">- La tabella ".$prefix."_ele_lista non richiede questo aggiornamento</span><br>"; 177 176 $sql2="update `".$prefix."_ele_lista` as t1 set t1.num_gruppo=(select t2.num_gruppo from `".$prefix."_ele_gruppo` as t2 where t2.id_gruppo=t1.id_gruppo) where t1.num_gruppo=0"; 177 $ret=aggiorna($sql,$dbi,$sql2,$num); 178 }else{ 179 $sql="update `".$prefix."_ele_lista` as t1 set t1.num_gruppo=(select t2.num_gruppo from `".$prefix."_ele_gruppo` as t2 where t2.id_gruppo=t1.id_gruppo) where t1.num_gruppo=0"; 180 $ret=aggiorna($sql,$dbi,'',$num); 181 echo "<br><span style=\"color: green;\">- La tabella ".$prefix."_ele_lista non richiede questo aggiornamento</span><br>"; 182 } 178 183 if(!controllo($prefix.'_ele_lista','num_circ',++$num)) 179 184 { -
trunk/admin/modules/Elezioni/aggiornamento.php
r382 r383 59 59 ele(); 60 60 echo "<hr><br><h2 style=\"text-align:center;\">Revisione installata: $myrev<br>Revisione disponibile: $newrev</h2><br><hr>"; 61 ##### 62 echo "<style> 63 body 64 { 65 width:100%; 66 margin:0 auto; 67 padding:0px; 68 font-family:helvetica; 69 background-color:#A9D0F5; 70 } 71 #wrapper 72 { 73 text-align:center; 74 margin:0 auto; 75 padding:0px; 76 width:995px; 77 } 78 #wrapper h1 79 { 80 margin-top:100px; 81 font-size:40px; 82 } 83 #wrapper h1 p 84 { 85 font-size:17px; 86 } 87 #wrapper #feed_div 88 { 89 background-color:white; 90 width:550px; 91 height:320px; 92 overflow-y:scroll; 93 margin-left:220px; 94 margin-top:20px; 95 text-align:left; 96 border:1px solid silver; 97 padding:10px; 98 } 99 #wrapper #feed_div h2 100 { 101 font-size:17px; 102 } 103 #wrapper #feed_div .title a 104 { 105 text-decoration:none; 106 color:#0080FF; 107 } 108 </style>"; 109 echo "<div id=\"wrapper\">"; 110 echo "<br><br><p>Log delle modifiche (massimo 100 righe)</p>"; 111 echo "<div id=\"feed_div\">"; 112 $rss = simplexml_load_file("$host/ele3/log?format=rss&mode=stop_on_copy&rev=$newrev&stop_rev=$myrev&format=rss&max=100&verbose=on#"); 113 #$rss = simplexml_load_file("$host/ele3/log?action=follow_copy&mode=stop_on_copy&rev=$newrev&stop_rev=$myrev&limit=100&verbose=on#"); 114 115 echo '<h2>'. $rss->channel->title . '</h2>'; 116 foreach ($rss->channel->item as $item) 117 { 118 echo '<p class="title"><a href="'. $item->link .'">' . $item->title . "</a></p>"; 119 #$str=preg_replace("--", "<br>--", $item->description ); 120 $str=preg_replace('/\s\--/','<br>--',$item->description); 121 #$str=preg_replace("[^A-Za-z0-9\-]", "<br>", $item->description ); 122 # $str=preg_replace('/\s\`echo "\040"`/','<br>--',$item->description); 123 # $str=htmlentities($item->description); 124 echo "<p class='desc'>" . $str . "</p>"; 125 } 126 echo "</div>"; 127 echo "</div>"; 128 ##### 61 129 $file = file("$host/ele3/log/?format=changelog&limit=100&mode=stop_on_copy&rev=$newrev&stop_rev=$myrev&verbose=off"); 62 130 # echo "<br>Procedo con l'aggiornamento? "; … … 64 132 echo "<input type=\"hidden\" name=\"id_cons_gen\" value=\"$id_cons_gen\"><input type=\"hidden\" name=\"procedi\" value=\"1\">"; 65 133 echo "<br><table align=\"center\"><tr><td><h3>Procedo con l'aggiornamento?</h3></td><td><input type=\"submit\" name=\"vai\" value=\""._OK."\"></td></tr></table></form>"; 66 echo "<br><br><p>Log delle modifiche (massimo 100 righe)</p>"; 67 echo "<br><textarea name=\"log\" rows=\"15\" cols=\"150\">"; 134 /* echo "<br><textarea name=\"log\" rows=\"15\" cols=\"150\">"; 68 135 foreach ($file as $line_num => $line) echo "$line"; 69 136 70 137 echo "</textarea>"; 71 ############à 138 ############à */ 72 139 $filename = "$host/ele3/changeset?format=zip&new=$newrev&new_path=%2F&old=$myrev&old_path=%2F"; 73 140 … … 86 153 mkdir($path, 0777, true); 87 154 } 88 $newfile=$path."aggiornamento".$newrev;155 /* $newfile=$path."aggiornamento".$newrev; 89 156 copy($filename,$newfile); 90 157 $za->open($newfile); … … 95 162 print_r( $stat['name'] . PHP_EOL ); 96 163 } 97 ############98 99 100 101 164 */ ############ 165 include("footer.php");die(); 166 } 167 $admin = '../admin'; 168 $client = '../client'; 102 169 # $path = "/tmp/files"; 103 104 105 170 $backup = "./backup".$myrev; 171 $path = "./files/"; 172 $righe=''; 106 173 /* if(file_exists($path)) { 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 174 $i=1; 175 $ispath=$path; 176 while(file_exists($ispath)) 177 $ispath=$path.$i++; 178 $path.=--$i.'/'; 179 }else $path.='/'; 180 if (!is_dir($path)) { 181 if(false===rename($path,$path."_da_".$myrev."_a_".$newrev)) { 182 $errmex="E' presente un file di nome $path nella cartella admin, va cancellato per poter aggiornare"; 183 Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit; 184 } 185 $righe.= "<br>La cartella $path non Ú presente, procedo con la creazione"; 186 mkdir($path, 0777, true); 187 } 188 else 189 $righe.= "<br>La cartella $path Ú già presente, procedo con l'aggiornamento"; 190 }else{ 191 $righe.= "<br>Creo la cartella $path"; 192 mkdir($path, 0777, true);*/ 193 $trunk=$path.'trunk'; 194 $trunkadm=$trunk.'/admin'; 195 $trunkcli=$trunk.'/client'; 196 # } 197 # if(!file_exists($trunk)) if (false === mkdir($trunk)) { die("Impossibile creare la cartella trunk, il programma viene interrotto");} 198 # if(!copy($file,$trunkadm)){ $righe.= "<br>Errore durante la copia del pacchetto di aggiornamento<br>";} 199 // Nome del file zip : https://trac.eleonline.it/ele3/changeset?format=zip&new=377&new_path=%2F&old=360&old_path=%2F 200 # https://trac.eleonline.it/ele3/browser/trunk?format=zip&rev=377 201 202 $filename = "$host/ele3/changeset?format=zip&new=$newrev&new_path=%2F&old=$myrev&old_path=%2F"; 203 $newfile=$path."aggiornamento".$newrev; 204 if(!copy($filename,$newfile)){ 205 $errmex="Errore durante la copia del pacchetto $newfile - aggiornamento interrotto"; 206 Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit; 207 } 208 $zip = new ZipArchive; 209 $res = $zip->open($newfile); 143 210 ############ 144 211 #$za = new ZipArchive(); … … 216 283 } 217 284 $righedb=''; 218 if(file_exists( './files/trunk/admin/modules/Elezioni/aggiornadb.php')) {285 if(file_exists("$trunkadm/modules/Elezioni/aggiornadb.php")) { 219 286 $righe.= "<br><br><b>Aggiornamento del database</b>"; 220 287 ob_start(); … … 225 292 $righe.=$righedb; 226 293 $righe.= "<br><br><b>Operazioni di aggiornamento concluse.</b>"; 227 $dir = "./files/";228 if(file_exists($ dir)){229 $di = new RecursiveDirectoryIterator($ dir, FilesystemIterator::SKIP_DOTS);294 #$dir = "./files/"; 295 if(file_exists($path)){ 296 $di = new RecursiveDirectoryIterator($path, FilesystemIterator::SKIP_DOTS); 230 297 $ri = new RecursiveIteratorIterator($di, RecursiveIteratorIterator::CHILD_FIRST); 231 298 foreach ( $ri as $file ) { -
trunk/admin/modules/Elezioni/ele_lista.php
r360 r383 217 217 218 218 function lista($ok, $do,$id_lista, $num_lista, $id_gruppo,$id_circ, $descr_lista, $simbolo,$stemma) { 219 global $param,$bgcolor1, $bgcolor2, $prefix, $dbi, $descr_cons, $id_cons,$simbolo2,$tipo_cons,$min,$genere,$id_cons_gen; 220 $aid=$_SESSION['aid']; 221 $perms=ChiSei($id_cons_gen); 222 if (!$id_gruppo) $id_gruppo=0; 223 if ($perms >16) { 224 if ($do == "delete") { 225 if ($ok !="1") { 226 ele(); 227 echo "<center><br><br>"._DOMCANCELLA." "._LISTA." $descr_lista ?<br>"; 228 echo "[ <a href=\"admin.php?op=lista&id_cons_gen=$id_cons_gen&min=$min&id_circ=$id_circ\">"._NO."</a> ] - [<a href=\"admin.php?op=lista&do=delete&id_lista=$id_lista&id_gruppo=$id_gruppo&id_circ=$id_circ&ok=1&min=$min&id_cons_gen=$id_cons_gen\">"._YES."</a> ]";exit; 229 }else{ 230 $sql="delete from ".$prefix."_ele_lista where id_lista='$id_lista'"; 231 $result = $dbi->prepare("$sql"); 232 $result->execute(); 233 Header("Location: admin.php?op=lista&id_circ=$id_circ&id_cons_gen=$id_cons_gen&min=$min"); 234 } 235 }elseif ($do == "add") { 236 if ($descr_lista and ($id_gruppo or ($genere!=3 and $genere!=5))) { 219 global $param,$bgcolor1, $bgcolor2, $prefix, $dbi, $descr_cons, $id_cons,$simbolo2,$tipo_cons,$min,$genere,$id_cons_gen; 220 $aid=$_SESSION['aid']; 221 $perms=ChiSei($id_cons_gen); 222 if (!$id_gruppo) $id_gruppo=0; 223 $sql="select num_gruppo from ".$prefix."_ele_gruppo where id_gruppo='$id_gruppo'"; 224 $result1 = $dbi->prepare("$sql"); 225 $result1->execute(); 226 list($num_gruppo)=$result1->fetch(PDO::FETCH_NUM); 227 if ($perms >16) { 228 if ($do == "delete") { 229 if ($ok !="1") { 230 ele(); 231 echo "<center><br><br>"._DOMCANCELLA." "._LISTA." $descr_lista ?<br>"; 232 echo "[ <a href=\"admin.php?op=lista&id_cons_gen=$id_cons_gen&min=$min&id_circ=$id_circ\">"._NO."</a> ] - [<a href=\"admin.php?op=lista&do=delete&id_lista=$id_lista&id_gruppo=$id_gruppo&id_circ=$id_circ&ok=1&min=$min&id_cons_gen=$id_cons_gen\">"._YES."</a> ]";exit; 233 }else{ 234 $sql="delete from ".$prefix."_ele_lista where id_lista='$id_lista'"; 235 $result = $dbi->prepare("$sql"); 236 $result->execute(); 237 Header("Location: admin.php?op=lista&id_circ=$id_circ&id_cons_gen=$id_cons_gen&min=$min"); 238 } 239 }elseif ($do == "add") { 240 if ($descr_lista and ($id_gruppo or ($genere!=3 and $genere!=5))) { 241 $stemmablob=''; 242 $stemmanome=''; 243 $STEMM=$_FILES['stemma']; 244 $filestemma=$STEMM['tmp_name']; 245 $nomestemma=$STEMM['name']; 246 $sqlset=''; 247 if ($filestemma){ 248 $fdstemma = fopen ("$filestemma", "rb"); 249 $stemmacontents = fread ($fdstemma, filesize ("$filestemma")); 250 fclose ($fdstemma); 251 $stemmablob=addslashes($stemmacontents); 252 $stemmanome=addslashes($nomestemma); 253 } 254 $sql="insert into ".$prefix."_ele_lista (id_cons,num_lista,id_gruppo,num_gruppo,id_circ,descrizione,simbolo,stemma) values ('$id_cons','$num_lista','$id_gruppo','$num_gruppo','$id_circ','$descr_lista','$stemmanome','$stemmablob')"; 255 $result = $dbi->prepare("$sql"); 256 $result->execute(); 257 Header("Location: admin.php?op=lista&id_circ=$id_circ&min=$min&id_cons_gen=$id_cons_gen"); 258 } else { 259 $mex=""; 260 if (!$id_gruppo) $mex.="- Devi collegare la lista ad un gruppo! -"; 261 if (!$descr_lista) $mex.="- Devi inserire il nome della lista! -"; 262 Header("Location: admin.php?op=lista&id_circ=$id_circ&min=$min&id_cons_gen=$id_cons_gen&descr_lista=$descr_lista&id_gruppo=$id_gruppo&mex=$mex"); 263 } 264 }elseif ($do == "update") { 237 265 $stemmablob=''; 238 266 $stemmanome=''; … … 242 270 $sqlset=''; 243 271 if ($filestemma){ 244 $fdstemma = fopen ("$filestemma", "rb"); 245 $stemmacontents = fread ($fdstemma, filesize ("$filestemma")); 246 fclose ($fdstemma); 247 $stemmablob=addslashes($stemmacontents); 248 $stemmanome=addslashes($nomestemma); 249 } 250 $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')"; 272 $fdstemma = fopen ("$filestemma", "rb"); 273 $stemmacontents = fread ($fdstemma, filesize ("$filestemma")); 274 fclose ($fdstemma); 275 $stemmablob=addslashes($stemmacontents); 276 $stemmanome=($nomestemma); 277 $cond=", simbolo='$stemmanome', stemma='$stemmablob'"; 278 } else {$cond='';} 279 $sql="update ".$prefix."_ele_lista set num_lista='$num_lista' , id_gruppo='$id_gruppo',num_gruppo='$num_gruppo',descrizione='$descr_lista' $cond where id_lista='$id_lista'"; 280 #die("TEST: $sql"); 251 281 $result = $dbi->prepare("$sql"); 252 282 $result->execute(); 253 283 Header("Location: admin.php?op=lista&id_circ=$id_circ&min=$min&id_cons_gen=$id_cons_gen"); 254 } else { 255 $mex=""; 256 if (!$id_gruppo) $mex.="- Devi collegare la lista ad un gruppo! -"; 257 if (!$descr_lista) $mex.="- Devi inserire il nome della lista! -"; 258 Header("Location: admin.php?op=lista&id_circ=$id_circ&min=$min&id_cons_gen=$id_cons_gen&descr_lista=$descr_lista&id_gruppo=$id_gruppo&mex=$mex"); 259 } 260 }elseif ($do == "update") { 261 $stemmablob=''; 262 $stemmanome=''; 263 $STEMM=$_FILES['stemma']; 264 $filestemma=$STEMM['tmp_name']; 265 $nomestemma=$STEMM['name']; 266 $sqlset=''; 267 if ($filestemma){ 268 $fdstemma = fopen ("$filestemma", "rb"); 269 $stemmacontents = fread ($fdstemma, filesize ("$filestemma")); 270 fclose ($fdstemma); 271 $stemmablob=addslashes($stemmacontents); 272 $stemmanome=($nomestemma); 273 $cond=", simbolo='$stemmanome', stemma='$stemmablob'"; 274 } else {$cond='';} 275 $sql="update ".$prefix."_ele_lista set num_lista='$num_lista' , id_gruppo='$id_gruppo',descrizione='$descr_lista' $cond where id_lista='$id_lista'"; 276 #die("TEST: $sql"); 277 $result = $dbi->prepare("$sql"); 278 $result->execute(); 279 Header("Location: admin.php?op=lista&id_circ=$id_circ&min=$min&id_cons_gen=$id_cons_gen"); 280 } 281 282 283 } 284 } 285 286 287 } 284 288 } 285 289 -
trunk/admin/modules/Elezioni/restore.php
r362 r383 103 103 # if(!$res_del->rowCount()) die ("delete $tbs where id_cons=$idcns--- errore di cancellazione"); 104 104 }else $valori.= ",'".addslashes(base64_decode($val))."'"; 105 if($tab=='soraldo_ele_cons_comune') $valori.=",'0'"; 105 # else $valori.= ",''"; if($key!=9 and $tab!='soraldo_ele_gruppo') 106 # if($tab=='soraldo_ele_cons_comune') $valori.=",'0'"; 106 107 $sql="insert into $tab values($valori)"; 107 108 try { -
trunk/admin/versione.php
r382 r383 1 1 <?php 2 2 3 $versione = "3.0 rev 38 2";3 $versione = "3.0 rev 383"; 4 4 $version_number = $versione; 5 $datarel = " 28 ottobre 2022";5 $datarel = "15novembre 2022"; 6 6 $version = "Eleonline $version_number (<i>Data Release: $datarel</i>)"; 7 7 -
trunk/client/modules/Elezioni/consiglieri.php
r371 r383 24 24 $result->execute(); 25 25 list($id_conf,$fascia) = $result->fetch(PDO::FETCH_NUM); 26 $sql = "SELECT limite,consin,infpremio,supsbarramento,suppremio,listinfsbar,listinfconta,listsupconta,supminpremio,infminpremio from ".$prefix."_ele_conf where id_conf='$id_conf'";26 $sql = "SELECT limite,consin,infpremio,supsbarramento,suppremio,listinfsbar,listinfconta,listsupconta,supminpremio,infminpremio,inffisso from ".$prefix."_ele_conf where id_conf='$id_conf'"; 27 27 $res = $dbi->prepare("$sql"); 28 28 $res->execute(); 29 list($limite,$consin,$infpremio,$supsbarramento,$suppremio,$listinfsbar,$listinfconta,$listsupconta,$supminpremio,$infminpremio ) = $res->fetch(PDO::FETCH_NUM);29 list($limite,$consin,$infpremio,$supsbarramento,$suppremio,$listinfsbar,$listinfconta,$listsupconta,$supminpremio,$infminpremio,$inffisso) = $res->fetch(PDO::FETCH_NUM); 30 30 $numcons=0; 31 31 echo "<table><tr><td align=\"center\">"._PROIEZCONS."</td></tr></table>"; … … 33 33 34 34 function consiglio(){ 35 global $param,$id_cons_gen, $dbi, $prefix, $id_comune, $gruppo, $numgruppo, $listecol, $id_comune, $limite,$numcons,$id_conf,$fascia,$id_cons ;35 global $param,$id_cons_gen, $dbi, $prefix, $id_comune, $gruppo, $numgruppo, $listecol, $id_comune, $limite,$numcons,$id_conf,$fascia,$id_cons,$validi; 36 36 $collegate= array(); 37 37 $collperd= array(); … … 54 54 55 55 list($capoluogo) = $result->fetch(PDO::FETCH_NUM); 56 $sql = "select fascia_capoluogo from ".$prefix."_ele_conf where id_conf='$conf'";56 $sql = "select inffisso,fascia_capoluogo from ".$prefix."_ele_conf where id_conf='$conf'"; 57 57 $result = $dbi->prepare("$sql"); 58 58 $result->execute(); 59 59 60 list($ fascia2) = $result->fetch(PDO::FETCH_NUM);60 list($inffisso,$fascia2) = $result->fetch(PDO::FETCH_NUM); 61 61 if($fascia<$fascia2 and $capoluogo) $fascia=$fascia2; 62 62 … … 122 122 $numgruppo=$num_gruppo1; 123 123 } 124 if ($fascia<=$limite and $numgruppo) consmin($fascia,$numgruppo); 125 elseif ($gruppo>0) conssup($fascia,$gruppo,$collegate,$collperd,$primoturno); 124 if ($fascia<=$limite and $numgruppo) { 125 if($inffisso) 126 consmin4($fascia,$numgruppo); 127 else 128 consmin($fascia,$numgruppo); 129 }elseif ($gruppo>0) conssup($fascia,$gruppo,$collegate,$collperd,$primoturno); 126 130 elseif ($numgruppo>0){ 127 131 $sqllis = "SELECT t1.id_lista,t1.num_lista,t1.descrizione,t1.id_gruppo from ".$prefix."_ele_lista as t1, ".$prefix."_ele_gruppo as t2 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo and t2.num_gruppo not in (".$_SESSION['ballo1'].",".$_SESSION['ballo2'].")"; … … 204 208 } 205 209 210 function consmin4($fascia,$grp) { 211 global $id_cons, $prefix,$dbi,$num_candlst,$PNE,$CSEC,$validi,$consin,$numcons,$inffisso; 212 global $infpremio,$fisso,$sincons, $votol; 213 if (!isset($fisso)) $fisso=0; #se fisso=1 il premio di maggioranza Ú fisso 214 if (isset($votol)) {$votolista=$votol; $fisso=$votol;} #se votolista=1 c'e' voto di lista 215 if (!isset($sincons)) $sincons=0; #se sincons=1 il sindaco eletto occupa un posto di consigliere 216 $sql="SELECT t1.num_gruppo,sum(t2.voti) as voti from ".$prefix."_ele_gruppo as t1, ".$prefix."_ele_voti_gruppo as t2 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo group by t1.num_gruppo order by voti desc limit 0,2"; 217 $res = $dbi->prepare("$sql"); 218 $res->execute(); 219 $numgruppi=$res->rowCount(); 220 $PNE=_PRIMONON; 221 $CSEC=_SINDCONS; 222 $sorteggio=0; 223 $sindel=0; 224 $num_candlst=array(); 225 $listagruppo=array(); 226 #funzione di calcolo per comuni fino a 15.000 abitanti (più esattamente fino al valore di $limite) 227 $grpcond=''; 228 if($grp) $grpcond="and t1.num_gruppo='$grp'"; 229 if ($sincons) $numcons--; 230 #$numcons--; 231 #carica numero di liste e voti, i voti sono quelli del gruppo se non c'e' voto di lista 232 $seggimag=array(); 233 ########## 234 # $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_gruppo as t3 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo and t1.id_gruppo=t3.id_gruppo group by t1.descrizione, t1.num_gruppo,t2.num_lista,t2.descrizione order by voti desc limit 0,2"; 235 236 ################ 237 #seleziona il sindaco (gruppo con più voti) e lista collegata 238 $sql = "SELECT t1.descrizione,t1.num_gruppo,sum(t3.voti) as voti from ".$prefix."_ele_gruppo as t1, ".$prefix."_ele_voti_gruppo as t3 where t1.id_cons='$id_cons' and t1.id_gruppo=t3.id_gruppo group by t1.descrizione, t1.num_gruppo order by voti desc limit 0,2"; 239 $res_per = $dbi->prepare("$sql"); 240 $res_per->execute(); 241 $votig=0; 242 $gruppo=array(); 243 $conselcsne=array(); 244 $lisvin=0; 245 $gruvin=0; 246 while(list($descr,$num_gruppo,$voti)= $res_per->fetch(PDO::FETCH_NUM)) 247 { 248 $sql = "SELECT t2.id_lista,t2.num_lista,t2.descrizione,sum(t3.voti) from ".$prefix."_ele_lista as t2, ".$prefix."_ele_voti_lista as t3 where t2.id_cons='$id_cons' and t2.id_lista=t3.id_lista and t2.num_gruppo=$num_gruppo group by t2.id_lista,t2.num_lista,t2.descrizione order by voti desc limit 0,1"; 249 $res_lis = $dbi->prepare("$sql"); 250 $res_lis->execute(); 251 list($id_lista1,$num_lista,$descr_lista,$votil)= $res_lis->fetch(PDO::FETCH_NUM); 252 253 $desgruppi[$num_gruppo]=$descr; 254 $listagruppo[$num_lista]=$num_gruppo; 255 if($voti>=$votig and (!$grp or $grp==$num_gruppo)) 256 { 257 if(!$lisvin ) {$lisvin=$num_lista; $gruvin=$num_gruppo;} 258 $votig=$voti; 259 if ($grp) 260 $votig++; 261 $gruppo[$num_gruppo]=array($descr,$num_gruppo,$id_lista1,$num_lista,$descr_lista,$voti); 262 }else{ 263 if($voti>=$validi/5) {$sindel=1;$conselcsne[]=array("$CSEC","","",$descr,"","");} 264 } 265 } 266 #seleziona la lista (o liste) con più voti 267 $sql = "SELECT t1.descrizione, t2.id_lista,t2.num_lista, sum(t2.voti) as voti from ".$prefix."_ele_voti_lista as t2 left join ".$prefix."_ele_lista as t1 on t1.id_lista=t2.id_lista where t2.id_cons='$id_cons' group by t2.id_lista,t2.num_lista, t1.descrizione order by voti desc"; 268 $res_per = $dbi->prepare("$sql"); 269 $res_per->execute(); 270 $seggi=array(); 271 $idlst= array(); 272 $desliste=array(); 273 $lists=array(); 274 # $votimax=0; 275 $contalst=0; 276 $mag=intval($validi/2)+1; 277 $lim5=intval($validi/20); 278 $varmag=0; 279 $prevoti=0; 280 $lav=0; 281 while(list($descr_lista,$id_lista2,$num_lista,$voti)= $res_per->fetch(PDO::FETCH_NUM)){ 282 if($voti<$prevoti) 283 if($num_lista!=$lisvin) 284 { 285 if($lav) break; 286 else continue; 287 } 288 if($voti<=$lim5) break; 289 if($voti>=$mag) { 290 $desliste[$num_lista]=$num_lista.") ".$descr_lista; 291 $quozienti[$num_lista]=$voti; 292 $lists[$num_lista]=$voti; 293 $idlst[$num_lista]=$id_lista2; 294 if($num_lista===$lisvin) { 295 $seggi[$num_lista]=number_format($numcons/3*2); 296 $varmag=1; 297 continue; 298 }else{ 299 $seggimin[$num_lista]=number_format($numcons*0.6,0); 300 $seggi[$lisvin]=number_format($numcons*0.4,0); 301 $prevoti=$voti; 302 $varmag=1; 303 continue; 304 } 305 }else{ 306 if($num_lista!=$lisvin) $contalst++; 307 $quozienti[$num_lista]=$voti; 308 $desliste[$num_lista]=$num_lista.") ".$descr_lista; 309 $lists[$num_lista]=$voti; 310 $idlst[$num_lista]=$id_lista2; 311 if($num_lista==$lisvin and !$varmag) 312 $seggi[$num_lista]=number_format($numcons/3*2); 313 elseif($num_lista!=$lisvin) 314 $seggimin[$num_lista]=number_format($numcons/3); 315 } 316 if($num_lista!=$lisvin) $prevoti=$voti; 317 else $lav=1; 318 } 319 if(!isset($seggi[$lisvin])) $seggi[$lisvin]=number_format($numcons/3*2,0); 320 $consel=array(); 321 $conselmin=array(); 322 $consel[]=array(_LISTA,_VOTI,_SEGGI,_CANDIDATO,_CIFRAELE,_QUOZIENTI); 323 foreach ($idlst as $lista=>$id_lista){ 324 $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,descr"; 325 $res_can = $dbi->prepare("$sql"); 326 $res_can->execute(); 327 $num_candlst[$lista]=$res_can->rowCount(); 328 $pos=0; 329 while(list($cand,$pre)=$res_can->fetch(PDO::FETCH_NUM)){ 330 if(!isset($lists[$lista])) $lists[$lista]=0; 331 $cifra[$lista][$pos]=$lists[$lista]+$pre; 332 $arvin[$lista][$pos++]=$cand; 333 } 334 } 335 if(isset($mex)) 336 echo "$mex"; 337 foreach ($seggi as $lista=>$val){ 338 for ($z=0;$z<$val;$z++){ 339 if ($z) $consel[]=array("","","",$arvin[$lista][($z)],$cifra[$lista][($z)],number_format($quozienti[$lista]/($z+1),2,',','.')); 340 else $consel[]=array($desliste[$lista],$lists[$lista],$val,$arvin[$lista][($z)],$cifra[$lista][($z)],number_format($quozienti[$lista]/($z+1),2,',','.')); 341 } 342 } 343 if($arvin[$lista][($z)]) $consel[]=array($desliste[$lista],"$PNE","",$arvin[$lista][($z)],$cifra[$lista][($z)],number_format($quozienti[$lista]/($z+1),2,',','.')); 344 $assegnato=0; 345 $sorteggio=0; 346 foreach ($seggimin as $lista=>$val){ 347 if ($consin and $val>0 and $sindel){ 348 $val--; 349 } 350 $val=number_format($val/$contalst); 351 if($val%$contalst) $sorteggio=1; 352 for ($z=0;$z<$val;$z++){ 353 if ($z) $conselmin[]=array("","","",$arvin[$lista][($z)],$cifra[$lista][($z)],number_format($quozienti[$lista]/($z+1),2,',','.')); 354 else $conselmin[]=array($desliste[$lista],$lists[$lista],$val,$arvin[$lista][($z)],$cifra[$lista][($z)],number_format($quozienti[$lista]/($z+1),2,',','.')); 355 } 356 if($arvin[$lista][($z)]) $conselmin[]=array($desliste[$lista],"$PNE","",$arvin[$lista][($z)],$cifra[$lista][($z)],number_format($quozienti[$lista]/($z+1),2,',','.')); 357 } 358 foreach($conselcsne as $key=>$val) 359 { 360 $consel[]=array($val[0],$val[3]); 361 } 362 foreach($conselmin as $key=>$val) 363 { 364 $consel[]=array($val[0],$val[1],$val[2],$val[3],$val[4],$val[5]); 365 } 366 367 368 # echo "<br> lisvin: $lisvin"; 369 echo "<table summary=\"Tabella dei consiglieri eletti\" class=\"table-docs\" cellspacing=\"0\" cellpadding=\"2\" border=\"1\" rules=\"all\">"; 370 echo "<tr class=\"bggray\"><td scope=\"row\">"; 371 echo _SINDACO.": ".$desgruppi[$listagruppo[$lisvin]]."</td></tr></table>"; 372 stampalista($consel); 373 } 374 ##################### 375 206 376 function consmin($fascia,$grp) { 207 global $id_cons, $prefix,$dbi,$num_candlst,$quozienti,$PNE,$CSEC,$consin,$numcons ;377 global $id_cons, $prefix,$dbi,$num_candlst,$quozienti,$PNE,$CSEC,$consin,$numcons,$inffisso; 208 378 global $infpremio,$fisso,$sincons, $votol; 209 379 if (!isset($fisso)) $fisso=0; #se fisso=1 il premio di maggioranza Ú fisso … … 228 398 $consel[]=array(_LISTA,_VOTI,_SEGGI,_CANDIDATO,_CIFRAELE,_QUOZIENTI); 229 399 #carica numero di liste e voti, i voti sono quelli del gruppo se non c'e' voto di lista 230 if($votolista=='0') 400 if($inffisso=='1') 401 $sql = "SELECT sum(validi+contestati) from ".$prefix."_ele_sezioni where id_cons='$id_cons'"; 402 elseif($votolista=='0') 231 403 $sql = "SELECT sum(validi) from ".$prefix."_ele_sezioni where id_cons='$id_cons'"; 232 404 else … … 234 406 $res_val = $dbi->prepare("$sql"); 235 407 $res_val->execute(); 236 237 408 list($validi) = $res_val->fetch(PDO::FETCH_NUM); 238 #se votolista==1, Ú abilitato il voto di lista ed Ú quello su cui si calcola l'assegnazione dei seggi 409 #se votolista==1, Ú abilitato il voto di lista ed Ú quello su cui si calcola l'assegnazione dei seggi 239 410 if ($fisso==1){ 240 #seleziona il sindaco 241 $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_gruppo as t3 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo and t1.id_gruppo=t3.id_gruppo group by t1.descrizione, t1.num_gruppo,t2.num_lista,t2.descrizione order by voti desc limit 0,1"; 242 $res_per = $dbi->prepare("$sql"); 243 $res_per->execute(); 244 411 #seleziona il sindaco (gruppo con più voti) e lista collegata 412 $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_gruppo as t3 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo and t1.id_gruppo=t3.id_gruppo group by t1.descrizione, t1.num_gruppo,t2.num_lista,t2.descrizione order by voti desc limit 0,1"; 413 $res_per = $dbi->prepare("$sql"); 414 $res_per->execute(); 245 415 list($descr,$num_gruppo,$id_lista1,$num_lista,$descr_lista,$voti)= $res_per->fetch(PDO::FETCH_NUM); 246 $sql = "SELECT t2.id_lista, sum(t2.voti) as voti from ".$prefix."_ele_voti_lista as t2 where t2.id_cons='$id_cons' and t2.id_lista!='$id_lista1' group by t2.id_lista order by voti desc limit 0,1"; 247 $res_per = $dbi->prepare("$sql");248 $res_per->execute();249 416 #seleziona la lista di minoranza con più voti 417 $sql = "SELECT t2.id_lista, sum(t2.voti) as voti from ".$prefix."_ele_voti_lista as t2 where t2.id_cons='$id_cons' and t2.id_lista!='$id_lista1' group by t2.id_lista order by voti desc limit 0,1"; 418 $res_per = $dbi->prepare("$sql"); 419 $res_per->execute(); 250 420 list($id_lista2,$voti)= $res_per->fetch(PDO::FETCH_NUM); 251 421 #e la lista di minoranza 252 422 $ordine= $id_lista1>$id_lista2 ? "desc":""; 253 $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 (t2.id_lista='$id_lista1' or t2.id_lista='$id_lista2') 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 t2.id_lista $ordine"; 254 $res_per = $dbi->prepare("$sql"); 255 $res_per->execute(); 256 257 }else{ 258 $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_gruppo as t3 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo and t1.id_gruppo=t3.id_gruppo group by t1.descrizione,t1.num_gruppo,t2.id_lista,t2.num_lista,t2.descrizione order by voti desc"; 259 $res_per = $dbi->prepare("$sql"); 260 $res_per->execute(); 261 423 $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 (t2.id_lista='$id_lista1' or t2.id_lista='$id_lista2') 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 t2.id_lista $ordine"; 424 $res_per = $dbi->prepare("$sql"); 425 $res_per->execute(); 426 }else{ 427 $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_gruppo as t3 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo and t1.id_gruppo=t3.id_gruppo group by t1.descrizione,t1.num_gruppo,t2.id_lista,t2.num_lista,t2.descrizione order by voti desc"; 428 $res_per = $dbi->prepare("$sql"); 429 $res_per->execute(); 262 430 } 263 431 $groups=array(); … … 281 449 $x++; 282 450 }#controllo del premio di maggioranza 283 // if ($gruppo[$listagruppo[$lisvin]]>($validi*2/3))451 // if ($gruppo[$listagruppo[$lisvin]]>($validi*2/3)) 284 452 if($numgruppi==1) $fisso=1; 285 286 287 $seggimag[$lisvin]=number_format($numcons*($gruppo[$listagruppo[$lisvin]]*100/$validi)/100);288 ##echo "<br> seggimag:".$seggimag[$lisvin];289 $num_cons=number_format($numcons-$seggimag[$lisvin]);290 # $num_cons=$numcons;291 453 if ($gruppo[$listagruppo[$lisvin]]>($validi*$infpremio/100) and $fisso==1) 454 { 455 $seggimag[$lisvin]=number_format($numcons*($gruppo[$listagruppo[$lisvin]]*100/$validi)/100); 456 ##echo "<br> seggimag:".$seggimag[$lisvin]; 457 $num_cons=number_format($numcons-$seggimag[$lisvin]); 458 # $num_cons=$numcons; 459 } else { 292 460 // $seggimag[$lisvin]=number_format($numcons*2/3); 293 461 // $num_cons=number_format($numcons/3); 294 295 296 462 $seggimag[$lisvin]=number_format($numcons*$infpremio/100); 463 $num_cons=number_format($numcons-$seggimag[$lisvin]); 464 } 297 465 foreach ($listagruppo as $lista=>$val){ 298 $id_lista=$idlst[$lista]; 299 $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,descr"; 300 $res_can = $dbi->prepare("$sql"); 301 $res_can->execute(); 302 303 304 $num_candlst[$lista]=$res_can->rowCount(); 305 $pos=0; 306 while(list($cand,$pre)=$res_can->fetch(PDO::FETCH_NUM)){ 307 if(!isset($lists[$lista])) $lists[$lista]=0; 308 $cifra[$lista][$pos]=$lists[$lista]+$pre; 309 $arvin[$lista][$pos++]=$cand; 310 } 466 $id_lista=$idlst[$lista]; 467 $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,descr"; 468 $res_can = $dbi->prepare("$sql"); 469 $res_can->execute(); 470 $num_candlst[$lista]=$res_can->rowCount(); 471 $pos=0; 472 while(list($cand,$pre)=$res_can->fetch(PDO::FETCH_NUM)){ 473 if(!isset($lists[$lista])) $lists[$lista]=0; 474 $cifra[$lista][$pos]=$lists[$lista]+$pre; 475 $arvin[$lista][$pos++]=$cand; 476 } 311 477 } 312 478 if ($num_candlst[$lisvin]<$seggimag[$lisvin]) { … … 324 490 if($arvin[$lista][($z)]) $consel[]=array($desliste[$lista],"$PNE","",$arvin[$lista][($z)],$cifra[$lista][($z)],number_format($quozienti[$lista][$z],2)); 325 491 $seggimin=array(); 492 $assegnato=0; 326 493 $seggimin=calcoloseggi($listemin,$num_cons,1); 327 494 foreach ($seggimin as $lista=>$val){ 328 if ($consin and $val>0 ){495 if ($consin and $val>0 and (!$assegnato or !$inffisso)){ 329 496 $conselcsne[]=array("$CSEC","","",$desgruppi[$listagruppo[$lista]],"",""); 330 497 $val--; 498 $assegnato=1; 331 499 } 332 500 for ($z=0;$z<$val;$z++){ … … 450 618 } 451 619 } 620 $z=0; 452 621 foreach ($riga as $cella) { 453 622 if ($e==1){ … … 455 624 }else{ 456 625 $t="<td scope=\"row\"";$f="</td>"; 457 } 626 } 627 if($z==0 or $z==3) 458 628 echo "$t $i align=\"left\">$cella $f"; 459 $i=''; 460 629 else 630 echo "$t $i align=\"right\">$cella $f"; 631 $i=''; 632 $z++; 461 633 } 462 634 if ($y) $y=0; -
trunk/client/versione.php
r382 r383 1 1 <?php 2 2 3 $versione = "3.0 rev 38 2";3 $versione = "3.0 rev 383"; 4 4 $version_number = $versione; 5 $datarel = " 28 ottobre 2022";5 $datarel = "15 novembre 2022"; 6 6 $version = "Eleonline $version_number (<i>Data Release: $datarel</i>)"; 7 7
Note:
See TracChangeset
for help on using the changeset viewer.