Example #1
0
 public function sendsmstextAction()
 {
     $this->disableLayout();
     $this->disableViewAutoRender();
     $smstext = $this->getParam('smstext');
     $resaid = $this->getParam('resaid');
     $reservation = Object\Reservation::getById($resaid);
     if ($reservation instanceof Object\Reservation) {
         $smstext = "Votre+resa+Nr:" . $resaid . "+a+" . $reservation->getLocation()->getName() . " " . $smstext . " www.resaexpress.com";
         $smstext = str_replace(' ', '+', $smstext);
         $dest = $this->getParam('tel');
         $dest = "33" . substr($dest, 1);
         $api = "pub-f9157fe82c8377b08b2cd47a8b395dfb";
         $ch = curl_init();
         $url = "http://api.smsbox.fr/1.1/api.php?apikey=" . $api . "&msg=" . $smstext . "&dest=" . $dest . "&mode=Standard&charset=utf-8";
         // set URL and other appropriate options
         curl_setopt($ch, CURLOPT_URL, $url);
         curl_setopt($ch, CURLOPT_HEADER, 0);
         // grab URL and pass it to the browser
         curl_exec($ch);
         // close cURL resource, and free up system resources
         curl_close($ch);
     } else {
         die("incorrect reservation");
     }
 }
 /**
  * destroy
  */
 public function destroy()
 {
     $res = new Reponse();
     $rec = Object\Reservation::getById($this->id);
     if ($rec) {
         $rec->delete();
         $res->success = true;
         $res->message = 'Destroyed';
     } else {
         $res->message = "Failed to destroy";
     }
     return $res;
 }
 public function getListAction()
 {
     //get list of reservations
     $reponse = new Reponse();
     $mylocationid = $this->getParam('locationid');
     $myservingid = $this->getParam('servingid');
     $calendar = $this->getParam('calendar');
     $guestid = $this->getParam('guestid');
     $cancelled = $this->getParam('cancelled');
     $arrived = $this->getParam('arrived');
     $mylocation = Object\Location::getById($mylocationid, 1);
     $myserving = Object\Serving::getById($myservingid, 1);
     $myguest = Object\Guest::getById($guestid, 1);
     if ($mylocation instanceof Object\Location || $myserving instanceof Object\Serving || $guest instanceof Object\Guest) {
         //we check if we are in the Editor
         if ($_POST['action']) {
             //if REMOVE
             if ($_POST['action'] == "remove") {
                 foreach ($_POST['id'] as $id) {
                     $myreservation = Object\Reservation::getById($id, 1);
                     if ($myreservation instanceof Object\Reservation) {
                         $myreservation->SetStatus('Cancelled');
                         $myreservation->save();
                     }
                 }
                 $reponse->message = 'TXT_RESERVATION_LIST';
                 $reponse->success = true;
                 $reponse->data = '';
             }
             //if EDIT
             if ($_POST['action'] == "edit") {
                 $myreservation = Object_Reservation::getById($_POST['data']['id'], 1);
                 if ($_POST['data']['guestid']) {
                     $guest = Object_Guest::getById($_POST['data']['guestid'], 1);
                     if ($guest instanceof Object_Guest) {
                         $guest->setLastname($_POST['data']['guestname']);
                         $guest->setTel($_POST['data']['guesttel']);
                         $guest->setBookingnotes($_POST['data']['bookingnotes']);
                         $guest->setPreferredlanguage($_POST['data']['preferredlanguage']);
                         $guest->setNewsLetter($_POST['data']['newsLetter']);
                         $guest->save();
                     }
                 }
                 //date update needs to be reworked
                 $daystart = $myreservation->getStart()->get('dd-MM-YYYY');
                 $newdatestart = new Zend_Date($daystart . ' ' . $_POST['data']['start'] . ':00', 'dd-MM-YYYY HH:mm:ss');
                 $myreservation->setBookingref($_POST['data']['bookingref']);
                 $myreservation->setBookingnotes($_POST['data']['bookingnotes']);
                 if ($_POST['data']['status'] == 'Annulé') {
                     $_POST['data']['status'] = "Cancelled";
                 }
                 $myreservation->setStatus($_POST['data']['status']);
                 if ($_POST['data']['arrived'] == '1') {
                     $arrived = 1;
                 } else {
                     $arrived = 0;
                 }
                 if ($arrived == 1) {
                     $myreservation->setActualpartysize($_POST['data']['partysize']);
                     $myreservation->setPartysize($myreservation->getPartysize());
                     $myreservation->setActualstart($newdatestart);
                     $myreservation->setStart($myreservation->getStart());
                 } else {
                     $myreservation->setPartysize($_POST['data']['partysize']);
                     $myreservation->setStart($newdatestart);
                 }
                 //Prework Table input
                 $tableids = explode(',', $_POST['data']['table']);
                 $tablearray = array();
                 foreach ($tableids as $tableid) {
                     $variable = explode('-', $tableid);
                     $table = $this->selectedLocation->getResource()->getTable($variable[0], $variable[1]);
                     if ($table instanceof Object\Table) {
                         array_push($tablearray, $table);
                     }
                 }
                 $myreservation->setTable($tablearray);
                 $myreservation->setArrived($arrived);
                 $myreservation->save();
                 $data = $_POST['data'];
                 if ($myreservation->getLocation() instanceof Object_Location) {
                     $data['locationid'] = $myreservation->getLocation()->getId();
                     $data['locationname'] = $myreservation->getLocation()->getName();
                 }
                 $data['DT_RowId'] = "row_" . $_POST['data']['id'];
                 $reponse->message = 'TXT_RESERVATION_LIST';
                 $reponse->success = true;
                 $reponse->row = $data;
                 $reponse->debug = $tablearray;
             }
         } else {
             if (!$calendar) {
                 $date = new Zend_Date();
                 $calendar = $date->get('dd-MM-YYYY');
             }
             $calendarstart = $calendar . ' ' . '00:00:00';
             $calendarend = $calendar . ' ' . '23:59:59';
             $calendarstart = new Zend_Date($calendarstart, 'dd-MM-YYYY HH:mm:ss');
             $calendarend = new Zend_Date($calendarend, 'dd-MM-YYYY HH:mm:ss');
             if ($guestid == '') {
                 if ($myservingid == '') {
                     $reservations = $mylocation->getResource()->getReservationsByDate($calendarstart->getTimestamp(), $calendarend->getTimestamp());
                 } else {
                     if ($myserving instanceof Object\Serving) {
                         $reservations = $myserving->getReservationsByDate($calendarstart->getTimestamp(), $calendarend->getTimestamp());
                     }
                 }
             } else {
                 if ($myguest instanceof Object\Guest) {
                     $reservations = $myguest->getReservationsByGuest($calendarstart->getTimestamp());
                 }
             }
             $data = array();
             $i = 0;
             foreach ($reservations as $key => $reservation) {
                 $i++;
                 $resa = $this->formatReservation($reservation);
                 array_push($data, $resa);
             }
             $reponse->message = 'TXT_RESERVATION_LIST';
             $reponse->success = true;
             $reponse->data = $data;
         }
     } else {
         $data = array();
         $reponse->message = 'TXT_NOT_RESERVATION_LIST';
         $reponse->success = false;
         $reponse->data = $data;
         $reponse->debug = 'debug:' . $this->getParam('q');
     }
     $this->render($reponse);
 }
