WD Instagram Feed – Instagram Gallery - Version 1.2.3

Version Description

Change: WD library updated to version 1.0.11
Fixed: Error message when editing feed and token is expired

Download this release

Release Info

Developer webdorado
Plugin Icon 128x128 WD Instagram Feed – Instagram Gallery
Version 1.2.3
Comparing to
See all releases

Code changes from version 1.2.2 to 1.2.3

js/wdi_admin.js CHANGED
@@ -396,9 +396,13 @@ wdi_controller.makeInstagramUserRequest = function(user_input, ignoreConfirm) {
396
 
397
  //contains information about response such as error messages and if
398
  //response is valid or not
399
- var vObj = _this.isValidResponse(response),
 
 
 
 
400
  //this is the user object we are searching for, of user does not exists then it is false
401
- user = _this.findUser(user_input, response);
402
  if (vObj.valid && _this.hasData(response) && user) {
403
  _this.addUser(user);
404
 
396
 
397
  //contains information about response such as error messages and if
398
  //response is valid or not
399
+ var vObj = _this.isValidResponse(response);
400
+ if(vObj.valid == false){
401
+ alert(vObj.msg);
402
+ return;
403
+ }
404
  //this is the user object we are searching for, of user does not exists then it is false
405
+ var user = _this.findUser(user_input, response);
406
  if (vObj.valid && _this.hasData(response) && user) {
407
  _this.addUser(user);
408
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://web-dorado.com/products/wordpress-instagram-feed-wd.html
4
  Tags: custom instagram feed, feed, instagram, hashtag, Instagram feed, instagram gallery, instagram posts, Instagram images, Instagram photos, lightbox, photos,instagram account
5
  Requires at least: 3.9
6
  Tested up to: 4.8
7
- Stable tag: 1.2.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -110,6 +110,10 @@ After downloading the ZIP file of the Instagram Feed WD plugin,
110
 
111
  == Changelog ==
112
 
 
 
 
 
113
  = 1.2.2 =
114
  New: Redirection to custom URL
115
 
4
  Tags: custom instagram feed, feed, instagram, hashtag, Instagram feed, instagram gallery, instagram posts, Instagram images, Instagram photos, lightbox, photos,instagram account
5
  Requires at least: 3.9
6
  Tested up to: 4.8
7
+ Stable tag: 1.2.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
110
 
111
  == Changelog ==
112
 
113
+ = 1.2.3 =
114
+ Change: WD library updated to version 1.0.11
115
+ Fixed: Error message when editing feed and token is expired
116
+
117
  = 1.2.2 =
118
  New: Redirection to custom URL
119
 
wd-instagram-feed.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Instagram Feed WD
4
  Plugin URI: https://web-dorado.com/products/wordpress-instagram-feed-wd.html
5
  Description: WD Instagram Feed is a user-friendly tool for displaying user or hashtag-based feeds on your website. You can create feeds with one of the available layouts. It allows displaying image metadata, open up images in lightbox, download them and even share in social networking websites.
6
- Version: 1.2.2
7
  Author: WebDorado
8
  Author URI: https://web-dorado.com
9
  License: GPLv2 or later
@@ -21,7 +21,7 @@ define("WDI_META", "_".WDI_VAR."_meta");
21
  //define("wdi",'wdi');
22
  define('WDI_FEED_TABLE','wdi_feeds');
23
  define('WDI_THEME_TABLE','wdi_themes');
24
- define('WDI_VERSION','1.2.2');
25
  define('WDI_IS_PRO','false');
26
 
27
 
@@ -526,7 +526,7 @@ function wdi_check_silent_update(){
526
  wdi_install();
527
  }
528
  }
529
- add_action('init', 'wdi_wd_lib_init');
530
 
531
 
532
  function wdi_wd_lib_init(){
3
  Plugin Name: Instagram Feed WD
4
  Plugin URI: https://web-dorado.com/products/wordpress-instagram-feed-wd.html
5
  Description: WD Instagram Feed is a user-friendly tool for displaying user or hashtag-based feeds on your website. You can create feeds with one of the available layouts. It allows displaying image metadata, open up images in lightbox, download them and even share in social networking websites.
6
+ Version: 1.2.3
7
  Author: WebDorado
8
  Author URI: https://web-dorado.com
9
  License: GPLv2 or later
21
  //define("wdi",'wdi');
22
  define('WDI_FEED_TABLE','wdi_feeds');
23
  define('WDI_THEME_TABLE','wdi_themes');
24
+ define('WDI_VERSION','1.2.3');
25
  define('WDI_IS_PRO','false');
26
 
27
 
526
  wdi_install();
527
  }
528
  }
529
+ add_action('init', 'wdi_wd_lib_init', 9);
530
 
531
 
532
  function wdi_wd_lib_init(){
wd/README.md CHANGED
@@ -1,4 +1,5 @@
1
- Version: 1.0.8
 
2
 
3
 
4
  Usage:
1
+ Version: 1.0.11
2
+
3
 
4
 
5
  Usage:
wd/assets/css/deactivate_popup.css CHANGED
@@ -83,4 +83,4 @@
83
  bottom: 0;
84
  margin: auto;
85
  z-index: 63;
86
- }
83
  bottom: 0;
84
  margin: auto;
85
  z-index: 63;
86
+ }
wd/assets/css/overview.css CHANGED
@@ -451,5 +451,12 @@ a:focus{
451
  font-size: 16px;
452
  }
