← 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 = "Calendario Periodi"; $table = "periodi"; require_once ("testacoda.php"); $query = new doQuery(); $periodo = $_REQUEST['periodo']; $data_in = data2date ($_REQUEST['data_in']); $data_fi = data2date ($_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 Periodi','3 Periodi','4 Periodi','5 Periodi','6 Periodi','7 Periodi','8 Periodi','9 Periodi','10 Periodi','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'); $sql = "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`"; $ris = mysql_query ($sql, $conn) or die("$sql: ".mysql_error()); if (!mysql_num_rows ($ris)) { echo "$testa $ptitolo <h3 align=\"center\">Devi prima creare almeno una stagione</h3> $coda"; exit(); } while ($row = mysql_fetch_object ($ris)) { array_push ($id_stagione_id, $row->id); array_push ($id_stagione_anno, $row->anno); array_push ($id_stagione_fine, date2data ($row->fine)); array_push ($id_stagione_nome, $row->nome_it); array_push ($id_stagione_numero, $numeroar[$row->numero]); array_push ($id_stagione_periodo, $periodoar[$row->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") { $sql = "SELECT * FROM `periodi` WHERE `id`=$id "; $ris = mysql_query($sql,$conn) or die("SELECT for modify error - $sql: ".mysql_error()); $row = mysql_fetch_object($ris); $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\"> </td> <td><b>Listini</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>\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"; $ris = mysql_query($sql,$conn) or die("SELECT error - $sql: ".mysql_error()); $cc = 0; while ($row = mysql_fetch_object($ris)) { $cc++; $bgcolor = fmod($cc, 2) ? $coldisp : $colpari; $id_stagione1 = array_search($row->id_stagione, $id_stagione_id); $id_stagionesel[$id_stagione1] = "selected"; $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>\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`"; $ris = mysql_query($sql,$conn) or die("$sql: ".mysql_error()); while ($row = mysql_fetch_object($ris)) { 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"; } $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='<?php echo $_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><div align="center"><?php echo $ptitolo; ?></div></h2> <form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <?php echo $legenda; ?> <table border="1" cellspacing="0" cellapadding="0" align="center"> <tr><?php echo $barGio; ?></tr> <?php echo substr ($cal, 5); ?> </tr> <tr><?php echo $barGio; ?></tr> </table> <table align="center"> <?php echo $elenco; ?> </table></form> <?php echo $coda; ?>
Save File
Cancel