PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.5.12
GiveWP – Donation Plugin and Fundraising Platform v2.5.12
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / includes / database / class-give-db-sequential-ordering.php
give / includes / database Last commit date
class-give-db-comments-meta.php 6 years ago class-give-db-comments.php 6 years ago class-give-db-donor-meta.php 6 years ago class-give-db-donors.php 6 years ago class-give-db-form-meta.php 6 years ago class-give-db-logs-meta.php 6 years ago class-give-db-logs.php 6 years ago class-give-db-meta.php 6 years ago class-give-db-payment-meta.php 6 years ago class-give-db-sequential-ordering.php 6 years ago class-give-db-sessions.php 6 years ago class-give-db.php 6 years ago
class-give-db-sequential-ordering.php
146 lines
1 <?php
2 /**
3 * Sequential Donation DB
4 *
5 * @package Give
6 * @subpackage Classes/Give_DB_Sequential_Ordering
7 * @copyright Copyright (c) 2018, GiveWP
8 * @license https://opensource.org/licenses/gpl-license GNU Public License
9 * @since 2.1.0
10 */
11
12 // Exit if accessed directly.
13 if ( ! defined( 'ABSPATH' ) ) {
14 exit;
15 }
16
17 /**
18 * Give_DB_Sequential_Ordering Class
19 *
20 * This class is for interacting with the sequential donation database table.
21 *
22 * @since 2.1.0
23 */
24 class Give_DB_Sequential_Ordering extends Give_DB {
25
26 /**
27 * Give_DB_Sequential_Ordering constructor.
28 *
29 * Set up the Give DB Donor class.
30 *
31 * @since 2.1.0
32 * @access public
33 */
34 public function __construct() {
35 /* @var WPDB $wpdb */
36 global $wpdb;
37
38 $this->table_name = $wpdb->prefix . 'give_sequential_ordering';
39 $this->primary_key = 'id';
40 $this->version = '1.0';
41
42 parent::__construct();
43 }
44
45 /**
46 * Get columns and formats
47 *
48 * @since 2.1.0
49 * @access public
50 *
51 * @return array Columns and formats.
52 */
53 public function get_columns() {
54 return array(
55 'id' => '%d',
56 'payment_id' => '%s',
57 );
58 }
59
60 /**
61 * Get default column values
62 *
63 * @since 2.1.0
64 * @access public
65 *
66 * @return array Default column values.
67 */
68 public function get_column_defaults() {
69 return array(
70 'id' => 0,
71 'payment_id' => '',
72 );
73 }
74
75
76 /**
77 * Create the table
78 *
79 * @since 2.1.0
80 * @access public
81 *
82 * @return void
83 */
84 public function create_table() {
85 global $wpdb;
86 $charset_collate = $wpdb->get_charset_collate();
87
88 // Calculate auto increment number.
89 $payment_ID = $wpdb->get_var(
90 $wpdb->prepare(
91 "
92 SELECT ID
93 FROM $wpdb->posts
94 WHERE post_type=%s
95 ORDER By ID desc
96 LIMIT 1
97 ",
98 'give_payment'
99 )
100 );
101
102 $sql = "CREATE TABLE {$this->table_name} (
103 id bigint(20) NOT NULL AUTO_INCREMENT,
104 payment_id bigint(20) NOT NULL,
105 PRIMARY KEY (id)
106 ) {$charset_collate};";
107
108 require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
109 dbDelta( $sql );
110
111 if ( ! empty( $payment_ID ) ) {
112 $auto_increment = $payment_ID + 1;
113 $wpdb->query( "ALTER TABLE {$this->table_name} AUTO_INCREMENT={$auto_increment};" );
114 give_update_option( 'sequential-ordering_number', $auto_increment );
115 } else {
116 give_update_option( 'sequential-ordering_number', 1 );
117 }
118
119 update_option( $this->table_name . '_db_version', $this->version, false );
120 }
121
122
123 /**
124 * Get id auto increment next value.
125 *
126 * @since 2.1.0
127 * @return null|string
128 */
129 public function get_id_auto_increment_val() {
130 global $wpdb;
131
132 return $wpdb->get_var(
133 $wpdb->prepare(
134 "
135 SELECT AUTO_INCREMENT
136 FROM INFORMATION_SCHEMA.TABLES
137 WHERE TABLE_SCHEMA=%s
138 AND TABLE_NAME=%s
139 ",
140 DB_NAME,
141 $this->table_name
142 )
143 );
144 }
145 }
146