453
 
 
 
 
 
454
 
455
-
 
 
 
451
  font-size: 16px;
452
  }
453
 
454
+ .wd-start-using-button .button{
455
+ margin-left: 7px;
456
+ margin-top: 7px;
457
+ }
458
 
459
+ .wd-start-using-button{
460
+ margin-right:10px;
461
+ float: right;
462
+ }
wd/assets/js/deactivate_popup.js CHANGED
@@ -95,6 +95,7 @@ function wdReady(prefix){
95
  });
96
 
97
  }
 
98
  ////////////////////////////////////////////////////////////////////////////////////////
99
  // Getters & Setters //
100
  ////////////////////////////////////////////////////////////////////////////////////////
95
  });
96
 
97
  }
98
+
99
  ////////////////////////////////////////////////////////////////////////////////////////
100
  // Getters & Setters //
101
  ////////////////////////////////////////////////////////////////////////////////////////
wd/includes/api.php CHANGED
@@ -55,7 +55,7 @@
55
  public function get_hash(){
56
  $response = wp_remote_get("https://api.web-dorado.com/hash/" . $_SERVER['REMOTE_ADDR'] . "/" . $_SERVER['HTTP_HOST']);
57
 
58
- $response_body = isset($response["body"]) ? json_decode($response["body"], true) : null;
59
 
60
  if(is_array($response_body)){
61
  $hash = $response_body["body"]["hash"];
55
  public function get_hash(){
56
  $response = wp_remote_get("https://api.web-dorado.com/hash/" . $_SERVER['REMOTE_ADDR'] . "/" . $_SERVER['HTTP_HOST']);
57
 
58
+ $response_body = ( !is_wp_error($response) && isset($response["body"])) ? json_decode($response["body"], true) : null;
59
 
60
  if(is_array($response_body)){
61
  $hash = $response_body["body"]["hash"];
wd/includes/deactivate.php CHANGED
@@ -76,7 +76,18 @@
76
  });
77
  </script>
78
  <?php
79
- require ( $wd_options->wd_dir_templates . '/display_deactivation_popup.php' );
 
 
 
 
 
 
 
 
 
 
 
80
  }
81
 
82
 
@@ -129,8 +140,8 @@
129
  'cookies' => array()
130
  )
131
  );
132
-
133
- $response_body = isset( $response["body"] ) ? json_decode( $response["body"], true ) : null;
134
  if( is_array( $response_body ) && $response_body["body"]["msg"] == "Access" ) {
135
 
136
  }
76
  });
77
  </script>
78
  <?php
79
+
80
+ $deactivate_url =
81
+ add_query_arg(
82
+ array(
83
+ 'action' => 'deactivate',
84
+ 'plugin' => plugin_basename( $wd_options->plugin_main_file ),
85
+ '_wpnonce' => wp_create_nonce( 'deactivate-plugin_' . plugin_basename( $wd_options->plugin_main_file ) )
86
+ ),
87
+ admin_url( 'plugins.php' )
88
+ );
89
+
90
+ require ( $wd_options->wd_dir_templates . '/display_deactivation_popup.php' );
91
  }
92
 
93
 
140
  'cookies' => array()
141
  )
142
  );
143
+
144
+ $response_body = (!is_wp_error($response) && isset( $response["body"] )) ? json_decode( $response["body"], true ) : null;
145
  if( is_array( $response_body ) && $response_body["body"]["msg"] == "Access" ) {
146
 
147
  }
