PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.2.0
GiveWP – Donation Plugin and Fundraising Platform v2.2.0
4.16.3 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 / class-give-db-sequential-ordering.php
give / includes Last commit date
admin 7 years ago api 7 years ago deprecated 7 years ago donors 7 years ago emails 7 years ago forms 7 years ago gateways 7 years ago libraries 7 years ago payments 7 years ago actions.php 7 years ago ajax-functions.php 7 years ago class-give-async-process.php 8 years ago class-give-background-updater.php 7 years ago class-give-cache.php 7 years ago class-give-cli-commands.php 8 years ago class-give-comment.php 7 years ago class-give-cron.php 8 years ago class-give-db-donor-meta.php 8 years ago class-give-db-donors.php 7 years ago class-give-db-form-meta.php 8 years ago class-give-db-logs-meta.php 8 years ago class-give-db-logs.php 7 years ago class-give-db-meta.php 7 years ago class-give-db-payment-meta.php 7 years ago class-give-db-sequential-ordering.php 7 years ago class-give-db-sessions.php 7 years ago class-give-db.php 8 years ago class-give-donate-form.php 8 years ago class-give-donor-wall-widget.php 7 years ago class-give-donor.php 7 years ago class-give-email-access.php 8 years ago class-give-html-elements.php 7 years ago class-give-license-handler.php 7 years ago class-give-logging.php 8 years ago class-give-readme-parser.php 8 years ago class-give-roles.php 8 years ago class-give-scripts.php 7 years ago class-give-session.php 7 years ago class-give-stats.php 8 years ago class-give-template-loader.php 8 years ago class-give-tooltips.php 8 years ago class-give-translation.php 8 years ago class-notices.php 7 years ago country-functions.php 8 years ago currency-functions.php 7 years ago error-tracking.php 8 years ago filters.php 7 years ago formatting.php 7 years ago import-functions.php 7 years ago install.php 7 years ago login-register.php 8 years ago misc-functions.php 7 years ago plugin-compatibility.php 8 years ago post-types.php 8 years ago price-functions.php 7 years ago process-donation.php 7 years ago shortcodes.php 7 years ago template-functions.php 8 years ago user-functions.php 7 years ago
class-give-db-sequential-ordering.php
149 lines
1 <?php
2 /**
3 * Sequential Donation DB
4 *
5 * @package Give
6 * @subpackage Classes/Give_DB_Sequential_Ordering
7 * @copyright Copyright (c) 2018, WordImpress
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 // Install table.
43 $this->register_table();
44
45 parent::__construct();
46 }
47
48 /**
49 * Get columns and formats
50 *
51 * @since 2.1.0
52 * @access public
53 *
54 * @return array Columns and formats.
55 */
56 public function get_columns() {
57 return array(
58 'id' => '%d',
59 'payment_id' => '%s',
60 );
61 }
62
63 /**
64 * Get default column values
65 *
66 * @since 2.1.0
67 * @access public
68 *
69 * @return array Default column values.
70 */
71 public function get_column_defaults() {
72 return array(
73 'id' => 0,
74 'payment_id' => '',
75 );
76 }
77
78
79 /**
80 * Create the table
81 *
82 * @since 2.1.0
83 * @access public
84 *
85 * @return void
86 */
87 public function create_table() {
88 global $wpdb;
89 $charset_collate = $wpdb->get_charset_collate();
90
91 // Calculate auto increment number.
92 $payment_ID = $wpdb->get_var(
93 $wpdb->prepare(
94 "
95 SELECT ID
96 FROM $wpdb->posts
97 WHERE post_type=%s
98 ORDER By ID desc
99 LIMIT 1
100 ",
101 'give_payment'
102 )
103 );
104
105 $sql = "CREATE TABLE {$this->table_name} (
106 id bigint(20) NOT NULL AUTO_INCREMENT,
107 payment_id bigint(20) NOT NULL,
108 PRIMARY KEY (id)
109 ) {$charset_collate};";
110
111 require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
112 dbDelta( $sql );
113
114 if ( ! empty( $payment_ID ) ) {
115 $auto_increment = $payment_ID + 1;
116 $wpdb->query( "ALTER TABLE {$this->table_name} AUTO_INCREMENT={$auto_increment};" );
117 give_update_option( 'sequential-ordering_number', $auto_increment );
118 } else {
119 give_update_option( 'sequential-ordering_number', 1 );
120 }
121
122 update_option( $this->table_name . '_db_version', $this->version, false );
123 }
124
125
126 /**
127 * Get id auto increment next value.
128 *
129 * @since 2.1.0
130 * @return null|string
131 */
132 public function get_id_auto_increment_val() {
133 global $wpdb;
134
135 return $wpdb->get_var(
136 $wpdb->prepare(
137 "
138 SELECT AUTO_INCREMENT
139 FROM INFORMATION_SCHEMA.TABLES
140 WHERE TABLE_SCHEMA=%s
141 AND TABLE_NAME=%s
142 ",
143 DB_NAME,
144 $this->table_name
145 )
146 );
147 }
148 }
149