Simple Author Box - Version 2.1.5

Version Description

  • Remove uninstall feedback.
Download this release

Release Info

Developer machothemes
Plugin Icon 128x128 Simple Author Box
Version 2.1.5
Comparing to
See all releases

Code changes from version 2.1.4 to 2.1.5

inc/feedback/class-epsilon-feedback-sab.php DELETED
@@ -1,286 +0,0 @@
1
- <?php
2
-
3
- class Epsilon_Feedback_SAB {
4
-
5
- private $plugin_file = '';
6
- private $plugin_name = '';
7
-
8
- function __construct( $_plugin_file ) {
9
-
10
- $this->plugin_file = $_plugin_file;
11
- $this->plugin_name = basename( $this->plugin_file, '.php' );
12
-
13
- // Deactivation
14
- add_filter(
15
- 'plugin_action_links_' . plugin_basename( $this->plugin_file ), array(
16
- $this,
17
- 'filter_action_links',
18
- )
19
- );
20
- add_action( 'admin_footer-plugins.php', array( $this, 'goodbye_ajax' ) );
21
- add_action( 'wp_ajax_epsilon_deactivate_plugin', array( $this, 'epsilon_deactivate_plugin_callback' ) );
22
-
23
- }
24
-
25
- /**
26
- * Filter the deactivation link to allow us to present a form when the user deactivates the plugin
27
- *
28
- * @since 1.0.0
29
- */
30
- public function filter_action_links( $links ) {
31
-
32
- if ( isset( $links['deactivate'] ) ) {
33
- $deactivation_link = $links['deactivate'];
34
- // Insert an onClick action to allow form before deactivating
35
- $deactivation_link = str_replace( '<a ', '<div class="epsilon-deactivate-form-wrapper"><span class="epsilon-deactivate-form" id="epsilon-deactivate-form-' . esc_attr( $this->plugin_name ) . '"></span></div><a onclick="javascript:event.preventDefault();" id="epsilon-deactivate-link-' . esc_attr( $this->plugin_name ) . '" ', $deactivation_link );
36
- $links['deactivate'] = $deactivation_link;
37
- }
38
-
39
- return $links;
40
- }
41
-
42
- /**
43
- * Form text strings
44
- * These can be filtered
45
- *
46
- * @since 1.0.0
47
- */
48
- public function goodbye_ajax() {
49
- // Get our strings for the form
50
- $form = $this->get_form_info();
51
-
52
- // Build the HTML to go in the form
53
- $html = '<div class="epsilon-deactivate-form-head"><strong>' . esc_html( $form['heading'] ) . '</strong></div>';
54
- $html .= '<div class="epsilon-deactivate-form-body"><p>' . esc_html( $form['body'] ) . '</p>';
55
- if ( is_array( $form['options'] ) ) {
56
- $html .= '<div class="epsilon-deactivate-options"><p>';
57
- foreach ( $form['options'] as $key => $option ) {
58
- if ( 'features' == $key ) {
59
- $html .= '<input type="radio" name="epsilon-deactivate-reason" checked="checked" id="' . esc_attr( $key ) . '" value="' . esc_attr( $key ) . '"> <label for="' . esc_attr( $key ) . '">' . esc_attr( $option ) . '</label><br>';
60
- } else {
61
- $html .= '<input type="radio" name="epsilon-deactivate-reason" id="' . esc_attr( $key ) . '" value="' . esc_attr( $key ) . '"> <label for="' . esc_attr( $key ) . '">' . esc_attr( $option ) . '</label><br>';
62
- }
63
- }
64
- $html .= '</p><label id="epsilon-deactivate-details-label" for="epsilon-deactivate-reasons"><strong>' . esc_html( $form['details'] ) . '</strong></label><textarea name="epsilon-deactivate-details" id="epsilon-deactivate-details" rows="2" style="width:100%"></textarea>';
65
- $html .= '<input type="checkbox" name="epsilon-deactivate-tracking" checked="" id="allow-tracking" value="yes"> <label for="allow-tracking">' . esc_html__( 'Allow us to get more information in order to improve our plugin', 'saboxplugin' ) . '</label><br>';
66
- $html .= '</div><!-- .epsilon-deactivate-options -->';
67
- }
68
- $html .= '</div><!-- .epsilon-deactivate-form-body -->';
69
- $html .= '<p class="deactivating-spinner"><span class="spinner"></span> ' . __( 'Submitting form', 'saboxplugin' ) . '</p>';
70
- $html .= '<div class="epsilon-deactivate-form-footer"><p><a id="epsilon-deactivate-plugin" href="#">' . __( 'Just Deactivate', 'saboxplugin' ) . '</a><a id="epsilon-deactivate-submit-form" class="button button-primary" href="#">' . __( 'Submit and Deactivate', 'saboxplugin' ) . '</a></p></div>'
71
- ?>
72
- <div class="epsilon-deactivate-form-bg"></div>
73
- <style type="text/css">
74
- .epsilon-deactivate-form-active .epsilon-deactivate-form-bg {
75
- background: rgba(0, 0, 0, .5);
76
- position: fixed;
77
- top: 0;
78
- left: 0;
79
- width: 100%;
80
- height: 100%;
81
- }
82
-
83
- .epsilon-deactivate-form-wrapper {
84
- position: relative;
85
- z-index: 999;
86
- display: none;
87
- }
88
-
89
- .epsilon-deactivate-form-active .epsilon-deactivate-form-wrapper {
90
- display: block;
91
- }
92
-
93
- .epsilon-deactivate-form {
94
- display: none;
95
- }
96
-
97
- .epsilon-deactivate-form-active .epsilon-deactivate-form {
98
- position: absolute;
99
- bottom: 30px;
100
- left: 0;
101
- max-width: 400px;
102
- background: #fff;
103
- white-space: normal;
104
- }
105
-
106
- .epsilon-deactivate-form-head {
107
- background: #272754;
108
- color: #fff;
109
- padding: 8px 18px;
110
- }
111
-
112
- .epsilon-deactivate-form-body {
113
- padding: 8px 18px;
114
- color: #444;
115
- }
116
-
117
- .deactivating-spinner {
118
- display: none;
119
- }
120
-
121
- .deactivating-spinner .spinner {
122
- float: none;
123
- margin: 4px 4px 0 18px;
124
- vertical-align: bottom;
125
- visibility: visible;
126
- }
127
-
128
- .epsilon-deactivate-form-footer {
129
- padding: 8px 18px;
130
- }
131
-
132
- .epsilon-deactivate-form-footer p {
133
- display: flex;
134
- align-items: center;
135
- justify-content: space-between;
136
- }
137
-
138
- .epsilon-deactivate-form.process-response .epsilon-deactivate-form-body,
139
- .epsilon-deactivate-form.process-response .epsilon-deactivate-form-footer {
140
- position: relative;
141
- }
142
-
143
- .epsilon-deactivate-form.process-response .epsilon-deactivate-form-body:after,
144
- .epsilon-deactivate-form.process-response .epsilon-deactivate-form-footer:after {
145
- content: "";
146
- display: block;
147
- position: absolute;
148
- top: 0;
149
- left: 0;
150
- width: 100%;
151
- height: 100%;
152
- background-color: rgba(255, 255, 255, .5);
153
- }
154
- </style>
155
- <script>
156
- jQuery( document ).ready( function( $ ) {
157
- var deactivateURL = $( "#epsilon-deactivate-link-<?php echo esc_attr( $this->plugin_name ); ?>" ),
158
- formContainer = $( '#epsilon-deactivate-form-<?php echo esc_attr( $this->plugin_name ); ?>' ),
159
- detailsStrings = {
160
- 'setup': '<?php echo __( 'What was the dificult part ?', 'saboxplugin' ); ?>',
161
- 'documentation': '<?php echo __( 'What can we describe more ?', 'saboxplugin' ); ?>',
162
- 'features': '<?php echo __( 'How could we improve ?', 'saboxplugin' ); ?>',
163
- 'better-plugin': '<?php echo __( 'Can you mention it ?', 'saboxplugin' ); ?>',
164
- 'incompatibility': '<?php echo __( 'With what plugin or theme is incompatible ?', 'saboxplugin' ); ?>',
165
- };
166
-
167
- $( deactivateURL ).on( "click", function() {
168
- // We'll send the user to this deactivation link when they've completed or dismissed the form
169
- var url = deactivateURL.attr( 'href' );
170
- $( 'body' ).toggleClass( 'epsilon-deactivate-form-active' );
171
- formContainer.fadeIn( {
172
- complete: function() {
173
- var offset = formContainer.offset();
174
- if( offset.top < 50 ) {
175
- $(this).parent().css('top', (50 - offset.top) + 'px')
176
- }
177
- $( 'body' ).animate( { scrollTop: Math.max( 0, offset.top - 50 ) } );
178
- }
179
- } );
180
- formContainer.html( '<?php echo $html; ?>' );
181
-
182
- formContainer.on( 'change', 'input[name="epsilon-deactivate-reason"]', function() {
183
- var detailsLabel = formContainer.find( '#epsilon-deactivate-details-label strong' );
184
- var value = formContainer.find( 'input[name="epsilon-deactivate-reason"]:checked' ).val();
185
- detailsLabel.text( detailsStrings[ value ] );
186
- } );
187
-
188
- formContainer.on( 'click', '#epsilon-deactivate-submit-form', function( e ) {
189
- var data = {
190
- 'action': 'epsilon_deactivate_plugin',
191
- 'security': "<?php echo wp_create_nonce( 'epsilon_deactivate_plugin' ); ?>",
192
- 'dataType': "json"
193
- };
194
- e.preventDefault();
195
- // As soon as we click, the body of the form should disappear
196
- formContainer.addClass( 'process-response' );
197
- // Fade in spinner
198
- formContainer.find( ".deactivating-spinner" ).fadeIn();
199
-
200
- data[ 'reason' ] = formContainer.find( 'input[name="epsilon-deactivate-reason"]:checked' ).val();
201
- data[ 'details' ] = formContainer.find( '#epsilon-deactivate-details' ).val();
202
- data[ 'tracking' ] = formContainer.find( '#allow-tracking:checked' ).length;
203
-
204
- $.post(
205
- ajaxurl,
206
- data,
207
- function( response ) {
208
- // Redirect to original deactivation URL
209
- window.location.href = url;
210
- }
211
- );
212
- } );
213
-
214
- formContainer.on( 'click', '#epsilon-deactivate-plugin', function( e ) {
215
- e.preventDefault();
216
- window.location.href = url;
217
- } );
218
-
219
- // If we click outside the form, the form will close
220
- $( '.epsilon-deactivate-form-bg' ).on( 'click', function() {
221
- formContainer.fadeOut();
222
- $( 'body' ).removeClass( 'epsilon-deactivate-form-active' );
223
- } );
224
- } );
225
- } );
226
- </script>
227
- <?php
228
- }
229
-
230
- /*
231
- * Form text strings
232
- * These are non-filterable and used as fallback in case filtered strings aren't set correctly
233
- * @since 1.0.0
234
- */
235
- public function get_form_info() {
236
- $form = array();
237
- $form['heading'] = __( 'Sorry to see you go', 'saboxplugin' );
238
- $form['body'] = __( 'Before you deactivate the plugin, would you quickly give us your reason for doing so?', 'saboxplugin' );
239
- $form['options'] = array(
240
- 'setup' => __( 'Set up is too difficult', 'saboxplugin' ),
241
- 'documentation' => __( 'Lack of documentation', 'saboxplugin' ),
242
- 'features' => __( 'Not the features I wanted', 'saboxplugin' ),
243
- 'better-plugin' => __( 'Found a better plugin', 'saboxplugin' ),
244
- 'incompatibility' => __( 'Incompatible with theme or plugin', 'saboxplugin' ),
245
- );
246
- $form['details'] = __( 'How could we improve ?', 'saboxplugin' );
247
-
248
- return $form;
249
- }
250
-
251
- public function epsilon_deactivate_plugin_callback() {
252
-
253
- check_ajax_referer( 'epsilon_deactivate_plugin', 'security' );
254
-
255
- if ( isset( $_POST['reason'] ) && isset( $_POST['details'] ) && isset( $_POST['tracking'] ) ) {
256
- require_once 'class-epsilon-plugin-request-sab.php';
257
- $args = array(
258
- 'reason' => $_POST['reason'],
259
- 'details' => $_POST['details'],
260
- 'tracking' => $_POST['tracking'],
261
- );
262
- $request = new Epsilon_Plugin_Request_SAB( $this->plugin_file, $args );
263
- if ( $request->request_successful ) {
264
- echo json_encode(
265
- array(
266
- 'status' => 'ok',
267
- )
268
- );
269
- } else {
270
- echo json_encode(
271
- array(
272
- 'status' => 'nok',
273
- )
274
- );
275
- }
276
- } else {
277
- echo json_encode(
278
- array(
279
- 'status' => 'ok',
280
- )
281
- );
282
- }
283
-
284
- die();
285
- }
286
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/feedback/class-epsilon-plugin-request-sab.php DELETED
@@ -1,227 +0,0 @@
1
- <?php
2
-
3
- class Epsilon_Plugin_Request_SAB {
4
-
5
- /**
6
- * Url for the request
7
- *
8
- * @var string
9
- */
10
- private $url = 'https://tamewp.com/';
11
- /**
12
- * Api endpoint
13
- *
14
- * @var string
15
- */
16
- private $endpoint = 'wp-json/epsilon/v1/add-tracking-data';
17
- /**
18
- * Private data
19
- *
20
- * @var array
21
- */
22
- private $data = array(
23
- 'server' => array(),
24
- 'user' => array(),
25
- 'wordpress' => array(
26
- 'deactivated_plugin' => array(),
27
- ),
28
- );
29
- /**
30
- * Plugin file
31
- *
32
- * @var string
33
- */
34
- private $plugin_file = '';
35
-
36
- private $allow_tracking = 0;
37
-
38
- public $request_successful = false;
39
-
40
- function __construct( $_plugin_file, $args ) {
41
-
42
- // Set variables
43
- $this->allow_tracking = $args['tracking'];
44
- $this->plugin_file = $_plugin_file;
45
- $this->data['unique'] = md5( home_url() . get_bloginfo( 'admin_email' ) );
46
- $this->data['wordpress']['deactivated_plugin']['uninstall_reason'] = $args['reason'];
47
- $this->data['wordpress']['deactivated_plugin']['uninstall_details'] = $args['details'];
48
-
49
- // Start collecting data
50
- $this->_collect_data();
51
- $this->_generate_url();
52
- $this->request_successful = $this->_send_request();
53
- }
54
-
55
- /**
56
- * Collect all data for the request.
57
- *
58
- */
59
- private function _collect_data() {
60
-
61
- $current_plugin = get_plugin_data( $this->plugin_file );
62
-
63
- // Plugin data
64
- $this->data['wordpress']['deactivated_plugin']['slug'] = $current_plugin['TextDomain'];
65
- $this->data['wordpress']['deactivated_plugin']['name'] = $current_plugin['Name'];
66
- $this->data['wordpress']['deactivated_plugin']['version'] = $current_plugin['Version'];
67
- $this->data['wordpress']['deactivated_plugin']['author'] = $current_plugin['AuthorName'];
68
-
69
- if ( $this->allow_tracking ) {
70
- $this->_collect_wordpress_data();
71
- $this->_collect_server_data();
72
- $this->_collect_user_data();
73
- }
74
-
75
- }
76
-
77
- /**
78
- * Collect WordPress data.
79
- *
80
- */
81
- private function _collect_wordpress_data() {
82
- $this->data['wordpress']['locale'] = ( get_bloginfo( 'version' ) >= 4.7 ) ? get_user_locale() : get_locale();
83
- $this->data['wordpress']['wp_version'] = get_bloginfo( 'version' );
84
- $this->data['wordpress']['multisite'] = is_multisite();
85
-
86
- $this->data['wordpress']['themes'] = $this->get_themes();
87
- $this->data['wordpress']['plugins'] = $this->get_plugins();
88
- }
89
-
90
- /**
91
- * Collect server data.
92
- *
93
- */
94
- private function _collect_server_data() {
95
- $this->data['server']['server'] = isset( $_SERVER['SERVER_SOFTWARE'] ) ? $_SERVER['SERVER_SOFTWARE'] : '';
96
- $this->data['server']['php_version'] = phpversion();
97
- $this->data['server']['url'] = home_url();
98
- }
99
-
100
- /**
101
- * Collect user data.
102
- *
103
- */
104
- private function _collect_user_data() {
105
- $admin = get_user_by( 'email', get_bloginfo( 'admin_email' ) );
106
- if ( ! $admin ) {
107
- $this->data['user']['email'] = '';
108
- $this->data['user']['first_name'] = '';
109
- $this->data['user']['last_name'] = '';
110
- } else {
111
- $this->data['user']['email'] = get_bloginfo( 'admin_email' );
112
- $this->data['user']['first_name'] = $admin->first_name;
113
- $this->data['user']['last_name'] = $admin->last_name;
114
- }
115
- }
116
-
117
- /**
118
- * Get current themes
119
- *
120
- * @return array
121
- */
122
- private function get_themes() {
123
- $theme = wp_get_theme();
124
-
125
- return array(
126
- 'installed' => $this->_get_installed_themes(),
127
- 'active' => array(
128
- 'slug' => get_stylesheet(),
129
- 'name' => $theme->get( 'Name' ),
130
- 'version' => $theme->get( 'Version' ),
131
- 'author' => $theme->get( 'Author' ),
132
- ),
133
- );
134
- }
135
-
136
- /**
137
- * Get an array of installed themes
138
- */
139
- private function _get_installed_themes() {
140
- $installed = wp_get_themes();
141
- $theme = get_stylesheet();
142
- $arr = array();
143
-
144
- foreach ( $installed as $slug => $info ) {
145
- if ( $slug === $theme ) {
146
- continue;
147
- }
148
- $arr[ $slug ] = array(
149
- 'slug' => $slug,
150
- 'name' => $info->get( 'Name' ),
151
- 'version' => $info->get( 'Version' ),
152
- 'author' => $info->get( 'Author' ),
153
- );
154
- };
155
-
156
- return $arr;
157
- }
158
-
159
- /**
160
- * Get a list of installed plugins
161
- */
162
- private function get_plugins() {
163
- if ( ! function_exists( 'get_plugins' ) ) {
164
- include ABSPATH . '/wp-admin/includes/plugin.php';
165
- }
166
-
167
- $plugins = get_plugins();
168
- $option = get_option( 'active_plugins', array() );
169
- $active = array();
170
- $installed = array();
171
- foreach ( $plugins as $id => $info ) {
172
- if ( in_array( $id, $active ) ) {
173
- continue;
174
- }
175
-
176
- $id = explode( '/', $id );
177
- $id = ucwords( str_replace( '-', ' ', $id[0] ) );
178
-
179
- $installed[] = $id;
180
- }
181
-
182
- foreach ( $option as $id ) {
183
- $id = explode( '/', $id );
184
- $id = ucwords( str_replace( '-', ' ', $id[0] ) );
185
-
186
- $active[] = $id;
187
- }
188
-
189
- return array(
190
- 'installed' => $installed,
191
- 'active' => $active,
192
- );
193
- }
194
-
195
- /**
196
- * Generate the url
197
- */
198
- protected function _generate_url() {
199
- $this->url = $this->url . $this->endpoint;
200
- }
201
-
202
- /**
203
- * Send dat to server.
204
- *
205
- */
206
- private function _send_request() {
207
-
208
- $request = wp_remote_post(
209
- $this->url, array(
210
- 'method' => 'POST',
211
- 'timeout' => 20,
212
- 'redirection' => 5,
213
- 'httpversion' => '1.1',
214
- 'blocking' => true,
215
- 'body' => $this->data,
216
- 'user-agent' => 'MT/EPSILON-CUSTOMER-TRACKING/' . esc_url( home_url() ),
217
- )
218
- );
219
-
220
- if ( is_wp_error( $request ) ) {
221
- return false;
222
- }
223
-
224
- return true;
225
-
226
- }
227
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: machothemes, silkalns
3
  Tags: author box, responsive author box, author profile fields, author social icons, profile fields, author bio, author description, author profile, user profile, post author, rtl author box, amp, accelerated mobile pages
4
  Requires at least: 4.6
5
  Requires PHP: 5.6
6
- Tested up to: 4.9
7
- Stable tag: 2.1.4
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -100,6 +100,9 @@ Or you can give back by recommending this amazing plugin to your friends!
100
 
101
  == Changelog ==
102
 
 
 
 
103
  = 2.1.4 =
104
  * Added WhatsApp Social Media Link.
105
 
3
  Tags: author box, responsive author box, author profile fields, author social icons, profile fields, author bio, author description, author profile, user profile, post author, rtl author box, amp, accelerated mobile pages
4
  Requires at least: 4.6
5
  Requires PHP: 5.6
6
+ Tested up to: 5.0
7
+ Stable tag: 2.1.5
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
100
 
101
  == Changelog ==
102
 
103
+ = 2.1.5 =
104
+ * Remove uninstall feedback.
105
+
106
  = 2.1.4 =
107
  * Added WhatsApp Social Media Link.
108
 
simple-author-box.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Simple Author Box
4
  * Plugin URI: http://wordpress.org/plugins/simple-author-box/
5
  * Description: Adds a responsive author box with social icons on your posts.
6
- * Version: 2.1.4
7
  * Author: Macho Themes
8
  * Author URI: https://www.machothemes.com/
9
  * License: GPLv3
@@ -30,13 +30,9 @@
30
  define( 'SIMPLE_AUTHOR_BOX_PATH', plugin_dir_path( __FILE__ ) );
31
  define( 'SIMPLE_AUTHOR_BOX_ASSETS', plugins_url( '/assets/', __FILE__ ) );
32
  define( 'SIMPLE_AUTHOR_BOX_SLUG', plugin_basename( __FILE__ ) );
33
- define( 'SIMPLE_AUTHOR_BOX_VERSION', '2.1.4' );
34
  define( 'SIMPLE_AUTHOR_SCRIPT_DEBUG', false );
35
 
36
 
37
  require_once SIMPLE_AUTHOR_BOX_PATH . 'inc/class-simple-author-box.php';
38
  Simple_Author_Box::get_instance();
39
-
40
- // load the uninstall feedback class
41
- require_once 'inc/feedback/class-epsilon-feedback-sab.php';
42
- new Epsilon_Feedback_SAB( __FILE__ );
3
  * Plugin Name: Simple Author Box
4
  * Plugin URI: http://wordpress.org/plugins/simple-author-box/
5
  * Description: Adds a responsive author box with social icons on your posts.
6
+ * Version: 2.1.5
7
  * Author: Macho Themes
8
  * Author URI: https://www.machothemes.com/
9
  * License: GPLv3
30
  define( 'SIMPLE_AUTHOR_BOX_PATH', plugin_dir_path( __FILE__ ) );
31
  define( 'SIMPLE_AUTHOR_BOX_ASSETS', plugins_url( '/assets/', __FILE__ ) );
32
  define( 'SIMPLE_AUTHOR_BOX_SLUG', plugin_basename( __FILE__ ) );
33
+ define( 'SIMPLE_AUTHOR_BOX_VERSION', '2.1.5' );
34
  define( 'SIMPLE_AUTHOR_SCRIPT_DEBUG', false );
35
 
36
 
37
  require_once SIMPLE_AUTHOR_BOX_PATH . 'inc/class-simple-author-box.php';
38
  Simple_Author_Box::get_instance();