← Back
Editing: periodi_ed.php
<?php ###___###___###___###___###___###___###___###___###___###___###___###___### ### SmaDIB: Smart Database Interface Builder 0.6.0.1 ### ### by Smartmedia 2000 http://www.smartmedia2000.it/ ### ### info email: smadib@smartmedia2000.it ### ### released under GPLv2 license http://www.gnu.org/licenses/gpl.txt ### ###___###___###___###___###___###___###___###___###___###___###___###___### require_once ("../funct.php"); require_once ("sess.php"); require_once ("conn.php"); $ptitolo = "Periodi per tariffe"; $table = "periodi"; require_once ("testacoda.php"); $query = new doQuery(); $periodo = $_REQUEST['periodo']; $data_in = $_REQUEST['data_in']; $data_fi = $_REQUEST['data_fi']; $novuoto = array ('data_in', 'data_fi'); if ($az=="canc") { $query->delete (); header("Location: ".$_SERVER['PHP_SELF']."?id_stagione=$id_stagione"); } $colSovrap = "#cc0000"; $colori = array ('#feffbc', '#feffbc', '#cdffcb', '#d6fdff', '#e2e2dc', '#eed485', '#ffedb8', '#ffecfd', '#bbdccf', '#84dbfb', '#e9c2ff', '#feffbc', '#cdffcb', '#ff6666', '#66ff66', '#00ffff', '#ff66ff'); $id_stagione_id = array (); $id_stagione_anno = array (); $id_stagione_fine = array (); $id_stagione_nome = array (); $id_stagione_numero = array (); $id_stagione_periodo = array (); $numeroar = array ('','Prezzo unico','2 Stagioni','3 Stagioni','4 Stagioni','5 Stagioni','6 Stagioni','7 Stagioni','8 Stagioni','9 Stagioni','10 Stagioni','Min - Max','Bassa/Alta','Bassa/Media/Alta','Bassa/Media/Alta/Altissima'); $periodoar = array ('Prezzo unico', array ('A'), array ('A', 'B'), array ('A', 'B', 'C'), array ('A', 'B', 'C', 'D'), array ('A', 'B', 'C', 'D', 'E'), array ('A', 'B', 'C', 'D', 'E', 'F'), array ('A', 'B', 'C', 'D', 'E', 'F', 'G'), array ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'), array ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'), array ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'), array('Min','Max'), array('Bassa','Alta'), array('Bassa','Media','Alta'), array('Bassa','Media','Alta','Altissima')); $periodoLab = array ('Prezzo unico', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'Min', 'Max', 'Bassa', 'Media', 'Alta', 'Altissima'); //$sqlSt = "SELECT `id`, `anno`, `fine`, `numero`, `nome_it` FROM `stagioni` WHERE `id_utente`=$id_utente AND `fine` > '$today' AND `numero` != 1 AND `numero` != 11 ORDER BY `anno` DESC, `fine`"; $sqlSt = "SELECT `id`, `anno`, `fine`, `numero`, `nome_it` FROM `stagioni` WHERE `id_utente`=$id_utente AND `fine` > '$today' ORDER BY `anno` DESC, `fine`"; $rowsSt = $query->freeQuery ($sqlSt, 0); if (!count ($rowsSt)) { echo "$testa $ptitolo <h3 align=\"center\"><a href=\"stagioni_ed.php\">Devi prima creare almeno una stagione</a></h3> $coda"; exit(); } foreach ($rowsSt AS $i=>$rowSt) { $id_stagione_id[] = $rowSt->id; $id_stagione_anno[] = $rowSt->anno; $id_stagione_fine[] = date2data ($rowSt->fine); $id_stagione_nome[] = $rowSt->nome_it; $id_stagione_numero[] = $numeroar[$rowSt->numero]; $id_stagione_periodo[] = $periodoar[$rowSt->numero]; } $id_stagione = $_REQUEST['id_stagione'] != "" ? $_REQUEST['id_stagione'] : $id_stagione_id[0]; if ($op == "ds") $query->insert (array ('id_stagione'=>$id_stagione, 'periodo'=>$periodo, 'data_in'=>$data_in, 'data_fi'=>$data_fi), $novuoto); else if ($op == "up") $query->update (array ('id_stagione'=>$id_stagione, 'periodo'=>$periodo, 'data_in'=>$data_in, 'data_fi'=>$data_fi), $novuoto); if ($az == "ed") { $row = $query->selectById (0); $id = $row->id; $valop = "up"; $id_stagione = $row->id_stagione; $id_stagione0 = array_search($row->id_stagione, $id_stagione_id); $id_stagionesel[$id_stagione0] = "selected"; $periodo = $row->periodo; $data_in = date2data ($row->data_in); $data_fi = date2data ($row->data_fi); list ($df, $mf, $yf) = explode ('/', $data_fi); list ($di, $mi, $yi) = explode ('/', $data_in); $dFi = mktime (0,0,0,$mf,$df,$yf); $dIn = mktime (0,0,0,$mi,$di,$yi); } else { $valop = "ds"; $data_in = $data_fi = ""; if ($id_stagione) { $id_stagione0 = array_search($id_stagione, $id_stagione_id); $id_stagionesel[$id_stagione0] = "selected"; } } $elenco.= "<tr bgcolor=\"#FFFFFF\"> <td valign=\"bottom\" rowspan=\"3\">funzioni</td> <td><b>Stagione</b></td> <td><b>Periodo</b></td> <td><b>Dal</b></td> <td><b>Al</b></td> </tr> <tr bgcolor=\"#EEEEEE\"> <td valign=\"top\"><select name=\"id_stagione\" onchange=\"javascript:changePer();\">\n"; for ($s=0; $s<count($id_stagione_id); $s++) $elenco.= "<option value=\"$id_stagione_id[$s]\" $id_stagionesel[$s]>$id_stagione_anno[$s] $id_stagione_fine[$s] $id_stagione_nome[$s] $id_stagione_numero[$s]</option>\n"; $elenco.= "</select></td><td><select name=\"periodo\" >\n"; if ($periodo) $elenco.= "<option value=\"".$periodo."\">".$periodoLab[$periodo]."</option>\n"; for ($p=0; $p<count($id_stagione_periodo[$id_stagione0]); $p++) { $valPer = array_search ($id_stagione_periodo[$id_stagione0][$p], $periodoLab); $elenco.= "<option value=\"".$valPer."\">".$id_stagione_periodo[$id_stagione0][$p]."</option>\n"; } $elenco.= "</select></td> <td valign=\"top\"><input name=\"data_in\" type=\"text\" size=\"8\" maxlenght=\"10\" value=\"$data_in\" /></td> <td valign=\"top\"><input name=\"data_fi\" type=\"text\" size=\"8\" maxlenght=\"10\" value=\"$data_fi\" /> <input type=\"button\" value=\"canc\" onclick=\"javascript:cancDate()\" /></td> </tr><tr bgcolor=\"#FFFFFF\"> <td colspan=\"7\" align=\"center\"> <input type=\"submit\" name=\"invio\" value=\"$intesta\" /> $noMod <input type=\"hidden\" name=\"op\" value=\"$valop\" /> <input type=\"hidden\" name=\"id\" value=\"$row->id\" /> </td></tr><tr><td colspan=\"7\" bgcolor=\"#000000\" height=\"4\"></td>\n"; $sql = "SELECT * FROM `periodi` WHERE `id_utente`=$id_utente"; if ($az == "ed") $sql.= " AND `id` != '$id'"; if ($id_stagione != "") $sql.= " AND `id_stagione` = '$id_stagione'"; $sql.= " ORDER BY `id_stagione`, `data_in` ASC"; $rows = $query->freeQuery ($sql, 0); foreach ($rows AS $i=>$row) { $bgcolor = rowCol ($i); $id_stagione1 = array_search($row->id_stagione, $id_stagione_id); $elenco.= "</tr><tr bgcolor=\"#$bgcolor\"><td width=\"80\">\n"; if ($az!="ed") $elenco.= " <a href=\"".$_SERVER['PHP_SELF']."?id=$row->id&az=ed\"><img src=\"images/edit.gif\" border=\"0\" hspace=\"5\" alt=\"modifica riga\" align=\"absmiddle\" /></a> <a href=\"#\" onClick=\"javascript:confDel2($row->id, $id_stagione)\"><img src=\"images/delete.gif\" border=\"0\" alt=\"cancella riga\" align=\"absmiddle\" /></a></td>\n"; else $elenco.= " "; $elenco.= "<td>$id_stagione_anno[$id_stagione1] $id_stagione_fine[$id_stagione1] $id_stagione_nome[$id_stagione1] $id_stagione_numero[$id_stagione1]</td> <td>".$periodoLab[$row->periodo]."</td> <td>".date2data ($row->data_in)."</td><td>".date2data ($row->data_fi)."</td>\n"; } $elenco.= "</tr><tr><td colspan=\"7\" bgcolor=\"#000000\" height=\"4\"></td></tr>\n"; if ($az == "ed") $elenco.= "<script language=\"JavaScript\" type=\"text/javascript\">lista.updateOptions(document.forms['form1'].id_stagione, 'periodo');</script>\n"; $anno = $id_stagione_anno[$id_stagione0]; if ($id_stagione != "") { $id_stagionesel[array_search($id_stagione,$id_stagione_id)] = "selected"; } $elencoC.= "<tr bgcolor=\"#EEEEEE\"> <td><input type=\"hidden\" name=\"id_stagione\" value=\"$id_stagione\"></td></tr>\n"; if ($id_stagione != "") { $datainAr = array (); $datafiAr = array (); $coloriAr = array (); $legendAr = array (''); $sql = "SELECT `periodo`, `data_in`, `data_fi` FROM `periodi` WHERE `id_stagione` = '$id_stagione' AND `id_utente` = '$id_utente' ORDER BY `data_in`"; $rows = $query->freeQuery ($sql, 0); foreach ($rows AS $i=>$row) { list ($yy1, $mm1, $dd1) = explode ('-', $row->data_in); list ($yy2, $mm2, $dd2) = explode ('-', $row->data_fi); array_push ($datainAr, mktime (0,0,0,$mm1,$dd1,$yy1)); array_push ($datafiAr, mktime (10,0,0,$mm2,$dd2,$yy2)); array_push ($coloriAr, $colori[$row->periodo]); if (array_search ($row->periodo, $legendAr) == FALSE) array_push ($legendAr, $row->periodo); } $legenda = "<table border align=\"center\"><tr><td>anno <b>$anno</b></td><td>Legenda: </td\n"; foreach ($legendAr as $v) $legenda.= "<td bgcolor=\"$colori[$v]\">$periodoLab[$v]</td>\n"; $legenda.= "<td>libero</td><td bgcolor=\"$colSovrap\">sovrap</td></tr></table>\n"; $mesi = array ('', 'gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic', 'gen'); $giorni = array ('Sun'=>'dom', 'Mon'=>'lun', 'Tue'=>'mar', 'Wed'=>'mer', 'Thu'=>'gio', 'Fri'=>'ven', 'Sat'=>'sab'); $cal = ""; $fl = 0; $fl2 = 0; $cc = 0; $t = mktime (0,0,0,1,1,$anno); while ($t < mktime (0,0,0,2,1,$anno+1)) { $data = date ("d/n/Y", $t); list ($dd, $mm, $yy) = explode ('/', $data); for ($g=0; $g<count($datainAr); $g++) { if (($t <= $datafiAr[$g] && $t >= $datafiAr[$g]-47*1800) || ($t >= $datainAr[$g] && $t <= $datainAr[$g]+47*1800)) # cliccabili i limiti dei periodi - 47*1800=23h30m $fl2++; if ($az == "ed" && ($t <= $dFi && $t >= $dIn)) # cliccabili i giorni del periodo in modifica $fl2++; if ($t >= $datainAr[$g] && $t <= $datafiAr[$g]) { $fl++; $bgcolor = $coloriAr[$g]; } } if ($dd == 1) { # posizione primo giorno del mese if ($mm == 1 & $yy == $anno+1) { # riga separazione gen anno successivo $cal.= "</tr>\n<tr><td colspan=\"38\" height=\"2\" bgcolor=\"black\"></td>\n"; } $cal.= "</tr>\n<tr><td align=\"right\"><b>".$mesi[$mm]." $yy</b></td>\n"; for ($w=0; $w<date ("w", $t); $w++) $cal.= "<td></td>"; } if ($fl > 1) $bgcolor = $colSovrap; $dd2 = (date ("N", $t) == 7) ? "<b>$dd</b>" : $dd; $dN = $giorni [date ("D", $t)]; if ($fl2 && $fl == 1) $cal.= "<td bgcolor=\"$bgcolor\"><a href=\"javascript:datacal('".$dd."/".$mm."/".$yy."')\" title=\"$dN $dd/$mm/$yy\">$dd2</a></td>\n"; else if ($fl) $cal.= "<td bgcolor=\"$bgcolor\">$dd2</td>\n"; else $cal.= "<td><a href=\"javascript:datacal('".$dd."/".$mm."/".$yy."')\" title=\"$dN $dd ".$mesi[$mm]." $yy\">$dd2</a></td>\n"; $t+= 3600*24; $fl = 0; $fl2 = 0; $bgcolor = ""; } } $barGio = "<td></td><td><b>D</b></td><td>L</td><td>M</td><td>M</td><td>G</td><td>V</td><td>S</td> <td><b>D</b></td><td>L</td><td>M</td><td>M</td><td>G</td><td>V</td><td>S</td> <td><b>D</b></td><td>L</td><td>M</td><td>M</td><td>G</td><td>V</td><td>S</td> <td><b>D</b></td><td>L</td><td>M</td><td>M</td><td>G</td><td>V</td><td>S</td> <td><b>D</b></td><td>L</td><td>M</td><td>M</td><td>G</td><td>V</td><td>S</td> <td><b>D</b></td><td>L</td>\n"; echo "$testa <script type=\"text/javascript\" language=\"JavaScript\"> function datacal (num) { if (document.form1.data_in.value == '') document.form1.data_in.value = num; else document.form1.data_fi.value = num; } function cancDate() { document.form1.data_in.value = ''; document.form1.data_fi.value = ''; } function confDel2(id, stag) { if (confirm(\"Vuoi davvero cancellare la riga? Premi ok per confermare.\")) document.location='".$_SERVER['PHP_SELF']."?id='+ id +'&id_stagione='+ stag +'&az=canc'; } function changePer() { document.forms['form1'].periodo.value = ''; document.forms['form1'].op.value = ''; document.forms['form1'].submit(); } </script> <h2 align=\"center\">$ptitolo</h2> <form name=\"form1\" method=\"post\" action=\"".$_SERVER['PHP_SELF']."\"> $legenda <table border=\"1\" cellspacing=\"0\" cellapadding=\"0\" align=\"center\"> <tr>$barGio</tr> ".substr ($cal, 5)." </tr> <tr>$barGio</tr> </table> <table align=\"center\"> $elenco </table></form> $coda"; ?>
Save File
Cancel