SEO Ultimate - Version 7.6.3

Version Description

Download this release

Release Info

Developer SEO Design Solutions
Plugin Icon 128x128 SEO Ultimate
Version 7.6.3
Comparing to
See all releases

Code changes from version 7.6.2 to 7.6.3

Files changed (147) hide show
  1. modules/class.su-module.php +116 -8
  2. modules/meta/meta-descriptions.css +1 -1
  3. modules/modules.css +1 -1
  4. modules/modules.js +1 -2
  5. modules/opengraph/opengraph.php +3 -3
  6. modules/sdf-ads.css +1 -1
  7. modules/sdf-ads.js +25 -4
  8. modules/sds-blog/sds-blog.php +1 -1
  9. plugin/class.seo-ultimate.php +66 -19
  10. plugin/global.css +5 -5
  11. plugin/images/page_seo.png +0 -0
  12. plugin/images/wp-ultimate.gif +0 -0
  13. plugin/img/admin/ad-shadow.gif +0 -0
  14. plugin/img/admin/add_btn.png +0 -0
  15. plugin/img/admin/admin-bg.gif +0 -0
  16. plugin/img/admin/arrow.gif +0 -0
  17. plugin/img/admin/bg_select.gif +0 -0
  18. plugin/img/admin/bg_select_disabled.gif +0 -0
  19. plugin/img/admin/centerLogo.png +0 -0
  20. plugin/img/admin/clear.gif +0 -0
  21. plugin/img/admin/custom_layout_bg.png +0 -0
  22. plugin/img/admin/delete.png +0 -0
  23. plugin/img/admin/export.jpg +0 -0
  24. plugin/img/admin/global/breadcrumb_icon.png +0 -0
  25. plugin/img/admin/global/page_settings_icon.png +0 -0
  26. plugin/img/admin/global/placeholders.png +0 -0
  27. plugin/img/admin/global/sdf_footer_icon.png +0 -0
  28. plugin/img/admin/global/sdf_global_icon.png +0 -0
  29. plugin/img/admin/global/sdf_header_structure_icon.png +0 -0
  30. plugin/img/admin/global/sdf_layout_icon.png +0 -0
  31. plugin/img/admin/global/sdf_seo_icon.png +0 -0
  32. plugin/img/admin/global/sdf_shortcode_generator.png +0 -0
  33. plugin/img/admin/global/sdf_silo_builder_icon.png +0 -0
  34. plugin/img/admin/global/sdf_slider_icon.png +0 -0
  35. plugin/img/admin/global/sdf_styles_icon.png +0 -0
  36. plugin/img/admin/global/shortcode_icon.jpg +0 -0
  37. plugin/img/admin/global/slider_settings.png +0 -0
  38. plugin/img/admin/global/typography_settings_icon.png +0 -0
  39. plugin/img/admin/glyphicons_367_expand.png +0 -0
  40. plugin/img/admin/glyphicons_368_collapse.png +0 -0
  41. plugin/img/admin/layout/3-col-page.gif +0 -0
  42. plugin/img/admin/layout/3-col.gif +0 -0
  43. plugin/img/admin/layout/ads/ad-above-footer.gif +0 -0
  44. plugin/img/admin/layout/ads/ad-below-header.gif +0 -0
  45. plugin/img/admin/layout/ads/ad-bottom.gif +0 -0
  46. plugin/img/admin/layout/ads/ad-top.gif +0 -0
  47. plugin/img/admin/layout/ads/c-above.gif +0 -0
  48. plugin/img/admin/layout/ads/c-below.gif +0 -0
  49. plugin/img/admin/layout/ads/c-bottom-left.gif +0 -0
  50. plugin/img/admin/layout/ads/c-bottom-right.gif +0 -0
  51. plugin/img/admin/layout/ads/c-top-left.gif +0 -0
  52. plugin/img/admin/layout/ads/c-top-right.gif +0 -0
  53. plugin/img/admin/layout/ads/shortcode.gif +0 -0
  54. plugin/img/admin/layout/c-s-s.gif +0 -0
  55. plugin/img/admin/layout/css-page.gif +0 -0
  56. plugin/img/admin/layout/custom-page.gif +0 -0
  57. plugin/img/admin/layout/custom.gif +0 -0
  58. plugin/img/admin/layout/global.gif +0 -0
  59. plugin/img/admin/layout/none-page.gif +0 -0
  60. plugin/img/admin/layout/none.gif +0 -0
  61. plugin/img/admin/layout/s-s-c.gif +0 -0
  62. plugin/img/admin/layout/side-left-page.gif +0 -0
  63. plugin/img/admin/layout/side-left.gif +0 -0
  64. plugin/img/admin/layout/side-right-page.gif +0 -0
  65. plugin/img/admin/layout/side-right.gif +0 -0
  66. plugin/img/admin/layout/ssc-page.gif +0 -0
  67. plugin/img/admin/layout/widgets/widget_layouts_1_1.png +0 -0
  68. plugin/img/admin/layout/widgets/widget_layouts_1_2.png +0 -0
  69. plugin/img/admin/layout/widgets/widget_layouts_1_3.png +0 -0
  70. plugin/img/admin/layout/widgets/widget_layouts_1_4.png +0 -0
  71. plugin/img/admin/layout/widgets/widget_layouts_1_6.png +0 -0
  72. plugin/img/admin/layout/widgets/widget_layouts_2_3.png +0 -0
  73. plugin/img/admin/layout/widgets/widget_layouts_3_4.png +0 -0
  74. plugin/img/admin/layout/widgets/widget_layouts_5_6.png +0 -0
  75. plugin/img/admin/leftLogo.png +0 -0
  76. plugin/img/admin/loading.gif +0 -0
  77. plugin/img/admin/page_footer.png +0 -0
  78. plugin/img/admin/page_layout.png +0 -0
  79. plugin/img/admin/page_navigation.png +0 -0
  80. plugin/img/admin/page_settings.png +0 -0
  81. plugin/img/admin/page_slider.png +0 -0
  82. plugin/img/admin/page_title.png +0 -0
  83. plugin/img/admin/picker/AlphaBar.png +0 -0
  84. plugin/img/admin/picker/Bars.png +0 -0
  85. plugin/img/admin/picker/Maps.png +0 -0
  86. plugin/img/admin/picker/NoColor.png +0 -0
  87. plugin/img/admin/picker/bar-opacity.png +0 -0
  88. plugin/img/admin/picker/map-opacity.png +0 -0
  89. plugin/img/admin/picker/mappoint.gif +0 -0
  90. plugin/img/admin/picker/picker.gif +0 -0
  91. plugin/img/admin/picker/preview-opacity.png +0 -0
  92. plugin/img/admin/picker/rangearrows.gif +0 -0
  93. plugin/img/admin/rightLogo.png +0 -0
  94. plugin/img/admin/select.gif +0 -0
  95. plugin/img/admin/selected.gif +0 -0
  96. plugin/img/admin/selected_disabled.gif +0 -0
  97. plugin/img/admin/sliders/arrows.gif +0 -0
  98. plugin/img/admin/sliders/dots.gif +0 -0
  99. plugin/img/admin/sliders/no-controls.gif +0 -0
  100. plugin/img/admin/sliders/numbers.gif +0 -0
  101. plugin/img/admin/sliders/text-bar.gif +0 -0
  102. plugin/img/admin/tables/bottom-bg.png +0 -0
  103. plugin/img/admin/tables/left-bot.png +0 -0
  104. plugin/img/admin/tables/left-top.png +0 -0
  105. plugin/img/admin/tables/right-bot.png +0 -0
  106. plugin/img/admin/tables/top-bg.png +0 -0
  107. plugin/img/admin/tables/top-right.png +0 -0
  108. plugin/img/admin/x_btn.png +0 -0
  109. plugin/img/colorpicker/jquery.minicolors.png +0 -0
  110. plugin/{images → img}/error.png +0 -0
  111. plugin/{images → img}/icon.png +0 -0
  112. plugin/{images → img}/index.php +0 -0
  113. plugin/{images → img}/info.png +0 -0
  114. plugin/img/logos/16x16_sdf_hover_wp_icon.png +0 -0
  115. plugin/img/logos/16x16_sdf_wp_icon.png +0 -0
  116. plugin/img/logos/18x18_sdf_hover_wp_icon.png +0 -0
  117. plugin/img/logos/18x18_sdf_wp_icon.png +0 -0
  118. plugin/img/logos/32x32_sdf_wp_icon.png +0 -0
  119. plugin/img/logos/WPU_logo.jpg +0 -0
  120. plugin/img/logos/WPU_logo.png +0 -0
  121. plugin/img/logos/apple-touch-icon-114-precomposed.png +0 -0
  122. plugin/img/logos/apple-touch-icon-144-precomposed.png +0 -0
  123. plugin/img/logos/apple-touch-icon-57-precomposed.png +0 -0
  124. plugin/img/logos/apple-touch-icon-72-precomposed.png +0 -0
  125. plugin/img/logos/favicon.ico +0 -0
  126. plugin/img/logos/favicon2.ico +0 -0
  127. plugin/img/logos/sdf_logo.png +0 -0
  128. plugin/img/logos/wpu-24.png +0 -0
  129. plugin/img/sdf-icons/ajax-loader.gif +0 -0
  130. plugin/img/sdf-icons/arrows.png +0 -0
  131. plugin/img/sdf-icons/clone-icon.png +0 -0
  132. plugin/img/sdf-icons/cols-icon.png +0 -0
  133. plugin/img/sdf-icons/drag-icon.png +0 -0
  134. plugin/img/sdf-icons/element-icon.png +0 -0
  135. plugin/img/sdf-icons/pencil-icon.png +0 -0
  136. plugin/img/sdf-icons/plus-icon.png +0 -0
  137. plugin/img/sdf-icons/save-icon.png +0 -0
  138. plugin/img/sdf-icons/template-icon.png +0 -0
  139. plugin/img/sdf-icons/x-icon.png +0 -0
  140. plugin/{images → img}/sds-logo.png +0 -0
  141. plugin/{images → img}/seo.png +0 -0
  142. plugin/{images → img}/success.png +0 -0
  143. plugin/{images → img}/warning.png +0 -0
  144. plugin/sdf/sdf.admin.css +5 -13
  145. plugin/sdf/sdf.admin.js +71 -0
  146. readme.txt +6 -1
  147. seo-ultimate.php +4 -4