wd/includes/overview.php CHANGED
@@ -58,6 +58,14 @@
58
  public function display_overview_page(){
59
  $wd_options = $this->config;
60
  $tabs = $this->tabs;
 
 
 
 
 
 
 
 
61
  require_once( $wd_options->wd_dir_templates . "/display_overview.php" );
62
  }
63
  public function wd_overview_welcome(){
@@ -120,7 +128,8 @@
120
  unset($plugins[$wd_options->plugin_wordpress_slug]) ;
121
 
122
  // foreach ( $plugins as $wp_slug => &$plugin ){
123
- // $wp_data = $this->remote_get($wp_slug);
 
124
  // $plugin["downloaded"] = $wp_data["downloaded"];
125
  // $plugin["rating"] = $wp_data["rating"];
126
  // }
@@ -167,13 +176,6 @@
167
  if ( empty( $sql_mode ) )
168
  $sql_mode = __( 'Not set', $wd_options->prefix );
169
  $server_info["SQL Mode"] = $sql_mode;
170
-
171
- // Get PHP Safe Mode
172
- if( ini_get( 'safe_mode' ) )
173
- $safe_mode = __( 'On', $wd_options->prefix );
174
- else
175
- $safe_mode = __( 'Off', $wd_options->prefix );
176
- $server_info["PHP Safe Mode"] = $safe_mode;
177
 
178
  // Get PHP allow_url_fopen
179
  if( ini_get( 'allow_url_fopen' ) )
58
  public function display_overview_page(){
59
  $wd_options = $this->config;
60
  $tabs = $this->tabs;
61
+ $start_using_url = "";
62
+ if(!empty($this->config->custom_post)) {
63
+ if (strpos($this->config->custom_post, 'post_type', 0) !== false) {
64
+ $start_using_url = admin_url($this->config->custom_post);
65
+ } else {
66
+ $start_using_url = menu_page_url($this->config->custom_post, false);
67
+ }
68
+ }
69
  require_once( $wd_options->wd_dir_templates . "/display_overview.php" );
70
  }
71
  public function wd_overview_welcome(){
128
  unset($plugins[$wd_options->plugin_wordpress_slug]) ;
129
 
130
  // foreach ( $plugins as $wp_slug => &$plugin ){
131
+ // $wp_data = $this->
132
+ //remote_get($wp_slug);
133
  // $plugin["downloaded"] = $wp_data["downloaded"];
134
  // $plugin["rating"] = $wp_data["rating"];
135
  // }
176
  if ( empty( $sql_mode ) )
177
  $sql_mode = __( 'Not set', $wd_options->prefix );
178
  $server_info["SQL Mode"] = $sql_mode;
 
 
 
 
 
 
 
179
 
180
  // Get PHP allow_url_fopen
181
  if( ini_get( 'allow_url_fopen' ) )
wd/includes/subscribe.php CHANGED
@@ -108,7 +108,7 @@
108
  )
109
  );
110
 
111
- $response_body = isset( $response["body"] ) ? json_decode( $response["body"], true ) : null;
112
 
113
  if( is_array( $response_body ) && $response_body["body"]["msg"] == "Access" ) {
114
 
108
  )
109
  );
110
 
111
+ $response_body = (!is_wp_error($response) && isset( $response["body"] )) ? json_decode( $response["body"], true ) : null;
112
 
