SEO Ultimate - Version 7.2.5

Version Description

Download this release

Release Info

Developer JohnLamansky
Plugin Icon 128x128 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 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 will soon require PHP 5.2 as well, starting with WordPress 3.2.) If you aren&#8217;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
 
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&#8217;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
- if (count($tabs = $this->get_admin_page_tabs())) {
 
 
 
 
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
- return admin_url($basepage.'?page='.$this->plugin->key_to_hook($key).$anchor);
 
 
 
 
 
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
- foreach ($child_tabs as $child_tab) {
566
- if (is_array($child_tab) && !is_array($child_tab['callback'])) $child_tab['callback'] = array(&$module, $child_tab['callback']);
567
- $tabs[] = $child_tab;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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, array('modules')) && $module->is_independent_module())
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
- return array(
23
- array('title' => __('Upgrade', 'seo-ultimate'), 'id' => 'su-upgrade', 'callback' => 'upgrade_tab')
24
- , array('title' => __('Downgrade', 'seo-ultimate'), 'id' => 'su-downgrade', 'callback' => 'downgrade_tab')
25
- , array('title' => __('Reinstall', 'seo-ultimate'), 'id' => 'su-reinstall', 'callback' => 'reinstall_tab')
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 &#8220;Reinstall&#8221; 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 &#8220;Reinstall&#8221; 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() { return __('Plugin Settings', 'seo-ultimate'); }
13
- function get_page_title() { return __('SEO Ultimate Plugin Settings', 'seo-ultimate'); }
 
 
 
 
 
 
 
 
 
 
 
 
14
  function get_menu_title() { return __('SEO Ultimate', 'seo-ultimate'); }
15
- function get_menu_parent(){ return 'options-general.php'; }
 
 
 
 
 
 
 
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 admin_page_contents() {
 
 
 
 
 
 
26
  echo "\n<p>";
27
  _e('Uninstalling SEO Ultimate will delete your settings and the plugin&#8217;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&#8217;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
- function get_admin_url() { return 'widgets.php'; }
 
 
 
 
 
 
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 specifically 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_menus'), 10);
 
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 ($this->modules[$key]->is_module_admin_page())
 
 
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
- $count_code = $this->get_menu_count_code($count);
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
- //Translations and count codes will mess up the admin page hook, so we need to fix it manually.
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() && (!$module->get_parent_module() || !$this->module_exists($module->get_parent_module()))) {
 
 
 
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
- echo $this->get_module_links_list('<p id="su-active-modules-list">'.__('Active Modules: ', 'seo-ultimate'), ' | ', '</p>');
 
 
 
 
 
 
 
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
- $modules[$module->get_module_title()] = $module->get_admin_url();
 
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
- // Cleanup our hooks, incase something else does a upgrade on this connection.
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.4
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** - 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,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.4
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.4
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.4');
51
  define('SU_AUTHOR', 'SEO Design Solutions');
52
  define('SU_AUTHOR_URI', 'http://www.seodesignsolutions.com/');
53
- define('SU_USER_AGENT', 'SeoUltimate/7.2.4');
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.2\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/seo-ultimate\n"
7
- "POT-Creation-Date: 2012-06-15 20:51:29+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,7 +69,7 @@ msgstr ""
69
  msgid "Log"
70
  msgstr ""
71
 
72
- #: modules/404s/fofs-log.php:113 modules/class.su-module.php:1157
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:22
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 will soon require PHP 5.2 as well, starting with "
351
  "WordPress 3.2.) If you aren&#8217;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:164
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:622
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:971
735
  msgid "%1$s | %2$s %3$s by %4$s"
736
  msgstr ""
737
 
738
- #: modules/class.su-module.php:1050
739
  msgid "Your site currently doesn&#8217;t have any public items of this type."
740
  msgstr ""
741
 
742
- #: modules/class.su-module.php:1136
743
  msgid "&laquo;"
744
  msgstr ""
745
 
746
- #: modules/class.su-module.php:1137
747
  msgid "&raquo;"
748
  msgstr ""
749
 
750
- #: modules/class.su-module.php:1144
751
  msgid "Displaying %s&#8211;%s of %s"
752
  msgstr ""
753
 
754
- #: modules/class.su-module.php:1158
755
  msgid "ID"
756
  msgstr ""
757
 
758
- #: modules/class.su-module.php:1192
759
  msgid "View"
760
  msgstr ""
761
 
762
- #: modules/class.su-module.php:1194
763
  msgid "Edit"
764
  msgstr ""
765
 
766
- #: modules/class.su-module.php:1358
767
  msgid "Settings updated."
768
  msgstr ""
769
 
770
- #: modules/class.su-module.php:1379
771
  msgid "Save Changes"
772
  msgstr ""
773
 
774
- #: modules/class.su-module.php:1920
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:1939 modules/settings/settings-data.php:23
781
  msgid "Reset"
782
  msgstr ""
783
 
784
- #: modules/class.su-module.php:2557 modules/class.su-module.php:2569
785
  msgid "A Deleted %s"
786
  msgstr ""
787
 
788
- #: modules/class.su-module.php:2559
789
  msgid "A Deleted Post"
790
  msgstr ""
791
 
792
- #: modules/class.su-module.php:2574
793
  msgid "A Deleted Term"
794
  msgstr ""
795
 
796
- #: modules/class.su-module.php:2580 modules/meta/meta-descriptions.php:25
797
- #: modules/meta/meta-keywords.php:34 plugin/class.seo-ultimate.php:1671
798
  msgid "Blog Homepage"
799
  msgstr ""
800
 
801
- #: modules/class.su-module.php:2585 plugin/class.seo-ultimate.php:1749
802
  msgid "Author"
803
  msgstr ""
804
 
805
- #: modules/class.su-module.php:2587
806
  msgid "A Deleted User"
807
  msgstr ""
808
 
809
- #: modules/class.su-module.php:2602 plugin/class.seo-ultimate.php:1779
810
  msgid "Link Mask"
811
  msgstr ""
812
 
813
- #: modules/class.su-module.php:2604
814
  msgid "Link Mask (Disabled)"
815
  msgstr ""
816
 
817
- #: modules/class.su-module.php:2609
818
  msgid "A Deleted Link Mask"
819
  msgstr ""
820
 
821
- #: modules/class.su-module.php:2634
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:2647
826
  msgid "Remove this location from this textbox"
827
  msgstr ""
828
 
829
- #: modules/class.su-module.php:2647
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:41 modules/slugs/slugs.php:87
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.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&#8217;s title to read it."
2113
  msgstr ""
2114
 
2115
- #: modules/settings/global-settings.php:18 modules/settings/settings.php:29
2116
  msgid "Global Settings"
2117
  msgstr ""
2118
 
2119
- #: modules/settings/global-settings.php:40
2120
  msgid "Enable nofollow&#8217;d attribution link"
2121
  msgstr ""
2122
 
2123
- #: modules/settings/global-settings.php:41
2124
  msgid "Enable attribution link CSS styling"
2125
  msgstr ""
2126
 
2127
- #: modules/settings/global-settings.php:42
2128
  msgid "Notify me about unnecessary active plugins"
2129
  msgstr ""
2130
 
2131
- #: modules/settings/global-settings.php:43
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:23 modules/settings/install.php:48
2144
  msgid "Upgrade"
2145
  msgstr ""
2146
 
2147
- #: modules/settings/install.php:24 modules/settings/install.php:71
2148
  msgid "Downgrade"
2149
  msgstr ""
2150
 
2151
- #: modules/settings/install.php:25 modules/settings/install.php:86
2152
  msgid "Reinstall"
2153
  msgstr ""
2154
 
2155
- #: modules/settings/install.php:42
 
 
 
 
2156
  msgid ""
2157
  "From the list below, select the version to which you would like to upgrade. "
2158
  "Then click the &#8220;Upgrade&#8221; button at the bottom of the screen."
2159
  msgstr ""
2160
 
2161
- #: modules/settings/install.php:51
2162
  msgid "You are already running the latest version."
2163
  msgstr ""
2164
 
2165
- #: modules/settings/install.php:53
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:62
 
 
 
 
 
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:65
2180
  msgid ""
2181
  "From the list below, select the version to which you would like to "
2182
  "downgrade. Then click the &#8220;Downgrade&#8221; button at the bottom of "
2183
  "the screen."
2184
  msgstr ""
2185
 
2186
- #: modules/settings/install.php:74
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:76
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:81
 
 
 
 
 
2199
  msgid ""
2200
  "To download and install a fresh copy of the SEO Ultimate version you are "
2201
  "currently using, click the &#8220;Reinstall&#8221; button below."
2202
  msgstr ""
2203
 
2204
- #: modules/settings/install.php:108
2205
  msgid "Your Current Version"
2206
  msgstr ""
2207
 
2208
- #: modules/settings/install.php:110
2209
  msgid "Latest Version"
2210
  msgstr ""
2211
 
2212
- #: modules/settings/install.php:130
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:143
2223
  msgid "Reinstall SEO Ultimate %s"
2224
  msgstr ""
2225
 
2226
- #: modules/settings/install.php:146
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:12
 
 
 
 
2399
  msgid "Plugin Settings"
2400
  msgstr ""
2401
 
2402
- #: modules/settings/settings.php:13
 
 
 
 
2403
  msgid "SEO Ultimate Plugin Settings"
2404
  msgstr ""
2405
 
2406
- #. #-#-#-#-# plugin.pot (SEO Ultimate 7.2.2) #-#-#-#-#
2407
  #. Plugin Name of the plugin/theme
2408
- #: modules/settings/settings.php:14 plugin/class.seo-ultimate.php:791
2409
  msgid "SEO Ultimate"
2410
  msgstr ""
2411
 
2412
- #: modules/settings/settings.php:23
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:30
2420
  msgid ""
2421
  "\r\n"
2422
  "<p>Here&#8217;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:42
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 plugin/class.seo-ultimate.php:1278
 
2463
  msgid "Uninstall"
2464
  msgstr ""
2465
 
2466
- #: modules/settings/uninstall.php:27
 
 
 
 
2467
  msgid ""
2468
  "Uninstalling SEO Ultimate will delete your settings and the plugin&#8217;s "
2469
  "files."
2470
  msgstr ""
2471
 
2472
- #: modules/settings/uninstall.php:30
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:31
2479
  msgid "Uninstall Now"
2480
  msgstr ""
2481
 
2482
- #: modules/settings/uninstall.php:35 modules/settings/uninstall.php:42
2483
  msgid "Uninstall SEO Ultimate"
2484
  msgstr ""
2485
 
2486
- #: modules/settings/uninstall.php:46
2487
  msgid "Deleted settings."
2488
  msgstr ""
2489
 
2490
- #: modules/settings/uninstall.php:53
2491
  msgid "An error occurred while deleting files."
2492
  msgstr ""
2493
 
2494
- #: modules/settings/uninstall.php:55
2495
  msgid "Deleted files."
2496
  msgstr ""
2497
 
2498
- #: modules/settings/uninstall.php:56
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:36
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:37
3058
  msgid "Siloed Categories"
3059
  msgstr ""
3060
 
3061
- #: modules/widgets/widgets.php:51
3062
  msgid "Tags"
3063
  msgstr ""
3064
 
3065
- #: modules/widgets/widgets.php:130
3066
  msgid "Title:"
3067
  msgstr ""
3068
 
3069
- #: modules/widgets/widgets.php:134
3070
  msgid "Show post counts"
3071
  msgstr ""
3072
 
3073
- #: modules/widgets/widgets.php:136
3074
  msgid "Use term descriptions in title attributes"
3075
  msgstr ""
3076
 
3077
- #: modules/widgets/widgets.php:138
3078
  msgid "Taxonomy:"
3079
  msgstr ""
3080
 
3081
- #: modules/widgets/widgets.php:163
3082
  msgid ""
3083
  "Add this widget to display Deeplink Juggernaut&#8217;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:217
3089
  msgid "Title: <em>(optional)</em>"
3090
  msgstr ""
3091
 
3092
- #: modules/widgets/widgets.php:221
3093
  msgid "Display as a list"
3094
  msgstr ""
3095
 
3096
- #: modules/widgets/widgets.php:224
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 &raquo;"
3175
  msgstr ""
3176
 
3177
- #: plugin/class.seo-ultimate.php:791
3178
  msgid "SEO"
3179
  msgstr ""
3180
 
3181
- #: plugin/class.seo-ultimate.php:980
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:1074
3188
  msgid "SEO Settings Help"
3189
  msgstr ""
3190
 
3191
- #: plugin/class.seo-ultimate.php:1076
3192
  msgid "The SEO Settings box lets you customize these settings:"
3193
  msgstr ""
3194
 
3195
- #: plugin/class.seo-ultimate.php:1078
3196
  msgid "(The SEO Settings box is part of the SEO Ultimate plugin.)"
3197
  msgstr ""
3198
 
3199
- #: plugin/class.seo-ultimate.php:1133
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:1177
3206
  msgid "new module"
3207
  msgstr ""
3208
 
3209
- #: plugin/class.seo-ultimate.php:1177
3210
  msgid "new modules"
3211
  msgstr ""
3212
 
3213
- #: plugin/class.seo-ultimate.php:1178
3214
  msgid "new feature"
3215
  msgstr ""
3216
 
3217
- #: plugin/class.seo-ultimate.php:1178
3218
  msgid "new features"
3219
  msgstr ""
3220
 
3221
- #: plugin/class.seo-ultimate.php:1179
3222
  msgid "bugfix"
3223
  msgstr ""
3224
 
3225
- #: plugin/class.seo-ultimate.php:1179
3226
  msgid "bugfixes"
3227
  msgstr ""
3228
 
3229
- #: plugin/class.seo-ultimate.php:1180
3230
  msgid "improvement"
3231
  msgstr ""
3232
 
3233
- #: plugin/class.seo-ultimate.php:1180
3234
  msgid "improvements"
3235
  msgstr ""
3236
 
3237
- #: plugin/class.seo-ultimate.php:1181
3238
  msgid "security fix"
3239
  msgstr ""
3240
 
3241
- #: plugin/class.seo-ultimate.php:1181
3242
  msgid "security fixes"
3243
  msgstr ""
3244
 
3245
- #: plugin/class.seo-ultimate.php:1182
3246
  msgid "new language pack"
3247
  msgstr ""
3248
 
3249
- #: plugin/class.seo-ultimate.php:1182
3250
  msgid "new language packs"
3251
  msgstr ""
3252
 
3253
- #: plugin/class.seo-ultimate.php:1183
3254
  msgid "language pack update"
3255
  msgstr ""
3256
 
3257
- #: plugin/class.seo-ultimate.php:1183
3258
  msgid "language pack updates"
3259
  msgstr ""
3260
 
3261
- #: plugin/class.seo-ultimate.php:1214
3262
  msgid "%d %s"
3263
  msgstr ""
3264
 
3265
- #: plugin/class.seo-ultimate.php:1220
3266
  msgid "Upgrade now to get %s. %s."
3267
  msgstr ""
3268
 
3269
- #: plugin/class.seo-ultimate.php:1222
3270
  msgid "View changelog"
3271
  msgstr ""
3272
 
3273
- #: plugin/class.seo-ultimate.php:1298
3274
  msgid "Active Modules: "
3275
  msgstr ""
3276
 
3277
- #: plugin/class.seo-ultimate.php:1359
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:1481
3286
  msgid "SEO Settings"
3287
  msgstr ""
3288
 
3289
- #: plugin/class.seo-ultimate.php:1670
3290
  msgid "Home"
3291
  msgstr ""
3292
 
3293
- #: plugin/class.seo-ultimate.php:1743
3294
  msgid "Author Archives"
3295
  msgstr ""
3296
 
3297
- #: plugin/class.seo-ultimate.php:1772
3298
  msgid "Link Masks"
3299
  msgstr ""
3300
 
3301
- #: plugin/class.su-installer.php:9
3302
  msgid "Package not available."
3303
  msgstr ""
3304
 
3305
- #: plugin/class.su-installer.php:12
3306
  msgid "Removing the current version of the plugin&#8230;"
3307
  msgstr ""
3308
 
3309
- #: plugin/class.su-installer.php:13
3310
  msgid "Could not remove the current version of the plugin."
3311
  msgstr ""
3312
 
3313
- #: plugin/class.su-installer.php:17
3314
  msgid "Downloading old version from <span class=\"code\">%s</span>&#8230;"
3315
  msgstr ""
3316
 
3317
- #: plugin/class.su-installer.php:18
3318
  msgid "Unpacking the downgrade&#8230;"
3319
  msgstr ""
3320
 
3321
- #: plugin/class.su-installer.php:19
3322
  msgid "Installing the downgrade&#8230;"
3323
  msgstr ""
3324
 
3325
- #: plugin/class.su-installer.php:20
3326
  msgid "Plugin downgrade failed."
3327
  msgstr ""
3328
 
3329
- #: plugin/class.su-installer.php:21
3330
  msgid "Plugin downgraded successfully."
3331
  msgstr ""
3332
 
3333
- #: plugin/class.su-installer.php:24
3334
  msgid "Downloading from <span class=\"code\">%s</span>&#8230;"
3335
  msgstr ""
3336
 
3337
- #: plugin/class.su-installer.php:25
3338
  msgid "Unpacking the reinstall&#8230;"
3339
  msgstr ""
3340
 
3341
- #: plugin/class.su-installer.php:26
3342
  msgid "Reinstalling the current version&#8230;"
3343
  msgstr ""
3344
 
3345
- #: plugin/class.su-installer.php:27
3346
  msgid "Plugin reinstallation failed."
3347
  msgstr ""
3348
 
3349
- #: plugin/class.su-installer.php:28
3350
  msgid "Plugin reinstalled successfully."
3351
  msgstr ""
3352
 
3353
- #: plugin/class.su-installer.php:32
3354
  msgid "Downloading upgrade from <span class=\"code\">%s</span>&#8230;"
3355
  msgstr ""
3356
 
3357
- #: plugin/class.su-installer.php:33
3358
  msgid "Unpacking the upgrade&#8230;"
3359
  msgstr ""
3360
 
3361
- #: plugin/class.su-installer.php:34
3362
  msgid "Installing the upgrade&#8230;"
3363
  msgstr ""
3364
 
3365
- #: plugin/class.su-installer.php:35
3366
  msgid "Plugin upgrade failed."
3367
  msgstr ""
3368
 
3369
- #: plugin/class.su-installer.php:36
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&#8217;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&#8217;t have any public items of this type."
740
  msgstr ""
741
 
742
+ #: modules/class.su-module.php:1184
743
  msgid "&laquo;"
744
  msgstr ""
745
 
746
+ #: modules/class.su-module.php:1185
747
  msgid "&raquo;"
748
  msgstr ""
749
 
750
+ #: modules/class.su-module.php:1192
751
  msgid "Displaying %s&#8211;%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&#8217;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&#8217;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 &#8220;Upgrade&#8221; 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 &#8220;Downgrade&#8221; 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 &#8220;Reinstall&#8221; 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&#8217;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&#8217;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&#8217;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 &raquo;"
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&#8230;"
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>&#8230;"
3336
  msgstr ""
3337
 
3338
+ #: plugin/class.su-installer.php:20
3339
  msgid "Unpacking the downgrade&#8230;"
3340
  msgstr ""
3341
 
3342
+ #: plugin/class.su-installer.php:21
3343
  msgid "Installing the downgrade&#8230;"
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>&#8230;"
3356
  msgstr ""
3357
 
3358
+ #: plugin/class.su-installer.php:27
3359
  msgid "Unpacking the reinstall&#8230;"
3360
  msgstr ""
3361
 
3362
+ #: plugin/class.su-installer.php:28
3363
  msgid "Reinstalling the current version&#8230;"
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>&#8230;"
3376
  msgstr ""
3377
 
3378
+ #: plugin/class.su-installer.php:35
3379
  msgid "Unpacking the upgrade&#8230;"
3380
  msgstr ""
3381
 
3382
+ #: plugin/class.su-installer.php:36
3383
  msgid "Installing the upgrade&#8230;"
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