modules/class.su-module.php CHANGED
@@ -293,18 +293,18 @@ class SU_Module {
293
  if (strlen($parent = $this->get_parent_module()) && !$this->is_independent_module())
294
  return $this->plugin->modules[$parent]->get_settings_key();
295
  else
296
- if (strlen($parent = self::get_parent_module()) && !self::is_independent_module()) {
297
- global $seo_ultimate;
298
- return $seo_ultimate->modules[$parent]->get_settings_key();
299
- } else {
300
- return false;
301
- }
302
  } else {
303
  if (strlen($parent = self::get_parent_module()) && !self::is_independent_module()) {
304
  global $seo_ultimate;
305
  return $seo_ultimate->modules[$parent]->get_settings_key();
306
  } else {
307
- return false;
 
 
 
 
 
308
  }
309
  }
310
  }
@@ -780,7 +780,7 @@ class SU_Module {
780
  */
781
  function update_setting($key, $value, $module=null, $array_key=null) {
782
  if (!$module) $module = $this->get_settings_key();
783
-
784
  $msdata = (array)get_option("seo_ultimate_module_$module", array());
785
 
786
  $use_custom = apply_filters("su_custom_update_setting-$module-$key", false, $value, $key) ||
@@ -2064,6 +2064,59 @@ class SU_Module {
2064
  function jlsuggest_box($id, $title, $params='') {
2065
  $this->jlsuggest_boxes(array(compact('id', 'title', 'params')));
2066
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2067
 
2068
  /********** ADMIN SECURITY FUNCTIONS **********/
2069
 
@@ -2492,6 +2545,61 @@ class SU_Module {
2492
  return $this->get_postmeta_jlsuggest_boxes(array($jls_box));
2493
  }
2494
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2495
  /**
2496
  * Turns a <tr> into a post meta subsection.
2497
  *
293
  if (strlen($parent = $this->get_parent_module()) && !$this->is_independent_module())
294
  return $this->plugin->modules[$parent]->get_settings_key();
295
  else
296
+ return $this->get_module_key();
 
 
 
 
 
297
  } else {
298
  if (strlen($parent = self::get_parent_module()) && !self::is_independent_module()) {
299
  global $seo_ultimate;
300
  return $seo_ultimate->modules[$parent]->get_settings_key();
301
  } else {
302
+ if (strlen($parent = self::get_parent_module()) && !self::is_independent_module()) {
303
+ global $seo_ultimate;
304
+ return $seo_ultimate->get_module_key();
305
+ } else {
306
+ return false;
307
+ }
308
  }
309
  }
310
  }
780
  */
781
  function update_setting($key, $value, $module=null, $array_key=null) {
782
  if (!$module) $module = $this->get_settings_key();
783
+
784
  $msdata = (array)get_option("seo_ultimate_module_$module", array());
785
 
786
  $use_custom = apply_filters("su_custom_update_setting-$module-$key", false, $value, $key) ||
2064
  function jlsuggest_box($id, $title, $params='') {
2065
  $this->jlsuggest_boxes(array(compact('id', 'title', 'params')));
2066
  }
2067
+ /**
2068
+ * @since 7.6.3
2069
+ */
2070
+ function medialib_boxes($media_boxes) {
2071
+
2072
+ if ($this->is_action('update')) {
2073
+ foreach ($media_boxes as $media_box) {
2074
+
2075
+ if (!isset($media_box['id']))
2076
+ continue;
2077
+
2078
+ $id = $media_box['id'];
2079
+
2080
+ if (isset($_POST[$id]))
2081
+ $this->update_setting($id, stripslashes($_POST[$id]));
2082
+ }
2083
+ }
2084
+
2085
+ foreach ($media_boxes as $media_box) {
2086
+
2087
+ if (!isset($media_box['id']))
2088
+ continue;
2089
+
2090
+ $media_box = wp_parse_args($media_box, array(
2091
+ 'title' => ''
2092
+ , 'params' => ''
2093
+ ));
2094
+
2095
+ extract($media_box, EXTR_SKIP);
2096
+
2097
+ register_setting($this->get_module_key(), $id);
2098
+
2099
+ echo "<div class='form-group'>\n";
2100
+ if ($title) echo "<label class='col-sm-4 col-md-4 control-label' for='$id'>$title</label>\n";
2101
+ echo "<div class='col-sm-4 col-md-4'>";
2102
+ echo "<div class='input-group'>
2103
+ <input id='".su_esc_attr($id)."' name='".su_esc_attr($id)."' type='text' class='wpu-image form-control' size='40' value='".$this->get_setting($id)."'>
2104
+ <span class='input-group-btn'>
2105
+ <span class='btn btn-custom btn-file wpu-media-upload'>
2106
+ <i class='fa fa-upload'></i> Upload Image <input type='file'>
2107
+ </span>
2108
+ </span>
2109
+ </div>";
2110
+ echo "</div>\n<div class='col-sm-4 col-md-4 help-text'>\n</div>\n</div>\n";
2111
+ }
2112
+ }
2113
+
2114
+ /**
2115
+ * @since 7.6.3
2116
+ */
2117
+ function medialib_box($id, $title, $params='') {
2118
+ $this->medialib_boxes(array(compact('id', 'title', 'params')));
2119
+ }
2120
 
2121
  /********** ADMIN SECURITY FUNCTIONS **********/
2122
 
2545
  return $this->get_postmeta_jlsuggest_boxes(array($jls_box));
2546
  }
2547
 
2548
+ /**
2549
+ * Generates the HTML for multiple post meta mediaupload boxes.
2550
+ *
2551
+ * @since 7.6.3
2552
+ *
2553
+ * @param array $media_boxes An array of mediaupload boxes. (Field/setting IDs are the keys, and descriptions are the values.)
2554
+ * @return string The HTML for the mediaupload boxes.
2555
+ */
2556
+ function get_postmeta_medialib_boxes($media_boxes) {
2557
+
2558
+ $html = '';
2559
+
2560
+ foreach ($media_boxes as $media_box) {
2561
+
2562
+ if (!isset($media_box['id']) || !isset($media_box['title']))
2563
+ continue;
2564
+
2565
+ $id = $media_box['id'];
2566
+ $title = $media_box['title'];
2567
+
2568
+ register_setting('seo-ultimate', $id);
2569
+ $value = su_esc_editable_html($this->get_postmeta($id));
2570
+ $id = "_su_".su_esc_attr($id);
2571
+
2572
+ $html .= "<div class='form-group su'>\n<label class='col-sm-4 col-md-4 control-label' for='$id'>$title</label>\n"
2573
+ ."<div class='col-sm-4 col-md-4 su'>";
2574
+ $html .= "<div class='input-group'>
2575
+ <input id='".su_esc_attr($id)."' name='".su_esc_attr($id)."' type='text' class='wpu-image form-control' size='40' value='".$value."'>
2576
+ <span class='input-group-btn'>
2577
+ <span class='btn btn-custom btn-file wpu-media-upload'>
2578
+ <i class='fa fa-upload'></i> Upload Image <input type='file'>
2579
+ </span>
2580
+ </span>
2581
+ </div>";
2582
+ $html .= "</div>\n<div class='col-sm-4 col-md-4 help-text'>\n</div>\n</div>\n";
2583
+ }
2584
+
2585
+ return $html;
2586
+ }
2587
+
2588
+ /**
2589
+ * Generates the HTML for a single post meta mediaupload box.
2590
+ *
2591
+ * @since 7.6.3
2592
+ * @uses get_postmeta_medialib_boxes()
2593
+ *
2594
+ * @param string $id The ID of the HTML element.
2595
+ * @param string $title The label of the HTML element.
2596
+ * @return string The HTML that would render the mediaupload box.
2597
+ */
2598
+ function get_postmeta_medialib_box($id, $title) {
2599
+ $media_box = compact('id', 'title');
2600
+ return $this->get_postmeta_medialib_boxes(array($media_box));
2601
+ }
2602
+
2603
  /**
2604
  * Turns a <tr> into a post meta subsection.
2605
  *
modules/meta/meta-descriptions.css CHANGED
@@ -1,6 +1,6 @@
1
 
2
  #su-meta-descriptions .su-meta-edit-table .su-description textarea {
3
- height: 2em;
4
  resize: none;
5
 
6
  -moz-transition: height .2s; /* Firefox */
1
 
2
  #su-meta-descriptions .su-meta-edit-table .su-description textarea {
3
+ height: 2.4em;
4
  resize: none;
5
 
6
  -moz-transition: height .2s; /* Firefox */
modules/modules.css CHANGED
@@ -127,7 +127,7 @@ div.sdf-admin textarea[disabled] {
127
 
128
  div.sdf-admin .su-meta-edit-table table.widefat,
129
  div.sdf-admin .su-meta-edit-table table.widefat .regular-text { width: 100%; }
130
- div.sdf-admin .su-meta-edit-table table.widefat td.su-actions { width: 6em; }
131
  div.sdf-admin .su-meta-edit-table table.widefat td.su-id { width: 2em; }
132
  div.sdf-admin .su-meta-edit-table table.widefat td.su-name { width: 20em; }
133
  div.sdf-admin .su-meta-edit-table table.widefat td { vertical-align: middle; }
127
 
128
  div.sdf-admin .su-meta-edit-table table.widefat,
129
  div.sdf-admin .su-meta-edit-table table.widefat .regular-text { width: 100%; }
130
+ div.sdf-admin .su-meta-edit-table table.widefat td.su-actions { width: 8em; }
131
  div.sdf-admin .su-meta-edit-table table.widefat td.su-id { width: 2em; }
132
  div.sdf-admin .su-meta-edit-table table.widefat td.su-name { width: 20em; }
133
  div.sdf-admin .su-meta-edit-table table.widefat td { vertical-align: middle; }
modules/modules.js CHANGED
@@ -18,6 +18,7 @@ jQuery(document).ready(function($) {
18
  to_toggle.slideToggle();
19
  });
20
  });
 
21
 
22
  function su_reset_textbox(id, d, m, e) {
23
  if (confirm(m+"\n\n"+d)) {
@@ -45,5 +46,3 @@ function su_disable_unload_confirm() {
45
  function su_confirm_unload_message() {
46
  return suModulesModulesL10n.unloadConfirmMessage;
47
  }
48
-
49
- })(jQuery);
18
  to_toggle.slideToggle();
19
  });
20
  });
