1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
<?php
namespace AutomateWoo;
/** * @class Database_Tables * @since 2.8.2 */ class Database_Tables extends Registry {
/** @var array */ public static $includes;
/** @var Database_Table[] */ public static $loaded = [];
/** * Updates any tables as required */ public static function install_tables() { global $wpdb;
$wpdb->hide_errors();
foreach ( self::get_all() as $table ) { $table->install(); } }
/** * Load the application Database Tables * * @return array The DatabaseTables classes to be loaded */ public static function load_includes() { $includes = [ 'carts' => DatabaseTables\Carts::class, 'customer-meta' => DatabaseTables\CustomerMeta::class, 'customers' => DatabaseTables\Customers::class, 'guest-meta' => DatabaseTables\GuestMeta::class, 'guests' => DatabaseTables\Guests::class, 'log-meta' => DatabaseTables\LogMeta::class, 'logs' => DatabaseTables\Logs::class, 'queue' => DatabaseTables\Queue::class, 'queue-meta' => DatabaseTables\QueueMeta::class, ];
return apply_filters( 'automatewoo/database_tables', $includes ); }
/** * Get all the database tables * * @return Database_Table[] An array with all the database tables */ public static function get_all() { return parent::get_all(); }
/** * Get a database table object. * * @param string $table_id The table to get * * @return Database_Table The database table class * * @throws Exception When table failed to load. */ public static function get( $table_id ) { $table = parent::get( $table_id );
if ( $table instanceof Database_Table ) { return $table; }
/* translators: Database table name. */ throw new Exception( sprintf( esc_html__( "Failed to load the '%s' database table.", 'automatewoo' ), esc_html( $table_id ) ) ); } }
|