Version Description
Download this release
Release Info
Developer | JohnLamansky |
Plugin | SEO Ultimate |
Version | 7.2.5 |
Comparing to | |
See all releases |
Code changes from version 7.2.4 to 7.2.5
- includes/jlwp/functions.php +13 -0
- modules/autolinks/autolinks.php +1 -1
- modules/class.su-module.php +175 -15
- modules/modules/modules.php +1 -1
- modules/settings/install.css +5 -0
- modules/settings/install.php +83 -8
- modules/settings/settings.php +44 -3
- modules/settings/uninstall.php +44 -1
- modules/widgets/widgets.php +7 -1
- plugin/class.seo-ultimate.php +82 -18
- plugin/class.su-installer.php +3 -1
- readme.txt +11 -3
- seo-ultimate.php +4 -4
- translations/seo-ultimate.pot +156 -135
includes/jlwp/functions.php
CHANGED
@@ -279,6 +279,19 @@ class suwp {
|
|
279 |
|
280 |
return false;
|
281 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
282 |
}
|
283 |
|
284 |
?>
|
279 |
|
280 |
return false;
|
281 |
}
|
282 |
+
|
283 |
+
function get_admin_scope() {
|
284 |
+
if (is_blog_admin())
|
285 |
+
return 'blog';
|
286 |
+
|
287 |
+
if (is_network_admin())
|
288 |
+
return 'network';
|
289 |
+
|
290 |
+
if (is_user_admin())
|
291 |
+
return 'user';
|
292 |
+
|
293 |
+
return false;
|
294 |
+
}
|
295 |
}
|
296 |
|
297 |
?>
|
modules/autolinks/autolinks.php
CHANGED
@@ -15,7 +15,7 @@ class SU_Autolinks extends SU_Module {
|
|
15 |
if (function_exists('json_encode')) {
|
16 |
$this->children_admin_page_tabs_form();
|
17 |
} else {
|
18 |
-
$this->print_message('error', sprintf(__('Deeplink Juggernaut requires PHP 5.2 or above in SEO Ultimate 6.0 and later. (Note that WordPress itself
|
19 |
return;
|
20 |
}
|
21 |
|
15 |
if (function_exists('json_encode')) {
|
16 |
$this->children_admin_page_tabs_form();
|
17 |
} else {
|
18 |
+
$this->print_message('error', sprintf(__('Deeplink Juggernaut requires PHP 5.2 or above in SEO Ultimate 6.0 and later. (Note that WordPress itself requires PHP 5.2 as well, starting with WordPress 3.2.) If you aren’t sure how to upgrade PHP, please ask your webhost. In the meantime, you can return to an older version of Deeplink Juggernaut that supports your version of PHP by <a href="%s">downgrading</a> to SEO Ultimate 5.9.', 'seo-ultimate'), $this->get_admin_url('settings').'#su-downgrade'));
|
19 |
return;
|
20 |
}
|
21 |
|
modules/class.su-module.php
CHANGED
@@ -221,6 +221,26 @@ class SU_Module {
|
|
221 |
*/
|
222 |
function get_menu_parent_hook() { return $this->get_menu_parent(); }
|
223 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
224 |
/**
|
225 |
* The status (enabled/silenced/hidden) of the module when the module is newly added to the plugin.
|
226 |
*
|
@@ -327,6 +347,13 @@ class SU_Module {
|
|
327 |
*/
|
328 |
function admin_page_init() { }
|
329 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
330 |
/**
|
331 |
* The contents of the administration page.
|
332 |
*
|
@@ -443,7 +470,11 @@ class SU_Module {
|
|
443 |
if ($key === false) {
|
444 |
if (($key = $this->get_parent_module()) && $this->plugin->module_exists($key)) {
|
445 |
|
446 |
-
|
|
|
|
|
|
|
|
|
447 |
$first_tab = reset($tabs);
|
448 |
$anchor = '#' . $first_tab['id'];
|
449 |
} else {
|
@@ -453,6 +484,9 @@ class SU_Module {
|
|
453 |
$key = $this->get_module_key();
|
454 |
}
|
455 |
|
|
|
|
|
|
|
456 |
if (!$this->plugin->call_module_func($key, 'get_menu_title', $menu_title) || !$menu_title)
|
457 |
return false;
|
458 |
|
@@ -460,7 +494,12 @@ class SU_Module {
|
|
460 |
if ($this->plugin->call_module_func($key, 'get_menu_parent', $custom_basepage) && sustr::endswith($custom_basepage, '.php'))
|
461 |
$basepage = $custom_basepage;
|
462 |
|
463 |
-
|
|
|
|
|
|
|
|
|
|
|
464 |
}
|
465 |
|
466 |
/**
|
@@ -550,21 +589,30 @@ class SU_Module {
|
|
550 |
*/
|
551 |
function get_children_admin_page_tabs() {
|
552 |
$tabs = $this->get_admin_page_tabs();
|
|
|
553 |
|
554 |
foreach ($this->modules as $key => $x_module) {
|
555 |
$module =& $this->modules[$key];
|
556 |
-
$child_tabs = $module->get_admin_page_tabs();
|
557 |
-
|
558 |
-
if (empty($child_tabs))
|
559 |
-
$child_tabs[] = array(
|
560 |
-
'title' => $module->get_module_subtitle()
|
561 |
-
, 'id' => $this->plugin->key_to_hook($key)
|
562 |
-
, 'callback' => array(&$module, 'admin_page_contents')
|
563 |
-
);
|
564 |
|
565 |
-
|
566 |
-
|
567 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
568 |
}
|
569 |
}
|
570 |
|
@@ -1283,6 +1331,12 @@ class SU_Module {
|
|
1283 |
case 'hidden':
|
1284 |
return "<input name='$name'$inputid value='$value' type='hidden' />";
|
1285 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
1286 |
}
|
1287 |
|
1288 |
return '';
|
@@ -2026,6 +2080,53 @@ class SU_Module {
|
|
2026 |
$this->textareas(array($id => $title), $rows, $cols);
|
2027 |
}
|
2028 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2029 |
/********** ADMIN SECURITY FUNCTIONS **********/
|
2030 |
|
2031 |
/**
|
@@ -2381,6 +2482,56 @@ class SU_Module {
|
|
2381 |
return $html;
|
2382 |
}
|
2383 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2384 |
/**
|
2385 |
* Turns a <tr> into a post meta subsection.
|
2386 |
*
|
@@ -2537,7 +2688,7 @@ class SU_Module {
|
|
2537 |
* @param string $name The value of the textbox's name/ID attributes
|
2538 |
* @param string $value The current database string associated with this textbox
|
2539 |
*/
|
2540 |
-
function get_jlsuggest_box($name, $value, $params='') {
|
2541 |
|
2542 |
list($to_genus, $to_type, $to_id) = $this->jlsuggest_value_explode($value);
|
2543 |
|
@@ -2630,6 +2781,11 @@ class SU_Module {
|
|
2630 |
$html .= " su:params='$e_params'";
|
2631 |
}
|
2632 |
|
|
|
|
|
|
|
|
|
|
|
2633 |
$html .= " type='text' class='textbox regular-text jlsuggest'";
|
2634 |
$html .= ' title="' . __('Type a URL or start typing the name of an item on your site', 'seo-ultimate') . '"';
|
2635 |
$html .= $is_url ? '' : ' style="display:none;" ';
|
@@ -2656,9 +2812,10 @@ class SU_Module {
|
|
2656 |
* @since 6.0
|
2657 |
*
|
2658 |
* @param string $value The JLSuggest database string to convert.
|
|
|
2659 |
* @return string The URL of the referenced destination
|
2660 |
*/
|
2661 |
-
function jlsuggest_value_to_url($value) {
|
2662 |
|
2663 |
list($to_genus, $to_type, $to_id) = $this->jlsuggest_value_explode($value);
|
2664 |
|
@@ -2669,6 +2826,9 @@ class SU_Module {
|
|
2669 |
$to_id = (int)$to_id;
|
2670 |
switch (get_post_status($to_id)) {
|
2671 |
case 'publish':
|
|
|
|
|
|
|
2672 |
return get_permalink($to_id);
|
2673 |
case false: //Post doesn't exist
|
2674 |
default: //Post exists but isn't published
|
221 |
*/
|
222 |
function get_menu_parent_hook() { return $this->get_menu_parent(); }
|
223 |
|
224 |
+
/**
|
225 |
+
* @since 7.2.5
|
226 |
+
*/
|
227 |
+
function belongs_in_admin($admin_scope = null) {
|
228 |
+
|
229 |
+
if ($admin_scope === null)
|
230 |
+
$admin_scope = suwp::get_admin_scope();
|
231 |
+
|
232 |
+
switch ($admin_scope) {
|
233 |
+
case 'blog':
|
234 |
+
return true;
|
235 |
+
break;
|
236 |
+
case 'network':
|
237 |
+
case 'user':
|
238 |
+
default:
|
239 |
+
return false;
|
240 |
+
break;
|
241 |
+
}
|
242 |
+
}
|
243 |
+
|
244 |
/**
|
245 |
* The status (enabled/silenced/hidden) of the module when the module is newly added to the plugin.
|
246 |
*
|
347 |
*/
|
348 |
function admin_page_init() { }
|
349 |
|
350 |
+
/**
|
351 |
+
* Is called at WordPress' admin_init hook when the post editor is loaded.
|
352 |
+
*
|
353 |
+
* @since 7.3
|
354 |
+
*/
|
355 |
+
function editor_init() { }
|
356 |
+
|
357 |
/**
|
358 |
* The contents of the administration page.
|
359 |
*
|
470 |
if ($key === false) {
|
471 |
if (($key = $this->get_parent_module()) && $this->plugin->module_exists($key)) {
|
472 |
|
473 |
+
$tabs = $this->get_admin_page_tabs();
|
474 |
+
if (!is_array($tabs))
|
475 |
+
return false;
|
476 |
+
|
477 |
+
if (count($tabs)) {
|
478 |
$first_tab = reset($tabs);
|
479 |
$anchor = '#' . $first_tab['id'];
|
480 |
} else {
|
484 |
$key = $this->get_module_key();
|
485 |
}
|
486 |
|
487 |
+
if (!$this->plugin->call_module_func($key, 'belongs_in_admin', $belongs_in_admin) || !$belongs_in_admin)
|
488 |
+
return false;
|
489 |
+
|
490 |
if (!$this->plugin->call_module_func($key, 'get_menu_title', $menu_title) || !$menu_title)
|
491 |
return false;
|
492 |
|
494 |
if ($this->plugin->call_module_func($key, 'get_menu_parent', $custom_basepage) && sustr::endswith($custom_basepage, '.php'))
|
495 |
$basepage = $custom_basepage;
|
496 |
|
497 |
+
if (is_network_admin() && $this->belongs_in_admin('network'))
|
498 |
+
$admin_url = 'network_admin_url';
|
499 |
+
else
|
500 |
+
$admin_url = 'admin_url';
|
501 |
+
|
502 |
+
return $admin_url($basepage.'?page='.$this->plugin->key_to_hook($key).$anchor);
|
503 |
}
|
504 |
|
505 |
/**
|
589 |
*/
|
590 |
function get_children_admin_page_tabs() {
|
591 |
$tabs = $this->get_admin_page_tabs();
|
592 |
+
if (!is_array($tabs)) $tabs = array();
|
593 |
|
594 |
foreach ($this->modules as $key => $x_module) {
|
595 |
$module =& $this->modules[$key];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
596 |
|
597 |
+
if ($module->belongs_in_admin()) {
|
598 |
+
$child_tabs = $module->get_admin_page_tabs();
|
599 |
+
|
600 |
+
if (is_array($child_tabs)) {
|
601 |
+
|
602 |
+
if (empty($child_tabs))
|
603 |
+
$child_tabs[] = array(
|
604 |
+
'title' => $module->get_module_subtitle()
|
605 |
+
, 'id' => $this->plugin->key_to_hook($key)
|
606 |
+
, 'callback' => array(&$module, 'admin_page_contents')
|
607 |
+
);
|
608 |
+
|
609 |
+
foreach ($child_tabs as $child_tab) {
|
610 |
+
if (is_array($child_tab) && !is_array($child_tab['callback']))
|
611 |
+
$child_tab['callback'] = array(&$module, $child_tab['callback']);
|
612 |
+
|
613 |
+
$tabs[] = $child_tab;
|
614 |
+
}
|
615 |
+
}
|
616 |
}
|
617 |
}
|
618 |
|
1331 |
case 'hidden':
|
1332 |
return "<input name='$name'$inputid value='$value' type='hidden' />";
|
1333 |
break;
|
1334 |
+
case 'jlsuggest':
|
1335 |
+
$params = isset($extra['params']) ? $extra['params'] : '';
|
1336 |
+
$placeholder = isset($extra['placeholder']) ? $extra['placeholder'] : '';
|
1337 |
+
|
1338 |
+
return $this->get_jlsuggest_box($name, $value, $params, $placeholder);
|
1339 |
+
break;
|
1340 |
}
|
1341 |
|
1342 |
return '';
|
2080 |
$this->textareas(array($id => $title), $rows, $cols);
|
2081 |
}
|
2082 |
|
2083 |
+
/**
|
2084 |
+
* @since 7.3
|
2085 |
+
*/
|
2086 |
+
function jlsuggest_boxes($jls_boxes) {
|
2087 |
+
|
2088 |
+
if ($this->is_action('update')) {
|
2089 |
+
foreach ($jls_boxes as $jls_box) {
|
2090 |
+
|
2091 |
+
if (!isset($jls_box['id']))
|
2092 |
+
continue;
|
2093 |
+
|
2094 |
+
$id = $jls_box['id'];
|
2095 |
+
|
2096 |
+
if (isset($_POST[$id]))
|
2097 |
+
$this->update_setting($id, stripslashes($_POST[$id]));
|
2098 |
+
}
|
2099 |
+
}
|
2100 |
+
|
2101 |
+
foreach ($jls_boxes as $jls_box) {
|
2102 |
+
|
2103 |
+
if (!isset($jls_box['id']))
|
2104 |
+
continue;
|
2105 |
+
|
2106 |
+
$jls_box = wp_parse_args($jls_box, array(
|
2107 |
+
'title' => ''
|
2108 |
+
, 'params' => ''
|
2109 |
+
));
|
2110 |
+
|
2111 |
+
extract($jls_box, EXTR_SKIP);
|
2112 |
+
|
2113 |
+
register_setting($this->get_module_key(), $id);
|
2114 |
+
|
2115 |
+
echo "<tr valign='top'>\n";
|
2116 |
+
if ($title) echo "<th scope='row'><label for='$id'>$title</label></th>\n";
|
2117 |
+
echo "<td>";
|
2118 |
+
echo $this->get_jlsuggest_box($id, $this->get_setting($id));
|
2119 |
+
echo "</td>\n</tr>\n";
|
2120 |
+
}
|
2121 |
+
}
|
2122 |
+
|
2123 |
+
/**
|
2124 |
+
* @since 7.3
|
2125 |
+
*/
|
2126 |
+
function jlsuggest_box($id, $title, $params='') {
|
2127 |
+
$this->jlsuggest_boxes(array(compact('id', 'title', 'params')));
|
2128 |
+
}
|
2129 |
+
|
2130 |
/********** ADMIN SECURITY FUNCTIONS **********/
|
2131 |
|
2132 |
/**
|
2482 |
return $html;
|
2483 |
}
|
2484 |
|
2485 |
+
/**
|
2486 |
+
* Generates the HTML for multiple post meta JLSuggest boxes.
|
2487 |
+
*
|
2488 |
+
* @since 7.3
|
2489 |
+
*
|
2490 |
+
* @param array $jls_boxes An array of JLSuggest boxes. (Field/setting IDs are the keys, and descriptions are the values.)
|
2491 |
+
* @return string The HTML for the JLSuggest boxes.
|
2492 |
+
*/
|
2493 |
+
function get_postmeta_jlsuggest_boxes($jls_boxes) {
|
2494 |
+
|
2495 |
+
$html = '';
|
2496 |
+
|
2497 |
+
foreach ($jls_boxes as $jls_box) {
|
2498 |
+
|
2499 |
+
if (!isset($jls_box['id']) || !isset($jls_box['title']))
|
2500 |
+
continue;
|
2501 |
+
|
2502 |
+
$id = $jls_box['id'];
|
2503 |
+
$title = $jls_box['title'];
|
2504 |
+
$params = isset($jls_box['params']) ? $jls_box['params'] : false;
|
2505 |
+
|
2506 |
+
register_setting('seo-ultimate', $id);
|
2507 |
+
$value = su_esc_editable_html($this->get_postmeta($id));
|
2508 |
+
$id = "_su_".su_esc_attr($id);
|
2509 |
+
|
2510 |
+
$html .= "<tr class='su jlsuggestbox' valign='middle'>\n<th scope='row' class='su'><label for='$id'>$title</label></th>\n"
|
2511 |
+
."<td class='su'>";
|
2512 |
+
$html .= $this->get_jlsuggest_box($id, $value, $params);
|
2513 |
+
$html .= "</td>\n</tr>\n";
|
2514 |
+
}
|
2515 |
+
|
2516 |
+
return $html;
|
2517 |
+
}
|
2518 |
+
|
2519 |
+
/**
|
2520 |
+
* Generates the HTML for a single post meta JLSuggest box.
|
2521 |
+
*
|
2522 |
+
* @since 7.3
|
2523 |
+
* @uses get_postmeta_jlsuggest_boxes()
|
2524 |
+
*
|
2525 |
+
* @param string $id The ID of the HTML element.
|
2526 |
+
* @param string $title The label of the HTML element.
|
2527 |
+
* @param string $params The value of the su:params attribute of the JLSuggest box (optional).
|
2528 |
+
* @return string The HTML that would render the JLSuggest box.
|
2529 |
+
*/
|
2530 |
+
function get_postmeta_jlsuggest_box($id, $title, $params=false) {
|
2531 |
+
$jls_box = compact('id', 'title', 'params');
|
2532 |
+
return $this->get_postmeta_jlsuggest_boxes(array($jls_box));
|
2533 |
+
}
|
2534 |
+
|
2535 |
/**
|
2536 |
* Turns a <tr> into a post meta subsection.
|
2537 |
*
|
2688 |
* @param string $name The value of the textbox's name/ID attributes
|
2689 |
* @param string $value The current database string associated with this textbox
|
2690 |
*/
|
2691 |
+
function get_jlsuggest_box($name, $value, $params='', $placeholder='') {
|
2692 |
|
2693 |
list($to_genus, $to_type, $to_id) = $this->jlsuggest_value_explode($value);
|
2694 |
|
2781 |
$html .= " su:params='$e_params'";
|
2782 |
}
|
2783 |
|
2784 |
+
if ($placeholder) {
|
2785 |
+
$e_placeholder = su_esc_attr($placeholder);
|
2786 |
+
$html .= " placeholder='$e_placeholder'";
|
2787 |
+
}
|
2788 |
+
|
2789 |
$html .= " type='text' class='textbox regular-text jlsuggest'";
|
2790 |
$html .= ' title="' . __('Type a URL or start typing the name of an item on your site', 'seo-ultimate') . '"';
|
2791 |
$html .= $is_url ? '' : ' style="display:none;" ';
|
2812 |
* @since 6.0
|
2813 |
*
|
2814 |
* @param string $value The JLSuggest database string to convert.
|
2815 |
+
* @param bool $get_src_if_media Whether to get the URL to the actual media item rather than the URL to its WP-powered singular page, if the item is an attachment.
|
2816 |
* @return string The URL of the referenced destination
|
2817 |
*/
|
2818 |
+
function jlsuggest_value_to_url($value, $get_src_if_media=false) {
|
2819 |
|
2820 |
list($to_genus, $to_type, $to_id) = $this->jlsuggest_value_explode($value);
|
2821 |
|
2826 |
$to_id = (int)$to_id;
|
2827 |
switch (get_post_status($to_id)) {
|
2828 |
case 'publish':
|
2829 |
+
if ($get_src_if_media && 'attachment' == get_post_type($to_id))
|
2830 |
+
return wp_get_attachment_url($to_id);
|
2831 |
+
|
2832 |
return get_permalink($to_id);
|
2833 |
case false: //Post doesn't exist
|
2834 |
default: //Post exists but isn't published
|
modules/modules/modules.php
CHANGED
@@ -75,7 +75,7 @@ STR;
|
|
75 |
$module =& $this->plugin->modules[$key];
|
76 |
|
77 |
//On some setups, get_parent_class() returns the class name in lowercase
|
78 |
-
if (strcasecmp(get_parent_class($module), 'SU_Module') == 0 && !in_array($key,
|
79 |
$modules[$key] = $module->get_module_title();
|
80 |
}
|
81 |
|
75 |
$module =& $this->plugin->modules[$key];
|
76 |
|
77 |
//On some setups, get_parent_class() returns the class name in lowercase
|
78 |
+
if (strcasecmp(get_parent_class($module), 'SU_Module') == 0 && !in_array($key, $this->plugin->get_invincible_modules()) && $module->is_independent_module())
|
79 |
$modules[$key] = $module->get_module_title();
|
80 |
}
|
81 |
|
modules/settings/install.css
CHANGED
@@ -21,4 +21,9 @@
|
|
21 |
|
22 |
.su-xgrade label.current-setting {
|
23 |
background-color: #FFFFE0;
|
|
|
|
|
|
|
|
|
|
|
24 |
}
|
21 |
|
22 |
.su-xgrade label.current-setting {
|
23 |
background-color: #FFFFE0;
|
24 |
+
}
|
25 |
+
|
26 |
+
#su-reinstall form, #su-reinstall form p.submit {
|
27 |
+
padding: 0;
|
28 |
+
margin: 0;
|
29 |
}
|
modules/settings/install.php
CHANGED
@@ -19,11 +19,55 @@ class SU_Install extends SU_Module {
|
|
19 |
function get_menu_title() { return __('Installer', 'seo-ultimate'); }
|
20 |
|
21 |
function get_admin_page_tabs() {
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
}
|
28 |
|
29 |
function init() {
|
@@ -34,6 +78,11 @@ class SU_Install extends SU_Module {
|
|
34 |
|
35 |
function upgrade_tab() {
|
36 |
|
|
|
|
|
|
|
|
|
|
|
37 |
$radiobuttons = $this->get_version_radiobuttons(SU_VERSION, false);
|
38 |
if (is_array($radiobuttons)) {
|
39 |
if (count($radiobuttons) > 1) {
|
@@ -55,6 +104,11 @@ class SU_Install extends SU_Module {
|
|
55 |
|
56 |
function downgrade_tab() {
|
57 |
|
|
|
|
|
|
|
|
|
|
|
58 |
$radiobuttons = $this->get_version_radiobuttons(SU_DOWNGRADE_LIMIT, SU_VERSION);
|
59 |
if (is_array($radiobuttons)) {
|
60 |
if (count($radiobuttons) > 1) {
|
@@ -77,6 +131,12 @@ class SU_Install extends SU_Module {
|
|
77 |
}
|
78 |
|
79 |
function reinstall_tab() {
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
echo "\n<p>";
|
81 |
_e('To download and install a fresh copy of the SEO Ultimate version you are currently using, click the “Reinstall” button below.', 'seo-ultimate');
|
82 |
echo "</p>\n";
|
@@ -126,9 +186,6 @@ class SU_Install extends SU_Module {
|
|
126 |
|
127 |
function do_installation() {
|
128 |
|
129 |
-
if ( ! current_user_can('update_plugins') )
|
130 |
-
wp_die(__('You do not have sufficient permissions to upgrade/downgrade plugins for this blog.', 'seo-ultimate'));
|
131 |
-
|
132 |
$nv = sustr::preg_filter('0-9a-zA-Z .', $_POST['version']);
|
133 |
if (!strlen($nv)) return false;
|
134 |
|
@@ -138,12 +195,30 @@ class SU_Install extends SU_Module {
|
|
138 |
switch (version_compare($nv, SU_VERSION)) {
|
139 |
case -1: //Downgrade
|
140 |
$title = __('Downgrade to SEO Ultimate %s', 'seo-ultimate');
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
break;
|
142 |
case 0: //Reinstall
|
143 |
$title = __('Reinstall SEO Ultimate %s', 'seo-ultimate');
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
break;
|
145 |
case 1: //Upgrade
|
146 |
$title = __('Upgrade to SEO Ultimate %s', 'seo-ultimate');
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
break;
|
148 |
default:
|
149 |
return;
|
19 |
function get_menu_title() { return __('Installer', 'seo-ultimate'); }
|
20 |
|
21 |
function get_admin_page_tabs() {
|
22 |
+
|
23 |
+
$tabs = array();
|
24 |
+
|
25 |
+
if ($this->current_user_can_upgrade())
|
26 |
+
$tabs[] = array('title' => __('Upgrade', 'seo-ultimate'), 'id' => 'su-upgrade', 'callback' => 'upgrade_tab');
|
27 |
+
|
28 |
+
if ($this->current_user_can_downgrade())
|
29 |
+
$tabs[] = array('title' => __('Downgrade', 'seo-ultimate'), 'id' => 'su-downgrade', 'callback' => 'downgrade_tab');
|
30 |
+
|
31 |
+
if ($this->current_user_can_reinstall())
|
32 |
+
$tabs[] = array('title' => __('Reinstall', 'seo-ultimate'), 'id' => 'su-reinstall', 'callback' => 'reinstall_tab');
|
33 |
+
|
34 |
+
if (count($tabs))
|
35 |
+
return $tabs;
|
36 |
+
|
37 |
+
return false;
|
38 |
+
}
|
39 |
+
|
40 |
+
function belongs_in_admin($admin_scope = null) {
|
41 |
+
|
42 |
+
if ($admin_scope === null)
|
43 |
+
$admin_scope = suwp::get_admin_scope();
|
44 |
+
|
45 |
+
if ( ! function_exists( 'is_plugin_active_for_network' ) )
|
46 |
+
require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
|
47 |
+
|
48 |
+
switch ($admin_scope) {
|
49 |
+
case 'blog':
|
50 |
+
return !is_multisite() || !is_plugin_active_for_network($this->plugin->plugin_basename);
|
51 |
+
break;
|
52 |
+
case 'network':
|
53 |
+
return is_plugin_active_for_network($this->plugin->plugin_basename);
|
54 |
+
break;
|
55 |
+
default:
|
56 |
+
return false;
|
57 |
+
break;
|
58 |
+
}
|
59 |
+
}
|
60 |
+
|
61 |
+
function current_user_can_upgrade() {
|
62 |
+
return current_user_can('update_plugins') && (!is_multisite() || is_super_admin());
|
63 |
+
}
|
64 |
+
|
65 |
+
function current_user_can_downgrade() {
|
66 |
+
return current_user_can('install_plugins') && (!is_multisite() || is_super_admin());
|
67 |
+
}
|
68 |
+
|
69 |
+
function current_user_can_reinstall() {
|
70 |
+
return current_user_can('install_plugins') && (!is_multisite() || is_super_admin());
|
71 |
}
|
72 |
|
73 |
function init() {
|
78 |
|
79 |
function upgrade_tab() {
|
80 |
|
81 |
+
if (!$this->current_user_can_upgrade()) {
|
82 |
+
$this->print_message('error', __('You do not have sufficient permissions to upgrade plugins on this site.', 'seo-ultimate'));
|
83 |
+
return;
|
84 |
+
}
|
85 |
+
|
86 |
$radiobuttons = $this->get_version_radiobuttons(SU_VERSION, false);
|
87 |
if (is_array($radiobuttons)) {
|
88 |
if (count($radiobuttons) > 1) {
|
104 |
|
105 |
function downgrade_tab() {
|
106 |
|
107 |
+
if (!$this->current_user_can_downgrade()) {
|
108 |
+
$this->print_message('error', __('You do not have sufficient permissions to downgrade plugins on this site.', 'seo-ultimate'));
|
109 |
+
return;
|
110 |
+
}
|
111 |
+
|
112 |
$radiobuttons = $this->get_version_radiobuttons(SU_DOWNGRADE_LIMIT, SU_VERSION);
|
113 |
if (is_array($radiobuttons)) {
|
114 |
if (count($radiobuttons) > 1) {
|
131 |
}
|
132 |
|
133 |
function reinstall_tab() {
|
134 |
+
|
135 |
+
if (!$this->current_user_can_reinstall()) {
|
136 |
+
$this->print_message('error', __('You do not have sufficient permissions to reinstall plugins on this site.', 'seo-ultimate'));
|
137 |
+
return;
|
138 |
+
}
|
139 |
+
|
140 |
echo "\n<p>";
|
141 |
_e('To download and install a fresh copy of the SEO Ultimate version you are currently using, click the “Reinstall” button below.', 'seo-ultimate');
|
142 |
echo "</p>\n";
|
186 |
|
187 |
function do_installation() {
|
188 |
|
|
|
|
|
|
|
189 |
$nv = sustr::preg_filter('0-9a-zA-Z .', $_POST['version']);
|
190 |
if (!strlen($nv)) return false;
|
191 |
|
195 |
switch (version_compare($nv, SU_VERSION)) {
|
196 |
case -1: //Downgrade
|
197 |
$title = __('Downgrade to SEO Ultimate %s', 'seo-ultimate');
|
198 |
+
|
199 |
+
if (!$this->current_user_can_downgrade()) {
|
200 |
+
wp_die(__('You do not have sufficient permissions to downgrade plugins on this site.', 'seo-ultimate'));
|
201 |
+
return;
|
202 |
+
}
|
203 |
+
|
204 |
break;
|
205 |
case 0: //Reinstall
|
206 |
$title = __('Reinstall SEO Ultimate %s', 'seo-ultimate');
|
207 |
+
|
208 |
+
if (!$this->current_user_can_reinstall()) {
|
209 |
+
wp_die(__('You do not have sufficient permissions to reinstall plugins on this site.', 'seo-ultimate'));
|
210 |
+
return;
|
211 |
+
}
|
212 |
+
|
213 |
break;
|
214 |
case 1: //Upgrade
|
215 |
$title = __('Upgrade to SEO Ultimate %s', 'seo-ultimate');
|
216 |
+
|
217 |
+
if (!$this->current_user_can_upgrade()) {
|
218 |
+
wp_die(__('You do not have sufficient permissions to upgrade plugins on this site.', 'seo-ultimate'));
|
219 |
+
return;
|
220 |
+
}
|
221 |
+
|
222 |
break;
|
223 |
default:
|
224 |
return;
|
modules/settings/settings.php
CHANGED
@@ -9,12 +9,53 @@ if (class_exists('SU_Module')) {
|
|
9 |
|
10 |
class SU_Settings extends SU_Module {
|
11 |
|
12 |
-
function get_module_title() {
|
13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
function get_menu_title() { return __('SEO Ultimate', 'seo-ultimate'); }
|
15 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
function admin_page_contents() { $this->children_admin_page_tabs(); }
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
function add_help_tabs($screen) {
|
19 |
|
20 |
$screen->add_help_tab(array(
|
9 |
|
10 |
class SU_Settings extends SU_Module {
|
11 |
|
12 |
+
function get_module_title() {
|
13 |
+
if (is_network_admin())
|
14 |
+
return __('Plugin Management', 'seo-ultimate');
|
15 |
+
|
16 |
+
return __('Plugin Settings', 'seo-ultimate');
|
17 |
+
}
|
18 |
+
|
19 |
+
function get_page_title() {
|
20 |
+
if (is_network_admin())
|
21 |
+
return __('SEO Ultimate Plugin Management', 'seo-ultimate');
|
22 |
+
|
23 |
+
return __('SEO Ultimate Plugin Settings', 'seo-ultimate');
|
24 |
+
}
|
25 |
+
|
26 |
function get_menu_title() { return __('SEO Ultimate', 'seo-ultimate'); }
|
27 |
+
|
28 |
+
function get_menu_parent() {
|
29 |
+
if (is_network_admin())
|
30 |
+
return 'plugins.php';
|
31 |
+
|
32 |
+
return 'options-general.php';
|
33 |
+
}
|
34 |
+
|
35 |
function admin_page_contents() { $this->children_admin_page_tabs(); }
|
36 |
|
37 |
+
function belongs_in_admin($admin_scope = null) {
|
38 |
+
|
39 |
+
if ($admin_scope === null)
|
40 |
+
$admin_scope = suwp::get_admin_scope();
|
41 |
+
|
42 |
+
switch ($admin_scope) {
|
43 |
+
case 'blog':
|
44 |
+
return true;
|
45 |
+
case 'network':
|
46 |
+
|
47 |
+
if ( ! function_exists( 'is_plugin_active_for_network' ) )
|
48 |
+
require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
|
49 |
+
|
50 |
+
return is_plugin_active_for_network($this->plugin->plugin_basename);
|
51 |
+
|
52 |
+
break;
|
53 |
+
default:
|
54 |
+
return false;
|
55 |
+
break;
|
56 |
+
}
|
57 |
+
}
|
58 |
+
|
59 |
function add_help_tabs($screen) {
|
60 |
|
61 |
$screen->add_help_tab(array(
|
modules/settings/uninstall.php
CHANGED
@@ -17,12 +17,51 @@ class SU_Uninstall extends SU_Module {
|
|
17 |
function get_module_title() { return __('Uninstaller', 'seo-ultimate'); }
|
18 |
function get_module_subtitle() { return __('Uninstall', 'seo-ultimate'); }
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
function init() {
|
21 |
if ($this->is_action('su-uninstall'))
|
22 |
add_filter('su_custom_admin_page-settings', array(&$this, 'do_uninstall'));
|
23 |
}
|
24 |
|
25 |
-
function
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
echo "\n<p>";
|
27 |
_e('Uninstalling SEO Ultimate will delete your settings and the plugin’s files.', 'seo-ultimate');
|
28 |
echo "</p>\n";
|
@@ -37,6 +76,10 @@ class SU_Uninstall extends SU_Module {
|
|
37 |
}
|
38 |
|
39 |
function do_uninstall() {
|
|
|
|
|
|
|
|
|
40 |
echo "<script type='text/javascript'>jQuery('#adminmenu .current').hide(); jQuery('#toplevel_page_seo').hide();</script>";
|
41 |
echo "<div class=\"wrap\">\n";
|
42 |
echo "\n<h2>".__('Uninstall SEO Ultimate', 'seo-ultimate')."</h2>\n";
|
17 |
function get_module_title() { return __('Uninstaller', 'seo-ultimate'); }
|
18 |
function get_module_subtitle() { return __('Uninstall', 'seo-ultimate'); }
|
19 |
|
20 |
+
function get_admin_page_tabs() {
|
21 |
+
if ($this->current_user_can_uninstall())
|
22 |
+
return array(array('title' => __('Uninstall', 'seo-ultimate'), 'id' => 'su-uninstall', 'callback' => 'uninstall_tab'));
|
23 |
+
else
|
24 |
+
return false;
|
25 |
+
}
|
26 |
+
|
27 |
+
function belongs_in_admin($admin_scope = null) {
|
28 |
+
|
29 |
+
if ($admin_scope === null)
|
30 |
+
$admin_scope = suwp::get_admin_scope();
|
31 |
+
|
32 |
+
switch ($admin_scope) {
|
33 |
+
case 'blog':
|
34 |
+
|
35 |
+
if ( ! function_exists( 'is_plugin_active_for_network' ) )
|
36 |
+
require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
|
37 |
+
|
38 |
+
return !is_multisite() || !is_plugin_active_for_network($this->plugin->plugin_basename);
|
39 |
+
break;
|
40 |
+
case 'network':
|
41 |
+
return true;
|
42 |
+
break;
|
43 |
+
default:
|
44 |
+
return false;
|
45 |
+
break;
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
function current_user_can_uninstall() {
|
50 |
+
return current_user_can('delete_plugins') && (!is_multisite() || is_super_admin());
|
51 |
+
}
|
52 |
+
|
53 |
function init() {
|
54 |
if ($this->is_action('su-uninstall'))
|
55 |
add_filter('su_custom_admin_page-settings', array(&$this, 'do_uninstall'));
|
56 |
}
|
57 |
|
58 |
+
function uninstall_tab() {
|
59 |
+
|
60 |
+
if (!$this->current_user_can_uninstall()) {
|
61 |
+
$this->print_message('error', __('You do not have sufficient permissions to delete plugins on this site.', 'seo-ultimate'));
|
62 |
+
return;
|
63 |
+
}
|
64 |
+
|
65 |
echo "\n<p>";
|
66 |
_e('Uninstalling SEO Ultimate will delete your settings and the plugin’s files.', 'seo-ultimate');
|
67 |
echo "</p>\n";
|
76 |
}
|
77 |
|
78 |
function do_uninstall() {
|
79 |
+
|
80 |
+
if (!$this->current_user_can_uninstall())
|
81 |
+
wp_die(__('You do not have sufficient permissions to delete plugins on this site.', 'seo-ultimate'));
|
82 |
+
|
83 |
echo "<script type='text/javascript'>jQuery('#adminmenu .current').hide(); jQuery('#toplevel_page_seo').hide();</script>";
|
84 |
echo "<div class=\"wrap\">\n";
|
85 |
echo "\n<h2>".__('Uninstall SEO Ultimate', 'seo-ultimate')."</h2>\n";
|
modules/widgets/widgets.php
CHANGED
@@ -11,7 +11,13 @@ class SU_Widgets extends SU_Module {
|
|
11 |
|
12 |
function get_module_title() { return __('SEO Ultimate Widgets', 'seo-ultimate'); }
|
13 |
function get_menu_title() { return false; }
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
function __construct() {
|
17 |
add_action('widgets_init', array(&$this, 'register_widgets'));
|
11 |
|
12 |
function get_module_title() { return __('SEO Ultimate Widgets', 'seo-ultimate'); }
|
13 |
function get_menu_title() { return false; }
|
14 |
+
|
15 |
+
function get_admin_url() {
|
16 |
+
if (is_network_admin())
|
17 |
+
return false;
|
18 |
+
|
19 |
+
return 'widgets.php';
|
20 |
+
}
|
21 |
|
22 |
function __construct() {
|
23 |
add_action('widgets_init', array(&$this, 'register_widgets'));
|
plugin/class.seo-ultimate.php
CHANGED
@@ -216,10 +216,11 @@ class SEO_Ultimate {
|
|
216 |
add_action('admin_init', array(&$this, 'admin_init'));
|
217 |
|
218 |
//When loading the admin menu, call on our menu constructor function.
|
219 |
-
//For future-proofing purposes, we
|
220 |
//since some modules set a priority of 9 with the specific intention of running
|
221 |
//before this main plugin's hook.
|
222 |
-
add_action('admin_menu', array(&$this, '
|
|
|
223 |
|
224 |
//Hook to customize contextual help
|
225 |
add_filter('contextual_help', array(&$this, 'admin_help'), 10, 2);
|
@@ -234,6 +235,7 @@ class SEO_Ultimate {
|
|
234 |
|
235 |
//Add plugin action links
|
236 |
add_filter("plugin_action_links_{$this->plugin_basename}", array(&$this, 'plugin_action_links'));
|
|
|
237 |
|
238 |
//Add module links to plugin listing
|
239 |
add_filter('plugin_row_meta', array(&$this, 'plugin_row_meta_filter'), 10, 2);
|
@@ -500,6 +502,11 @@ class SEO_Ultimate {
|
|
500 |
else
|
501 |
$module_disabled = (isset($oldmodules[$module]) && $oldmodules[$module] == SU_MODULE_DISABLED);
|
502 |
|
|
|
|
|
|
|
|
|
|
|
503 |
//If this module is disabled...
|
504 |
if ($module_disabled) {
|
505 |
|
@@ -643,12 +650,35 @@ class SEO_Ultimate {
|
|
643 |
* @uses SU_Module::admin_page_init()
|
644 |
*/
|
645 |
function admin_init() {
|
|
|
|
|
646 |
foreach ($this->modules as $key => $x_module) {
|
647 |
-
if ($
|
|
|
|
|
648 |
$this->modules[$key]->admin_page_init();
|
649 |
}
|
650 |
}
|
651 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
652 |
/**
|
653 |
* Gets the value of a module setting.
|
654 |
*
|
@@ -667,6 +697,8 @@ class SEO_Ultimate {
|
|
667 |
else
|
668 |
return $default;
|
669 |
}
|
|
|
|
|
670 |
|
671 |
/**
|
672 |
* Saves the hit data to the database if so instructed by a module.
|
@@ -771,7 +803,7 @@ class SEO_Ultimate {
|
|
771 |
* @uses SU_Module::get_page_title()
|
772 |
* @uses key_to_hook()
|
773 |
*/
|
774 |
-
function add_menus() {
|
775 |
|
776 |
$psdata = (array)get_option('seo_ultimate', array());
|
777 |
|
@@ -782,24 +814,23 @@ class SEO_Ultimate {
|
|
782 |
&& $module->get_menu_count() > 0
|
783 |
&& $module->get_menu_parent() == 'seo'
|
784 |
&& $module->is_independent_module()
|
|
|
785 |
)
|
786 |
$count += $module->get_menu_count();
|
787 |
}
|
788 |
-
$
|
789 |
-
|
790 |
-
//Add the "SEO" menu item!
|
791 |
-
add_utility_page(__('SEO Ultimate', 'seo-ultimate'), __('SEO', 'seo-ultimate').$count_code, 'manage_options', 'seo', array(), 'div');
|
792 |
|
793 |
-
|
794 |
-
global $admin_page_hooks;
|
795 |
-
$admin_page_hooks['seo'] = 'seo';
|
796 |
|
797 |
//Add all the subitems
|
798 |
foreach ($this->modules as $key => $x_module) {
|
799 |
$module =& $this->modules[$key];
|
800 |
|
801 |
-
//Show a module on the menu only if it provides a menu title and it doesn't have an enabled parent module
|
802 |
-
if ($module->get_menu_title()
|
|
|
|
|
|
|
803 |
|
804 |
//If the module is hidden, put the module under a non-existent menu parent
|
805 |
//(this will let the module's admin page be loaded, but it won't show up on the menu)
|
@@ -815,6 +846,17 @@ class SEO_Ultimate {
|
|
815 |
|
816 |
$hook = $this->key_to_hook($key);
|
817 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
818 |
add_submenu_page($parent, $module->get_page_title(), $module->get_menu_title().$count_code,
|
819 |
'manage_options', $hook, array($module, 'admin_page'));
|
820 |
|
@@ -824,6 +866,20 @@ class SEO_Ultimate {
|
|
824 |
}
|
825 |
}
|
826 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
827 |
/**
|
828 |
* Compares two modules to determine which of the two should be displayed first on the menu.
|
829 |
* Sorts by menu position first, and title second.
|
@@ -1279,8 +1335,7 @@ class SEO_Ultimate {
|
|
1279 |
);
|
1280 |
|
1281 |
foreach ($su_actions as $module => $anchor) {
|
1282 |
-
if ($this->module_exists($module)) {
|
1283 |
-
$url = $this->modules[$module]->get_admin_url();
|
1284 |
$actions[] = "<a href='$url'>$anchor</a>";
|
1285 |
}
|
1286 |
}
|
@@ -1294,8 +1349,15 @@ class SEO_Ultimate {
|
|
1294 |
* @since 2.1
|
1295 |
*/
|
1296 |
function plugin_row_meta_filter($plugin_meta, $plugin_file) {
|
1297 |
-
if ($plugin_file == $this->plugin_basename)
|
1298 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1299 |
|
1300 |
return $plugin_meta;
|
1301 |
}
|
@@ -1315,7 +1377,8 @@ class SEO_Ultimate {
|
|
1315 |
foreach ($this->modules as $key => $x_module) {
|
1316 |
$module =& $this->modules[$key];
|
1317 |
if (strcasecmp(get_parent_class($module), 'SU_Module') == 0 && $module->is_independent_module()) {
|
1318 |
-
$
|
|
|
1319 |
}
|
1320 |
}
|
1321 |
|
@@ -1689,6 +1752,7 @@ class SEO_Ultimate {
|
|
1689 |
, 'post_status' => $stati
|
1690 |
, 'numberposts' => -1
|
1691 |
, 'post_type' => $posttypeobj->name
|
|
|
1692 |
, 'sentence' => 1
|
1693 |
, 's' => $_GET['q']
|
1694 |
));
|
216 |
add_action('admin_init', array(&$this, 'admin_init'));
|
217 |
|
218 |
//When loading the admin menu, call on our menu constructor function.
|
219 |
+
//For future-proofing purposes, we explicitly state the default priority of 10,
|
220 |
//since some modules set a priority of 9 with the specific intention of running
|
221 |
//before this main plugin's hook.
|
222 |
+
add_action('admin_menu', array(&$this, 'add_blog_admin_menus'), 10);
|
223 |
+
add_action('network_admin_menu', array(&$this, 'add_network_admin_menus'), 10);
|
224 |
|
225 |
//Hook to customize contextual help
|
226 |
add_filter('contextual_help', array(&$this, 'admin_help'), 10, 2);
|
235 |
|
236 |
//Add plugin action links
|
237 |
add_filter("plugin_action_links_{$this->plugin_basename}", array(&$this, 'plugin_action_links'));
|
238 |
+
add_filter("network_admin_plugin_action_links_{$this->plugin_basename}", array(&$this, 'plugin_action_links'));
|
239 |
|
240 |
//Add module links to plugin listing
|
241 |
add_filter('plugin_row_meta', array(&$this, 'plugin_row_meta_filter'), 10, 2);
|
502 |
else
|
503 |
$module_disabled = (isset($oldmodules[$module]) && $oldmodules[$module] == SU_MODULE_DISABLED);
|
504 |
|
505 |
+
if (in_array($module, $this->get_invincible_modules())) {
|
506 |
+
$module_disabled = false;
|
507 |
+
$oldmodules[$module] = SU_MODULE_ENABLED;
|
508 |
+
}
|
509 |
+
|
510 |
//If this module is disabled...
|
511 |
if ($module_disabled) {
|
512 |
|
650 |
* @uses SU_Module::admin_page_init()
|
651 |
*/
|
652 |
function admin_init() {
|
653 |
+
global $pagenow;
|
654 |
+
|
655 |
foreach ($this->modules as $key => $x_module) {
|
656 |
+
if ('post.php' == $pagenow)
|
657 |
+
$this->modules[$key]->editor_init();
|
658 |
+
elseif ($this->modules[$key]->is_module_admin_page())
|
659 |
$this->modules[$key]->admin_page_init();
|
660 |
}
|
661 |
}
|
662 |
|
663 |
+
/********** MODULE FUNCTIONS **********/
|
664 |
+
|
665 |
+
/**
|
666 |
+
* @since 7.2.5
|
667 |
+
*/
|
668 |
+
function get_invincible_modules() {
|
669 |
+
$ims = array('modules');
|
670 |
+
|
671 |
+
if ( ! function_exists( 'is_plugin_active_for_network' ) )
|
672 |
+
require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
|
673 |
+
|
674 |
+
if (is_multisite() && is_plugin_active_for_network($this->plugin_basename))
|
675 |
+
$ims[] = 'settings';
|
676 |
+
|
677 |
+
return $ims;
|
678 |
+
}
|
679 |
+
|
680 |
+
/********** SETTINGS FUNCTIONS **********/
|
681 |
+
|
682 |
/**
|
683 |
* Gets the value of a module setting.
|
684 |
*
|
697 |
else
|
698 |
return $default;
|
699 |
}
|
700 |
+
|
701 |
+
/********** LOGGING FUNCTIONS **********/
|
702 |
|
703 |
/**
|
704 |
* Saves the hit data to the database if so instructed by a module.
|
803 |
* @uses SU_Module::get_page_title()
|
804 |
* @uses key_to_hook()
|
805 |
*/
|
806 |
+
function add_menus($admin_scope = 'blog') {
|
807 |
|
808 |
$psdata = (array)get_option('seo_ultimate', array());
|
809 |
|
814 |
&& $module->get_menu_count() > 0
|
815 |
&& $module->get_menu_parent() == 'seo'
|
816 |
&& $module->is_independent_module()
|
817 |
+
&& $module->belongs_in_admin($admin_scope)
|
818 |
)
|
819 |
$count += $module->get_menu_count();
|
820 |
}
|
821 |
+
$main_count_code = $this->get_menu_count_code($count);
|
|
|
|
|
|
|
822 |
|
823 |
+
$added_main_menu = false;
|
|
|
|
|
824 |
|
825 |
//Add all the subitems
|
826 |
foreach ($this->modules as $key => $x_module) {
|
827 |
$module =& $this->modules[$key];
|
828 |
|
829 |
+
//Show a module on the menu only if it provides a menu title, it belongs in the current admin scope (blog/network/user), and it doesn't have an enabled parent module
|
830 |
+
if ($module->get_menu_title()
|
831 |
+
&& $module->belongs_in_admin($admin_scope)
|
832 |
+
&& (!$module->get_parent_module() || !$this->module_exists($module->get_parent_module()))
|
833 |
+
) {
|
834 |
|
835 |
//If the module is hidden, put the module under a non-existent menu parent
|
836 |
//(this will let the module's admin page be loaded, but it won't show up on the menu)
|
846 |
|
847 |
$hook = $this->key_to_hook($key);
|
848 |
|
849 |
+
if ($parent == 'seo' && !$added_main_menu) {
|
850 |
+
//Add the "SEO" menu item!
|
851 |
+
add_utility_page(__('SEO Ultimate', 'seo-ultimate'), __('SEO', 'seo-ultimate').$main_count_code, 'manage_options', 'seo', array(), 'div');
|
852 |
+
|
853 |
+
//Translations and count codes will mess up the admin page hook, so we need to fix it manually.
|
854 |
+
global $admin_page_hooks;
|
855 |
+
$admin_page_hooks['seo'] = 'seo';
|
856 |
+
|
857 |
+
$added_main_menu = true;
|
858 |
+
}
|
859 |
+
|
860 |
add_submenu_page($parent, $module->get_page_title(), $module->get_menu_title().$count_code,
|
861 |
'manage_options', $hook, array($module, 'admin_page'));
|
862 |
|
866 |
}
|
867 |
}
|
868 |
|
869 |
+
/**
|
870 |
+
* @since 7.2.5
|
871 |
+
*/
|
872 |
+
function add_blog_admin_menus() {
|
873 |
+
$this->add_menus('blog');
|
874 |
+
}
|
875 |
+
|
876 |
+
/**
|
877 |
+
* @since 7.2.5
|
878 |
+
*/
|
879 |
+
function add_network_admin_menus() {
|
880 |
+
$this->add_menus('network');
|
881 |
+
}
|
882 |
+
|
883 |
/**
|
884 |
* Compares two modules to determine which of the two should be displayed first on the menu.
|
885 |
* Sorts by menu position first, and title second.
|
1335 |
);
|
1336 |
|
1337 |
foreach ($su_actions as $module => $anchor) {
|
1338 |
+
if ($this->module_exists($module) && $url = $this->modules[$module]->get_admin_url()) {
|
|
|
1339 |
$actions[] = "<a href='$url'>$anchor</a>";
|
1340 |
}
|
1341 |
}
|
1349 |
* @since 2.1
|
1350 |
*/
|
1351 |
function plugin_row_meta_filter($plugin_meta, $plugin_file) {
|
1352 |
+
if ($plugin_file == $this->plugin_basename) {
|
1353 |
+
|
1354 |
+
if (is_blog_admin())
|
1355 |
+
$title = __('Active Modules: ', 'seo-ultimate');
|
1356 |
+
else
|
1357 |
+
$title = '';
|
1358 |
+
|
1359 |
+
echo $this->get_module_links_list('<p id="su-active-modules-list">'.$title, ' | ', '</p>');
|
1360 |
+
}
|
1361 |
|
1362 |
return $plugin_meta;
|
1363 |
}
|
1377 |
foreach ($this->modules as $key => $x_module) {
|
1378 |
$module =& $this->modules[$key];
|
1379 |
if (strcasecmp(get_parent_class($module), 'SU_Module') == 0 && $module->is_independent_module()) {
|
1380 |
+
if ($url = $module->get_admin_url())
|
1381 |
+
$modules[$module->get_module_title()] = $url;
|
1382 |
}
|
1383 |
}
|
1384 |
|
1752 |
, 'post_status' => $stati
|
1753 |
, 'numberposts' => -1
|
1754 |
, 'post_type' => $posttypeobj->name
|
1755 |
+
, 'post_mime_type' => isset($_GET['post_mime_type']) ? $_GET['post_mime_type'] : ''
|
1756 |
, 'sentence' => 1
|
1757 |
, 's' => $_GET['q']
|
1758 |
));
|
plugin/class.su-installer.php
CHANGED
@@ -1,4 +1,6 @@
|
|
1 |
<?php
|
|
|
|
|
2 |
include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
3 |
|
4 |
class SU_Installer extends Plugin_Upgrader {
|
@@ -57,7 +59,7 @@ class SU_Installer extends Plugin_Upgrader {
|
|
57 |
)
|
58 |
));
|
59 |
|
60 |
-
//
|
61 |
remove_filter('upgrader_pre_install', array(&$this, 'deactivate_plugin_before_upgrade'));
|
62 |
remove_filter('upgrader_clear_destination', array(&$this, 'delete_old_plugin'));
|
63 |
|
1 |
<?php
|
2 |
+
if (!defined('ABSPATH')) die();
|
3 |
+
|
4 |
include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
5 |
|
6 |
class SU_Installer extends Plugin_Upgrader {
|
59 |
)
|
60 |
));
|
61 |
|
62 |
+
// Clean up our hooks, in case something else does an upgrade
|
63 |
remove_filter('upgrader_pre_install', array(&$this, 'deactivate_plugin_before_upgrade'));
|
64 |
remove_filter('upgrader_clear_destination', array(&$this, 'delete_old_plugin'));
|
65 |
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
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.3
|
5 |
-
Tested up to: 3.4
|
6 |
-
Stable tag: 7.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 |
|
@@ -127,7 +127,7 @@ SEO Ultimate is an all-in-one [SEO](http://www.seodesignsolutions.com/) plugin w
|
|
127 |
* Lets you output your Deeplink Juggernaut Footer Links in a widget
|
128 |
* The Siloed Categories widget makes it drag-and-drop-easy to construct siloed navigation on your site
|
129 |
|
130 |
-
* **Settings Monitor**
|
131 |
* Keep tabs on the SEO-friendliness of your site's settings with a dashboard of green/yellow/red indicators
|
132 |
|
133 |
* **Settings Manager**
|
@@ -259,6 +259,14 @@ Frequently asked questions, settings help, and troubleshooting tips for SEO Ulti
|
|
259 |
|
260 |
== Changelog ==
|
261 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
262 |
= Version 7.2.4 (June 25, 2012) =
|
263 |
* Bugfix: Icons no longer disappear from the WordPress admin menu on the Module Manager admin page
|
264 |
* Bugfix: Fixed a function that generated non-validating HTML on multiple admin pages
|
2 |
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.3
|
5 |
+
Tested up to: 3.4.1
|
6 |
+
Stable tag: 7.2.5
|
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 |
|
127 |
* Lets you output your Deeplink Juggernaut Footer Links in a widget
|
128 |
* The Siloed Categories widget makes it drag-and-drop-easy to construct siloed navigation on your site
|
129 |
|
130 |
+
* **Settings Monitor** -- NEW in Version 6.9
|
131 |
* Keep tabs on the SEO-friendliness of your site's settings with a dashboard of green/yellow/red indicators
|
132 |
|
133 |
* **Settings Manager**
|
259 |
|
260 |
== Changelog ==
|
261 |
|
262 |
+
= Version 7.2.5 (June 29, 2012) =
|
263 |
+
* Improvement: The Upgrade/Downgrade/Reinstall/Uninstall tabs have been moved from the site admin to the network admin in cases where the plugin is network-activated on multisite setups
|
264 |
+
* Security Fix: The Uninstall tool now checks for the delete_plugins capability (whereas previously, any user with the manage_options capability could uninstall)
|
265 |
+
* Security Fix: The Downgrade and Reinstall tools now check for the install_plugins capability instead of the update_plugins capability
|
266 |
+
* Security Fix: The Upgrade/Downgrade/Reinstall/Uninstall tools now check for super admin status on multisite setups
|
267 |
+
* Bugfix: SEO Ultimate now hides the Upgrade/Downgrade/Reinstall/Uninstall tabs from users who lack the proper capabilities, rather than merely aborting those functions when attempted by unauthorized users
|
268 |
+
* Change: The "Plugin Settings" module can no longer be disabled by site admins when SEO Ultimate is network-activated on a multisite setup
|
269 |
+
|
270 |
= Version 7.2.4 (June 25, 2012) =
|
271 |
* Bugfix: Icons no longer disappear from the WordPress admin menu on the Module Manager admin page
|
272 |
* Bugfix: Fixed a function that generated non-validating HTML on multiple admin pages
|
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: 7.2.
|
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 7.2.
|
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', '7.2.
|
51 |
define('SU_AUTHOR', 'SEO Design Solutions');
|
52 |
define('SU_AUTHOR_URI', 'http://www.seodesignsolutions.com/');
|
53 |
-
define('SU_USER_AGENT', 'SeoUltimate/7.2.
|
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: 7.2.5
|
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 7.2.5
|
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', '7.2.5');
|
51 |
define('SU_AUTHOR', 'SEO Design Solutions');
|
52 |
define('SU_AUTHOR_URI', 'http://www.seodesignsolutions.com/');
|
53 |
+
define('SU_USER_AGENT', 'SeoUltimate/7.2.5');
|
54 |
|
55 |
/********** INCLUDES **********/
|
56 |
|
translations/seo-ultimate.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the SEO Ultimate package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: SEO Ultimate 7.2.
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/seo-ultimate\n"
|
7 |
-
"POT-Creation-Date: 2012-06-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -69,7 +69,7 @@ msgstr ""
|
|
69 |
msgid "Log"
|
70 |
msgstr ""
|
71 |
|
72 |
-
#: modules/404s/fofs-log.php:113 modules/class.su-module.php:
|
73 |
msgid "Actions"
|
74 |
msgstr ""
|
75 |
|
@@ -212,7 +212,7 @@ msgstr ""
|
|
212 |
#: modules/meta/webmaster-verify.php:58 modules/more-links/more-links.php:104
|
213 |
#: modules/more-links/more-links.php:111
|
214 |
#: modules/rich-snippets/rich-snippets.php:258
|
215 |
-
#: modules/settings/settings.php:
|
216 |
#: modules/sharing-buttons/sharing-buttons.php:72 modules/slugs/slugs.php:76
|
217 |
#: modules/titles/titles.php:341 modules/user-code/user-code.php:70
|
218 |
msgid "Overview"
|
@@ -347,7 +347,7 @@ msgstr ""
|
|
347 |
#: modules/autolinks/autolinks.php:18
|
348 |
msgid ""
|
349 |
"Deeplink Juggernaut requires PHP 5.2 or above in SEO Ultimate 6.0 and later. "
|
350 |
-
"(Note that WordPress itself
|
351 |
"WordPress 3.2.) If you aren’t sure how to upgrade PHP, please ask your "
|
352 |
"webhost. In the meantime, you can return to an older version of Deeplink "
|
353 |
"Juggernaut that supports your version of PHP by <a href=\"%s\">downgrading</"
|
@@ -547,7 +547,7 @@ msgstr ""
|
|
547 |
msgid "Footer Deeplink Juggernaut"
|
548 |
msgstr ""
|
549 |
|
550 |
-
#: modules/autolinks/footer-autolinks.php:17 modules/widgets/widgets.php:
|
551 |
msgid "Footer Links"
|
552 |
msgstr ""
|
553 |
|
@@ -725,108 +725,108 @@ msgid_plural ""
|
|
725 |
msgstr[0] ""
|
726 |
msgstr[1] ""
|
727 |
|
728 |
-
#: modules/class.su-module.php:
|
729 |
msgid ""
|
730 |
"All the modules on this page have been disabled. You can re-enable them "
|
731 |
"using the <a href=\"%s\">Module Manager</a>."
|
732 |
msgstr ""
|
733 |
|
734 |
-
#: modules/class.su-module.php:
|
735 |
msgid "%1$s | %2$s %3$s by %4$s"
|
736 |
msgstr ""
|
737 |
|
738 |
-
#: modules/class.su-module.php:
|
739 |
msgid "Your site currently doesn’t have any public items of this type."
|
740 |
msgstr ""
|
741 |
|
742 |
-
#: modules/class.su-module.php:
|
743 |
msgid "«"
|
744 |
msgstr ""
|
745 |
|
746 |
-
#: modules/class.su-module.php:
|
747 |
msgid "»"
|
748 |
msgstr ""
|
749 |
|
750 |
-
#: modules/class.su-module.php:
|
751 |
msgid "Displaying %s–%s of %s"
|
752 |
msgstr ""
|
753 |
|
754 |
-
#: modules/class.su-module.php:
|
755 |
msgid "ID"
|
756 |
msgstr ""
|
757 |
|
758 |
-
#: modules/class.su-module.php:
|
759 |
msgid "View"
|
760 |
msgstr ""
|
761 |
|
762 |
-
#: modules/class.su-module.php:
|
763 |
msgid "Edit"
|
764 |
msgstr ""
|
765 |
|
766 |
-
#: modules/class.su-module.php:
|
767 |
msgid "Settings updated."
|
768 |
msgstr ""
|
769 |
|
770 |
-
#: modules/class.su-module.php:
|
771 |
msgid "Save Changes"
|
772 |
msgstr ""
|
773 |
|
774 |
-
#: modules/class.su-module.php:
|
775 |
msgid ""
|
776 |
"Are you sure you want to replace the textbox contents with this default "
|
777 |
"value?"
|
778 |
msgstr ""
|
779 |
|
780 |
-
#: modules/class.su-module.php:
|
781 |
msgid "Reset"
|
782 |
msgstr ""
|
783 |
|
784 |
-
#: modules/class.su-module.php:
|
785 |
msgid "A Deleted %s"
|
786 |
msgstr ""
|
787 |
|
788 |
-
#: modules/class.su-module.php:
|
789 |
msgid "A Deleted Post"
|
790 |
msgstr ""
|
791 |
|
792 |
-
#: modules/class.su-module.php:
|
793 |
msgid "A Deleted Term"
|
794 |
msgstr ""
|
795 |
|
796 |
-
#: modules/class.su-module.php:
|
797 |
-
#: modules/meta/meta-keywords.php:34 plugin/class.seo-ultimate.php:
|
798 |
msgid "Blog Homepage"
|
799 |
msgstr ""
|
800 |
|
801 |
-
#: modules/class.su-module.php:
|
802 |
msgid "Author"
|
803 |
msgstr ""
|
804 |
|
805 |
-
#: modules/class.su-module.php:
|
806 |
msgid "A Deleted User"
|
807 |
msgstr ""
|
808 |
|
809 |
-
#: modules/class.su-module.php:
|
810 |
msgid "Link Mask"
|
811 |
msgstr ""
|
812 |
|
813 |
-
#: modules/class.su-module.php:
|
814 |
msgid "Link Mask (Disabled)"
|
815 |
msgstr ""
|
816 |
|
817 |
-
#: modules/class.su-module.php:
|
818 |
msgid "A Deleted Link Mask"
|
819 |
msgstr ""
|
820 |
|
821 |
-
#: modules/class.su-module.php:
|
822 |
msgid "Type a URL or start typing the name of an item on your site"
|
823 |
msgstr ""
|
824 |
|
825 |
-
#: modules/class.su-module.php:
|
826 |
msgid "Remove this location from this textbox"
|
827 |
msgstr ""
|
828 |
|
829 |
-
#: modules/class.su-module.php:
|
830 |
msgid "X"
|
831 |
msgstr ""
|
832 |
|
@@ -906,7 +906,7 @@ msgstr ""
|
|
906 |
#: modules/files/files.php:155 modules/meta/meta-descriptions.php:197
|
907 |
#: modules/meta/meta-keywords.php:183 modules/modules/modules.php:174
|
908 |
#: modules/more-links/more-links.php:105 modules/more-links/more-links.php:116
|
909 |
-
#: modules/settings/settings.php:
|
910 |
#: modules/titles/titles.php:442
|
911 |
msgid "FAQ"
|
912 |
msgstr ""
|
@@ -2099,7 +2099,7 @@ msgstr ""
|
|
2099 |
msgid "SEO Design Solutions Whitepapers"
|
2100 |
msgstr ""
|
2101 |
|
2102 |
-
#. #-#-#-#-# plugin.pot (SEO Ultimate 7.2.
|
2103 |
#. Author of the plugin/theme
|
2104 |
#: modules/sds-blog/sds-blog.php:49
|
2105 |
msgid "SEO Design Solutions"
|
@@ -2112,23 +2112,23 @@ msgid ""
|
|
2112 |
"an article’s title to read it."
|
2113 |
msgstr ""
|
2114 |
|
2115 |
-
#: modules/settings/global-settings.php:18 modules/settings/settings.php:
|
2116 |
msgid "Global Settings"
|
2117 |
msgstr ""
|
2118 |
|
2119 |
-
#: modules/settings/global-settings.php:
|
2120 |
msgid "Enable nofollow’d attribution link"
|
2121 |
msgstr ""
|
2122 |
|
2123 |
-
#: modules/settings/global-settings.php:
|
2124 |
msgid "Enable attribution link CSS styling"
|
2125 |
msgstr ""
|
2126 |
|
2127 |
-
#: modules/settings/global-settings.php:
|
2128 |
msgid "Notify me about unnecessary active plugins"
|
2129 |
msgstr ""
|
2130 |
|
2131 |
-
#: modules/settings/global-settings.php:
|
2132 |
msgid "Insert comments around HTML code insertions"
|
2133 |
msgstr ""
|
2134 |
|
@@ -2140,90 +2140,98 @@ msgstr ""
|
|
2140 |
msgid "Installer"
|
2141 |
msgstr ""
|
2142 |
|
2143 |
-
#: modules/settings/install.php:
|
2144 |
msgid "Upgrade"
|
2145 |
msgstr ""
|
2146 |
|
2147 |
-
#: modules/settings/install.php:
|
2148 |
msgid "Downgrade"
|
2149 |
msgstr ""
|
2150 |
|
2151 |
-
#: modules/settings/install.php:
|
2152 |
msgid "Reinstall"
|
2153 |
msgstr ""
|
2154 |
|
2155 |
-
#: modules/settings/install.php:
|
|
|
|
|
|
|
|
|
2156 |
msgid ""
|
2157 |
"From the list below, select the version to which you would like to upgrade. "
|
2158 |
"Then click the “Upgrade” button at the bottom of the screen."
|
2159 |
msgstr ""
|
2160 |
|
2161 |
-
#: modules/settings/install.php:
|
2162 |
msgid "You are already running the latest version."
|
2163 |
msgstr ""
|
2164 |
|
2165 |
-
#: modules/settings/install.php:
|
2166 |
msgid ""
|
2167 |
"There was an error retrieving the list of available versions. Please try "
|
2168 |
"again later. You can also upgrade to the latest version of SEO Ultimate "
|
2169 |
"using the WordPress plugin upgrader."
|
2170 |
msgstr ""
|
2171 |
|
2172 |
-
#: modules/settings/install.php:
|
|
|
|
|
|
|
|
|
|
|
2173 |
msgid ""
|
2174 |
"Downgrading is provided as a convenience only and is not officially "
|
2175 |
"supported. Although unlikely, you may lose data in the downgrading process. "
|
2176 |
"It is your responsibility to backup your database before proceeding."
|
2177 |
msgstr ""
|
2178 |
|
2179 |
-
#: modules/settings/install.php:
|
2180 |
msgid ""
|
2181 |
"From the list below, select the version to which you would like to "
|
2182 |
"downgrade. Then click the “Downgrade” button at the bottom of "
|
2183 |
"the screen."
|
2184 |
msgstr ""
|
2185 |
|
2186 |
-
#: modules/settings/install.php:
|
2187 |
msgid ""
|
2188 |
"Downgrading to versions earlier than %s is not supported because doing so "
|
2189 |
"will result in data loss."
|
2190 |
msgstr ""
|
2191 |
|
2192 |
-
#: modules/settings/install.php:
|
2193 |
msgid ""
|
2194 |
"There was an error retrieving the list of available versions. Please try "
|
2195 |
"again later."
|
2196 |
msgstr ""
|
2197 |
|
2198 |
-
#: modules/settings/install.php:
|
|
|
|
|
|
|
|
|
|
|
2199 |
msgid ""
|
2200 |
"To download and install a fresh copy of the SEO Ultimate version you are "
|
2201 |
"currently using, click the “Reinstall” button below."
|
2202 |
msgstr ""
|
2203 |
|
2204 |
-
#: modules/settings/install.php:
|
2205 |
msgid "Your Current Version"
|
2206 |
msgstr ""
|
2207 |
|
2208 |
-
#: modules/settings/install.php:
|
2209 |
msgid "Latest Version"
|
2210 |
msgstr ""
|
2211 |
|
2212 |
-
#: modules/settings/install.php:
|
2213 |
-
msgid ""
|
2214 |
-
"You do not have sufficient permissions to upgrade/downgrade plugins for this "
|
2215 |
-
"blog."
|
2216 |
-
msgstr ""
|
2217 |
-
|
2218 |
-
#: modules/settings/install.php:140
|
2219 |
msgid "Downgrade to SEO Ultimate %s"
|
2220 |
msgstr ""
|
2221 |
|
2222 |
-
#: modules/settings/install.php:
|
2223 |
msgid "Reinstall SEO Ultimate %s"
|
2224 |
msgstr ""
|
2225 |
|
2226 |
-
#: modules/settings/install.php:
|
2227 |
msgid "Upgrade to SEO Ultimate %s"
|
2228 |
msgstr ""
|
2229 |
|
@@ -2395,28 +2403,36 @@ msgstr ""
|
|
2395 |
msgid "Restore Default Settings"
|
2396 |
msgstr ""
|
2397 |
|
2398 |
-
#: modules/settings/settings.php:
|
|
|
|
|
|
|
|
|
2399 |
msgid "Plugin Settings"
|
2400 |
msgstr ""
|
2401 |
|
2402 |
-
#: modules/settings/settings.php:
|
|
|
|
|
|
|
|
|
2403 |
msgid "SEO Ultimate Plugin Settings"
|
2404 |
msgstr ""
|
2405 |
|
2406 |
-
#. #-#-#-#-# plugin.pot (SEO Ultimate 7.2.
|
2407 |
#. Plugin Name of the plugin/theme
|
2408 |
-
#: modules/settings/settings.php:
|
2409 |
msgid "SEO Ultimate"
|
2410 |
msgstr ""
|
2411 |
|
2412 |
-
#: modules/settings/settings.php:
|
2413 |
msgid ""
|
2414 |
"\r\n"
|
2415 |
"<p>The Settings module lets you manage settings related to the SEO Ultimate "
|
2416 |
"plugin as a whole.</p>\r\n"
|
2417 |
msgstr ""
|
2418 |
|
2419 |
-
#: modules/settings/settings.php:
|
2420 |
msgid ""
|
2421 |
"\r\n"
|
2422 |
"<p>Here’s information on some of the settings:</p>\r\n"
|
@@ -2435,7 +2451,7 @@ msgid ""
|
|
2435 |
"</ul>\r\n"
|
2436 |
msgstr ""
|
2437 |
|
2438 |
-
#: modules/settings/settings.php:
|
2439 |
msgid ""
|
2440 |
"\r\n"
|
2441 |
"<ul>\r\n"
|
@@ -2459,43 +2475,48 @@ msgstr ""
|
|
2459 |
msgid "Uninstaller"
|
2460 |
msgstr ""
|
2461 |
|
2462 |
-
#: modules/settings/uninstall.php:18
|
|
|
2463 |
msgid "Uninstall"
|
2464 |
msgstr ""
|
2465 |
|
2466 |
-
#: modules/settings/uninstall.php:
|
|
|
|
|
|
|
|
|
2467 |
msgid ""
|
2468 |
"Uninstalling SEO Ultimate will delete your settings and the plugin’s "
|
2469 |
"files."
|
2470 |
msgstr ""
|
2471 |
|
2472 |
-
#: modules/settings/uninstall.php:
|
2473 |
msgid ""
|
2474 |
"Are you sure you want to uninstall SEO Ultimate? This will permanently erase "
|
2475 |
"your SEO Ultimate settings and cannot be undone."
|
2476 |
msgstr ""
|
2477 |
|
2478 |
-
#: modules/settings/uninstall.php:
|
2479 |
msgid "Uninstall Now"
|
2480 |
msgstr ""
|
2481 |
|
2482 |
-
#: modules/settings/uninstall.php:
|
2483 |
msgid "Uninstall SEO Ultimate"
|
2484 |
msgstr ""
|
2485 |
|
2486 |
-
#: modules/settings/uninstall.php:
|
2487 |
msgid "Deleted settings."
|
2488 |
msgstr ""
|
2489 |
|
2490 |
-
#: modules/settings/uninstall.php:
|
2491 |
msgid "An error occurred while deleting files."
|
2492 |
msgstr ""
|
2493 |
|
2494 |
-
#: modules/settings/uninstall.php:
|
2495 |
msgid "Deleted files."
|
2496 |
msgstr ""
|
2497 |
|
2498 |
-
#: modules/settings/uninstall.php:
|
2499 |
msgid "Uninstallation complete. Thanks for trying SEO Ultimate."
|
2500 |
msgstr ""
|
2501 |
|
@@ -3047,53 +3068,53 @@ msgstr ""
|
|
3047 |
msgid "SEO Ultimate Widgets"
|
3048 |
msgstr ""
|
3049 |
|
3050 |
-
#: modules/widgets/widgets.php:
|
3051 |
msgid ""
|
3052 |
"On category archives, displays a list of child categories and/or posts in "
|
3053 |
"the category. Displays a list of top-level categories everywhere else. "
|
3054 |
"Powered by the SEO Ultimate plugin."
|
3055 |
msgstr ""
|
3056 |
|
3057 |
-
#: modules/widgets/widgets.php:
|
3058 |
msgid "Siloed Categories"
|
3059 |
msgstr ""
|
3060 |
|
3061 |
-
#: modules/widgets/widgets.php:
|
3062 |
msgid "Tags"
|
3063 |
msgstr ""
|
3064 |
|
3065 |
-
#: modules/widgets/widgets.php:
|
3066 |
msgid "Title:"
|
3067 |
msgstr ""
|
3068 |
|
3069 |
-
#: modules/widgets/widgets.php:
|
3070 |
msgid "Show post counts"
|
3071 |
msgstr ""
|
3072 |
|
3073 |
-
#: modules/widgets/widgets.php:
|
3074 |
msgid "Use term descriptions in title attributes"
|
3075 |
msgstr ""
|
3076 |
|
3077 |
-
#: modules/widgets/widgets.php:
|
3078 |
msgid "Taxonomy:"
|
3079 |
msgstr ""
|
3080 |
|
3081 |
-
#: modules/widgets/widgets.php:
|
3082 |
msgid ""
|
3083 |
"Add this widget to display Deeplink Juggernaut’s Footer Links in a "
|
3084 |
"widget area of your choosing rather than the default wp_footer section. "
|
3085 |
"Powered by the SEO Ultimate plugin."
|
3086 |
msgstr ""
|
3087 |
|
3088 |
-
#: modules/widgets/widgets.php:
|
3089 |
msgid "Title: <em>(optional)</em>"
|
3090 |
msgstr ""
|
3091 |
|
3092 |
-
#: modules/widgets/widgets.php:
|
3093 |
msgid "Display as a list"
|
3094 |
msgstr ""
|
3095 |
|
3096 |
-
#: modules/widgets/widgets.php:
|
3097 |
msgid "Use my <a href=\"%s\" target=\"_blank\">footer link HTML formats</a>"
|
3098 |
msgstr ""
|
3099 |
|
@@ -3174,107 +3195,107 @@ msgstr ""
|
|
3174 |
msgid "Go to setting »"
|
3175 |
msgstr ""
|
3176 |
|
3177 |
-
#: plugin/class.seo-ultimate.php:
|
3178 |
msgid "SEO"
|
3179 |
msgstr ""
|
3180 |
|
3181 |
-
#: plugin/class.seo-ultimate.php:
|
3182 |
msgid ""
|
3183 |
"It looks like you made changes to the settings of this SEO Ultimate module. "
|
3184 |
"If you leave before saving, those changes will be lost."
|
3185 |
msgstr ""
|
3186 |
|
3187 |
-
#: plugin/class.seo-ultimate.php:
|
3188 |
msgid "SEO Settings Help"
|
3189 |
msgstr ""
|
3190 |
|
3191 |
-
#: plugin/class.seo-ultimate.php:
|
3192 |
msgid "The SEO Settings box lets you customize these settings:"
|
3193 |
msgstr ""
|
3194 |
|
3195 |
-
#: plugin/class.seo-ultimate.php:
|
3196 |
msgid "(The SEO Settings box is part of the SEO Ultimate plugin.)"
|
3197 |
msgstr ""
|
3198 |
|
3199 |
-
#: plugin/class.seo-ultimate.php:
|
3200 |
msgid ""
|
3201 |
"SEO Ultimate includes the functionality of %1$s. You may want to deactivate "
|
3202 |
"%1$s to avoid plugin conflicts."
|
3203 |
msgstr ""
|
3204 |
|
3205 |
-
#: plugin/class.seo-ultimate.php:
|
3206 |
msgid "new module"
|
3207 |
msgstr ""
|
3208 |
|
3209 |
-
#: plugin/class.seo-ultimate.php:
|
3210 |
msgid "new modules"
|
3211 |
msgstr ""
|
3212 |
|
3213 |
-
#: plugin/class.seo-ultimate.php:
|
3214 |
msgid "new feature"
|
3215 |
msgstr ""
|
3216 |
|
3217 |
-
#: plugin/class.seo-ultimate.php:
|
3218 |
msgid "new features"
|
3219 |
msgstr ""
|
3220 |
|
3221 |
-
#: plugin/class.seo-ultimate.php:
|
3222 |
msgid "bugfix"
|
3223 |
msgstr ""
|
3224 |
|
3225 |
-
#: plugin/class.seo-ultimate.php:
|
3226 |
msgid "bugfixes"
|
3227 |
msgstr ""
|
3228 |
|
3229 |
-
#: plugin/class.seo-ultimate.php:
|
3230 |
msgid "improvement"
|
3231 |
msgstr ""
|
3232 |
|
3233 |
-
#: plugin/class.seo-ultimate.php:
|
3234 |
msgid "improvements"
|
3235 |
msgstr ""
|
3236 |
|
3237 |
-
#: plugin/class.seo-ultimate.php:
|
3238 |
msgid "security fix"
|
3239 |
msgstr ""
|
3240 |
|
3241 |
-
#: plugin/class.seo-ultimate.php:
|
3242 |
msgid "security fixes"
|
3243 |
msgstr ""
|
3244 |
|
3245 |
-
#: plugin/class.seo-ultimate.php:
|
3246 |
msgid "new language pack"
|
3247 |
msgstr ""
|
3248 |
|
3249 |
-
#: plugin/class.seo-ultimate.php:
|
3250 |
msgid "new language packs"
|
3251 |
msgstr ""
|
3252 |
|
3253 |
-
#: plugin/class.seo-ultimate.php:
|
3254 |
msgid "language pack update"
|
3255 |
msgstr ""
|
3256 |
|
3257 |
-
#: plugin/class.seo-ultimate.php:
|
3258 |
msgid "language pack updates"
|
3259 |
msgstr ""
|
3260 |
|
3261 |
-
#: plugin/class.seo-ultimate.php:
|
3262 |
msgid "%d %s"
|
3263 |
msgstr ""
|
3264 |
|
3265 |
-
#: plugin/class.seo-ultimate.php:
|
3266 |
msgid "Upgrade now to get %s. %s."
|
3267 |
msgstr ""
|
3268 |
|
3269 |
-
#: plugin/class.seo-ultimate.php:
|
3270 |
msgid "View changelog"
|
3271 |
msgstr ""
|
3272 |
|
3273 |
-
#: plugin/class.seo-ultimate.php:
|
3274 |
msgid "Active Modules: "
|
3275 |
msgstr ""
|
3276 |
|
3277 |
-
#: plugin/class.seo-ultimate.php:
|
3278 |
msgid ""
|
3279 |
"<strong>SEO Ultimate Notice:</strong> Your blog is configured to block "
|
3280 |
"search engine spiders. To resolve this, <a href=\"options-privacy.php\" "
|
@@ -3282,91 +3303,91 @@ msgid ""
|
|
3282 |
"to everyone."
|
3283 |
msgstr ""
|
3284 |
|
3285 |
-
#: plugin/class.seo-ultimate.php:
|
3286 |
msgid "SEO Settings"
|
3287 |
msgstr ""
|
3288 |
|
3289 |
-
#: plugin/class.seo-ultimate.php:
|
3290 |
msgid "Home"
|
3291 |
msgstr ""
|
3292 |
|
3293 |
-
#: plugin/class.seo-ultimate.php:
|
3294 |
msgid "Author Archives"
|
3295 |
msgstr ""
|
3296 |
|
3297 |
-
#: plugin/class.seo-ultimate.php:
|
3298 |
msgid "Link Masks"
|
3299 |
msgstr ""
|
3300 |
|
3301 |
-
#: plugin/class.su-installer.php:
|
3302 |
msgid "Package not available."
|
3303 |
msgstr ""
|
3304 |
|
3305 |
-
#: plugin/class.su-installer.php:
|
3306 |
msgid "Removing the current version of the plugin…"
|
3307 |
msgstr ""
|
3308 |
|
3309 |
-
#: plugin/class.su-installer.php:
|
3310 |
msgid "Could not remove the current version of the plugin."
|
3311 |
msgstr ""
|
3312 |
|
3313 |
-
#: plugin/class.su-installer.php:
|
3314 |
msgid "Downloading old version from <span class=\"code\">%s</span>…"
|
3315 |
msgstr ""
|
3316 |
|
3317 |
-
#: plugin/class.su-installer.php:
|
3318 |
msgid "Unpacking the downgrade…"
|
3319 |
msgstr ""
|
3320 |
|
3321 |
-
#: plugin/class.su-installer.php:
|
3322 |
msgid "Installing the downgrade…"
|
3323 |
msgstr ""
|
3324 |
|
3325 |
-
#: plugin/class.su-installer.php:
|
3326 |
msgid "Plugin downgrade failed."
|
3327 |
msgstr ""
|
3328 |
|
3329 |
-
#: plugin/class.su-installer.php:
|
3330 |
msgid "Plugin downgraded successfully."
|
3331 |
msgstr ""
|
3332 |
|
3333 |
-
#: plugin/class.su-installer.php:
|
3334 |
msgid "Downloading from <span class=\"code\">%s</span>…"
|
3335 |
msgstr ""
|
3336 |
|
3337 |
-
#: plugin/class.su-installer.php:
|
3338 |
msgid "Unpacking the reinstall…"
|
3339 |
msgstr ""
|
3340 |
|
3341 |
-
#: plugin/class.su-installer.php:
|
3342 |
msgid "Reinstalling the current version…"
|
3343 |
msgstr ""
|
3344 |
|
3345 |
-
#: plugin/class.su-installer.php:
|
3346 |
msgid "Plugin reinstallation failed."
|
3347 |
msgstr ""
|
3348 |
|
3349 |
-
#: plugin/class.su-installer.php:
|
3350 |
msgid "Plugin reinstalled successfully."
|
3351 |
msgstr ""
|
3352 |
|
3353 |
-
#: plugin/class.su-installer.php:
|
3354 |
msgid "Downloading upgrade from <span class=\"code\">%s</span>…"
|
3355 |
msgstr ""
|
3356 |
|
3357 |
-
#: plugin/class.su-installer.php:
|
3358 |
msgid "Unpacking the upgrade…"
|
3359 |
msgstr ""
|
3360 |
|
3361 |
-
#: plugin/class.su-installer.php:
|
3362 |
msgid "Installing the upgrade…"
|
3363 |
msgstr ""
|
3364 |
|
3365 |
-
#: plugin/class.su-installer.php:
|
3366 |
msgid "Plugin upgrade failed."
|
3367 |
msgstr ""
|
3368 |
|
3369 |
-
#: plugin/class.su-installer.php:
|
3370 |
msgid "Plugin upgraded successfully."
|
3371 |
msgstr ""
|
3372 |
|
2 |
# This file is distributed under the same license as the SEO Ultimate package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: SEO Ultimate 7.2.5\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/seo-ultimate\n"
|
7 |
+
"POT-Creation-Date: 2012-06-29 21:39:39+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
69 |
msgid "Log"
|
70 |
msgstr ""
|
71 |
|
72 |
+
#: modules/404s/fofs-log.php:113 modules/class.su-module.php:1205
|
73 |
msgid "Actions"
|
74 |
msgstr ""
|
75 |
|
212 |
#: modules/meta/webmaster-verify.php:58 modules/more-links/more-links.php:104
|
213 |
#: modules/more-links/more-links.php:111
|
214 |
#: modules/rich-snippets/rich-snippets.php:258
|
215 |
+
#: modules/settings/settings.php:63
|
216 |
#: modules/sharing-buttons/sharing-buttons.php:72 modules/slugs/slugs.php:76
|
217 |
#: modules/titles/titles.php:341 modules/user-code/user-code.php:70
|
218 |
msgid "Overview"
|
347 |
#: modules/autolinks/autolinks.php:18
|
348 |
msgid ""
|
349 |
"Deeplink Juggernaut requires PHP 5.2 or above in SEO Ultimate 6.0 and later. "
|
350 |
+
"(Note that WordPress itself requires PHP 5.2 as well, starting with "
|
351 |
"WordPress 3.2.) If you aren’t sure how to upgrade PHP, please ask your "
|
352 |
"webhost. In the meantime, you can return to an older version of Deeplink "
|
353 |
"Juggernaut that supports your version of PHP by <a href=\"%s\">downgrading</"
|
547 |
msgid "Footer Deeplink Juggernaut"
|
548 |
msgstr ""
|
549 |
|
550 |
+
#: modules/autolinks/footer-autolinks.php:17 modules/widgets/widgets.php:170
|
551 |
msgid "Footer Links"
|
552 |
msgstr ""
|
553 |
|
725 |
msgstr[0] ""
|
726 |
msgstr[1] ""
|
727 |
|
728 |
+
#: modules/class.su-module.php:670
|
729 |
msgid ""
|
730 |
"All the modules on this page have been disabled. You can re-enable them "
|
731 |
"using the <a href=\"%s\">Module Manager</a>."
|
732 |
msgstr ""
|
733 |
|
734 |
+
#: modules/class.su-module.php:1019
|
735 |
msgid "%1$s | %2$s %3$s by %4$s"
|
736 |
msgstr ""
|
737 |
|
738 |
+
#: modules/class.su-module.php:1098
|
739 |
msgid "Your site currently doesn’t have any public items of this type."
|
740 |
msgstr ""
|
741 |
|
742 |
+
#: modules/class.su-module.php:1184
|
743 |
msgid "«"
|
744 |
msgstr ""
|
745 |
|
746 |
+
#: modules/class.su-module.php:1185
|
747 |
msgid "»"
|
748 |
msgstr ""
|
749 |
|
750 |
+
#: modules/class.su-module.php:1192
|
751 |
msgid "Displaying %s–%s of %s"
|
752 |
msgstr ""
|
753 |
|
754 |
+
#: modules/class.su-module.php:1206
|
755 |
msgid "ID"
|
756 |
msgstr ""
|
757 |
|
758 |
+
#: modules/class.su-module.php:1240
|
759 |
msgid "View"
|
760 |
msgstr ""
|
761 |
|
762 |
+
#: modules/class.su-module.php:1242
|
763 |
msgid "Edit"
|
764 |
msgstr ""
|
765 |
|
766 |
+
#: modules/class.su-module.php:1412
|
767 |
msgid "Settings updated."
|
768 |
msgstr ""
|
769 |
|
770 |
+
#: modules/class.su-module.php:1433
|
771 |
msgid "Save Changes"
|
772 |
msgstr ""
|
773 |
|
774 |
+
#: modules/class.su-module.php:1974
|
775 |
msgid ""
|
776 |
"Are you sure you want to replace the textbox contents with this default "
|
777 |
"value?"
|
778 |
msgstr ""
|
779 |
|
780 |
+
#: modules/class.su-module.php:1993 modules/settings/settings-data.php:23
|
781 |
msgid "Reset"
|
782 |
msgstr ""
|
783 |
|
784 |
+
#: modules/class.su-module.php:2708 modules/class.su-module.php:2720
|
785 |
msgid "A Deleted %s"
|
786 |
msgstr ""
|
787 |
|
788 |
+
#: modules/class.su-module.php:2710
|
789 |
msgid "A Deleted Post"
|
790 |
msgstr ""
|
791 |
|
792 |
+
#: modules/class.su-module.php:2725
|
793 |
msgid "A Deleted Term"
|
794 |
msgstr ""
|
795 |
|
796 |
+
#: modules/class.su-module.php:2731 modules/meta/meta-descriptions.php:25
|
797 |
+
#: modules/meta/meta-keywords.php:34 plugin/class.seo-ultimate.php:1735
|
798 |
msgid "Blog Homepage"
|
799 |
msgstr ""
|
800 |
|
801 |
+
#: modules/class.su-module.php:2736 plugin/class.seo-ultimate.php:1813
|
802 |
msgid "Author"
|
803 |
msgstr ""
|
804 |
|
805 |
+
#: modules/class.su-module.php:2738
|
806 |
msgid "A Deleted User"
|
807 |
msgstr ""
|
808 |
|
809 |
+
#: modules/class.su-module.php:2753 plugin/class.seo-ultimate.php:1843
|
810 |
msgid "Link Mask"
|
811 |
msgstr ""
|
812 |
|
813 |
+
#: modules/class.su-module.php:2755
|
814 |
msgid "Link Mask (Disabled)"
|
815 |
msgstr ""
|
816 |
|
817 |
+
#: modules/class.su-module.php:2760
|
818 |
msgid "A Deleted Link Mask"
|
819 |
msgstr ""
|
820 |
|
821 |
+
#: modules/class.su-module.php:2790
|
822 |
msgid "Type a URL or start typing the name of an item on your site"
|
823 |
msgstr ""
|
824 |
|
825 |
+
#: modules/class.su-module.php:2803
|
826 |
msgid "Remove this location from this textbox"
|
827 |
msgstr ""
|
828 |
|
829 |
+
#: modules/class.su-module.php:2803
|
830 |
msgid "X"
|
831 |
msgstr ""
|
832 |
|
906 |
#: modules/files/files.php:155 modules/meta/meta-descriptions.php:197
|
907 |
#: modules/meta/meta-keywords.php:183 modules/modules/modules.php:174
|
908 |
#: modules/more-links/more-links.php:105 modules/more-links/more-links.php:116
|
909 |
+
#: modules/settings/settings.php:82 modules/slugs/slugs.php:87
|
910 |
#: modules/titles/titles.php:442
|
911 |
msgid "FAQ"
|
912 |
msgstr ""
|
2099 |
msgid "SEO Design Solutions Whitepapers"
|
2100 |
msgstr ""
|
2101 |
|
2102 |
+
#. #-#-#-#-# plugin.pot (SEO Ultimate 7.2.5) #-#-#-#-#
|
2103 |
#. Author of the plugin/theme
|
2104 |
#: modules/sds-blog/sds-blog.php:49
|
2105 |
msgid "SEO Design Solutions"
|
2112 |
"an article’s title to read it."
|
2113 |
msgstr ""
|
2114 |
|
2115 |
+
#: modules/settings/global-settings.php:18 modules/settings/settings.php:70
|
2116 |
msgid "Global Settings"
|
2117 |
msgstr ""
|
2118 |
|
2119 |
+
#: modules/settings/global-settings.php:41
|
2120 |
msgid "Enable nofollow’d attribution link"
|
2121 |
msgstr ""
|
2122 |
|
2123 |
+
#: modules/settings/global-settings.php:42
|
2124 |
msgid "Enable attribution link CSS styling"
|
2125 |
msgstr ""
|
2126 |
|
2127 |
+
#: modules/settings/global-settings.php:43
|
2128 |
msgid "Notify me about unnecessary active plugins"
|
2129 |
msgstr ""
|
2130 |
|
2131 |
+
#: modules/settings/global-settings.php:44
|
2132 |
msgid "Insert comments around HTML code insertions"
|
2133 |
msgstr ""
|
2134 |
|
2140 |
msgid "Installer"
|
2141 |
msgstr ""
|
2142 |
|
2143 |
+
#: modules/settings/install.php:26 modules/settings/install.php:97
|
2144 |
msgid "Upgrade"
|
2145 |
msgstr ""
|
2146 |
|
2147 |
+
#: modules/settings/install.php:29 modules/settings/install.php:125
|
2148 |
msgid "Downgrade"
|
2149 |
msgstr ""
|
2150 |
|
2151 |
+
#: modules/settings/install.php:32 modules/settings/install.php:146
|
2152 |
msgid "Reinstall"
|
2153 |
msgstr ""
|
2154 |
|
2155 |
+
#: modules/settings/install.php:82 modules/settings/install.php:218
|
2156 |
+
msgid "You do not have sufficient permissions to upgrade plugins on this site."
|
2157 |
+
msgstr ""
|
2158 |
+
|
2159 |
+
#: modules/settings/install.php:91
|
2160 |
msgid ""
|
2161 |
"From the list below, select the version to which you would like to upgrade. "
|
2162 |
"Then click the “Upgrade” button at the bottom of the screen."
|
2163 |
msgstr ""
|
2164 |
|
2165 |
+
#: modules/settings/install.php:100
|
2166 |
msgid "You are already running the latest version."
|
2167 |
msgstr ""
|
2168 |
|
2169 |
+
#: modules/settings/install.php:102
|
2170 |
msgid ""
|
2171 |
"There was an error retrieving the list of available versions. Please try "
|
2172 |
"again later. You can also upgrade to the latest version of SEO Ultimate "
|
2173 |
"using the WordPress plugin upgrader."
|
2174 |
msgstr ""
|
2175 |
|
2176 |
+
#: modules/settings/install.php:108 modules/settings/install.php:200
|
2177 |
+
msgid ""
|
2178 |
+
"You do not have sufficient permissions to downgrade plugins on this site."
|
2179 |
+
msgstr ""
|
2180 |
+
|
2181 |
+
#: modules/settings/install.php:116
|
2182 |
msgid ""
|
2183 |
"Downgrading is provided as a convenience only and is not officially "
|
2184 |
"supported. Although unlikely, you may lose data in the downgrading process. "
|
2185 |
"It is your responsibility to backup your database before proceeding."
|
2186 |
msgstr ""
|
2187 |
|
2188 |
+
#: modules/settings/install.php:119
|
2189 |
msgid ""
|
2190 |
"From the list below, select the version to which you would like to "
|
2191 |
"downgrade. Then click the “Downgrade” button at the bottom of "
|
2192 |
"the screen."
|
2193 |
msgstr ""
|
2194 |
|
2195 |
+
#: modules/settings/install.php:128
|
2196 |
msgid ""
|
2197 |
"Downgrading to versions earlier than %s is not supported because doing so "
|
2198 |
"will result in data loss."
|
2199 |
msgstr ""
|
2200 |
|
2201 |
+
#: modules/settings/install.php:130
|
2202 |
msgid ""
|
2203 |
"There was an error retrieving the list of available versions. Please try "
|
2204 |
"again later."
|
2205 |
msgstr ""
|
2206 |
|
2207 |
+
#: modules/settings/install.php:136 modules/settings/install.php:209
|
2208 |
+
msgid ""
|
2209 |
+
"You do not have sufficient permissions to reinstall plugins on this site."
|
2210 |
+
msgstr ""
|
2211 |
+
|
2212 |
+
#: modules/settings/install.php:141
|
2213 |
msgid ""
|
2214 |
"To download and install a fresh copy of the SEO Ultimate version you are "
|
2215 |
"currently using, click the “Reinstall” button below."
|
2216 |
msgstr ""
|
2217 |
|
2218 |
+
#: modules/settings/install.php:168
|
2219 |
msgid "Your Current Version"
|
2220 |
msgstr ""
|
2221 |
|
2222 |
+
#: modules/settings/install.php:170
|
2223 |
msgid "Latest Version"
|
2224 |
msgstr ""
|
2225 |
|
2226 |
+
#: modules/settings/install.php:197
|
|
|
|
|
|
|
|
|
|
|
|
|
2227 |
msgid "Downgrade to SEO Ultimate %s"
|
2228 |
msgstr ""
|
2229 |
|
2230 |
+
#: modules/settings/install.php:206
|
2231 |
msgid "Reinstall SEO Ultimate %s"
|
2232 |
msgstr ""
|
2233 |
|
2234 |
+
#: modules/settings/install.php:215
|
2235 |
msgid "Upgrade to SEO Ultimate %s"
|
2236 |
msgstr ""
|
2237 |
|
2403 |
msgid "Restore Default Settings"
|
2404 |
msgstr ""
|
2405 |
|
2406 |
+
#: modules/settings/settings.php:14
|
2407 |
+
msgid "Plugin Management"
|
2408 |
+
msgstr ""
|
2409 |
+
|
2410 |
+
#: modules/settings/settings.php:16
|
2411 |
msgid "Plugin Settings"
|
2412 |
msgstr ""
|
2413 |
|
2414 |
+
#: modules/settings/settings.php:21
|
2415 |
+
msgid "SEO Ultimate Plugin Management"
|
2416 |
+
msgstr ""
|
2417 |
+
|
2418 |
+
#: modules/settings/settings.php:23
|
2419 |
msgid "SEO Ultimate Plugin Settings"
|
2420 |
msgstr ""
|
2421 |
|
2422 |
+
#. #-#-#-#-# plugin.pot (SEO Ultimate 7.2.5) #-#-#-#-#
|
2423 |
#. Plugin Name of the plugin/theme
|
2424 |
+
#: modules/settings/settings.php:26 plugin/class.seo-ultimate.php:851
|
2425 |
msgid "SEO Ultimate"
|
2426 |
msgstr ""
|
2427 |
|
2428 |
+
#: modules/settings/settings.php:64
|
2429 |
msgid ""
|
2430 |
"\r\n"
|
2431 |
"<p>The Settings module lets you manage settings related to the SEO Ultimate "
|
2432 |
"plugin as a whole.</p>\r\n"
|
2433 |
msgstr ""
|
2434 |
|
2435 |
+
#: modules/settings/settings.php:71
|
2436 |
msgid ""
|
2437 |
"\r\n"
|
2438 |
"<p>Here’s information on some of the settings:</p>\r\n"
|
2451 |
"</ul>\r\n"
|
2452 |
msgstr ""
|
2453 |
|
2454 |
+
#: modules/settings/settings.php:83
|
2455 |
msgid ""
|
2456 |
"\r\n"
|
2457 |
"<ul>\r\n"
|
2475 |
msgid "Uninstaller"
|
2476 |
msgstr ""
|
2477 |
|
2478 |
+
#: modules/settings/uninstall.php:18 modules/settings/uninstall.php:22
|
2479 |
+
#: plugin/class.seo-ultimate.php:1334
|
2480 |
msgid "Uninstall"
|
2481 |
msgstr ""
|
2482 |
|
2483 |
+
#: modules/settings/uninstall.php:61 modules/settings/uninstall.php:81
|
2484 |
+
msgid "You do not have sufficient permissions to delete plugins on this site."
|
2485 |
+
msgstr ""
|
2486 |
+
|
2487 |
+
#: modules/settings/uninstall.php:66
|
2488 |
msgid ""
|
2489 |
"Uninstalling SEO Ultimate will delete your settings and the plugin’s "
|
2490 |
"files."
|
2491 |
msgstr ""
|
2492 |
|
2493 |
+
#: modules/settings/uninstall.php:69
|
2494 |
msgid ""
|
2495 |
"Are you sure you want to uninstall SEO Ultimate? This will permanently erase "
|
2496 |
"your SEO Ultimate settings and cannot be undone."
|
2497 |
msgstr ""
|
2498 |
|
2499 |
+
#: modules/settings/uninstall.php:70
|
2500 |
msgid "Uninstall Now"
|
2501 |
msgstr ""
|
2502 |
|
2503 |
+
#: modules/settings/uninstall.php:74 modules/settings/uninstall.php:85
|
2504 |
msgid "Uninstall SEO Ultimate"
|
2505 |
msgstr ""
|
2506 |
|
2507 |
+
#: modules/settings/uninstall.php:89
|
2508 |
msgid "Deleted settings."
|
2509 |
msgstr ""
|
2510 |
|
2511 |
+
#: modules/settings/uninstall.php:96
|
2512 |
msgid "An error occurred while deleting files."
|
2513 |
msgstr ""
|
2514 |
|
2515 |
+
#: modules/settings/uninstall.php:98
|
2516 |
msgid "Deleted files."
|
2517 |
msgstr ""
|
2518 |
|
2519 |
+
#: modules/settings/uninstall.php:99
|
2520 |
msgid "Uninstallation complete. Thanks for trying SEO Ultimate."
|
2521 |
msgstr ""
|
2522 |
|
3068 |
msgid "SEO Ultimate Widgets"
|
3069 |
msgstr ""
|
3070 |
|
3071 |
+
#: modules/widgets/widgets.php:42
|
3072 |
msgid ""
|
3073 |
"On category archives, displays a list of child categories and/or posts in "
|
3074 |
"the category. Displays a list of top-level categories everywhere else. "
|
3075 |
"Powered by the SEO Ultimate plugin."
|
3076 |
msgstr ""
|
3077 |
|
3078 |
+
#: modules/widgets/widgets.php:43
|
3079 |
msgid "Siloed Categories"
|
3080 |
msgstr ""
|
3081 |
|
3082 |
+
#: modules/widgets/widgets.php:57
|
3083 |
msgid "Tags"
|
3084 |
msgstr ""
|
3085 |
|
3086 |
+
#: modules/widgets/widgets.php:136
|
3087 |
msgid "Title:"
|
3088 |
msgstr ""
|
3089 |
|
3090 |
+
#: modules/widgets/widgets.php:140
|
3091 |
msgid "Show post counts"
|
3092 |
msgstr ""
|
3093 |
|
3094 |
+
#: modules/widgets/widgets.php:142
|
3095 |
msgid "Use term descriptions in title attributes"
|
3096 |
msgstr ""
|
3097 |
|
3098 |
+
#: modules/widgets/widgets.php:144
|
3099 |
msgid "Taxonomy:"
|
3100 |
msgstr ""
|
3101 |
|
3102 |
+
#: modules/widgets/widgets.php:169
|
3103 |
msgid ""
|
3104 |
"Add this widget to display Deeplink Juggernaut’s Footer Links in a "
|
3105 |
"widget area of your choosing rather than the default wp_footer section. "
|
3106 |
"Powered by the SEO Ultimate plugin."
|
3107 |
msgstr ""
|
3108 |
|
3109 |
+
#: modules/widgets/widgets.php:223
|
3110 |
msgid "Title: <em>(optional)</em>"
|
3111 |
msgstr ""
|
3112 |
|
3113 |
+
#: modules/widgets/widgets.php:227
|
3114 |
msgid "Display as a list"
|
3115 |
msgstr ""
|
3116 |
|
3117 |
+
#: modules/widgets/widgets.php:230
|
3118 |
msgid "Use my <a href=\"%s\" target=\"_blank\">footer link HTML formats</a>"
|
3119 |
msgstr ""
|
3120 |
|
3195 |
msgid "Go to setting »"
|
3196 |
msgstr ""
|
3197 |
|
3198 |
+
#: plugin/class.seo-ultimate.php:851
|
3199 |
msgid "SEO"
|
3200 |
msgstr ""
|
3201 |
|
3202 |
+
#: plugin/class.seo-ultimate.php:1036
|
3203 |
msgid ""
|
3204 |
"It looks like you made changes to the settings of this SEO Ultimate module. "
|
3205 |
"If you leave before saving, those changes will be lost."
|
3206 |
msgstr ""
|
3207 |
|
3208 |
+
#: plugin/class.seo-ultimate.php:1130
|
3209 |
msgid "SEO Settings Help"
|
3210 |
msgstr ""
|
3211 |
|
3212 |
+
#: plugin/class.seo-ultimate.php:1132
|
3213 |
msgid "The SEO Settings box lets you customize these settings:"
|
3214 |
msgstr ""
|
3215 |
|
3216 |
+
#: plugin/class.seo-ultimate.php:1134
|
3217 |
msgid "(The SEO Settings box is part of the SEO Ultimate plugin.)"
|
3218 |
msgstr ""
|
3219 |
|
3220 |
+
#: plugin/class.seo-ultimate.php:1189
|
3221 |
msgid ""
|
3222 |
"SEO Ultimate includes the functionality of %1$s. You may want to deactivate "
|
3223 |
"%1$s to avoid plugin conflicts."
|
3224 |
msgstr ""
|
3225 |
|
3226 |
+
#: plugin/class.seo-ultimate.php:1233
|
3227 |
msgid "new module"
|
3228 |
msgstr ""
|
3229 |
|
3230 |
+
#: plugin/class.seo-ultimate.php:1233
|
3231 |
msgid "new modules"
|
3232 |
msgstr ""
|
3233 |
|
3234 |
+
#: plugin/class.seo-ultimate.php:1234
|
3235 |
msgid "new feature"
|
3236 |
msgstr ""
|
3237 |
|
3238 |
+
#: plugin/class.seo-ultimate.php:1234
|
3239 |
msgid "new features"
|
3240 |
msgstr ""
|
3241 |
|
3242 |
+
#: plugin/class.seo-ultimate.php:1235
|
3243 |
msgid "bugfix"
|
3244 |
msgstr ""
|
3245 |
|
3246 |
+
#: plugin/class.seo-ultimate.php:1235
|
3247 |
msgid "bugfixes"
|
3248 |
msgstr ""
|
3249 |
|
3250 |
+
#: plugin/class.seo-ultimate.php:1236
|
3251 |
msgid "improvement"
|
3252 |
msgstr ""
|
3253 |
|
3254 |
+
#: plugin/class.seo-ultimate.php:1236
|
3255 |
msgid "improvements"
|
3256 |
msgstr ""
|
3257 |
|
3258 |
+
#: plugin/class.seo-ultimate.php:1237
|
3259 |
msgid "security fix"
|
3260 |
msgstr ""
|
3261 |
|
3262 |
+
#: plugin/class.seo-ultimate.php:1237
|
3263 |
msgid "security fixes"
|
3264 |
msgstr ""
|
3265 |
|
3266 |
+
#: plugin/class.seo-ultimate.php:1238
|
3267 |
msgid "new language pack"
|
3268 |
msgstr ""
|
3269 |
|
3270 |
+
#: plugin/class.seo-ultimate.php:1238
|
3271 |
msgid "new language packs"
|
3272 |
msgstr ""
|
3273 |
|
3274 |
+
#: plugin/class.seo-ultimate.php:1239
|
3275 |
msgid "language pack update"
|
3276 |
msgstr ""
|
3277 |
|
3278 |
+
#: plugin/class.seo-ultimate.php:1239
|
3279 |
msgid "language pack updates"
|
3280 |
msgstr ""
|
3281 |
|
3282 |
+
#: plugin/class.seo-ultimate.php:1270
|
3283 |
msgid "%d %s"
|
3284 |
msgstr ""
|
3285 |
|
3286 |
+
#: plugin/class.seo-ultimate.php:1276
|
3287 |
msgid "Upgrade now to get %s. %s."
|
3288 |
msgstr ""
|
3289 |
|
3290 |
+
#: plugin/class.seo-ultimate.php:1278
|
3291 |
msgid "View changelog"
|
3292 |
msgstr ""
|
3293 |
|
3294 |
+
#: plugin/class.seo-ultimate.php:1355
|
3295 |
msgid "Active Modules: "
|
3296 |
msgstr ""
|
3297 |
|
3298 |
+
#: plugin/class.seo-ultimate.php:1422
|
3299 |
msgid ""
|
3300 |
"<strong>SEO Ultimate Notice:</strong> Your blog is configured to block "
|
3301 |
"search engine spiders. To resolve this, <a href=\"options-privacy.php\" "
|
3303 |
"to everyone."
|
3304 |
msgstr ""
|
3305 |
|
3306 |
+
#: plugin/class.seo-ultimate.php:1544
|
3307 |
msgid "SEO Settings"
|
3308 |
msgstr ""
|
3309 |
|
3310 |
+
#: plugin/class.seo-ultimate.php:1734
|
3311 |
msgid "Home"
|
3312 |
msgstr ""
|
3313 |
|
3314 |
+
#: plugin/class.seo-ultimate.php:1807
|
3315 |
msgid "Author Archives"
|
3316 |
msgstr ""
|
3317 |
|
3318 |
+
#: plugin/class.seo-ultimate.php:1836
|
3319 |
msgid "Link Masks"
|
3320 |
msgstr ""
|
3321 |
|
3322 |
+
#: plugin/class.su-installer.php:11
|
3323 |
msgid "Package not available."
|
3324 |
msgstr ""
|
3325 |
|
3326 |
+
#: plugin/class.su-installer.php:14
|
3327 |
msgid "Removing the current version of the plugin…"
|
3328 |
msgstr ""
|
3329 |
|
3330 |
+
#: plugin/class.su-installer.php:15
|
3331 |
msgid "Could not remove the current version of the plugin."
|
3332 |
msgstr ""
|
3333 |
|
3334 |
+
#: plugin/class.su-installer.php:19
|
3335 |
msgid "Downloading old version from <span class=\"code\">%s</span>…"
|
3336 |
msgstr ""
|
3337 |
|
3338 |
+
#: plugin/class.su-installer.php:20
|
3339 |
msgid "Unpacking the downgrade…"
|
3340 |
msgstr ""
|
3341 |
|
3342 |
+
#: plugin/class.su-installer.php:21
|
3343 |
msgid "Installing the downgrade…"
|
3344 |
msgstr ""
|
3345 |
|
3346 |
+
#: plugin/class.su-installer.php:22
|
3347 |
msgid "Plugin downgrade failed."
|
3348 |
msgstr ""
|
3349 |
|
3350 |
+
#: plugin/class.su-installer.php:23
|
3351 |
msgid "Plugin downgraded successfully."
|
3352 |
msgstr ""
|
3353 |
|
3354 |
+
#: plugin/class.su-installer.php:26
|
3355 |
msgid "Downloading from <span class=\"code\">%s</span>…"
|
3356 |
msgstr ""
|
3357 |
|
3358 |
+
#: plugin/class.su-installer.php:27
|
3359 |
msgid "Unpacking the reinstall…"
|
3360 |
msgstr ""
|
3361 |
|
3362 |
+
#: plugin/class.su-installer.php:28
|
3363 |
msgid "Reinstalling the current version…"
|
3364 |
msgstr ""
|
3365 |
|
3366 |
+
#: plugin/class.su-installer.php:29
|
3367 |
msgid "Plugin reinstallation failed."
|
3368 |
msgstr ""
|
3369 |
|
3370 |
+
#: plugin/class.su-installer.php:30
|
3371 |
msgid "Plugin reinstalled successfully."
|
3372 |
msgstr ""
|
3373 |
|
3374 |
+
#: plugin/class.su-installer.php:34
|
3375 |
msgid "Downloading upgrade from <span class=\"code\">%s</span>…"
|
3376 |
msgstr ""
|
3377 |
|
3378 |
+
#: plugin/class.su-installer.php:35
|
3379 |
msgid "Unpacking the upgrade…"
|
3380 |
msgstr ""
|
3381 |
|
3382 |
+
#: plugin/class.su-installer.php:36
|
3383 |
msgid "Installing the upgrade…"
|
3384 |
msgstr ""
|
3385 |
|
3386 |
+
#: plugin/class.su-installer.php:37
|
3387 |
msgid "Plugin upgrade failed."
|
3388 |
msgstr ""
|
3389 |
|
3390 |
+
#: plugin/class.su-installer.php:38
|
3391 |
msgid "Plugin upgraded successfully."
|
3392 |
msgstr ""
|
3393 |
|