21
+ })(jQuery);
22
 
23
  function su_reset_textbox(id, d, m, e) {
24
  if (confirm(m+"\n\n"+d)) {
46
  function su_confirm_unload_message() {
47
  return suModulesModulesL10n.unloadConfirmMessage;
48
  }
 
 
modules/opengraph/opengraph.php CHANGED
@@ -447,7 +447,7 @@ class SU_OpenGraph extends SU_Module {
447
 
448
  $this->textblock(__('In the box below, you can specify an image URL or an image from your media library to use as a default image in the event that there is no image otherwise specified for a given webpage on your site.', 'seo-ultimate'));
449
 
450
- $this->jlsuggest_box('default_og_image', __('Default Image', 'seo-ultimate'), 'types=posttype_attachment&post_mime_type=image/*');
451
 
452
  $this->admin_form_table_end();
453
  }
@@ -467,7 +467,7 @@ class SU_OpenGraph extends SU_Module {
467
  $this->admin_form_table_start();
468
  $this->textbox('home_og_title', __('Blog Homepage Title', 'seo-ultimate'), false, false, array(), array('placeholder' => get_bloginfo('name')));
469
  $this->textbox('home_og_description', __('Blog Homepage Description', 'seo-ultimate'), false, false, array(), array('placeholder' => get_bloginfo('description')));
470
- $this->jlsuggest_box('home_og_image', __('Blog Homepage Image', 'seo-ultimate'), 'types=posttype_attachment&post_mime_type=image/*');
471
  $this->admin_form_table_end();
472
  }
473
 
@@ -475,7 +475,7 @@ class SU_OpenGraph extends SU_Module {
475
 
476
  $fields['opengraph'][10]['og_title'] = $this->get_postmeta_textbox('og_title', __('Title:', 'seo-ultimate'));
477
  $fields['opengraph'][20]['og_description'] = $this->get_postmeta_textarea('og_description', __('Description:', 'seo-ultimate'));
478
- $fields['opengraph'][30]['og_image'] = $this->get_postmeta_jlsuggest_box('og_image', __('Image:', 'seo-ultimate'), 'types=posttype_attachment&post_mime_type=image/*');
479
  $fields['opengraph'][40]['og_type'] = $this->get_postmeta_dropdown('og_type', array_merge(array('' => __('Use default', 'seo-ultimate')), $this->get_type_options()), __('Open Graph Type:', 'seo-ultimate'));
480
  $fields['opengraph'][50]['twitter_card'] = $this->get_postmeta_dropdown('twitter_card', array_merge(array('' => __('Use default', 'seo-ultimate')), $this->get_twitter_type_options()), __('Twitter Type:', 'seo-ultimate'));
481
 
447
 
448
  $this->textblock(__('In the box below, you can specify an image URL or an image from your media library to use as a default image in the event that there is no image otherwise specified for a given webpage on your site.', 'seo-ultimate'));
449
 
450
+ $this->medialib_box('default_og_image', __('Default Image', 'seo-ultimate'), 'types=posttype_attachment&post_mime_type=image/*');
451
 
452
  $this->admin_form_table_end();
453
  }
467
  $this->admin_form_table_start();
468
  $this->textbox('home_og_title', __('Blog Homepage Title', 'seo-ultimate'), false, false, array(), array('placeholder' => get_bloginfo('name')));
469
  $this->textbox('home_og_description', __('Blog Homepage Description', 'seo-ultimate'), false, false, array(), array('placeholder' => get_bloginfo('description')));
470
+ $this->medialib_box('home_og_image', __('Blog Homepage Image', 'seo-ultimate'), 'types=posttype_attachment&post_mime_type=image/*');
471
  $this->admin_form_table_end();
472
  }
473
 
475
 
476
  $fields['opengraph'][10]['og_title'] = $this->get_postmeta_textbox('og_title', __('Title:', 'seo-ultimate'));
477
  $fields['opengraph'][20]['og_description'] = $this->get_postmeta_textarea('og_description', __('Description:', 'seo-ultimate'));
478
+ $fields['opengraph'][30]['og_image'] = $this->get_postmeta_medialib_box('og_image', __('Image:', 'seo-ultimate'));
479
  $fields['opengraph'][40]['og_type'] = $this->get_postmeta_dropdown('og_type', array_merge(array('' => __('Use default', 'seo-ultimate')), $this->get_type_options()), __('Open Graph Type:', 'seo-ultimate'));
480
  $fields['opengraph'][50]['twitter_card'] = $this->get_postmeta_dropdown('twitter_card', array_merge(array('' => __('Use default', 'seo-ultimate')), $this->get_twitter_type_options()), __('Twitter Type:', 'seo-ultimate'));
481
 
modules/sdf-ads.css CHANGED
@@ -26,7 +26,7 @@
26
 
27
  /* Declare heights because of positioning of img element */
28
  #sdf-promo-carousel .carousel .item {
29
- height: 580px;
30
  background-color: #868686;
31
  }
