示例#1
0
 /**
  * Method validates all date inputs and formats them to date format 'Y-m-d' needed for database queries
  * @param  string       $date Date to be validated and formated if needed
  * @return string|false
  */
 private function formatDate($date)
 {
     global $gPreferences;
     $objDate = new DateTimeExtended($date, 'Y-m-d', 'date');
     if ($objDate->isValid()) {
         return $date;
     } else {
         // check if date has system format
         $objDate = new DateTimeExtended($date, $gPreferences['system_date']);
         if ($objDate->isValid()) {
             return substr($objDate->getDateTimeString(), 0, 10);
         } else {
             return false;
         }
     }
 }
示例#2
0
 if (isset($_POST['dat_room_id']) == false) {
     $_POST['dat_room_id'] = 0;
 }
 if (is_numeric($_POST['dat_max_members']) == false) {
     $_POST['dat_max_members'] = 0;
 }
 // make html in description secure
 $_POST['dat_description'] = admFuncVariableIsValid($_POST, 'dat_description', 'html');
 // ------------------------------------------------
 // Prüfen ob gewaehlter Raum bereits zu dem Termin reserviert ist
 // ------------------------------------------------
 if ($gPreferences['dates_show_rooms'] == 1) {
     if ($_POST['dat_room_id'] > 0) {
         $sql = 'SELECT COUNT(dat_id) AS is_reserved
                   FROM ' . TBL_DATES . '
                  WHERE dat_begin  <= \'' . $endDateTime->getDateTimeString() . '\'
                    AND dat_end    >= \'' . $startDateTime->getDateTimeString() . '\'
                    AND dat_room_id = ' . $_POST['dat_room_id'] . '
                    AND dat_id     <> ' . $getDateId;
         $result = $gDb->query($sql);
         $row = $gDb->fetch_object($result);
         if ($row->is_reserved) {
             $gMessage->show($gL10n->get('DAT_ROOM_RESERVED'));
         }
         $date->setValue('dat_room_id', $_POST['dat_room_id']);
         $room = new TableRooms($gDb);
         $room->readDataById($_POST['dat_room_id']);
         $number = intval($room->getValue('room_capacity')) + intval($room->getValue('room_overhang'));
         $date->setValue('dat_max_members', $number);
         if ($_POST['dat_max_members'] < $number && $_POST['dat_max_members'] > 0) {
             $date->setValue('dat_max_members', $_POST['dat_max_members']);
示例#3
0
 /** Set a date range in which the dates should be searched. The method will fill
  *  4 parameters @b dateStartFormatEnglish, @b dateStartFormatEnglish,
  *  @b dateEndFormatEnglish and @b dateEndFormatAdmidio that could be read with
  *  getParameter and could be used in the script.
  *  @param $dateRangeStart A date in english or Admidio format that will be the start date of the range.
  *  @param $dateRangeEnd   A date in english or Admidio format that will be the end date of the range.
  *  @return Returns false if invalid date format is submitted
  */
 public function setDateRange($dateRangeStart, $dateRangeEnd)
 {
     global $gPreferences;
     if ($dateRangeStart === '') {
         $dateRangeStart = '1970-01-01';
         $dateRangeEnd = DATE_NOW;
     }
     // Create date object and format date_from in English format and sytem format and push to daterange array
     $objDate = new DateTimeExtended($dateRangeStart, 'Y-m-d', 'date');
     if ($objDate->isValid()) {
         $this->setParameter('dateStartFormatEnglish', substr($objDate->getDateTimeString(), 0, 10));
         $this->setParameter('dateStartFormatAdmidio', $objDate->format($gPreferences['system_date']));
     } else {
         // check if date_from  has system format
         $objDate = new DateTimeExtended($dateRangeStart, $gPreferences['system_date']);
         if ($objDate->isValid()) {
             $this->setParameter('dateStartFormatEnglish', substr($objDate->getDateTimeString(), 0, 10));
             $this->setParameter('dateStartFormatAdmidio', $objDate->format($gPreferences['system_date']));
         } else {
             return false;
         }
     }
     // Create date object and format date_to in English format and sytem format and push to daterange array
     $objDate = new DateTimeExtended($dateRangeEnd, 'Y-m-d', 'date');
     if ($objDate->isValid()) {
         $this->setParameter('dateEndFormatEnglish', substr($objDate->getDateTimeString(), 0, 10));
         $this->setParameter('dateEndFormatAdmidio', $objDate->format($gPreferences['system_date']));
     } else {
         // check if date_from  has system format
         $objDate = new DateTimeExtended($dateRangeEnd, $gPreferences['system_date']);
         if ($objDate->isValid()) {
             $this->setParameter('dateEndFormatEnglish', substr($objDate->getDateTimeString(), 0, 10));
             $this->setParameter('dateEndFormatAdmidio', $objDate->format($gPreferences['system_date']));
         } else {
             return false;
         }
     }
 }