PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.1.3
Booking for Appointments and Events Calendar – Amelia v2.1.3
2.4.9 2.4.8 2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Infrastructure / WP / InstallActions / DB / AbstractDatabaseTable.php
ameliabooking / src / Infrastructure / WP / InstallActions / DB Last commit date
Bookable 8 months ago Booking 8 months ago Cache 8 months ago Coupon 8 months ago CustomField 10 months ago Gallery 8 months ago Location 8 months ago Notification 8 months ago Payment 8 months ago Tax 8 months ago User 6 months ago AbstractDatabaseTable.php 8 months ago
AbstractDatabaseTable.php
92 lines
1 <?php
2
3 /**
4 * @copyright © Melograno Ventures. All rights reserved.
5 * @licence See LICENCE.md for license details.
6 */
7
8 namespace AmeliaBooking\Infrastructure\WP\InstallActions\DB;
9
10 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
11
12 /**
13 * Class AbstractDatabaseTable
14 *
15 * @package AmeliaBooking\Infrastructure\WP\InstallActions\DB
16 */
17 class AbstractDatabaseTable
18 {
19 public const TABLE = '';
20
21 /**
22 * @return string
23 * @throws InvalidArgumentException
24 */
25 public static function getTableName()
26 {
27 if (!static::TABLE) {
28 throw new InvalidArgumentException('Table name is not provided');
29 }
30
31 global $wpdb;
32 return $wpdb->prefix . 'amelia_' . static::TABLE;
33 }
34
35 /**
36 * @return string
37 * @throws InvalidArgumentException
38 */
39 public static function buildTable()
40 {
41 return '';
42 }
43
44 /**
45 * Create new table in the database
46 */
47 public static function init()
48 {
49 require_once ABSPATH . 'wp-admin/includes/upgrade.php';
50 dbDelta(static::buildTable());
51
52 global $wpdb;
53
54 foreach (static::alterTable() as $command) {
55 $wpdb->query($command);
56 }
57 }
58
59 /**
60 * Delete table table from the database
61 *
62 * @throws InvalidArgumentException
63 */
64 public static function delete()
65 {
66 global $wpdb;
67
68 $table = self::getTableName();
69
70 $sql = "DROP TABLE IF EXISTS {$table};";
71 $wpdb->query($sql);
72 }
73
74 /**
75 * @return boolean
76 */
77 public static function isValidTablePrefix()
78 {
79 global $wpdb;
80
81 return strlen($wpdb->prefix) <= 16;
82 }
83
84 /**
85 * @return array
86 */
87 public static function alterTable()
88 {
89 return [];
90 }
91 }
92