32
  #sdf-promo-carousel .carousel-inner > .item a img {
26
 
27
  /* Declare heights because of positioning of img element */
28
  #sdf-promo-carousel .carousel .item {
29
+ height: 330px;
30
  background-color: #868686;
31
  }
32
  #sdf-promo-carousel .carousel-inner > .item a img {
modules/sdf-ads.js CHANGED
@@ -4,8 +4,9 @@
4
  jQuery(document).ready(function($) {
5
 
6
  $('#sdf-promo-carousel').hide();
 
7
  var sds_promo_blog_post = $('#sds_promo_blog_post').html();
8
- var banners_remote = 'https://s3.amazonaws.com/sdfimages/seoultimatebanner/seo_ultimate_banners_jsonp.json';
9
 
10
  $.ajax({
11
  url: banners_remote,
@@ -16,7 +17,9 @@ jQuery(document).ready(function($) {
16
  .done(function (data) {
17
  var sdf_carousel = '';
18
  if (data.enabled === true) {
 
19
  var shuffled_slides = shuffleArray(data.slides);
 
20
  sdf_carousel = sdf_carousel + "<div id=\"sdfCarousel\" class=\"carousel slide\"><ol class=\"carousel-indicators\">";
21
 
22
  var active_indicator = '';
@@ -32,13 +35,19 @@ jQuery(document).ready(function($) {
32
  for ( var i = 0; i < shuffled_slides.length; i++ ) {
33
  if (i == 0) active_indicator = ' active';
34
  else active_indicator = '';
35
- sdf_carousel = sdf_carousel + "<div class=\"item"+ active_indicator +"\"><a href=\"" + shuffled_slides[i].banner_link + "\" target=\"_blank\"><img src=\"" + shuffled_slides[i].banner_img + "\" alt=\"Slide "+ i +"\"></a><div class=\"container\"><div class=\"carousel-caption\">"+ shuffled_slides[i].slide_cap + "<p><a class=\"btn btn-large btn-warning\" href=\""+ shuffled_slides[i].slide_link + "\" target=\"_blank\">Read More</a></p></div></div></div>";
36
  };
37
- sdf_carousel = sdf_carousel + "<div class=\"item\"><a href=\"http://www.seodesignframework.com/blog\" target=\"_blank\"><img src=\"https://s3.amazonaws.com/sdfimages/seoultimatebanner/03.png\" alt=\"Slide "+ i +"\"></a><div class=\"container\"><div class=\"carousel-caption\">"+ sds_promo_blog_post + "</div></div></div>";
38
  sdf_carousel = sdf_carousel + "</div><a class=\"left carousel-control\" href=\"#sdfCarousel\" data-slide=\"prev\"><span class=\"glyphicon glyphicon-chevron-left\"></span></a><a class=\"right carousel-control\" href=\"#sdfCarousel\" data-slide=\"next\"><span class=\"glyphicon glyphicon-chevron-right\"></span></a></div>";
39
 
 
40
 
41
- $('#sdf-promo-carousel').html(sdf_carousel).delay(500).fadeIn(600).carousel({ interval:4000 });
 
 
 
 
 
42
  }
43
  })
44
  .fail(function (data) {
@@ -46,6 +55,18 @@ jQuery(document).ready(function($) {
46
  });
47
 
48
  });
 
 
 
 
 
 
 
 
 
 
 
 
49
 
50
  })(jQuery);
51
 
4
  jQuery(document).ready(function($) {
5
 
6
  $('#sdf-promo-carousel').hide();
7
+ $('#su_dashboard_widget .inside').hide();
8
  var sds_promo_blog_post = $('#sds_promo_blog_post').html();
9
+ var banners_remote = 'https://s3.amazonaws.com/sdfimages/seoultimatebanner/seo_ultimate_banners_jsonp_763.json';
10
 
11
  $.ajax({
12
  url: banners_remote,
17
  .done(function (data) {
18
  var sdf_carousel = '';
19
  if (data.enabled === true) {
20
+ var shuffled_banners = shuffleArray(data.banners);
21
  var shuffled_slides = shuffleArray(data.slides);
22
+ sdf_carousel = sdf_carousel + "<a href=\"" + shuffled_banners[0].banner_link + "\" target=\"_blank\"><img src=\"" + shuffled_banners[0].banner_img + "\" alt=\"Slide "+ i +"\"></a>";
23
  sdf_carousel = sdf_carousel + "<div id=\"sdfCarousel\" class=\"carousel slide\"><ol class=\"carousel-indicators\">";
24
 
25
  var active_indicator = '';
35
  for ( var i = 0; i < shuffled_slides.length; i++ ) {
36
  if (i == 0) active_indicator = ' active';
37
  else active_indicator = '';
38
+ sdf_carousel = sdf_carousel + "<div class=\"item"+ active_indicator +"\"><div class=\"container\"><div class=\"carousel-caption\">"+ shuffled_slides[i].slide_cap + "<p><a class=\"btn btn-large btn-warning\" href=\""+ shuffled_slides[i].slide_link + "\" target=\"_blank\">Read More</a></p></div></div></div>";
39
  };
40
+ sdf_carousel = sdf_carousel + "<div class=\"item\"><div class=\"container\"><div class=\"carousel-caption\">"+ sds_promo_blog_post + "</div></div></div>";
41
  sdf_carousel = sdf_carousel + "</div><a class=\"left carousel-control\" href=\"#sdfCarousel\" data-slide=\"prev\"><span class=\"glyphicon glyphicon-chevron-left\"></span></a><a class=\"right carousel-control\" href=\"#sdfCarousel\" data-slide=\"next\"><span class=\"glyphicon glyphicon-chevron-right\"></span></a></div>";
42
 
43
+ $('#sdf-promo-carousel').html(sdf_carousel).delay(500).fadeIn(600).carousel({ interval:8000 });
44
 
45
+ // dashboard widget
46
+ $('#su_dashboard_widget h3.hndle span').html(data.dashboard_widget[0].title);
47
+ $('#su_dashboard_widget .inside').html(data.dashboard_widget[0].content);
48
+ setTimeout(function(){
49
+ $('#su_dashboard_widget .inside').fadeIn(600);
50
+ },800);
51
  }
52
  })
53
  .fail(function (data) {
55
  });
56
 
57
  });
58
+
59
+ $.fn.animate_show_el = function(anim_duration)
60
+ {
61
+ $(this).css( {overflow:"hidden"}).animate({height:"auto", opacity:1}, anim_duration,
62
+ function(){ $(this).css({display:"inline-block", overflow:"visible", visibility:"visible", position:"relative", height:"auto"}); });
63
+ };
64
+
65
+ $.fn.animate_hide_el = function(anim_duration)
66
+ {
67
+ $(this).css({overflow:"hidden"}).animate({height:0, opacity:0}, anim_duration,
68
+ function(){ $(this).css({display:"none", overflow:"visible", visibility:"hidden", position:"absolute"}); });
69
+ };
70
 
71
  })(jQuery);
72
 
modules/sds-blog/sds-blog.php CHANGED
@@ -53,7 +53,7 @@ class SU_SdsBlog extends SU_Module {
53
  echo "\n\n<div class='col-sm-8 col-md-9'>\n";
54
  }
55
 
56
- echo "<a href='http://www.seodesignsolutions.com'><img src='{$this->plugin->plugin_dir_url}plugin/images/sds-logo.png' alt='".__('SEO Design Solutions', 'seo-ultimate')."' id='sds-logo' /></a>";
57
  echo "<p>".__('The search engine optimization articles below are loaded from the website of SEO Design Solutions, the company behind the SEO Ultimate plugin. Click on an article&#8217;s title to read it.', 'seo-ultimate')."</p>\n";
58
  echo "<div class='rss-widget'>\n";
59
 
53
  echo "\n\n<div class='col-sm-8 col-md-9'>\n";
54
  }
55
 
56
+ echo "<a href='http://www.seodesignsolutions.com'><img src='{$this->plugin->plugin_dir_url}plugin/img/sds-logo.png' alt='".__('SEO Design Solutions', 'seo-ultimate')."' id='sds-logo' /></a>";
57
  echo "<p>".__('The search engine optimization articles below are loaded from the website of SEO Design Solutions, the company behind the SEO Ultimate plugin. Click on an article&#8217;s title to read it.', 'seo-ultimate')."</p>\n";
58
  echo "<div class='rss-widget'>\n";
59
 
plugin/class.seo-ultimate.php CHANGED
@@ -239,6 +239,9 @@ class SEO_Ultimate {
239
 
240
  //JLSuggest AJAX
241
  add_action('wp_ajax_su-jlsuggest-autocomplete', array(&$this, 'jlsuggest_autocomplete'));
 
 
 
242
  }
243
  }
244
 
@@ -1073,25 +1076,30 @@ class SEO_Ultimate {
1073
  }
1074
 
1075
  //load if SDF is not active
1076
- global $pagenow;
1077
- $current = (isset($_GET['page'])) ? $_GET['page'] : '';
1078
- $pages = array( 'edit.php', 'post.php', 'post-new.php' );
1079
- $sdf_admin_pages = array('sdf','sdf-settings','sdf-silo','sdf-silo-manual-builder','sdf-header','sdf-layout','sdf-shortcode','sdf-styles','revslider','sdf-footer','seo', 'su-fofs', 'su-misc', 'su-user-code', 'su-autolinks', 'su-files', 'su-internal-link-aliases', 'su-meta-descriptions', 'su-meta-keywords', 'su-meta-robots', 'su-opengraph', 'seo-ultimate', 'su-wp-settings', 'su-titles', 'su-sds-blog');
1080
- if( in_array( $pagenow, $pages ) || in_array( $current, $sdf_admin_pages )) {
1081
- // admin styles
1082
- wp_register_style('sdf-bootstrap-admin', $this->plugin_dir_url.'plugin/sdf/bootstrap/css/bootstrap.admin.css', array(), '3.0.3', 'screen');
1083
- wp_register_style('sdf-bootstrap-admin-theme', $this->plugin_dir_url.'plugin/sdf/bootstrap/css/bootstrap-theme.admin.css', array(), '3.0.3', 'screen');
1084
- wp_register_style('sdf-font-awesome', 'https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css', array(), '4.0.3', 'screen');
1085
- wp_register_style('sdf-css-admin', $this->plugin_dir_url.'plugin/sdf/sdf.admin.css', array(), '3.0.3', 'screen');
1086
- wp_enqueue_style('sdf-bootstrap-admin');
1087
- wp_enqueue_style('sdf-bootstrap-admin-theme');
1088
- wp_enqueue_style('sdf-font-awesome');
1089
- wp_enqueue_style('sdf-css-admin');
1090
- }
1091
-
1092
- wp_register_script('sdf_bs_js', 'https://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js', array('jquery'), '3.0.3', false);
1093
- wp_enqueue_script('sdf_bs_js');
1094
- wp_enqueue_media();
 
 
 
 
 
1095
 
1096
  //Figure out what plugin admin page we're on
1097
  global $plugin_page;
@@ -2048,5 +2056,44 @@ class SEO_Ultimate {
2048
  }
2049
  }
2050
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2051
  }
2052
  ?>
239
 
240
  //JLSuggest AJAX
241
  add_action('wp_ajax_su-jlsuggest-autocomplete', array(&$this, 'jlsuggest_autocomplete'));
242
+
243
+ // add dashboart widget
244
+ add_action( 'wp_dashboard_setup', array(&$this, 'su_add_dashboard_widgets'));
245
  }
246
  }
