PluginProbe ʕ •ᴥ•ʔ
Brevo – Email, SMS, Web Push, Chat, and more. / 2.9.7
Brevo – Email, SMS, Web Push, Chat, and more. v2.9.7
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 8 years ago model-forms.php 6 years ago model-lang.php 6 years ago model-users.php 6 years ago
model-contacts.php
220 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 ' . 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 ' . 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 = 'select * from ' . self::TABLE_NAME . ' where id=' . $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 = 'select * from ' . self::TABLE_NAME . ' where code like "' . $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 = 'select * from ' . self::TABLE_NAME . ' where email like "' . $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 = 'INSERT INTO ' . self::TABLE_NAME . ' ';
110 $query .= '(email,info,code,is_activate,extra) ';
111 $query .= "VALUES ('{$data['email']}','{$data['info']}','{$data['code']}','{$data['is_activate']}','{$data['extra']}');";
112
113 $wpdb->query( $query );
114
115 $index = $wpdb->get_var( 'SELECT LAST_INSERT_ID();' );
116
117 return $index;
118
119 }
120
121 public static function is_exist_same_email( $email, $id = '' ) {
122 global $wpdb;
123
124 $query = 'select * from ' . self::TABLE_NAME . ' ';
125 $query .= "where email like '" . $email . "' ;";
126
127 $results = $wpdb->get_results( $query, ARRAY_A );
128
129 if ( is_array( $results ) && (count( $results ) > 0) ) {
130 if ( $id == '' ) {
131 return true;
132 }
133 if ( isset( $results ) && is_array( $results ) ) {
134 foreach ( $results as $result ) {
135 if ( $result['id'] != $id ) {
136 return true;
137 }
138 }
139 }
140 }
141
142 return false;
143 }
144
145 /** Remove guest */
146 public static function remove_record( $id ) {
147 global $wpdb;
148
149 $query = 'delete from ' . self::TABLE_NAME . ' ';
150 $query .= 'where id=' . $id . ';';
151
152 $wpdb->query( $query );
153 }
154
155 /** Get all guests by pagenum, per_page*/
156 public static function get_all( $orderby = 'email', $order = 'asc', $pagenum = 1, $per_page = 15 ) {
157 global $wpdb;
158
159 $limit = ($pagenum - 1) * $per_page;
160 $query = 'SELECT * FROM ' . self::TABLE_NAME . ' ';
161 $query .= 'ORDER BY ' . $orderby . ' ' . $order . ' ';
162 $query .= 'LIMIT ' . $limit . ',' . $per_page . ';';
163
164 $results = $wpdb->get_results( $query, ARRAY_A );
165 self::$found_count = self::get_count_element();
166
167 if ( ! is_array( $results ) ) {
168 $results = array();
169 return $results;
170 }
171
172 return $results;
173 }
174
175 /** get all records of table */
176 public static function get_all_records() {
177 global $wpdb;
178
179 $query = 'select * from ' . self::TABLE_NAME . ' order by email asc;';
180
181 $results = $wpdb->get_results( $query, ARRAY_A );
182
183 if ( ! is_array( $results ) ) {
184 $results = array();
185 return $results;
186 }
187
188 return $results;
189 }
190
191 /** get count of row */
192 public static function get_count_element() {
193 global $wpdb;
194
195 $query = 'Select count(*) from ' . self::TABLE_NAME . ';';
196
197 $count = $wpdb->get_var( $query );
198
199 return $count;
200 }
201
202 /** update record */
203 public static function update_element( $id, $data ) {
204 global $wpdb;
205
206 if ( self::is_exist_same_email( $data['email'], $id ) == true ) {
207 return false;
208 }
209
210 $query = 'update ' . self::TABLE_NAME . ' ';
211 $query .= "set email='{$data['email']}',info='{$data['info']}',code='{$data['code']}',is_activate='{$data['is_activate']}',extra='{$data['extra']}' ";
212 $query .= 'where id=' . $id . ';';
213
214 $wpdb->query( $query );
215
216 return true;
217 }
218
219 }
220