PluginProbe
VikBooking Hotel Booking Engine & PMS / 1.8.16
VikBooking Hotel Booking Engine & PMS v1.8.16
1.8.16 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 All 37 releases
← All changes | admin/helpers/src/cron/factory.php +60 -0 1.6.2 → 1.8.16 View file →
@@ -1,0 +1,60 @@
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 + * VikBooking cron job factory.
16 + *
17 + * @since 1.5.10
18 + */
19 +class VBOCronFactory
20 +{
21 + use VBOFactoryAware;
22 +
23 + /**
24 + * Class contructor.
25 + */
26 + public function __construct()
27 + {
28 + $this->instanceClassPrefix = 'VikBookingCronJob';
29 + }
30 +
31 + /**
32 + * Children classes can override this method to rearrange the ordering
33 + * of the elements created through this factory class.
34 + *
35 + * @param array &$list The list of instances.
36 + *
37 + * @return void
38 + */
39 + protected function rearrangeInstances(&$list)
40 + {
41 + // sort cron jobs by title
42 + uasort($list, function($a, $b)
43 + {
44 + return strcasecmp($a->getTitle(), $b->getTitle());
45 + });
46 + }
47 +
48 + /**
49 + * Children classes can override this method to make sure that the
50 + * created instance is compliant with the factory requirements.
51 + *
52 + * @param mixed $object The object to validate.
53 + *
54 + * @return boolean True if valid, false otherwise.
55 + */
56 + protected function isInstanceValid($object)
57 + {
58 + return $object instanceof VBOCronJob;
59 + }
60 +}