PageRenderTime 46ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/modules/Food_Service/DailyMenus.php

https://gitlab.com/gregtyka/opensis
PHP | 170 lines | 139 code | 29 blank | 2 comment | 28 complexity | 6bd642e2b3f539cfc3acb76139b19dbf MD5 | raw file
  1. <?php
  2. if(!$_REQUEST['month'])
  3. $_REQUEST['month'] = date("n");
  4. else
  5. $_REQUEST['month'] = MonthNWSwitch($_REQUEST['month'],'tonum')+0;
  6. if(!$_REQUEST['year'])
  7. $_REQUEST['year'] = date("Y");
  8. $last = 31;
  9. while(!checkdate($_REQUEST['month'],$last,$_REQUEST['year']))
  10. $last--;
  11. $time = mktime(0,0,0,$_REQUEST['month'],1,$_REQUEST['year']);
  12. $time_last = mktime(0,0,0,$_REQUEST['month'],$last,$_REQUEST['year']);
  13. // use the dafault calendar
  14. $default_RET = DBGet(DBQuery("SELECT CALENDAR_ID FROM ATTENDANCE_CALENDARS WHERE SYEAR='".UserSyear()."' AND SCHOOL_ID='".UserSchool()."' AND DEFAULT_CALENDAR='Y'"));
  15. if(count($default_RET))
  16. $calendar_id = $default_RET[1]['CALENDAR_ID'];
  17. else
  18. {
  19. $calendars_RET = DBGet(DBQuery("SELECT CALENDAR_ID FROM ATTENDANCE_CALENDARS WHERE SYEAR='".UserSyear()."' AND SCHOOL_ID='".UserSchool()."'"));
  20. if(count($calendars_RET))
  21. $calendar_id = $calendars_RET[1]['CALENDAR_ID'];
  22. else
  23. ErrorMessage(array('There are no calendars yet setup.'),'fatal');
  24. }
  25. $menus_RET = DBGet(DBQuery('SELECT MENU_ID,TITLE FROM FOOD_SERVICE_MENUS WHERE SCHOOL_ID=\''.UserSchool().'\' ORDER BY SORT_ORDER'),array(),array('MENU_ID'));
  26. if(!$_REQUEST['menu_id'])
  27. if(!$_SESSION['FSA_menu_id'])
  28. if(count($menus_RET))
  29. $_REQUEST['menu_id'] = $_SESSION['FSA_menu_id'] = key($menus_RET);
  30. else
  31. ErrorMessage(array('There are no menus yet setup.'),'fatal');
  32. else
  33. $_REQUEST['menu_id'] = $_SESSION['FSA_menu_id'];
  34. else
  35. $_SESSION['FSA_menu_id'] = $_REQUEST['menu_id'];
  36. if($_REQUEST['submit']['save'] && $_REQUEST['food_service'] && $_POST['food_service'])
  37. {
  38. $events_RET = DBGet(DBQuery("SELECT ID,DATE_FORMAT(SCHOOL_DATE,'%d-%b-%y') AS SCHOOL_DATE FROM CALENDAR_EVENTS WHERE SCHOOL_DATE BETWEEN '".date('d-M-y',$time)."' AND '".date('d-M-y',$time_last)."' AND SYEAR='".UserSyear()."' AND SCHOOL_ID='".UserSchool()."' AND TITLE='".$menus_RET[$_REQUEST['menu_id']][1]['TITLE']."'"),array(),array('SCHOOL_DATE'));
  39. //echo '<pre>'; var_dump($events_RET); echo '</pre>';
  40. foreach($_REQUEST['food_service'] as $school_date=>$description)
  41. {
  42. if($events_RET[$school_date])
  43. if($description['text'] || $description['select'])
  44. DBQuery("UPDATE CALENDAR_EVENTS SET DESCRIPTION='".$description['text'].$description['select']."' WHERE ID='".$events_RET[$school_date][1]['ID']."'");
  45. else
  46. DBQuery("DELETE FROM CALENDAR_EVENTS WHERE ID='".$events_RET[$school_date][1]['ID']."'");
  47. else
  48. if($description['text'] || $description['select'])
  49. DBQuery("INSERT INTO CALENDAR_EVENTS (ID,SYEAR,SCHOOL_ID,SCHOOL_DATE,TITLE,DESCRIPTION) values(".db_seq_nextval('CALENDAR_EVENTS_SEQ').",'".UserSyear()."','".UserSchool()."','".$school_date."','".$menus_RET[$_REQUEST['menu_id']][1]['TITLE']."','".$description['text'].$description['select']."')");
  50. }
  51. unset($_REQUEST['food_service']);
  52. unset($_SESSION['_REQUEST_vars']['food_service']);
  53. }
  54. if($_REQUEST['submit']['print'])
  55. {
  56. $events_RET = DBGet(DBQuery("SELECT TITLE,DESCRIPTION,DATE_FORMAT(SCHOOL_DATE,'%d-%b-%y') AS SCHOOL_DATE FROM CALENDAR_EVENTS WHERE SCHOOL_DATE BETWEEN '".date('d-M-y',$time)."' AND '".date('d-M-y',$time_last)."' AND SYEAR='".UserSyear()."' AND SCHOOL_ID='".UserSchool()."' AND (TITLE='".$menus_RET[$_REQUEST['menu_id']][1]['TITLE']."' OR TITLE='No School')"),array(),array('SCHOOL_DATE'));
  57. $skip = date("w",$time);
  58. echo "<!-- MEDIA TOP 1in -->\n<P><CENTER>\n";
  59. echo "<TABLE border=2 cellpadding=3 bgcolor=#FFFFFF>\n";
  60. if($_REQUEST['_CENTRE_PDF'])
  61. if(($file = @fopen($CentrePath.'/assets/dailymenu'.UserSchool().'.jpg','r')))
  62. {
  63. echo "<TR align=center><TD colspan=7><img src='assets/dailymenu".UserSchool().".jpg'></TD></TR>\n";
  64. fclose($file);
  65. }
  66. else
  67. echo "<TR align=center><TD colspan=7><font color=black size=+3><b>".GetSchool(UserSchool())."</b></font></TD></TR>\n";
  68. echo "<TR align=center><TD colspan=2>".$menus_RET[$_REQUEST['menu_id']][1]['TITLE']."</TD><TD colspan=3><font color=black size=+2><b>".date('F Y',mktime(0,0,0,$_REQUEST['month'],1,$_REQUEST['year']))."</b></font></TD><TD colspan=2>".$menus_RET[$_REQUEST['menu_id']][1]['TITLE']."</TD></TR>\n";
  69. echo "<TR bgcolor=#808080 align=center>\n";
  70. echo "<TD width=100><font color=white><b>Sunday</b></font></TD>\n<TD width=100><font color=white><b>Monday</b></font></TD>\n<TD width=100><font color=white><b>Tuesday</b></font></TD>\n<TD width=100><font color=white><b>Wednesday</b></font></TD>\n<TD width=100><font color=white><b>Thursday</b></font></TD>\n<TD width=100><font color=white><b>Friday</b></font></TD>\n<TD width=100><font color=white><b>Saturday</b></font></TD>\n";
  71. echo "</TR>\n";
  72. if($skip)
  73. echo "<TR height=100><TD bgcolor=#C0C0C0 colspan=".$skip.">&nbsp;</TD>\n";
  74. for($i = 1; $i <= $last; $i++)
  75. {
  76. if($skip%7==0)
  77. echo "<TR height=100>";
  78. $day_time = mktime(0,0,0,$_REQUEST['month'],$i,$_REQUEST['year']);
  79. $date = strtoupper(date('d-M-y',$day_time));
  80. echo "<TD width=100 valign=top><b>$i</b>";
  81. if(count($events_RET[$date]))
  82. {
  83. foreach($events_RET[$date] as $event)
  84. {
  85. if($event['TITLE']!=$menus_RET[$_REQUEST['menu_id']][1]['TITLE'])
  86. echo "<br><i>".$event['TITLE']."</i>";
  87. echo "<br>".htmlspecialchars($event['DESCRIPTION'],ENT_QUOTES);
  88. }
  89. }
  90. echo "</TD>\n";
  91. $skip++;
  92. if($skip%7==0)
  93. echo "</TR>\n";
  94. }
  95. if($skip%7!=0)
  96. echo "<TD bgcolor=#C0C0C0 colspan=".(7-$skip%7).">&nbsp;</TD>\n</TR>";
  97. echo "</TABLE>\n";
  98. echo "</CENTER></P>\n";
  99. }
  100. else
  101. {
  102. DrawHeader(ProgramTitle());
  103. if(AllowEdit())
  104. {
  105. $description_RET = DBGet(DBQuery("SELECT DISTINCT DESCRIPTION FROM CALENDAR_EVENTS WHERE SYEAR='".UserSyear()."' AND SCHOOL_ID='".UserSchool()."' AND TITLE='".$menus_RET[$_REQUEST['menu_id']][1]['TITLE']."' AND DESCRIPTION IS NOT NULL ORDER BY DESCRIPTION"));
  106. if(count($description_RET))
  107. {
  108. $description_select = '<OPTION value="">or select previous meal';
  109. foreach($description_RET as $description)
  110. $description_select .= '<OPTION value="'.$description['DESCRIPTION'].'">'.$description['DESCRIPTION'];
  111. $description_select .= '</SELECT';
  112. }
  113. }
  114. $calendar_RET = DBGet(DBQuery("SELECT DATE_FORMAT(SCHOOL_DATE,'%d-%b-%y') as SCHOOL_DATE FROM ATTENDANCE_CALENDAR WHERE SCHOOL_DATE BETWEEN '".date('d-M-y',$time)."' AND '".date('d-M-y',$time_last)."' AND SYEAR='".UserSyear()."' AND SCHOOL_ID='".UserSchool()."' AND CALENDAR_ID='$calendar_id' AND MINUTES>0 ORDER BY SCHOOL_DATE"),array(),array('SCHOOL_DATE'));
  115. $events_RET = DBGet(DBQuery("SELECT ID,TITLE,DESCRIPTION,DATE_FORMAT(SCHOOL_DATE,'%d-%b-%y') AS SCHOOL_DATE FROM CALENDAR_EVENTS WHERE SCHOOL_DATE BETWEEN '".date('d-M-y',$time)."' AND '".date('d-M-y',$time_last)."' AND SYEAR='".UserSyear()."' AND SCHOOL_ID='".UserSchool()."' AND TITLE='".$menus_RET[$_REQUEST['menu_id']][1]['TITLE']."' ORDER BY SCHOOL_DATE"),array('DESCRIPTION'=>'makeDescriptionInput','SCHOOL_DATE'=>'ProperDate'));
  116. $events_RET[0] = array(); // make sure indexing from 1
  117. foreach($calendar_RET as $school_date=>$value)
  118. $events_RET[] = array('ID'=>'new','SCHOOL_DATE'=>ProperDate($school_date),'DESCRIPTION'=>TextInput('','food_service['.$school_date.'][text]','','size=35').($description_select ? '<SELECT name=food_service['.$school_date.'][select]>'.$description_select : ''));
  119. unset($events_RET[0]);
  120. $LO_columns = array('ID'=>'#','SCHOOL_DATE'=>'Date','DESCRIPTION'=>'Description');
  121. echo "<FORM action=Modules.php?modname=$_REQUEST[modname]&menu_id=$_REQUEST[menu_id]&month=$_REQUEST[month]&year=$_REQUEST[year] METHOD=POST>";
  122. DrawHeader(PrepareDate(strtoupper(date("d-M-y",$time)),'',false,array('M'=>1,'Y'=>1,'submit'=>true)),SubmitButton('Save','submit[save]').'<INPUT type=submit value=\'Generate Menu\' name=submit[print]>');
  123. echo '<BR>';
  124. $tabs = array();
  125. foreach($menus_RET as $id=>$meal)
  126. $tabs[] = array('title'=>$meal[1]['TITLE'],'link'=>"Modules.php?modname=$_REQUEST[modname]&menu_id=$id&month=$_REQUEST[month]&year=$_REQUEST[year]");
  127. $extra = array('save'=>false,'search'=>false,
  128. 'header'=>WrapTabs($tabs,"Modules.php?modname=$_REQUEST[modname]&menu_id=$_REQUEST[menu_id]&month=$_REQUEST[month]&year=$_REQUEST[year]"));
  129. $singular = $menus_RET[$_REQUEST['menu_id']][1]['TITLE'].' Day';
  130. $plural = $singular.'s';
  131. ListOutput($events_RET,$LO_columns,$singular,$plural,array(),array(),$extra);
  132. echo '<CENTER>'.SubmitButton('Save','submit[save]').'</CENTER>';
  133. echo "</FORM>";
  134. }
  135. function makeDescriptionInput($value,$name)
  136. { global $THIS_RET,$calendar_RET;
  137. if($calendar_RET[$THIS_RET['SCHOOL_DATE']])
  138. unset($calendar_RET[$THIS_RET{'SCHOOL_DATE'}]);
  139. return TextInput($value,'food_service['.$THIS_RET['SCHOOL_DATE'].'][text]','','size=35');
  140. }
  141. ?>