Example #4
0
 public function sendmailmessageAction()
 {
     $this->disableLayout();
     if ($this->getParam('sendmail') == "send") {
         $resaid = $this->getParam('resaid');
         $reservation = Object\Reservation::getById($resaid, 1);
         if ($reservation instanceof Object\Reservation) {
             $locationname = $reservation->getLocation()->getName();
             $resa = $reservation->getId();
             $email = $reservation->getGuest()->getEmail();
             $guestname = $reservation->getGuest()->getLastname();
             $parameters = array('location' => $locationname, 'bookingref' => $resa, 'message' => $this->getParam('message'), 'guestname' => $guestname);
             $mail = new Pimcore_Mail();
             $subject = 'Message ResaExpress - ' . $locationname;
             $mail->setParams($parameters);
             $mail->setReplyTo('*****@*****.**');
             $mail->setSubject($subject);
             $mail->setDocument('/fr/booking/standardmail');
             // $mail->setBody($body);
             $mail->addTo($email);
             $mail->addBcc('*****@*****.**');
             $mail->Send();
         }
     }
 }
Example #5
0
 public function tableListAction()
 {
     $reponse = new Reponse();
     $locationid = $this->getParam('locationid');
     $location = \Object\Location::getById($locationid, 1);
     if (!$location instanceof \Object\Location) {
         $location = $this->selectedLocation;
     }
     if ($location instanceof \Object\Location) {
         $tables = $location->getTables();
         if ($_GET['action'] == "resatable") {
             $data = array();
             $resaid = $this->getParam('reservationid');
             $resa = Object\Reservation::getById($resaid, 1);
             //echo $resa->getStart()->getTimestamp(); echo "====";
             //echo $resa->getEnd()->getTimestamp(); echo "====";
             if ($resa instanceof Object\Reservation) {
                 $reservations = $this->selectedLocation->getResource()->getReservationsByDateForTables($resa->getStart()->getTimestamp(), $resa->getEnd()->getTimestamp(), $resa->getStart()->getTimestamp(), $resa->getEnd()->getTimestamp());
                 $bookedtables = array();
                 $completetables = array();
                 foreach ($reservations as $reservation) {
                     //if( $reservation->getTable() ){
                     //echo $reservation->getStart()->getTimestamp();echo "////";
                     foreach ($reservation->getTable() as $table) {
                         $bookedtables[$reservation->getId()] = $table->getId();
                     }
                     //}
                 }
                 //exit;
                 foreach ($tables as $key => $table) {
                     $i++;
                     $array = array();
                     $array = $table->toArray();
                     $key = array_search($table->getId(), $bookedtables);
                     if ($key !== false) {
                         $array['booked'] = 'yes';
                         $array['reservationid'] = $key;
                     } else {
                         $array['booked'] = 'no';
                         $array['reservationid'] = 0;
                     }
                     $array['id'] = $table->getId();
                     $array['DT_RowId'] = $table->getId();
                     array_push($data, $array);
                     array_push($completetables, $table->getId());
                 }
                 //				    var_dump($bookedtables); echo "---------------------";
                 //				    var_dump($completetables); echo "////////////////////";
                 //				    var_dump(array_diff($completetables,$bookedtables)); echo "=====================";
                 //				    var_dump($data); exit;
                 $reponse->message = 'TXT_TABLE_LIST';
                 $reponse->success = true;
                 $reponse->data = $data;
             }
         } else {
             if ($_POST['action']) {
                 //if REMOVE
                 if ($_POST['action'] == "remove") {
                     foreach ($_POST['id'] as $id) {
                         $table = \Object\Table::getById($id, 1);
                         if ($table instanceof \Object\Table) {
                             $table->delete();
                         }
                     }
                     $reponse->message = 'TXT_TABLE_LIST';
                     $reponse->success = true;
                     $reponse->data = '';
                 }
                 //if EDIT
                 if ($_POST['action'] == "edit") {
                     $table = \Object\Table::getById($_POST['id'], 1);
                     if ($table instanceof \Object\Table) {
                         $table->setSalle($_POST['data']['salle']);
                         $table->setTable($_POST['data']['table']);
                         $table->setSeats($_POST['data']['seats']);
                         $table->setDescription($_POST['data']['description']);
                         $table->save();
                     }
                     $data = $_POST['data'];
                     $data['DT_RowId'] = "row_" . $_POST['data']['id'];
                     $reponse->message = 'TXT_TABLE_LIST';
                     $reponse->success = true;
                     $reponse->row = $data;
                 }
                 //if CREATE
                 if ($_POST['action'] == "create") {
                     //SET DEFAULT DATA FROM LOCATION
                     $row['salle'] = $_POST['data']['salle'];
                     $row['table'] = $_POST['data']['table'];
                     $row['seats'] = $_POST['data']['seats'];
                     $row['description'] = $_POST['data']['description'];
                     if ($this->selectedLocation->getResource()->checkTable($row['salle'], $row['table'])) {
                         $error['table'] = "table";
                         $error['status'] = "Table already exists";
                         $reponse->error = "Table already exists/Cette table existe déjà";
                         $reponse->success = false;
                         $reponse->message = "TXT_CREATE_ERROR";
                         $reponse->row = $result;
                         $reponse->debug = $result;
                     } else {
                         $result = $location->createTable($row);
                         if ($result instanceof \Object\Table) {
                             $row['DT_RowId'] = $result->getId();
                             $row['id'] = $result->getId();
                             $row['locationid'] = $result->getLocation()->getId();
                             $row['locationname'] = $result->getLocation()->getName();
                             $reponse->success = true;
                             $reponse->message = "TXT_CREATE_OK";
                             $reponse->row = $row;
                             $reponse->debug = $data;
                         } else {
                             $reponse->success = false;
                             $reponse->message = "TXT_CREATE_ERROR";
                             $reponse->row = $result;
                             $reponse->debug = $result;
                         }
                     }
                 }
             } else {
                 $data = array();
                 foreach ($tables as $key => $table) {
                     $i++;
                     $array = array();
                     $array = $table->toArray();
                     $array['id'] = $table->getId();
                     $array['DT_RowId'] = $table->getId();
                     array_push($data, $array);
                 }
                 $reponse->message = 'TXT_TABLE_LIST';
                 $reponse->success = true;
                 $reponse->data = $data;
             }
         }
     } else {
         $reponse->message = 'TXT_TABLE_LIST';
         $reponse->success = false;
         $reponse->data = $data;
     }
     $this->render($reponse);
 }