247
 
1076
  }
1077
 
1078
  //load if SDF is not active
1079
+ global $pagenow;
1080
+ $current = (isset($_GET['page'])) ? $_GET['page'] : '';
1081
+ $pages = array( 'edit.php', 'post.php', 'post-new.php' );
1082
+ $sdf_admin_pages = array('sdf','sdf-settings','sdf-silo','sdf-silo-manual-builder','sdf-header','sdf-layout','sdf-shortcode','sdf-styles','revslider','sdf-footer','seo', 'su-fofs', 'su-misc', 'su-user-code', 'su-autolinks', 'su-files', 'su-internal-link-aliases', 'su-meta-descriptions', 'su-meta-keywords', 'su-meta-robots', 'su-opengraph', 'seo-ultimate', 'su-wp-settings', 'su-titles', 'su-sds-blog');
1083
+ if( in_array( $pagenow, $pages ) || in_array( $current, $sdf_admin_pages )) {
1084
+ // admin styles
1085
+ wp_register_style('sdf-bootstrap-admin', $this->plugin_dir_url.'plugin/sdf/bootstrap/css/bootstrap.admin.css', array(), '3.0.3', 'screen');
1086
+ wp_register_style('sdf-bootstrap-admin-theme', $this->plugin_dir_url.'plugin/sdf/bootstrap/css/bootstrap-theme.admin.css', array(), '3.0.3', 'screen');
1087
+ wp_register_style('sdf-font-awesome', 'https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css', array(), '4.0.3', 'screen');
1088
+ wp_register_style('sdf-css-admin', $this->plugin_dir_url.'plugin/sdf/sdf.admin.css', array(), '3.0.3', 'screen');
1089
+ wp_enqueue_style('sdf-bootstrap-admin');
1090
+ wp_enqueue_style('sdf-bootstrap-admin-theme');
1091
+ wp_enqueue_style('sdf-font-awesome');
1092
+ wp_enqueue_style('sdf-css-admin');
1093
+ }
1094
+
1095
+ wp_register_script('sdf_bs_js', 'https://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js', array('jquery'), '3.0.3', false);
1096
+ wp_register_script('sdf_admin_js', $this->plugin_dir_url.'plugin/sdf/sdf.admin.js', array('jquery'), '');
1097
+ wp_enqueue_script('sdf_bs_js');
1098
+ wp_enqueue_script('sdf_admin_js');
1099
+ wp_enqueue_media();
1100
+
1101
+ // load dashboard widget
1102
+ if($pagenow == 'index.php') $this->queue_js('modules', 'sdf-ads');
1103
 
1104
  //Figure out what plugin admin page we're on
1105
  global $plugin_page;
2056
  }
2057
  }
2058
  }
