PluginProbe ʕ •ᴥ•ʔ
Admin and Site Enhancements (ASE) / 8.6.2
Admin and Site Enhancements (ASE) v8.6.2
9.1.0 9.0.2 9.0.1 9.0.0 8.9.2 8.9.1 8.9.0 8.8.8 8.8.7 8.8.6 8.8.5 8.8.4 8.8.3 8.8.2 8.8.1 8.8.0 8.7.3 8.7.2 8.7.1 8.2.1 8.2.2 8.2.3 8.3.0 8.3.1 8.3.2 8.4.0 8.4.1 8.4.2 8.5.0 8.5.1 8.5.2 8.6.0 8.6.1 8.6.2 8.7.0 5.0.1 5.0.2 5.0.2.1 5.0.2.2 5.0.2.3 5.0.2.4 5.1.0 5.2.0 5.2.1 5.2.10 5.2.11 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3.0 5.3.1 5.3.2 5.4.0 5.4.1 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.8.0 5.8.1 6.0.0 6.0.3 6.0.4 6.0.5 6.0.5.1 6.0.6 6.0.7 6.0.8.1 6.1.0 6.1.3 6.2.0 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.7 6.3.0 6.3.1 6.3.2 6.4.0 6.5.0 6.5.1 6.6.0 6.7.0 6.8.0 6.8.2 6.8.3 6.9.0 6.9.1 6.9.10 6.9.11 6.9.12 6.9.13.1 6.9.13.2 6.9.2 6.9.3 6.9.4 6.9.5 6.9.6 6.9.7 6.9.8 6.9.9 7.0.0 7.0.2 7.0.2.1 7.0.2.2 7.0.2.3 7.0.3 7.1.0 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2.0 7.2.1 7.3.0 7.3.1 7.3.2 7.3.3 7.4.0 7.4.2 7.4.4 7.4.5 7.4.6 7.4.7 7.4.8 7.5.0 7.5.1 7.5.2 7.5.3 7.5.4 7.6.0 7.6.1 7.6.1.1 7.6.10 7.6.11 7.6.2 7.6.3 7.6.4 7.6.5 7.6.6 7.6.7 7.6.7.1 7.6.8 7.6.9 7.7.0 7.8.0 7.8.1 7.8.10 7.8.11 7.8.12 7.8.13 7.8.14 7.8.15 7.8.16 7.8.17 7.8.18 7.8.2 7.8.3 7.8.4 7.8.5 7.8.5.1 7.8.6 7.8.7 7.8.8 7.8.9 7.9.0 7.9.1 7.9.10 7.9.11 7.9.2 7.9.3 7.9.4 7.9.5 7.9.6 7.9.7 7.9.8 7.9.9 8.0.0 8.0.1 8.0.2 8.0.3 8.0.4 8.0.5 8.0.6 8.0.7 8.0.8 8.1.0 8.1.1 8.1.2 8.1.3 8.1.4 8.2.0 trunk 1.0.0 1.1.0 1.2.0 1.3.0 1.4.0 1.5.0 1.6.0 1.7.0 1.8.0 1.9.0 2.0.0 2.1.0 2.2.0 2.3.0 2.4.0 2.5.0 2.6.0 2.7.0 2.8.0 2.8.1 2.8.2 2.8.3 2.9.0 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.2.0 3.3.0 3.4.0 3.5.0 3.6.1 3.7.0 3.8.0 3.9.0 3.9.1 3.9.2 4.0.0 4.0.1 4.1.0 4.2.0 4.2.1 4.2.2 4.3.0 4.3.1 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.8.0 4.8.1 4.8.2 4.8.3 4.9.0 4.9.1 4.9.2 4.9.3 5.0.0
admin-site-enhancements / classes / class-activation.php
admin-site-enhancements / classes Last commit date
class-activation.php 4 months ago class-admin-menu-organizer.php 4 months ago class-admin-menu-svg-icon-mask.php 4 months ago class-auto-publish-posts-with-missed-schedule.php 4 months ago class-avif-upload.php 4 months ago class-captcha-protection.php 4 months ago class-change-login-url.php 4 months ago class-cleanup-admin-bar.php 4 months ago class-common-methods.php 4 months ago class-content-duplication.php 4 months ago class-content-order.php 4 months ago class-custom-admin-footer-text.php 4 months ago class-custom-body-class.php 4 months ago class-custom-css.php 4 months ago class-custom-nav-menu-items-in-new-tab.php 4 months ago class-deactivation.php 4 months ago class-disable-author-archives.php 4 months ago class-disable-comments.php 4 months ago class-disable-dashboard-widgets.php 4 months ago class-disable-embeds.php 4 months ago class-disable-feeds.php 4 months ago class-disable-gutenberg.php 4 months ago class-disable-rest-api.php 4 months ago class-disable-smaller-components.php 4 months ago class-disable-updates.php 4 months ago class-disable-xml-rpc.php 4 months ago class-display-system-summary.php 4 months ago class-email-address-obfuscator.php 4 months ago class-email-delivery.php 4 months ago class-enhance-list-tables.php 4 months ago class-external-permalinks.php 4 months ago class-heartbeat-control.php 4 months ago class-hide-admin-bar.php 4 months ago class-hide-admin-notices.php 4 months ago class-image-sizes-panel.php 4 months ago class-image-upload-control.php 4 months ago class-insert-head-body-footer-code.php 4 months ago class-last-login-column.php 4 months ago class-limit-login-attempts.php 4 months ago class-login-id-type.php 4 months ago class-login-logout-menu.php 4 months ago class-maintenance-mode.php 4 months ago class-manage-ads-appads-txt.php 4 months ago class-manage-robots-txt.php 4 months ago class-media-files-visibility-control.php 4 months ago class-media-replacement.php 4 months ago class-multiple-user-roles.php 4 months ago class-obfuscate-author-slugs.php 4 months ago class-open-external-links-in-new-tab.php 4 months ago class-password-protection.php 4 months ago class-redirect-after-login.php 4 months ago class-redirect-after-logout.php 4 months ago class-redirect-fourofour.php 4 months ago class-registration-date-column.php 4 months ago class-revisions-control.php 4 months ago class-search-engines-visibility.php 4 months ago class-settings-fields-render.php 4 months ago class-settings-sanitization.php 4 months ago class-settings-sections-fields.php 4 months ago class-show-custom-taxonomy-filters.php 4 months ago class-site-identity-on-login-page.php 4 months ago class-svg-upload.php 4 months ago class-various-admin-ui-enhancements.php 4 months ago class-view-admin-as-role.php 4 months ago class-wider-admin-menu.php 4 months ago class-wp-config-transformer.php 4 months ago
class-activation.php
236 lines
1 <?php
2
3 namespace ASENHA\Classes;
4
5 /**
6 * Plugin Activation
7 *
8 * @since 1.0.0
9 */
10 class Activation {
11
12 /**
13 * Create failed login log table for Limit Login Attempts feature
14 *
15 * @since 2.5.0
16 */
17 public function create_failed_logins_log_table() {
18 global $wpdb;
19
20 // Limit Login Attempts Log Table
21
22 $table_name = $wpdb->prefix . 'asenha_failed_logins';
23
24 if ( ! empty( $wpdb->charset ) ) {
25 $charset_collation_sql = "DEFAULT CHARACTER SET $wpdb->charset";
26 }
27
28 if ( ! empty( $wpdb->collate ) ) {
29 $charset_collation_sql .= " COLLATE $wpdb->collate";
30 }
31
32 // Drop table if already exists
33 $wpdb->query("DROP TABLE IF EXISTS `". $table_name ."`");
34
35 // Create database table. This procedure may also be called
36 $sql =
37 "CREATE TABLE {$table_name} (
38 id int(6) unsigned NOT NULL auto_increment,
39 ip_address varchar(40) NOT NULL DEFAULT '',
40 username varchar(24) NOT NULL DEFAULT '',
41 fail_count int(10) NOT NULL DEFAULT '0',
42 lockout_count int(10) NOT NULL DEFAULT '0',
43 request_uri varchar(24) NOT NULL DEFAULT '',
44 unixtime int(10) NOT NULL DEFAULT '0',
45 datetime_wp varchar(36) NOT NULL DEFAULT '',
46 -- datetime_utc datetime NULL DEFAULT CURRENT_TIMESTAMP,
47 info varchar(64) NOT NULL DEFAULT '',
48 UNIQUE (ip_address),
49 PRIMARY KEY (id)
50 ) {$charset_collation_sql}";
51
52 require_once ABSPATH . '/wp-admin/includes/upgrade.php';
53
54 dbDelta( $sql );
55
56 return true;
57 }
58
59 /**
60 * Create email delivery log table for Email Delivery module
61 *
62 * @since 7.1.0
63 */
64 public function create_email_delivery_log_table() {
65 global $wpdb;
66 $table_name = $wpdb->prefix . 'asenha_email_delivery';
67
68 if ( ! empty( $wpdb->charset ) ) {
69 $charset_collation_sql = "DEFAULT CHARACTER SET $wpdb->charset";
70 }
71
72 if ( ! empty( $wpdb->collate ) ) {
73 $charset_collation_sql .= " COLLATE $wpdb->collate";
74 }
75
76 // Drop table if already exists
77 $wpdb->query("DROP TABLE IF EXISTS `". $table_name ."`");
78
79 // Create database table. This procedure may also be called
80 $sql =
81 "CREATE TABLE {$table_name} (
82 id int(6) unsigned NOT NULL auto_increment,
83 status enum('successful','failed','unknown') NOT NULL DEFAULT 'unknown',
84 error varchar(250) NOT NULL DEFAULT '',
85 subject varchar(250) NOT NULL DEFAULT '',
86 message longtext NOT NULL DEFAULT '',
87 send_to varchar(256) NOT NULL DEFAULT '',
88 sender varchar(256) NOT NULL DEFAULT '',
89 reply_to varchar(256) NOT NULL DEFAULT '',
90 headers text NOT NULL DEFAULT '',
91 content_type text NOT NULL DEFAULT '',
92 attachments text NOT NULL DEFAULT '',
93 backtrace text NOT NULL DEFAULT '',
94 processor text NOT NULL DEFAULT '',
95 sent_on datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
96 sent_on_unixtime int(10) NOT NULL DEFAULT '0',
97 extra longtext NOT NULL DEFAULT '',
98 PRIMARY KEY (id)
99 ) {$charset_collation_sql}";
100
101 require_once ABSPATH . '/wp-admin/includes/upgrade.php';
102
103 dbDelta( $sql );
104
105 return true;
106 }
107
108 /**
109 * Create tables for the Form Builder module
110 *
111 * @since 7.8.0
112 */
113 public function create_form_builder_tables() {
114 global $wpdb;
115
116 if ( ! empty( $wpdb->charset ) ) {
117 $charset_collation_sql = "DEFAULT CHARACTER SET $wpdb->charset";
118 }
119
120 if ( ! empty( $wpdb->collate ) ) {
121 $charset_collation_sql .= " COLLATE $wpdb->collate";
122 }
123
124 require_once ABSPATH . '/wp-admin/includes/upgrade.php';
125
126 $fields_table_name = $wpdb->prefix . 'asenha_formbuilder_fields';
127 $forms_table_name = $wpdb->prefix . 'asenha_formbuilder_forms';
128 $entries_table_name = $wpdb->prefix . 'asenha_formbuilder_entries';
129 $entry_meta_table_name = $wpdb->prefix . 'asenha_formbuilder_entry_meta';
130
131 $sql = "CREATE TABLE {$fields_table_name} (
132 id bigint(20) NOT NULL AUTO_INCREMENT,
133 field_key varchar(100) NULL,
134 name text NULL,
135 description longtext NULL,
136 type text NULL,
137 default_value longtext NULL,
138 options longtext NULL,
139 field_order int(11) DEFAULT 0,
140 required int(1) NULL,
141 field_options longtext NULL,
142 form_id int(11) NULL,
143 created_at datetime NOT NULL,
144 PRIMARY KEY (id),
145 KEY form_id (form_id),
146 UNIQUE KEY field_key (field_key)
147 ) {$charset_collation_sql}";
148
149 dbDelta( $sql );
150
151 $sql = "CREATE TABLE {$forms_table_name} (
152 id int(11) NOT NULL AUTO_INCREMENT,
153 form_key varchar(100) NULL,
154 name varchar(255) NULL,
155 description text NULL,
156 status varchar(255) NULL,
157 options longtext NULL,
158 settings longtext NULL,
159 styles longtext NULL,
160 created_at datetime NOT NULL,
161 PRIMARY KEY (id),
162 UNIQUE KEY form_key (form_key)
163 ) {$charset_collation_sql}";
164
165 dbDelta( $sql );
166
167 $sql = "CREATE TABLE {$entries_table_name} (
168 id bigint(20) NOT NULL AUTO_INCREMENT,
169 ip text NULL,
170 form_id bigint(20) NULL,
171 user_id bigint(20) NULL,
172 delivery_status tinyint(1) DEFAULT 0,
173 status varchar(255) NULL,
174 created_at datetime NOT NULL,
175 PRIMARY KEY (id),
176 KEY form_id (form_id),
177 KEY user_id (user_id)
178 ) {$charset_collation_sql}";
179
180 dbDelta( $sql );
181
182 $sql = "CREATE TABLE {$entry_meta_table_name} (
183 id bigint(20) NOT NULL AUTO_INCREMENT,
184 meta_value longtext NULL,
185 field_id bigint(20) NOT NULL,
186 item_id bigint(20) NOT NULL,
187 created_at datetime NOT NULL,
188 PRIMARY KEY (id),
189 KEY field_id (field_id),
190 KEY item_id (item_id)
191 ) {$charset_collation_sql}";
192
193 dbDelta( $sql );
194
195 return true;
196 }
197
198 /**
199 * Part of Disable Embeds module
200 * Remove embeds rewrite rules on plugin activation.
201 *
202 * @link https://plugins.trac.wordpress.org/browser/disable-embeds/tags/1.5.0/disable-embeds.php#L101
203 * @since 8.0.0
204 */
205 public function disable_embeds_remove_rewrite_rules() {
206 $common_methods = new Common_Methods;
207 add_filter( 'rewrite_rules_array', [ $common_methods, 'disable_embeds_rewrites' ] );
208 flush_rewrite_rules( false );
209 }
210
211 /**
212 * Deferred flush for the Disable Embeds module.
213 * Runs on init (late priority) so all CPTs/taxonomies are already registered.
214 *
215 * @since 8.5.1
216 */
217 public function maybe_flush_disable_embeds_rewrite_rules() {
218 $options = get_option( ASENHA_SLUG_U );
219
220 if ( ! is_array( $options ) ) {
221 return;
222 }
223
224 if ( isset( $options['disable_embeds_flush_rewrite_rules_needed'] )
225 && true === $options['disable_embeds_flush_rewrite_rules_needed']
226 ) {
227 $common_methods = new Common_Methods;
228 add_filter( 'rewrite_rules_array', [ $common_methods, 'disable_embeds_rewrites' ] );
229 flush_rewrite_rules( false );
230
231 $options['disable_embeds_flush_rewrite_rules_needed'] = false;
232 update_option( ASENHA_SLUG_U, $options, true );
233 }
234 }
235
236 }