SEO Ultimate - Version 5.6.2

Version Description

Download this release

Release Info

Developer JohnLamansky
Plugin Icon 128x128 SEO Ultimate
Version 5.6.2
Comparing to
See all releases

Code changes from version 5.6.1 to 5.6.2

includes/jlfunctions/md.php CHANGED
@@ -72,8 +72,8 @@ class sumd {
72
  $preg_sections = array_chunk($preg_sections, 2);
73
 
74
  foreach ($preg_sections as $preg_section) {
75
- $header = trim($preg_section[0]);
76
- $content = trim($preg_section[1]);
77
  if (strlen($header))
78
  $sections[$header] = $content;
79
  }
72
  $preg_sections = array_chunk($preg_sections, 2);
73
 
74
  foreach ($preg_sections as $preg_section) {
75
+ $header = isset($preg_section[0]) ? trim($preg_section[0]) : '';
76
+ $content = isset($preg_section[1]) ? trim($preg_section[1]) : '';
77
  if (strlen($header))
78
  $sections[$header] = $content;
79
  }
modules/class.su-module.php CHANGED
@@ -450,13 +450,12 @@ class SU_Module {
450
  */
451
  function get_admin_url($key = false) {
452
 
 
453
  if ($key === false) {
454
- if ($key = $this->get_parent_module()) {
455
  $anchor = '#'.$this->plugin->key_to_hook($this->get_module_key());
456
- } else {
457
  $key = $this->get_module_key();
458
- $anchor = '';
459
- }
460
  }
461
 
462
  if (!$this->plugin->call_module_func($key, 'get_menu_title', $menu_title) || !$menu_title)
@@ -968,7 +967,7 @@ class SU_Module {
968
  $label = htmlspecialchars($label);
969
  $content = "<div class='su-help'>\n";
970
 
971
- $header = sprintf(_c('%s %s|Dropdown Title', 'seo-ultimate'), $this->get_module_title(), $label);
972
  $header = sustr::remove_double_words($header);
973
 
974
  $text = wptexturize(Markdown($text));
@@ -1085,10 +1084,11 @@ class SU_Module {
1085
 
1086
  //Sanitize parameters
1087
  if (!is_array($fields) || !count($fields)) return false;
1088
- if (!is_array($fields[0])) $fields = array($fields);
1089
 
1090
  //Get search query
1091
- $search = $_REQUEST[$type . '_s'];
 
1092
 
1093
  //Save meta if applicable
1094
  if ($is_update = ($this->is_action('update') && !strlen(trim($search)))) {
@@ -1210,8 +1210,13 @@ class SU_Module {
1210
  $inputid = "{$genus}_{$id}_{$field['name']}";
1211
 
1212
  switch ($genus) {
1213
- case 'post': $value = $this->get_postmeta($field['name'], $id); break;
1214
- case 'term': $value = $this->get_setting($field['term_settings_key'], array()); $value = $value[$id]; break;
 
 
 
 
 
1215
  }
1216
 
1217
  if ($is_update && $field['type'] == 'checkbox' && $value == '1' && !isset($_POST[$inputid]))
@@ -1864,7 +1869,6 @@ class SU_Module {
1864
  foreach ($textboxes as $id => $title) {
1865
  register_setting($this->get_module_key(), $id);
1866
  $value = su_esc_editable_html($this->get_setting($id));
1867
- $default = su_esc_editable_html($defaults[$id]);
1868
  $id = su_esc_attr($id);
1869
  $resetmessage = su_esc_attr(__('Are you sure you want to replace the textbox contents with this default value?', 'seo-ultimate'));
1870
 
@@ -1877,6 +1881,7 @@ class SU_Module {
1877
 
1878
  echo "<input name='$id' id='$id' type='text' value='$value' class='regular-text' ";
1879
  if (isset($defaults[$id])) {
 
1880
  echo "onkeyup=\"javascript:su_textbox_value_changed(this, '$default', '{$id}_reset')\" />";
1881
  echo "&nbsp;<a href=\"javascript:void(0)\" id=\"{$id}_reset\" onclick=\"javascript:su_reset_textbox('$id', '$default', '$resetmessage', this)\"";
1882
  if ($default == $value) echo ' class="hidden"';
@@ -1982,8 +1987,10 @@ class SU_Module {
1982
  ( strcasecmp($_GET['page'], $this->plugin->key_to_hook($this->get_module_key())) == 0 ) //Is $this module being shown?
1983
  || ( strlen($this->get_parent_module()) && strcasecmp($_GET['page'], $this->plugin->key_to_hook($this->get_parent_module())) == 0) //Is the parent module being shown?
1984
  )
1985
- && !empty($_GET['action'])
1986
- && ($_GET['action'] == $action || $_POST['action'] == $action) //Is this $action being executed?
 
 
1987
  && $this->nonce_validates($action, $object) //Is the nonce valid?
1988
  );
1989
  }
@@ -2141,10 +2148,16 @@ class SU_Module {
2141
  }
2142
  }
2143
 
2144
- if ($id && $post) {
 
 
 
 
 
 
2145
  $value = get_post_meta($id, "_su_$key", true);
2146
- $value = apply_filters("su_get_postmeta", $value, $key, $post);
2147
- $value = apply_filters("su_get_postmeta-$key", $value, $key, $post);
2148
  } else
2149
  $value = '';
2150
 
450
  */
451
  function get_admin_url($key = false) {
452
 
453
+ $anchor = '';
454
  if ($key === false) {
455
+ if ($key = $this->get_parent_module())
456
  $anchor = '#'.$this->plugin->key_to_hook($this->get_module_key());
457
+ else
458
  $key = $this->get_module_key();
 
 
459
  }
460
 
461
  if (!$this->plugin->call_module_func($key, 'get_menu_title', $menu_title) || !$menu_title)
967
  $label = htmlspecialchars($label);
968
  $content = "<div class='su-help'>\n";
969
 
970
+ $header = sprintf(_x('%s %s|Dropdown Title', 'seo-ultimate'), $this->get_module_title(), $label);
971
  $header = sustr::remove_double_words($header);
972
 
973
  $text = wptexturize(Markdown($text));
1084
 
1085
  //Sanitize parameters
1086
  if (!is_array($fields) || !count($fields)) return false;
1087
+ if (!isset($fields[0]) || !is_array($fields[0])) $fields = array($fields);
1088
 
1089
  //Get search query
1090
+ $type_s = $type . '_s';
1091
+ $search = isset($_REQUEST[$type_s]) ? $_REQUEST[$type_s] : '';
1092
 
1093
  //Save meta if applicable
1094
  if ($is_update = ($this->is_action('update') && !strlen(trim($search)))) {
1210
  $inputid = "{$genus}_{$id}_{$field['name']}";
1211
 
1212
  switch ($genus) {
1213
+ case 'post':
1214
+ $value = $this->get_postmeta($field['name'], $id);
1215
+ break;
1216
+ case 'term':
1217
+ $value = $this->get_setting($field['term_settings_key'], array());
1218
+ $value = isset($value[$id]) ? $value[$id] : null;
1219
+ break;
1220
  }
1221
 
1222
  if ($is_update && $field['type'] == 'checkbox' && $value == '1' && !isset($_POST[$inputid]))
1869
  foreach ($textboxes as $id => $title) {
1870
  register_setting($this->get_module_key(), $id);
1871
  $value = su_esc_editable_html($this->get_setting($id));
 
1872
  $id = su_esc_attr($id);
1873
  $resetmessage = su_esc_attr(__('Are you sure you want to replace the textbox contents with this default value?', 'seo-ultimate'));
1874
 
1881
 
1882
  echo "<input name='$id' id='$id' type='text' value='$value' class='regular-text' ";
1883
  if (isset($defaults[$id])) {
1884
+ $default = su_esc_editable_html($defaults[$id]);
1885
  echo "onkeyup=\"javascript:su_textbox_value_changed(this, '$default', '{$id}_reset')\" />";
1886
  echo "&nbsp;<a href=\"javascript:void(0)\" id=\"{$id}_reset\" onclick=\"javascript:su_reset_textbox('$id', '$default', '$resetmessage', this)\"";
1887
  if ($default == $value) echo ' class="hidden"';
1987
  ( strcasecmp($_GET['page'], $this->plugin->key_to_hook($this->get_module_key())) == 0 ) //Is $this module being shown?
1988
  || ( strlen($this->get_parent_module()) && strcasecmp($_GET['page'], $this->plugin->key_to_hook($this->get_parent_module())) == 0) //Is the parent module being shown?
1989
  )
1990
+ && (
1991
+ (!empty($_GET['action']) && $_GET['action'] == $action)
1992
+ || (!empty($_POST['action']) && $_POST['action'] == $action)
1993
+ ) //Is this $action being executed?
1994
  && $this->nonce_validates($action, $object) //Is the nonce valid?
1995
  );
1996
  }
2148
  }
2149
  }
2150
 
2151
+ if ($id) {
2152
+
2153
+ if (isset($post) && $post)
2154
+ $_post = $post;
2155
+ else
2156
+ $_post = get_post($id);
2157
+
2158
  $value = get_post_meta($id, "_su_$key", true);
2159
+ $value = apply_filters("su_get_postmeta", $value, $key, $_post);
2160
+ $value = apply_filters("su_get_postmeta-$key", $value, $key, $_post);
2161
  } else
2162
  $value = '';
2163
 
modules/competition-queries/competition-queries.php CHANGED
@@ -37,7 +37,8 @@ class SU_CompetitionQueries extends SU_Module {
37
 
38
  $nominimal = array(__('Inbound Links', 'seo-ultimate'), __('Outbound Links', 'seo-ultimate'));
39
 
40
- $first=true; foreach ($methods as $type => $tools) {
 
41
  foreach ($tools as $title => $desc) {
42
  $value = strtolower(str_replace(array(' ', '-'), '', $title));
43
 
@@ -54,7 +55,7 @@ class SU_CompetitionQueries extends SU_Module {
54
  }
55
  ?>
56
  <h3><?php _e('Step 2: Enter the <span id="methodtype">Keywords</span> To Research', 'seo-ultimate'); ?></h3>
57
- <div><textarea id="queries" name="queries" rows="10" cols="60"><?php echo htmlspecialchars($_GET['queries']); ?></textarea></div>
58
  <div><em><?php _e('(Type in one per line)', 'seo-ultimate'); ?></em></div>
59
 
60
  <h3><?php _e('Step 3: Set Options and Submit', 'seo-ultimate'); ?></h3>
37
 
38
  $nominimal = array(__('Inbound Links', 'seo-ultimate'), __('Outbound Links', 'seo-ultimate'));
39
 
40
+ $first=true; $i=0;
41
+ foreach ($methods as $type => $tools) {
42
  foreach ($tools as $title => $desc) {
43
  $value = strtolower(str_replace(array(' ', '-'), '', $title));
44
 
55
  }
56
  ?>
57
  <h3><?php _e('Step 2: Enter the <span id="methodtype">Keywords</span> To Research', 'seo-ultimate'); ?></h3>
58
+ <div><textarea id="queries" name="queries" rows="10" cols="60"></textarea></div>
59
  <div><em><?php _e('(Type in one per line)', 'seo-ultimate'); ?></em></div>
60
 
61
  <h3><?php _e('Step 3: Set Options and Submit', 'seo-ultimate'); ?></h3>
modules/documentation.txt CHANGED
@@ -77,7 +77,7 @@ The following options are available on the Settings tab:
77
 
78
  = Troubleshooting =
79
 
80
- * **Why doesn't my code appear on my site?** It's possible that your theme doesn't have the proper "hooks," which are pieces of code that let WordPress plugins insert custom HTML into your theme. [Click here](http://wordpress.jdwebdev.com/blog/theme-plugin-hooks/) for information on how to check your theme and add the hooks if needed.
81
 
82
 
83
  == Competition Researcher ==
@@ -513,7 +513,7 @@ Here's information on each of the settings and its supported variables:
513
  = Troubleshooting =
514
 
515
  * **Why isn't the Title Tag Rewriter changing my `<title>` tags?**
516
- Try disabling other SEO plugins, as they may be conflicting with SEO Ultimate. Also, check to make sure your theme is [plugin-friendly](http://wordpress.jdwebdev.com/blog/theme-plugin-hooks/).
517
 
518
 
519
 
77
 
78
  = Troubleshooting =
79
 
80
+ * **Why doesn't my code appear on my site?** It's possible that your theme doesn't have the proper "hooks," which are pieces of code that let WordPress plugins insert custom HTML into your theme. [Click here](http://johnlamansky.com/wordpress/theme-plugin-hooks/) for information on how to check your theme and add the hooks if needed.
81
 
82
 
83
  == Competition Researcher ==
513
  = Troubleshooting =
514
 
515
  * **Why isn't the Title Tag Rewriter changing my `<title>` tags?**
516
+ Try disabling other SEO plugins, as they may be conflicting with SEO Ultimate. Also, check to make sure your theme is [plugin-friendly](http://johnlamansky.com/wordpress/theme-plugin-hooks/).
517
 
518
 
519
 
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: SEO Design Solutions, JohnLamansky
3
  Tags: seo, SEO Ultimate, suite, google, yahoo, bing, search engines, admin, post, page, custom post types, categories, tags, terms, custom taxonomies, title, meta, robots, noindex, nofollow, canonical, 404, robots.txt, htaccess, slugs, url, anchor, more, link, excerpt, permalink, links, autolinks, code, footer, modules, uninstallable, reinstallable, downgradable, import, export, CSV, affiliate
4
  Requires at least: 3.0
5
  Tested up to: 3.1
6
- Stable tag: 5.6.1
7
 
8
  This all-in-one SEO plugin gives you control over title tags, noindex, meta tags, slugs, canonical, autolinks, 404 errors, rich snippets, and more.
9
 
@@ -230,6 +230,10 @@ Frequently asked questions, settings help, and troubleshooting tips for SEO Ulti
230
 
231
  == Changelog ==
232
 
 
 
 
 
233
  = Version 5.6.1 (May 31, 2011) =
234
  * Bugfix: Fixed many errors that appeared when WP_DEBUG mode was enabled
235
 
3
  Tags: seo, SEO Ultimate, suite, google, yahoo, bing, search engines, admin, post, page, custom post types, categories, tags, terms, custom taxonomies, title, meta, robots, noindex, nofollow, canonical, 404, robots.txt, htaccess, slugs, url, anchor, more, link, excerpt, permalink, links, autolinks, code, footer, modules, uninstallable, reinstallable, downgradable, import, export, CSV, affiliate
4
  Requires at least: 3.0
5
  Tested up to: 3.1
6
+ Stable tag: 5.6.2
7
 
8
  This all-in-one SEO plugin gives you control over title tags, noindex, meta tags, slugs, canonical, autolinks, 404 errors, rich snippets, and more.
9
 
230
 
231
  == Changelog ==
232
 
233
+ = Version 5.6.2 (June 1, 2011) =
234
+ * Bugfix: Fixed bug that stopped settings from being saved (introduced in 5.6.1)
235
+ * Bugfix: Fixed more errors that appeared when WP_DEBUG mode was enabled
236
+
237
  = Version 5.6.1 (May 31, 2011) =
238
  * Bugfix: Fixed many errors that appeared when WP_DEBUG mode was enabled
239
 
seo-ultimate.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: SEO Ultimate
4
  Plugin URI: http://www.seodesignsolutions.com/wordpress-seo/
5
  Description: This all-in-one SEO plugin gives you control over title tags, noindex/nofollow, meta tags, rich snippets, slugs, canonical tags, autolinks, 404 errors, rich snippets, and more.
6
- Version: 5.6.1
7
  Author: SEO Design Solutions
8
  Author URI: http://www.seodesignsolutions.com/
9
  Text Domain: seo-ultimate
@@ -12,7 +12,7 @@ Text Domain: seo-ultimate
12
  /**
13
  * The main SEO Ultimate plugin file.
14
  * @package SeoUltimate
15
- * @version 5.6.1
16
  * @link http://www.seodesignsolutions.com/wordpress-seo/ SEO Ultimate Homepage
17
  */
18
 
@@ -47,10 +47,10 @@ define('SU_MINIMUM_WP_VER', '3.0');
47
  //Reading plugin info from constants is faster than trying to parse it from the header above.
48
  define('SU_PLUGIN_NAME', 'SEO Ultimate');
49
  define('SU_PLUGIN_URI', 'http://www.seodesignsolutions.com/wordpress-seo/');
50
- define('SU_VERSION', '5.6.1');
51
  define('SU_AUTHOR', 'SEO Design Solutions');
52
  define('SU_AUTHOR_URI', 'http://www.seodesignsolutions.com/');
53
- define('SU_USER_AGENT', 'SeoUltimate/5.6.1');
54
 
55
  /********** INCLUDES **********/
56
 
3
  Plugin Name: SEO Ultimate
4
  Plugin URI: http://www.seodesignsolutions.com/wordpress-seo/
5
  Description: This all-in-one SEO plugin gives you control over title tags, noindex/nofollow, meta tags, rich snippets, slugs, canonical tags, autolinks, 404 errors, rich snippets, and more.
6
+ Version: 5.6.2
7
  Author: SEO Design Solutions
8
  Author URI: http://www.seodesignsolutions.com/
9
  Text Domain: seo-ultimate
12
  /**
13
  * The main SEO Ultimate plugin file.
14
  * @package SeoUltimate
15
+ * @version 5.6.2
16
  * @link http://www.seodesignsolutions.com/wordpress-seo/ SEO Ultimate Homepage
17
  */
18
 
47
  //Reading plugin info from constants is faster than trying to parse it from the header above.
48
  define('SU_PLUGIN_NAME', 'SEO Ultimate');
49
  define('SU_PLUGIN_URI', 'http://www.seodesignsolutions.com/wordpress-seo/');
50
+ define('SU_VERSION', '5.6.2');
51
  define('SU_AUTHOR', 'SEO Design Solutions');
52
  define('SU_AUTHOR_URI', 'http://www.seodesignsolutions.com/');
53
+ define('SU_USER_AGENT', 'SeoUltimate/5.6.2');
54
 
55
  /********** INCLUDES **********/
56