|
|
@@ -1213,6 +1213,7 @@ class BookingApi extends DolibarrApi
|
|
|
$date = new DateTime($date_to);
|
|
|
$date->modify('+1 day');
|
|
|
$date_to = $date->format('Y-m-d');
|
|
|
+ $date_from = $this->getCutOffTimeDate($product_id);
|
|
|
$sql = "SELECT
|
|
|
ac.id,
|
|
|
ac.datep,
|
|
|
@@ -1225,7 +1226,7 @@ class BookingApi extends DolibarrApi
|
|
|
INNER JOIN llx_eventwizard_eventproduct as ep ON ep.fk_eventdetails = ac.fk_element
|
|
|
WHERE ac.code = 'AC_EVENT'
|
|
|
AND ep.fk_product = {$product_id}
|
|
|
- AND ac.datep > '{$date_from} 00:00:00'
|
|
|
+ AND ac.datep > '{$date_from}'
|
|
|
AND ac.datep2 < '{$date_to} 00:00:00'
|
|
|
ORDER BY ac.datep ASC";
|
|
|
$result = $this->db->query($sql);
|
|
|
@@ -1248,6 +1249,25 @@ class BookingApi extends DolibarrApi
|
|
|
}
|
|
|
return $array;
|
|
|
}
|
|
|
+
|
|
|
+ private function getCutOffTimeDate($product_id)
|
|
|
+ {
|
|
|
+ $date = date("Y-m-d H:i:s");
|
|
|
+ ApiBbusLog::appLog("{$date}");
|
|
|
+ $sql = "SELECT cut_off_time_app FROM llx_product_extrafields WHERE fk_object = {$product_id}";
|
|
|
+ if ($result = $this->db->query($sql)) {
|
|
|
+ if ($this->db->num_rows($result) > 0) {
|
|
|
+ while ($row = $this->db->fetch_object($result)) {
|
|
|
+ $cutOffTime = $row->cut_off_time_app;
|
|
|
+ }
|
|
|
+ $dateTimestamp = strtotime($date);
|
|
|
+ $date = date("Y-m-d H:i:s", $dateTimestamp + $cutOffTime * 60);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ApiBbusLog::appLog("{$date}");
|
|
|
+ return $date;
|
|
|
+ }
|
|
|
+
|
|
|
private function noLocalEmptySpaces($event_id, $reservations)
|
|
|
{
|
|
|
$sql = "SELECT ace.max_num, ace.buffer, ace.participants FROM llx_actioncomm as ac
|