2059
+
2060
+ /**
2061
+ * Add a widget to the wp dashboard.
2062
+ *
2063
+ * This function is hooked into the 'wp_dashboard_setup' action below.
2064
+ *
2065
+ * @since 7.6.2
2066
+ */
2067
+ function su_add_dashboard_widgets() {
2068
+
2069
+ wp_add_dashboard_widget( 'su_dashboard_widget', 'From the Creators of SEO Ultimate', array(&$this, 'su_dashboard_widget_function') );
2070
+
2071
+ // Globalize the metaboxes array, this holds all the widgets for wp-admin
2072
+ global $wp_meta_boxes;
2073
+
2074
+ // Get the regular dashboard widgets array
2075
+ // (which has our new widget already but at the end)
2076
+ $normal_dashboard = $wp_meta_boxes['dashboard']['normal']['core'];
2077
+
2078
+ // Backup and delete our new dashboard widget from the end of the array
2079
+ $su_widget_backup = array( 'su_dashboard_widget' => $normal_dashboard['su_dashboard_widget'] );
2080
+ unset( $normal_dashboard['su_dashboard_widget'] );
2081
+
2082
+ // Merge the two arrays together so our widget is at the beginning
2083
+ $sorted_dashboard = array_merge( $su_widget_backup, $normal_dashboard );
2084
+
2085
+ // Save the sorted array back into the original metaboxes
2086
+ $wp_meta_boxes['dashboard']['normal']['core'] = $sorted_dashboard;
2087
+
2088
+ }
2089
+
2090
+ /**
2091
+ * Create the function to output the contents of our Dashboard Widget.
2092
+ */
2093
+ function su_dashboard_widget_function() {
2094
+
2095
+ // Display whatever it is you want to show.
2096
+ echo "<p>If you like SEO Ultimate, then help their creators give more. Show your support and buy their paid products.</p><a rel=\"home\" title=\"SEO Design Framework\" href=\"http://www.seodesignframework.com/\"><img src=\"https://s3.amazonaws.com/sdfimages/seoultimatebanner/02_1.png\" alt=\"SEO Design Framework\" /></a>";
2097
+ }
2098
  }
2099
  ?>
plugin/global.css CHANGED
@@ -6,7 +6,7 @@ These styles are sometimes or always referenced outside of SEO Ultimate's admin
6
  /* MENU */
7
 
8
  #adminmenu .toplevel_page_seo div.wp-menu-image {
9
- background-image: url(images/icon.png);
10
  background-position: 2px -30px;
11
  }
12
 
@@ -25,22 +25,22 @@ These styles are sometimes or always referenced outside of SEO Ultimate's admin
25
  }
26
 
27
  .su-success {
28
- background-image: url(images/success.png);
29
  color: #008000;
30
  }
31
 
32
  .su-error {
33
- background-image: url(images/error.png);
34
  color: #FF0000;
35
  }
36
 
37
  .su-warning {
38
- background-image: url(images/warning.png);
39
  color: #FF8C00;
40
  }
41
 
42
  .su-info {
43
- background-image: url(images/info.png);
44
  color: #0000FF;
45
  }
46
 
6
  /* MENU */
7
 
8
  #adminmenu .toplevel_page_seo div.wp-menu-image {
9
+ background-image: url(img/icon.png);
10
  background-position: 2px -30px;
11
  }
12
 
25
  }
26
 
27
  .su-success {
28
+ background-image: url(img/success.png);
29
  color: #008000;
30
  }
31
 
32
  .su-error {
33
+ background-image: url(img/error.png);
34
  color: #FF0000;
35
  }
36
 
37
  .su-warning {
38
+ background-image: url(img/warning.png);
39
  color: #FF8C00;
40
  }
41
 
42
  .su-info {
43
+ background-image: url(img/info.png);
44
  color: #0000FF;
45
  }
46
 
