Social Media Share Buttons & Social Sharing Icons - Version 2.8.0

Version Description

  • Adjusted PHP compatibility
Download this release

Release Info

Developer iclyde
Plugin Icon 128x128 Social Media Share Buttons & Social Sharing Icons
Version 2.8.0
Comparing to
See all releases

Code changes from version 2.7.9 to 2.8.0

Files changed (46) hide show
  1. analyst/main.php +3 -3
  2. analyst/src/Account/Account.php +2 -2
  3. analyst/src/Collector.php +1 -1
  4. analyst/src/Core/AbstractFactory.php +1 -1
  5. analyst/src/Mutator.php +5 -5
  6. analyst/src/helpers.php +19 -93
  7. analyst/templates/forms/deactivate.php +2 -2
  8. analyst/templates/forms/install.php +4 -4
  9. analyst/templates/notice.php +3 -3
  10. analyst/templates/optin.php +0 -3
  11. analyst/templates/optout.php +1 -4
  12. helpers/twitteroauth/twiiterCount.php +0 -0
  13. images/website_theme/animals.png +0 -0
  14. images/website_theme/art-design.png +0 -0
  15. images/website_theme/automotives.png +0 -0
  16. images/website_theme/baseball.png +0 -0
  17. images/website_theme/cat.png +0 -0
  18. images/website_theme/christianity.png +0 -0
  19. images/website_theme/cricket.png +0 -0
  20. images/website_theme/dinosaurs.png +0 -0
  21. images/website_theme/diy.png +0 -0
  22. images/website_theme/fantasy.png +0 -0
  23. images/website_theme/finance.png +0 -0
  24. images/website_theme/fishing.png +0 -0
  25. images/website_theme/flags.png +0 -0
  26. images/website_theme/fruits.png +0 -0
  27. images/website_theme/gaming.png +0 -0
  28. images/website_theme/golf.png +0 -0
  29. images/website_theme/holidays.png +0 -0
  30. images/website_theme/horse.png +0 -0
  31. images/website_theme/hunting.png +0 -0
  32. images/website_theme/love.png +0 -0
  33. images/website_theme/motorsports.png +0 -0
  34. images/website_theme/naturegardening.png +0 -0
  35. images/website_theme/pets.png +0 -0
  36. images/website_theme/photography.png +0 -0
  37. images/website_theme/realestate.png +0 -0
  38. images/website_theme/science.png +0 -0
  39. images/website_theme/scifi.png +0 -0
  40. images/website_theme/sealife.png +0 -0
  41. images/website_theme/shopping.png +0 -0
  42. images/website_theme/theatre.png +0 -0
  43. images/website_theme/toys.png +0 -0
  44. images/website_theme/vegetables.png +0 -0
  45. readme.txt +6 -2
  46. ultimate_social_media_icons.php +2 -2
analyst/main.php CHANGED
@@ -15,7 +15,7 @@ if (!function_exists('analyst_init')) {
15
  try {
16
  analyst_resolve_sdk($options['base-dir']);
17
  } catch (Exception $exception) {
18
- error_log('[ANALYST] Cannot resolve any supported SDK');
19
  return;
20
  }
21
 
@@ -30,7 +30,7 @@ if (!function_exists('analyst_init')) {
30
 
31
  $analyst->registerAccount(new Account\Account($options['client-id'], $options['client-secret'], $options['base-dir']));
32
  } catch (Exception $e) {
33
- error_log('Analyst SDK receive an error: [' . $e->getMessage() . '] Please contact our support at support@analyst.com');
34
  }
35
  }
36
- }
15
  try {
16
  analyst_resolve_sdk($options['base-dir']);
17
  } catch (Exception $exception) {
18
+ // error_log('[ANALYST] Cannot resolve any supported SDK');
19
  return;
20
  }
21
 
30
 
31
  $analyst->registerAccount(new Account\Account($options['client-id'], $options['client-secret'], $options['base-dir']));
32
  } catch (Exception $e) {
33
+ // error_log('Analyst SDK receive an error: [' . $e->getMessage() . '] Please contact our support at support@analyst.com');
34
  }
35
  }
