Version Description
Download this release
Release Info
Developer | JohnLamansky |
Plugin | SEO Ultimate |
Version | 6.9.7 |
Comparing to | |
See all releases |
Code changes from version 6.9.6 to 6.9.7
- includes/jlfunctions/arr.php +3 -1
- modules/autolinks/content-autolinks.php +3 -0
- modules/settings/settings-data.php +2 -12
- modules/widgets/widgets.php +5 -5
- plugin/class.seo-ultimate.php +12 -3
- readme.txt +8 -2
- seo-ultimate.php +4 -4
includes/jlfunctions/arr.php
CHANGED
@@ -147,7 +147,8 @@ class suarr {
|
|
147 |
|
148 |
function value_replace($array, $value_changes, $recursive = true, $return_replaced_only = false) {
|
149 |
$newarray = array();
|
150 |
-
|
|
|
151 |
|
152 |
$oldvalue = $value;
|
153 |
|
@@ -159,6 +160,7 @@ class suarr {
|
|
159 |
if ($value != $oldvalue || !$return_replaced_only)
|
160 |
$newarray[$key] = $value;
|
161 |
}
|
|
|
162 |
return $newarray;
|
163 |
}
|
164 |
|
147 |
|
148 |
function value_replace($array, $value_changes, $recursive = true, $return_replaced_only = false) {
|
149 |
$newarray = array();
|
150 |
+
|
151 |
+
foreach ((array)$array as $key => $value) {
|
152 |
|
153 |
$oldvalue = $value;
|
154 |
|
160 |
if ($value != $oldvalue || !$return_replaced_only)
|
161 |
$newarray[$key] = $value;
|
162 |
}
|
163 |
+
|
164 |
return $newarray;
|
165 |
}
|
166 |
|
modules/autolinks/content-autolinks.php
CHANGED
@@ -136,6 +136,9 @@ class SU_ContentAutolinks extends SU_Module {
|
|
136 |
else
|
137 |
$url = $this->jlsuggest_value_to_url($to_id ? "obj_$type/$to_id" : "obj_$type");
|
138 |
|
|
|
|
|
|
|
139 |
if (!$this->get_setting('enable_current_url_links', false) && suurl::equal($url, suurl::current()))
|
140 |
continue;
|
141 |
|
136 |
else
|
137 |
$url = $this->jlsuggest_value_to_url($to_id ? "obj_$type/$to_id" : "obj_$type");
|
138 |
|
139 |
+
if (!is_string($url))
|
140 |
+
continue;
|
141 |
+
|
142 |
if (!$this->get_setting('enable_current_url_links', false) && suurl::equal($url, suurl::current()))
|
143 |
continue;
|
144 |
|
modules/settings/settings-data.php
CHANGED
@@ -111,19 +111,9 @@ class SU_SettingsData extends SU_Module {
|
|
111 |
, 'nofollow' => 'Nofollow'
|
112 |
, 'target' => 'Target'
|
113 |
);
|
114 |
-
if (is_array($djlinks) && count($djlinks))
|
115 |
$djlinks = suarr::key_replace($djlinks, $csv_headers, true, true);
|
116 |
-
|
117 |
-
$djlinks['to_type'] = suarr::value_replace($djlinks['to_type'], array(
|
118 |
-
'url' => 'URL'
|
119 |
-
), false, false);
|
120 |
-
|
121 |
-
$djlinks['nofollow'] = suarr::value_replace($djlinks['nofollow'], array(
|
122 |
-
0 => 'No'
|
123 |
-
, 1 => 'Yes'
|
124 |
-
), false, false);
|
125 |
-
|
126 |
-
} else
|
127 |
$djlinks = array(array_fill_keys($csv_headers, ''));
|
128 |
|
129 |
suio::export_csv($djlinks);
|
111 |
, 'nofollow' => 'Nofollow'
|
112 |
, 'target' => 'Target'
|
113 |
);
|
114 |
+
if (is_array($djlinks) && count($djlinks))
|
115 |
$djlinks = suarr::key_replace($djlinks, $csv_headers, true, true);
|
116 |
+
else
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
$djlinks = array(array_fill_keys($csv_headers, ''));
|
118 |
|
119 |
suio::export_csv($djlinks);
|
modules/widgets/widgets.php
CHANGED
@@ -127,15 +127,15 @@ class SU_Widget_SiloedTerms extends WP_Widget {
|
|
127 |
$count = isset($instance['count']) ? (bool)$instance['count'] : false;
|
128 |
$use_desc_for_title = isset($instance['use_desc_for_title']) ? (bool)$instance['use_desc_for_title'] : true;
|
129 |
?>
|
130 |
-
<p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e( 'Title:' ); ?></label>
|
131 |
<input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /></p>
|
132 |
|
133 |
<p><input type="checkbox" class="checkbox" id="<?php echo $this->get_field_id('count'); ?>" name="<?php echo $this->get_field_name('count'); ?>"<?php checked( $count ); ?> />
|
134 |
-
<label for="<?php echo $this->get_field_id('count'); ?>"><?php _e( 'Show post counts' ); ?></label>
|
135 |
<br /><input type="checkbox" class="checkbox" id="<?php echo $this->get_field_id('use_desc_for_title'); ?>" name="<?php echo $this->get_field_name('use_desc_for_title'); ?>"<?php checked( $use_desc_for_title ); ?> />
|
136 |
-
<label for="<?php echo $this->get_field_id('use_desc_for_title'); ?>"><?php _e( 'Use term descriptions in title attributes' ); ?></label></p>
|
137 |
|
138 |
-
<p><label for="<?php echo $this->get_field_id('taxonomy'); ?>"><?php _e('Taxonomy:') ?></label>
|
139 |
<select class="widefat" id="<?php echo $this->get_field_id('taxonomy'); ?>" name="<?php echo $this->get_field_name('taxonomy'); ?>">
|
140 |
<?php foreach ( get_object_taxonomies('post') as $taxonomy ) :
|
141 |
$tax = get_taxonomy($taxonomy);
|
@@ -214,7 +214,7 @@ class SU_Widget_FooterLinks extends WP_Widget {
|
|
214 |
$title = esc_attr( $instance['title'] );
|
215 |
$display = empty($instance['display']) ? 'list' : $instance['display'];
|
216 |
?>
|
217 |
-
<p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e( 'Title: <em>(optional)</em>' ); ?></label>
|
218 |
<input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /></p>
|
219 |
|
220 |
<p>
|
127 |
$count = isset($instance['count']) ? (bool)$instance['count'] : false;
|
128 |
$use_desc_for_title = isset($instance['use_desc_for_title']) ? (bool)$instance['use_desc_for_title'] : true;
|
129 |
?>
|
130 |
+
<p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e( 'Title:', 'seo-ultimate' ); ?></label>
|
131 |
<input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /></p>
|
132 |
|
133 |
<p><input type="checkbox" class="checkbox" id="<?php echo $this->get_field_id('count'); ?>" name="<?php echo $this->get_field_name('count'); ?>"<?php checked( $count ); ?> />
|
134 |
+
<label for="<?php echo $this->get_field_id('count'); ?>"><?php _e( 'Show post counts', 'seo-ultimate' ); ?></label>
|
135 |
<br /><input type="checkbox" class="checkbox" id="<?php echo $this->get_field_id('use_desc_for_title'); ?>" name="<?php echo $this->get_field_name('use_desc_for_title'); ?>"<?php checked( $use_desc_for_title ); ?> />
|
136 |
+
<label for="<?php echo $this->get_field_id('use_desc_for_title'); ?>"><?php _e( 'Use term descriptions in title attributes', 'seo-ultimate' ); ?></label></p>
|
137 |
|
138 |
+
<p><label for="<?php echo $this->get_field_id('taxonomy'); ?>"><?php _e('Taxonomy:', 'seo-ultimate') ?></label>
|
139 |
<select class="widefat" id="<?php echo $this->get_field_id('taxonomy'); ?>" name="<?php echo $this->get_field_name('taxonomy'); ?>">
|
140 |
<?php foreach ( get_object_taxonomies('post') as $taxonomy ) :
|
141 |
$tax = get_taxonomy($taxonomy);
|
214 |
$title = esc_attr( $instance['title'] );
|
215 |
$display = empty($instance['display']) ? 'list' : $instance['display'];
|
216 |
?>
|
217 |
+
<p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e( 'Title: <em>(optional)</em>', 'seo-ultimate' ); ?></label>
|
218 |
<input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /></p>
|
219 |
|
220 |
<p>
|
plugin/class.seo-ultimate.php
CHANGED
@@ -180,6 +180,7 @@ class SEO_Ultimate {
|
|
180 |
/********** ACTION & FILTER HOOKS **********/
|
181 |
|
182 |
//Initializes modules at WordPress initialization
|
|
|
183 |
add_action('init', array(&$this, 'init'));
|
184 |
|
185 |
//Hook to output all <head> code
|
@@ -597,9 +598,6 @@ class SEO_Ultimate {
|
|
597 |
*/
|
598 |
function init() {
|
599 |
|
600 |
-
//Allow translation of this plugin
|
601 |
-
load_plugin_textdomain('seo-ultimate', '', plugin_basename($this->plugin_dir_path));
|
602 |
-
|
603 |
//Load default module settings and run modules' init tasks
|
604 |
foreach ($this->modules as $key => $module) {
|
605 |
//Accessing $module directly causes problems when the modules use the &$this reference
|
@@ -617,6 +615,13 @@ class SEO_Ultimate {
|
|
617 |
}
|
618 |
}
|
619 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
620 |
/**
|
621 |
* Attached to WordPress' admin_init hook.
|
622 |
* Calls the admin_page_init() function of the current module(s).
|
@@ -1153,6 +1158,8 @@ class SEO_Ultimate {
|
|
1153 |
, 'Bugfix' => 'bugfix'
|
1154 |
, 'Improvement' => 'improvement'
|
1155 |
, 'Security Fix' => 'security'
|
|
|
|
|
1156 |
);
|
1157 |
|
1158 |
$change_labels = array(
|
@@ -1161,6 +1168,8 @@ class SEO_Ultimate {
|
|
1161 |
, 'bugfix' => array(__('bugfix', 'seo-ultimate'), __('bugfixes', 'seo-ultimate'))
|
1162 |
, 'improvement' => array(__('improvement', 'seo-ultimate'), __('improvements', 'seo-ultimate'))
|
1163 |
, 'security' => array(__('security fix', 'seo-ultimate'), __('security fixes', 'seo-ultimate'))
|
|
|
|
|
1164 |
);
|
1165 |
|
1166 |
$changes = array();
|
180 |
/********** ACTION & FILTER HOOKS **********/
|
181 |
|
182 |
//Initializes modules at WordPress initialization
|
183 |
+
add_action('init', array(&$this, 'load_textdomain'), 0); //Run before widgets_init hook (wp-includes/default-widgets.php)
|
184 |
add_action('init', array(&$this, 'init'));
|
185 |
|
186 |
//Hook to output all <head> code
|
598 |
*/
|
599 |
function init() {
|
600 |
|
|
|
|
|
|
|
601 |
//Load default module settings and run modules' init tasks
|
602 |
foreach ($this->modules as $key => $module) {
|
603 |
//Accessing $module directly causes problems when the modules use the &$this reference
|
615 |
}
|
616 |
}
|
617 |
|
618 |
+
/**
|
619 |
+
* @since 6.9.7
|
620 |
+
*/
|
621 |
+
function load_textdomain() {
|
622 |
+
load_plugin_textdomain('seo-ultimate', '', trailingslashit(plugin_basename($this->plugin_dir_path)) . 'translations');
|
623 |
+
}
|
624 |
+
|
625 |
/**
|
626 |
* Attached to WordPress' admin_init hook.
|
627 |
* Calls the admin_page_init() function of the current module(s).
|
1158 |
, 'Bugfix' => 'bugfix'
|
1159 |
, 'Improvement' => 'improvement'
|
1160 |
, 'Security Fix' => 'security'
|
1161 |
+
, 'New Translation' => 'new-lang'
|
1162 |
+
, 'Updated Translation' => 'updated-lang'
|
1163 |
);
|
1164 |
|
1165 |
$change_labels = array(
|
1168 |
, 'bugfix' => array(__('bugfix', 'seo-ultimate'), __('bugfixes', 'seo-ultimate'))
|
1169 |
, 'improvement' => array(__('improvement', 'seo-ultimate'), __('improvements', 'seo-ultimate'))
|
1170 |
, 'security' => array(__('security fix', 'seo-ultimate'), __('security fixes', 'seo-ultimate'))
|
1171 |
+
, 'new-lang' => array(__('new language pack', 'seo-ultimate'), __('new language packs', 'seo-ultimate'))
|
1172 |
+
, 'updated-lang'=> array(__('language pack update', 'seo-ultimate'), __('language pack updates', 'seo-ultimate'))
|
1173 |
);
|
1174 |
|
1175 |
$changes = array();
|
readme.txt
CHANGED
@@ -3,12 +3,12 @@ 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, base, title, title tag, wp_title, meta, robots, noindex, nofollow, canonical, HTTP headers, 404, robots.txt, htaccess, slugs, url, anchor, more, link, excerpt, permalink, links, autolinks, code, footer, settings, redirect, 301, 302, 307, modules, uninstallable, reinstallable, downgradable, import, export, CSV, affiliate
|
4 |
Requires at least: 3.2
|
5 |
Tested up to: 3.2
|
6 |
-
Stable tag: 6.9.
|
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 |
|
10 |
== Description ==
|
11 |
-
|
12 |
= Recent Releases =
|
13 |
|
14 |
* Version 6.9 adds the Settings Monitor module
|
@@ -265,6 +265,12 @@ Frequently asked questions, settings help, and troubleshooting tips for SEO Ulti
|
|
265 |
|
266 |
== Changelog ==
|
267 |
|
|
|
|
|
|
|
|
|
|
|
|
|
268 |
= Version 6.9.6 (September 23, 2011) =
|
269 |
* Bugfix: Deeplink Juggernaut now applies changes to sitewide link caps gradually instead of all at once, in order to alleviate out-of-memory errors and large processing overhead on sites with many posts
|
270 |
|
3 |
Tags: seo, SEO Ultimate, suite, google, yahoo, bing, search engines, admin, post, page, custom post types, categories, tags, terms, custom taxonomies, base, title, title tag, wp_title, meta, robots, noindex, nofollow, canonical, HTTP headers, 404, robots.txt, htaccess, slugs, url, anchor, more, link, excerpt, permalink, links, autolinks, code, footer, settings, redirect, 301, 302, 307, modules, uninstallable, reinstallable, downgradable, import, export, CSV, affiliate
|
4 |
Requires at least: 3.2
|
5 |
Tested up to: 3.2
|
6 |
+
Stable tag: 6.9.7
|
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 |
|
10 |
== Description ==
|
11 |
+
|
12 |
= Recent Releases =
|
13 |
|
14 |
* Version 6.9 adds the Settings Monitor module
|
265 |
|
266 |
== Changelog ==
|
267 |
|
268 |
+
= Version 6.9.7 (October 28, 2011) =
|
269 |
+
* Bugfix: Fixed errors that appeared in Deeplink Juggernaut CSV exports
|
270 |
+
* Bugfix: Deeplink Juggernaut now handles get_permalink() errors silently
|
271 |
+
* Bugfix: Added missing textdomains to some strings
|
272 |
+
* Bugfix: Fixed some strings that were being gettexted before the plugin textdomain was loaded
|
273 |
+
|
274 |
= Version 6.9.6 (September 23, 2011) =
|
275 |
* Bugfix: Deeplink Juggernaut now applies changes to sitewide link caps gradually instead of all at once, in order to alleviate out-of-memory errors and large processing overhead on sites with many posts
|
276 |
|
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: 6.9.
|
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 6.9.
|
16 |
* @link http://www.seodesignsolutions.com/wordpress-seo/ SEO Ultimate Homepage
|
17 |
*/
|
18 |
|
@@ -47,10 +47,10 @@ define('SU_MINIMUM_WP_VER', '3.1.3');
|
|
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', '6.9.
|
51 |
define('SU_AUTHOR', 'SEO Design Solutions');
|
52 |
define('SU_AUTHOR_URI', 'http://www.seodesignsolutions.com/');
|
53 |
-
define('SU_USER_AGENT', 'SeoUltimate/6.9.
|
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: 6.9.7
|
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 6.9.7
|
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', '6.9.7');
|
51 |
define('SU_AUTHOR', 'SEO Design Solutions');
|
52 |
define('SU_AUTHOR_URI', 'http://www.seodesignsolutions.com/');
|
53 |
+
define('SU_USER_AGENT', 'SeoUltimate/6.9.7');
|
54 |
|
55 |
/********** INCLUDES **********/
|
56 |
|