PluginProbe ʕ •ᴥ•ʔ
Brevo – Email, SMS, Web Push, Chat, and more. / 3.2.0
Brevo – Email, SMS, Web Push, Chat, and more. v3.2.0
2.9.13 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8 2.9.9 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.9 3.1.0 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.2 3.1.20 3.1.21 3.1.22 3.1.23 3.1.24 3.1.25 3.1.26 3.1.27 3.1.28 3.1.29 3.1.3 3.1.30 3.1.31 3.1.32 3.1.33 3.1.34 3.1.35 3.1.36 3.1.37 3.1.38 3.1.39 3.1.4 3.1.40 3.1.41 3.1.42 3.1.43 3.1.44 3.1.45 3.1.46 3.1.47 3.1.48 3.1.49 3.1.5 3.1.50 3.1.51 3.1.52 3.1.53 3.1.54 3.1.55 3.1.56 3.1.57 3.1.58 3.1.59 3.1.6 3.1.60 3.1.61 3.1.62 3.1.63 3.1.64 3.1.65 3.1.66 3.1.67 3.1.68 3.1.69 3.1.7 3.1.70 3.1.71 3.1.72 3.1.73 3.1.74 3.1.75 3.1.76 3.1.77 3.1.78 3.1.79 3.1.8 3.1.80 3.1.81 3.1.82 3.1.83 3.1.84 3.1.85 3.1.86 3.1.87 3.1.88 3.1.89 3.1.9 3.1.90 3.1.91 3.1.92 3.1.93 3.1.94 3.1.95 3.1.96 3.1.97 3.1.98 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 trunk 1.0 1.5 2.0.8 2.9.10 2.9.11 2.9.12
mailin / model / model-contacts.php
mailin / model Last commit date
index.php 11 years ago model-contacts.php 5 years ago model-forms.php 2 years ago model-lang.php 5 years ago model-users.php 1 year ago
model-contacts.php
230 lines
1 <?php
2 /**
3 * Model class <i>SIB_Model_Contact</i> represents account
4 *
5 * @package SIB_Model
6 */
7 class SIB_Model_Contact {
8
9 /**
10 * Tab table name
11 */
12 const TABLE_NAME = 'sib_model_contact';
13
14 /**
15 * Holds found campaign count
16 *
17 * @var int
18 */
19 static $found_count;
20
21 /**
22 * Holds all campaign count
23 *
24 * @var int
25 */
26 static $all_count;
27
28 /** Create Table */
29 public static function create_table() {
30 global $wpdb;
31 // create list table
32 $creation_query =
33 'CREATE TABLE IF NOT EXISTS ' . $wpdb->prefix . self::TABLE_NAME . ' (
34 `id` int(20) NOT NULL AUTO_INCREMENT,
35 `email` varchar(255),
36 `info` TEXT,
37 `code` varchar(100),
38 `is_activate` int(2),
39 `extra` TEXT,
40 PRIMARY KEY (`id`)
41 );';
42 $wpdb->query( $creation_query );
43 }
44
45 /**
46 * Remove table
47 */
48 public static function remove_table() {
49 global $wpdb;
50 $query = 'DROP TABLE IF EXISTS ' . $wpdb->prefix . self::TABLE_NAME . ';';
51 $wpdb->query( $query );
52 }
53
54 /**
55 * Get data by id
56 *
57 * @param $id
58 */
59 public static function get_data( $id ) {
60 global $wpdb;
61 $query = $wpdb->prepare('select * from ' . $wpdb->prefix . self::TABLE_NAME . ' where id= %d ', array(esc_sql($id)));
62 $results = $wpdb->get_results($query, ARRAY_A);
63
64 if ( is_array( $results ) ) {
65 return $results[0];
66 } else {
67 return false;
68 }
69 }
70
71 /**
72 * Get data by code
73 */
74 public static function get_data_by_code( $code ) {
75 global $wpdb;
76 $query = $wpdb->prepare('select * from ' . $wpdb->prefix . self::TABLE_NAME . ' where code like %s', array(esc_sql($code)));
77 $results = $wpdb->get_results($query, ARRAY_A);
78
79 if ( is_array( $results ) && count( $results ) > 0 ) {
80 return $results[0];
81 } else {
82 return false;
83 }
84 }
85
86 /**
87 * Get code by email
88 */
89 public static function get_data_by_email( $email ) {
90 global $wpdb;
91 $query = $wpdb->prepare('select * from ' . $wpdb->prefix . self::TABLE_NAME . ' where email like %s', array(esc_sql($email)));
92 $results = $wpdb->get_results($query, ARRAY_A);
93
94 if ( is_array( $results ) && count( $results ) > 0 ) {
95 return $results[0];
96 } else {
97 return false;
98 }
99 }
100
101 /** Add record */
102 public static function add_record( $data ) {
103 global $wpdb;
104
105 if ( self::is_exist_same_email( $data['email'] ) == true ) {
106 return false;
107 }
108
109 $query = $wpdb->prepare(
110 'INSERT INTO ' . $wpdb->prefix . self::TABLE_NAME . ' (email,info,code,is_activate,extra) VALUES (%s, %s, %s, %d, %s);',
111 array(
112 esc_sql($data['email']),
113 esc_sql($data['info']),
114 esc_sql($data['code']),
115 esc_sql($data['is_activate']),
116 esc_sql($data['extra'])
117 )
118 );
119 $wpdb->query( $query );
120
121 $index = $wpdb->get_var( 'SELECT LAST_INSERT_ID();' );
122
123 return $index;
124
125 }
126
127 public static function is_exist_same_email( $email, $id = '' ) {
128 global $wpdb;
129
130 $query = $wpdb->prepare('select * from ' . $wpdb->prefix . self::TABLE_NAME . ' where email like %s ', array(esc_sql($email)));
131 $results = $wpdb->get_results($query, ARRAY_A);
132
133 if ( is_array( $results ) && (count( $results ) > 0) ) {
134 if ( $id == '' ) {
135 return true;
136 }
137 if ( isset( $results ) && is_array( $results ) ) {
138 foreach ( $results as $result ) {
139 if ( $result['id'] != $id ) {
140 return true;
141 }
142 }
143 }
144 }
145
146 return false;
147 }
148
149 /** Remove guest */
150 public static function remove_record( $id ) {
151 global $wpdb;
152
153 $query = $wpdb->prepare('delete from ' . $wpdb->prefix . self::TABLE_NAME . ' where id= %d ', array(esc_sql($id)));
154 $wpdb->query( $query );
155 }
156
157 /** Get all guests by pagenum, per_page*/
158 public static function get_all( $orderby = 'email', $order = 'asc', $pagenum = 1, $per_page = 15 ) {
159 global $wpdb;
160
161 $limit = ($pagenum - 1) * $per_page;
162 $query = $wpdb->prepare(
163 'SELECT * FROM ' . $wpdb->prefix . self::TABLE_NAME . ' ORDER BY %s %s LIMIT %d, %d;',
164 array(
165 esc_sql($orderby),
166 esc_sql($order),
167 esc_sql($limit),
168 esc_sql($per_page)
169 )
170 );
171 $results = $wpdb->get_results( $query, ARRAY_A );
172 self::$found_count = self::get_count_element();
173
174 if ( ! is_array( $results ) ) {
175 $results = array();
176 return $results;
177 }
178
179 return $results;
180 }
181
182 /** get all records of table */
183 public static function get_all_records() {
184 global $wpdb;
185
186 $query = 'select * from ' . $wpdb->prefix . self::TABLE_NAME . ' order by email asc;';
187
188 $results = $wpdb->get_results( $query, ARRAY_A );
189
190 if ( ! is_array( $results ) ) {
191 $results = array();
192 return $results;
193 }
194
195 return $results;
196 }
197
198 /** get count of row */
199 public static function get_count_element() {
200 global $wpdb;
201
202 return $wpdb->get_var( 'Select count(*) from ' . $wpdb->prefix . self::TABLE_NAME . ';' );
203 }
204
205 /** update record */
206 public static function update_element( $id, $data ) {
207 global $wpdb;
208
209 if ( self::is_exist_same_email( $data['email'], $id ) == true ) {
210 return false;
211 }
212
213 $query = $wpdb->prepare(
214 'update ' . self::TABLE_NAME . ' set email= %s, info= %s, code= %s, is_activate= %d, extra= %s where id= %d;',
215 array(
216 esc_sql($data['email']),
217 esc_sql($data['info']),
218 esc_sql($data['code']),
219 esc_sql($data['is_activate']),
220 esc_sql($data['extra']),
221 esc_sql($id)
222 )
223 );
224
225 $wpdb->query( $query );
226
227 return true;
228 }
229
230 }