36
+ }
analyst/src/Account/Account.php CHANGED
@@ -243,8 +243,8 @@ class Account implements TrackerContract
243
  {
244
  if (!$this->isAllowingLogging()) return;
245
 
246
- $question = isset($_POST['question']) ? stripslashes($_POST['question']) : null;
247
- $reason = isset($_POST['reason']) ? stripslashes($_POST['reason']) : null;
248
 
249
  DeactivateRequest::make($this->collector, $this->id, $this->path, $question, $reason)
250
  ->execute($this->requestor);
243
  {
244
  if (!$this->isAllowingLogging()) return;
245
 
246
+ $question = isset($_POST['question']) ? sanitize_text_field(stripslashes($_POST['question'])) : null;
247
+ $reason = isset($_POST['reason']) ? sanitize_text_field(stripslashes($_POST['reason'])) : null;
248
 
249
  DeactivateRequest::make($this->collector, $this->id, $this->path, $question, $reason)
250
  ->execute($this->requestor);
analyst/src/Collector.php CHANGED
@@ -153,7 +153,7 @@ class Collector
153
  */
154
  public function getServerIp()
155
  {
156
- return $_SERVER['SERVER_ADDR'];
157
  }
158
 
159
  /**
153
  */
154
  public function getServerIp()
155
  {
156
+ return sanitize_text_field($_SERVER['SERVER_ADDR']);
157
  }
158
 
159
  /**
analyst/src/Core/AbstractFactory.php CHANGED
@@ -12,7 +12,7 @@ abstract class AbstractFactory
12
  */
13
  protected static function unserialize($raw)
14
  {
15
- $instance = @unserialize($raw);
16
 
17
  $isProperObject = is_object($instance) && $instance instanceof static;
18
 
12
  */
13
  protected static function unserialize($raw)
14
  {
15
+ $instance = maybe_unserialize($raw);
16
 
17
  $isProperObject = is_object($instance) && $instance instanceof static;
18
 
analyst/src/Mutator.php CHANGED
@@ -60,10 +60,10 @@ class Mutator
60
 
61
  analyst_require_template('optin.php');
62
 
63
- analyst_require_template('forms/deactivate.php', [
64
- 'pencilImage' => analyst_assets_url('img/pencil.png'),
65
- 'smileImage' => analyst_assets_url('img/smile.png'),
66
- ]);
67
 
68
  analyst_require_template('forms/install.php', [
69
  'pluginToInstall' => $this->cache->get('plugin_to_install'),
@@ -95,7 +95,7 @@ class Mutator
95
  public function registerHooks()
96
  {
97
  add_action('wp_ajax_analyst_notification_dismiss', function () {
98
- $this->factory->remove($_POST['id']);
99
 
100
  $this->factory->sync();
101
  });
60
 
61
  analyst_require_template('optin.php');
62
 
63
+ // analyst_require_template('forms/deactivate.php', [
64
+ // 'pencilImage' => analyst_assets_url('img/pencil.png'),
65
+ // 'smileImage' => analyst_assets_url('img/smile.png'),
66
+ // ]);
67
 
68
  analyst_require_template('forms/install.php', [
69
  'pluginToInstall' => $this->cache->get('plugin_to_install'),
95
  public function registerHooks()
96
  {
97
  add_action('wp_ajax_analyst_notification_dismiss', function () {
98
+ $this->factory->remove(sanitize_text_field($_POST['id']));
99
 
100
  $this->factory->sync();
101
  });
analyst/src/helpers.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if (!function_exists('analyst_assets_path')) {
4
  /**
5
  * Generates path to file in assets folder
6
  *
@@ -16,7 +16,7 @@ if (!function_exists('analyst_assets_path')) {
16
  }
17
 
18
 
19
- if (!function_exists('analyst_assets_url')) {
20
  /**
21
  * Generates url to file in assets folder
22
  *
@@ -32,30 +32,31 @@ if (!function_exists('analyst_assets_url')) {
32
  // of that path to get the content dir AKA directly where
33
  // plugins are installed and make the magic...
34
  $contentDir = is_link(WP_PLUGIN_DIR) ?
35
- dirname(wp_normalize_path(readlink(WP_PLUGIN_DIR))) : dirname(wp_normalize_path(WP_PLUGIN_DIR));
 
36
 
37
- $relativePath = str_replace($contentDir, '', $absolutePath);
38
 
39
  return content_url(wp_normalize_path($relativePath));
40
  }
41
  }
42
 
43
- if (!function_exists('analyst_templates_path')) {
44
- /**
45
- * Generates path to file in templates folder
46
- *
47
- * @param $file
48
- * @return string
49
- */
50
- function analyst_templates_path($file)
51
- {
52
- $path = sprintf('%s/templates/%s', realpath(__DIR__ . '/..'), trim($file, '/'));
53
-
54
- return wp_normalize_path($path);
 
55
  }
56
- }
57
 
58
- if (!function_exists('analyst_require_template')) {
59
  /**
60
  * Require certain template with data
61
  *
@@ -70,78 +71,3 @@ if (!function_exists('analyst_require_template')) {
70
  require analyst_templates_path($file);
71
  }
72
  }
73
-
74
- if (!function_exists('dd')) {
75
- /**
76
- * Dump some data
77
- */
78
- function dd()
79
- {
80
- // var_dump(func_get_args());
81
- die();
82
- }
83
- }
84
-
85
-
86
-
87
- // function sfsi_check_plugin_is_active($dir_slug, $option_name, $site_url)
88
- // {
89
-
90
-
91
- // // var_dump($plugin_list);
92
- // $is_active_gallery_plugin = array();
93
- // foreach ($plugin_list as $key => $plugin) {
94
- // var_dump($plugin);
95
- // $is_active_gallery_plugin[$key] = is_plugin_active($plugin_list);
96
- // }
97
- // if(in_array(true, $is_active_gallery_plugin)){
98
- // return true;
99
- // }
100
- // }
101
-
102
- // function sfsi_check_on_plugin_page($dir_slug, $option_name, $site_url="")
103
- // {
104
- // var_dump('in helper');
105
-
106
- // return is_plugin_active($dir_slug) && isset($_GET) && isset($_GET["page"]) && ($_GET['page']==$option_name);
107
- // }
108
-
109
-
110
- function sfsi_plugin_waiting_time($option)
111
- {
112
-
113
- if (isset($option['show_banner']) && $option['show_banner'] == "no" || isset($option['timestamp']) && !empty($option['timestamp'])) {
114
- $sfsi_banner_timestamp = strtotime($option['timestamp']);
115
- $sfsi_show_banner_timestamp = $sfsi_banner_timestamp + (21 * 24 * 60 * 60);
116
- if (time() >= $sfsi_show_banner_timestamp) {
117
- return true;
118
- }
119
- return false;
120
- }
121
- return false;
122
- }
123
-
124
- function sfsi_wp_img_count()
125
- {
126
- $query_img_args = array(
127
- 'post_type' => 'attachment',
128
- 'post_mime_type' => array(
129
- 'jpg|jpeg|jpe' => 'image/jpeg',
130
- 'gif' => 'image/gif',
131
- 'png' => 'image/png',
132
- ),
133
- 'post_status' => 'inherit',
134
- 'posts_per_page' => -1,
135
- );
136
- $query_img = new WP_Query($query_img_args);
137
- return $query_img->post_count;
138
- }
139
-
140
- function sfsi_check_pinterest_icon_placed()
141
- {
142
- $sfsi_section1 = maybe_unserialize(get_option('sfsi_section1_options', false));
143
- if ($sfsi_section1['sfsi_pinterest_display'] == 'yes') {
144
- return true;
145
- }
146
- return false;
147
- }
1
  <?php
2
 
3
+ if (! function_exists('analyst_assets_path')) {
4
  /**
5
  * Generates path to file in assets folder
6
  *
16
  }
17
 
18
 
19
+ if (! function_exists('analyst_assets_url')) {
20
  /**
21
  * Generates url to file in assets folder
22
  *
32
  // of that path to get the content dir AKA directly where
33
  // plugins are installed and make the magic...
34
  $contentDir = is_link(WP_PLUGIN_DIR) ?
35
+ dirname(wp_normalize_path(readlink(WP_PLUGIN_DIR))) :
36
+ dirname(wp_normalize_path(WP_PLUGIN_DIR));
37
 
38
+ $relativePath = str_replace( $contentDir, '', $absolutePath);
39
 
40
  return content_url(wp_normalize_path($relativePath));
41
  }
42
  }
43
 
44
+ if (! function_exists('analyst_templates_path')) {
45
+ /**
46
+ * Generates path to file in templates folder
47
+ *
48
+ * @param $file
49
+ * @return string
50
+ */
51
+ function analyst_templates_path($file)
52
+ {
53
+ $path = sprintf('%s/templates/%s', realpath(__DIR__ . '/..'), trim($file, '/'));
54
+
55
+ return wp_normalize_path($path);
56
+ }
57
  }
 
58
 
59
+ if (! function_exists('analyst_require_template')) {
60
  /**
61
  * Require certain template with data
62
  *
71
  require analyst_templates_path($file);
72
  }
73
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
analyst/templates/forms/deactivate.php CHANGED
@@ -3,12 +3,12 @@
3
  <div class="analyst-disable-modal-mask" id="analyst-disable-deactivate-modal-mask" style="display: none"></div>
4
  <div style="display: flex">
5
  <div class="analyst-install-image-block" style="width: 80px">
6
- <img src="<?=$pencilImage?>" alt="shield image"/>
7
  </div>
8
  <div class="analyst-install-description-block" style="padding-left: 20px">
9
  <strong class="analyst-modal-header">Why do you deactivate?</strong>
10
  <div class="analyst-install-description-text" style="padding-top: 2px">
11
- Please let us know, so we can improve it! Thank you <img class="analyst-smile-image" src="<?=$smileImage?>" alt="">
12
  </div>
13
  </div>
14
  </div>
3
  <div class="analyst-disable-modal-mask" id="analyst-disable-deactivate-modal-mask" style="display: none"></div>
4
  <div style="display: flex">
5
  <div class="analyst-install-image-block" style="width: 80px">
6
+ <img src="<?php echo $pencilImage; ?>"/>
7
  </div>
8
  <div class="analyst-install-description-block" style="padding-left: 20px">
9
  <strong class="analyst-modal-header">Why do you deactivate?</strong>
10
  <div class="analyst-install-description-text" style="padding-top: 2px">
11
+ Please let us know, so we can improve it! Thank you <img class="analyst-smile-image" src="<?php echo $smileImage; ?>" alt="">
12
  </div>
13
  </div>
14
  </div>
analyst/templates/forms/install.php CHANGED
@@ -1,20 +1,20 @@
1
- <div id="analyst-install-modal" class="analyst-modal" style="display: none" analyst-plugin-id="<?=$pluginToInstall?>">
2
  <div class="analyst-modal-content" style="width: 450px">
3
  <div class="analyst-disable-modal-mask" id="analyst-disable-install-modal-mask" style="display: none"></div>
4
  <div style="display: flex">
5
  <div class="analyst-install-image-block">
6
- <img src="<?=$shieldImage?>" alt="shield image"/>
7
  </div>
8
  <div class="analyst-install-description-block">
9
  <strong class="analyst-modal-header">Stay on the safe side</strong>
10
  <p class="analyst-install-description-text">Receive our plugin’s alerts in
11
- case of <strong>critical security</strong> & feature
12
  updates and allow non-sensitive
13
  diagnostic tracking.</p>
14
  </div>
15
  </div>
16
  <div class="analyst-modal-def-top-padding">
17
- <button class="analyst-btn-success" id="analyst-install-action">Allow & Continue ></button>
18
  </div>
19
  <div class="analyst-modal-def-top-padding" id="analyst-permissions-block" style="display: none">
20
  <span>You’re granting these permissions:</span>
1
+ <div id="analyst-install-modal" class="analyst-modal" style="display: none" analyst-plugin-id="<?php echo $pluginToInstall; ?>">
2
  <div class="analyst-modal-content" style="width: 450px">
3
  <div class="analyst-disable-modal-mask" id="analyst-disable-install-modal-mask" style="display: none"></div>
4
  <div style="display: flex">
5
  <div class="analyst-install-image-block">
6
+ <img src="<?php echo $shieldImage; ?>"/>
7
  </div>
8
  <div class="analyst-install-description-block">
9
  <strong class="analyst-modal-header">Stay on the safe side</strong>
10
  <p class="analyst-install-description-text">Receive our plugin’s alerts in
11
+ case of <strong>critical security</strong>, feature & special deal
12
  updates and allow non-sensitive
13
  diagnostic tracking.</p>
14
  </div>
15
  </div>
16
  <div class="analyst-modal-def-top-padding">
17
+ <button class="analyst-btn-success" id="analyst-install-action">Allow & Continue &lt;</button>
18
  </div>
19
  <div class="analyst-modal-def-top-padding" id="analyst-permissions-block" style="display: none">
20
  <span>You’re granting these permissions:</span>
analyst/templates/notice.php CHANGED
@@ -1,10 +1,10 @@
1
  <div class="notice notice-success analyst-notice">
2
  <p>
3
- <strong class="analyst-plugin-name"><?=$notice->getPluginName()?></strong>
4
- <?=$notice->getBody()?>
5
  </p>
6
 
7
- <button type="button" class="analyst-notice-dismiss notice-dismiss" analyst-notice-id="<?=$notice->getId()?>">
8
  <span class="screen-reader-text">Dismiss this notice.</span>
9
  </button>
10
  </div>
1
  <div class="notice notice-success analyst-notice">
2
  <p>
3
+ <strong class="analyst-plugin-name"><?php echo $notice->getPluginName(); ?></strong>
4
+ <?php echo $notice->getBody(); ?>
5
  </p>
6
 
7
+ <button type="button" class="analyst-notice-dismiss notice-dismiss" analyst-notice-id="<?php echo $notice->getId(); ?>">
8
  <span class="screen-reader-text">Dismiss this notice.</span>
9
  </button>
10
  </div>
analyst/templates/optin.php CHANGED
@@ -1,6 +1,3 @@
1
- <?php
2
- defined( 'ABSPATH' ) || exit;
3
- ?>
4
  <script type="text/javascript">
5
 
6
  (function ($) {
 
 
 
1
  <script type="text/javascript">
2
 
3
  (function ($) {
analyst/templates/optout.php CHANGED
@@ -1,12 +1,9 @@
1
- <?php
2
- defined( 'ABSPATH' ) || exit;
3
- ?>
4
  <div id="analyst-opt-out-modal" class="analyst-modal" style="display: none">
5
  <div class="analyst-modal-content" style="width: 600px">
6
  <div class="analyst-disable-modal-mask" id="analyst-disable-opt-out-modal-mask" style="display: none"></div>
7
  <div style="display: flex">
8
  <div class="analyst-install-image-block" style="width: 120px">
9
- <img src="<?php echo $shieldImage; ?>" alt="shield image"/>
10
  </div>
11
  <div class="analyst-install-description-block">
12
  <strong class="analyst-modal-header">By opting out, we cannot alert you anymore in case of important security updates.</strong>
 
 
 
1
  <div id="analyst-opt-out-modal" class="analyst-modal" style="display: none">
2
  <div class="analyst-modal-content" style="width: 600px">
3
  <div class="analyst-disable-modal-mask" id="analyst-disable-opt-out-modal-mask" style="display: none"></div>
4
  <div style="display: flex">
5
  <div class="analyst-install-image-block" style="width: 120px">
6
+ <img src="<?php echo $shieldImage; ?>"/>
7
  </div>
8
  <div class="analyst-install-description-block">
9
  <strong class="analyst-modal-header">By opting out, we cannot alert you anymore in case of important security updates.</strong>
helpers/twitteroauth/twiiterCount.php CHANGED
File without changes
images/website_theme/animals.png CHANGED
File without changes
images/website_theme/art-design.png CHANGED
File without changes
images/website_theme/automotives.png CHANGED
File without changes
images/website_theme/baseball.png CHANGED
File without changes
images/website_theme/cat.png CHANGED
File without changes
images/website_theme/christianity.png CHANGED
File without changes
images/website_theme/cricket.png CHANGED
File without changes
images/website_theme/dinosaurs.png CHANGED
File without changes
images/website_theme/diy.png CHANGED
File without changes
images/website_theme/fantasy.png CHANGED
File without changes
images/website_theme/finance.png CHANGED
File without changes
images/website_theme/fishing.png CHANGED
File without changes
images/website_theme/flags.png CHANGED
File without changes
images/website_theme/fruits.png CHANGED
File without changes
images/website_theme/gaming.png CHANGED
File without changes
images/website_theme/golf.png CHANGED
File without changes
images/website_theme/holidays.png CHANGED
File without changes
images/website_theme/horse.png CHANGED
File without changes
images/website_theme/hunting.png CHANGED
File without changes
images/website_theme/love.png CHANGED
File without changes
images/website_theme/motorsports.png CHANGED
File without changes
images/website_theme/naturegardening.png CHANGED
File without changes
images/website_theme/pets.png CHANGED
File without changes
images/website_theme/photography.png CHANGED
File without changes
images/website_theme/realestate.png CHANGED
File without changes
images/website_theme/science.png CHANGED
File without changes
images/website_theme/scifi.png CHANGED
File without changes
images/website_theme/sealife.png CHANGED
File without changes
images/website_theme/shopping.png CHANGED
File without changes
images/website_theme/theatre.png CHANGED
File without changes
images/website_theme/toys.png CHANGED
File without changes
images/website_theme/vegetables.png CHANGED
File without changes
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: socialdude, socialtech
3
  Tags: share, social, share icons, social media, widget, sharing icons, sharing buttons, social share, sharing
4
  Requires at least: 3.5
5
  Tested up to: 6.1.1
6
- Stable tag: 2.7.9
7
  License: GPLv2
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -302,6 +302,9 @@ It depends on which language you speak :) however probably the answer is “yes
302
 
303
  == Changelog ==
304
 
 
 
 
305
  = 2.7.9 =
306
  * Added black-friday theme (only for that period)
307
  * Tested up to WordPress 6.1.1
@@ -1087,6 +1090,7 @@ It depends on which language you speak :) however probably the answer is “yes
1087
 
1088
  == Upgrade Notice ==
1089
 
1090
- = 2.7.9 =
1091
  * Added black-friday theme (only for that period)
1092
  * Tested up to WordPress 6.1.1
 
3
  Tags: share, social, share icons, social media, widget, sharing icons, sharing buttons, social share, sharing
4
  Requires at least: 3.5
5
  Tested up to: 6.1.1
6
+ Stable tag: 2.8.0
7
  License: GPLv2
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
302
 
303
  == Changelog ==
304
 
305
+ = 2.8.0 =
306
+ * Adjusted PHP compatibility
307
+
308
  = 2.7.9 =
309
  * Added black-friday theme (only for that period)
310
  * Tested up to WordPress 6.1.1
1090
 
1091
  == Upgrade Notice ==
1092
 
1093
+ = 2.8.0 =
1094
  * Added black-friday theme (only for that period)
1095
  * Tested up to WordPress 6.1.1
1096
+ * Adjusted PHP compatibility
ultimate_social_media_icons.php CHANGED
@@ -7,7 +7,7 @@ Author: UltimatelySocial
7
  Author URI: http://ultimatelysocial.com
8
  Text Domain: ultimate-social-media-icons
9
  Domain Path: /languages
10
- Version: 2.7.9
11
  License: GPLv2 or later
12
  */
13
  require_once 'analyst/main.php';
@@ -23,7 +23,7 @@ sfsi_error_reporting();
23
 
24
  global $wpdb;
25
  /* define the Root for URL and Document */
26
- define( 'SFSI_PLUGIN_VERSION', '2.7.9' );
27
  define( 'SFSI_DOCROOT', dirname( __FILE__ ) );
28
 
29
  define( 'SFSI_PLUGURL', plugin_dir_url( __FILE__ ) );
7
  Author URI: http://ultimatelysocial.com
8
  Text Domain: ultimate-social-media-icons
9
  Domain Path: /languages
10
+ Version: 2.8.0
11
  License: GPLv2 or later
12
  */
13
  require_once 'analyst/main.php';
23
 
24
  global $wpdb;
25
  /* define the Root for URL and Document */
26
+ define( 'SFSI_PLUGIN_VERSION', '2.8.0' );
27
  define( 'SFSI_DOCROOT', dirname( __FILE__ ) );
28
 
29
  define( 'SFSI_PLUGURL', plugin_dir_url( __FILE__ ) );