YaWK  24.1
Yet another WebKit
process-booking-data.php
Go to the documentation of this file.
1 <?php
2 require_once '../../../classes/db.php';
3 require_once '../../../classes/sys.php';
4 require_once '../../../classes/settings.php';
5 require_once '../../../classes/email.php';
6 $db = new \YAWK\db();
7 
8 // language object
9 if (!isset($lang) || (empty($lang)))
10 { // load required language class
11  require_once '../../../classes/language.php';
12  // create new language obj
13  $language = new \YAWK\language();
14  // init language
15  $language->init($db, "frontend");
16  // convert object param to array !important
17  $lang = (array) $language->lang;
18  // inject widget language tags
19  $lang = \YAWK\language::inject($lang, '../../../widgets/booking/language/');
20 }
21 //
22 if (isset($_POST))
23 {
24  // check if email is sent
25  if (!isset($_POST['email']) || (empty($_POST['email'])))
26  {
27  echo "false";
28  }
29 
30  // check if admin email is set (email address where bookings will be sent to)
31  if (!isset($_POST['adminEmail']) || (empty($_POST['adminEmail'])))
32  {
33  // adminEmail not set - try to get it from YaWK's system settings
34  $_POST['adminEmail'] = \YAWK\settings::getSetting($db, "admin_email");
35  // if system adminEmail address is also not set
36  if (!isset($_POST['adminEmail']) || (empty($_POST['adminEmail'])))
37  {
38  $systemAdminEmail = "false";
39  echo "false";
40  // todo: if no email addresses are set:
41  // todo: solution would be to insert (add) $_POST data into the plugin / booking database...
42  }
43  }
44 
45  $subject = "".$lang['BOOKING_MAIL_BOOKING_REQUEST']." ".$lang['BOOKING_MAIL_FROM']." ".$_POST['name']."";
46 
47  $message = "
48  <html>
49  <head>
50  <title>Booking Anfrage</title>
51  <style type=\"text/css\">
52  body{
53 
54  font-family: \"Trebuchet MS\", Arial, Helvetica, sans-serif;
55  }
56  #bookingtable {
57  font-family: \"Trebuchet MS\", Arial, Helvetica, sans-serif;
58  border-collapse: collapse;
59  width: 100%;
60  }
61 
62  #bookingtable td, #bookingtable th {
63  border: 1px solid #ddd;
64  padding: 8px;
65  }
66 
67  #bookingtable tr:nth-child(even){background-color: #f2f2f2;}
68 
69  #bookingtable tr:hover {background-color: #ddd;}
70 
71  #bookingtable th {
72  padding-top: 12px;
73  padding-bottom: 12px;
74  text-align: left;
75  background-color: #4CAF50;
76  color: white;
77  }
78  .bold {
79  font-weight: bold;
80  }
81  </style>
82  </head>
83  <body>
84  <h2>".$lang['BOOKING_MAIL_BOOKING_REQUEST']." <small>".\YAWK\settings::getSetting($db, 'host')."</small></h2>
85  <table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"1\" id=\"bookingTable\">
86  <tr>
87  <th>".$lang['BOOKING_MAIL_QUERY']."</th>
88  <th>".$lang['BOOKING_MAIL_INPUT']."</th>
89  </tr>
90  <tr>
91  <td width=\"25%\" align=\"right\" class=\"bold\">".$lang['LABEL_BOOKING_CONTACT_NAME']."</td>
92  <td width=\"75%\">&nbsp;&nbsp;".$_POST['name']."</td>
93  </tr>
94  <tr>
95  <td width=\"25%\" align=\"right\" class=\"bold\">".$lang['LABEL_BOOKING_PHONE']."</td>
96  <td width=\"75%\">&nbsp;&nbsp;<a href=\"tel:".$_POST['phone']."\">".$_POST['phone']."</a></td>
97  </tr>
98  <tr>
99  <td width=\"25%\" align=\"right\" class=\"bold\">".$lang['LABEL_BOOKING_EMAIL']."</td>
100  <td width=\"75%\">&nbsp;&nbsp;".$_POST['email']."</td>
101  </tr>
102  <tr>
103  <td width=\"25%\" align=\"right\" class=\"bold\">".$lang['BOOKING_MAIL_REMARKS']."</td>
104  <td width=\"75%\">&nbsp;&nbsp;".$_POST['message']."</td>
105  </tr>
106  <tr>
107  <td width=\"25%\" align=\"right\">&nbsp;</td>
108  <td width=\"75%\">&nbsp;</td>
109  </tr>
110  <tr>
111  <td width=\"25%\" align=\"right\" class=\"bold\">".$lang['LABEL_BOOKING_BAND']."</td>
112  <td width=\"75%\">&nbsp;&nbsp;".$_POST['band']."</td>
113  </tr>
114  <tr>
115  <td width=\"25%\" align=\"right\" class=\"bold\">".$lang['LABEL_BOOKING_EVENTDATETIME']."</td>
116  <td width=\"75%\">&nbsp;&nbsp;".$_POST['eventDateTime']."</td>
117  </tr>
118  <tr>
119  <td width=\"25%\" align=\"right\" class=\"bold\">".$lang['LABEL_BOOKING_LOCATION_TYPE']."</td>
120  <td width=\"75%\">&nbsp;&nbsp;".$_POST['locationType']."</td>
121  </tr>
122  <tr>
123  <td width=\"25%\" align=\"right\">".$lang['LABEL_BOOKING_LOCATION']."</td>
124  <td width=\"75%\">&nbsp;&nbsp;".$_POST['location']."</td>
125  </tr>
126  <tr>
127  <td width=\"25%\" align=\"right\">".$lang['LABEL_BOOKING_CROWD_AMOUNT']."</td>
128  <td width=\"75%\">&nbsp;&nbsp;".$_POST['crowdAmount']."</td>
129  </tr>
130  <tr>
131  <td width=\"25%\" align=\"right\">".$lang['LABEL_BOOKING_SOUNDCHECK']."</td>
132  <td width=\"75%\">&nbsp;&nbsp;".$_POST['eventSoundcheck']."</td>
133  </tr>
134  <tr>
135  <td width=\"25%\" align=\"right\">".$lang['LABEL_BOOKING_SOUNDCHECK_DURATION']."</td>
136  <td width=\"75%\">&nbsp;&nbsp;".$_POST['soundcheckDuration']."</td>
137  </tr>
138  <tr>
139  <td width=\"25%\" align=\"right\">".$lang['LABEL_BOOKING_SHOWTIME']."</td>
140  <td width=\"75%\">&nbsp;&nbsp;".$_POST['eventShowtime']."</td>
141  </tr>
142  <tr>
143  <td width=\"25%\" align=\"right\">".$lang['LABEL_BOOKING_SHOWTIME_DURATION']."</td>
144  <td width=\"75%\">&nbsp;&nbsp;".$_POST['showtimeDuration']."</td>
145  </tr>
146  <tr>
147  <td width=\"25%\" align=\"right\">".$lang['LABEL_BOOKING_SET_AMOUNT']."</td>
148  <td width=\"75%\">&nbsp;&nbsp;".$_POST['setAmount']."</td>
149  </tr>
150  <tr>
151  <td width=\"25%\" align=\"right\">".$lang['LABEL_BOOKING_PA_AVAILABLE']."</td>
152  <td width=\"75%\">&nbsp;&nbsp;".$_POST['paAvailable']."</td>
153  </tr>
154  <tr>
155  <td width=\"25%\" align=\"right\">".$lang['LABEL_BOOKING_TECH_AVAILABLE']."</td>
156  <td width=\"75%\">&nbsp;&nbsp;".$_POST['techAvailable']."</td>
157  </tr>
158  <tr>
159  <td width=\"25%\" align=\"right\">".$lang['LABEL_BOOKING_HOTEL_AVAILABLE']."</td>
160  <td width=\"75%\">&nbsp;&nbsp;".$_POST['hotelAvailable']."</td>
161  </tr>
162  </table>
163  </body>
164  </html>";
165 /*
166  $message = "
167  Neue Booking Anfrage:
168  =====================
169  NAME ".$_POST['name']."
170  TELEFON ".$_POST['phone']."
171  EMAIL ".$_POST['email']."
172  ANMERKUNGEN ".$_POST['message']."
173  ----------------------------------------------------
174  BAND ".$_POST['band']."
175  DATUM / ZEIT ".$_POST['eventDateTime']."
176  VERANSTALTUNG ".$_POST['locationType']."
177  LOCATION ".$_POST['location']."
178  GROESSE ".$_POST['crowdAmount']."
179  SOUNDCHECK ".$_POST['eventSoundcheck']."
180  SOUNDCHECK DAUER ".$_POST['soundcheckDuration']."
181  SHOWTIME ".$_POST['eventShowtime']."
182  SHOWTIME DAUER ".$_POST['showtimeDuration']."
183  ANZAHL SETS ".$_POST['setAmount']."
184  PA / ANLAGE ".$_POST['paAvailable']."
185  TECHNIKER ".$_POST['techAvailable']."
186  OVERNIGHT ".$_POST['hotelAvailable']."
187  ====================================================
188  ";
189 */
190 
191  // build email header
192  $header = "";
193  $header .= "From: ".$_POST['adminEmail']."\r\n";
194  $header .= "'Reply-To: ".$_POST['adminEmail']."\r\n";
195  $header = "MIME-Version: 1.0\r\n";
196  $header .= "Content-type: text/html; charset=utf-8\r\n";
197  // $header .= "X-Mailer: PHP ".phpversion()."";
198 
199  // send booking email to recipient
200  $sent = mail($_POST['bookingAdminEmail'], $subject, $message, $header);
201 
202  // check if CC should be sent
203  if (isset($_POST['adminCCEmail']) && (!empty($_POST['adminCCEmail'])))
204  { //
205  $sent = mail($_POST['adminCCEmail'], $subject, $message, $header);
206  }
207 
208  // check if copy should be sent
209  if (isset($_POST['mailCopy']) && (!empty($_POST['mailCopy'])) && ($_POST['mailCopy'] == "true"))
210  { // send copy to sender
211  $sent = mail($_POST['email'], $subject, $message, $header);
212  }
213 
214  echo "true";
215 
216 }
print $lang['FILEMAN_UPLOAD']
$header
Definition: blog-edit.php:432
static getSetting($db, $property)
Get and return value for property from settings database.
Definition: settings.php:470
This class serves methods to create backup from files.
Definition: AdminLTE.php:2