plugin/images/page_seo.png DELETED
Binary file
plugin/images/wp-ultimate.gif DELETED
Binary file
plugin/img/admin/ad-shadow.gif ADDED
Binary file
plugin/img/admin/add_btn.png ADDED
Binary file
plugin/img/admin/admin-bg.gif ADDED
Binary file
plugin/img/admin/arrow.gif ADDED
Binary file
plugin/img/admin/bg_select.gif ADDED
Binary file
plugin/img/admin/bg_select_disabled.gif ADDED
Binary file
plugin/img/admin/centerLogo.png ADDED
Binary file
plugin/img/admin/clear.gif ADDED
Binary file
plugin/img/admin/custom_layout_bg.png ADDED
Binary file
plugin/img/admin/delete.png ADDED
Binary file
plugin/img/admin/export.jpg ADDED
Binary file
plugin/img/admin/global/breadcrumb_icon.png ADDED
Binary file
plugin/img/admin/global/page_settings_icon.png ADDED
Binary file
plugin/img/admin/global/placeholders.png ADDED
Binary file
plugin/img/admin/global/sdf_footer_icon.png ADDED
Binary file
plugin/img/admin/global/sdf_global_icon.png ADDED
Binary file
plugin/img/admin/global/sdf_header_structure_icon.png ADDED
Binary file
plugin/img/admin/global/sdf_layout_icon.png ADDED
Binary file
plugin/img/admin/global/sdf_seo_icon.png ADDED
Binary file
plugin/img/admin/global/sdf_shortcode_generator.png ADDED
Binary file
plugin/img/admin/global/sdf_silo_builder_icon.png ADDED
Binary file
plugin/img/admin/global/sdf_slider_icon.png ADDED
Binary file
plugin/img/admin/global/sdf_styles_icon.png ADDED
Binary file
plugin/img/admin/global/shortcode_icon.jpg ADDED
Binary file
plugin/img/admin/global/slider_settings.png ADDED
Binary file
plugin/img/admin/global/typography_settings_icon.png ADDED
Binary file
plugin/img/admin/glyphicons_367_expand.png ADDED
Binary file
plugin/img/admin/glyphicons_368_collapse.png ADDED
Binary file
plugin/img/admin/layout/3-col-page.gif ADDED
Binary file
plugin/img/admin/layout/3-col.gif ADDED
Binary file
plugin/img/admin/layout/ads/ad-above-footer.gif ADDED
Binary file
plugin/img/admin/layout/ads/ad-below-header.gif ADDED
Binary file
plugin/img/admin/layout/ads/ad-bottom.gif ADDED
Binary file
plugin/img/admin/layout/ads/ad-top.gif ADDED
Binary file
plugin/img/admin/layout/ads/c-above.gif ADDED
Binary file
plugin/img/admin/layout/ads/c-below.gif ADDED
Binary file
plugin/img/admin/layout/ads/c-bottom-left.gif ADDED
Binary file
plugin/img/admin/layout/ads/c-bottom-right.gif ADDED
Binary file
plugin/img/admin/layout/ads/c-top-left.gif ADDED
Binary file
plugin/img/admin/layout/ads/c-top-right.gif ADDED
Binary file
plugin/img/admin/layout/ads/shortcode.gif ADDED
Binary file
plugin/img/admin/layout/c-s-s.gif ADDED
Binary file
plugin/img/admin/layout/css-page.gif ADDED
Binary file
plugin/img/admin/layout/custom-page.gif ADDED
Binary file
plugin/img/admin/layout/custom.gif ADDED
Binary file
plugin/img/admin/layout/global.gif ADDED
Binary file
plugin/img/admin/layout/none-page.gif ADDED
Binary file
plugin/img/admin/layout/none.gif ADDED
Binary file
plugin/img/admin/layout/s-s-c.gif ADDED
Binary file
plugin/img/admin/layout/side-left-page.gif ADDED
Binary file
plugin/img/admin/layout/side-left.gif ADDED
Binary file
plugin/img/admin/layout/side-right-page.gif ADDED
Binary file
plugin/img/admin/layout/side-right.gif ADDED
Binary file
plugin/img/admin/layout/ssc-page.gif ADDED
Binary file
plugin/img/admin/layout/widgets/widget_layouts_1_1.png ADDED
Binary file
plugin/img/admin/layout/widgets/widget_layouts_1_2.png ADDED
Binary file
plugin/img/admin/layout/widgets/widget_layouts_1_3.png ADDED
Binary file
plugin/img/admin/layout/widgets/widget_layouts_1_4.png ADDED
Binary file
plugin/img/admin/layout/widgets/widget_layouts_1_6.png ADDED
Binary file
plugin/img/admin/layout/widgets/widget_layouts_2_3.png ADDED
Binary file
plugin/img/admin/layout/widgets/widget_layouts_3_4.png ADDED
Binary file
plugin/img/admin/layout/widgets/widget_layouts_5_6.png ADDED
Binary file
plugin/img/admin/leftLogo.png ADDED
Binary file
plugin/img/admin/loading.gif ADDED
Binary file
plugin/img/admin/page_footer.png ADDED
Binary file
plugin/img/admin/page_layout.png ADDED
Binary file
plugin/img/admin/page_navigation.png ADDED
Binary file
plugin/img/admin/page_settings.png ADDED
Binary file
plugin/img/admin/page_slider.png ADDED
Binary file
plugin/img/admin/page_title.png ADDED
Binary file
plugin/img/admin/picker/AlphaBar.png ADDED
Binary file
plugin/img/admin/picker/Bars.png ADDED
Binary file
plugin/img/admin/picker/Maps.png ADDED
Binary file
plugin/img/admin/picker/NoColor.png ADDED
Binary file
plugin/img/admin/picker/bar-opacity.png ADDED
Binary file
plugin/img/admin/picker/map-opacity.png ADDED
Binary file
plugin/img/admin/picker/mappoint.gif ADDED
Binary file
plugin/img/admin/picker/picker.gif ADDED
Binary file
plugin/img/admin/picker/preview-opacity.png ADDED
Binary file
plugin/img/admin/picker/rangearrows.gif ADDED
Binary file
plugin/img/admin/rightLogo.png ADDED
Binary file
plugin/img/admin/select.gif ADDED
Binary file
plugin/img/admin/selected.gif ADDED
Binary file
plugin/img/admin/selected_disabled.gif ADDED
Binary file
plugin/img/admin/sliders/arrows.gif ADDED
Binary file
plugin/img/admin/sliders/dots.gif ADDED
Binary file
plugin/img/admin/sliders/no-controls.gif ADDED
Binary file
plugin/img/admin/sliders/numbers.gif ADDED
Binary file
plugin/img/admin/sliders/text-bar.gif ADDED
Binary file
plugin/img/admin/tables/bottom-bg.png ADDED
Binary file
plugin/img/admin/tables/left-bot.png ADDED
Binary file
plugin/img/admin/tables/left-top.png ADDED
Binary file
plugin/img/admin/tables/right-bot.png ADDED
Binary file
plugin/img/admin/tables/top-bg.png ADDED
Binary file
plugin/img/admin/tables/top-right.png ADDED
Binary file
plugin/img/admin/x_btn.png ADDED
Binary file
plugin/img/colorpicker/jquery.minicolors.png ADDED
Binary file
plugin/{images → img}/error.png RENAMED
File without changes
plugin/{images → img}/icon.png RENAMED
File without changes
plugin/{images → img}/index.php RENAMED
File without changes
plugin/{images → img}/info.png RENAMED
File without changes
plugin/img/logos/16x16_sdf_hover_wp_icon.png ADDED
Binary file
plugin/img/logos/16x16_sdf_wp_icon.png ADDED
Binary file
plugin/img/logos/18x18_sdf_hover_wp_icon.png ADDED
Binary file
plugin/img/logos/18x18_sdf_wp_icon.png ADDED
Binary file
plugin/img/logos/32x32_sdf_wp_icon.png ADDED
Binary file
plugin/img/logos/WPU_logo.jpg ADDED
Binary file
plugin/img/logos/WPU_logo.png ADDED
Binary file
plugin/img/logos/apple-touch-icon-114-precomposed.png ADDED
Binary file
plugin/img/logos/apple-touch-icon-144-precomposed.png ADDED
Binary file
plugin/img/logos/apple-touch-icon-57-precomposed.png ADDED
Binary file
plugin/img/logos/apple-touch-icon-72-precomposed.png ADDED
Binary file
plugin/img/logos/favicon.ico ADDED
Binary file
plugin/img/logos/favicon2.ico ADDED
Binary file
plugin/img/logos/sdf_logo.png ADDED
Binary file
plugin/img/logos/wpu-24.png ADDED
Binary file
plugin/img/sdf-icons/ajax-loader.gif ADDED
Binary file
plugin/img/sdf-icons/arrows.png ADDED
Binary file
plugin/img/sdf-icons/clone-icon.png ADDED
Binary file
plugin/img/sdf-icons/cols-icon.png ADDED
Binary file
plugin/img/sdf-icons/drag-icon.png ADDED
Binary file
plugin/img/sdf-icons/element-icon.png ADDED
Binary file
plugin/img/sdf-icons/pencil-icon.png ADDED
Binary file
plugin/img/sdf-icons/plus-icon.png ADDED
Binary file
plugin/img/sdf-icons/save-icon.png ADDED
Binary file
plugin/img/sdf-icons/template-icon.png ADDED
Binary file
plugin/img/sdf-icons/x-icon.png ADDED
Binary file
plugin/{images → img}/sds-logo.png RENAMED
File without changes
plugin/{images → img}/seo.png RENAMED
File without changes
plugin/{images → img}/success.png RENAMED
File without changes
plugin/{images → img}/warning.png RENAMED
File without changes
plugin/sdf/sdf.admin.css CHANGED
@@ -24,17 +24,6 @@ body#media-upload .label,body#media-upload .badge {
24
  #adminmenu #toplevel_page_sdf-ultimate div.wp-menu-image:before {
25
  content: "";
26
  }