113
  if( is_array( $response_body ) && $response_body["body"]["msg"] == "Access" ) {
114
 
wd/templates/display_deactivation_popup.php CHANGED
@@ -1,28 +1,28 @@
1
- <div class="wd-opacity wd-<?php echo $wd_options->prefix; ?>-opacity"></div>
2
- <div class="wd-deactivate-popup wd-<?php echo $wd_options->prefix; ?>-deactivate-popup">
3
- <div class="wd-deactivate-popup-opacity wd-deactivate-popup-opacity-<?php echo $wd_options->prefix; ?>">
4
- <img src="<?php echo $wd_options->wd_url_img . '/spinner.gif'; ?>" class="wd-img-loader" >
 
 
 
 
5
  </div>
6
- <form method="post" id="<?php echo $wd_options->prefix; ?>_deactivate_form">
7
- <div class="wd-deactivate-popup-header">
8
- <?php _e( "Please let us know why you are deactivating. Your answer will help us to serve you better", $wd_options->prefix ); ?>:
9
- </div>
10
-
11
- <div class="wd-deactivate-popup-body">
12
- <?php foreach( $deactivate_reasons as $deactivate_reason_slug => $deactivate_reason ) { ?>
13
- <div class="wd-<?php echo $wd_options->prefix; ?>-reasons">
14
- <input type="radio" value="<?php echo $deactivate_reason["id"];?>" id="<?php echo $wd_options->prefix . "-" .$deactivate_reason["id"]; ?>" name="<?php echo $wd_options->prefix; ?>_reasons" >
15
- <label for="<?php echo $wd_options->prefix . "-" . $deactivate_reason["id"]; ?>"><?php echo $deactivate_reason["text"];?></label>
16
- </div>
17
- <?php } ?>
18
- <div class="<?php echo $wd_options->prefix; ?>_additional_details_wrap"></div>
19
- </div>
20
- <div class="wd-btns">
21
- <a href="#" data-val="1" class="button button-secondary button-close wd-<?php echo $wd_options->prefix; ?>-deactivate" id="wd-<?php echo $wd_options->prefix; ?>-deactivate"><?php _e( "Deactivate" , $wd_options->prefix ); ?></a>
22
- <a href="#" data-val="2" class="button button-secondary button-close wd-<?php echo $wd_options->prefix; ?>-deactivate" id="wd-<?php echo $wd_options->prefix; ?>-submit-and-deactivate" style="display:none;"><?php _e( "Submit and deactivate" , $wd_options->prefix ); ?></a>
23
- <a href="#" class="button button-primary wd-<?php echo $wd_options->prefix; ?>-cancel"><?php _e( "Cancel" , $wd_options->prefix ); ?></a>
24
- </div>
25
- <input type="hidden" name="<?php echo $wd_options->prefix . "_submit_and_deactivate"; ?>" value="" >
26
- <?php wp_nonce_field( $wd_options->prefix . '_save_form', $wd_options->prefix . '_save_form_fild'); ?>
27
- </form>
28
- </div>
1
+ <div class="wd-opacity wd-<?php echo $wd_options->prefix; ?>-opacity"></div>
2
+ <div class="wd-deactivate-popup wd-<?php echo $wd_options->prefix; ?>-deactivate-popup">
3
+ <div class="wd-deactivate-popup-opacity wd-deactivate-popup-opacity-<?php echo $wd_options->prefix; ?>">
4
+ <img src="<?php echo $wd_options->wd_url_img . '/spinner.gif'; ?>" class="wd-img-loader" >
5
+ </div>
6
+ <form method="post" id="<?php echo $wd_options->prefix; ?>_deactivate_form">
7
+ <div class="wd-deactivate-popup-header">
8
+ <?php _e( "Please let us know why you are deactivating. Your answer will help us to serve you better", $wd_options->prefix ); ?>:
9
  </div>
10
+
11
+ <div class="wd-deactivate-popup-body">
12
+ <?php foreach( $deactivate_reasons as $deactivate_reason_slug => $deactivate_reason ) { ?>
13
+ <div class="wd-<?php echo $wd_options->prefix; ?>-reasons">
14
+ <input type="radio" value="<?php echo $deactivate_reason["id"];?>" id="<?php echo $wd_options->prefix . "-" .$deactivate_reason["id"]; ?>" name="<?php echo $wd_options->prefix; ?>_reasons" >
15
+ <label for="<?php echo $wd_options->prefix . "-" . $deactivate_reason["id"]; ?>"><?php echo $deactivate_reason["text"];?></label>
16
+ </div>
17
+ <?php } ?>
18
+ <div class="<?php echo $wd_options->prefix; ?>_additional_details_wrap"></div>
19
+ </div>
20
+ <div class="wd-btns">
21
+ <a href="<?php echo $deactivate_url; ?>" data-val="1" class="button button-secondary button-close wd-<?php echo $wd_options->prefix; ?>-deactivate" id="wd-<?php echo $wd_options->prefix; ?>-deactivate"><?php _e( "Deactivate" , $wd_options->prefix ); ?></a>
22
+ <a href="<?php echo $deactivate_url; ?>" data-val="2" class="button button-secondary button-close wd-<?php echo $wd_options->prefix; ?>-deactivate" id="wd-<?php echo $wd_options->prefix; ?>-submit-and-deactivate" style="display:none;"><?php _e( "Submit and deactivate" , $wd_options->prefix ); ?></a>
23
+ <a href="<?php echo admin_url( 'plugins.php' ); ?>" class="button button-primary wd-<?php echo $wd_options->prefix; ?>-cancel"><?php _e( "Cancel" , $wd_options->prefix ); ?></a>
24
+ </div>
25
+ <input type="hidden" name="<?php echo $wd_options->prefix . "_submit_and_deactivate"; ?>" value="" >
26
+ <?php wp_nonce_field( $wd_options->prefix . '_save_form', $wd_options->prefix . '_save_form_fild'); ?>
27
+ </form>
28
+ </div>
 
 
 
 
wd/templates/display_overview.php CHANGED
@@ -1,33 +1,43 @@
1
  <div class="overview_welcome">
2
- <div class="wd-cell wd-valign-middle">
3
- <a href="<?php echo $wd_options->plugin_wd_url; ?>" target="_blank"><img src="<?php echo $wd_options->wd_url_img . '/' . $wd_options->prefix . '_main_plugin.png'; ?>"></a>
4
- </div>
5
- <div class="wd-cell wd-valign-middle">
6
- <h2><?php echo sprintf( __( "Welcome to %s", $wd_options->prefix ), $wd_options->plugin_title ); ?></h2>
7
- <div class="overview_welcome_text">
8
- <div><?php echo sprintf( __( "CONGRATS! You've successfully installed %s WordPress plugin.", $wd_options->prefix ), $wd_options->plugin_title ) ; ?></div>
9
- <div><?php echo $wd_options->description ; ?></div>
10
- </div>
11
- </div>
 
 
 
 
 
 
 
 
12
  </div>
13
  <div class="overview_wrap">
14
- <ul class="overview_tabs">
15
- <?php
16
- foreach ( $tabs as $tab_key => $tab ) {
17
- $href = $tab['view'] !== false ? "#" . $tab_key : $tab_key;
18
- $target = $tab['view'] == false ? 'target="_blank" class="not_tab"' : '';
19
- $overview_tab_active_class = $tab_key == 'welcome' ? 'class="overview_tab_active"' : ''
20
- ?>
21
- <li class=""><a href="<?php echo $href; ?>" <?php echo $overview_tab_active_class; ?> <?php echo $target; ?>><?php echo esc_html( $tab['name'] ); ?></a></li>
22
- <?php } ?>
23
- </ul>
24
- <div class="overview_content">
25
- <?php
26
- foreach ( $tabs as $tab_key => $tab ) {
27
- if( $tab['view'] !== false ){
28
- echo call_user_func( $tab['view'] );
29
- }
30
- }
31
- ?>
32
- </div>
 
 
33
  </div>
1
  <div class="overview_welcome">
2
+ <div class="wd-cell wd-valign-middle">
3
+ <a href="<?php echo $wd_options->plugin_wd_url; ?>" target="_blank"><img
4
+ src="<?php echo $wd_options->wd_url_img . '/' . $wd_options->prefix . '_main_plugin.png'; ?>"></a>
5
+ </div>
6
+ <div class="wd-cell wd-valign-middle">
7
+
8
+ <h2><?php echo sprintf(__("Welcome to %s", $wd_options->prefix), $wd_options->plugin_title); ?> <?php if (!empty($start_using_url)) { ?>
9
+ <div class="wd-start-using-button">
10
+ <a href="<?php echo $start_using_url; ?>" class="button button-primary button-large">Start using</a>
11
+ </div>
12
+ <?php } ?></h2>
13
+
14
+ <div class="overview_welcome_text">
15
+
16
+ <div><?php echo sprintf(__("CONGRATS! You've successfully installed %s WordPress plugin.", $wd_options->prefix), $wd_options->plugin_title); ?></div>
17
+ <div><?php echo $wd_options->description; ?></div>
18
+ </div>
19
+ </div>
20
  </div>
21
  <div class="overview_wrap">
22
+ <ul class="overview_tabs">
23
+ <?php
24
+ foreach ($tabs as $tab_key => $tab) {
25
+ $href = $tab['view'] !== false ? "#" . $tab_key : $tab_key;
26
+ $target = $tab['view'] == false ? 'target="_blank" class="not_tab"' : '';
27
+ $overview_tab_active_class = $tab_key == 'welcome' ? 'class="overview_tab_active"' : ''
28
+ ?>
29
+ <li class=""><a
30
+ href="<?php echo $href; ?>" <?php echo $overview_tab_active_class; ?> <?php echo $target; ?>><?php echo esc_html($tab['name']); ?></a>
31
+ </li>
32
+ <?php } ?>
33
+ </ul>
34
+ <div class="overview_content">
35
+ <?php
36
+ foreach ($tabs as $tab_key => $tab) {
37
+ if ($tab['view'] !== false) {
38
+ echo call_user_func($tab['view']);
39
+ }
40
+ }
41
+ ?>
42
+ </div>
43
  </div>
wd/templates/display_overview_deals.php CHANGED
@@ -31,13 +31,6 @@
31
  <div class="deal_desc">
32
  <p><?php echo $plugin["content"]; ?></p>
33
  <div class="deal_desc_footer">
34
- <!--<div class="downloads">
35
- <div class="rating" data-rating="<?php echo $plugin["rating"]; ?>"></div>
36
- <div class="spans">
37
- <span><?php _e( "Downloads", $wd_options->prefix ); ?></span>
38
- <span><?php echo number_format($plugin["downloaded"], 0); ?></span>
39
- </div>
40
- </div>-->
41
  <div class="download_btn">
42
  <a href="<?php echo $plugin["href"]; ?>" target="_blank" ><?php _e( "Download", $wd_options->prefix ); ?></a>
43
  </div>
31
  <div class="deal_desc">
32
  <p><?php echo $plugin["content"]; ?></p>
33
  <div class="deal_desc_footer">
 
 
 
 
 
 
 
34
  <div class="download_btn">
35
  <a href="<?php echo $plugin["href"]; ?>" target="_blank" ><?php _e( "Download", $wd_options->prefix ); ?></a>
36
  </div>
wd/templates/display_subscribe.php CHANGED
@@ -8,7 +8,7 @@
8
  <div class="texts">
9
  <p><?php _e( "Hi there", $wd_options->prefix ); ?>,</p>
10
  <p>
11
- <?php echo sprintf( __( "Allow %s to collect some usage data. This will allow you to get more out of your plugin experience get awesome customer support, receive exclusive deals and discounts on premium products and more. You can choose to skip this step, %s will still work just fine.", $wd_options->prefix ), '<strong>Web-Dorado</strong>', $wd_options->plugin_title ); ?>
12
  </p>
13
  </div>
14
  <div class="btns">
8
  <div class="texts">
9
  <p><?php _e( "Hi there", $wd_options->prefix ); ?>,</p>
10
  <p>
11
+ <?php echo sprintf( __( "Allow %s to collect some usage data. This will allow you to get more out of your plugin experience - get awesome customer support, receive exclusive deals and discounts on premium products and more. You can choose to skip this step, %s will still work just fine.", $wd_options->prefix ), '<strong>Web-Dorado</strong>', $wd_options->plugin_title ); ?>
12
  </p>
13
  </div>
14
  <div class="btns">
wd/wd.php CHANGED
@@ -17,7 +17,7 @@
17
  public $overview_instance;
18
  public $subscribe_instance;
19
  public $config;
20
- private $version = "1.0.2";
21
 
22
  ////////////////////////////////////////////////////////////////////////////////////////
23
  // Constructor & Destructor //
@@ -125,7 +125,17 @@
125
 
126
  public function change_deactivation_link ( $links ) {
127
  $wd_options = $this->config;
128
- $links["deactivate"] = '<a href="#" class="' . $wd_options->prefix . '_deactivate_link">Deactivate</a>';
 
 
 
 
 
 
 
 
 
 
129
  return $links;
130
  }
131
 
17
  public $overview_instance;
18
  public $subscribe_instance;
19
  public $config;
20
+ private $version = "1.0.11";
21
 
22
  ////////////////////////////////////////////////////////////////////////////////////////
23
  // Constructor & Destructor //
125
 
126
  public function change_deactivation_link ( $links ) {
127
  $wd_options = $this->config;
128
+ $deactivate_url =
129
+ add_query_arg(
130
+ array(
131
+ 'action' => 'deactivate',
132
+ 'plugin' => plugin_basename( $wd_options->plugin_main_file ),
133
+ '_wpnonce' => wp_create_nonce( 'deactivate-plugin_' . plugin_basename( $wd_options->plugin_main_file ) )
134
+ ),
135
+ admin_url( 'plugins.php' )
136
+ );
137
+
138
+ $links["deactivate"] = '<a href="'.$deactivate_url.'" class="' . $wd_options->prefix . '_deactivate_link">Deactivate</a>';
139
  return $links;
140
  }
141