Changeset 377 for trunk/admin


Ignore:
Timestamp:
Sep 28, 2022, 12:38:28 PM (2 years ago)
Author:
roby
Message:

DB

  • modifica tabella sezioni con inserimento constraint per controllo duplicati nel numero di sezione

ADMIN

  • modifica della funzione di connessione al db nel file admin.php per compatibilità con php5
  • modifica della funzione di inserimento delle sezioni con inserimento avvisi per errori di inserimento
  • modificata la funzione di aggiornamento del DB ( admin/aggiornadb.php ) per gestire l'aggiornamento degli indici PRIMARY, aggiunto il controllo della tabella soraldo_ele_liste e il nuovo contraint per la tabella soraldo_ele_sezioni
Location:
trunk/admin
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/admin.php

    r376 r377  
    136136
    137137$dsn = "mysql:host=$dbhost";
    138 $opt = [
    139 PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    140 PDO::ATTR_EMULATE_PREPARES => false,
    141 ];
     138$opt = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_EMULATE_PREPARES => false);
    142139if($prefix == '') {
    143140        db_err ('stepBack','Non avete indicato il prefisso tabelle database.');
  • trunk/admin/aggiornadb.php

    r376 r377  
    4949function aggiorna_index($tab,$ind,$dbi,$sql2,$num){
    5050        $ret=0;
     51#       $conn->getAttribute( constant( "PDO::ATTR_$val" ) )
    5152        $sqltest="SHOW INDEX FROM `$tab` WHERE KEY_NAME = '$ind'";
    5253        $res = $dbi->prepare("$sqltest");
    5354        $res->execute();
     55               
    5456        if($res->rowCount()) {
    55                 $sql="ALTER TABLE `$tab` DROP INDEX `$ind`";
     57                if($ind=='PRIMARY')
     58                        $sql="ALTER TABLE `$tab`  DROP PRIMARY KEY , $sql2 ";
     59                else
     60                        $sql="ALTER TABLE `$tab` DROP INDEX `$ind`";
    5661                try{
    5762                        $res = $dbi->prepare("$sql");
     
    6671                }
    6772        }
    68         if("$sql2"!=""){
     73        if("$sql2"!="" and $ind!='PRIMARY'){
    6974                try{
    7075                  $res = $dbi->prepare("$sql2");
     
    242247$ret=aggiorna($sql,$dbi,'',$num);
    243248
     249echo "<br><br>".++$num.") Aggiornamento dei valori di default: ".$prefix."_ele_voti_lista";
     250$sql="ALTER TABLE `".$prefix."_ele_voti_lista` CHANGE `num_lista` `num_lista` INT(2) UNSIGNED NULL DEFAULT '0';";
     251$ret=aggiorna($sql,$dbi,'',$num);
     252
    244253echo "<br><br>".++$num.") Aggiornamento tabella ".$prefix."_ele_voti_lista";
    245254$sql="update `".$prefix."_ele_voti_lista` as t1 left join `".$prefix."_ele_lista` as t2 on t1.id_lista=t2.id_lista set t1.num_lista=t2.num_lista;";
     
    247256##############################################
    248257
    249 echo "<br><br>".++$num.") Aggiornamento dei valori di default";
     258echo "<br><br>".++$num.") Aggiornamento dei valori di default: ".$prefix."_ele_gruppo";
    250259$sql="ALTER TABLE `".$prefix."_ele_gruppo` CHANGE `num_circ` `num_circ` INT(2) UNSIGNED NOT NULL DEFAULT '1';";
    251260$ret=aggiorna($sql,$dbi,'',$num);
     
    364373$ret=aggiorna_index($tab, $ind,$dbi,$sql2,$num);
    365374
     375$tab=$prefix."_ele_sezioni";
     376$ind="id_cons";
     377$sql2="ALTER TABLE `".$prefix."_ele_sezioni` ADD UNIQUE `id_cons` (`id_cons`, `num_sez`) USING BTREE";
     378$ret=aggiorna_index($tab,$ind,$dbi,$sql2,$num);
     379
    366380$tab=$prefix."_ele_voti_lista";
    367381$ind="id_cons";
     
    390404$ind="PRIMARY";
    391405#$sql="ALTER TABLE `".$prefix."_ele_lista` DROP INDEX if exists `PRIMARY`";
    392 $sql2="ALTER TABLE `".$prefix."_ele_lista` ADD PRIMARY KEY (`id_lista`) USING BTREE";
     406$sql2="ADD PRIMARY KEY (`id_lista`) USING BTREE";
    393407$ret=aggiorna_index($tab,$ind,$dbi,$sql2,$num);
    394408
     
    402416$ind="PRIMARY";
    403417#$sql="ALTER TABLE `".$prefix."_ele_gruppo` DROP INDEX if exists `PRIMARY`";
    404 $sql2="ALTER TABLE `".$prefix."_ele_gruppo` ADD PRIMARY KEY (`id_gruppo`) USING BTREE";
     418$sql2="ADD PRIMARY KEY (`id_gruppo`) USING BTREE";
    405419$ret=aggiorna_index($tab,$ind,$dbi,$sql2,$num);
    406420
     
    414428$ind="PRIMARY";
    415429#$sql="ALTER TABLE `".$prefix."_ele_candidati` DROP INDEX if exists `PRIMARY`";
    416 $sql2="ALTER TABLE `".$prefix."_ele_candidati` ADD PRIMARY KEY (`id_cand`) USING BTREE";
     430$sql2="ADD PRIMARY KEY (`id_cand`) USING BTREE";
    417431$ret=aggiorna_index($tab,$ind,$dbi,$sql2,$num);
    418432
  • trunk/admin/modules/Elezioni/ele_sezione.php

    r344 r377  
    2323list($tipo_cons,$id_cons) = $res->fetch(PDO::FETCH_NUM);
    2424if (isset($param['do'])) $do=addslashes($param['do']); else $do='';
     25if (isset($param['mex'])) $mex=addslashes($param['mex']); else $mex='';
    2526if (isset($param['id_sede'])) $id_sede=intval($param['id_sede']); else $id_sede='';
    2627if (isset($param['min'])) $min=intval($param['min']); else $min=0;
     
    4647
    4748function all() {
    48    global $admin, $bgcolor1, $bgcolor2, $prefix, $dbi, $offset, $min, $id_cons,$id_cons_gen;
     49        global $admin, $bgcolor1, $bgcolor2, $prefix, $dbi, $offset, $min, $id_cons,$id_cons_gen,$mex;
    4950#       OpenTable();
    5051        $y=0;
    51    echo "<center><font class=\"title\"><a NAME=riga><b>"._SEZIONE."</b></a></font><br><br><table border=\"0\" width=\"95%\"><tr>"
     52    $sql="SELECT * FROM ".$prefix."_ele_sezioni where id_cons='$id_cons'  ";
     53        $res = $dbi->prepare("$sql");
     54        $res->execute();
     55    $numsez = $res->rowCount();
     56        $sql="SELECT max(num_sez) FROM ".$prefix."_ele_sezioni where id_cons='$id_cons'  ";
     57        $res = $dbi->prepare("$sql");
     58        $res->execute();
     59    list($max) = $res->fetch(PDO::FETCH_NUM);
     60        if($numsez!=$max) $mex="Sembra che sia stata saltata una sezione, controllate prego";
     61        echo "<center><font class=\"title\"><a NAME=riga><b>"._SEZIONE."</b></a></font><br>";
     62        if($mex!='')
     63                echo "<h2 style=\"background-color:red;color:white;\">$mex</h2>";
     64        echo "<br><table border=\"0\" width=\"95%\"><tr>"
    5265        ."<td bgcolor=\"$bgcolor1\" align=\"center\"><b>"._NUM."</b></td>"
    5366        ."<td bgcolor=\"$bgcolor1\" align=\"center\"><b>"._INDIRIZZO."</b></td>"
     
    5669        ."<td bgcolor=\"$bgcolor1\" align=\"center\" ><b>"._TOTS." "._ISCRITTI."</b></td>"
    5770        ."<td bgcolor=\"$bgcolor1\" align=\"center\"><b>"._FUNZIONI."</b></td></tr>";
    58     $sql="SELECT * FROM ".$prefix."_ele_sezioni where id_cons='$id_cons'  ";
    59         $res = $dbi->prepare("$sql");
    60         $res->execute();
    61     $max = $res->rowCount();
    6271        echo "<tr align=\"center\"><form name=\"sezi\" action=\"admin.php\">"
    6372        ."<input type=\"hidden\" name=\"op\" value=\"sezione\">"
     
    217226                        $sql="insert into ".$prefix."_ele_sezioni (id_cons,id_sede,num_sez,maschi,femmine, autorizzati_m,autorizzati_f,colore) values ('$id_cons', '$id_sede', '$num_sez','$maschi','$femmine','$aut_m', '$aut_f','#FAFAD2')";
    218227                        $res = $dbi->prepare("$sql");
    219                         $res->execute();
    220                         Header("Location: admin.php?op=sezione&id_cons_gen=$id_cons_gen&min=$min");
     228                        $mex='';
     229                        try
     230                        {
     231                                $res->execute();
     232                        }
     233                        catch(PDOException $e)
     234                        {
     235                                if ($e->errorInfo[1] == 1062) $mex="Numero di sezione duplicato, dati non memorizzati";                                 
     236                        }
     237                        Header("Location: admin.php?op=sezione&id_cons_gen=$id_cons_gen&min=$min&mex=$mex");
    221238                } else {
    222239                        ele();
  • trunk/admin/versione.php

    r376 r377  
    11<?php
    22
    3 $versione = "3.0 rev 376";
     3$versione = "3.0 rev 377";
    44$version_number = $versione;
    5 $datarel = "24 settembre 2022";
     5$datarel = "28 settembre 2022";
    66$version = "Eleonline $version_number (<i>Data Release: $datarel</i>)";
    77
Note: See TracChangeset for help on using the changeset viewer.