/var/www/html_uk/wp-content/plugins/automatewoo/includes/Database_Tables.php


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 Exceptionsprintfesc_html__"Failed to load the '%s' database table."'automatewoo' ), esc_html$table_id ) ) );
    }
}