27
- #adminmenu .menu-icon-generic div.wp-menu-image,
28
- #adminmenu #toplevel_page_sdf-ultimate a div.wp-menu-image {
29
- background: url("../img/logos/16x16_sdf_wp_icon.png") 5px 8px no-repeat !important;
30
- width:28px;
31
- height:28px;
32
- }
33
- #adminmenu #toplevel_page_sdf-ultimate a:hover div.wp-menu-image,
34
- #adminmenu #toplevel_page_sdf-ultimate.wp-menu-open a div.wp-menu-image,
35
- #adminmenu #toplevel_page_sdf-ultimate.wp-menu-open a:hover div.wp-menu-image {
36
- background-image: url("../img/logos/16x16_sdf_hover_wp_icon.png") !important;
37
- }
38
  .sdf-admin .panel-heading a { color:#3f3f3f; }
39
  .sdf-admin .panel-heading a:hover { color:#000; text-decoration:none; }
40
  .sdf-admin .panel-heading.active a {background: url(../img/admin/glyphicons_367_expand.png) 8px center no-repeat; }
@@ -943,7 +932,9 @@ i[data-toggle="tooltip"] {
943
  text-align: right;
944
  }
945
  }
946
- .sdf-admin .panel-body [id*="-custom-bg"] .form-group:last-child {
 
 
947
  margin-bottom: 15px;
948
  }
949
 
@@ -1011,7 +1002,7 @@ i[data-toggle="tooltip"] {
1011
  .sdf-custom-layout-box input.error-format { border-color: red; }
1012
  .sdf-custom-layout-box .mask { margin: 10px 0 0; color: #444; }
1013
  .sdf-custom-layout-box .error { display: none; margin: 2px 0 0; color: red; font-weight: bold; font-size: 11px; }
1014
- .sdf-element { overflow: hidden; background: white; border: 1px solid #ccc; margin: 5px; position: relative; text-align: left; min-height: 73px;}
1015
  .sdf-element.ui-sortable-helper { opacity: 0.7; border-color: #888; }
1016
  .sdf-element-content { position: relative; }
1017
  .sdf-element-content .inner { font-size: 11px; line-height: 11px; }
@@ -1041,6 +1032,7 @@ i[data-toggle="tooltip"] {
1041
  .sdf-templates-list-item .sdf-delete { float: right; }
1042
  .sdf-template-load .sdf-icon { background: url(../img/sdf-icons/template-icon.png); }
1043
  .sdf-template-save .sdf-icon { background: url(../img/sdf-icons/save-icon.png); }
 
1044
 
1045
  /* fix for image upload modal box */
1046
  #TB_window { z-index: 100002; }
24
  #adminmenu #toplevel_page_sdf-ultimate div.wp-menu-image:before {
25
  content: "";
26
  }
 
 
 
 
 
 
 
 
 
 
 
27
  .sdf-admin .panel-heading a { color:#3f3f3f; }
28
  .sdf-admin .panel-heading a:hover { color:#000; text-decoration:none; }
29
  .sdf-admin .panel-heading.active a {background: url(../img/admin/glyphicons_367_expand.png) 8px center no-repeat; }
932
  text-align: right;
933
  }
934
  }
935
+ .sdf-admin .panel-body [id*="-custom-bg"] .form-group:last-child,
936
+ .sdf-admin .panel-body [id*="-custom-wg-styles"] .form-group:last-child,
937
+ .sdf-admin .panel-body [id*="widget_typo_"] .form-group:last-child {
938
  margin-bottom: 15px;
939
  }
940
 
1002
  .sdf-custom-layout-box input.error-format { border-color: red; }
1003
  .sdf-custom-layout-box .mask { margin: 10px 0 0; color: #444; }
1004
  .sdf-custom-layout-box .error { display: none; margin: 2px 0 0; color: red; font-weight: bold; font-size: 11px; }
1005
+ .sdf-element { overflow: hidden; background: white; border: 1px solid #ccc; margin: 5px; position: relative; text-align: left; min-height: 73px; white-space: pre-wrap;}
1006
  .sdf-element.ui-sortable-helper { opacity: 0.7; border-color: #888; }
1007
  .sdf-element-content { position: relative; }
1008
  .sdf-element-content .inner { font-size: 11px; line-height: 11px; }
1032
  .sdf-templates-list-item .sdf-delete { float: right; }
1033
  .sdf-template-load .sdf-icon { background: url(../img/sdf-icons/template-icon.png); }
1034
  .sdf-template-save .sdf-icon { background: url(../img/sdf-icons/save-icon.png); }
1035
+ .sdf-image-load { position: absolute; left: -100000px; }
1036
 
1037
  /* fix for image upload modal box */
1038
  #TB_window { z-index: 100002; }
plugin/sdf/sdf.admin.js ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*global jQuery:false */
2
+ (function($) {
3
+ "use strict";
4
+ jQuery(document).ready(function($) {
5
+
6
+
7
+ // sdf media upload
8
+ var sdf_image_media_frame;
9
+ $(document.body).on('click.sdf-open-media-manager', '.sdf-open-media', function(e) {
10
+ e.preventDefault();
11
+ var current_widget_form = $(e.currentTarget).closest('form');
12
+ if ( sdf_image_media_frame ) {
13
+ sdf_image_media_frame.open();
14
+ return;
15
+ }
16
+
17
+ sdf_image_media_frame = wp.media.frames.sdf_image_media_frame = wp.media({
18
+ className: 'media-frame sdf-image-media-frame',
19
+ frame: 'select',
20
+ multiple: false,
21
+ title: 'Choose an Image',
22
+ library: { type: 'image' },
23
+ button: { text: 'Insert into the Widget' }
24
+ });
25
+
26
+ sdf_image_media_frame.on('select', function() {
27
+ var media_attachment = sdf_image_media_frame.state().get('selection').first().toJSON();
28
+ current_widget_form.find('.sdf-image-url').val(media_attachment.url)
29
+ current_widget_form.find('.sdf-image-preview').attr('src', media_attachment.url)
30
+ });
31
+
32
+ sdf_image_media_frame.open();
33
+ });
34
+
35
+ $( ".wpu-media-upload" ).click( function( e ) {
36
+ e.preventDefault();
37
+
38
+ var activeFileUploadContext = $(this).parent().parent(),
39
+ custom_file_frame = null,
40
+ item_clicked = $(this);
41
+
42
+ // Create the media frame.
43
+ custom_file_frame = wp.media.frames.customHeader = wp.media({
44
+ title: $(this).data( "choose" ),
45
+ library: {
46
+ type: 'image'
47
+ },
48
+ button: {
49
+ text: $(this).data( "update" )
50
+ }
51
+ });
52
+
53
+ custom_file_frame.on( "select", function() {
54
+ var attachment = custom_file_frame.state().get( "selection" ).first();
55
+
56
+ // Update value of the targetfield input with the attachment url.
57
+ //$( '.mfn-opts-screenshot', activeFileUploadContext ).attr( 'src', attachment.attributes.url );
58
+ $( 'input.wpu-image', activeFileUploadContext )
59
+ .val( attachment.attributes.url )
60
+ .trigger( 'change' );
61
+
62
+ //$( '.wpu-media-upload', activeFileUploadContext ).hide();
63
+ // $( '.mfn-opts-screenshot', activeFileUploadContext ).show();
64
+ });
65
+
66
+ custom_file_frame.open();
67
+ });
68
+
69
+ });
70
+
71
+ })(jQuery);
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: SEO Design Solutions, JohnLamansky
3
  Tags: seo, SEO Ultimate, suite, google, yahoo, bing, search engines, admin, post, page, custom post types, categories, tags, terms, custom taxonomies, 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, Open Graph, og, microdata, Facebook, Twitter, Schema.org
4
  Requires at least: 3.5
5
  Tested up to: 3.8.1
6
- Stable tag: 7.6.2
7
 
8
  This all-in-one SEO plugin gives you control over title tags, noindex, meta tags, Open Graph, slugs, canonical, autolinks, 404 errors, rich snippets, and more.
9
 
@@ -244,6 +244,11 @@ Frequently asked questions, settings help, and troubleshooting tips for SEO Ulti
244
 
245
  == Changelog ==
246
 
 
 
 
 
 
247
  = Version 7.6.2 (March 19, 2014) =
248
  * Bugfix: Fixed PHP 5.3 Strict Errors/Notices
249
  * Feature: Added Twitter Bootstrap Assets and updated Markup
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, Open Graph, og, microdata, Facebook, Twitter, Schema.org
4
  Requires at least: 3.5
5
  Tested up to: 3.8.1
6
+ Stable tag: 7.6.3
7
 
8
  This all-in-one SEO plugin gives you control over title tags, noindex, meta tags, Open Graph, slugs, canonical, autolinks, 404 errors, rich snippets, and more.
9
 
244
 
245
  == Changelog ==
246
 
247
+ = Version 7.6.3 (March 24, 2014) =
248
+ * Bugfix: Title Tag Rewriter Fix for Data Loss on Update from 7.6.1
249
+ * Bugfix: Code Inserter Fix for Data Loss on Update from 7.6.1
250
+ * Feature: Added Media Upload Button in Metabox Social Networks Listing Image and Open Graph Integrator Module Image input fields
251
+
252
  = Version 7.6.2 (March 19, 2014) =
253
  * Bugfix: Fixed PHP 5.3 Strict Errors/Notices
254
  * Feature: Added Twitter Bootstrap Assets and updated Markup
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.6.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.6.2
16
  * @link http://www.seodesignsolutions.com/wordpress-seo/ SEO Ultimate Homepage
17
  */
18
 
@@ -48,10 +48,10 @@ define('SU_MINIMUM_WP_VER', '3.5');
48
  //Reading plugin info from constants is faster than trying to parse it from the header above.
49
  define('SU_PLUGIN_NAME', 'SEO Ultimate');
50
  define('SU_PLUGIN_URI', 'http://www.seodesignsolutions.com/wordpress-seo/');
51
- define('SU_VERSION', '7.6.2');
52
  define('SU_AUTHOR', 'SEO Design Solutions');
53
  define('SU_AUTHOR_URI', 'http://www.seodesignsolutions.com/');
54
- define('SU_USER_AGENT', 'SeoUltimate/7.6.2');
55
 
56
  /********** INCLUDES **********/
57
 
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.6.3
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.6.3
16
  * @link http://www.seodesignsolutions.com/wordpress-seo/ SEO Ultimate Homepage
17
  */
18
 
48
  //Reading plugin info from constants is faster than trying to parse it from the header above.
49
  define('SU_PLUGIN_NAME', 'SEO Ultimate');
50
  define('SU_PLUGIN_URI', 'http://www.seodesignsolutions.com/wordpress-seo/');
51
+ define('SU_VERSION', '7.6.3');
52
  define('SU_AUTHOR', 'SEO Design Solutions');
53
  define('SU_AUTHOR_URI', 'http://www.seodesignsolutions.com/');
54
+ define('SU_USER_AGENT', 'SeoUltimate/7.6.3');
55
 
56
  /********** INCLUDES **********/
57