source: trunk/jidelna/menuedit.php@ 391

Last change on this file since 391 was 170, checked in by george, 16 years ago
  • Opraveno: Chyba názvu proměnné na stránce jídelníčku.
  • Opraveno: Nelogovat odhlášení anonymních uživatelů.
  • Property svn:executable set to *
File size: 4.3 KB
Line 
1<?php
2include_once('../global.php');
3
4class EatingPlaceEdit extends Page
5{
6 var $Dependencies = array('Log');
7 var $FullTitle = 'Jídleníček jídelny Na kopečku';
8 var $ShortTitle = 'Editace jídelníčku';
9 var $DayNames = array('Neděle', 'Pondělí', 'Úterý', 'Středa', 'Čtvrtek', 'Pátek', 'Sobota');
10 var $Status = array('Nezveřejněno', 'Otevřeno', 'Zavřeno - svátek', 'Zavřeno - dovolená');
11 var $DayCount = 20; // počet dopředu zobrazených dnů
12
13 function PrintTableRow($Row)
14 {
15 global $LastWeekOfYear;
16
17 $Selected = array('', '', '', '');
18 $Selected[$Row['Status']] = 'selected ';
19 $Date = explode('-', $Row['Date']);
20 $Week = date('w', mktime(0, 0, 0, $Date[1], $Date[2], $Date[0]));
21 $WeekOfYear = date('W', mktime(0, 0, 0, $Date[1], $Date[2], $Date[0]));
22 if($WeekOfYear != $LastWeekOfYear)
23 $WeekRowSpan = '<td align="center" rowspan="'.(7 - (($Week + 7 - 1) % 7)).'">'.$WeekOfYear.'<br /><a href="tisk.php?date='.date('Y-m-d', mktime(0, 0, 0, $Date[1], $Date[2], $Date[0]) - ($Week - 1) * 86400).'">Tisk</a></td>';
24 else $WeekRowSpan = '';
25 if($Week == 0) $Color = ' style="color: #ff0000;" '; else $Color = '';
26 $Output = '<tr><td'.$Color.'>'.$this->DayNames[$Week].'</td><td>'.HumanDate($Row['Date']).'</td>'.$WeekRowSpan.'
27 <td><input name="soup_'.$Row['Date'].'" size="30" value="'.$Row['Soup'].'"></td>
28 <td><input name="meal_'.$Row['Date'].'" size="30" value="'.$Row['Meal'].'"></td>
29 <td><select name="status_'.$Row['Date'].'">';
30 for($I = 0; $I < 4; $I++) $Output .= ' <option '.$Selected[$I].'value="'.$I.'">'.$this->Status[$I].'</option>';
31 $Output .= '</select></td></tr>';
32 $LastWeekOfYear = $WeekOfYear;
33 return($Output);
34 }
35
36 function Show()
37 {
38 Header('Cache-Control: no-cache');
39
40 $Output = '';
41 if(array_key_exists('action', $_GET))
42 {
43 if($_GET['action'] == 'savemenu')
44 {
45 for($I = 0; $I < $this->DayCount; $I++)
46 {
47 $Time = time() + $I * 86400;
48 $Date = date('Y-m-d', $Time);
49 $this->Database->replace('Meals', array('Date' => $Date, 'Meal' => $_POST['meal_'.$Date], 'Soup' => $_POST['soup_'.$Date], 'Status' => $_POST['status_'.$Date]));
50 }
51 $Output .= '<div style="color: red; font-size: larger;">Menu uloženo!</div>';
52 $this->System->Modules['Log']->NewRecord('EatingPlace', 'MenuSave');
53 }
54 if($_GET['action'] == 'saveinfo')
55 {
56 $this->Database->delete('MealsInfo', '1');
57 $this->Database->insert('MealsInfo', array('Info' => $_POST['info'], 'Price' => $_POST['price']));
58 $Output .= '<div style="color: red; font-size: larger;">Informační údaje uloženy!</div>';
59 $this->System->Modules['Log']->NewRecord('EatingPlace', 'InfoSave');
60 }
61 }
62 $Output = '<form action="menuedit.php?action=savemenu" method="post">
63<fieldset><legend>Jídlo pro jednotlivé dny</legend>
64<table align="center" class="WideTable"><tr><th>Den</th><th>Datum</th><th>Týden</th><th>Polévka</th><th>Hlavní jídlo</th><th>Stav</th></tr>';
65 for($I = 0; $I < $this->DayCount; $I++)
66 {
67 $Time = time() + $I * 86400;
68 $DbResult = $this->Database->select('Meals', '*', 'Date = "'.date('Y-m-d', $Time).'"');
69 if($Row = $DbResult->fetch_array())
70 $Output .= $this->PrintTableRow($Row);
71 else
72 {
73 $Row = array('Status' => 0, 'Meal' => '', 'Soup' => '', 'Date' => date('Y-m-d', $Time));
74 $Output .= $this->PrintTableRow($Row);
75 }
76 }
77 $Output .= '</table><br />
78<div align="center"><input type="submit" value="Uložit menu"></div>
79</fieldset></form>';
80 $Output .= '<form action="menuedit.php?action=saveinfo" method="post">
81<fieldset><legend>Informační údaje</legend>';
82
83 $DbResult = $this->Database->select('MealsInfo', '*');
84 $Row = $DbResult->fetch_array();
85 $Output .= '<textarea name="info" rows="20" cols="80" >'.$Row['Info'].'</textarea><br />'.
86'Cena: <input type="text" name="price" size="5" value="'.$Row['Price'].'"> Kč<br />'.
87'<div align="center"><input type="submit" value="Uložit údaje"></div>
88</fieldset></form>';
89 return($Output);
90 }
91}
92
93$System->AddModule(new EatingPlaceEdit());
94$System->Modules['EatingPlaceEdit']->GetOutput();
95
96?>
97
Note: See TracBrowser for help on using the repository browser.