PluginProbe
Orderable – Restaurant & Food Ordering System / 1.20.0
Orderable – Restaurant & Food Ordering System v1.20.0
0.1.4 0.1.5 0.2.0 1.0.0 1.1.0 1.1.1 1.10.0 1.10.1 1.11.0 1.12.0 1.12.1 1.12.2 1.13.0 1.14.0 1.15.0 1.16.0 1.17.0 1.17.1 1.18.0 1.19.0 1.19.1 1.19.2 1.2.0 1.20.0 1.20.1 All 44 releases
orderable / inc / class-modules.php

class-modules.php in Orderable – Restaurant & Food Ordering System 1.20.0, at inc/class-modules.php

79 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Module methods.
4 *
5 * Load individual modules of Orderable plugin, if they exist.
6 *
7 * @package Orderable/Classes
8 */
9
10 defined( 'ABSPATH' ) || exit;
11
12 /**
13 * Modules class.
14 */
15 class Orderable_Modules {
16 /**
17 * Init.
18 */
19 public static function run() {
20 self::load_modules();
21 }
22
23 /**
24 * Load free modules.
25 */
26 private static function load_modules() {
27 $modules = array(
28 'layouts',
29 'drawer',
30 'services',
31 'timings',
32 'addons',
33 'live-view',
34 'location',
35 'tip',
36 'checkout',
37 'timed-products',
38 'custom-order-status',
39 'notifications',
40 'order-reminders',
41 'table-ordering',
42 'product-labels',
43 'receipt-layouts',
44 );
45
46 foreach ( $modules as $module ) {
47 $path = ORDERABLE_MODULES_PATH . $module . '/class-' . $module . '.php';
48
49 if ( ! file_exists( $path ) ) {
50 continue;
51 }
52
53 $class_name = self::get_module_class_name( $module );
54
55 require_once $path;
56
57 if ( ! class_exists( $class_name ) ) {
58 continue;
59 }
60
61 $class_name::run();
62 }
63 }
64
65 /**
66 * Get module class name.
67 *
68 * @param string $module Module name.
69 *
70 * @return string
71 */
72 public static function get_module_class_name( $module ) {
73 $module = ucwords( str_replace( '-', ' ', $module ) );
74 $module = str_replace( ' ', '_', $module );
75
76 return apply_filters( 'orderable_get_module_class_name', 'Orderable_' . $module, $module );
77 }
78 }
79