PluginProbe
VikBooking Hotel Booking Engine & PMS / 1.8.15
VikBooking Hotel Booking Engine & PMS v1.8.15
1.8.15 1.8.14 1.8.13 1.8.12 1.8.11 1.8.10 1.8.9 1.8.6 1.8.7 1.8.8 trunk 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 All 36 releases
vikbooking / admin / helpers / src / cron / fixer / reminder.php

reminder.php in VikBooking Hotel Booking Engine & PMS 1.8.15, at admin/helpers/src/cron/fixer/reminder.php

53 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package VikBooking
4 * @subpackage core
5 * @author E4J s.r.l.
6 * @copyright Copyright (C) 2021 E4J s.r.l. All Rights Reserved.
7 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
8 * @link https://vikwp.com
9 */
10
11 // No direct access
12 defined('ABSPATH') or die('No script kiddies please!');
13
14 /**
15 * Fixer for VikBooking cron job reminders.
16 *
17 * @since 1.5.10
18 */
19 trait VBOCronFixerReminder
20 {
21 /**
22 * Fixes the old flag_char structure used by all the cron jobs that act as reminders.
23 *
24 * @return void
25 */
26 protected function normalizeDeprecatedFlag()
27 {
28 // make sure this trait has been attached only to a cron job instance
29 if (!$this instanceof VBOCronJob)
30 {
31 throw new Exception('This tracker can be attached only to a VBOCronJob instance', 500);
32 }
33
34 $data = $this->getData();
35
36 // check whether the first element of the array is another array
37 if (is_array(reset($data->flag_char)))
38 {
39 $tmp = [];
40
41 // convert a multi-dimension array into a linear list of bookings
42 foreach ($data->flag_char as $date => $map)
43 {
44 // register the keys (booking IDs) within the new array
45 $tmp = array_merge($tmp, array_keys($map));
46 }
47
48 // overwrite previous cache with the new one (get rid of duplicates)
49 $data->flag_char = array_unique($tmp);
50 }
51 }
52 }
53