Version Description
Download this release
Release Info
Developer | JohnLamansky |
Plugin | 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 +2 -2
- modules/class.su-module.php +28 -15
- modules/competition-queries/competition-queries.php +3 -2
- modules/documentation.txt +2 -2
- readme.txt +5 -1
- seo-ultimate.php +4 -4
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 |
-
|
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(
|
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 |
-
$
|
|
|
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':
|
1214 |
-
|
|
|
|
|
|
|
|
|
|
|
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 " <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 |
-
&&
|
1986 |
-
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
2145 |
$value = get_post_meta($id, "_su_$key", true);
|
2146 |
-
$value = apply_filters("su_get_postmeta", $value, $key, $
|
2147 |
-
$value = apply_filters("su_get_postmeta-$key", $value, $key, $
|
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 " <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;
|
|
|
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"
|
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://
|
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://
|
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.
|
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.
|
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.
|
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.
|
51 |
define('SU_AUTHOR', 'SEO Design Solutions');
|
52 |
define('SU_AUTHOR_URI', 'http://www.seodesignsolutions.com/');
|
53 |
-
define('SU_USER_AGENT', 'SeoUltimate/5.6.
|
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 |
|