All in One SEO Pack - Version 2.3.4.1

Version Description

Download this release

Release Info

Developer hallsofmontezuma
Plugin Icon 128x128 All in One SEO Pack
Version 2.3.4.1
Comparing to
See all releases

Code changes from version 2.3.3.2 to 2.3.4.1

CONTRIBUTING.md ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Contributing to All in One SEO Pack
2
+
3
+ So you'd like to contribute to an open source project? You're awesome!
4
+
5
+ - [Reporting bugs](#reporting-bugs)
6
+ - [Feature ideas](#feature-ideas)
7
+ - [Contributing code](#contributing-code)
8
+ - [Translating](#translating)
9
+
10
+
11
+ ## Reporting bugs
12
+
13
+ 1. Support issues (white screen of death, plugin/theme conflict, post meta or titles not showing up, etc.) should go to the [**support forums**](http://semperplugins.com/support/). Make sure you're reporting a true AIOSEOP issue here. First do some [basic debugging](http://semperplugins.com/faqs/how-to-troubleshoot-issues-with-our-plugins/).
14
+ 2. [**Search** the issues](https://github.com/semperfiwebdesign/all-in-one-seo-pack/issues) first.
15
+ 3. [Open a new issue](https://github.com/semperfiwebdesign/all-in-one-seo-pack/issues/new).
16
+
17
+ What makes the issue really helpful:
18
+
19
+ - You articulate the problem clearly and provide **steps to reproduce** the problem.
20
+ - **Screenshots or GIFs** are appreciated.
21
+
22
+
23
+ ## Feature ideas
24
+
25
+ Ideas are great. All in One SEO Pack needs them. There are so many difficult problems still to solve, and so many opportunities to make the project better. :bulb: :bulb: :bulb:
26
+
27
+ [Submit a new feature request](https://github.com/semperfiwebdesign/all-in-one-seo-pack/issues/new) and start a discussion.
28
+
29
+
30
+ ## Contributing code
31
+
32
+ Generally:
33
+
34
+ 1. Open a new issue / pick an existing one
35
+ 2. Fork the repo, create a branch, commit to it
36
+ 3. Push the branch, open a pull request
37
+ 4. The core team will review it and work with you if necessary
38
+ 5. Someone from the core team will merge the PR
39
+ 6. :tada:
40
+
41
+ Smaller changes like updating README's etc. don't need to use the full workflow, a direct PR or sometimes even a commit into `master` is fine. However, most code changes undergo the suggested workflow which is described in more detail [below](#development-workflow).
42
+
43
+ The following discusses some of the important details if you want to contribute.
44
+
45
+ ### Core values
46
+
47
+ - **We care about user / dev experience**. Everything that is outward-facing, be it a user interface, developer API or a file format, must be carefully designed for usability and usefulness. We invest our energy to save it for the others.
48
+ - **We care about code quality**. Bad code is a liability, not an asset. We value tests, review each other's code and try to make it good and clean.
49
+ - **We try to be pragmatic**. While we care about quality, the main thing for All in One SEO Pack and its users is to move forward. We're always looking for the right balance.
50
+
51
+
52
+ ### Our development process
53
+
54
+ **Major versions** (2.0, 2.1 etc.) are released every few months. Each major version has a [corresponding milestone](https://github.com/semperfiwebdesign/all-in-one-seo-pack/milestones/) and issues are assigned to it by the core team. Issues not assigned to any milestone are in a backlog – we want to do them one day but there's no immediate plans yet.
55
+
56
+ **Issues** are the most important tool to plan and manage almost everything around VersionPress:
57
+
58
+ - We create them for new features, bugs, improvements or even larger things like planning documents. **We strongly prefer issues over wiki** or other documents as they are actionable and time-framed.
59
+ - [This set of **labels**](https://github.com/semperfiwebdesign/all-in-one-seo-pack/wiki/Issues#labels) is used to categorize issues.
60
+ - Issues go through **four states**: 'open', 'in progress', 'in review' and 'closed'. There's an [**overv.io board**](https://overv.io/workspace/JanVoracek/cautious-tarsier/) board to visualize that. Also, overv.io helps us set priorities – tickets higher up will be worked on first.
61
+
62
+ Regarding **branches**, the current release being worked on is **`development`**. It is hence inherently unsafe, even though we do our best to keep it in a good shape. **`Master`** is typically relatively stable.
63
+
64
+
65
+ ### Development workflow
66
+
67
+ For small / "safe" changes like updating a README or other Markdown files, quick pull request or even commit into `master` is acceptable. However, for most new code, we use the [GitHub flow](https://guides.github.com/introduction/flow/):
68
+
69
+ ![GitHub Flow](https://guides.github.com/activities/hello-world/branching.png)
70
+
71
+ Here are the details:
72
+
73
+
74
+ 1. When you start working on an issue, **move it to the 'in progress' state** (either visually on the [overv.io board](https://overv.io/workspace/JanVoracek/cautious-tarsier/) or by assigning the `in progress` label to the issue) and **create a new feature branch** for it. Name it `<issue number>-<short description>`, e.g., `123-row-filtering`.
75
+
76
+ - **Every feature branch should branch off of master**, not another feature branch, even if it depends on it. For dependent feature branches, simply merge between them. This is mainly because when you're going to open a PR for it, you will need to select the target branch (GitHub doesn't let you to change this later) and `master` is the only sensible choice there.
77
+
78
+ 2. **Commit to this branch**. We appreciate good commits, here are some tips:
79
+
80
+ - **Keep commits small and focused**. There are many articles on version control best practices, e.g., [this one](http://www.git-tower.com/learn/git/ebook/command-line/appendix/best-practices) is good. To sum it up, commit small logical changes, prefer smaller commits over large ones and keep project in a workable state at all times.
81
+ - **Write good commit messages**. We don't have strict rules like [this](http://chris.beams.io/posts/git-commit/), e.g., we don't enforce short subject lines. The main thing for us is that the commit messages are *useful*. Do they make it clear what happened in a commit? Do they reference related commits, if applicable? Good.
82
+ - We most commonly use past tense ("Added tests") or present tense describing the new situation ("IniSerializer now has tests") but we're not religious about it.
83
+ - **Link to an issue from the commit message**. Most of the commit messages look like this:
84
+
85
+ ```
86
+ [#123] Implemented xyz
87
+ ```
88
+
89
+ It means that the commit belongs to issue `#123`. It makes looking up issues from commits easier.
90
+
91
+
92
+ 3. When ready, push the branch, **open a pull request** for it and **move the issue to the 'in review' state** (again, either visually in [overv.io](https://overv.io/workspace/JanVoracek/cautious-tarsier/) or by removing the `in progress` label and adding the `in review` one). You can open a PR early to gather feedback, no worries, you can always add commits to it later. The branch can be push-forced if necessary, it is a "sandbox" to make it great.
93
+
94
+ This is an example of a good pull request: [versionpress/versionpress#744](https://github.com/versionpress/versionpress/pull/744). The body usually contains something like:
95
+
96
+ Resolves #123.
97
+
98
+ Some notes on the implementation here if it's not obvious from the code
99
+ or the list of commits.
100
+
101
+ Reviewers:
102
+
103
+ - [ ] @JanVoracek
104
+ - [ ] @borekb
105
+
106
+ It will be pre-filled for you automatically via GitHub templates, just with a different reviewer (`@versionpress/core-devs` will be there by default, someone from the core team will update it to the actual list of people).
107
+
108
+ 4. **Core team reviews the PR**. Expect feedback – it is uncommon to receive none – and be open to it. The team will happily work with you to make the code contribution great.
109
+
110
+ All checkboxes checked means that the PR is OK to merge.
111
+
112
+ > This is an important nuance because the checkbox can have two meanings: "PR is OK to merge" or "I am done with the review (regardless of whether I still see issues with the code or not)". The former is useful for the one who will eventually perform the merge, the latter is more convenient for a reviewer. We use the first meaning which means that I, as a reviewer, will only check the checkbox after I reported some issues with the code **and they have been fixed**.
113
+
114
+ 5. Someone from the core team **merges the pull request**, issue is closed and the branch can be deleted.
115
+
116
+ A couple of notes:
117
+
118
+ - As noted above, small / safe changes don't need to undergo this whole process. For example, Markdown files can be **committed directly into `master`** if the changes don't need to be reviewed.
119
+ - We used to use **rebasing** in the past – you can still see that in commits before April 2015 – but left it in favor of merging which is much more natural on GitHub. Plus, rebases [have their own issues](http://geekblog.oneandoneis2.org/index.php/2013/04/30/please-stay-away-from-rebase).
120
+ - **Issues vs. pull requests**: most of the new improvements and features start as issues as they are quick to create and don't require a Git branch. Then there's usually a single PR against the issue (sometimes more but that's relatively rare). However, issues and pull requests are almost the same thing on GitHub and it's not a problem to start something (possibly simpler) directly as a PR.
121
+
122
+
123
+ ### Style guides
124
+
125
+ All in Code should follow the [WordPress Coding Standards](https://make.wordpress.org/core/handbook/best-practices/coding-standards/) and [WordPress Documentation Standards](https://make.wordpress.org/core/handbook/best-practices/inline-documentation-standards/).
126
+
127
+ #### PHP style guide
128
+
129
+ [WordPress PHP Coding Standards](https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/)
130
+
131
+ [WordPress PHP Documentation Standards](https://make.wordpress.org/core/handbook/best-practices/inline-documentation-standards/php/)
132
+
133
+ There are tools out there for apps like Netbeans and PHPStorm to apply WordPress Coding Standards.
134
+
135
+
136
+ #### JavaScript style guide
137
+
138
+ [WordPress Javascript Coding Standards](https://make.wordpress.org/core/handbook/best-practices/coding-standards/javascript/)
139
+
140
+ [WordPress Javascript Documentation](https://make.wordpress.org/core/handbook/best-practices/inline-documentation-standards/javascript/)
141
+
142
+
143
+
144
+ ## Translating
145
+
146
+ We would love your help translating the project into your language. [Translations](https://translate.wordpress.org/projects/wp-plugins/all-in-one-seo-pack)
147
+
148
+
149
+ *more instructions coming soon
150
+
151
+
152
+ ---
153
+
154
+ Other ideas of how to contribute? [Tell us](http://semperplugins.com/contact).
README.md DELETED
@@ -1,28 +0,0 @@
1
- # All in One SEO Pack
2
-
3
- Most Downloaded WordPress plugin... almost 30 million downloads
4
-
5
- ## Help
6
-
7
- Read the [documentation](http://semperplugins.com/documentation/)
8
-
9
- ## Installation
10
-
11
- Typically the one-click installer... run bleeding edge coming soon
12
-
13
- ## Contributing
14
-
15
- 1. Create your feature branch: `git checkout -b my-new-feature`
16
- 2. Commit your changes: `git commit -am 'Add some feature'`
17
- 3. Push to the branch: `git push origin my-new-feature`
18
- 4. Submit a pull request :D
19
-
20
- ## Supercharge!
21
-
22
- [Upgrade to Pro Version](http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/)
23
-
24
- ## Acknowledgements
25
-
26
- * Coffee
27
- * Bacon
28
- * Coffee
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/aioseop_module_class.php CHANGED
@@ -508,7 +508,6 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
508
  "wsr-agent",
509
  "WWW-Collector-E",
510
  "Xenu",
511
- "yandex",
512
  "Zao",
513
  "Zeus",
514
  "ZyBORG",
@@ -1229,6 +1228,9 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1229
 
1230
  /**
1231
  * Load scripts and styles for metaboxes.
 
 
 
1232
  */
1233
  function enqueue_metabox_scripts( ) {
1234
  $screen = '';
@@ -1236,12 +1238,12 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1236
  $screen = get_current_screen();
1237
  $bail = false;
1238
  if ( empty( $screen ) ) $bail = true;
1239
- if ( ( $screen->base != 'post' ) && ( $screen->base != 'edit-tags' ) && ( $screen->base != 'toplevel_page_shopp-products' ) ) $bail = true;
1240
  $prefix = $this->get_prefix();
1241
  $bail = apply_filters( $prefix . 'bail_on_enqueue', $bail, $screen );
1242
  if ( $bail ) return;
1243
  $this->form = 'post';
1244
- if ( $screen->base == 'edit-tags' ) $this->form = 'edittag';
1245
  if ( $screen->base == 'toplevel_page_shopp-products' ) $this->form = 'product';
1246
  $this->form = apply_filters( $prefix . 'set_form_on_enqueue', $this->form, $screen );
1247
  foreach( $this->locations as $k => $v ) {
508
  "wsr-agent",
509
  "WWW-Collector-E",
510
  "Xenu",
 
511
  "Zao",
512
  "Zeus",
513
  "ZyBORG",
1228
 
1229
  /**
1230
  * Load scripts and styles for metaboxes.
1231
+ *
1232
+ * edit-tags exists only for pre 4.5 support... remove when we drop 4.5 support.
1233
+ * Also, that check and others should be pulled out into their own functions
1234
  */
1235
  function enqueue_metabox_scripts( ) {
1236
  $screen = '';
1238
  $screen = get_current_screen();
1239
  $bail = false;
1240
  if ( empty( $screen ) ) $bail = true;
1241
+ if ( ( $screen->base != 'post' ) && ( $screen->base != 'term' ) && ( $screen->base != 'edit-tags' ) && ( $screen->base != 'toplevel_page_shopp-products' ) ) $bail = true;
1242
  $prefix = $this->get_prefix();
1243
  $bail = apply_filters( $prefix . 'bail_on_enqueue', $bail, $screen );
1244
  if ( $bail ) return;
1245
  $this->form = 'post';
1246
+ if ( $screen->base == 'term' || $screen->base == 'edit-tags' ) $this->form = 'edittag';
1247
  if ( $screen->base == 'toplevel_page_shopp-products' ) $this->form = 'product';
1248
  $this->form = apply_filters( $prefix . 'set_form_on_enqueue', $this->form, $screen );
1249
  foreach( $this->locations as $k => $v ) {
admin/meta_import.php CHANGED
@@ -62,12 +62,12 @@ function aiosp_seometa_action() {
62
  return;
63
 
64
  if ( empty( $_REQUEST['platform_old'] ) ) {
65
- printf( '<div class="error"><p>%s</p></div>', __('Sorry, you can\'t do that. Please choose a platform platforms.') );
66
  return;
67
  }
68
 
69
  if ( $_REQUEST['platform_old'] == 'All in One SEO Pack' ) {
70
- printf( '<div class="error"><p>%s</p></div>', __('Sorry, you can\'t do that. Please choose two different platforms.') );
71
  return;
72
  }
73
 
62
  return;
63
 
64
  if ( empty( $_REQUEST['platform_old'] ) ) {
65
+ printf( '<div class="error"><p>%s</p></div>', __('Sorry, you can\'t do that. Please choose a platform and then click Analyze or Convert.') );
66
  return;
67
  }
68
 
69
  if ( $_REQUEST['platform_old'] == 'All in One SEO Pack' ) {
70
+ printf( '<div class="error"><p>%s</p></div>', __('Sorry, you can\'t do that. Please choose a platform and then click Analyze or Convert.') );
71
  return;
72
  }
73
 
aioseop_class.php CHANGED
@@ -1083,21 +1083,20 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1083
 
1084
  function add_page_hooks() {
1085
 
1086
- global $aioseop_options;
1087
 
1088
  $post_objs = get_post_types( '', 'objects' );
1089
  $pt = array_keys( $post_objs );
1090
  $rempost = array( 'revision', 'nav_menu_item' );
1091
  $pt = array_diff( $pt, $rempost );
1092
  $post_types = Array();
1093
- $default_posttypes = Array('Posts','Pages','Media');
1094
 
1095
  $aiosp_enablecpost = '';
1096
  if (isset($_REQUEST['aiosp_enablecpost'])) $aiosp_enablecpost = $_REQUEST['aiosp_enablecpost'];
1097
 
1098
  foreach ( $pt as $p ) {
1099
  if ( !empty( $post_objs[$p]->label ) ){
1100
- if (in_array($post_objs[$p]->label,$default_posttypes) && empty( $aioseop_options['aiosp_enablecpost'] )){
1101
  $post_types[$p] = $post_objs[$p]->label;
1102
  }elseif (!empty( $aioseop_options['aiosp_enablecpost'] ) || $aiosp_enablecpost == 'on' ) {
1103
  $post_types[$p] = $post_objs[$p]->label;
@@ -1107,6 +1106,13 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1107
  $post_types[$p] = $p;
1108
  }
1109
  }
 
 
 
 
 
 
 
1110
  $taxes = get_taxonomies( '', 'objects' );
1111
  $tx = array_keys( $taxes );
1112
  $remtax = array( 'nav_menu', 'link_category', 'post_format' );
@@ -1118,7 +1124,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1118
  else
1119
  $taxes[$t] = $t;
1120
  $this->default_options["posttypecolumns"]['initial_options'] = $post_types;
1121
- $this->default_options["cpostactive"]['initial_options'] = $post_types;
1122
  $this->default_options["cpostnoindex"]['initial_options'] = $post_types;
1123
  $this->default_options["cpostnofollow"]['initial_options'] = $post_types;
1124
  $this->default_options["cpostnoodp"]['initial_options'] = $post_types;
@@ -3422,7 +3428,7 @@ EOF;
3422
 
3423
  if ( $custom_menu_order ) {
3424
  add_filter( 'custom_menu_order', '__return_true' );
3425
- add_filter( 'menu_order', array( $this, 'set_menu_order' ) );
3426
  }
3427
 
3428
  if ( $donated ) {
@@ -3463,10 +3469,8 @@ EOF;
3463
  $this->locations['aiosp']['display'] = Array( 'post', 'page' );
3464
  }
3465
 
3466
- if ( $custom_menu_order )
3467
  add_menu_page( $menu_name, $menu_name, apply_filters( 'manage_aiosp', 'aiosp_manage_seo' ) , $file, Array( $this, 'display_settings_page' ) );
3468
- else
3469
- add_utility_page( $menu_name, $menu_name, apply_filters( 'manage_aiosp', 'aiosp_manage_seo' ), $file, Array( $this, 'display_settings_page' ) );
3470
 
3471
  add_meta_box('aioseop-list', __( "Join Our Mailing List", 'all-in-one-seo-pack' ), array( 'aiosp_metaboxes', 'display_extra_metaboxes'), 'aioseop_metaboxes', 'normal', 'core');
3472
  if ( AIOSEOPPRO ){
1083
 
1084
  function add_page_hooks() {
1085
 
1086
+ global $aioseop_options;
1087
 
1088
  $post_objs = get_post_types( '', 'objects' );
1089
  $pt = array_keys( $post_objs );
1090
  $rempost = array( 'revision', 'nav_menu_item' );
1091
  $pt = array_diff( $pt, $rempost );
1092
  $post_types = Array();
 
1093
 
1094
  $aiosp_enablecpost = '';
1095
  if (isset($_REQUEST['aiosp_enablecpost'])) $aiosp_enablecpost = $_REQUEST['aiosp_enablecpost'];
1096
 
1097
  foreach ( $pt as $p ) {
1098
  if ( !empty( $post_objs[$p]->label ) ){
1099
+ if ( $post_objs[$p]->_builtin && empty( $aioseop_options['aiosp_enablecpost'] )){
1100
  $post_types[$p] = $post_objs[$p]->label;
1101
  }elseif (!empty( $aioseop_options['aiosp_enablecpost'] ) || $aiosp_enablecpost == 'on' ) {
1102
  $post_types[$p] = $post_objs[$p]->label;
1106
  $post_types[$p] = $p;
1107
  }
1108
  }
1109
+
1110
+ foreach ($pt as $p){
1111
+ if ( !empty( $post_objs[$p]->label)){
1112
+ $all_post_types[$p] = $post_objs[$p]->label;
1113
+ }
1114
+ }
1115
+
1116
  $taxes = get_taxonomies( '', 'objects' );
1117
  $tx = array_keys( $taxes );
1118
  $remtax = array( 'nav_menu', 'link_category', 'post_format' );
1124
  else
1125
  $taxes[$t] = $t;
1126
  $this->default_options["posttypecolumns"]['initial_options'] = $post_types;
1127
+ $this->default_options["cpostactive"]['initial_options'] = $all_post_types;
1128
  $this->default_options["cpostnoindex"]['initial_options'] = $post_types;
1129
  $this->default_options["cpostnofollow"]['initial_options'] = $post_types;
1130
  $this->default_options["cpostnoodp"]['initial_options'] = $post_types;
3428
 
3429
  if ( $custom_menu_order ) {
3430
  add_filter( 'custom_menu_order', '__return_true' );
3431
+ add_filter( 'menu_order', array( $this, 'set_menu_order' ), 11 );
3432
  }
3433
 
3434
  if ( $donated ) {
3469
  $this->locations['aiosp']['display'] = Array( 'post', 'page' );
3470
  }
3471
 
3472
+
3473
  add_menu_page( $menu_name, $menu_name, apply_filters( 'manage_aiosp', 'aiosp_manage_seo' ) , $file, Array( $this, 'display_settings_page' ) );
 
 
3474
 
3475
  add_meta_box('aioseop-list', __( "Join Our Mailing List", 'all-in-one-seo-pack' ), array( 'aiosp_metaboxes', 'display_extra_metaboxes'), 'aioseop_metaboxes', 'normal', 'core');
3476
  if ( AIOSEOPPRO ){
all_in_one_seo_pack.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: All In One SEO Pack
4
  Plugin URI: http://semperfiwebdesign.com
5
  Description: Out-of-the-box SEO for your WordPress blog. Features like XML Sitemaps, SEO for custom post types, SEO for blogs or business sites, SEO for ecommerce sites, and much more. Almost 30 million downloads since 2007.
6
- Version: 2.3.3.2
7
  Author: Michael Torbert
8
  Author URI: http://michaeltorbert.com
9
  Text Domain: all-in-one-seo-pack
@@ -29,11 +29,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
29
 
30
  /**
31
  * @package All-in-One-SEO-Pack
32
- * @version 2.3.3.2
33
  */
34
 
35
  if(!defined('AIOSEOPPRO')) define('AIOSEOPPRO', false);
36
- if ( ! defined( 'AIOSEOP_VERSION' ) ) define( 'AIOSEOP_VERSION', '2.3.3.2' );
37
  global $aioseop_plugin_name;
38
  $aioseop_plugin_name = 'All in One SEO Pack';
39
 
3
  Plugin Name: All In One SEO Pack
4
  Plugin URI: http://semperfiwebdesign.com
5
  Description: Out-of-the-box SEO for your WordPress blog. Features like XML Sitemaps, SEO for custom post types, SEO for blogs or business sites, SEO for ecommerce sites, and much more. Almost 30 million downloads since 2007.
6
+ Version: 2.3.4.1
7
  Author: Michael Torbert
8
  Author URI: http://michaeltorbert.com
9
  Text Domain: all-in-one-seo-pack
29
 
30
  /**
31
  * @package All-in-One-SEO-Pack
32
+ * @version 2.3.4.1
33
  */
34
 
35
  if(!defined('AIOSEOPPRO')) define('AIOSEOPPRO', false);
36
+ if ( ! defined( 'AIOSEOP_VERSION' ) ) define( 'AIOSEOP_VERSION', '2.3.4.1' );
37
  global $aioseop_plugin_name;
38
  $aioseop_plugin_name = 'All in One SEO Pack';
39
 
css/modules/aioseop_module.css CHANGED
@@ -270,8 +270,6 @@ div.aioseop_tip_icon:before {
270
  #wincher22 {
271
  background-image: url(../../modules/images/banner22.jpg);
272
  }
273
- }
274
-
275
  .aioseop_content {
276
  min-width: 760px;
277
  clear: left;
@@ -1115,4 +1113,8 @@ div.sfwd_debug_error {
1115
  #aioseop_coming_soon img {
1116
  padding-top: 40%;
1117
  }
1118
- */
 
 
 
 
270
  #wincher22 {
271
  background-image: url(../../modules/images/banner22.jpg);
272
  }
 
 
273
  .aioseop_content {
274
  min-width: 760px;
275
  clear: left;
1113
  #aioseop_coming_soon img {
1114
  padding-top: 40%;
1115
  }
1116
+ */
1117
+ .MRL {
1118
+ margin-left: 20px !important;
1119
+ margin-bottom: 10px !important;
1120
+ }
i18n/all-in-one-seo-pack-es_AR.mo CHANGED
Binary file
i18n/all-in-one-seo-pack-lt.mo ADDED
Binary file
i18n/all-in-one-seo-pack-nl.mo ADDED
Binary file
i18n/all-in-one-seo-pack-sq.mo CHANGED
Binary file
inc/aioseop_updates_class.php CHANGED
@@ -50,7 +50,8 @@ class aioseop_updates {
50
  $this->do_feature_updates();
51
 
52
  }
53
-
 
54
  function do_version_updates( $old_version ) {
55
  global $aioseop_options;
56
 
@@ -60,6 +61,14 @@ class aioseop_updates {
60
  ) {
61
  $this->bad_bots_201603();
62
  }
 
 
 
 
 
 
 
 
63
 
64
  /*
65
  if (
@@ -96,9 +105,12 @@ class aioseop_updates {
96
  */
97
 
98
  /**
99
- * Remove overzealous 'DOC' entry which is causing false-positive bad
100
- * bot blocking.
101
- */
 
 
 
102
  function bad_bots_201603() {
103
  global $aiosp, $aioseop_options;
104
  // Remove 'DOC' from bad bots list to avoid false positives
@@ -125,4 +137,40 @@ class aioseop_updates {
125
  }
126
  }
127
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
128
  }
50
  $this->do_feature_updates();
51
 
52
  }
53
+
54
+ //TODO: the compare here should be extracted into a function
55
  function do_version_updates( $old_version ) {
56
  global $aioseop_options;
57
 
61
  ) {
62
  $this->bad_bots_201603();
63
  }
64
+
65
+ if (
66
+ ( !AIOSEOPPRO && version_compare( $old_version, '2.3.4.1', '<' ) ) ||
67
+ ( AIOSEOPPRO && version_compare( $old_version, '2.4.4.1', '<' ) )
68
+ ) {
69
+ $this->bad_bots_remove_yandex_201604();
70
+ }
71
+
72
 
73
  /*
74
  if (
105
  */
106
 
107
  /**
108
+ * Remove overzealous 'DOC' entry which is causing false-positive bad
109
+ * bot blocking.
110
+ *
111
+ * @since 2.3.3
112
+ *
113
+ */
114
  function bad_bots_201603() {
115
  global $aiosp, $aioseop_options;
116
  // Remove 'DOC' from bad bots list to avoid false positives
137
  }
138
  }
139
  }
140
+
141
+ /**
142
+ * Remove 'yandex' entry. This is a major Russian search engine, and no longer needs to be blocked.
143
+ *
144
+ * @since 2.3.4.1
145
+ *
146
+ **/
147
+
148
+ function bad_bots_remove_yandex_201604() {
149
+ global $aiosp, $aioseop_options;
150
+ // Remove 'yandex' from bad bots list to avoid false positives
151
+ if ( isset( $aioseop_options['modules']['aiosp_bad_robots_options']['aiosp_bad_robots_blocklist'] ) ) {
152
+ $list = $aioseop_options['modules']['aiosp_bad_robots_options']['aiosp_bad_robots_blocklist'];
153
+ $list = str_replace(array( "yandex\r\n", "yandex\n"), '', $list);
154
+ $aioseop_options['modules']['aiosp_bad_robots_options']['aiosp_bad_robots_blocklist'] = $list;
155
+ update_option( 'aioseop_options', $aioseop_options );
156
+ $aiosp->update_class_option( $aioseop_options );
157
+
158
+ if ( isset( $aioseop_options['modules']['aiosp_bad_robots_options']['aiosp_bad_robots_htaccess_rules'] ) && 'on' === $aioseop_options['modules']['aiosp_bad_robots_options']['aiosp_bad_robots_htaccess_rules'] ){
159
+
160
+ if (!class_exists( 'All_in_One_SEO_Pack_Bad_Robots' ) ) {
161
+ require_once( AIOSEOP_PLUGIN_DIR . 'admin/aioseop_module_class.php');
162
+ require_once( AIOSEOP_PLUGIN_DIR . 'modules/aioseop_bad_robots.php');
163
+ }
164
+
165
+ $aiosp_reset_htaccess = new All_in_One_SEO_Pack_Bad_Robots;
166
+ $aiosp_reset_htaccess->generate_htaccess_blocklist();
167
+ }
168
+
169
+ if ( !isset( $aioseop_options['modules']['aiosp_bad_robots_options']['aiosp_bad_robots_htaccess_rules'] ) && extract_from_markers( get_home_path() . '.htaccess', 'Bad Bot Blocker' ) ){
170
+ insert_with_markers( get_home_path() . '.htaccess', 'Bad Bot Blocker', '' );
171
+ }
172
+ }
173
+ }
174
+
175
+
176
  }
init.php DELETED
File without changes
js/modules/aioseop_module.js CHANGED
@@ -338,8 +338,8 @@ jQuery(document).ready(function() {
338
  var stringref = jQuery(this).attr("href").split('#')[1];
339
  jQuery('.aioseop_tab:not(#'+stringref+')').hide('slow');
340
  jQuery('.aioseop_tab#' + stringref).show('slow');
341
- jQuery('.aioseop_header_tab[href!=#'+stringref+']').removeClass('active');
342
- jQuery('.aioseop_header_tab[href=#' + stringref+']').addClass('active');
343
  return false;
344
  });
345
  });
338
  var stringref = jQuery(this).attr("href").split('#')[1];
339
  jQuery('.aioseop_tab:not(#'+stringref+')').hide('slow');
340
  jQuery('.aioseop_tab#' + stringref).show('slow');
341
+ jQuery('.aioseop_header_tab[href!="#'+stringref+'"]').removeClass('active');
342
+ jQuery('.aioseop_header_tab[href="#' + stringref+'"]').addClass('active');
343
  return false;
344
  });
345
  });
modules/aioseop_opengraph.php CHANGED
@@ -383,7 +383,12 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
383
  }
384
  if ( isset( $this->options["aiosp_opengraph_defcard"] ) ) {
385
  $settings[$prefix . 'setcard']['default'] = $this->options["aiosp_opengraph_defcard"];
386
- }
 
 
 
 
 
387
  }
388
  if ( isset( $current[ $prefix . 'setmeta' ] ) && $current[ $prefix . 'setmeta' ] )
389
  foreach ( $opts as $opt )
383
  }
384
  if ( isset( $this->options["aiosp_opengraph_defcard"] ) ) {
385
  $settings[$prefix . 'setcard']['default'] = $this->options["aiosp_opengraph_defcard"];
386
+ }
387
+ global $aiosp;
388
+ $info = $aiosp->get_page_snippet_info();
389
+ extract( $info );
390
+ $settings["{$prefix}title"]['placeholder'] = $title;
391
+ $settings["{$prefix}desc"]['placeholder'] = $description;
392
  }
393
  if ( isset( $current[ $prefix . 'setmeta' ] ) && $current[ $prefix . 'setmeta' ] )
394
  foreach ( $opts as $opt )
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: hallsofmontezuma, wpsmort, dougal, pbaylies, arnaudbroes
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mrtorbert%40gmail%2ecom&item_name=All%20In%20One%20SEO%20Pack&item_number=Support%20Open%20Source&no_shipping=0&no_note=1&tax=0&currency_code=USD&lc=US&bn=PP%2dDonationsBF&charset=UTF%2d8
4
  Tags: seo, SEO, all in one seo, widget, Post, plugin, admin, posts, shortcode, sidebar, google, twitter, page, images, comments, image, social, search engine optimization, sitemap, WordPress SEO, meta, meta description, xml sitemap, xml sitemaps, google sitemap, sitemaps, robots meta, rss, rss footer, yahoo, bing, news sitemaps, XML News Sitemaps, multisite, canonical, nofollow, noindex, keywords, meta keywords, description, webmaster tools, google webmaster tools, google analytics, seo pack
5
  Requires at least: 3.3
6
- Tested up to: 4.4
7
- Stable tag: 2.3.3.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mrtorbert%40gmail%2ecom&item_name=All%20In%20One%20SEO%20Pack&item_number=Support%20Open%20Source&no_shipping=0&no_note=1&tax=0&currency_code=USD&lc=US&bn=PP%2dDonationsBF&charset=UTF%2d8
4
  Tags: seo, SEO, all in one seo, widget, Post, plugin, admin, posts, shortcode, sidebar, google, twitter, page, images, comments, image, social, search engine optimization, sitemap, WordPress SEO, meta, meta description, xml sitemap, xml sitemaps, google sitemap, sitemaps, robots meta, rss, rss footer, yahoo, bing, news sitemaps, XML News Sitemaps, multisite, canonical, nofollow, noindex, keywords, meta keywords, description, webmaster tools, google webmaster tools, google analytics, seo pack
5
  Requires at least: 3.3
6
+ Tested up to: 4.5
7
+ Stable tag: 2.3.4.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10