All in One SEO Pack - Version 2.2.7.4

Version Description

Download this release

Release Info

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

Code changes from version 2.2.7.3 to 2.2.7.4

Files changed (43) hide show
  1. aioseop_bad_robots.php +23 -23
  2. aioseop_class.php +385 -368
  3. aioseop_feature_manager.php +19 -19
  4. aioseop_file_editor.php +9 -9
  5. aioseop_functions.php +19 -19
  6. aioseop_importer_exporter.php +15 -15
  7. aioseop_module.css +21 -1
  8. aioseop_module_class.php +19 -19
  9. aioseop_opengraph.php +173 -156
  10. aioseop_options.php +0 -0
  11. aioseop_performance.php +61 -61
  12. aioseop_robots.php +27 -27
  13. aioseop_sitemap.php +109 -109
  14. all-in-one-seo-pack-ar.mo +0 -0
  15. all_in_one_seo_pack-bg_BG.mo → all-in-one-seo-pack-bg_BG.mo +0 -0
  16. all_in_one_seo_pack-bg_NO.mo → all-in-one-seo-pack-bg_NO.mo +0 -0
  17. all_in_one_seo_pack-cs_CZ.mo → all-in-one-seo-pack-cs_CZ.mo +0 -0
  18. all_in_one_seo_pack-da_DK.mo → all-in-one-seo-pack-da_DK.mo +0 -0
  19. all_in_one_seo_pack-de_DE.mo → all-in-one-seo-pack-de_DE.mo +0 -0
  20. all_in_one_seo_pack-es_ES.mo → all-in-one-seo-pack-es_ES.mo +0 -0
  21. all_in_one_seo_pack-fa_IR.mo → all-in-one-seo-pack-fa_IR.mo +0 -0
  22. all_in_one_seo_pack-fr_FR.mo → all-in-one-seo-pack-fr_FR.mo +0 -0
  23. all_in_one_seo_pack-he_IL.mo → all-in-one-seo-pack-he_IL.mo +0 -0
  24. all-in-one-seo-pack-hi_IN.mo +0 -0
  25. all_in_one_seo_pack-hu_HU.mo → all-in-one-seo-pack-hu_HU.mo +0 -0
  26. all_in_one_seo_pack-it_IT.mo → all-in-one-seo-pack-it_IT.mo +0 -0
  27. all_in_one_seo_pack-ja.mo → all-in-one-seo-pack-ja.mo +0 -0
  28. all_in_one_seo_pack-ko_KR.mo → all-in-one-seo-pack-ko_KR.mo +0 -0
  29. all_in_one_seo_pack-nl_NL.mo → all-in-one-seo-pack-nl_NL.mo +0 -0
  30. all_in_one_seo_pack-pl_PL.mo → all-in-one-seo-pack-pl_PL.mo +0 -0
  31. all_in_one_seo_pack-pt_BR.mo → all-in-one-seo-pack-pt_BR.mo +0 -0
  32. all_in_one_seo_pack-ro_RO.mo → all-in-one-seo-pack-ro_RO.mo +0 -0
  33. all_in_one_seo_pack-ru_RU.mo → all-in-one-seo-pack-ru_RU.mo +0 -0
  34. all_in_one_seo_pack-sk_SK.mo → all-in-one-seo-pack-sk_SK.mo +0 -0
  35. all_in_one_seo_pack-tr_TR.mo → all-in-one-seo-pack-tr_TR.mo +0 -0
  36. all_in_one_seo_pack-uk.mo → all-in-one-seo-pack-uk.mo +0 -0
  37. all_in_one_seo_pack-zh_CN.mo → all-in-one-seo-pack-zh_CN.mo +0 -0
  38. all_in_one_seo_pack-zh_TW.mo → all-in-one-seo-pack-zh_TW.mo +0 -0
  39. all_in_one_seo_pack.pot → all-in-one-seo-pack.pot +0 -0
  40. all_in_one_seo_pack.php +5 -5
  41. images/banner21.jpg +0 -0
  42. images/banner22.jpg +0 -0
  43. readme.txt +12 -4
aioseop_bad_robots.php CHANGED
@@ -8,31 +8,31 @@
8
  if ( !class_exists( 'All_in_One_SEO_Pack_Bad_Robots' ) ) {
9
  class All_in_One_SEO_Pack_Bad_Robots extends All_in_One_SEO_Pack_Module {
10
  function __construct( ) {
11
- $this->name = __('Bad Bot Blocker', 'all_in_one_seo_pack'); // Human-readable name of the plugin
12
  $this->prefix = 'aiosp_bad_robots_'; // option prefix
13
  $this->file = __FILE__; // the current file
14
  parent::__construct();
15
 
16
  $help_text = Array(
17
- 'block_bots' => __( 'Block requests from user agents that are known to misbehave.', 'all_in_one_seo_pack' ),
18
- 'block_refer' => __( 'Block referral spam.', 'all_in_one_seo_pack' ),
19
- 'track_blocks'=> __( 'Log and show recent requests from blocked bots.', 'all_in_one_seo_pack' ),
20
- 'htaccess_rules'=>__( 'Block bad robots via Apaache .htaccess rules. Warning: this will change your web server configuration, make sure you are able to edit this file manually as well.', 'all_in_one_seo_pack' ),
21
- 'edit_blocks' => __( 'Check this to edit the list of disallowed user agents for blocking bad bots.', 'all_in_one_seo_pack' ),
22
- 'blocklist' => __( 'This is the list of disallowed user agents used for blocking bad bots.', 'all_in_one_seo_pack' ),
23
- 'referlist' => __( 'This is the list of disallowed referers used for blocking bad bots.', 'all_in_one_seo_pack' ),
24
- 'blocked_log' => __( 'Shows log of most recent requests from blocked bots. Note: this will not track any bots that were already blocked at the web server / .htaccess level.', 'all_in_one_seo_pack' ),
25
  );
26
 
27
  $this->default_options = array(
28
- 'block_bots' => Array( 'name' => __( 'Block Bad Bots', 'all_in_one_seo_pack' ) ),
29
- 'block_refer' => Array( 'name' => __( 'Block Referral Spam', 'all_in_one_seo_pack' ) ),
30
- 'track_blocks' => Array( 'name' => __( 'Track Blocked Bots', 'all_in_one_seo_pack' ) ),
31
- 'htaccess_rules' => Array( 'name' => __( 'Add rules to .htaccess', 'all_in_one_seo_pack' ) ),
32
- 'edit_blocks' => Array( 'name' => __( 'Edit Blocklists', 'all_in_one_seo_pack' ) ),
33
- 'blocklist' => Array( 'name' => __( 'User Agent Blocklist', 'all_in_one_seo_pack' ), 'type' => 'textarea', 'rows' => 5, 'cols' => 120, 'condshow' => Array( "{$this->prefix}edit_blocks" => 'on' ), 'default' => join( "\n", $this->default_bad_bots() ) ),
34
- 'referlist' => Array( 'name' => __( 'Referer Blocklist', 'all_in_one_seo_pack' ), 'type' => 'textarea', 'rows' => 5, 'cols' => 120, 'condshow' => Array( "{$this->prefix}edit_blocks" => 'on', "{$this->prefix}block_refer" => 'on', ), 'default' => join( "\n", $this->default_bad_referers() ) ),
35
- 'blocked_log' => Array( 'name' => __( 'Log Of Blocked Bots', 'all_in_one_seo_pack' ), 'default' => __( 'No requests yet.', 'all_in_one_seo_pack' ), 'type' => 'html', 'disabled' => 'disabled', 'save' => false, 'label' => 'top', 'rows' => 5, 'cols' => 120, 'style' => 'min-width:950px', 'condshow' => Array( "{$this->prefix}track_blocks" => 'on' ) )
36
  );
37
  $is_apache = false;
38
  if ( ( !empty($_SERVER['SERVER_SOFTWARE'] ) && stristr( $_SERVER['SERVER_SOFTWARE'], 'Apache' ) !== false ) ) {
@@ -64,13 +64,13 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Bad_Robots' ) ) {
64
  status_header( 503 );
65
  $ip = $_SERVER['REMOTE_ADDR'];
66
  $user_agent = $_SERVER['HTTP_USER_AGENT'];
67
- $this->blocked_message( sprintf( __( "Blocked bot with IP %s -- matched user agent %s found in blocklist.", 'all_in_one_seo_pack' ), $ip, $user_agent ) );
68
  exit();
69
  } elseif ( $this->option_isset( 'block_refer' ) && $this->is_bad_referer() ) {
70
  status_header( 503 );
71
  $ip = $_SERVER['REMOTE_ADDR'];
72
  $referer = $_SERVER['HTTP_REFERER'];
73
- $this->blocked_message( sprintf( __( "Blocked bot with IP %s -- matched referer %s found in blocklist.", 'all_in_one_seo_pack' ), $ip, $referer ) );
74
  }
75
  }
76
  }
@@ -81,7 +81,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Bad_Robots' ) ) {
81
  $modules = apache_get_modules();
82
  foreach( Array( 'mod_authz_host', 'mod_setenvif' ) as $m ) {
83
  if ( !in_array( $m, $modules ) ) {
84
- aioseop_output_notice( sprintf( __( "Apache module %s is required!", 'all_in_one_seo_pack' ), $m ), "", "error" );
85
  }
86
  }
87
  }
@@ -101,12 +101,12 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Bad_Robots' ) ) {
101
  }
102
  $htaccess[] = 'Deny from env=bad_bot';
103
  if ( insert_with_markers( get_home_path() . '.htaccess', $this->name, $htaccess ) ) {
104
- aioseop_output_notice( __( "Updated .htaccess rules.", 'all_in_one_seo_pack' ) );
105
  } else {
106
- aioseop_output_notice( __( "Failed to update .htaccess rules!", 'all_in_one_seo_pack' ), "", "error" );
107
  }
108
  } else {
109
- aioseop_output_notice( __( "No rules to update!", 'all_in_one_seo_pack' ), "", "error" );
110
  }
111
  }
112
 
8
  if ( !class_exists( 'All_in_One_SEO_Pack_Bad_Robots' ) ) {
9
  class All_in_One_SEO_Pack_Bad_Robots extends All_in_One_SEO_Pack_Module {
10
  function __construct( ) {
11
+ $this->name = __('Bad Bot Blocker', 'all-in-one-seo-pack'); // Human-readable name of the plugin
12
  $this->prefix = 'aiosp_bad_robots_'; // option prefix
13
  $this->file = __FILE__; // the current file
14
  parent::__construct();
15
 
16
  $help_text = Array(
17
+ 'block_bots' => __( 'Block requests from user agents that are known to misbehave.', 'all-in-one-seo-pack' ),
18
+ 'block_refer' => __( 'Block referral spam.', 'all-in-one-seo-pack' ),
19
+ 'track_blocks'=> __( 'Log and show recent requests from blocked bots.', 'all-in-one-seo-pack' ),
20
+ 'htaccess_rules'=>__( 'Block bad robots via Apaache .htaccess rules. Warning: this will change your web server configuration, make sure you are able to edit this file manually as well.', 'all-in-one-seo-pack' ),
21
+ 'edit_blocks' => __( 'Check this to edit the list of disallowed user agents for blocking bad bots.', 'all-in-one-seo-pack' ),
22
+ 'blocklist' => __( 'This is the list of disallowed user agents used for blocking bad bots.', 'all-in-one-seo-pack' ),
23
+ 'referlist' => __( 'This is the list of disallowed referers used for blocking bad bots.', 'all-in-one-seo-pack' ),
24
+ 'blocked_log' => __( 'Shows log of most recent requests from blocked bots. Note: this will not track any bots that were already blocked at the web server / .htaccess level.', 'all-in-one-seo-pack' ),
25
  );
26
 
27
  $this->default_options = array(
28
+ 'block_bots' => Array( 'name' => __( 'Block Bad Bots', 'all-in-one-seo-pack' ) ),
29
+ 'block_refer' => Array( 'name' => __( 'Block Referral Spam', 'all-in-one-seo-pack' ) ),
30
+ 'track_blocks' => Array( 'name' => __( 'Track Blocked Bots', 'all-in-one-seo-pack' ) ),
31
+ 'htaccess_rules' => Array( 'name' => __( 'Add rules to .htaccess', 'all-in-one-seo-pack' ) ),
32
+ 'edit_blocks' => Array( 'name' => __( 'Edit Blocklists', 'all-in-one-seo-pack' ) ),
33
+ 'blocklist' => Array( 'name' => __( 'User Agent Blocklist', 'all-in-one-seo-pack' ), 'type' => 'textarea', 'rows' => 5, 'cols' => 120, 'condshow' => Array( "{$this->prefix}edit_blocks" => 'on' ), 'default' => join( "\n", $this->default_bad_bots() ) ),
34
+ 'referlist' => Array( 'name' => __( 'Referer Blocklist', 'all-in-one-seo-pack' ), 'type' => 'textarea', 'rows' => 5, 'cols' => 120, 'condshow' => Array( "{$this->prefix}edit_blocks" => 'on', "{$this->prefix}block_refer" => 'on', ), 'default' => join( "\n", $this->default_bad_referers() ) ),
35
+ 'blocked_log' => Array( 'name' => __( 'Log Of Blocked Bots', 'all-in-one-seo-pack' ), 'default' => __( 'No requests yet.', 'all-in-one-seo-pack' ), 'type' => 'html', 'disabled' => 'disabled', 'save' => false, 'label' => 'top', 'rows' => 5, 'cols' => 120, 'style' => 'min-width:950px', 'condshow' => Array( "{$this->prefix}track_blocks" => 'on' ) )
36
  );
37
  $is_apache = false;
38
  if ( ( !empty($_SERVER['SERVER_SOFTWARE'] ) && stristr( $_SERVER['SERVER_SOFTWARE'], 'Apache' ) !== false ) ) {
64
  status_header( 503 );
65
  $ip = $_SERVER['REMOTE_ADDR'];
66
  $user_agent = $_SERVER['HTTP_USER_AGENT'];
67
+ $this->blocked_message( sprintf( __( "Blocked bot with IP %s -- matched user agent %s found in blocklist.", 'all-in-one-seo-pack' ), $ip, $user_agent ) );
68
  exit();
69
  } elseif ( $this->option_isset( 'block_refer' ) && $this->is_bad_referer() ) {
70
  status_header( 503 );
71
  $ip = $_SERVER['REMOTE_ADDR'];
72
  $referer = $_SERVER['HTTP_REFERER'];
73
+ $this->blocked_message( sprintf( __( "Blocked bot with IP %s -- matched referer %s found in blocklist.", 'all-in-one-seo-pack' ), $ip, $referer ) );
74
  }
75
  }
76
  }
81
  $modules = apache_get_modules();
82
  foreach( Array( 'mod_authz_host', 'mod_setenvif' ) as $m ) {
83
  if ( !in_array( $m, $modules ) ) {
84
+ aioseop_output_notice( sprintf( __( "Apache module %s is required!", 'all-in-one-seo-pack' ), $m ), "", "error" );
85
  }
86
  }
87
  }
101
  }
102
  $htaccess[] = 'Deny from env=bad_bot';
103
  if ( insert_with_markers( get_home_path() . '.htaccess', $this->name, $htaccess ) ) {
104
+ aioseop_output_notice( __( "Updated .htaccess rules.", 'all-in-one-seo-pack' ) );
105
  } else {
106
+ aioseop_output_notice( __( "Failed to update .htaccess rules!", 'all-in-one-seo-pack' ), "", "error" );
107
  }
108
  } else {
109
+ aioseop_output_notice( __( "No rules to update!", 'all-in-one-seo-pack' ), "", "error" );
110
  }
111
  }
112
 
aioseop_class.php CHANGED
@@ -60,8 +60,8 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
60
 
61
  $this->init();
62
 
63
- $this->name = sprintf( __( '%s Plugin Options', 'all_in_one_seo_pack' ), AIOSEOP_PLUGIN_NAME );
64
- $this->menu_name = __( 'General Settings', 'all_in_one_seo_pack' );
65
 
66
  $this->prefix = 'aiosp_'; // option prefix
67
  $this->option_name = 'aioseop_options';
@@ -71,163 +71,163 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
71
  parent::__construct();
72
 
73
  $this->help_text = Array(
74
- "donate" => __( "All donations support continued development of this free software.", 'all_in_one_seo_pack'),
75
- "can" => __( "This option will automatically generate Canonical URLs for your entire WordPress installation. This will help to prevent duplicate content penalties by <a href=\'http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html\' target=\'_blank\'>Google</a>.", 'all_in_one_seo_pack'),
76
- "no_paged_canonical_links"=> __( "Checking this option will set the Canonical URL for all paginated content to the first page.", 'all_in_one_seo_pack'),
77
- "customize_canonical_links"=> __( "Checking this option will allow you to customize Canonical URLs for specific posts.", 'all_in_one_seo_pack'),
78
- "can_set_protocol" => __( "Set protocol for canonical URLs.", 'all_in_one_seo_pack' ),
79
- "use_original_title" => __( "Use wp_title to get the title used by the theme; this is disabled by default. If you use this option, set your title formats appropriately, as your theme might try to do its own title SEO as well.", 'all_in_one_seo_pack' ),
80
- "do_log" => __( "Check this and All in One SEO Pack will create a log of important events (all_in_one_seo_pack.log) in its plugin directory which might help debugging. Make sure this directory is writable.", 'all_in_one_seo_pack' ),
81
- "home_title" => __( "As the name implies, this will be the Meta Title of your homepage. This is independent of any other option. If not set, the default Site Title (found in WordPress under Settings, General, Site Title) will be used.", 'all_in_one_seo_pack' ),
82
- "home_description" => __( "This will be the Meta Description for your homepage. This is independent of any other option. The default is no Meta Description at all if this is not set.", 'all_in_one_seo_pack' ),
83
- "home_keywords" => __( "Enter a comma separated list of your most important keywords for your site that will be written as Meta Keywords on your homepage. Don\'t stuff everything in here.", 'all_in_one_seo_pack' ),
84
- "use_static_home_info" => __( "Checking this option uses the title, description, and keywords set on your static Front Page.", 'all_in_one_seo_pack' ),
85
- "togglekeywords" => __( "This option allows you to toggle the use of Meta Keywords throughout the whole of the site.", 'all_in_one_seo_pack' ),
86
- "use_categories" => __( "Check this if you want your categories for a given post used as the Meta Keywords for this post (in addition to any keywords you specify on the Edit Post screen).", 'all_in_one_seo_pack' ),
87
- "use_tags_as_keywords" => __( "Check this if you want your tags for a given post used as the Meta Keywords for this post (in addition to any keywords you specify on the Edit Post screen).", 'all_in_one_seo_pack' ),
88
- "dynamic_postspage_keywords"=> __( "Check this if you want your keywords on your Posts page (set in WordPress under Settings, Reading, Front Page Displays) and your archive pages to be dynamically generated from the keywords of the posts showing on that page. If unchecked, it will use the keywords set in the edit page screen for the posts page.", 'all_in_one_seo_pack'),
89
- "rewrite_titles" => __( "Note that this is all about the title tag. This is what you see in your browser's window title bar. This is NOT visible on a page, only in the title bar and in the source code. If enabled, all page, post, category, search and archive page titles get rewritten. You can specify the format for most of them. For example: Using the default post title format below, Rewrite Titles will write all post titles as 'Post Title | Blog Name'. If you have manually defined a title using All in One SEO Pack, this will become the title of your post in the format string.", 'all_in_one_seo_pack' ),
90
- "cap_titles" => __( "Check this and Search Page Titles and Tag Page Titles will have the first letter of each word capitalized.", 'all_in_one_seo_pack' ),
91
- "cap_cats" => __( "Check this and Category Titles will have the first letter of each word capitalized.", 'all_in_one_seo_pack'),
92
  "home_page_title_format" =>
93
- __( "This controls the format of the title tag for your Home Page.<br />The following macros are supported:", 'all_in_one_seo_pack' )
94
- . '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
95
- __( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
96
- __( '%page_title% - The original title of the page', 'all_in_one_seo_pack' ) . '</li><li>' .
97
- __( "%page_author_login% - This page's author' login", 'all_in_one_seo_pack' ) . '</li><li>' .
98
- __( "%page_author_nicename% - This page's author' nicename", 'all_in_one_seo_pack' ) . '</li><li>' .
99
- __( "%page_author_firstname% - This page's author' first name (capitalized)", 'all_in_one_seo_pack' ) . '</li><li>' .
100
- __( "%page_author_lastname% - This page's author' last name (capitalized)", 'all_in_one_seo_pack' ) . '</li>' .
101
  '</ul>',
102
  "page_title_format" =>
103
- __( "This controls the format of the title tag for Pages.<br />The following macros are supported:", 'all_in_one_seo_pack' )
104
- . '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
105
- __( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
106
- __( '%page_title% - The original title of the page', 'all_in_one_seo_pack' ) . '</li><li>' .
107
- __( "%page_author_login% - This page's author' login", 'all_in_one_seo_pack' ) . '</li><li>' .
108
- __( "%page_author_nicename% - This page's author' nicename", 'all_in_one_seo_pack' ) . '</li><li>' .
109
- __( "%page_author_firstname% - This page's author' first name (capitalized)", 'all_in_one_seo_pack' ) . '</li><li>' .
110
- __( "%page_author_lastname% - This page's author' last name (capitalized)", 'all_in_one_seo_pack' ) . '</li>' .
111
  '</ul>',
112
  "post_title_format" =>
113
- __( "This controls the format of the title tag for Posts.<br />The following macros are supported:", 'all_in_one_seo_pack' )
114
- . '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
115
- __( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
116
- __( '%post_title% - The original title of the post', 'all_in_one_seo_pack' ) . '</li><li>' .
117
- __( '%category_title% - The (main) category of the post', 'all_in_one_seo_pack' ) . '</li><li>' .
118
- __( '%category% - Alias for %category_title%', 'all_in_one_seo_pack' ) . '</li><li>' .
119
- __( "%post_author_login% - This post's author' login", 'all_in_one_seo_pack' ) . '</li><li>' .
120
- __( "%post_author_nicename% - This post's author' nicename", 'all_in_one_seo_pack' ) . '</li><li>' .
121
- __( "%post_author_firstname% - This post's author' first name (capitalized)", 'all_in_one_seo_pack' ) . '</li><li>' .
122
- __( "%post_author_lastname% - This post's author' last name (capitalized)", 'all_in_one_seo_pack' ) . '</li>' .
123
  '</ul>',
124
  "category_title_format" =>
125
- __( "This controls the format of the title tag for Category Archives.<br />The following macros are supported:", 'all_in_one_seo_pack' ) .
126
- '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
127
- __( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
128
- __( '%category_title% - The original title of the category', 'all_in_one_seo_pack' ) . '</li><li>' .
129
- __( '%category_description% - The description of the category', 'all_in_one_seo_pack' ) . '</li></ul>',
130
  "archive_title_format" =>
131
- __( "This controls the format of the title tag for Custom Post Archives.<br />The following macros are supported:", 'all_in_one_seo_pack' ) .
132
- '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
133
- __( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
134
- __( '%archive_title - The original archive title given by wordpress', 'all_in_one_seo_pack' ) . '</li></ul>',
135
  "date_title_format" =>
136
- __( "This controls the format of the title tag for Date Archives.<br />The following macros are supported:", 'all_in_one_seo_pack' ) .
137
- '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
138
- __( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
139
- __( '%date% - The original archive title given by wordpress, e.g. "2007" or "2007 August"', 'all_in_one_seo_pack' ) . '</li><li>' .
140
- __( '%day% - The original archive day given by wordpress, e.g. "17"', 'all_in_one_seo_pack' ) . '</li><li>' .
141
- __( '%month% - The original archive month given by wordpress, e.g. "August"', 'all_in_one_seo_pack' ) . '</li><li>' .
142
- __( '%year% - The original archive year given by wordpress, e.g. "2007"', 'all_in_one_seo_pack' ) . '</li></ul>',
143
  "author_title_format" =>
144
- __( "This controls the format of the title tag for Author Archives.<br />The following macros are supported:", 'all_in_one_seo_pack' ) .
145
- '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
146
- __( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
147
- __( '%author% - The original archive title given by wordpress, e.g. "Steve" or "John Smith"', 'all_in_one_seo_pack' ) . '</li></ul>',
148
  "tag_title_format" =>
149
- __( "This controls the format of the title tag for Tag Archives.<br />The following macros are supported:", 'all_in_one_seo_pack' ) .
150
- '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
151
- __( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
152
- __( '%tag% - The name of the tag', 'all_in_one_seo_pack' ) . '</li></ul>',
153
  "search_title_format" =>
154
- __( "This controls the format of the title tag for the Search page.<br />The following macros are supported:", 'all_in_one_seo_pack' ) .
155
- '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
156
- __( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
157
- __( '%search% - What was searched for', 'all_in_one_seo_pack' ) . '</li></ul>',
158
- "description_format" => __( "This controls the format of Meta Descriptions.The following macros are supported:", 'all_in_one_seo_pack' ) .
159
- '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
160
- __( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
161
- __( '%description% - The original description as determined by the plugin, e.g. the excerpt if one is set or an auto-generated one if that option is set', 'all_in_one_seo_pack' ) . '</li><li>' .
162
- __( '%post_title% - The original title of the post', 'all_in_one_seo_pack' ) . '</li><li>' .
163
- __( '%wp_title% - The original wordpress title, e.g. post_title for posts', 'all_in_one_seo_pack' ) . '</li></ul>',
164
- "404_title_format" => __( "This controls the format of the title tag for the 404 page.<br />The following macros are supported:", 'all_in_one_seo_pack' ) .
165
- '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
166
- __( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
167
- __( '%request_url% - The original URL path, like "/url-that-does-not-exist/"', 'all_in_one_seo_pack' ) . '</li><li>' .
168
- __( '%request_words% - The URL path in human readable form, like "Url That Does Not Exist"', 'all_in_one_seo_pack' ) . '</li><li>' .
169
- __( '%404_title% - Additional 404 title input"', 'all_in_one_seo_pack' ) . '</li></ul>',
170
- "paged_format" => __( "This string gets appended/prepended to titles of paged index pages (like home or archive pages).", 'all_in_one_seo_pack' )
171
- . __( 'The following macros are supported:', 'all_in_one_seo_pack' )
172
- . '<ul><li>' . __( '%page% - The page number', 'all_in_one_seo_pack' ) . '</li></ul>',
173
- "enablecpost" => __( "Check this if you want to use All in One SEO Pack with any Custom Post Types on this site.", 'all_in_one_seo_pack' ),
174
- "cpostadvanced" => __( "This will show or hide the advanced options for SEO for Custom Post Types.", 'all_in_one_seo_pack' ),
175
- "cpostactive" => __( "Use these checkboxes to select which Post Types you want to use All in One SEO Pack with.", 'all_in_one_seo_pack' ),
176
- "cposttitles" => __( "This allows you to set the title tags for each Custom Post Type.", 'all_in_one_seo_pack' ),
177
- "posttypecolumns" => __( "This lets you select which screens display the SEO Title, SEO Keywords and SEO Description columns.", 'all_in_one_seo_pack' ),
178
- "admin_bar" => __( "Check this to add All in One SEO Pack to the Admin Bar for easy access to your SEO settings.", 'all_in_one_seo_pack' ),
179
- "custom_menu_order" => __( "Check this to move the All in One SEO Pack menu item to the top of your WordPress Dashboard menu.", 'all_in_one_seo_pack' ),
180
- "google_verify" => __( "Enter your verification code here to verify your site with Google Webmaster Tools.<br /><a href='http://semperplugins.com/documentation/google-webmaster-tools-verification/' target='_blank'>Click here for documentation on this setting</a>", 'all_in_one_seo_pack' ),
181
- "bing_verify" => __( "Enter your verification code here to verify your site with Bing Webmaster Tools.<br /><a href='http://semperplugins.com/documentation/bing-webmaster-verification/' target='_blank'>Click here for documentation on this setting</a>", 'all_in_one_seo_pack' ),
182
- "pinterest_verify" => __( "Enter your verification code here to verify your site with Pinterest.<br /><a href='http://semperplugins.com/documentation/pinterest-site-verification/' target='_blank'>Click here for documentation on this setting</a>", 'all_in_one_seo_pack' ),
183
- "google_publisher" => __( "Enter your Google+ Profile URL here to add the rel=“author” tag to your site for Google authorship. It is recommended that the URL you enter here should be your personal Google+ profile. Use the Advanced Authorship Options below if you want greater control over the use of authorship.", 'all_in_one_seo_pack' ),
184
- "google_disable_profile"=> __( "Check this to remove the Google Plus field from the user profile screen.", 'all_in_one_seo_pack' ),
185
- "google_author_advanced"=> __( "Enable this to display advanced options for controlling Google Plus authorship information on your website.", 'all_in_one_seo_pack' ),
186
- "google_author_location"=> __( "This option allows you to control which types of pages you want to display rel=\"author\" on for Google authorship. The options include the Front Page (the homepage of your site), Posts, Pages, and any Custom Post Types. The Everywhere Else option includes 404, search, categories, tags, custom taxonomies, date archives, author archives and any other page template.", 'all_in_one_seo_pack' ),
187
- "google_enable_publisher"=> __( "This option allows you to control whether rel=\"publisher\" is displayed on the homepage of your site. Google recommends using this if the site is a business website.", 'all_in_one_seo_pack' ),
188
- "google_specify_publisher"=> __( "The Google+ profile you enter here will appear on your homepage only as the rel=\"publisher\" tag. It is recommended that the URL you enter here should be the Google+ profile for your business.", 'all_in_one_seo_pack' ),
189
- "google_sitelinks_search"=> __( "Add markup to display the Google Sitelinks Search Box next to your search results in Google.", 'all_in_one_seo_pack' ),
190
- "google_set_site_name" => __( "Add markup to tell Google the preferred name for your website.", 'all_in_one_seo_pack' ),
191
- "google_connect" => __( "Press the connect button to connect with Google Analytics; or if already connected, press the disconnect button to disable and remove any stored analytics credentials.", 'all_in_one_seo_pack' ),
192
- "google_analytics_id" => __( "Enter your Google Analytics ID here to track visitor behavior on your site using Google Analytics.", 'all_in_one_seo_pack' ),
193
- "ga_use_universal_analytics" => __( "Use the new Universal Analytics tracking code for Google Analytics.", 'all_in_one_seo_pack' ),
194
- "ga_advanced_options" => __( "Check to use advanced Google Analytics options.", 'all_in_one_seo_pack' ),
195
- "ga_domain" => __( "Enter your domain name without the http:// to set your cookie domain.", 'all_in_one_seo_pack' ),
196
- "ga_multi_domain" => __( "Use this option to enable tracking of multiple or additional domains.", 'all_in_one_seo_pack' ),
197
- "ga_addl_domains" => __( "Add a list of additional domains to track here. Enter one domain name per line without the http://.", 'all_in_one_seo_pack' ),
198
- "ga_anonymize_ip" => __( "This enables support for IP Anonymization in Google Analytics.", 'all_in_one_seo_pack' ),
199
- "ga_display_advertising"=> __( "This enables support for the Display Advertiser Features in Google Analytics.", 'all_in_one_seo_pack' ),
200
- "ga_exclude_users" => __( "Exclude logged-in users from Google Analytics tracking by role.", 'all_in_one_seo_pack' ),
201
- "ga_track_outbound_links"=> __( "Check this if you want to track outbound links with Google Analytics.", 'all_in_one_seo_pack' ),
202
- "ga_link_attribution"=> __( "This enables support for the Enhanced Link Attribution in Google Analytics.", 'all_in_one_seo_pack' ),
203
- "ga_enhanced_ecommerce" => __( "This enables support for the Enhanced Ecommerce in Google Analytics.", 'all_in_one_seo_pack' ),
204
- "cpostnoindex" => __( "Set the default NOINDEX setting for each Post Type.", 'all_in_one_seo_pack' ),
205
- "cpostnofollow" => __( "Set the default NOFOLLOW setting for each Post Type.", 'all_in_one_seo_pack' ),
206
- "category_noindex" => __( "Check this to ask search engines not to index Category Archives. Useful for avoiding duplicate content.", 'all_in_one_seo_pack' ),
207
- "archive_date_noindex" => __( "Check this to ask search engines not to index Date Archives. Useful for avoiding duplicate content.", 'all_in_one_seo_pack' ),
208
- "archive_author_noindex"=> __( "Check this to ask search engines not to index Author Archives. Useful for avoiding duplicate content.", 'all_in_one_seo_pack' ),
209
- "tags_noindex" => __( "Check this to ask search engines not to index Tag Archives. Useful for avoiding duplicate content.", 'all_in_one_seo_pack' ),
210
- "search_noindex" => __( "Check this to ask search engines not to index the Search page. Useful for avoiding duplicate content.", 'all_in_one_seo_pack' ),
211
- "404_noindex" => __( "Check this to ask search engines not to index the 404 page.", 'all_in_one_seo_pack' ),
212
- "tax_noindex" => __( "Check this to ask search engines not to index custom Taxonomy archive pages. Useful for avoiding duplicate content.", 'all_in_one_seo_pack' ),
213
- "paginated_noindex" => __( "Check this to ask search engines not to index paginated pages/posts. Useful for avoiding duplicate content.", 'all_in_one_seo_pack' ),
214
- "paginated_nofollow" => __( "Check this to ask search engines not to follow links from paginated pages/posts. Useful for avoiding duplicate content.", 'all_in_one_seo_pack' ),
215
- 'noodp' => __( 'Check this box to ask search engines not to use descriptions from the Open Directory Project for your entire site.', 'all_in_one_seo_pack' ),
216
- 'cpostnoodp' => __( "Set the default noodp setting for each Post Type.", 'all_in_one_seo_pack' ),
217
- 'noydir' => __( 'Check this box to ask Yahoo! not to use descriptions from the Yahoo! directory for your entire site.', 'all_in_one_seo_pack' ),
218
- 'cpostnoydir' => __( "Set the default noydir setting for each Post Type.", 'all_in_one_seo_pack' ),
219
- "skip_excerpt" => __( "Check this and your Meta Descriptions won't be generated from the excerpt.", 'all_in_one_seo_pack' ),
220
- "generate_descriptions" => __( "Check this and your Meta Descriptions will be auto-generated from your excerpt or content.", 'all_in_one_seo_pack' ),
221
- "run_shortcodes" => __( "Check this and shortcodes will get executed for descriptions auto-generated from content.", 'all_in_one_seo_pack' ),
222
- "hide_paginated_descriptions"=> __( "Check this and your Meta Descriptions will be removed from page 2 or later of paginated content.", 'all_in_one_seo_pack' ),
223
- "dont_truncate_descriptions"=> __( "Check this to prevent your Description from being truncated regardless of its length.", 'all_in_one_seo_pack' ),
224
- "schema_markup"=> __( "Check this to support Schema.org markup, i.e., itemprop on supported metadata.", 'all_in_one_seo_pack' ),
225
- "unprotect_meta" => __( "Check this to unprotect internal postmeta fields for use with XMLRPC. If you don't know what that is, leave it unchecked.", 'all_in_one_seo_pack' ),
226
- "ex_pages" => __( "Enter a comma separated list of pages here to be excluded by All in One SEO Pack. This is helpful when using plugins which generate their own non-WordPress dynamic pages. Ex: <em>/forum/, /contact/</em> For instance, if you want to exclude the virtual pages generated by a forum plugin, all you have to do is add forum or /forum or /forum/ or and any URL with the word \"forum\" in it, such as http://mysite.com/forum or http://mysite.com/forum/someforumpage here and it will be excluded from All in One SEO Pack.", 'all_in_one_seo_pack' ),
227
- "post_meta_tags" => __( "What you enter here will be copied verbatim to the header of all Posts. You can enter whatever additional headers you want here, even references to stylesheets.", 'all_in_one_seo_pack' ),
228
- "page_meta_tags" => __( "What you enter here will be copied verbatim to the header of all Pages. You can enter whatever additional headers you want here, even references to stylesheets.", 'all_in_one_seo_pack' ),
229
- "front_meta_tags" => __( "What you enter here will be copied verbatim to the header of the front page if you have set a static page in Settings, Reading, Front Page Displays. You can enter whatever additional headers you want here, even references to stylesheets. This will fall back to using Additional Page Headers if you have them set and nothing is entered here.", 'all_in_one_seo_pack' ),
230
- "home_meta_tags" => __( "What you enter here will be copied verbatim to the header of the home page if you have Front page displays your latest posts selected in Settings, Reading.  It will also be copied verbatim to the header on the Posts page if you have one set in Settings, Reading. You can enter whatever additional headers you want here, even references to stylesheets.", 'all_in_one_seo_pack' ),
231
  );
232
 
233
  $this->help_anchors = Array(
@@ -300,387 +300,387 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
300
  );
301
 
302
  $meta_help_text = Array(
303
- 'snippet' => __( 'A preview of what this page might look like in search engine results.', 'all_in_one_seo_pack' ),
304
- 'title' => __( 'A custom title that shows up in the title tag for this page.', 'all_in_one_seo_pack' ),
305
- 'description' => __( 'The META description for this page. This will override any autogenerated descriptions.', 'all_in_one_seo_pack' ),
306
- 'keywords' => __( 'A comma separated list of your most important keywords for this page that will be written as META keywords.', 'all_in_one_seo_pack' ),
307
- 'custom_link' => __( "Override the canonical URLs for this post.", 'all_in_one_seo_pack'),
308
- 'noindex' => __( 'Check this box to ask search engines not to index this page.', 'all_in_one_seo_pack' ),
309
- 'nofollow' => __( 'Check this box to ask search engines not to follow links from this page.', 'all_in_one_seo_pack' ),
310
- 'noodp' => __( 'Check this box to ask search engines not to use descriptions from the Open Directory Project for this page.', 'all_in_one_seo_pack' ),
311
- 'noydir' => __( 'Check this box to ask Yahoo! not to use descriptions from the Yahoo! directory for this page.', 'all_in_one_seo_pack' ),
312
- 'titleatr' => __( 'Set the title attribute for menu links.', 'all_in_one_seo_pack' ),
313
- 'menulabel' => __( 'Set the label for this page menu item.', 'all_in_one_seo_pack' ),
314
- 'sitemap_exclude' => __( "Don't display this page in the sitemap.", 'all_in_one_seo_pack' ),
315
- 'disable' => __( 'Disable SEO on this page.', 'all_in_one_seo_pack' ),
316
- 'disable_analytics' => __( 'Disable Google Analytics on this page.', 'all_in_one_seo_pack' )
317
  );
318
 
319
  $this->default_options = array(
320
  "donate" => Array(
321
- 'name' => __( 'I enjoy this plugin and have made a donation:', 'all_in_one_seo_pack' ) ),
322
  "home_title"=> Array(
323
- 'name' => __( 'Home Title:', 'all_in_one_seo_pack' ),
324
  'default' => null, 'type' => 'textarea', 'sanitize' => 'text',
325
  'count' => true, 'rows' => 1, 'cols' => 60,
326
  'condshow' => Array( "aiosp_use_static_home_info" => 0 ) ),
327
  "home_description"=> Array(
328
- 'name' => __( 'Home Description:', 'all_in_one_seo_pack' ),
329
  'default' => '', 'type' => 'textarea', 'sanitize' => 'text',
330
  'count' => true, 'cols' => 80, 'rows' => 2,
331
  'condshow' => Array( "aiosp_use_static_home_info" => 0 ) ),
332
  "togglekeywords" => Array(
333
- 'name' => __( 'Use Keywords:', 'all_in_one_seo_pack' ),
334
  'default' => 0,
335
  'type' => 'radio',
336
- 'initial_options' => Array( 0 => __( 'Enabled', 'all_in_one_seo_pack' ),
337
- 1 => __( 'Disabled', 'all_in_one_seo_pack' ) )
338
  ),
339
  "home_keywords"=> Array(
340
- 'name' => __( 'Home Keywords (comma separated):', 'all_in_one_seo_pack' ),
341
  'default' => null, 'type' => 'textarea', 'sanitize' => 'text',
342
  'condshow' => Array( "aiosp_togglekeywords" => 0, "aiosp_use_static_home_info" => 0 ) ),
343
  "use_static_home_info" => Array(
344
- 'name' => __( "Use Static Front Page Instead", 'all_in_one_seo_pack' ),
345
  'default' => 0,
346
  'type' => 'radio',
347
- 'initial_options' => Array( 1 => __( 'Enabled', 'all_in_one_seo_pack' ),
348
- 0 => __( 'Disabled', 'all_in_one_seo_pack' ) )
349
  ),
350
  "can"=> Array(
351
- 'name' => __( 'Canonical URLs:', 'all_in_one_seo_pack' ),
352
  'default' => 1),
353
  "no_paged_canonical_links"=> Array(
354
- 'name' => __( 'No Pagination for Canonical URLs:', 'all_in_one_seo_pack' ),
355
  'default' => 0,
356
  'condshow' => Array( "aiosp_can" => 'on' ) ),
357
  "customize_canonical_links" => Array(
358
- 'name' => __( 'Enable Custom Canonical URLs:', 'all_in_one_seo_pack' ),
359
  'default' => 0,
360
  'condshow' => Array( "aiosp_can" => 'on' ) ),
361
  "can_set_protocol" => Array(
362
- 'name' => __( 'Set Protocol For Canonical URLs:', 'all_in_one_seo_pack' ),
363
  'type' => 'radio',
364
  'default' => 'auto',
365
- 'initial_options' => Array( 'auto' => __( 'Auto', 'all_in_one_seo_pack' ),
366
- 'http' => __( 'HTTP', 'all_in_one_seo_pack' ),
367
- 'https' => __( 'HTTPS', 'all_in_one_seo_pack' ) ),
368
  'condshow' => Array( "aiosp_can" => 'on' )
369
  ),
370
  "rewrite_titles"=> Array(
371
- 'name' => __( 'Rewrite Titles:', 'all_in_one_seo_pack' ),
372
  'default' => 1,
373
  'type' => 'radio',
374
- 'initial_options' => Array( 1 => __( 'Enabled', 'all_in_one_seo_pack' ),
375
- 0 => __( 'Disabled', 'all_in_one_seo_pack' ) )
376
  ),
377
  "force_rewrites"=> Array(
378
- 'name' => __( 'Force Rewrites:', 'all_in_one_seo_pack' ),
379
  'default' => 1,
380
  'type' => 'hidden',
381
  'prefix' => $this->prefix,
382
- 'initial_options' => Array( 1 => __( 'Enabled', 'all_in_one_seo_pack' ),
383
- 0 => __( 'Disabled', 'all_in_one_seo_pack' ) )
384
  ),
385
  "use_original_title"=> Array(
386
- 'name' => __( 'Use Original Title:', 'all_in_one_seo_pack' ),
387
  'type' => 'radio',
388
  'default' => 0,
389
- 'initial_options' => Array( 1 => __( 'Enabled', 'all_in_one_seo_pack' ),
390
- 0 => __( 'Disabled', 'all_in_one_seo_pack' ) )
391
  ),
392
  "cap_titles"=> Array(
393
- 'name' => __( 'Capitalize Titles:', 'all_in_one_seo_pack' ), 'default' => 1),
394
  "cap_cats"=> Array(
395
- 'name' => __( 'Capitalize Category Titles:', 'all_in_one_seo_pack' ), 'default' => 1),
396
  "home_page_title_format"=> Array(
397
- 'name' => __( 'Home Page Title Format:', 'all_in_one_seo_pack' ),
398
  'type' => 'text', 'default' => '%page_title%',
399
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
400
  "page_title_format"=> Array(
401
- 'name' => __( 'Page Title Format:', 'all_in_one_seo_pack' ),
402
  'type' => 'text', 'default' => '%page_title% | %blog_title%',
403
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
404
  "post_title_format"=> Array(
405
- 'name' => __( 'Post Title Format:', 'all_in_one_seo_pack' ),
406
  'type' => 'text', 'default' => '%post_title% | %blog_title%',
407
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
408
  "category_title_format"=> Array(
409
- 'name' => __( 'Category Title Format:', 'all_in_one_seo_pack' ),
410
  'type' => 'text', 'default' => '%category_title% | %blog_title%',
411
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
412
  "archive_title_format"=> Array(
413
- 'name' => __( 'Archive Title Format:', 'all_in_one_seo_pack' ),
414
  'type' => 'text', 'default' => '%archive_title% | %blog_title%',
415
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
416
  "date_title_format"=> Array(
417
- 'name' => __( 'Date Archive Title Format:', 'all_in_one_seo_pack' ),
418
  'type' => 'text', 'default' => '%date% | %blog_title%',
419
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
420
  "author_title_format"=> Array(
421
- 'name' => __( 'Author Archive Title Format:', 'all_in_one_seo_pack' ),
422
  'type' => 'text', 'default' => '%author% | %blog_title%',
423
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
424
  "tag_title_format"=> Array(
425
- 'name' => __( 'Tag Title Format:', 'all_in_one_seo_pack' ),
426
  'type' => 'text', 'default' => '%tag% | %blog_title%',
427
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
428
  "search_title_format"=> Array(
429
- 'name' => __( 'Search Title Format:', 'all_in_one_seo_pack' ),
430
  'type' => 'text', 'default' => '%search% | %blog_title%',
431
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
432
  "description_format"=> Array(
433
- 'name' => __( 'Description Format', 'all_in_one_seo_pack' ),
434
  'type' => 'text', 'default' => '%description%',
435
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
436
  "404_title_format"=> Array(
437
- 'name' => __( '404 Title Format:', 'all_in_one_seo_pack' ),
438
  'type' => 'text', 'default' => 'Nothing found for %request_words%',
439
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
440
  "paged_format"=> Array(
441
- 'name' => __( 'Paged Format:', 'all_in_one_seo_pack' ),
442
  'type' => 'text', 'default' => ' - Part %page%',
443
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
444
  "enablecpost"=> Array(
445
- 'name' => __( 'SEO for Custom Post Types:', 'all_in_one_seo_pack' ),
446
  'default' => 'on',
447
  'type' => 'radio',
448
- 'initial_options' => Array( 'on' => __( 'Enabled', 'all_in_one_seo_pack' ),
449
- 0 => __( 'Disabled', 'all_in_one_seo_pack' ) )
450
  ),
451
  "cpostactive" => Array(
452
- 'name' => __( 'SEO on only these post types:', 'all_in_one_seo_pack' ),
453
  'type' => 'multicheckbox', 'default' => array('post', 'page'),
454
  'condshow' => Array( 'aiosp_enablecpost' => 'on' )
455
  ),
456
  "cpostadvanced" => Array(
457
- 'name' => __( 'Enable Advanced Options:', 'all_in_one_seo_pack' ),
458
  'default' => 0, 'type' => 'radio',
459
- 'initial_options' => Array( 'on' => __( 'Enabled', 'all_in_one_seo_pack' ),
460
- 0 => __( 'Disabled', 'all_in_one_seo_pack' ) ),
461
  'label' => null,
462
  'condshow' => Array( "aiosp_enablecpost" => 'on' )
463
  ),
464
  "cpostnoindex" => Array(
465
- 'name' => __( 'Default to NOINDEX:', 'all_in_one_seo_pack' ),
466
  'type' => 'multicheckbox', 'default' => array(),
467
- 'condshow' => Array( 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on' )
468
  ),
469
  "cpostnofollow" => Array(
470
- 'name' => __( 'Default to NOFOLLOW:', 'all_in_one_seo_pack' ),
471
  'type' => 'multicheckbox', 'default' => array(),
472
- 'condshow' => Array( 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on' )
473
  ),
474
  "cpostnoodp"=> Array(
475
- 'name' => __( 'Default to NOODP:', 'all_in_one_seo_pack' ),
476
  'type' => 'multicheckbox', 'default' => array(),
477
- 'condshow' => Array( 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on' )
478
  ),
479
  "cpostnoydir"=> Array(
480
- 'name' => __( 'Default to NOYDIR:', 'all_in_one_seo_pack' ),
481
  'type' => 'multicheckbox', 'default' => array(),
482
- 'condshow' => Array( 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on' )
483
  ),
484
  "cposttitles" => Array(
485
- 'name' => __( 'Custom titles:', 'all_in_one_seo_pack' ),
486
  'type' => 'checkbox', 'default' => 0,
487
  'condshow' => Array( "aiosp_rewrite_titles" => 1, 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on' )
488
  ),
489
  "posttypecolumns" => Array(
490
- 'name' => __( 'Show Column Labels for Custom Post Types:', 'all_in_one_seo_pack' ),
491
  'type' => 'multicheckbox', 'default' => array('post', 'page') ),
492
  "admin_bar" => Array(
493
- 'name' => __( 'Display Menu In Admin Bar:', 'all_in_one_seo_pack' ), 'default' => 'on',
494
  ),
495
  "custom_menu_order" => Array(
496
- 'name' => __( 'Display Menu At The Top:', 'all_in_one_seo_pack' ), 'default' => 'on',
497
  ),
498
  "google_verify" => Array(
499
- 'name' => __( 'Google Webmaster Tools:', 'all_in_one_seo_pack' ), 'default' => '', 'type' => 'text'
500
  ),
501
  "bing_verify" => Array(
502
- 'name' => __( 'Bing Webmaster Center:', 'all_in_one_seo_pack' ), 'default' => '', 'type' => 'text'
503
  ),
504
  "pinterest_verify" => Array(
505
- 'name' => __( 'Pinterest Site Verification:', 'all_in_one_seo_pack' ), 'default' => '', 'type' => 'text'
506
  ),
507
  "google_publisher"=> Array(
508
- 'name' => __( 'Google Plus Default Profile:', 'all_in_one_seo_pack' ), 'default' => '', 'type' => 'text'
509
  ),
510
  "google_disable_profile"=> Array(
511
- 'name' => __( 'Disable Google Plus Profile:', 'all_in_one_seo_pack' ), 'default' => 0, 'type' => 'checkbox'
512
  ),
513
  "google_sitelinks_search" => Array(
514
- 'name' => __( 'Display Sitelinks Search Box:', 'all_in_one_seo_pack' )
515
  ),
516
  "google_set_site_name" => Array(
517
- 'name' => __( 'Set Preferred Site Name:', 'all_in_one_seo_pack' )
518
  ),
519
  "google_specify_site_name" => Array(
520
- 'name' => __( 'Specify A Preferred Name:', 'all_in_one_seo_pack' ),
521
  'type' => 'text',
522
  'placeholder' => $blog_name,
523
  'condshow' => Array( 'aiosp_google_set_site_name' => 'on' )
524
  ),
525
  "google_author_advanced" => Array(
526
- 'name' => __( 'Advanced Authorship Options:', 'all_in_one_seo_pack' ),
527
  'default' => 0, 'type' => 'radio',
528
- 'initial_options' => Array( 'on' => __( 'Enabled', 'all_in_one_seo_pack' ),
529
- 0 => __( 'Disabled', 'all_in_one_seo_pack' ) ),
530
  'label' => null
531
  ),
532
  "google_author_location"=> Array(
533
- 'name' => __( 'Display Google Authorship:', 'all_in_one_seo_pack' ), 'default' => array( 'all' ), 'type' => 'multicheckbox',
534
  'condshow' => Array( 'aiosp_google_author_advanced' => 'on' )
535
  ),
536
  "google_enable_publisher" => Array(
537
- 'name' => __( 'Display Publisher Meta on Front Page:', 'all_in_one_seo_pack' ),
538
  'default' => 'on', 'type' => 'radio',
539
- 'initial_options' => Array( 'on' => __( 'Enabled', 'all_in_one_seo_pack' ),
540
- 0 => __( 'Disabled', 'all_in_one_seo_pack' ) ),
541
  'condshow' => Array( 'aiosp_google_author_advanced' => 'on' )
542
  ),
543
  "google_specify_publisher" => Array(
544
- 'name' => __( 'Specify Publisher URL:', 'all_in_one_seo_pack' ), 'type' => 'text',
545
  'condshow' => Array( 'aiosp_google_author_advanced' => 'on', 'aiosp_google_enable_publisher' => 'on' )
546
  ),
547
- // "google_connect"=>Array( 'name' => __( 'Connect With Google Analytics', 'all_in_one_seo_pack' ), ),
548
  "google_analytics_id"=> Array(
549
- 'name' => __( 'Google Analytics ID:', 'all_in_one_seo_pack' ),
550
  'default' => null, 'type' => 'text', 'placeholder' => 'UA-########-#' ),
551
  "ga_use_universal_analytics" => Array(
552
- 'name' => __( 'Use Universal Analytics:', 'all_in_one_seo_pack' ),
553
  'default' => 0,
554
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ) ) ),
555
  "ga_advanced_options"=> Array(
556
- 'name' => __( 'Advanced Analytics Options:', 'all_in_one_seo_pack' ),
557
  'default' => 'on',
558
  'type' => 'radio',
559
- 'initial_options' => Array( 'on' => __( 'Enabled', 'all_in_one_seo_pack' ),
560
- 0 => __( 'Disabled', 'all_in_one_seo_pack' ) ),
561
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ) ) ),
562
  "ga_domain"=> Array(
563
- 'name' => __( 'Tracking Domain:', 'all_in_one_seo_pack' ),
564
  'type' => 'text',
565
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on') ),
566
  "ga_multi_domain"=> Array(
567
- 'name' => __( 'Track Multiple Domains:', 'all_in_one_seo_pack' ),
568
  'default' => 0,
569
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
570
  "ga_addl_domains" => Array(
571
- 'name' => __( 'Additional Domains:', 'all_in_one_seo_pack' ),
572
  'type' => 'textarea',
573
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on', 'aiosp_ga_multi_domain' => 'on' ) ),
574
  "ga_anonymize_ip"=> Array(
575
- 'name' => __( 'Anonymize IP Addresses:', 'all_in_one_seo_pack' ),
576
  'type' => 'checkbox',
577
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
578
  "ga_display_advertising"=> Array(
579
- 'name' => __( 'Display Advertiser Tracking:', 'all_in_one_seo_pack' ),
580
  'type' => 'checkbox',
581
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
582
  "ga_exclude_users"=> Array(
583
- 'name' => __( 'Exclude Users From Tracking:', 'all_in_one_seo_pack' ),
584
  'type' => 'multicheckbox',
585
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
586
  "ga_track_outbound_links"=> Array(
587
- 'name' => __( 'Track Outbound Links:', 'all_in_one_seo_pack' ),
588
  'default' => 0,
589
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
590
  "ga_link_attribution"=> Array(
591
- 'name' => __( 'Enhanced Link Attribution:', 'all_in_one_seo_pack' ),
592
  'default' => 0,
593
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
594
  "ga_enhanced_ecommerce"=> Array(
595
- 'name' => __( 'Enhanced Ecommerce:', 'all_in_one_seo_pack' ),
596
  'default' => 0,
597
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_use_universal_analytics' => 'on', 'aiosp_ga_advanced_options' => 'on' ) ),
598
  "use_categories"=> Array(
599
- 'name' => __( 'Use Categories for META keywords:', 'all_in_one_seo_pack' ),
600
  'default' => 0,
601
  'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
602
  "use_tags_as_keywords" => Array(
603
- 'name' => __( 'Use Tags for META keywords:', 'all_in_one_seo_pack' ),
604
  'default' => 1,
605
  'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
606
  "dynamic_postspage_keywords"=> Array(
607
- 'name' => __( 'Dynamically Generate Keywords for Posts Page/Archives:', 'all_in_one_seo_pack' ),
608
  'default' => 1,
609
  'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
610
  "category_noindex"=> Array(
611
- 'name' => __( 'Use noindex for Categories:', 'all_in_one_seo_pack' ),
612
  'default' => 1),
613
  "archive_date_noindex"=> Array(
614
- 'name' => __( 'Use noindex for Date Archives:', 'all_in_one_seo_pack' ),
615
  'default' => 1),
616
  "archive_author_noindex"=> Array(
617
- 'name' => __( 'Use noindex for Author Archives:', 'all_in_one_seo_pack' ),
618
  'default' => 1),
619
  "tags_noindex"=> Array(
620
- 'name' => __( 'Use noindex for Tag Archives:', 'all_in_one_seo_pack' ),
621
  'default' => 0),
622
  "search_noindex"=> Array(
623
- 'name' => __( 'Use noindex for the Search page:', 'all_in_one_seo_pack' ),
624
  'default' => 0),
625
  "404_noindex"=> Array(
626
- 'name' => __( 'Use noindex for the 404 page:', 'all_in_one_seo_pack' ),
627
  'default' => 0),
628
  "tax_noindex"=> Array(
629
- 'name' => __( 'Use noindex for Taxonomy Archives:', 'all_in_one_seo_pack' ),
630
  'type' => 'multicheckbox', 'default' => array(),
631
  'condshow' => Array( 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on' )
632
  ),
633
  "paginated_noindex" => Array(
634
- 'name' => __( 'Use noindex for paginated pages/posts:', 'all_in_one_seo_pack' ),
635
  'default' => 0),
636
  "paginated_nofollow"=> Array(
637
- 'name' => __( 'Use nofollow for paginated pages/posts:', 'all_in_one_seo_pack' ),
638
  'default' => 0),
639
  "noodp"=> Array(
640
- 'name' => __( 'Exclude site from the Open Directory Project:', 'all_in_one_seo_pack' ),
641
  'default' => 0),
642
  "noydir"=> Array(
643
- 'name' => __( 'Exclude site from Yahoo! Directory:', 'all_in_one_seo_pack' ),
644
  'default' => 0),
645
  "skip_excerpt"=> Array(
646
- 'name' => __( 'Avoid Using The Excerpt In Descriptions:', 'all_in_one_seo_pack' ),
647
  'default' => 0 ),
648
  "generate_descriptions"=> Array(
649
- 'name' => __( 'Autogenerate Descriptions:', 'all_in_one_seo_pack' ),
650
  'default' => 1),
651
  "run_shortcodes"=> Array(
652
- 'name' => __( 'Run Shortcodes In Autogenerated Descriptions:', 'all_in_one_seo_pack' ),
653
  'default' => 0,
654
  'condshow' => Array( 'aiosp_generate_descriptions' => 'on' ) ),
655
  "hide_paginated_descriptions"=> Array(
656
- 'name' => __( 'Remove Descriptions For Paginated Pages:', 'all_in_one_seo_pack' ),
657
  'default' => 0),
658
  "dont_truncate_descriptions"=> Array(
659
- 'name' => __( 'Never Shorten Long Descriptions:', 'all_in_one_seo_pack' ),
660
  'default' => 0),
661
  "schema_markup"=> Array(
662
- 'name' => __( 'Use Schema.org Markup', 'all_in_one_seo_pack' ),
663
  'default' => 1),
664
  "unprotect_meta"=> Array(
665
- 'name' => __( 'Unprotect Post Meta Fields:', 'all_in_one_seo_pack' ),
666
  'default' => 0),
667
  "ex_pages" => Array(
668
- 'name' => __( 'Exclude Pages:', 'all_in_one_seo_pack' ),
669
  'type' => 'textarea', 'default' => '' ),
670
  "post_meta_tags"=> Array(
671
- 'name' => __( 'Additional Post Headers:', 'all_in_one_seo_pack' ),
672
  'type' => 'textarea', 'default' => '', 'sanitize' => 'default' ),
673
  "page_meta_tags"=> Array(
674
- 'name' => __( 'Additional Page Headers:', 'all_in_one_seo_pack' ),
675
  'type' => 'textarea', 'default' => '', 'sanitize' => 'default' ),
676
  "front_meta_tags"=> Array(
677
- 'name' => __( 'Additional Front Page Headers:', 'all_in_one_seo_pack' ),
678
  'type' => 'textarea', 'default' => '', 'sanitize' => 'default' ),
679
  "home_meta_tags"=> Array(
680
- 'name' => __( 'Additional Blog Page Headers:', 'all_in_one_seo_pack' ),
681
  'type' => 'textarea', 'default' => '', 'sanitize' => 'default' ),
682
  "do_log"=> Array(
683
- 'name' => __( 'Log important events:', 'all_in_one_seo_pack' ),
684
  'default' => null ),
685
  );
686
 
@@ -693,9 +693,9 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
693
  'nonce-aioseop-edit' => Array( 'type' => 'hidden', 'default' => null, 'prefix' => false, 'nowrap' => 1 ),
694
  'upgrade' => Array( 'type' => 'html', 'label' => 'none',
695
  'default' => '<a target="__blank" href="http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=meta">'
696
- . __( 'Upgrade to All in One SEO Pack Pro Version', 'all_in_one_seo_pack' ) . '</a>'
697
  ),
698
- 'snippet' => Array( 'name' => __( 'Preview Snippet', 'all_in_one_seo_pack' ), 'type' => 'custom', 'label' => 'top',
699
  'default' => '
700
  <script>
701
  jQuery(document).ready(function() {
@@ -708,20 +708,20 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
708
  });
709
  </script>
710
  <div class="preview_snippet"><div id="aioseop_snippet"><h3><a>%s</a></h3><div><div><cite id="aioseop_snippet_link">%s</cite></div><span id="aioseop_snippet_description">%s</span></div></div></div>' ),
711
- 'title' => Array( 'name' => __( 'Title', 'all_in_one_seo_pack' ), 'type' => 'text', 'count' => true, 'size' => 60 ),
712
- 'description' => Array( 'name' => __( 'Description', 'all_in_one_seo_pack' ), 'type' => 'textarea', 'count' => true, 'cols' => 80, 'rows' => 2 ),
713
 
714
- 'keywords' => Array( 'name' => __( 'Keywords (comma separated)', 'all_in_one_seo_pack' ), 'type' => 'text' ),
715
- 'custom_link' => Array( 'name' => __( 'Custom Canonical URL', 'all_in_one_seo_pack' ), 'type' => 'text', 'size' => 60 ),
716
- 'noindex' => Array( 'name' => __( "Robots Meta NOINDEX", 'all_in_one_seo_pack' ), 'default' => '' ),
717
- 'nofollow' => Array( 'name' => __( "Robots Meta NOFOLLOW", 'all_in_one_seo_pack' ), 'default' => '' ),
718
- 'noodp' => Array( 'name' => __( "Robots Meta NOODP", 'all_in_one_seo_pack' ) ),
719
- 'noydir' => Array( 'name' => __( "Robots Meta NOYDIR", 'all_in_one_seo_pack' ) ),
720
- 'titleatr' => Array( 'name' => __( 'Title Attribute', 'all_in_one_seo_pack' ), 'type' => 'text', 'size' => 60 ),
721
- 'menulabel' => Array( 'name' => __( 'Menu Label', 'all_in_one_seo_pack' ), 'type' => 'text', 'size' => 60 ),
722
- 'sitemap_exclude' => Array( 'name' => __( 'Exclude From Sitemap', 'all_in_one_seo_pack' ) ),
723
- 'disable' => Array( 'name' => __( 'Disable on this page/post', 'all_in_one_seo_pack' ) ),
724
- 'disable_analytics' => Array( 'name' => __( 'Disable Google Analytics', 'all_in_one_seo_pack' ), 'condshow' => Array( 'aiosp_disable' => 'on' ) ) ),
725
  'display' => null )
726
  );
727
 
@@ -731,55 +731,55 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
731
 
732
  $this->layout = Array(
733
  'default' => Array(
734
- 'name' => __( 'General Settings', 'all_in_one_seo_pack' ),
735
  'help_link' => 'http://semperplugins.com/documentation/general-settings/',
736
  'options' => Array() // this is set below, to the remaining options -- pdb
737
  ),
738
  'home' => Array(
739
- 'name' => __( 'Home Page Settings', 'all_in_one_seo_pack' ),
740
  'help_link' => 'http://semperplugins.com/documentation/home-page-settings/',
741
  'options' => Array( 'home_title', 'home_description', 'home_keywords', 'use_static_home_info' )
742
  ),
743
  'keywords' => Array(
744
- 'name' => __( 'Keyword Settings', 'all_in_one_seo_pack' ),
745
  'help_link' => 'http://semperplugins.com/documentation/keyword-settings/',
746
  'options' => Array( "togglekeywords", "use_categories", "use_tags_as_keywords", "dynamic_postspage_keywords" )
747
  ),
748
  'title' => Array(
749
- 'name' => __( 'Title Settings', 'all_in_one_seo_pack' ),
750
  'help_link' => 'http://semperplugins.com/documentation/title-settings/',
751
  'options' => Array( "rewrite_titles", "force_rewrites", "cap_titles", "cap_cats", "home_page_title_format", "page_title_format", "post_title_format", "category_title_format", "archive_title_format", "date_title_format", "author_title_format",
752
  "tag_title_format", "search_title_format", "description_format", "404_title_format", "paged_format" )
753
  ),
754
  'cpt' => Array(
755
- 'name' => __( 'Custom Post Type Settings', 'all_in_one_seo_pack' ),
756
  'help_link' => 'http://semperplugins.com/documentation/custom-post-type-settings/',
757
  'options' => Array( "enablecpost", "cpostadvanced", "cpostactive", "cposttitles" )
758
  ),
759
  'display' => Array(
760
- 'name' => __( 'Display Settings', 'all_in_one_seo_pack' ),
761
  'help_link' => 'http://semperplugins.com/documentation/display-settings/',
762
  'options' => Array( "posttypecolumns", "admin_bar", "custom_menu_order" )
763
  ),
764
  'webmaster' => Array(
765
- 'name' => __( 'Webmaster Verification', 'all_in_one_seo_pack' ),
766
  'help_link' => 'http://semperplugins.com/sections/webmaster-verification/',
767
  'options' => Array( "google_verify", "bing_verify", "pinterest_verify" )
768
  ),
769
  'google' => Array(
770
- 'name' => __( 'Google Settings', 'all_in_one_seo_pack' ),
771
  'help_link' => 'http://semperplugins.com/documentation/google-settings/',
772
  'options' => Array( "google_publisher", "google_disable_profile", "google_sitelinks_search", "google_set_site_name", "google_specify_site_name", "google_author_advanced", "google_author_location", "google_enable_publisher" , "google_specify_publisher",
773
  // "google_connect",
774
  "google_analytics_id", "ga_use_universal_analytics", "ga_advanced_options", "ga_domain", "ga_multi_domain", "ga_addl_domains", "ga_anonymize_ip", "ga_display_advertising", "ga_exclude_users", "ga_track_outbound_links", "ga_link_attribution", "ga_enhanced_ecommerce" )
775
  ),
776
  'noindex' => Array(
777
- 'name' => __( 'Noindex Settings', 'all_in_one_seo_pack' ),
778
  'help_link' => 'http://semperplugins.com/documentation/noindex-settings/',
779
  'options' => Array( 'cpostnoindex', 'cpostnofollow', 'cpostnoodp', 'cpostnoydir', 'category_noindex', 'archive_date_noindex', 'archive_author_noindex', 'tags_noindex', 'search_noindex', '404_noindex', 'tax_noindex', 'paginated_noindex', 'paginated_nofollow', 'noodp', 'noydir' )
780
  ),
781
  'advanced' => Array(
782
- 'name' => __( 'Advanced Settings', 'all_in_one_seo_pack' ),
783
  'help_link' => 'http://semperplugins.com/documentation/advanced-settings/',
784
  'options' => Array( 'generate_descriptions', 'skip_excerpt', 'run_shortcodes', 'hide_paginated_descriptions', 'dont_truncate_descriptions', 'unprotect_meta', 'ex_pages', 'post_meta_tags', 'page_meta_tags', 'front_meta_tags', 'home_meta_tags' )
785
  )
@@ -1078,7 +1078,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1078
  $this->default_options["cpostnoodp"]['initial_options'] = $post_types;
1079
  $this->default_options["cpostnoydir"]['initial_options'] = $post_types;
1080
  $this->default_options["google_author_location"]['initial_options'] = $post_types;
1081
- $this->default_options['google_author_location' ]['initial_options'] = array_merge( Array( 'front' => __( 'Front Page', 'all_in_one_seo_pack' ) ), $post_types, Array( 'all' => __( 'Everywhere Else', 'all_in_one_seo_pack' ) ) );
1082
  $this->default_options["google_author_location"]['default'] = array_keys( $this->default_options["google_author_location"]['initial_options'] );
1083
 
1084
  foreach ( $post_types as $p => $pt ) {
@@ -1086,24 +1086,24 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1086
  $name = $post_objs[$p]->labels->singular_name;
1087
  if ( !isset( $this->default_options[$field] ) ) {
1088
  $this->default_options[$field] = Array (
1089
- 'name' => "$name " . __( 'Title Format:', 'all_in_one_seo_pack' ) . "<br />($p)",
1090
  'type' => 'text',
1091
  'default' => '%post_title% | %blog_title%',
1092
  'condshow' => Array( 'aiosp_rewrite_titles' => 1, 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on', 'aiosp_cposttitles' => 'on', 'aiosp_cpostactive\[\]' => $p )
1093
  );
1094
- $this->help_text[$field] = __( 'The following macros are supported:', 'all_in_one_seo_pack' )
1095
- . '<ul><li>' . __( '%blog_title% - Your blog title', 'all_in_one_seo_pack' ) . '</li><li>' .
1096
- __( '%blog_description% - Your blog description', 'all_in_one_seo_pack' ) . '</li><li>' .
1097
- __( '%post_title% - The original title of the post.', 'all_in_one_seo_pack' ) . '</li><li>';
1098
  $taxes = get_object_taxonomies( $p, 'objects' );
1099
  if ( !empty( $taxes ) )
1100
  foreach( $taxes as $n => $t )
1101
- $this->help_text[$field] .= sprintf( __( "%%tax_%s%% - This post's associated %s taxnomy title", 'all_in_one_seo_pack' ), $n, $t->label ) . '</li><li>';
1102
  $this->help_text[$field] .=
1103
- __( "%post_author_login% - This post's author' login", 'all_in_one_seo_pack' ) . '</li><li>' .
1104
- __( "%post_author_nicename% - This post's author' nicename", 'all_in_one_seo_pack' ) . '</li><li>' .
1105
- __( "%post_author_firstname% - This post's author' first name (capitalized)", 'all_in_one_seo_pack' ) . '</li><li>' .
1106
- __( "%post_author_lastname% - This post's author' last name (capitalized)", 'all_in_one_seo_pack' ) . '</li>' .
1107
  '</ul>';
1108
  $this->help_anchors[$field] = '#custom-titles';
1109
  $this->layout['cpt']['options'][] = $field;
@@ -1130,15 +1130,15 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1130
 
1131
  function add_admin_pointers() {
1132
  $this->pointers['aioseop_menu_220'] = Array( 'pointer_target' => '#toplevel_page_all-in-one-seo-pack-aioseop_class',
1133
- 'pointer_text' => '<h3>' . sprintf( __( 'Welcome to Version %s!', 'all_in_one_seo_pack' ), AIOSEOP_VERSION )
1134
- . '</h3><p>' . __( 'Thank you for running the latest and greatest All in One SEO Pack ever! Please review your settings, as we\'re always adding new features for you!', 'all_in_one_seo_pack' ) . '</p>',
1135
  'pointer_edge' => 'top',
1136
  'pointer_align' => 'left',
1137
  'pointer_scope' => 'global'
1138
  );
1139
  $this->pointers['aioseop_welcome_220'] = Array( 'pointer_target' => '#aioseop_top_button',
1140
- 'pointer_text' => '<h3>' . sprintf( __( 'Review Your Settings', 'all_in_one_seo_pack' ), AIOSEOP_VERSION )
1141
- . '</h3><p>' . __( 'Thank you for running the latest and greatest All in One SEO Pack ever! New since 2.2: Control who accesses your site with the new Robots.txt Editor and File Editor modules! Enable them from the Feature Manager. Remember to review your settings, we have added some new ones!', 'all_in_one_seo_pack' ) . '</p>',
1142
  'pointer_edge' => 'bottom',
1143
  'pointer_align' => 'left',
1144
  'pointer_scope' => 'local'
@@ -1157,8 +1157,8 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1157
  }
1158
 
1159
  function filter_submit( $submit ) {
1160
- $submit['Submit_Default']['value'] = __( 'Reset General Settings to Defaults', 'all_in_one_seo_pack' ) . ' &raquo;';
1161
- $submit['Submit_All_Default'] = Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __( 'Reset ALL Settings to Defaults', 'all_in_one_seo_pack' ) . ' &raquo;' );
1162
  return $submit;
1163
  }
1164
 
@@ -1219,19 +1219,19 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1219
  $post_type = get_post_type( $post );
1220
  if ( !empty( $this->options['aiosp_cpostnoindex'] ) && ( in_array( $post_type, $this->options['aiosp_cpostnoindex'] ) ) ) {
1221
  $settings["{$prefix}noindex"]['type'] = 'select';
1222
- $settings["{$prefix}noindex"]['initial_options'] = Array( '' => __( 'Default - noindex', 'all_in_one_seo_pack' ), 'off' => __( 'index', 'all_in_one_seo_pack' ), 'on' => __( 'noindex', 'all_in_one_seo_pack' ) );
1223
  }
1224
  if ( !empty( $this->options['aiosp_cpostnofollow'] ) && ( in_array( $post_type, $this->options['aiosp_cpostnofollow'] ) ) ) {
1225
  $settings["{$prefix}nofollow"]['type'] = 'select';
1226
- $settings["{$prefix}nofollow"]['initial_options'] = Array( '' => __( 'Default - nofollow', 'all_in_one_seo_pack' ), 'off' => __( 'follow', 'all_in_one_seo_pack' ), 'on' => __( 'nofollow', 'all_in_one_seo_pack' ) );
1227
  }
1228
  if ( !empty( $this->options['aiosp_cpostnoodp'] ) && ( in_array( $post_type, $this->options['aiosp_cpostnoodp'] ) ) ) {
1229
  $settings["{$prefix}noodp"]['type'] = 'select';
1230
- $settings["{$prefix}noodp"]['initial_options'] = Array( '' => __( 'Default - noodp', 'all_in_one_seo_pack' ), 'off' => __( 'odp', 'all_in_one_seo_pack' ), 'on' => __( 'noodp', 'all_in_one_seo_pack' ) );
1231
  }
1232
  if ( !empty( $this->options['aiosp_cpostnoydir'] ) && ( in_array( $post_type, $this->options['aiosp_cpostnoydir'] ) ) ) {
1233
  $settings["{$prefix}noydir"]['type'] = 'select';
1234
- $settings["{$prefix}noydir"]['initial_options'] = Array( '' => __( 'Default - noydir', 'all_in_one_seo_pack' ), 'off' => __( 'ydir', 'all_in_one_seo_pack' ), 'on' => __( 'noydir', 'all_in_one_seo_pack' ) );
1235
  }
1236
  global $post;
1237
  $info = $this->get_page_snippet_info();
@@ -1295,7 +1295,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1295
  switch ( $meta['id'] ) {
1296
  case "aioseop-about":
1297
  ?><div class="aioseop_metabox_text">
1298
- <p><h2 style="display:inline;"><?php echo AIOSEOP_PLUGIN_NAME; ?></h2><?php sprintf( __( "by %s of %s.", 'all_in_one_seo_pack' ), 'Michael Torbert', '<a target="_blank" title="Semper Fi Web Design"
1299
  href="http://semperfiwebdesign.com/">Semper Fi Web Design</a>' ); ?>.</p>
1300
  <?php
1301
  global $current_user;
@@ -1306,13 +1306,13 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1306
  wp_parse_str( $_SERVER["QUERY_STRING"], $qa );
1307
  $qa['aioseop_reset_notices'] = 1;
1308
  $url = '?' . build_query( $qa );
1309
- echo '<p><a href="' . $url . '">' . __( "Reset Dismissed Notices", 'all_in_one_seo_pack' ) . '</a></p>';
1310
  }
1311
  ?>
1312
  <p>
1313
- <strong><a target="_blank" title="<?php _e('Pro Version', 'all_in_one_seo_pack' ); ?>"
1314
  href="http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=side">
1315
- <?php _e('UPGRADE TO PRO VERSION', 'all_in_one_seo_pack' ); ?></a></strong></p>
1316
  </div>
1317
  <?php
1318
  case "aioseop-donate":
@@ -1327,13 +1327,13 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1327
  </div>
1328
 
1329
  <div class="aioseop_metabox_feature">
1330
- <a target="_blank" title="<?php _e( 'Donate', 'all_in_one_seo_pack' ); ?>"
1331
  href="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">
1332
- <img src="<?php echo AIOSEOP_PLUGIN_URL; ?>images/donate.jpg" alt="<?php _e('Donate with Paypal', 'all_in_one_seo_pack' ); ?>" /> </a>
1333
  <a target="_blank" title="Amazon Wish List" href="https://www.amazon.com/wishlist/1NFQ133FNCOOA/ref=wl_web">
1334
- <img src="<?php echo AIOSEOP_PLUGIN_URL; ?>images/amazon.jpg" alt="<?php _e('My Amazon Wish List', 'all_in_one_seo_pack' ); ?>" /> </a>
1335
- <a target="_blank" title="<?php _e( 'Follow us on Facebook', 'all_in_one_seo_pack' ); ?>" href="http://www.facebook.com/pages/Semper-Fi-Web-Design/121878784498475"><span class="aioseop_follow_button aioseop_facebook_follow"></span></a>
1336
- <a target="_blank" title="<?php _e( 'Follow us on Twitter', 'all_in_one_seo_pack' ); ?>" href="http://twitter.com/semperfidev/"><span class="aioseop_follow_button aioseop_twitter_follow"></span></a>
1337
  </div>
1338
 
1339
  </div>
@@ -1344,8 +1344,8 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1344
  <div class="aioseop_metabox_text">
1345
  <form action="http://semperfiwebdesign.us1.list-manage.com/subscribe/post?u=794674d3d54fdd912f961ef14&amp;id=af0a96d3d9"
1346
  method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
1347
- <h2><?php _e( 'Join our mailing list for tips, tricks, and WordPress secrets.', 'all_in_one_seo_pack' ); ?></h2>
1348
- <p><i><?php _e( 'Sign up today and receive a free copy of the e-book 5 SEO Tips for WordPress ($39 value).', 'all_in_one_seo_pack' ); ?></i></p>
1349
  <p><input type="text" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="Email Address">
1350
  <input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="btn"></p>
1351
  </form>
@@ -1354,13 +1354,13 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1354
  break;
1355
  case "aioseop-support":
1356
  ?><div class="aioseop_metabox_text">
1357
- <p><div class="aioseop_icon aioseop_file_icon"></div><a target="_blank" href="http://semperplugins.com/documentation/"><?php _e( 'Read the All in One SEO Pack user guide', 'all_in_one_seo_pack' ); ?></a></p>
1358
- <p><div class="aioseop_icon aioseop_support_icon"></div><a target="_blank" title="<?php _e( 'All in One SEO Pro Plugin Support Forum', 'all_in_one_seo_pack' ); ?>"
1359
- href="http://semperplugins.com/support/"><?php _e( 'Access our Premium Support Forums', 'all_in_one_seo_pack' ); ?></a></p>
1360
- <p><div class="aioseop_icon aioseop_cog_icon"></div><a target="_blank" title="<?php _e( 'All in One SEO Pro Plugin Changelog', 'all_in_one_seo_pack' ); ?>"
1361
- href="http://semperfiwebdesign.com/blog/all-in-one-seo-pack/all-in-one-seo-pack-release-history/"><?php _e( 'View the Changelog', 'all_in_one_seo_pack' ); ?></a></p>
1362
- <p><div class="aioseop_icon aioseop_youtube_icon"></div><a target="_blank" href="http://semperplugins.com/doc-type/video/"><?php _e( 'Watch video tutorials', 'all_in_one_seo_pack' ); ?></a></p>
1363
- <p><div class="aioseop_icon aioseop_book_icon"></div><a target="_blank" href="http://semperplugins.com/documentation/quick-start-guide/"><?php _e( 'Getting started? Read the Beginners Guide', 'all_in_one_seo_pack' ); ?></a></p>
1364
  </div>
1365
  <?php
1366
  break;
@@ -1446,9 +1446,9 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1446
 
1447
  function init() {
1448
  if ( !defined( 'WP_PLUGIN_DIR' ) ) {
1449
- load_plugin_textdomain( 'all_in_one_seo_pack', str_replace( ABSPATH, '', dirname( __FILE__ ) ) );
1450
  } else {
1451
- load_plugin_textdomain( 'all_in_one_seo_pack', false, AIOSEOP_PLUGIN_DIRNAME );
1452
  }
1453
  }
1454
 
@@ -1772,7 +1772,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1772
  static $aioseop_dup_counter = 0;
1773
  $aioseop_dup_counter++;
1774
  if ( $aioseop_dup_counter > 1 ) {
1775
- echo "\n<!-- " . sprintf( __( "Debug Warning: All in One SEO Pack meta data was included again from %s filter. Called %s times!", 'all_in_one_seo_pack' ), current_filter(), $aioseop_dup_counter ) . " -->\n";
1776
  return;
1777
  }
1778
  if ( is_home() && !is_front_page() ) {
@@ -2024,15 +2024,15 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
2024
  $this->default_options["google_connect"]["type"] = 'html';
2025
  $this->default_options["google_connect"]["nolabel"] = 1;
2026
  $this->default_options["google_connect"]["save"] = true;
2027
- $this->default_options["google_connect"]["name"] = __( 'Disconnect From Google Analytics', 'all_in_one_seo_pack' );
2028
- $this->default_options["google_connect"]["default"] = "<input name='aiosp_google_connect' type=submit class='button-primary' value='" . __( 'Remove Stored Credentials', 'all_in_one_seo_pack' ) . "'>";
2029
  add_filter( $this->prefix . 'override_options', Array( $this, 'override_options' ), 10, 3 );
2030
  } else {
2031
  $this->default_options["google_connect"]["type"] = 'html';
2032
  $this->default_options["google_connect"]["nolabel"] = 1;
2033
  $this->default_options["google_connect"]["save"] = false;
2034
  $url = $this->oauth_connect();
2035
- $this->default_options["google_connect"]["default"] = "<a href='{$url}' class='button-primary'>" . __( 'Connect With Google Analytics', 'all_in_one_seo_pack' ) . "</a>";
2036
  foreach ( Array( "token", "secret", "access_token", "ga_token", "account_cache" ) as $v ) {
2037
  if ( !empty( $this->$v) ) $preload["{$this->prefix}{$v}"] = $this->$v;
2038
  }
@@ -2047,7 +2047,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
2047
 
2048
  function oauth_get_data( $oauth_url, $args = null ) {
2049
  if ( !class_exists( 'OAuthConsumer' ) ) require_once( 'OAuth.php' );
2050
- if ( $args === null ) $args = Array( 'scope' => 'https://www.googleapis.com/auth/analytics.readonly', 'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', 'all_in_one_seo_pack' ) );
2051
  $req_token = new OAuthConsumer( $this->token, $this->secret );
2052
  $req = $this->oauth_get_creds( $oauth_url, $req_token, $args );
2053
  return wp_remote_get( $req->to_url() );
@@ -2065,7 +2065,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
2065
 
2066
  function oauth_get_token( $oauth_verifier ) {
2067
  if ( !class_exists( 'OAuthConsumer' ) ) require_once( 'OAuth.php' );
2068
- $args = Array( 'scope' => 'https://www.google.com/analytics/feeds/', 'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', 'all_in_one_seo_pack' ) );
2069
  $args['oauth_verifier'] = $oauth_verifier;
2070
  $oauth_access_token = "https://www.google.com/accounts/OAuthGetAccessToken";
2071
  $reqData = $this->oauth_get_data( $oauth_access_token, $args );
@@ -2097,7 +2097,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
2097
  }
2098
  $args = array(
2099
  'scope' => 'https://www.google.com/analytics/feeds/',
2100
- 'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', 'all_in_one_seo_pack')
2101
  );
2102
  $req_req = $this->oauth_get_creds( $oauth_request_token, NULL, $args, admin_url( "admin.php?page=all-in-one-seo-pack/aioseop_class.php" ) );
2103
  $reqData = wp_remote_get( $req_req->to_url() );
@@ -3119,9 +3119,9 @@ EOF;
3119
  return $keywords;
3120
  }
3121
 
3122
- function get_all_terms( $id, $taxnomy ) {
3123
  $keywords = Array();
3124
- $terms = get_the_terms( $id, $taxnomy );
3125
  if ( !empty( $terms ) )
3126
  foreach ( $terms as $term )
3127
  $keywords[] = $this->internationalize( $term->name );
@@ -3283,21 +3283,21 @@ EOF;
3283
  if ( empty( $url ) )
3284
  $url = esc_url( admin_url( 'admin.php?page=' . $menu_slug ) );
3285
 
3286
- $wp_admin_bar->add_menu( array( 'id' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'SEO', 'all_in_one_seo_pack' ), 'href' => $url ) );
3287
  if ( current_user_can( 'update_plugins' ) )
3288
  add_action( 'admin_bar_menu', array( $this, 'admin_bar_upgrade_menu' ), 1101 );
3289
  $aioseop_admin_menu = 1;
3290
  if ( !is_admin() && !empty( $post ) ) {
3291
  $blog_page = $this->get_blog_page( $post );
3292
  if ( !empty( $blog_page ) ) $post = $blog_page;
3293
- $wp_admin_bar->add_menu( array( 'id' => 'aiosp_edit_' . $post->ID, 'parent' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'Edit SEO', 'all_in_one_seo_pack' ), 'href' => get_edit_post_link( $post->ID ) . '#aiosp' ) );
3294
  }
3295
  }
3296
  }
3297
 
3298
  function admin_bar_upgrade_menu() {
3299
  global $wp_admin_bar;
3300
- $wp_admin_bar->add_menu( array( 'parent' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'Upgrade To Pro', 'all_in_one_seo_pack' ), 'id' => 'aioseop-pro-upgrade', 'href' => 'http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=menu', 'meta' => Array( 'target' => '_blank' ) ) );
3301
  }
3302
 
3303
  function menu_order() {
@@ -3306,7 +3306,7 @@ EOF;
3306
 
3307
  function admin_menu() {
3308
  $file = plugin_basename( __FILE__ );
3309
- $menu_name = __( 'All in One SEO', 'all_in_one_seo_pack' );
3310
 
3311
  $this->locations['aiosp']['default_options']['nonce-aioseop-edit']['default'] = wp_create_nonce('edit-aioseop-nonce');
3312
 
@@ -3350,8 +3350,8 @@ EOF;
3350
  if ( $donated ) {
3351
  // Thank you for your donation
3352
  $this->pointers['aioseop_donate'] = Array( 'pointer_target' => '#aiosp_donate_wrapper',
3353
- 'pointer_text' => '<h3>' . __( 'Thank you!', 'all_in_one_seo_pack' )
3354
- . '</h3><p>' . __( 'Thank you for your donation, it helps keep this plugin free and actively developed!', 'all_in_one_seo_pack' ) . '</p>'
3355
  );
3356
  }
3357
 
@@ -3375,9 +3375,9 @@ EOF;
3375
  else
3376
  add_utility_page( $menu_name, $menu_name, 'manage_options', $file, Array( $this, 'display_settings_page' ) );
3377
 
3378
- add_meta_box('aioseop-list', __( "Join Our Mailing List", 'all_in_one_seo_pack' ), array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'normal', 'core');
3379
  add_meta_box('aioseop-about', "About <span style='float:right;'>Version <b>" . AIOSEOP_VERSION . "</b></span>", array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'side', 'core');
3380
- add_meta_box('aioseop-support', __( "Support", 'all_in_one_seo_pack' ) . " <span style='float:right;'>" . __( "Version", 'all_in_one_seo_pack' ) . " <b>" . AIOSEOP_VERSION . "</b></span>", array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'side', 'core');
3381
 
3382
  add_action( 'aioseop_modules_add_menus', Array( $this, 'add_menu' ), 5 );
3383
  do_action( 'aioseop_modules_add_menus', $file );
@@ -3399,7 +3399,7 @@ EOF;
3399
  if ( $title != $this->plugin_name ) $title = $this->plugin_name . ' - ' . $title;
3400
  if ( $tab_num <= 1 ) {
3401
  if ( !empty( $m[0]['callback_args']['help_link'] ) )
3402
- $title .= "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $m[0]['callback_args']['help_link'] . "'><span>" . __( 'Help', 'all_in_one_seo_pack' ) . "</span></a>";
3403
  add_meta_box( $m[0]['id'], $title, $m[0]['callback'], $m[0]['post_type'], $m[0]['context'], $m[0]['priority'], $m[0]['callback_args'] );
3404
  } elseif ( $tab_num > 1 ) {
3405
  add_meta_box( $m[0]['id'] . '_tabbed', $title, Array( $this, 'display_tabbed_metabox' ), $m[0]['post_type'], $m[0]['context'], $m[0]['priority'], $m );
@@ -3411,7 +3411,7 @@ EOF;
3411
  $title = $m['title'];
3412
  if ( $title != $this->plugin_name ) $title = $this->plugin_name . ' - ' . $title;
3413
  if ( !empty( $m['help_link'] ) )
3414
- $title .= "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $m['help_link'] . "'><span>" . __( 'Help', 'all_in_one_seo_pack' ) . "</span></a>";
3415
  add_meta_box( $m['id'], $title, $m['callback'], $m['post_type'], $m['context'], $m['priority'], $m['callback_args'] );
3416
  }
3417
  }
@@ -3423,7 +3423,7 @@ EOF;
3423
  $active = ' active';
3424
  foreach( $tabs as $t ) {
3425
  if ( $active )
3426
- $title = __( 'Main Settings', 'all_in_one_seo_pack' );
3427
  else
3428
  $title = $t['title'];
3429
  $header .= '<li><label class="aioseop_header_nav"><a class="aioseop_header_tab' . $active . '" href="#'. $t['id'] .'">'.$title.'</a></label></li>';
@@ -3452,7 +3452,7 @@ EOF;
3452
  function display_right_sidebar( ) { ?>
3453
 
3454
  <?php
3455
- /* <label class="aioseop_generic_label"><?php _e('Click on option titles to get help!', 'all_in_one_seo_pack' ); ?></label> */
3456
  global $wpdb;
3457
 
3458
  if( !get_option( 'aioseop_options' ) ) {
@@ -3494,11 +3494,27 @@ EOF;
3494
  //]]>
3495
  </script>
3496
  <div class="aioseop_advert aioseop_nopad_all">
3497
- <?php $adid = mt_rand( 11, 15 ); ?>
3498
- <a href="https://www.wincher.com/?referer=all-in-one-seo-pack&adreferer=banner<?php echo $adid; ?>" target="_blank"><div class=wincherad id=wincher<?php echo $adid; ?>></div></a>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3499
  </div>
 
 
3500
  <!-- Headway Themes-->
3501
- <div class="aioseop_advert">
3502
  <div>
3503
  <h3>Drag and Drop WordPress Design</h3>
3504
  <p><a href="http://semperfiwebdesign.com/headwayaio/" target="_blank">Headway Themes</a> allows you to easily create your own stunning website designs! Stop using premade themes start making your own design with Headway's easy to use Drag and Drop interface. All in One SEO Pack users have an exclusive discount by using coupon code <strong>SEMPERFI30</strong> at checkout.</p>
@@ -3506,6 +3522,7 @@ EOF;
3506
  <a href="http://semperfiwebdesign.com/headwayaio/" target="_blank"><img src="<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>headwaybanner.png"></a>
3507
  </div>
3508
 
 
3509
  </div>
3510
  </div>
3511
  <?php
60
 
61
  $this->init();
62
 
63
+ $this->name = sprintf( __( '%s Plugin Options', 'all-in-one-seo-pack' ), AIOSEOP_PLUGIN_NAME );
64
+ $this->menu_name = __( 'General Settings', 'all-in-one-seo-pack' );
65
 
66
  $this->prefix = 'aiosp_'; // option prefix
67
  $this->option_name = 'aioseop_options';
71
  parent::__construct();
72
 
73
  $this->help_text = Array(
74
+ "donate" => __( "All donations support continued development of this free software.", 'all-in-one-seo-pack'),
75
+ "can" => __( "This option will automatically generate Canonical URLs for your entire WordPress installation. This will help to prevent duplicate content penalties by <a href=\'http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html\' target=\'_blank\'>Google</a>.", 'all-in-one-seo-pack'),
76
+ "no_paged_canonical_links"=> __( "Checking this option will set the Canonical URL for all paginated content to the first page.", 'all-in-one-seo-pack'),
77
+ "customize_canonical_links"=> __( "Checking this option will allow you to customize Canonical URLs for specific posts.", 'all-in-one-seo-pack'),
78
+ "can_set_protocol" => __( "Set protocol for canonical URLs.", 'all-in-one-seo-pack' ),
79
+ "use_original_title" => __( "Use wp_title to get the title used by the theme; this is disabled by default. If you use this option, set your title formats appropriately, as your theme might try to do its own title SEO as well.", 'all-in-one-seo-pack' ),
80
+ "do_log" => __( "Check this and All in One SEO Pack will create a log of important events (all_in_one_seo_pack.log) in its plugin directory which might help debugging. Make sure this directory is writable.", 'all-in-one-seo-pack' ),
81
+ "home_title" => __( "As the name implies, this will be the Meta Title of your homepage. This is independent of any other option. If not set, the default Site Title (found in WordPress under Settings, General, Site Title) will be used.", 'all-in-one-seo-pack' ),
82
+ "home_description" => __( "This will be the Meta Description for your homepage. This is independent of any other option. The default is no Meta Description at all if this is not set.", 'all-in-one-seo-pack' ),
83
+ "home_keywords" => __( "Enter a comma separated list of your most important keywords for your site that will be written as Meta Keywords on your homepage. Don\'t stuff everything in here.", 'all-in-one-seo-pack' ),
84
+ "use_static_home_info" => __( "Checking this option uses the title, description, and keywords set on your static Front Page.", 'all-in-one-seo-pack' ),
85
+ "togglekeywords" => __( "This option allows you to toggle the use of Meta Keywords throughout the whole of the site.", 'all-in-one-seo-pack' ),
86
+ "use_categories" => __( "Check this if you want your categories for a given post used as the Meta Keywords for this post (in addition to any keywords you specify on the Edit Post screen).", 'all-in-one-seo-pack' ),
87
+ "use_tags_as_keywords" => __( "Check this if you want your tags for a given post used as the Meta Keywords for this post (in addition to any keywords you specify on the Edit Post screen).", 'all-in-one-seo-pack' ),
88
+ "dynamic_postspage_keywords"=> __( "Check this if you want your keywords on your Posts page (set in WordPress under Settings, Reading, Front Page Displays) and your archive pages to be dynamically generated from the keywords of the posts showing on that page. If unchecked, it will use the keywords set in the edit page screen for the posts page.", 'all-in-one-seo-pack'),
89
+ "rewrite_titles" => __( "Note that this is all about the title tag. This is what you see in your browser's window title bar. This is NOT visible on a page, only in the title bar and in the source code. If enabled, all page, post, category, search and archive page titles get rewritten. You can specify the format for most of them. For example: Using the default post title format below, Rewrite Titles will write all post titles as 'Post Title | Blog Name'. If you have manually defined a title using All in One SEO Pack, this will become the title of your post in the format string.", 'all-in-one-seo-pack' ),
90
+ "cap_titles" => __( "Check this and Search Page Titles and Tag Page Titles will have the first letter of each word capitalized.", 'all-in-one-seo-pack' ),
91
+ "cap_cats" => __( "Check this and Category Titles will have the first letter of each word capitalized.", 'all-in-one-seo-pack'),
92
  "home_page_title_format" =>
93
+ __( "This controls the format of the title tag for your Home Page.<br />The following macros are supported:", 'all-in-one-seo-pack' )
94
+ . '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
95
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
96
+ __( '%page_title% - The original title of the page', 'all-in-one-seo-pack' ) . '</li><li>' .
97
+ __( "%page_author_login% - This page's author' login", 'all-in-one-seo-pack' ) . '</li><li>' .
98
+ __( "%page_author_nicename% - This page's author' nicename", 'all-in-one-seo-pack' ) . '</li><li>' .
99
+ __( "%page_author_firstname% - This page's author' first name (capitalized)", 'all-in-one-seo-pack' ) . '</li><li>' .
100
+ __( "%page_author_lastname% - This page's author' last name (capitalized)", 'all-in-one-seo-pack' ) . '</li>' .
101
  '</ul>',
102
  "page_title_format" =>
103
+ __( "This controls the format of the title tag for Pages.<br />The following macros are supported:", 'all-in-one-seo-pack' )
104
+ . '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
105
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
106
+ __( '%page_title% - The original title of the page', 'all-in-one-seo-pack' ) . '</li><li>' .
107
+ __( "%page_author_login% - This page's author' login", 'all-in-one-seo-pack' ) . '</li><li>' .
108
+ __( "%page_author_nicename% - This page's author' nicename", 'all-in-one-seo-pack' ) . '</li><li>' .
109
+ __( "%page_author_firstname% - This page's author' first name (capitalized)", 'all-in-one-seo-pack' ) . '</li><li>' .
110
+ __( "%page_author_lastname% - This page's author' last name (capitalized)", 'all-in-one-seo-pack' ) . '</li>' .
111
  '</ul>',
112
  "post_title_format" =>
113
+ __( "This controls the format of the title tag for Posts.<br />The following macros are supported:", 'all-in-one-seo-pack' )
114
+ . '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
115
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
116
+ __( '%post_title% - The original title of the post', 'all-in-one-seo-pack' ) . '</li><li>' .
117
+ __( '%category_title% - The (main) category of the post', 'all-in-one-seo-pack' ) . '</li><li>' .
118
+ __( '%category% - Alias for %category_title%', 'all-in-one-seo-pack' ) . '</li><li>' .
119
+ __( "%post_author_login% - This post's author' login", 'all-in-one-seo-pack' ) . '</li><li>' .
120
+ __( "%post_author_nicename% - This post's author' nicename", 'all-in-one-seo-pack' ) . '</li><li>' .
121
+ __( "%post_author_firstname% - This post's author' first name (capitalized)", 'all-in-one-seo-pack' ) . '</li><li>' .
122
+ __( "%post_author_lastname% - This post's author' last name (capitalized)", 'all-in-one-seo-pack' ) . '</li>' .
123
  '</ul>',
124
  "category_title_format" =>
125
+ __( "This controls the format of the title tag for Category Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
126
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
127
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
128
+ __( '%category_title% - The original title of the category', 'all-in-one-seo-pack' ) . '</li><li>' .
129
+ __( '%category_description% - The description of the category', 'all-in-one-seo-pack' ) . '</li></ul>',
130
  "archive_title_format" =>
131
+ __( "This controls the format of the title tag for Custom Post Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
132
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
133
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
134
+ __( '%archive_title - The original archive title given by wordpress', 'all-in-one-seo-pack' ) . '</li></ul>',
135
  "date_title_format" =>
136
+ __( "This controls the format of the title tag for Date Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
137
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
138
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
139
+ __( '%date% - The original archive title given by wordpress, e.g. "2007" or "2007 August"', 'all-in-one-seo-pack' ) . '</li><li>' .
140
+ __( '%day% - The original archive day given by wordpress, e.g. "17"', 'all-in-one-seo-pack' ) . '</li><li>' .
141
+ __( '%month% - The original archive month given by wordpress, e.g. "August"', 'all-in-one-seo-pack' ) . '</li><li>' .
142
+ __( '%year% - The original archive year given by wordpress, e.g. "2007"', 'all-in-one-seo-pack' ) . '</li></ul>',
143
  "author_title_format" =>
144
+ __( "This controls the format of the title tag for Author Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
145
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
146
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
147
+ __( '%author% - The original archive title given by wordpress, e.g. "Steve" or "John Smith"', 'all-in-one-seo-pack' ) . '</li></ul>',
148
  "tag_title_format" =>
149
+ __( "This controls the format of the title tag for Tag Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
150
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
151
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
152
+ __( '%tag% - The name of the tag', 'all-in-one-seo-pack' ) . '</li></ul>',
153
  "search_title_format" =>
154
+ __( "This controls the format of the title tag for the Search page.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
155
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
156
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
157
+ __( '%search% - What was searched for', 'all-in-one-seo-pack' ) . '</li></ul>',
158
+ "description_format" => __( "This controls the format of Meta Descriptions.The following macros are supported:", 'all-in-one-seo-pack' ) .
159
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
160
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
161
+ __( '%description% - The original description as determined by the plugin, e.g. the excerpt if one is set or an auto-generated one if that option is set', 'all-in-one-seo-pack' ) . '</li><li>' .
162
+ __( '%post_title% - The original title of the post', 'all-in-one-seo-pack' ) . '</li><li>' .
163
+ __( '%wp_title% - The original wordpress title, e.g. post_title for posts', 'all-in-one-seo-pack' ) . '</li></ul>',
164
+ "404_title_format" => __( "This controls the format of the title tag for the 404 page.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
165
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
166
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
167
+ __( '%request_url% - The original URL path, like "/url-that-does-not-exist/"', 'all-in-one-seo-pack' ) . '</li><li>' .
168
+ __( '%request_words% - The URL path in human readable form, like "Url That Does Not Exist"', 'all-in-one-seo-pack' ) . '</li><li>' .
169
+ __( '%404_title% - Additional 404 title input"', 'all-in-one-seo-pack' ) . '</li></ul>',
170
+ "paged_format" => __( "This string gets appended/prepended to titles of paged index pages (like home or archive pages).", 'all-in-one-seo-pack' )
171
+ . __( 'The following macros are supported:', 'all-in-one-seo-pack' )
172
+ . '<ul><li>' . __( '%page% - The page number', 'all-in-one-seo-pack' ) . '</li></ul>',
173
+ "enablecpost" => __( "Check this if you want to use All in One SEO Pack with any Custom Post Types on this site.", 'all-in-one-seo-pack' ),
174
+ "cpostadvanced" => __( "This will show or hide the advanced options for SEO for Custom Post Types.", 'all-in-one-seo-pack' ),
175
+ "cpostactive" => __( "Use these checkboxes to select which Post Types you want to use All in One SEO Pack with.", 'all-in-one-seo-pack' ),
176
+ "cposttitles" => __( "This allows you to set the title tags for each Custom Post Type.", 'all-in-one-seo-pack' ),
177
+ "posttypecolumns" => __( "This lets you select which screens display the SEO Title, SEO Keywords and SEO Description columns.", 'all-in-one-seo-pack' ),
178
+ "admin_bar" => __( "Check this to add All in One SEO Pack to the Admin Bar for easy access to your SEO settings.", 'all-in-one-seo-pack' ),
179
+ "custom_menu_order" => __( "Check this to move the All in One SEO Pack menu item to the top of your WordPress Dashboard menu.", 'all-in-one-seo-pack' ),
180
+ "google_verify" => __( "Enter your verification code here to verify your site with Google Webmaster Tools.<br /><a href='http://semperplugins.com/documentation/google-webmaster-tools-verification/' target='_blank'>Click here for documentation on this setting</a>", 'all-in-one-seo-pack' ),
181
+ "bing_verify" => __( "Enter your verification code here to verify your site with Bing Webmaster Tools.<br /><a href='http://semperplugins.com/documentation/bing-webmaster-verification/' target='_blank'>Click here for documentation on this setting</a>", 'all-in-one-seo-pack' ),
182
+ "pinterest_verify" => __( "Enter your verification code here to verify your site with Pinterest.<br /><a href='http://semperplugins.com/documentation/pinterest-site-verification/' target='_blank'>Click here for documentation on this setting</a>", 'all-in-one-seo-pack' ),
183
+ "google_publisher" => __( "Enter your Google+ Profile URL here to add the rel=“author” tag to your site for Google authorship. It is recommended that the URL you enter here should be your personal Google+ profile. Use the Advanced Authorship Options below if you want greater control over the use of authorship.", 'all-in-one-seo-pack' ),
184
+ "google_disable_profile"=> __( "Check this to remove the Google Plus field from the user profile screen.", 'all-in-one-seo-pack' ),
185
+ "google_author_advanced"=> __( "Enable this to display advanced options for controlling Google Plus authorship information on your website.", 'all-in-one-seo-pack' ),
186
+ "google_author_location"=> __( "This option allows you to control which types of pages you want to display rel=\"author\" on for Google authorship. The options include the Front Page (the homepage of your site), Posts, Pages, and any Custom Post Types. The Everywhere Else option includes 404, search, categories, tags, custom taxonomies, date archives, author archives and any other page template.", 'all-in-one-seo-pack' ),
187
+ "google_enable_publisher"=> __( "This option allows you to control whether rel=\"publisher\" is displayed on the homepage of your site. Google recommends using this if the site is a business website.", 'all-in-one-seo-pack' ),
188
+ "google_specify_publisher"=> __( "The Google+ profile you enter here will appear on your homepage only as the rel=\"publisher\" tag. It is recommended that the URL you enter here should be the Google+ profile for your business.", 'all-in-one-seo-pack' ),
189
+ "google_sitelinks_search"=> __( "Add markup to display the Google Sitelinks Search Box next to your search results in Google.", 'all-in-one-seo-pack' ),
190
+ "google_set_site_name" => __( "Add markup to tell Google the preferred name for your website.", 'all-in-one-seo-pack' ),
191
+ "google_connect" => __( "Press the connect button to connect with Google Analytics; or if already connected, press the disconnect button to disable and remove any stored analytics credentials.", 'all-in-one-seo-pack' ),
192
+ "google_analytics_id" => __( "Enter your Google Analytics ID here to track visitor behavior on your site using Google Analytics.", 'all-in-one-seo-pack' ),
193
+ "ga_use_universal_analytics" => __( "Use the new Universal Analytics tracking code for Google Analytics.", 'all-in-one-seo-pack' ),
194
+ "ga_advanced_options" => __( "Check to use advanced Google Analytics options.", 'all-in-one-seo-pack' ),
195
+ "ga_domain" => __( "Enter your domain name without the http:// to set your cookie domain.", 'all-in-one-seo-pack' ),
196
+ "ga_multi_domain" => __( "Use this option to enable tracking of multiple or additional domains.", 'all-in-one-seo-pack' ),
197
+ "ga_addl_domains" => __( "Add a list of additional domains to track here. Enter one domain name per line without the http://.", 'all-in-one-seo-pack' ),
198
+ "ga_anonymize_ip" => __( "This enables support for IP Anonymization in Google Analytics.", 'all-in-one-seo-pack' ),
199
+ "ga_display_advertising"=> __( "This enables support for the Display Advertiser Features in Google Analytics.", 'all-in-one-seo-pack' ),
200
+ "ga_exclude_users" => __( "Exclude logged-in users from Google Analytics tracking by role.", 'all-in-one-seo-pack' ),
201
+ "ga_track_outbound_links"=> __( "Check this if you want to track outbound links with Google Analytics.", 'all-in-one-seo-pack' ),
202
+ "ga_link_attribution"=> __( "This enables support for the Enhanced Link Attribution in Google Analytics.", 'all-in-one-seo-pack' ),
203
+ "ga_enhanced_ecommerce" => __( "This enables support for the Enhanced Ecommerce in Google Analytics.", 'all-in-one-seo-pack' ),
204
+ "cpostnoindex" => __( "Set the default NOINDEX setting for each Post Type.", 'all-in-one-seo-pack' ),
205
+ "cpostnofollow" => __( "Set the default NOFOLLOW setting for each Post Type.", 'all-in-one-seo-pack' ),
206
+ "category_noindex" => __( "Check this to ask search engines not to index Category Archives. Useful for avoiding duplicate content.", 'all-in-one-seo-pack' ),
207
+ "archive_date_noindex" => __( "Check this to ask search engines not to index Date Archives. Useful for avoiding duplicate content.", 'all-in-one-seo-pack' ),
208
+ "archive_author_noindex"=> __( "Check this to ask search engines not to index Author Archives. Useful for avoiding duplicate content.", 'all-in-one-seo-pack' ),
209
+ "tags_noindex" => __( "Check this to ask search engines not to index Tag Archives. Useful for avoiding duplicate content.", 'all-in-one-seo-pack' ),
210
+ "search_noindex" => __( "Check this to ask search engines not to index the Search page. Useful for avoiding duplicate content.", 'all-in-one-seo-pack' ),
211
+ "404_noindex" => __( "Check this to ask search engines not to index the 404 page.", 'all-in-one-seo-pack' ),
212
+ "tax_noindex" => __( "Check this to ask search engines not to index custom Taxonomy archive pages. Useful for avoiding duplicate content.", 'all-in-one-seo-pack' ),
213
+ "paginated_noindex" => __( "Check this to ask search engines not to index paginated pages/posts. Useful for avoiding duplicate content.", 'all-in-one-seo-pack' ),
214
+ "paginated_nofollow" => __( "Check this to ask search engines not to follow links from paginated pages/posts. Useful for avoiding duplicate content.", 'all-in-one-seo-pack' ),
215
+ 'noodp' => __( 'Check this box to ask search engines not to use descriptions from the Open Directory Project for your entire site.', 'all-in-one-seo-pack' ),
216
+ 'cpostnoodp' => __( "Set the default noodp setting for each Post Type.", 'all-in-one-seo-pack' ),
217
+ 'noydir' => __( 'Check this box to ask Yahoo! not to use descriptions from the Yahoo! directory for your entire site.', 'all-in-one-seo-pack' ),
218
+ 'cpostnoydir' => __( "Set the default noydir setting for each Post Type.", 'all-in-one-seo-pack' ),
219
+ "skip_excerpt" => __( "Check this and your Meta Descriptions won't be generated from the excerpt.", 'all-in-one-seo-pack' ),
220
+ "generate_descriptions" => __( "Check this and your Meta Descriptions will be auto-generated from your excerpt or content.", 'all-in-one-seo-pack' ),
221
+ "run_shortcodes" => __( "Check this and shortcodes will get executed for descriptions auto-generated from content.", 'all-in-one-seo-pack' ),
222
+ "hide_paginated_descriptions"=> __( "Check this and your Meta Descriptions will be removed from page 2 or later of paginated content.", 'all-in-one-seo-pack' ),
223
+ "dont_truncate_descriptions"=> __( "Check this to prevent your Description from being truncated regardless of its length.", 'all-in-one-seo-pack' ),
224
+ "schema_markup"=> __( "Check this to support Schema.org markup, i.e., itemprop on supported metadata.", 'all-in-one-seo-pack' ),
225
+ "unprotect_meta" => __( "Check this to unprotect internal postmeta fields for use with XMLRPC. If you don't know what that is, leave it unchecked.", 'all-in-one-seo-pack' ),
226
+ "ex_pages" => __( "Enter a comma separated list of pages here to be excluded by All in One SEO Pack. This is helpful when using plugins which generate their own non-WordPress dynamic pages. Ex: <em>/forum/, /contact/</em> For instance, if you want to exclude the virtual pages generated by a forum plugin, all you have to do is add forum or /forum or /forum/ or and any URL with the word \"forum\" in it, such as http://mysite.com/forum or http://mysite.com/forum/someforumpage here and it will be excluded from All in One SEO Pack.", 'all-in-one-seo-pack' ),
227
+ "post_meta_tags" => __( "What you enter here will be copied verbatim to the header of all Posts. You can enter whatever additional headers you want here, even references to stylesheets.", 'all-in-one-seo-pack' ),
228
+ "page_meta_tags" => __( "What you enter here will be copied verbatim to the header of all Pages. You can enter whatever additional headers you want here, even references to stylesheets.", 'all-in-one-seo-pack' ),
229
+ "front_meta_tags" => __( "What you enter here will be copied verbatim to the header of the front page if you have set a static page in Settings, Reading, Front Page Displays. You can enter whatever additional headers you want here, even references to stylesheets. This will fall back to using Additional Page Headers if you have them set and nothing is entered here.", 'all-in-one-seo-pack' ),
230
+ "home_meta_tags" => __( "What you enter here will be copied verbatim to the header of the home page if you have Front page displays your latest posts selected in Settings, Reading.  It will also be copied verbatim to the header on the Posts page if you have one set in Settings, Reading. You can enter whatever additional headers you want here, even references to stylesheets.", 'all-in-one-seo-pack' ),
231
  );
232
 
233
  $this->help_anchors = Array(
300
  );
301
 
302
  $meta_help_text = Array(
303
+ 'snippet' => __( 'A preview of what this page might look like in search engine results.', 'all-in-one-seo-pack' ),
304
+ 'title' => __( 'A custom title that shows up in the title tag for this page.', 'all-in-one-seo-pack' ),
305
+ 'description' => __( 'The META description for this page. This will override any autogenerated descriptions.', 'all-in-one-seo-pack' ),
306
+ 'keywords' => __( 'A comma separated list of your most important keywords for this page that will be written as META keywords.', 'all-in-one-seo-pack' ),
307
+ 'custom_link' => __( "Override the canonical URLs for this post.", 'all-in-one-seo-pack'),
308
+ 'noindex' => __( 'Check this box to ask search engines not to index this page.', 'all-in-one-seo-pack' ),
309
+ 'nofollow' => __( 'Check this box to ask search engines not to follow links from this page.', 'all-in-one-seo-pack' ),
310
+ 'noodp' => __( 'Check this box to ask search engines not to use descriptions from the Open Directory Project for this page.', 'all-in-one-seo-pack' ),
311
+ 'noydir' => __( 'Check this box to ask Yahoo! not to use descriptions from the Yahoo! directory for this page.', 'all-in-one-seo-pack' ),
312
+ 'titleatr' => __( 'Set the title attribute for menu links.', 'all-in-one-seo-pack' ),
313
+ 'menulabel' => __( 'Set the label for this page menu item.', 'all-in-one-seo-pack' ),
314
+ 'sitemap_exclude' => __( "Don't display this page in the sitemap.", 'all-in-one-seo-pack' ),
315
+ 'disable' => __( 'Disable SEO on this page.', 'all-in-one-seo-pack' ),
316
+ 'disable_analytics' => __( 'Disable Google Analytics on this page.', 'all-in-one-seo-pack' )
317
  );
318
 
319
  $this->default_options = array(
320
  "donate" => Array(
321
+ 'name' => __( 'I enjoy this plugin and have made a donation:', 'all-in-one-seo-pack' ) ),
322
  "home_title"=> Array(
323
+ 'name' => __( 'Home Title:', 'all-in-one-seo-pack' ),
324
  'default' => null, 'type' => 'textarea', 'sanitize' => 'text',
325
  'count' => true, 'rows' => 1, 'cols' => 60,
326
  'condshow' => Array( "aiosp_use_static_home_info" => 0 ) ),
327
  "home_description"=> Array(
328
+ 'name' => __( 'Home Description:', 'all-in-one-seo-pack' ),
329
  'default' => '', 'type' => 'textarea', 'sanitize' => 'text',
330
  'count' => true, 'cols' => 80, 'rows' => 2,
331
  'condshow' => Array( "aiosp_use_static_home_info" => 0 ) ),
332
  "togglekeywords" => Array(
333
+ 'name' => __( 'Use Keywords:', 'all-in-one-seo-pack' ),
334
  'default' => 0,
335
  'type' => 'radio',
336
+ 'initial_options' => Array( 0 => __( 'Enabled', 'all-in-one-seo-pack' ),
337
+ 1 => __( 'Disabled', 'all-in-one-seo-pack' ) )
338
  ),
339
  "home_keywords"=> Array(
340
+ 'name' => __( 'Home Keywords (comma separated):', 'all-in-one-seo-pack' ),
341
  'default' => null, 'type' => 'textarea', 'sanitize' => 'text',
342
  'condshow' => Array( "aiosp_togglekeywords" => 0, "aiosp_use_static_home_info" => 0 ) ),
343
  "use_static_home_info" => Array(
344
+ 'name' => __( "Use Static Front Page Instead", 'all-in-one-seo-pack' ),
345
  'default' => 0,
346
  'type' => 'radio',
347
+ 'initial_options' => Array( 1 => __( 'Enabled', 'all-in-one-seo-pack' ),
348
+ 0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
349
  ),
350
  "can"=> Array(
351
+ 'name' => __( 'Canonical URLs:', 'all-in-one-seo-pack' ),
352
  'default' => 1),
353
  "no_paged_canonical_links"=> Array(
354
+ 'name' => __( 'No Pagination for Canonical URLs:', 'all-in-one-seo-pack' ),
355
  'default' => 0,
356
  'condshow' => Array( "aiosp_can" => 'on' ) ),
357
  "customize_canonical_links" => Array(
358
+ 'name' => __( 'Enable Custom Canonical URLs:', 'all-in-one-seo-pack' ),
359
  'default' => 0,
360
  'condshow' => Array( "aiosp_can" => 'on' ) ),
361
  "can_set_protocol" => Array(
362
+ 'name' => __( 'Set Protocol For Canonical URLs:', 'all-in-one-seo-pack' ),
363
  'type' => 'radio',
364
  'default' => 'auto',
365
+ 'initial_options' => Array( 'auto' => __( 'Auto', 'all-in-one-seo-pack' ),
366
+ 'http' => __( 'HTTP', 'all-in-one-seo-pack' ),
367
+ 'https' => __( 'HTTPS', 'all-in-one-seo-pack' ) ),
368
  'condshow' => Array( "aiosp_can" => 'on' )
369
  ),
370
  "rewrite_titles"=> Array(
371
+ 'name' => __( 'Rewrite Titles:', 'all-in-one-seo-pack' ),
372
  'default' => 1,
373
  'type' => 'radio',
374
+ 'initial_options' => Array( 1 => __( 'Enabled', 'all-in-one-seo-pack' ),
375
+ 0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
376
  ),
377
  "force_rewrites"=> Array(
378
+ 'name' => __( 'Force Rewrites:', 'all-in-one-seo-pack' ),
379
  'default' => 1,
380
  'type' => 'hidden',
381
  'prefix' => $this->prefix,
382
+ 'initial_options' => Array( 1 => __( 'Enabled', 'all-in-one-seo-pack' ),
383
+ 0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
384
  ),
385
  "use_original_title"=> Array(
386
+ 'name' => __( 'Use Original Title:', 'all-in-one-seo-pack' ),
387
  'type' => 'radio',
388
  'default' => 0,
389
+ 'initial_options' => Array( 1 => __( 'Enabled', 'all-in-one-seo-pack' ),
390
+ 0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
391
  ),
392
  "cap_titles"=> Array(
393
+ 'name' => __( 'Capitalize Titles:', 'all-in-one-seo-pack' ), 'default' => 1),
394
  "cap_cats"=> Array(
395
+ 'name' => __( 'Capitalize Category Titles:', 'all-in-one-seo-pack' ), 'default' => 1),
396
  "home_page_title_format"=> Array(
397
+ 'name' => __( 'Home Page Title Format:', 'all-in-one-seo-pack' ),
398
  'type' => 'text', 'default' => '%page_title%',
399
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
400
  "page_title_format"=> Array(
401
+ 'name' => __( 'Page Title Format:', 'all-in-one-seo-pack' ),
402
  'type' => 'text', 'default' => '%page_title% | %blog_title%',
403
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
404
  "post_title_format"=> Array(
405
+ 'name' => __( 'Post Title Format:', 'all-in-one-seo-pack' ),
406
  'type' => 'text', 'default' => '%post_title% | %blog_title%',
407
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
408
  "category_title_format"=> Array(
409
+ 'name' => __( 'Category Title Format:', 'all-in-one-seo-pack' ),
410
  'type' => 'text', 'default' => '%category_title% | %blog_title%',
411
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
412
  "archive_title_format"=> Array(
413
+ 'name' => __( 'Archive Title Format:', 'all-in-one-seo-pack' ),
414
  'type' => 'text', 'default' => '%archive_title% | %blog_title%',
415
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
416
  "date_title_format"=> Array(
417
+ 'name' => __( 'Date Archive Title Format:', 'all-in-one-seo-pack' ),
418
  'type' => 'text', 'default' => '%date% | %blog_title%',
419
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
420
  "author_title_format"=> Array(
421
+ 'name' => __( 'Author Archive Title Format:', 'all-in-one-seo-pack' ),
422
  'type' => 'text', 'default' => '%author% | %blog_title%',
423
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
424
  "tag_title_format"=> Array(
425
+ 'name' => __( 'Tag Title Format:', 'all-in-one-seo-pack' ),
426
  'type' => 'text', 'default' => '%tag% | %blog_title%',
427
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
428
  "search_title_format"=> Array(
429
+ 'name' => __( 'Search Title Format:', 'all-in-one-seo-pack' ),
430
  'type' => 'text', 'default' => '%search% | %blog_title%',
431
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
432
  "description_format"=> Array(
433
+ 'name' => __( 'Description Format', 'all-in-one-seo-pack' ),
434
  'type' => 'text', 'default' => '%description%',
435
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
436
  "404_title_format"=> Array(
437
+ 'name' => __( '404 Title Format:', 'all-in-one-seo-pack' ),
438
  'type' => 'text', 'default' => 'Nothing found for %request_words%',
439
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
440
  "paged_format"=> Array(
441
+ 'name' => __( 'Paged Format:', 'all-in-one-seo-pack' ),
442
  'type' => 'text', 'default' => ' - Part %page%',
443
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
444
  "enablecpost"=> Array(
445
+ 'name' => __( 'SEO for Custom Post Types:', 'all-in-one-seo-pack' ),
446
  'default' => 'on',
447
  'type' => 'radio',
448
+ 'initial_options' => Array( 'on' => __( 'Enabled', 'all-in-one-seo-pack' ),
449
+ 0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
450
  ),
451
  "cpostactive" => Array(
452
+ 'name' => __( 'SEO on only these post types:', 'all-in-one-seo-pack' ),
453
  'type' => 'multicheckbox', 'default' => array('post', 'page'),
454
  'condshow' => Array( 'aiosp_enablecpost' => 'on' )
455
  ),
456
  "cpostadvanced" => Array(
457
+ 'name' => __( 'Enable Advanced Options:', 'all-in-one-seo-pack' ),
458
  'default' => 0, 'type' => 'radio',
459
+ 'initial_options' => Array( 'on' => __( 'Enabled', 'all-in-one-seo-pack' ),
460
+ 0 => __( 'Disabled', 'all-in-one-seo-pack' ) ),
461
  'label' => null,
462
  'condshow' => Array( "aiosp_enablecpost" => 'on' )
463
  ),
464
  "cpostnoindex" => Array(
465
+ 'name' => __( 'Default to NOINDEX:', 'all-in-one-seo-pack' ),
466
  'type' => 'multicheckbox', 'default' => array(),
467
+ 'condshow' => Array( 'aiosp_enablecpost' => 'on' )
468
  ),
469
  "cpostnofollow" => Array(
470
+ 'name' => __( 'Default to NOFOLLOW:', 'all-in-one-seo-pack' ),
471
  'type' => 'multicheckbox', 'default' => array(),
472
+ 'condshow' => Array( 'aiosp_enablecpost' => 'on' )
473
  ),
474
  "cpostnoodp"=> Array(
475
+ 'name' => __( 'Default to NOODP:', 'all-in-one-seo-pack' ),
476
  'type' => 'multicheckbox', 'default' => array(),
477
+ 'condshow' => Array( 'aiosp_enablecpost' => 'on' )
478
  ),
479
  "cpostnoydir"=> Array(
480
+ 'name' => __( 'Default to NOYDIR:', 'all-in-one-seo-pack' ),
481
  'type' => 'multicheckbox', 'default' => array(),
482
+ 'condshow' => Array( 'aiosp_enablecpost' => 'on' )
483
  ),
484
  "cposttitles" => Array(
485
+ 'name' => __( 'Custom titles:', 'all-in-one-seo-pack' ),
486
  'type' => 'checkbox', 'default' => 0,
487
  'condshow' => Array( "aiosp_rewrite_titles" => 1, 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on' )
488
  ),
489
  "posttypecolumns" => Array(
490
+ 'name' => __( 'Show Column Labels for Custom Post Types:', 'all-in-one-seo-pack' ),
491
  'type' => 'multicheckbox', 'default' => array('post', 'page') ),
492
  "admin_bar" => Array(
493
+ 'name' => __( 'Display Menu In Admin Bar:', 'all-in-one-seo-pack' ), 'default' => 'on',
494
  ),
495
  "custom_menu_order" => Array(
496
+ 'name' => __( 'Display Menu At The Top:', 'all-in-one-seo-pack' ), 'default' => 'on',
497
  ),
498
  "google_verify" => Array(
499
+ 'name' => __( 'Google Webmaster Tools:', 'all-in-one-seo-pack' ), 'default' => '', 'type' => 'text'
500
  ),
501
  "bing_verify" => Array(
502
+ 'name' => __( 'Bing Webmaster Center:', 'all-in-one-seo-pack' ), 'default' => '', 'type' => 'text'
503
  ),
504
  "pinterest_verify" => Array(
505
+ 'name' => __( 'Pinterest Site Verification:', 'all-in-one-seo-pack' ), 'default' => '', 'type' => 'text'
506
  ),
507
  "google_publisher"=> Array(
508
+ 'name' => __( 'Google Plus Default Profile:', 'all-in-one-seo-pack' ), 'default' => '', 'type' => 'text'
509
  ),
510
  "google_disable_profile"=> Array(
511
+ 'name' => __( 'Disable Google Plus Profile:', 'all-in-one-seo-pack' ), 'default' => 0, 'type' => 'checkbox'
512
  ),
513
  "google_sitelinks_search" => Array(
514
+ 'name' => __( 'Display Sitelinks Search Box:', 'all-in-one-seo-pack' )
515
  ),
516
  "google_set_site_name" => Array(
517
+ 'name' => __( 'Set Preferred Site Name:', 'all-in-one-seo-pack' )
518
  ),
519
  "google_specify_site_name" => Array(
520
+ 'name' => __( 'Specify A Preferred Name:', 'all-in-one-seo-pack' ),
521
  'type' => 'text',
522
  'placeholder' => $blog_name,
523
  'condshow' => Array( 'aiosp_google_set_site_name' => 'on' )
524
  ),
525
  "google_author_advanced" => Array(
526
+ 'name' => __( 'Advanced Authorship Options:', 'all-in-one-seo-pack' ),
527
  'default' => 0, 'type' => 'radio',
528
+ 'initial_options' => Array( 'on' => __( 'Enabled', 'all-in-one-seo-pack' ),
529
+ 0 => __( 'Disabled', 'all-in-one-seo-pack' ) ),
530
  'label' => null
531
  ),
532
  "google_author_location"=> Array(
533
+ 'name' => __( 'Display Google Authorship:', 'all-in-one-seo-pack' ), 'default' => array( 'all' ), 'type' => 'multicheckbox',
534
  'condshow' => Array( 'aiosp_google_author_advanced' => 'on' )
535
  ),
536
  "google_enable_publisher" => Array(
537
+ 'name' => __( 'Display Publisher Meta on Front Page:', 'all-in-one-seo-pack' ),
538
  'default' => 'on', 'type' => 'radio',
539
+ 'initial_options' => Array( 'on' => __( 'Enabled', 'all-in-one-seo-pack' ),
540
+ 0 => __( 'Disabled', 'all-in-one-seo-pack' ) ),
541
  'condshow' => Array( 'aiosp_google_author_advanced' => 'on' )
542
  ),
543
  "google_specify_publisher" => Array(
544
+ 'name' => __( 'Specify Publisher URL:', 'all-in-one-seo-pack' ), 'type' => 'text',
545
  'condshow' => Array( 'aiosp_google_author_advanced' => 'on', 'aiosp_google_enable_publisher' => 'on' )
546
  ),
547
+ // "google_connect"=>Array( 'name' => __( 'Connect With Google Analytics', 'all-in-one-seo-pack' ), ),
548
  "google_analytics_id"=> Array(
549
+ 'name' => __( 'Google Analytics ID:', 'all-in-one-seo-pack' ),
550
  'default' => null, 'type' => 'text', 'placeholder' => 'UA-########-#' ),
551
  "ga_use_universal_analytics" => Array(
552
+ 'name' => __( 'Use Universal Analytics:', 'all-in-one-seo-pack' ),
553
  'default' => 0,
554
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ) ) ),
555
  "ga_advanced_options"=> Array(
556
+ 'name' => __( 'Advanced Analytics Options:', 'all-in-one-seo-pack' ),
557
  'default' => 'on',
558
  'type' => 'radio',
559
+ 'initial_options' => Array( 'on' => __( 'Enabled', 'all-in-one-seo-pack' ),
560
+ 0 => __( 'Disabled', 'all-in-one-seo-pack' ) ),
561
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ) ) ),
562
  "ga_domain"=> Array(
563
+ 'name' => __( 'Tracking Domain:', 'all-in-one-seo-pack' ),
564
  'type' => 'text',
565
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on') ),
566
  "ga_multi_domain"=> Array(
567
+ 'name' => __( 'Track Multiple Domains:', 'all-in-one-seo-pack' ),
568
  'default' => 0,
569
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
570
  "ga_addl_domains" => Array(
571
+ 'name' => __( 'Additional Domains:', 'all-in-one-seo-pack' ),
572
  'type' => 'textarea',
573
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on', 'aiosp_ga_multi_domain' => 'on' ) ),
574
  "ga_anonymize_ip"=> Array(
575
+ 'name' => __( 'Anonymize IP Addresses:', 'all-in-one-seo-pack' ),
576
  'type' => 'checkbox',
577
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
578
  "ga_display_advertising"=> Array(
579
+ 'name' => __( 'Display Advertiser Tracking:', 'all-in-one-seo-pack' ),
580
  'type' => 'checkbox',
581
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
582
  "ga_exclude_users"=> Array(
583
+ 'name' => __( 'Exclude Users From Tracking:', 'all-in-one-seo-pack' ),
584
  'type' => 'multicheckbox',
585
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
586
  "ga_track_outbound_links"=> Array(
587
+ 'name' => __( 'Track Outbound Links:', 'all-in-one-seo-pack' ),
588
  'default' => 0,
589
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
590
  "ga_link_attribution"=> Array(
591
+ 'name' => __( 'Enhanced Link Attribution:', 'all-in-one-seo-pack' ),
592
  'default' => 0,
593
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_advanced_options' => 'on' ) ),
594
  "ga_enhanced_ecommerce"=> Array(
595
+ 'name' => __( 'Enhanced Ecommerce:', 'all-in-one-seo-pack' ),
596
  'default' => 0,
597
  'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_use_universal_analytics' => 'on', 'aiosp_ga_advanced_options' => 'on' ) ),
598
  "use_categories"=> Array(
599
+ 'name' => __( 'Use Categories for META keywords:', 'all-in-one-seo-pack' ),
600
  'default' => 0,
601
  'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
602
  "use_tags_as_keywords" => Array(
603
+ 'name' => __( 'Use Tags for META keywords:', 'all-in-one-seo-pack' ),
604
  'default' => 1,
605
  'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
606
  "dynamic_postspage_keywords"=> Array(
607
+ 'name' => __( 'Dynamically Generate Keywords for Posts Page/Archives:', 'all-in-one-seo-pack' ),
608
  'default' => 1,
609
  'condshow' => Array( "aiosp_togglekeywords" => 0 ) ),
610
  "category_noindex"=> Array(
611
+ 'name' => __( 'Use noindex for Categories:', 'all-in-one-seo-pack' ),
612
  'default' => 1),
613
  "archive_date_noindex"=> Array(
614
+ 'name' => __( 'Use noindex for Date Archives:', 'all-in-one-seo-pack' ),
615
  'default' => 1),
616
  "archive_author_noindex"=> Array(
617
+ 'name' => __( 'Use noindex for Author Archives:', 'all-in-one-seo-pack' ),
618
  'default' => 1),
619
  "tags_noindex"=> Array(
620
+ 'name' => __( 'Use noindex for Tag Archives:', 'all-in-one-seo-pack' ),
621
  'default' => 0),
622
  "search_noindex"=> Array(
623
+ 'name' => __( 'Use noindex for the Search page:', 'all-in-one-seo-pack' ),
624
  'default' => 0),
625
  "404_noindex"=> Array(
626
+ 'name' => __( 'Use noindex for the 404 page:', 'all-in-one-seo-pack' ),
627
  'default' => 0),
628
  "tax_noindex"=> Array(
629
+ 'name' => __( 'Use noindex for Taxonomy Archives:', 'all-in-one-seo-pack' ),
630
  'type' => 'multicheckbox', 'default' => array(),
631
  'condshow' => Array( 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on' )
632
  ),
633
  "paginated_noindex" => Array(
634
+ 'name' => __( 'Use noindex for paginated pages/posts:', 'all-in-one-seo-pack' ),
635
  'default' => 0),
636
  "paginated_nofollow"=> Array(
637
+ 'name' => __( 'Use nofollow for paginated pages/posts:', 'all-in-one-seo-pack' ),
638
  'default' => 0),
639
  "noodp"=> Array(
640
+ 'name' => __( 'Exclude site from the Open Directory Project:', 'all-in-one-seo-pack' ),
641
  'default' => 0),
642
  "noydir"=> Array(
643
+ 'name' => __( 'Exclude site from Yahoo! Directory:', 'all-in-one-seo-pack' ),
644
  'default' => 0),
645
  "skip_excerpt"=> Array(
646
+ 'name' => __( 'Avoid Using The Excerpt In Descriptions:', 'all-in-one-seo-pack' ),
647
  'default' => 0 ),
648
  "generate_descriptions"=> Array(
649
+ 'name' => __( 'Autogenerate Descriptions:', 'all-in-one-seo-pack' ),
650
  'default' => 1),
651
  "run_shortcodes"=> Array(
652
+ 'name' => __( 'Run Shortcodes In Autogenerated Descriptions:', 'all-in-one-seo-pack' ),
653
  'default' => 0,
654
  'condshow' => Array( 'aiosp_generate_descriptions' => 'on' ) ),
655
  "hide_paginated_descriptions"=> Array(
656
+ 'name' => __( 'Remove Descriptions For Paginated Pages:', 'all-in-one-seo-pack' ),
657
  'default' => 0),
658
  "dont_truncate_descriptions"=> Array(
659
+ 'name' => __( 'Never Shorten Long Descriptions:', 'all-in-one-seo-pack' ),
660
  'default' => 0),
661
  "schema_markup"=> Array(
662
+ 'name' => __( 'Use Schema.org Markup', 'all-in-one-seo-pack' ),
663
  'default' => 1),
664
  "unprotect_meta"=> Array(
665
+ 'name' => __( 'Unprotect Post Meta Fields:', 'all-in-one-seo-pack' ),
666
  'default' => 0),
667
  "ex_pages" => Array(
668
+ 'name' => __( 'Exclude Pages:', 'all-in-one-seo-pack' ),
669
  'type' => 'textarea', 'default' => '' ),
670
  "post_meta_tags"=> Array(
671
+ 'name' => __( 'Additional Post Headers:', 'all-in-one-seo-pack' ),
672
  'type' => 'textarea', 'default' => '', 'sanitize' => 'default' ),
673
  "page_meta_tags"=> Array(
674
+ 'name' => __( 'Additional Page Headers:', 'all-in-one-seo-pack' ),
675
  'type' => 'textarea', 'default' => '', 'sanitize' => 'default' ),
676
  "front_meta_tags"=> Array(
677
+ 'name' => __( 'Additional Front Page Headers:', 'all-in-one-seo-pack' ),
678
  'type' => 'textarea', 'default' => '', 'sanitize' => 'default' ),
679
  "home_meta_tags"=> Array(
680
+ 'name' => __( 'Additional Blog Page Headers:', 'all-in-one-seo-pack' ),
681
  'type' => 'textarea', 'default' => '', 'sanitize' => 'default' ),
682
  "do_log"=> Array(
683
+ 'name' => __( 'Log important events:', 'all-in-one-seo-pack' ),
684
  'default' => null ),
685
  );
686
 
693
  'nonce-aioseop-edit' => Array( 'type' => 'hidden', 'default' => null, 'prefix' => false, 'nowrap' => 1 ),
694
  'upgrade' => Array( 'type' => 'html', 'label' => 'none',
695
  'default' => '<a target="__blank" href="http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=meta">'
696
+ . __( 'Upgrade to All in One SEO Pack Pro Version', 'all-in-one-seo-pack' ) . '</a>'
697
  ),
698
+ 'snippet' => Array( 'name' => __( 'Preview Snippet', 'all-in-one-seo-pack' ), 'type' => 'custom', 'label' => 'top',
699
  'default' => '
700
  <script>
701
  jQuery(document).ready(function() {
708
  });
709
  </script>
710
  <div class="preview_snippet"><div id="aioseop_snippet"><h3><a>%s</a></h3><div><div><cite id="aioseop_snippet_link">%s</cite></div><span id="aioseop_snippet_description">%s</span></div></div></div>' ),
711
+ 'title' => Array( 'name' => __( 'Title', 'all-in-one-seo-pack' ), 'type' => 'text', 'count' => true, 'size' => 60 ),
712
+ 'description' => Array( 'name' => __( 'Description', 'all-in-one-seo-pack' ), 'type' => 'textarea', 'count' => true, 'cols' => 80, 'rows' => 2 ),
713
 
714
+ 'keywords' => Array( 'name' => __( 'Keywords (comma separated)', 'all-in-one-seo-pack' ), 'type' => 'text' ),
715
+ 'custom_link' => Array( 'name' => __( 'Custom Canonical URL', 'all-in-one-seo-pack' ), 'type' => 'text', 'size' => 60 ),
716
+ 'noindex' => Array( 'name' => __( "Robots Meta NOINDEX", 'all-in-one-seo-pack' ), 'default' => '' ),
717
+ 'nofollow' => Array( 'name' => __( "Robots Meta NOFOLLOW", 'all-in-one-seo-pack' ), 'default' => '' ),
718
+ 'noodp' => Array( 'name' => __( "Robots Meta NOODP", 'all-in-one-seo-pack' ) ),
719
+ 'noydir' => Array( 'name' => __( "Robots Meta NOYDIR", 'all-in-one-seo-pack' ) ),
720
+ 'titleatr' => Array( 'name' => __( 'Title Attribute', 'all-in-one-seo-pack' ), 'type' => 'text', 'size' => 60 ),
721
+ 'menulabel' => Array( 'name' => __( 'Menu Label', 'all-in-one-seo-pack' ), 'type' => 'text', 'size' => 60 ),
722
+ 'sitemap_exclude' => Array( 'name' => __( 'Exclude From Sitemap', 'all-in-one-seo-pack' ) ),
723
+ 'disable' => Array( 'name' => __( 'Disable on this page/post', 'all-in-one-seo-pack' ) ),
724
+ 'disable_analytics' => Array( 'name' => __( 'Disable Google Analytics', 'all-in-one-seo-pack' ), 'condshow' => Array( 'aiosp_disable' => 'on' ) ) ),
725
  'display' => null )
726
  );
727
 
731
 
732
  $this->layout = Array(
733
  'default' => Array(
734
+ 'name' => __( 'General Settings', 'all-in-one-seo-pack' ),
735
  'help_link' => 'http://semperplugins.com/documentation/general-settings/',
736
  'options' => Array() // this is set below, to the remaining options -- pdb
737
  ),
738
  'home' => Array(
739
+ 'name' => __( 'Home Page Settings', 'all-in-one-seo-pack' ),
740
  'help_link' => 'http://semperplugins.com/documentation/home-page-settings/',
741
  'options' => Array( 'home_title', 'home_description', 'home_keywords', 'use_static_home_info' )
742
  ),
743
  'keywords' => Array(
744
+ 'name' => __( 'Keyword Settings', 'all-in-one-seo-pack' ),
745
  'help_link' => 'http://semperplugins.com/documentation/keyword-settings/',
746
  'options' => Array( "togglekeywords", "use_categories", "use_tags_as_keywords", "dynamic_postspage_keywords" )
747
  ),
748
  'title' => Array(
749
+ 'name' => __( 'Title Settings', 'all-in-one-seo-pack' ),
750
  'help_link' => 'http://semperplugins.com/documentation/title-settings/',
751
  'options' => Array( "rewrite_titles", "force_rewrites", "cap_titles", "cap_cats", "home_page_title_format", "page_title_format", "post_title_format", "category_title_format", "archive_title_format", "date_title_format", "author_title_format",
752
  "tag_title_format", "search_title_format", "description_format", "404_title_format", "paged_format" )
753
  ),
754
  'cpt' => Array(
755
+ 'name' => __( 'Custom Post Type Settings', 'all-in-one-seo-pack' ),
756
  'help_link' => 'http://semperplugins.com/documentation/custom-post-type-settings/',
757
  'options' => Array( "enablecpost", "cpostadvanced", "cpostactive", "cposttitles" )
758
  ),
759
  'display' => Array(
760
+ 'name' => __( 'Display Settings', 'all-in-one-seo-pack' ),
761
  'help_link' => 'http://semperplugins.com/documentation/display-settings/',
762
  'options' => Array( "posttypecolumns", "admin_bar", "custom_menu_order" )
763
  ),
764
  'webmaster' => Array(
765
+ 'name' => __( 'Webmaster Verification', 'all-in-one-seo-pack' ),
766
  'help_link' => 'http://semperplugins.com/sections/webmaster-verification/',
767
  'options' => Array( "google_verify", "bing_verify", "pinterest_verify" )
768
  ),
769
  'google' => Array(
770
+ 'name' => __( 'Google Settings', 'all-in-one-seo-pack' ),
771
  'help_link' => 'http://semperplugins.com/documentation/google-settings/',
772
  'options' => Array( "google_publisher", "google_disable_profile", "google_sitelinks_search", "google_set_site_name", "google_specify_site_name", "google_author_advanced", "google_author_location", "google_enable_publisher" , "google_specify_publisher",
773
  // "google_connect",
774
  "google_analytics_id", "ga_use_universal_analytics", "ga_advanced_options", "ga_domain", "ga_multi_domain", "ga_addl_domains", "ga_anonymize_ip", "ga_display_advertising", "ga_exclude_users", "ga_track_outbound_links", "ga_link_attribution", "ga_enhanced_ecommerce" )
775
  ),
776
  'noindex' => Array(
777
+ 'name' => __( 'Noindex Settings', 'all-in-one-seo-pack' ),
778
  'help_link' => 'http://semperplugins.com/documentation/noindex-settings/',
779
  'options' => Array( 'cpostnoindex', 'cpostnofollow', 'cpostnoodp', 'cpostnoydir', 'category_noindex', 'archive_date_noindex', 'archive_author_noindex', 'tags_noindex', 'search_noindex', '404_noindex', 'tax_noindex', 'paginated_noindex', 'paginated_nofollow', 'noodp', 'noydir' )
780
  ),
781
  'advanced' => Array(
782
+ 'name' => __( 'Advanced Settings', 'all-in-one-seo-pack' ),
783
  'help_link' => 'http://semperplugins.com/documentation/advanced-settings/',
784
  'options' => Array( 'generate_descriptions', 'skip_excerpt', 'run_shortcodes', 'hide_paginated_descriptions', 'dont_truncate_descriptions', 'unprotect_meta', 'ex_pages', 'post_meta_tags', 'page_meta_tags', 'front_meta_tags', 'home_meta_tags' )
785
  )
1078
  $this->default_options["cpostnoodp"]['initial_options'] = $post_types;
1079
  $this->default_options["cpostnoydir"]['initial_options'] = $post_types;
1080
  $this->default_options["google_author_location"]['initial_options'] = $post_types;
1081
+ $this->default_options['google_author_location' ]['initial_options'] = array_merge( Array( 'front' => __( 'Front Page', 'all-in-one-seo-pack' ) ), $post_types, Array( 'all' => __( 'Everywhere Else', 'all-in-one-seo-pack' ) ) );
1082
  $this->default_options["google_author_location"]['default'] = array_keys( $this->default_options["google_author_location"]['initial_options'] );
1083
 
1084
  foreach ( $post_types as $p => $pt ) {
1086
  $name = $post_objs[$p]->labels->singular_name;
1087
  if ( !isset( $this->default_options[$field] ) ) {
1088
  $this->default_options[$field] = Array (
1089
+ 'name' => "$name " . __( 'Title Format:', 'all-in-one-seo-pack' ) . "<br />($p)",
1090
  'type' => 'text',
1091
  'default' => '%post_title% | %blog_title%',
1092
  'condshow' => Array( 'aiosp_rewrite_titles' => 1, 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on', 'aiosp_cposttitles' => 'on', 'aiosp_cpostactive\[\]' => $p )
1093
  );
1094
+ $this->help_text[$field] = __( 'The following macros are supported:', 'all-in-one-seo-pack' )
1095
+ . '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
1096
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
1097
+ __( '%post_title% - The original title of the post.', 'all-in-one-seo-pack' ) . '</li><li>';
1098
  $taxes = get_object_taxonomies( $p, 'objects' );
1099
  if ( !empty( $taxes ) )
1100
  foreach( $taxes as $n => $t )
1101
+ $this->help_text[$field] .= sprintf( __( "%%tax_%s%% - This post's associated %s taxonomy title", 'all-in-one-seo-pack' ), $n, $t->label ) . '</li><li>';
1102
  $this->help_text[$field] .=
1103
+ __( "%post_author_login% - This post's author' login", 'all-in-one-seo-pack' ) . '</li><li>' .
1104
+ __( "%post_author_nicename% - This post's author' nicename", 'all-in-one-seo-pack' ) . '</li><li>' .
1105
+ __( "%post_author_firstname% - This post's author' first name (capitalized)", 'all-in-one-seo-pack' ) . '</li><li>' .
1106
+ __( "%post_author_lastname% - This post's author' last name (capitalized)", 'all-in-one-seo-pack' ) . '</li>' .
1107
  '</ul>';
1108
  $this->help_anchors[$field] = '#custom-titles';
1109
  $this->layout['cpt']['options'][] = $field;
1130
 
1131
  function add_admin_pointers() {
1132
  $this->pointers['aioseop_menu_220'] = Array( 'pointer_target' => '#toplevel_page_all-in-one-seo-pack-aioseop_class',
1133
+ 'pointer_text' => '<h3>' . sprintf( __( 'Welcome to Version %s!', 'all-in-one-seo-pack' ), AIOSEOP_VERSION )
1134
+ . '</h3><p>' . __( 'Thank you for running the latest and greatest All in One SEO Pack ever! Please review your settings, as we\'re always adding new features for you!', 'all-in-one-seo-pack' ) . '</p>',
1135
  'pointer_edge' => 'top',
1136
  'pointer_align' => 'left',
1137
  'pointer_scope' => 'global'
1138
  );
1139
  $this->pointers['aioseop_welcome_220'] = Array( 'pointer_target' => '#aioseop_top_button',
1140
+ 'pointer_text' => '<h3>' . sprintf( __( 'Review Your Settings', 'all-in-one-seo-pack' ), AIOSEOP_VERSION )
1141
+ . '</h3><p>' . __( 'Thank you for running the latest and greatest All in One SEO Pack ever! New since 2.2: Control who accesses your site with the new Robots.txt Editor and File Editor modules! Enable them from the Feature Manager. Remember to review your settings, we have added some new ones!', 'all-in-one-seo-pack' ) . '</p>',
1142
  'pointer_edge' => 'bottom',
1143
  'pointer_align' => 'left',
1144
  'pointer_scope' => 'local'
1157
  }
1158
 
1159
  function filter_submit( $submit ) {
1160
+ $submit['Submit_Default']['value'] = __( 'Reset General Settings to Defaults', 'all-in-one-seo-pack' ) . ' &raquo;';
1161
+ $submit['Submit_All_Default'] = Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __( 'Reset ALL Settings to Defaults', 'all-in-one-seo-pack' ) . ' &raquo;' );
1162
  return $submit;
1163
  }
1164
 
1219
  $post_type = get_post_type( $post );
1220
  if ( !empty( $this->options['aiosp_cpostnoindex'] ) && ( in_array( $post_type, $this->options['aiosp_cpostnoindex'] ) ) ) {
1221
  $settings["{$prefix}noindex"]['type'] = 'select';
1222
+ $settings["{$prefix}noindex"]['initial_options'] = Array( '' => __( 'Default - noindex', 'all-in-one-seo-pack' ), 'off' => __( 'index', 'all-in-one-seo-pack' ), 'on' => __( 'noindex', 'all-in-one-seo-pack' ) );
1223
  }
1224
  if ( !empty( $this->options['aiosp_cpostnofollow'] ) && ( in_array( $post_type, $this->options['aiosp_cpostnofollow'] ) ) ) {
1225
  $settings["{$prefix}nofollow"]['type'] = 'select';
1226
+ $settings["{$prefix}nofollow"]['initial_options'] = Array( '' => __( 'Default - nofollow', 'all-in-one-seo-pack' ), 'off' => __( 'follow', 'all-in-one-seo-pack' ), 'on' => __( 'nofollow', 'all-in-one-seo-pack' ) );
1227
  }
1228
  if ( !empty( $this->options['aiosp_cpostnoodp'] ) && ( in_array( $post_type, $this->options['aiosp_cpostnoodp'] ) ) ) {
1229
  $settings["{$prefix}noodp"]['type'] = 'select';
1230
+ $settings["{$prefix}noodp"]['initial_options'] = Array( '' => __( 'Default - noodp', 'all-in-one-seo-pack' ), 'off' => __( 'odp', 'all-in-one-seo-pack' ), 'on' => __( 'noodp', 'all-in-one-seo-pack' ) );
1231
  }
1232
  if ( !empty( $this->options['aiosp_cpostnoydir'] ) && ( in_array( $post_type, $this->options['aiosp_cpostnoydir'] ) ) ) {
1233
  $settings["{$prefix}noydir"]['type'] = 'select';
1234
+ $settings["{$prefix}noydir"]['initial_options'] = Array( '' => __( 'Default - noydir', 'all-in-one-seo-pack' ), 'off' => __( 'ydir', 'all-in-one-seo-pack' ), 'on' => __( 'noydir', 'all-in-one-seo-pack' ) );
1235
  }
1236
  global $post;
1237
  $info = $this->get_page_snippet_info();
1295
  switch ( $meta['id'] ) {
1296
  case "aioseop-about":
1297
  ?><div class="aioseop_metabox_text">
1298
+ <p><h2 style="display:inline;"><?php echo AIOSEOP_PLUGIN_NAME; ?></h2><?php sprintf( __( "by %s of %s.", 'all-in-one-seo-pack' ), 'Michael Torbert', '<a target="_blank" title="Semper Fi Web Design"
1299
  href="http://semperfiwebdesign.com/">Semper Fi Web Design</a>' ); ?>.</p>
1300
  <?php
1301
  global $current_user;
1306
  wp_parse_str( $_SERVER["QUERY_STRING"], $qa );
1307
  $qa['aioseop_reset_notices'] = 1;
1308
  $url = '?' . build_query( $qa );
1309
+ echo '<p><a href="' . $url . '">' . __( "Reset Dismissed Notices", 'all-in-one-seo-pack' ) . '</a></p>';
1310
  }
1311
  ?>
1312
  <p>
1313
+ <strong><a target="_blank" title="<?php _e('Pro Version', 'all-in-one-seo-pack' ); ?>"
1314
  href="http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=side">
1315
+ <?php _e('UPGRADE TO PRO VERSION', 'all-in-one-seo-pack' ); ?></a></strong></p>
1316
  </div>
1317
  <?php
1318
  case "aioseop-donate":
1327
  </div>
1328
 
1329
  <div class="aioseop_metabox_feature">
1330
+ <a target="_blank" title="<?php _e( 'Donate', 'all-in-one-seo-pack' ); ?>"
1331
  href="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">
1332
+ <img src="<?php echo AIOSEOP_PLUGIN_URL; ?>images/donate.jpg" alt="<?php _e('Donate with Paypal', 'all-in-one-seo-pack' ); ?>" /> </a>
1333
  <a target="_blank" title="Amazon Wish List" href="https://www.amazon.com/wishlist/1NFQ133FNCOOA/ref=wl_web">
1334
+ <img src="<?php echo AIOSEOP_PLUGIN_URL; ?>images/amazon.jpg" alt="<?php _e('My Amazon Wish List', 'all-in-one-seo-pack' ); ?>" /> </a>
1335
+ <a target="_blank" title="<?php _e( 'Follow us on Facebook', 'all-in-one-seo-pack' ); ?>" href="http://www.facebook.com/pages/Semper-Fi-Web-Design/121878784498475"><span class="aioseop_follow_button aioseop_facebook_follow"></span></a>
1336
+ <a target="_blank" title="<?php _e( 'Follow us on Twitter', 'all-in-one-seo-pack' ); ?>" href="http://twitter.com/semperfidev/"><span class="aioseop_follow_button aioseop_twitter_follow"></span></a>
1337
  </div>
1338
 
1339
  </div>
1344
  <div class="aioseop_metabox_text">
1345
  <form action="http://semperfiwebdesign.us1.list-manage.com/subscribe/post?u=794674d3d54fdd912f961ef14&amp;id=af0a96d3d9"
1346
  method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
1347
+ <h2><?php _e( 'Join our mailing list for tips, tricks, and WordPress secrets.', 'all-in-one-seo-pack' ); ?></h2>
1348
+ <p><i><?php _e( 'Sign up today and receive a free copy of the e-book 5 SEO Tips for WordPress ($39 value).', 'all-in-one-seo-pack' ); ?></i></p>
1349
  <p><input type="text" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="Email Address">
1350
  <input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="btn"></p>
1351
  </form>
1354
  break;
1355
  case "aioseop-support":
1356
  ?><div class="aioseop_metabox_text">
1357
+ <p><div class="aioseop_icon aioseop_file_icon"></div><a target="_blank" href="http://semperplugins.com/documentation/"><?php _e( 'Read the All in One SEO Pack user guide', 'all-in-one-seo-pack' ); ?></a></p>
1358
+ <p><div class="aioseop_icon aioseop_support_icon"></div><a target="_blank" title="<?php _e( 'All in One SEO Pro Plugin Support Forum', 'all-in-one-seo-pack' ); ?>"
1359
+ href="http://semperplugins.com/support/"><?php _e( 'Access our Premium Support Forums', 'all-in-one-seo-pack' ); ?></a></p>
1360
+ <p><div class="aioseop_icon aioseop_cog_icon"></div><a target="_blank" title="<?php _e( 'All in One SEO Pro Plugin Changelog', 'all-in-one-seo-pack' ); ?>"
1361
+ href="http://semperfiwebdesign.com/blog/all-in-one-seo-pack/all-in-one-seo-pack-release-history/"><?php _e( 'View the Changelog', 'all-in-one-seo-pack' ); ?></a></p>
1362
+ <p><div class="aioseop_icon aioseop_youtube_icon"></div><a target="_blank" href="http://semperplugins.com/doc-type/video/"><?php _e( 'Watch video tutorials', 'all-in-one-seo-pack' ); ?></a></p>
1363
+ <p><div class="aioseop_icon aioseop_book_icon"></div><a target="_blank" href="http://semperplugins.com/documentation/quick-start-guide/"><?php _e( 'Getting started? Read the Beginners Guide', 'all-in-one-seo-pack' ); ?></a></p>
1364
  </div>
1365
  <?php
1366
  break;
1446
 
1447
  function init() {
1448
  if ( !defined( 'WP_PLUGIN_DIR' ) ) {
1449
+ load_plugin_textdomain( 'all-in-one-seo-pack', str_replace( ABSPATH, '', dirname( __FILE__ ) ) );
1450
  } else {
1451
+ load_plugin_textdomain( 'all-in-one-seo-pack', false, AIOSEOP_PLUGIN_DIRNAME );
1452
  }
1453
  }
1454
 
1772
  static $aioseop_dup_counter = 0;
1773
  $aioseop_dup_counter++;
1774
  if ( $aioseop_dup_counter > 1 ) {
1775
+ echo "\n<!-- " . sprintf( __( "Debug Warning: All in One SEO Pack meta data was included again from %s filter. Called %s times!", 'all-in-one-seo-pack' ), current_filter(), $aioseop_dup_counter ) . " -->\n";
1776
  return;
1777
  }
1778
  if ( is_home() && !is_front_page() ) {
2024
  $this->default_options["google_connect"]["type"] = 'html';
2025
  $this->default_options["google_connect"]["nolabel"] = 1;
2026
  $this->default_options["google_connect"]["save"] = true;
2027
+ $this->default_options["google_connect"]["name"] = __( 'Disconnect From Google Analytics', 'all-in-one-seo-pack' );
2028
+ $this->default_options["google_connect"]["default"] = "<input name='aiosp_google_connect' type=submit class='button-primary' value='" . __( 'Remove Stored Credentials', 'all-in-one-seo-pack' ) . "'>";
2029
  add_filter( $this->prefix . 'override_options', Array( $this, 'override_options' ), 10, 3 );
2030
  } else {
2031
  $this->default_options["google_connect"]["type"] = 'html';
2032
  $this->default_options["google_connect"]["nolabel"] = 1;
2033
  $this->default_options["google_connect"]["save"] = false;
2034
  $url = $this->oauth_connect();
2035
+ $this->default_options["google_connect"]["default"] = "<a href='{$url}' class='button-primary'>" . __( 'Connect With Google Analytics', 'all-in-one-seo-pack' ) . "</a>";
2036
  foreach ( Array( "token", "secret", "access_token", "ga_token", "account_cache" ) as $v ) {
2037
  if ( !empty( $this->$v) ) $preload["{$this->prefix}{$v}"] = $this->$v;
2038
  }
2047
 
2048
  function oauth_get_data( $oauth_url, $args = null ) {
2049
  if ( !class_exists( 'OAuthConsumer' ) ) require_once( 'OAuth.php' );
2050
+ if ( $args === null ) $args = Array( 'scope' => 'https://www.googleapis.com/auth/analytics.readonly', 'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', 'all-in-one-seo-pack' ) );
2051
  $req_token = new OAuthConsumer( $this->token, $this->secret );
2052
  $req = $this->oauth_get_creds( $oauth_url, $req_token, $args );
2053
  return wp_remote_get( $req->to_url() );
2065
 
2066
  function oauth_get_token( $oauth_verifier ) {
2067
  if ( !class_exists( 'OAuthConsumer' ) ) require_once( 'OAuth.php' );
2068
+ $args = Array( 'scope' => 'https://www.google.com/analytics/feeds/', 'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', 'all-in-one-seo-pack' ) );
2069
  $args['oauth_verifier'] = $oauth_verifier;
2070
  $oauth_access_token = "https://www.google.com/accounts/OAuthGetAccessToken";
2071
  $reqData = $this->oauth_get_data( $oauth_access_token, $args );
2097
  }
2098
  $args = array(
2099
  'scope' => 'https://www.google.com/analytics/feeds/',
2100
+ 'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', 'all-in-one-seo-pack')
2101
  );
2102
  $req_req = $this->oauth_get_creds( $oauth_request_token, NULL, $args, admin_url( "admin.php?page=all-in-one-seo-pack/aioseop_class.php" ) );
2103
  $reqData = wp_remote_get( $req_req->to_url() );
3119
  return $keywords;
3120
  }
3121
 
3122
+ function get_all_terms( $id, $taxonomy ) {
3123
  $keywords = Array();
3124
+ $terms = get_the_terms( $id, $taxonomy );
3125
  if ( !empty( $terms ) )
3126
  foreach ( $terms as $term )
3127
  $keywords[] = $this->internationalize( $term->name );
3283
  if ( empty( $url ) )
3284
  $url = esc_url( admin_url( 'admin.php?page=' . $menu_slug ) );
3285
 
3286
+ $wp_admin_bar->add_menu( array( 'id' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'SEO', 'all-in-one-seo-pack' ), 'href' => $url ) );
3287
  if ( current_user_can( 'update_plugins' ) )
3288
  add_action( 'admin_bar_menu', array( $this, 'admin_bar_upgrade_menu' ), 1101 );
3289
  $aioseop_admin_menu = 1;
3290
  if ( !is_admin() && !empty( $post ) ) {
3291
  $blog_page = $this->get_blog_page( $post );
3292
  if ( !empty( $blog_page ) ) $post = $blog_page;
3293
+ $wp_admin_bar->add_menu( array( 'id' => 'aiosp_edit_' . $post->ID, 'parent' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'Edit SEO', 'all-in-one-seo-pack' ), 'href' => get_edit_post_link( $post->ID ) . '#aiosp' ) );
3294
  }
3295
  }
3296
  }
3297
 
3298
  function admin_bar_upgrade_menu() {
3299
  global $wp_admin_bar;
3300
+ $wp_admin_bar->add_menu( array( 'parent' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'Upgrade To Pro', 'all-in-one-seo-pack' ), 'id' => 'aioseop-pro-upgrade', 'href' => 'http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=menu', 'meta' => Array( 'target' => '_blank' ) ) );
3301
  }
3302
 
3303
  function menu_order() {
3306
 
3307
  function admin_menu() {
3308
  $file = plugin_basename( __FILE__ );
3309
+ $menu_name = __( 'All in One SEO', 'all-in-one-seo-pack' );
3310
 
3311
  $this->locations['aiosp']['default_options']['nonce-aioseop-edit']['default'] = wp_create_nonce('edit-aioseop-nonce');
3312
 
3350
  if ( $donated ) {
3351
  // Thank you for your donation
3352
  $this->pointers['aioseop_donate'] = Array( 'pointer_target' => '#aiosp_donate_wrapper',
3353
+ 'pointer_text' => '<h3>' . __( 'Thank you!', 'all-in-one-seo-pack' )
3354
+ . '</h3><p>' . __( 'Thank you for your donation, it helps keep this plugin free and actively developed!', 'all-in-one-seo-pack' ) . '</p>'
3355
  );
3356
  }
3357
 
3375
  else
3376
  add_utility_page( $menu_name, $menu_name, 'manage_options', $file, Array( $this, 'display_settings_page' ) );
3377
 
3378
+ add_meta_box('aioseop-list', __( "Join Our Mailing List", 'all-in-one-seo-pack' ), array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'normal', 'core');
3379
  add_meta_box('aioseop-about', "About <span style='float:right;'>Version <b>" . AIOSEOP_VERSION . "</b></span>", array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'side', 'core');
3380
+ add_meta_box('aioseop-support', __( "Support", 'all-in-one-seo-pack' ) . " <span style='float:right;'>" . __( "Version", 'all-in-one-seo-pack' ) . " <b>" . AIOSEOP_VERSION . "</b></span>", array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'side', 'core');
3381
 
3382
  add_action( 'aioseop_modules_add_menus', Array( $this, 'add_menu' ), 5 );
3383
  do_action( 'aioseop_modules_add_menus', $file );
3399
  if ( $title != $this->plugin_name ) $title = $this->plugin_name . ' - ' . $title;
3400
  if ( $tab_num <= 1 ) {
3401
  if ( !empty( $m[0]['callback_args']['help_link'] ) )
3402
+ $title .= "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $m[0]['callback_args']['help_link'] . "'><span>" . __( 'Help', 'all-in-one-seo-pack' ) . "</span></a>";
3403
  add_meta_box( $m[0]['id'], $title, $m[0]['callback'], $m[0]['post_type'], $m[0]['context'], $m[0]['priority'], $m[0]['callback_args'] );
3404
  } elseif ( $tab_num > 1 ) {
3405
  add_meta_box( $m[0]['id'] . '_tabbed', $title, Array( $this, 'display_tabbed_metabox' ), $m[0]['post_type'], $m[0]['context'], $m[0]['priority'], $m );
3411
  $title = $m['title'];
3412
  if ( $title != $this->plugin_name ) $title = $this->plugin_name . ' - ' . $title;
3413
  if ( !empty( $m['help_link'] ) )
3414
+ $title .= "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $m['help_link'] . "'><span>" . __( 'Help', 'all-in-one-seo-pack' ) . "</span></a>";
3415
  add_meta_box( $m['id'], $title, $m['callback'], $m['post_type'], $m['context'], $m['priority'], $m['callback_args'] );
3416
  }
3417
  }
3423
  $active = ' active';
3424
  foreach( $tabs as $t ) {
3425
  if ( $active )
3426
+ $title = __( 'Main Settings', 'all-in-one-seo-pack' );
3427
  else
3428
  $title = $t['title'];
3429
  $header .= '<li><label class="aioseop_header_nav"><a class="aioseop_header_tab' . $active . '" href="#'. $t['id'] .'">'.$title.'</a></label></li>';
3452
  function display_right_sidebar( ) { ?>
3453
 
3454
  <?php
3455
+ /* <label class="aioseop_generic_label"><?php _e('Click on option titles to get help!', 'all-in-one-seo-pack' ); ?></label> */
3456
  global $wpdb;
3457
 
3458
  if( !get_option( 'aioseop_options' ) ) {
3494
  //]]>
3495
  </script>
3496
  <div class="aioseop_advert aioseop_nopad_all">
3497
+ <?php $adid = mt_rand( 21, 23 );
3498
+
3499
+ if($adid == 23){ ?><div style="height: 220px; background-image: url('https://www.wincher.com/Content/Images/plugin/wp/banner30.jpg')">
3500
+ <form style="position: relative; top: 170px; left: 40px;" action="https://www.wincher.com/FastReg" method="post" target="_blank">
3501
+ <input type="hidden" name="adreferer" value="banner<?php echo $adid; ?>"/>
3502
+ <input type="hidden" name="referer" value="all-in-one-seo-pack"/>
3503
+ <input type="text" name="email" placeholder="Email" style="padding-left: 7px; height: 30px; width: 290px; border: solid 1px #DDD;"/>
3504
+ <input type="submit" name="sub" value="Sign up!" style="height: 30px; width: 90px; background-color: #42DA76; color: #FFF; font-weight: bold; border:none; margin-left:5px;"/>
3505
+ </form></div>
3506
+ <?
3507
+ }else{
3508
+ ?>
3509
+ <a href="https://www.wincher.com/?referer=all-in-one-seo-pack&adreferer=banner<?php echo $adid; ?>" target="_blank"><div class=wincherad id=wincher<?php echo $adid; ?>>
3510
+ </div></a>
3511
+ <?php } ?>
3512
+
3513
  </div>
3514
+
3515
+
3516
  <!-- Headway Themes-->
3517
+ <div class="aioseop_advert headwaythemes">
3518
  <div>
3519
  <h3>Drag and Drop WordPress Design</h3>
3520
  <p><a href="http://semperfiwebdesign.com/headwayaio/" target="_blank">Headway Themes</a> allows you to easily create your own stunning website designs! Stop using premade themes start making your own design with Headway's easy to use Drag and Drop interface. All in One SEO Pack users have an exclusive discount by using coupon code <strong>SEMPERFI30</strong> at checkout.</p>
3522
  <a href="http://semperfiwebdesign.com/headwayaio/" target="_blank"><img src="<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>headwaybanner.png"></a>
3523
  </div>
3524
 
3525
+
3526
  </div>
3527
  </div>
3528
  <?php
aioseop_feature_manager.php CHANGED
@@ -11,28 +11,28 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Feature_Manager' ) ) {
11
  protected $module_info = Array( );
12
 
13
  function __construct( $mod ) {
14
- $this->name = __('Feature Manager', 'all_in_one_seo_pack'); // Human-readable name of the plugin
15
  $this->prefix = 'aiosp_feature_manager_'; // option prefix
16
  $this->file = __FILE__; // the current file
17
  parent::__construct();
18
  $this->module_info = Array(
19
- 'sitemap' => Array( 'name' => __( 'XML Sitemaps', 'all_in_one_seo_pack' ),
20
- 'description' => __( 'Create and manage your XML Sitemaps using this feature and submit your XML Sitemap to Google, Bing/Yahoo and Ask.com.', 'all_in_one_seo_pack' ) ),
21
- 'opengraph' => Array( 'name' => __( 'Social Meta', 'all_in_one_seo_pack' ),
22
- 'description' => __( 'Activate this feature to add Social Meta data to your site to deliver closer integration between your website/blog and Facebook, Twitter, and Google+.', 'all_in_one_seo_pack' ) ),
23
- 'robots' => Array( 'name' => __( 'Robots.txt', 'all_in_one_seo_pack' ),
24
- 'description' => __( 'Generate and validate your robots.txt file to guide search engines through your site.', 'all_in_one_seo_pack' ) ),
25
- 'file_editor' => Array( 'name' => __( 'File Editor', 'all_in_one_seo_pack' ),
26
- 'description' => __( 'Edit your robots.txt file and your .htaccess file to fine-tune your site.', 'all_in_one_seo_pack' ) ),
27
- 'bad_robots'=> Array( 'name' => __( 'Bad Bot Blocker', 'all_in_one_seo_pack' ),
28
- 'description' => __( 'Stop badly behaving bots from slowing down your website.', 'all_in_one_seo_pack' ) ),
29
- 'performance' => Array( 'name' => __( 'Performance', 'all_in_one_seo_pack' ),
30
- 'description' => __( 'Optimize performance related to SEO and check your system status.', 'all_in_one_seo_pack' ),
31
  'default' => 'on' ),
32
- 'importer_exporter' => Array( 'name' => __( 'Importer & Exporter', 'all_in_one_seo_pack' ),
33
- 'description' => __( 'Exports and imports your All in One SEO Pack plugin settings.', 'all_in_one_seo_pack' ) ),
34
- 'coming_soon' => Array( 'name' => __( 'Coming Soon...', 'all_in_one_seo_pack' ),
35
- 'description' => __( 'Video Sitemap', 'all_in_one_seo_pack' ),
36
  'save' => false ) );
37
 
38
  // Set up default settings fields
@@ -84,9 +84,9 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Feature_Manager' ) ) {
84
  }
85
 
86
  function filter_submit( $submit, $location = null ) {
87
- $submit['Submit']['value'] = __( 'Update Features', 'all_in_one_seo_pack' ) . ' &raquo;';
88
  $submit['Submit']['class'] .= " hidden";
89
- $submit['Submit_Default']['value'] = __( 'Reset Features', 'all_in_one_seo_pack' ) . ' &raquo;';
90
  return $submit;
91
  }
92
 
11
  protected $module_info = Array( );
12
 
13
  function __construct( $mod ) {
14
+ $this->name = __('Feature Manager', 'all-in-one-seo-pack'); // Human-readable name of the plugin
15
  $this->prefix = 'aiosp_feature_manager_'; // option prefix
16
  $this->file = __FILE__; // the current file
17
  parent::__construct();
18
  $this->module_info = Array(
19
+ 'sitemap' => Array( 'name' => __( 'XML Sitemaps', 'all-in-one-seo-pack' ),
20
+ 'description' => __( 'Create and manage your XML Sitemaps using this feature and submit your XML Sitemap to Google, Bing/Yahoo and Ask.com.', 'all-in-one-seo-pack' ) ),
21
+ 'opengraph' => Array( 'name' => __( 'Social Meta', 'all-in-one-seo-pack' ),
22
+ 'description' => __( 'Activate this feature to add Social Meta data to your site to deliver closer integration between your website/blog and Facebook, Twitter, and Google+.', 'all-in-one-seo-pack' ) ),
23
+ 'robots' => Array( 'name' => __( 'Robots.txt', 'all-in-one-seo-pack' ),
24
+ 'description' => __( 'Generate and validate your robots.txt file to guide search engines through your site.', 'all-in-one-seo-pack' ) ),
25
+ 'file_editor' => Array( 'name' => __( 'File Editor', 'all-in-one-seo-pack' ),
26
+ 'description' => __( 'Edit your robots.txt file and your .htaccess file to fine-tune your site.', 'all-in-one-seo-pack' ) ),
27
+ 'bad_robots'=> Array( 'name' => __( 'Bad Bot Blocker', 'all-in-one-seo-pack' ),
28
+ 'description' => __( 'Stop badly behaving bots from slowing down your website.', 'all-in-one-seo-pack' ) ),
29
+ 'performance' => Array( 'name' => __( 'Performance', 'all-in-one-seo-pack' ),
30
+ 'description' => __( 'Optimize performance related to SEO and check your system status.', 'all-in-one-seo-pack' ),
31
  'default' => 'on' ),
32
+ 'importer_exporter' => Array( 'name' => __( 'Importer & Exporter', 'all-in-one-seo-pack' ),
33
+ 'description' => __( 'Exports and imports your All in One SEO Pack plugin settings.', 'all-in-one-seo-pack' ) ),
34
+ 'coming_soon' => Array( 'name' => __( 'Coming Soon...', 'all-in-one-seo-pack' ),
35
+ 'description' => __( 'Video Sitemap', 'all-in-one-seo-pack' ),
36
  'save' => false ) );
37
 
38
  // Set up default settings fields
84
  }
85
 
86
  function filter_submit( $submit, $location = null ) {
87
+ $submit['Submit']['value'] = __( 'Update Features', 'all-in-one-seo-pack' ) . ' &raquo;';
88
  $submit['Submit']['class'] .= " hidden";
89
+ $submit['Submit_Default']['value'] = __( 'Reset Features', 'all-in-one-seo-pack' ) . ' &raquo;';
90
  return $submit;
91
  }
92
 
aioseop_file_editor.php CHANGED
@@ -9,7 +9,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_File_Editor' ) ) {
9
  class All_in_One_SEO_Pack_File_Editor extends All_in_One_SEO_Pack_Module {
10
 
11
  function All_in_One_SEO_Pack_File_Editor( ) {
12
- $this->name = __('File Editor', 'all_in_one_seo_pack'); // Human-readable name of the plugin
13
  $this->prefix = 'aiosp_file_editor_'; // option prefix
14
  $this->file = __FILE__; // the current file
15
  parent::__construct();
@@ -19,13 +19,13 @@ if ( !class_exists( 'All_in_One_SEO_Pack_File_Editor' ) ) {
19
  $this->current_tab = 'robots';
20
 
21
  $help_text = Array(
22
- 'robotfile' => __( 'Robots.txt editor', 'all_in_one_seo_pack' ),
23
- 'htaccfile' => __( '.htaccess editor', 'all_in_one_seo_pack' )
24
  );
25
  $this->default_options = array(
26
- 'robotfile' => Array( 'name' => __( 'Edit Robots.txt', 'all_in_one_seo_pack'),
27
  'save' => false, 'default' => '', 'type' => 'textarea', 'cols' => 70, 'rows' => 25, 'label' => 'top' ),
28
- 'htaccfile' => Array( 'name' => __( 'Edit .htaccess', 'all_in_one_seo_pack'),
29
  'save' => false, 'default' => '', 'type' => 'textarea', 'cols' => 70, 'rows' => 25, 'label' => 'top' )
30
  );
31
 
@@ -39,12 +39,12 @@ if ( !class_exists( 'All_in_One_SEO_Pack_File_Editor' ) ) {
39
 
40
  $this->layout = Array(
41
  'robots' => Array(
42
- 'name' => __( 'Edit robots.txt', 'all_in_one_seo_pack' ),
43
  'options' => Array( 'robotfile' ),
44
  'tab' => 'robots'
45
  ),
46
  'htaccess' => Array(
47
- 'name' => __( 'Edit .htaccess', 'all_in_one_seo_pack' ),
48
  'options' => Array( 'htaccfile' ),
49
  'tab' => 'htaccess'
50
  )
@@ -67,9 +67,9 @@ if ( !class_exists( 'All_in_One_SEO_Pack_File_Editor' ) ) {
67
  unset( $submit['Submit_Default'] );
68
  $submit['Submit']['type'] = 'hidden';
69
  if ( $this->current_tab == 'robots' )
70
- $submit['Submit_File_Editor'] = Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __('Update robots.txt', 'all_in_one_seo_pack') . ' &raquo;' );
71
  elseif ( $this->current_tab == 'htaccess' )
72
- $submit['Submit_htaccess'] = Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __('Update .htaccess', 'all_in_one_seo_pack') . ' &raquo;' );
73
  return $submit;
74
  }
75
 
9
  class All_in_One_SEO_Pack_File_Editor extends All_in_One_SEO_Pack_Module {
10
 
11
  function All_in_One_SEO_Pack_File_Editor( ) {
12
+ $this->name = __('File Editor', 'all-in-one-seo-pack'); // Human-readable name of the plugin
13
  $this->prefix = 'aiosp_file_editor_'; // option prefix
14
  $this->file = __FILE__; // the current file
15
  parent::__construct();
19
  $this->current_tab = 'robots';
20
 
21
  $help_text = Array(
22
+ 'robotfile' => __( 'Robots.txt editor', 'all-in-one-seo-pack' ),
23
+ 'htaccfile' => __( '.htaccess editor', 'all-in-one-seo-pack' )
24
  );
25
  $this->default_options = array(
26
+ 'robotfile' => Array( 'name' => __( 'Edit Robots.txt', 'all-in-one-seo-pack'),
27
  'save' => false, 'default' => '', 'type' => 'textarea', 'cols' => 70, 'rows' => 25, 'label' => 'top' ),
28
+ 'htaccfile' => Array( 'name' => __( 'Edit .htaccess', 'all-in-one-seo-pack'),
29
  'save' => false, 'default' => '', 'type' => 'textarea', 'cols' => 70, 'rows' => 25, 'label' => 'top' )
30
  );
31
 
39
 
40
  $this->layout = Array(
41
  'robots' => Array(
42
+ 'name' => __( 'Edit robots.txt', 'all-in-one-seo-pack' ),
43
  'options' => Array( 'robotfile' ),
44
  'tab' => 'robots'
45
  ),
46
  'htaccess' => Array(
47
+ 'name' => __( 'Edit .htaccess', 'all-in-one-seo-pack' ),
48
  'options' => Array( 'htaccfile' ),
49
  'tab' => 'htaccess'
50
  )
67
  unset( $submit['Submit_Default'] );
68
  $submit['Submit']['type'] = 'hidden';
69
  if ( $this->current_tab == 'robots' )
70
+ $submit['Submit_File_Editor'] = Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __('Update robots.txt', 'all-in-one-seo-pack') . ' &raquo;' );
71
  elseif ( $this->current_tab == 'htaccess' )
72
+ $submit['Submit_htaccess'] = Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __('Update .htaccess', 'all-in-one-seo-pack') . ' &raquo;' );
73
  return $submit;
74
  }
75
 
aioseop_functions.php CHANGED
@@ -142,10 +142,10 @@ if ( !function_exists( 'aioseop_addmycolumns' ) ) {
142
  if ( !function_exists( 'aioseop_mrt_pcolumns' ) ) {
143
  function aioseop_mrt_pcolumns( $aioseopc ) {
144
  global $aioseop_options;
145
- $aioseopc['seotitle'] = __( 'SEO Title', 'all_in_one_seo_pack' );
146
- $aioseopc['seodesc'] = __( 'SEO Description', 'all_in_one_seo_pack' );
147
  if ( empty( $aioseop_options['aiosp_togglekeywords'] ) )
148
- $aioseopc['seokeywords'] = __( 'SEO Keywords', 'all_in_one_seo_pack' );
149
  return $aioseopc;
150
  }
151
  }
@@ -203,9 +203,9 @@ if ( !function_exists( 'aioseop_admin_head' ) ) {
203
  pluginUrl: "<?php print AIOSEOP_PLUGIN_URL; ?>",
204
  requestUrl: "<?php print WP_ADMIN_URL . '/admin-ajax.php' ?>",
205
  imgUrl: "<?php print AIOSEOP_PLUGIN_IMAGES_URL; ?>",
206
- Edit: "<?php _e( 'Edit', 'all_in_one_seo_pack'); ?>", Post: "<?php _e( 'Post', 'all_in_one_seo_pack'); ?>", Save: "<?php _e( 'Save', 'all_in_one_seo_pack'); ?>", Cancel: "<?php _e( 'Cancel', 'all_in_one_seo_pack'); ?>", postType: "post",
207
- pleaseWait: "<?php _e( 'Please wait...', 'all_in_one_seo_pack'); ?>", slugEmpty: "<?php _e( 'Slug may not be empty!', 'all_in_one_seo_pack'); ?>",
208
- Revisions: "<?php _e( 'Revisions', 'all_in_one_seo_pack'); ?>", Time: "<?php _e( 'Insert time', 'all_in_one_seo_pack'); ?>"
209
  }
210
  //]]>
211
  </script>
@@ -275,7 +275,7 @@ if ( !function_exists( 'aioseop_ajax_save_meta' ) ) {
275
  if( $result != '' ):
276
  $label = "<label id='aioseop_label_{$target}_{$post_id}'><span style='width: 20px;display: inline-block;'></span>" . $result . '</label>';
277
  else:
278
- $label = "<label id='aioseop_label_{$target}_{$post_id}'></label><span style='width: 20px;display: inline-block;'></span><strong><i>" . __( 'No', 'all_in_one_seo_pack' ) . ' ' . $target . '</i></strong>';
279
  endif;
280
  $nonce = wp_create_nonce( "aioseop_meta_{$target}_{$post_id}" );
281
  $output = '<a id="' . $target . 'editlink' . $post_id . '" class="aioseop_edit_link" href="javascript:void(0);"'
@@ -296,7 +296,7 @@ if ( !function_exists( 'aioseop_ajax_init' ) ) {
296
  define( 'AIOSEOP_AJAX_MSG_TMPL', "jQuery('div#aiosp_$settings').fadeOut('fast', function(){jQuery('div#aiosp_$settings').html('%s').fadeIn('fast');});" );
297
 
298
  if ( !wp_verify_nonce($_POST['nonce-aioseop'], 'aioseop-nonce') )
299
- die( sprintf( AIOSEOP_AJAX_MSG_TMPL, __( "Unauthorized access; try reloading the page.", 'all_in_one_seo_pack' ) ) );
300
  } else {
301
  die(0);
302
  }
@@ -355,7 +355,7 @@ if ( !function_exists( 'aioseop_ajax_delete_url' ) ) {
355
  $output = str_replace( "'", "\'", $output );
356
  $output = str_replace( "\n", '\n', $output );
357
  } else {
358
- $output = sprintf( __( "Row %s not found; no rows were deleted.", 'all_in_one_seo_pack' ), esc_attr( $options ) );
359
  }
360
  die( sprintf( AIOSEOP_AJAX_MSG_TMPL, $output ) );
361
  }
@@ -419,18 +419,18 @@ if ( !function_exists( 'aioseop_ajax_scan_header' ) ) {
419
  if ( $m[$tags['name']] == $tv )
420
  $meta .= "<tr><th style='color:red;'>" . sprintf( __( 'Duplicate %s Meta'), ucwords( $type ) ) . "</th><td>" . ucwords( $tk ) . "</td><td>{$m[$tags['name']]}</td><td>{$m[$tags['value']]}</td></tr>\n";
421
  }
422
- if ( empty( $meta ) ) $meta = '<span style="color:green;">' . __( 'No duplicate meta tags found.', 'all_in_one_seo_pack' ) . '</span>';
423
  else {
424
  $meta = "<table cellspacing=0 cellpadding=0 width=80% class='aioseop_table'><tr class='aioseop_table_header'><th>Meta For Site</th><th>Kind of Meta</th><th>Element Name</th><th>Element Value</th></tr>" . $meta . "</table>";
425
- $meta .= "<p><div class='aioseop_meta_info'><h3 style='padding:5px;margin-bottom:0px;'>" . __( 'What Does This Mean?', 'all_in_one_seo_pack' ) . "</h3><div style='padding:5px;padding-top:0px;'>"
426
- . "<p>" . __( 'All in One SEO Pack has detected that a plugin(s) or theme is also outputting social meta tags on your site.  You can view this social meta in the source code of your site (check your browser help for instructions on how to view source code).', 'all_in_one_seo_pack' )
427
- . "</p><p>" . __( 'You may prefer to use the social meta tags that are being output by the other plugin(s) or theme.  If so, then you should deactivate this Social Meta feature in All in One SEO Pack Feature Manager.', 'all_in_one_seo_pack' )
428
- . "</p><p>" . __( 'You should avoid duplicate social meta tags.  You can use these free tools from Facebook, Google and Twitter to validate your social meta and check for errors:', 'all_in_one_seo_pack' ) . "</p>";
429
 
430
  foreach( Array( 'https://developers.facebook.com/tools/debug', 'http://www.google.com/webmasters/tools/richsnippets', 'https://dev.twitter.com/docs/cards/validation/validator' ) as $link ) {
431
  $meta .= "<a href='{$link}' target='_blank'>{$link}</a><br />";
432
  }
433
- $meta .= "<p>" . __( 'Please refer to the document for each tool for help in using these to debug your social meta.', 'all_in_one_seo_pack' ) . "</div></div>";
434
  }
435
  $output = $meta;
436
  $output = str_replace( "'", "\'", $output );
@@ -539,7 +539,7 @@ if ( !function_exists( 'aioseop_mrt_pccolumn' ) ) {
539
  if( !empty($content) ):
540
  $label = "<label id='aioseop_label_{$target}_{$id}'><span style='width: 20px;display: inline-block;'></span>" . $content . '</label>';
541
  else:
542
- $label = "<label id='aioseop_label_{$target}_{$id}'></label><span style='width: 20px;display: inline-block;'></span><strong><i>" . __( 'No', 'all_in_one_seo_pack' ) . " " . $target . '</i></strong>';
543
  endif;
544
  $nonce = wp_create_nonce( "aioseop_meta_{$target}_{$id}" );
545
  echo '<a id="' . $target . 'editlink' . $id . '" class="aioseop_edit_link" href="javascript:void(0);" onclick=\'aioseop_ajax_edit_meta_form(' .
@@ -654,14 +654,14 @@ if ( !function_exists( 'aioseop_add_contactmethods' ) ) {
654
  function aioseop_add_contactmethods( $contactmethods ) {
655
  global $aioseop_options, $aioseop_modules;
656
  if ( empty( $aioseop_options['aiosp_google_disable_profile'] ) )
657
- $contactmethods['googleplus'] = __( 'Google+', 'all_in_one_seo_pack' );
658
  if ( !empty( $aioseop_modules ) && is_object( $aioseop_modules ) ) {
659
  $m = $aioseop_modules->return_module( 'All_in_One_SEO_Pack_Opengraph' );
660
  if ( ( $m !== false ) && is_object( $m ) ) {
661
  if ( $m->option_isset( 'twitter_creator' ) )
662
- $contactmethods['twitter'] = __( 'Twitter', 'all_in_one_seo_pack' );
663
  if ( $m->option_isset( 'facebook_author' ) )
664
- $contactmethods['facebook'] = __( 'Facebook', 'all_in_one_seo_pack' );
665
  }
666
  }
667
  return $contactmethods;
142
  if ( !function_exists( 'aioseop_mrt_pcolumns' ) ) {
143
  function aioseop_mrt_pcolumns( $aioseopc ) {
144
  global $aioseop_options;
145
+ $aioseopc['seotitle'] = __( 'SEO Title', 'all-in-one-seo-pack' );
146
+ $aioseopc['seodesc'] = __( 'SEO Description', 'all-in-one-seo-pack' );
147
  if ( empty( $aioseop_options['aiosp_togglekeywords'] ) )
148
+ $aioseopc['seokeywords'] = __( 'SEO Keywords', 'all-in-one-seo-pack' );
149
  return $aioseopc;
150
  }
151
  }
203
  pluginUrl: "<?php print AIOSEOP_PLUGIN_URL; ?>",
204
  requestUrl: "<?php print WP_ADMIN_URL . '/admin-ajax.php' ?>",
205
  imgUrl: "<?php print AIOSEOP_PLUGIN_IMAGES_URL; ?>",
206
+ Edit: "<?php _e( 'Edit', 'all-in-one-seo-pack'); ?>", Post: "<?php _e( 'Post', 'all-in-one-seo-pack'); ?>", Save: "<?php _e( 'Save', 'all-in-one-seo-pack'); ?>", Cancel: "<?php _e( 'Cancel', 'all-in-one-seo-pack'); ?>", postType: "post",
207
+ pleaseWait: "<?php _e( 'Please wait...', 'all-in-one-seo-pack'); ?>", slugEmpty: "<?php _e( 'Slug may not be empty!', 'all-in-one-seo-pack'); ?>",
208
+ Revisions: "<?php _e( 'Revisions', 'all-in-one-seo-pack'); ?>", Time: "<?php _e( 'Insert time', 'all-in-one-seo-pack'); ?>"
209
  }
210
  //]]>
211
  </script>
275
  if( $result != '' ):
276
  $label = "<label id='aioseop_label_{$target}_{$post_id}'><span style='width: 20px;display: inline-block;'></span>" . $result . '</label>';
277
  else:
278
+ $label = "<label id='aioseop_label_{$target}_{$post_id}'></label><span style='width: 20px;display: inline-block;'></span><strong><i>" . __( 'No', 'all-in-one-seo-pack' ) . ' ' . $target . '</i></strong>';
279
  endif;
280
  $nonce = wp_create_nonce( "aioseop_meta_{$target}_{$post_id}" );
281
  $output = '<a id="' . $target . 'editlink' . $post_id . '" class="aioseop_edit_link" href="javascript:void(0);"'
296
  define( 'AIOSEOP_AJAX_MSG_TMPL', "jQuery('div#aiosp_$settings').fadeOut('fast', function(){jQuery('div#aiosp_$settings').html('%s').fadeIn('fast');});" );
297
 
298
  if ( !wp_verify_nonce($_POST['nonce-aioseop'], 'aioseop-nonce') )
299
+ die( sprintf( AIOSEOP_AJAX_MSG_TMPL, __( "Unauthorized access; try reloading the page.", 'all-in-one-seo-pack' ) ) );
300
  } else {
301
  die(0);
302
  }
355
  $output = str_replace( "'", "\'", $output );
356
  $output = str_replace( "\n", '\n', $output );
357
  } else {
358
+ $output = sprintf( __( "Row %s not found; no rows were deleted.", 'all-in-one-seo-pack' ), esc_attr( $options ) );
359
  }
360
  die( sprintf( AIOSEOP_AJAX_MSG_TMPL, $output ) );
361
  }
419
  if ( $m[$tags['name']] == $tv )
420
  $meta .= "<tr><th style='color:red;'>" . sprintf( __( 'Duplicate %s Meta'), ucwords( $type ) ) . "</th><td>" . ucwords( $tk ) . "</td><td>{$m[$tags['name']]}</td><td>{$m[$tags['value']]}</td></tr>\n";
421
  }
422
+ if ( empty( $meta ) ) $meta = '<span style="color:green;">' . __( 'No duplicate meta tags found.', 'all-in-one-seo-pack' ) . '</span>';
423
  else {
424
  $meta = "<table cellspacing=0 cellpadding=0 width=80% class='aioseop_table'><tr class='aioseop_table_header'><th>Meta For Site</th><th>Kind of Meta</th><th>Element Name</th><th>Element Value</th></tr>" . $meta . "</table>";
425
+ $meta .= "<p><div class='aioseop_meta_info'><h3 style='padding:5px;margin-bottom:0px;'>" . __( 'What Does This Mean?', 'all-in-one-seo-pack' ) . "</h3><div style='padding:5px;padding-top:0px;'>"
426
+ . "<p>" . __( 'All in One SEO Pack has detected that a plugin(s) or theme is also outputting social meta tags on your site.  You can view this social meta in the source code of your site (check your browser help for instructions on how to view source code).', 'all-in-one-seo-pack' )
427
+ . "</p><p>" . __( 'You may prefer to use the social meta tags that are being output by the other plugin(s) or theme.  If so, then you should deactivate this Social Meta feature in All in One SEO Pack Feature Manager.', 'all-in-one-seo-pack' )
428
+ . "</p><p>" . __( 'You should avoid duplicate social meta tags.  You can use these free tools from Facebook, Google and Twitter to validate your social meta and check for errors:', 'all-in-one-seo-pack' ) . "</p>";
429
 
430
  foreach( Array( 'https://developers.facebook.com/tools/debug', 'http://www.google.com/webmasters/tools/richsnippets', 'https://dev.twitter.com/docs/cards/validation/validator' ) as $link ) {
431
  $meta .= "<a href='{$link}' target='_blank'>{$link}</a><br />";
432
  }
433
+ $meta .= "<p>" . __( 'Please refer to the document for each tool for help in using these to debug your social meta.', 'all-in-one-seo-pack' ) . "</div></div>";
434
  }
435
  $output = $meta;
436
  $output = str_replace( "'", "\'", $output );
539
  if( !empty($content) ):
540
  $label = "<label id='aioseop_label_{$target}_{$id}'><span style='width: 20px;display: inline-block;'></span>" . $content . '</label>';
541
  else:
542
+ $label = "<label id='aioseop_label_{$target}_{$id}'></label><span style='width: 20px;display: inline-block;'></span><strong><i>" . __( 'No', 'all-in-one-seo-pack' ) . " " . $target . '</i></strong>';
543
  endif;
544
  $nonce = wp_create_nonce( "aioseop_meta_{$target}_{$id}" );
545
  echo '<a id="' . $target . 'editlink' . $id . '" class="aioseop_edit_link" href="javascript:void(0);" onclick=\'aioseop_ajax_edit_meta_form(' .
654
  function aioseop_add_contactmethods( $contactmethods ) {
655
  global $aioseop_options, $aioseop_modules;
656
  if ( empty( $aioseop_options['aiosp_google_disable_profile'] ) )
657
+ $contactmethods['googleplus'] = __( 'Google+', 'all-in-one-seo-pack' );
658
  if ( !empty( $aioseop_modules ) && is_object( $aioseop_modules ) ) {
659
  $m = $aioseop_modules->return_module( 'All_in_One_SEO_Pack_Opengraph' );
660
  if ( ( $m !== false ) && is_object( $m ) ) {
661
  if ( $m->option_isset( 'twitter_creator' ) )
662
+ $contactmethods['twitter'] = __( 'Twitter', 'all-in-one-seo-pack' );
663
  if ( $m->option_isset( 'facebook_author' ) )
664
+ $contactmethods['facebook'] = __( 'Facebook', 'all-in-one-seo-pack' );
665
  }
666
  }
667
  return $contactmethods;
aioseop_importer_exporter.php CHANGED
@@ -9,27 +9,27 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Importer_Exporter' ) ) {
9
  class All_in_One_SEO_Pack_Importer_Exporter extends All_in_One_SEO_Pack_Module {
10
 
11
  function All_in_One_SEO_Pack_Importer_Exporter( ) {
12
- $this->name = __( 'Importer & Exporter', 'all_in_one_seo_pack' ); // Human-readable name of the module
13
  $this->prefix = 'aiosp_importer_exporter_'; // option prefix
14
  $this->file = __FILE__;
15
  parent::__construct();
16
  $help_text = Array(
17
- "import_submit" => __( "Select a valid All in One SEO Pack ini file and click 'Import' to import options from a previous state or install of All in One SEO Pack.<br /><a href='http://semperplugins.com/documentation/importer-exporter-module/' target='_blank'>Click here for documentation on this setting</a>", 'all_in_one_seo_pack' ),
18
- "export_choices" => __( "You may choose to export settings from active modules, and content from post data.<br /><a href='http://semperplugins.com/documentation/importer-exporter-module/' target='_blank'>Click here for documentation on this setting</a>", 'all_in_one_seo_pack'),
19
- "export_post_types" => __( "Select which Post Types you want to export your All in One SEO Pack meta data for.<br /><a href='http://semperplugins.com/documentation/importer-exporter-module/' target='_blank'>Click here for documentation on this setting</a>", 'all_in_one_seo_pack')
20
  );
21
  $this->warnings = Array();
22
  $this->default_options = array(
23
- 'import_submit' => Array( 'name' => __( 'Import', 'all_in_one_seo_pack' ), 'default' => '', 'type' => 'file', 'save' => false ),
24
- 'export_choices' => Array( 'name' => __( 'Export Settings', 'all_in_one_seo_pack'),
25
  'type' => 'multicheckbox',
26
  'initial_options' => Array( 1 => 'General Settings',
27
  2 => 'Post Data' ) ),
28
- 'export_post_types' => Array( 'name' => __( 'Export Post Types:', 'all_in_one_seo_pack' ),
29
  'default' => Array( 'post' => 'post', 'page' => 'page' ),
30
  'type' => 'multicheckbox',
31
  'initial_options' => $this->get_post_type_titles( Array( '_builtin' => false ) ) ),
32
- 'import_export_help' => Array( 'type' => 'html', 'label' => 'none', 'default' => __( "Note: If General Settings is checked, the General Settings, the Feature Manager settings, and the following currently active modules will have their settings data exported:", 'all_in_one_seo_pack') . "<br />" )
33
  );
34
 
35
  if ( !empty( $help_text ) )
@@ -54,10 +54,10 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Importer_Exporter' ) ) {
54
  }
55
 
56
  function filter_submit( $submit ) {
57
- $submit['Submit']['value'] = __('Import', 'all_in_one_seo_pack') . ' &raquo;';
58
  return Array( 'export_submit' => Array( 'type' => 'submit',
59
  'class' => 'button-primary',
60
- 'value' => __('Export', 'all_in_one_seo_pack') . ' &raquo;' ) ) + $submit;
61
  }
62
 
63
  function debug_post_types( ) {
@@ -77,9 +77,9 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Importer_Exporter' ) ) {
77
  $this->default_options['import_export_help']['default'] .= "\t<li>" . $module->name . "</li>\n";
78
  }
79
  $this->default_options['import_export_help']['default'] .= "\n</ul>\n";
80
- } else $this->default_options['import_export_help']['default'] .= "<br />" . __( "There are no other modules currently loaded!", 'all_in_one_seo_pack' );
81
  }
82
- $this->default_options['import_export_help']['default'] .= '<br />' . __( "You may change this by activating or deactivating modules in the Feature Manager.", 'all_in_one_seo_pack' );
83
  $this->update_options( );
84
 
85
  if ( !empty( $_REQUEST['export_submit'] ) )
@@ -244,7 +244,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Importer_Exporter' ) ) {
244
  else
245
  $section[ $section_label ][ $matches[ 1 ] ] = NULL;
246
  } else {
247
- $this->warnings[] = sprintf( __( '<b>Warning:</b> Line not matched: <b>"%s"</b>, On Line: <b>%s</b>', 'all_in_one_seo_pack' ), $line, $line_number ) ;
248
  }
249
  }
250
  /* Update Plugin Settings */
@@ -267,7 +267,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Importer_Exporter' ) ) {
267
  $post_exists = null;
268
  } else {
269
  $target_title = $module_options[$key]['post_title'];
270
- $post_warning = sprintf( __( '<b>Warning:</b> This following post could not be found: <b>"%s"</b>', 'all_in_one_seo_pack' ), $target_title );
271
  }
272
  if ( $post_warning != null ) {
273
  $this->warnings[] = $post_warning;
@@ -295,7 +295,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Importer_Exporter' ) ) {
295
 
296
  /* Create File Contents */
297
  $settings_file = "settings_aioseop.ini";
298
- $buf = "; " . __( 'Settings export file for All in One SEO Pack', 'all_in_one_seo_pack' ) . "\n";
299
 
300
  /* Add all settings to settings file */
301
  $buf = $aiosp->settings_export( $buf );
9
  class All_in_One_SEO_Pack_Importer_Exporter extends All_in_One_SEO_Pack_Module {
10
 
11
  function All_in_One_SEO_Pack_Importer_Exporter( ) {
12
+ $this->name = __( 'Importer & Exporter', 'all-in-one-seo-pack' ); // Human-readable name of the module
13
  $this->prefix = 'aiosp_importer_exporter_'; // option prefix
14
  $this->file = __FILE__;
15
  parent::__construct();
16
  $help_text = Array(
17
+ "import_submit" => __( "Select a valid All in One SEO Pack ini file and click 'Import' to import options from a previous state or install of All in One SEO Pack.<br /><a href='http://semperplugins.com/documentation/importer-exporter-module/' target='_blank'>Click here for documentation on this setting</a>", 'all-in-one-seo-pack' ),
18
+ "export_choices" => __( "You may choose to export settings from active modules, and content from post data.<br /><a href='http://semperplugins.com/documentation/importer-exporter-module/' target='_blank'>Click here for documentation on this setting</a>", 'all-in-one-seo-pack'),
19
+ "export_post_types" => __( "Select which Post Types you want to export your All in One SEO Pack meta data for.<br /><a href='http://semperplugins.com/documentation/importer-exporter-module/' target='_blank'>Click here for documentation on this setting</a>", 'all-in-one-seo-pack')
20
  );
21
  $this->warnings = Array();
22
  $this->default_options = array(
23
+ 'import_submit' => Array( 'name' => __( 'Import', 'all-in-one-seo-pack' ), 'default' => '', 'type' => 'file', 'save' => false ),
24
+ 'export_choices' => Array( 'name' => __( 'Export Settings', 'all-in-one-seo-pack'),
25
  'type' => 'multicheckbox',
26
  'initial_options' => Array( 1 => 'General Settings',
27
  2 => 'Post Data' ) ),
28
+ 'export_post_types' => Array( 'name' => __( 'Export Post Types:', 'all-in-one-seo-pack' ),
29
  'default' => Array( 'post' => 'post', 'page' => 'page' ),
30
  'type' => 'multicheckbox',
31
  'initial_options' => $this->get_post_type_titles( Array( '_builtin' => false ) ) ),
32
+ 'import_export_help' => Array( 'type' => 'html', 'label' => 'none', 'default' => __( "Note: If General Settings is checked, the General Settings, the Feature Manager settings, and the following currently active modules will have their settings data exported:", 'all-in-one-seo-pack') . "<br />" )
33
  );
34
 
35
  if ( !empty( $help_text ) )
54
  }
55
 
56
  function filter_submit( $submit ) {
57
+ $submit['Submit']['value'] = __('Import', 'all-in-one-seo-pack') . ' &raquo;';
58
  return Array( 'export_submit' => Array( 'type' => 'submit',
59
  'class' => 'button-primary',
60
+ 'value' => __('Export', 'all-in-one-seo-pack') . ' &raquo;' ) ) + $submit;
61
  }
62
 
63
  function debug_post_types( ) {
77
  $this->default_options['import_export_help']['default'] .= "\t<li>" . $module->name . "</li>\n";
78
  }
79
  $this->default_options['import_export_help']['default'] .= "\n</ul>\n";
80
+ } else $this->default_options['import_export_help']['default'] .= "<br />" . __( "There are no other modules currently loaded!", 'all-in-one-seo-pack' );
81
  }
82
+ $this->default_options['import_export_help']['default'] .= '<br />' . __( "You may change this by activating or deactivating modules in the Feature Manager.", 'all-in-one-seo-pack' );
83
  $this->update_options( );
84
 
85
  if ( !empty( $_REQUEST['export_submit'] ) )
244
  else
245
  $section[ $section_label ][ $matches[ 1 ] ] = NULL;
246
  } else {
247
+ $this->warnings[] = sprintf( __( '<b>Warning:</b> Line not matched: <b>"%s"</b>, On Line: <b>%s</b>', 'all-in-one-seo-pack' ), $line, $line_number ) ;
248
  }
249
  }
250
  /* Update Plugin Settings */
267
  $post_exists = null;
268
  } else {
269
  $target_title = $module_options[$key]['post_title'];
270
+ $post_warning = sprintf( __( '<b>Warning:</b> This following post could not be found: <b>"%s"</b>', 'all-in-one-seo-pack' ), $target_title );
271
  }
272
  if ( $post_warning != null ) {
273
  $this->warnings[] = $post_warning;
295
 
296
  /* Create File Contents */
297
  $settings_file = "settings_aioseop.ini";
298
+ $buf = "; " . __( 'Settings export file for All in One SEO Pack', 'all-in-one-seo-pack' ) . "\n";
299
 
300
  /* Add all settings to settings file */
301
  $buf = $aiosp->settings_export( $buf );
aioseop_module.css CHANGED
@@ -118,7 +118,7 @@ div.aioseop_tip_icon:before {
118
  color: #5F5F5F;
119
  font-weight: bold;
120
  line-height: 19px;
121
- padding-left: 20px;
122
  display: inline-block;
123
  text-align: left;
124
  position: absolute;
@@ -216,6 +216,12 @@ div.aioseop_tip_icon:before {
216
  width: 423px;
217
  }
218
 
 
 
 
 
 
 
219
  .aioseop_nopad {
220
  padding-left: 0px;
221
  padding-top: 0px;
@@ -241,6 +247,7 @@ div.aioseop_tip_icon:before {
241
  margin-bottom: 0px;
242
  border: none;
243
  }
 
244
  #wincher11 {
245
  background-image: url(images/banner11.png);
246
  }
@@ -256,6 +263,15 @@ div.aioseop_tip_icon:before {
256
  #wincher15 {
257
  background-image: url(images/banner15.png);
258
  }
 
 
 
 
 
 
 
 
 
259
  .aioseop_content {
260
  min-width: 760px;
261
  clear: left;
@@ -270,6 +286,9 @@ div.aioseop_tip_icon:before {
270
  margin: 0;
271
  line-height: 1;
272
  }
 
 
 
273
  #aiosp_feature_manager_metabox.postbox {
274
  margin-top: 20px;
275
  float: left;
@@ -331,6 +350,7 @@ div.aioseop_tip_icon:before {
331
  max-width: 270px;
332
  padding-top: 3px;
333
  padding-bottom: 3px;
 
334
  }
335
  .aioseop_metabox_text h2 {
336
  font-size: 14px;
118
  color: #5F5F5F;
119
  font-weight: bold;
120
  line-height: 19px;
121
+ padding-left: 10px; /*changed from 20px to 10px for certain language support*/
122
  display: inline-block;
123
  text-align: left;
124
  position: absolute;
216
  width: 423px;
217
  }
218
 
219
+ .headwaythemes {
220
+ background-color: #FFFFFF;
221
+ padding-bottom: 110px;
222
+ height: 125px;
223
+ }
224
+
225
  .aioseop_nopad {
226
  padding-left: 0px;
227
  padding-top: 0px;
247
  margin-bottom: 0px;
248
  border: none;
249
  }
250
+ /*
251
  #wincher11 {
252
  background-image: url(images/banner11.png);
253
  }
263
  #wincher15 {
264
  background-image: url(images/banner15.png);
265
  }
266
+ */
267
+ #wincher21 {
268
+ background-image: url(images/banner21.jpg);
269
+ }
270
+ #wincher22 {
271
+ background-image: url(images/banner22.jpg);
272
+ }
273
+ }
274
+
275
  .aioseop_content {
276
  min-width: 760px;
277
  clear: left;
286
  margin: 0;
287
  line-height: 1;
288
  }
289
+ .aioseop_options_wrapper .submit input.button-primary {
290
+ margin-bottom: 5px;
291
+ }
292
  #aiosp_feature_manager_metabox.postbox {
293
  margin-top: 20px;
294
  float: left;
350
  max-width: 270px;
351
  padding-top: 3px;
352
  padding-bottom: 3px;
353
+ height:67px !important; /*added for certain language support*/
354
  }
355
  .aioseop_metabox_text h2 {
356
  font-size: 14px;
aioseop_module_class.php CHANGED
@@ -39,7 +39,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
39
  function __call( $name, $arguments ) {
40
  if ( $this->strpos( $name, "display_settings_page_" ) === 0 )
41
  return $this->display_settings_page( $this->substr( $name, 22 ) );
42
- $error = __( sprintf( "Method %s doesn't exist", $name ), 'all_in_one_seo_pack' );
43
  if ( class_exists( 'BadMethodCallException' ) )
44
  throw new BadMethodCallException( $error );
45
  throw new Exception( $error );
@@ -860,8 +860,8 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
860
  * Save a file through WP Filesystem.
861
  */
862
  function save_file( $filename, $contents ) {
863
- $failed_str = __( sprintf( "Failed to write file %s!\n", $filename ), 'all_in_one_seo_pack' );
864
- $readonly_str = __( sprintf( "File %s isn't writable!\n", $filename ), 'all_in_one_seo_pack' );
865
  $wpfs = $this->get_filesystem_object();
866
  if ( is_object( $wpfs ) ) {
867
  $file_exists = $wpfs->exists( $filename );
@@ -881,10 +881,10 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
881
  if ( is_object( $wpfs ) ) {
882
  if ( $wpfs->exists( $filename ) ) {
883
  if ( $wpfs->delete( $filename ) === FALSE)
884
- $this->output_error( __( sprintf( "Failed to delete file %s!\n", $filename ), 'all_in_one_seo_pack' ) );
885
  else
886
  return true;
887
- } else $this->output_error( __( sprintf( "File %s doesn't exist!\n", $filename ), 'all_in_one_seo_pack' ) );
888
  }
889
  return false;
890
  }
@@ -899,14 +899,14 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
899
  $newfile_exists = $wpfs->exists( $newname );
900
  if ( $file_exists && !$newfile_exists ) {
901
  if ( $wpfs->move( $filename, $newname ) === FALSE)
902
- $this->output_error( __( sprintf( "Failed to rename file %s!\n", $filename ), 'all_in_one_seo_pack' ) );
903
  else
904
  return true;
905
  } else {
906
  if ( !$file_exists )
907
- $this->output_error( __( sprintf( "File %s doesn't exist!\n", $filename ), 'all_in_one_seo_pack' ) );
908
  elseif ( $newfile_exists )
909
- $this->output_error( __( sprintf( "File %s already exists!\n", $newname ), 'all_in_one_seo_pack' ) );
910
  }
911
  }
912
  return false;
@@ -1207,7 +1207,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1207
  }
1208
  if ( ( !empty( $ha ) && ( $ha[0] == 'h' ) ) ) $hl = '';
1209
  if ( !empty( $ha ) || !isset( $this->help_anchors[$o] ) ) {
1210
- $ht .= "<br /><a href='" . $hl . $ha . "' target='_blank'>" . __( "Click here for documentation on this setting", 'all_in_one_seo_pack' ) . "</a>";
1211
  }
1212
  $default_options[$o]['help_text'] = $ht;
1213
  }
@@ -1445,7 +1445,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1445
  $title = $v['name'];
1446
  if ( $title != $this->plugin_name ) $title = $this->plugin_name . ' - ' . $title;
1447
  if ( !empty( $v['help_link'] ) )
1448
- $title .= "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $lopts['help_link'] . "'><span>" . __( 'Help', 'all_in_one_seo_pack' ) . "</span></a>";
1449
  add_meta_box( $v['prefix'] . $k, $title, Array( $this, 'display_metabox' ), $posttype, $v['context'], $v['priority'], $v );
1450
  }
1451
  }
@@ -1582,7 +1582,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1582
  if ( isset( $options['count_desc'] ) )
1583
  $count_desc = $options['count_desc'];
1584
  else
1585
- $count_desc = __( ' characters. Most search engines use a maximum of %s chars for the %s.', 'all_in_one_seo_pack' );
1586
  $buf .= "<br /><input readonly type='text' name='{$prefix}length$n' size='3' maxlength='3' style='width:53px;height:23px;margin:0px;padding:0px 0px 0px 10px;' value='" . $this->strlen($value) . "' />"
1587
  . sprintf( $count_desc, $size, trim( $this->strtolower( $options['name'] ), ':' ) );
1588
  if ( !empty( $onload ) ) $buf .= "<script>jQuery( document ).ready(function() { {$onload} });</script>";
@@ -1608,7 +1608,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1608
  if ( isset( $opts['id'] ) ) $id_attr .= " id=\"{$opts['id']}_div\" ";
1609
  if ( $opts['label'] != 'none' ) {
1610
  if ( isset( $opts['help_text'] ) ) {
1611
- $help_text = sprintf( All_in_One_SEO_Pack_Module::DISPLAY_HELP_START, __( 'Click for Help!', 'all_in_one_seo_pack' ), $name, $opts['name'] );
1612
  $help_text_2 = sprintf( All_in_One_SEO_Pack_Module::DISPLAY_HELP_END, $name, $opts['help_text'] );
1613
  } else $help_text = $opts['name'];
1614
  $label_text = sprintf( All_in_One_SEO_Pack_Module::DISPLAY_LABEL_FORMAT, $align, $help_text );
@@ -1635,7 +1635,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1635
  }
1636
  }
1637
  if ( !empty( $help_link ) )
1638
- echo "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $help_link . "'><span>" . __( 'Help', 'all_in_one_seo_pack' ) . "</span></a>";
1639
 
1640
  if ( !isset( $location_settings[$prefix] ) ) {
1641
  $current_options = apply_filters( "{$this->prefix}display_options", $this->get_current_options( Array(), $location, $defaults ), $location );
@@ -1753,9 +1753,9 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1753
  if ( (isset($_POST['action']) && $_POST['action'] == 'aiosp_update_module' &&
1754
  ( isset( $_POST['Submit_Default'] ) || isset( $_POST['Submit_All_Default'] ) || !empty( $_POST['Submit'] ) ) ) ) {
1755
  $nonce = $_POST['nonce-aioseop'];
1756
- if (!wp_verify_nonce($nonce, 'aioseop-nonce')) die ( __( 'Security Check - If you receive this in error, log out and back in to WordPress', 'all_in_one_seo_pack' ) );
1757
  if ( isset( $_POST['Submit_Default'] ) || isset( $_POST['Submit_All_Default'] ) ) {
1758
- $message = __( "Options Reset.", 'all_in_one_seo_pack' );
1759
  if ( isset($_POST['Submit_All_Default']) ) {
1760
  $this->reset_options( $location, true );
1761
  do_action( 'aioseop_options_reset' );
@@ -1764,7 +1764,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1764
  }
1765
  }
1766
  if ( !empty( $_POST['Submit'] ) ) {
1767
- $message = __("All in One SEO Options Updated.", 'all_in_one_seo_pack');
1768
  $default_options = $this->default_options( $location );
1769
  foreach( $default_options as $k => $v ) {
1770
  if ( isset( $_POST[$k] ) )
@@ -1810,8 +1810,8 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1810
  'location' => Array( 'type' => 'hidden', 'value' => $location ),
1811
  'nonce-aioseop' => Array( 'type' => 'hidden', 'value' => wp_create_nonce('aioseop-nonce') ),
1812
  'page_options' => Array( 'type' => 'hidden', 'value' => 'aiosp_home_description' ),
1813
- 'Submit' => Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __('Update Options', 'all_in_one_seo_pack') . ' &raquo;' ),
1814
- 'Submit_Default'=> Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __( sprintf( 'Reset %s Settings to Defaults', $name ), 'all_in_one_seo_pack') . ' &raquo;' )
1815
  );
1816
  $submit_options = apply_filters( "{$this->prefix}submit_options", $submit_options, $location );
1817
  foreach ( $submit_options as $k => $s ) {
@@ -1830,7 +1830,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1830
  if ( !isset( $lopts['tab'] ) || ( $this->current_tab == $lopts['tab'] ) ) {
1831
  $title = $lopts['name'];
1832
  if ( !empty( $lopts['help_link'] ) )
1833
- $title .= "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $lopts['help_link'] . "'><span>" . __( 'Help', 'all_in_one_seo_pack' ) . "</span></a>";
1834
  add_meta_box( $this->get_prefix( $location ) . $l . "_metabox", $title, array($this, 'display_options' ),
1835
  "{$this->prefix}settings", 'advanced', 'default', $lopts );
1836
  }
39
  function __call( $name, $arguments ) {
40
  if ( $this->strpos( $name, "display_settings_page_" ) === 0 )
41
  return $this->display_settings_page( $this->substr( $name, 22 ) );
42
+ $error = __( sprintf( "Method %s doesn't exist", $name ), 'all-in-one-seo-pack' );
43
  if ( class_exists( 'BadMethodCallException' ) )
44
  throw new BadMethodCallException( $error );
45
  throw new Exception( $error );
860
  * Save a file through WP Filesystem.
861
  */
862
  function save_file( $filename, $contents ) {
863
+ $failed_str = __( sprintf( "Failed to write file %s!\n", $filename ), 'all-in-one-seo-pack' );
864
+ $readonly_str = __( sprintf( "File %s isn't writable!\n", $filename ), 'all-in-one-seo-pack' );
865
  $wpfs = $this->get_filesystem_object();
866
  if ( is_object( $wpfs ) ) {
867
  $file_exists = $wpfs->exists( $filename );
881
  if ( is_object( $wpfs ) ) {
882
  if ( $wpfs->exists( $filename ) ) {
883
  if ( $wpfs->delete( $filename ) === FALSE)
884
+ $this->output_error( __( sprintf( "Failed to delete file %s!\n", $filename ), 'all-in-one-seo-pack' ) );
885
  else
886
  return true;
887
+ } else $this->output_error( __( sprintf( "File %s doesn't exist!\n", $filename ), 'all-in-one-seo-pack' ) );
888
  }
889
  return false;
890
  }
899
  $newfile_exists = $wpfs->exists( $newname );
900
  if ( $file_exists && !$newfile_exists ) {
901
  if ( $wpfs->move( $filename, $newname ) === FALSE)
902
+ $this->output_error( __( sprintf( "Failed to rename file %s!\n", $filename ), 'all-in-one-seo-pack' ) );
903
  else
904
  return true;
905
  } else {
906
  if ( !$file_exists )
907
+ $this->output_error( __( sprintf( "File %s doesn't exist!\n", $filename ), 'all-in-one-seo-pack' ) );
908
  elseif ( $newfile_exists )
909
+ $this->output_error( __( sprintf( "File %s already exists!\n", $newname ), 'all-in-one-seo-pack' ) );
910
  }
911
  }
912
  return false;
1207
  }
1208
  if ( ( !empty( $ha ) && ( $ha[0] == 'h' ) ) ) $hl = '';
1209
  if ( !empty( $ha ) || !isset( $this->help_anchors[$o] ) ) {
1210
+ $ht .= "<br /><a href='" . $hl . $ha . "' target='_blank'>" . __( "Click here for documentation on this setting", 'all-in-one-seo-pack' ) . "</a>";
1211
  }
1212
  $default_options[$o]['help_text'] = $ht;
1213
  }
1445
  $title = $v['name'];
1446
  if ( $title != $this->plugin_name ) $title = $this->plugin_name . ' - ' . $title;
1447
  if ( !empty( $v['help_link'] ) )
1448
+ $title .= "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $lopts['help_link'] . "'><span>" . __( 'Help', 'all-in-one-seo-pack' ) . "</span></a>";
1449
  add_meta_box( $v['prefix'] . $k, $title, Array( $this, 'display_metabox' ), $posttype, $v['context'], $v['priority'], $v );
1450
  }
1451
  }
1582
  if ( isset( $options['count_desc'] ) )
1583
  $count_desc = $options['count_desc'];
1584
  else
1585
+ $count_desc = __( ' characters. Most search engines use a maximum of %s chars for the %s.', 'all-in-one-seo-pack' );
1586
  $buf .= "<br /><input readonly type='text' name='{$prefix}length$n' size='3' maxlength='3' style='width:53px;height:23px;margin:0px;padding:0px 0px 0px 10px;' value='" . $this->strlen($value) . "' />"
1587
  . sprintf( $count_desc, $size, trim( $this->strtolower( $options['name'] ), ':' ) );
1588
  if ( !empty( $onload ) ) $buf .= "<script>jQuery( document ).ready(function() { {$onload} });</script>";
1608
  if ( isset( $opts['id'] ) ) $id_attr .= " id=\"{$opts['id']}_div\" ";
1609
  if ( $opts['label'] != 'none' ) {
1610
  if ( isset( $opts['help_text'] ) ) {
1611
+ $help_text = sprintf( All_in_One_SEO_Pack_Module::DISPLAY_HELP_START, __( 'Click for Help!', 'all-in-one-seo-pack' ), $name, $opts['name'] );
1612
  $help_text_2 = sprintf( All_in_One_SEO_Pack_Module::DISPLAY_HELP_END, $name, $opts['help_text'] );
1613
  } else $help_text = $opts['name'];
1614
  $label_text = sprintf( All_in_One_SEO_Pack_Module::DISPLAY_LABEL_FORMAT, $align, $help_text );
1635
  }
1636
  }
1637
  if ( !empty( $help_link ) )
1638
+ echo "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $help_link . "'><span>" . __( 'Help', 'all-in-one-seo-pack' ) . "</span></a>";
1639
 
1640
  if ( !isset( $location_settings[$prefix] ) ) {
1641
  $current_options = apply_filters( "{$this->prefix}display_options", $this->get_current_options( Array(), $location, $defaults ), $location );
1753
  if ( (isset($_POST['action']) && $_POST['action'] == 'aiosp_update_module' &&
1754
  ( isset( $_POST['Submit_Default'] ) || isset( $_POST['Submit_All_Default'] ) || !empty( $_POST['Submit'] ) ) ) ) {
1755
  $nonce = $_POST['nonce-aioseop'];
1756
+ if (!wp_verify_nonce($nonce, 'aioseop-nonce')) die ( __( 'Security Check - If you receive this in error, log out and back in to WordPress', 'all-in-one-seo-pack' ) );
1757
  if ( isset( $_POST['Submit_Default'] ) || isset( $_POST['Submit_All_Default'] ) ) {
1758
+ $message = __( "Options Reset.", 'all-in-one-seo-pack' );
1759
  if ( isset($_POST['Submit_All_Default']) ) {
1760
  $this->reset_options( $location, true );
1761
  do_action( 'aioseop_options_reset' );
1764
  }
1765
  }
1766
  if ( !empty( $_POST['Submit'] ) ) {
1767
+ $message = __("All in One SEO Options Updated.", 'all-in-one-seo-pack');
1768
  $default_options = $this->default_options( $location );
1769
  foreach( $default_options as $k => $v ) {
1770
  if ( isset( $_POST[$k] ) )
1810
  'location' => Array( 'type' => 'hidden', 'value' => $location ),
1811
  'nonce-aioseop' => Array( 'type' => 'hidden', 'value' => wp_create_nonce('aioseop-nonce') ),
1812
  'page_options' => Array( 'type' => 'hidden', 'value' => 'aiosp_home_description' ),
1813
+ 'Submit' => Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __('Update Options', 'all-in-one-seo-pack') . ' &raquo;' ),
1814
+ 'Submit_Default'=> Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __( sprintf( 'Reset %s Settings to Defaults', $name ), 'all-in-one-seo-pack') . ' &raquo;' )
1815
  );
1816
  $submit_options = apply_filters( "{$this->prefix}submit_options", $submit_options, $location );
1817
  foreach ( $submit_options as $k => $s ) {
1830
  if ( !isset( $lopts['tab'] ) || ( $this->current_tab == $lopts['tab'] ) ) {
1831
  $title = $lopts['name'];
1832
  if ( !empty( $lopts['help_link'] ) )
1833
+ $title .= "<a class='aioseop_help_text_link aioseop_meta_box_help' target='_blank' href='" . $lopts['help_link'] . "'><span>" . __( 'Help', 'all-in-one-seo-pack' ) . "</span></a>";
1834
  add_meta_box( $this->get_prefix( $location ) . $l . "_metabox", $title, array($this, 'display_options' ),
1835
  "{$this->prefix}settings", 'advanced', 'default', $lopts );
1836
  }
aioseop_opengraph.php CHANGED
@@ -11,116 +11,116 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
11
  var $type;
12
 
13
  function All_in_One_SEO_Pack_Opengraph( ) {
14
- $this->name = __('Social Meta', 'all_in_one_seo_pack'); // Human-readable name of the plugin
15
  $this->prefix = 'aiosp_opengraph_'; // option prefix
16
  $this->file = __FILE__; // the current file
17
  $this->fb_object_types = Array(
18
  'Activities' => Array(
19
- 'activity' => __( 'Activity', 'all_in_one_seo_pack' ),
20
- 'sport' => __( 'Sport', 'all_in_one_seo_pack' )
21
  ),
22
  'Businesses' => Array(
23
- 'bar' => __( 'Bar', 'all_in_one_seo_pack' ),
24
- 'company' => __( 'Company', 'all_in_one_seo_pack' ),
25
- 'cafe' => __( 'Cafe', 'all_in_one_seo_pack' ),
26
- 'hotel' => __( 'Hotel', 'all_in_one_seo_pack' ),
27
- 'restaurant' => __( 'Restaurant', 'all_in_one_seo_pack' )
28
  ),
29
  'Groups' => Array(
30
- 'cause' => __( 'Cause', 'all_in_one_seo_pack' ),
31
- 'sports_league' => __( 'Sports League', 'all_in_one_seo_pack' ),
32
- 'sports_team' => __( 'Sports Team', 'all_in_one_seo_pack' )
33
  ),
34
  'Organizations' => Array(
35
- 'band' => __( 'Band', 'all_in_one_seo_pack' ),
36
- 'government' => __( 'Government', 'all_in_one_seo_pack' ),
37
- 'non_profit' => __( 'Non Profit', 'all_in_one_seo_pack' ),
38
- 'school' => __( 'School', 'all_in_one_seo_pack' ),
39
- 'university' => __( 'University', 'all_in_one_seo_pack' )
40
  ),
41
  'People' => Array(
42
- 'actor' => __( 'Actor', 'all_in_one_seo_pack' ),
43
- 'athlete' => __( 'Athlete', 'all_in_one_seo_pack' ),
44
- 'author' => __( 'Author', 'all_in_one_seo_pack' ),
45
- 'director' => __( 'Director', 'all_in_one_seo_pack' ),
46
- 'musician' => __( 'Musician', 'all_in_one_seo_pack' ),
47
- 'politician' => __( 'Politician', 'all_in_one_seo_pack' ),
48
- 'profile' => __( 'Profile', 'all_in_one_seo_pack' ),
49
- 'public_figure' => __( 'Public Figure', 'all_in_one_seo_pack' )
50
  ),
51
  'Places' => Array(
52
- 'city' => __( 'City', 'all_in_one_seo_pack' ),
53
- 'country' => __( 'Country', 'all_in_one_seo_pack' ),
54
- 'landmark' => __( 'Landmark', 'all_in_one_seo_pack' ),
55
- 'state_province' => __( 'State Province', 'all_in_one_seo_pack' )
56
  ),
57
  'Products and Entertainment' => Array(
58
- 'album' => __( 'Album', 'all_in_one_seo_pack' ),
59
- 'book' => __( 'Book', 'all_in_one_seo_pack' ),
60
- 'drink' => __( 'Drink', 'all_in_one_seo_pack' ),
61
- 'food' => __( 'Food', 'all_in_one_seo_pack' ),
62
- 'game' => __( 'Game', 'all_in_one_seo_pack' ),
63
- 'movie' => __( 'Movie', 'all_in_one_seo_pack' ),
64
- 'product' => __( 'Product', 'all_in_one_seo_pack' ),
65
- 'song' => __( 'Song', 'all_in_one_seo_pack' ),
66
- 'tv_show' => __( 'TV Show', 'all_in_one_seo_pack' ),
67
- 'episode' => __( 'Episode', 'all_in_one_seo_pack' )
68
  ),'Websites' => Array(
69
- 'article' => __( 'Article', 'all_in_one_seo_pack' ),
70
- 'blog' => __( 'Blog', 'all_in_one_seo_pack' ),
71
- 'website' => __( 'Website', 'all_in_one_seo_pack' )
72
  )
73
  );
74
  parent::__construct();
75
 
76
- $categories = Array( 'blog' => __( 'Blog', 'all_in_one_seo_pack' ), 'website' => __( 'Website', 'all_in_one_seo_pack' ), 'article' => __( 'Article', 'all_in_one_seo_pack' ) );
77
 
78
  $this->help_text = Array(
79
- "setmeta" => __( "Checking this box will use the Home Title and Home Description set in All in One SEO Pack, General Settings as the Open Graph title and description for your home page.", 'all_in_one_seo_pack' ),
80
- "key" => __( "Your Profile Admin ID is your Facebook profile ID. You can find out your Facebook ID using the lookup tool here: https://graph.facebook.com/yourusername", 'all_in_one_seo_pack' ),
81
- "title_shortcodes" => __( "Run shortcodes that appear in social title meta tags.", 'all_in_one_seo_pack' ),
82
- "description_shortcodes"=> __( "Run shortcodes that appear in social description meta tags.", 'all_in_one_seo_pack' ),
83
- "sitename" => __( "The Site Name is the name that is used to identify your website.", 'all_in_one_seo_pack' ),
84
- "hometitle" => __( "The Home Title is the Open Graph title for your home page.", 'all_in_one_seo_pack' ),
85
- "description" => __( "The Home Description is the Open Graph description for your home page.", 'all_in_one_seo_pack' ),
86
- "homeimage" => __( "The Home Image is the Open Graph image for your home page.", 'all_in_one_seo_pack' ),
87
- "hometag" => __( "The Home Tag allows you to add a list of keywords that best describe your home page content.", 'all_in_one_seo_pack' ),
88
- "generate_descriptions" => __( "Check this and your Open Graph descriptions will be auto-generated from your content.", 'all_in_one_seo_pack' ),
89
- "defimg" => __( "This option lets you choose which image will be displayed by default for the Open Graph image. You may override this on individual posts.", 'all_in_one_seo_pack' ),
90
- "fallback" => __( "This option lets you fall back to the default image if no image could be found above.", 'all_in_one_seo_pack' ),
91
- "dimg" => __( "This option sets a default image that can be used for the Open Graph image. You can upload an image, select an image from your Media Library or paste the URL of an image here.", 'all_in_one_seo_pack' ),
92
- "dimgwidth" => __( "This option lets you set a default width for your images, where unspecified.", "all_in_one_seo_pack" ),
93
- "dimgheight" => __( "This option lets you set a default height for your images, where unspecified.", "all_in_one_seo_pack" ),
94
- "meta_key" => __( "Enter the name of a custom field (or multiple field names separated by commas) to use that field to specify the Open Graph image on Pages or Posts.", 'all_in_one_seo_pack' ),
95
- "categories" => __( "Set the Open Graph type for your website as either a blog or a website.", 'all_in_one_seo_pack' ),
96
- "image" => __( "This option lets you select the Open Graph image that will be used for this Page or Post, overriding the default settings.", 'all_in_one_seo_pack' ),
97
- "customimg" => __( "This option lets you upload an image to use as the Open Graph image for this Page or Post.", 'all_in_one_seo_pack' ),
98
- "imagewidth" => __( "Enter the width for your Open Graph image in pixels (i.e. 600).", 'all_in_one_seo_pack' ),
99
- "imageheight" => __( "Enter the height for your Open Graph image in pixels (i.e. 600).", 'all_in_one_seo_pack' ),
100
- "video" => __( "This option lets you specify a link to the Open Graph video used on this Page or Post.", 'all_in_one_seo_pack' ),
101
- "videowidth" => __( "Enter the width for your Open Graph video in pixels (i.e. 600).", 'all_in_one_seo_pack' ),
102
- "videoheight" => __( "Enter the height for your Open Graph video in pixels (i.e. 600).", 'all_in_one_seo_pack' ),
103
- "defcard" => __( "Select the default type of Twitter card to display.", 'all_in_one_seo_pack' ),
104
- "setcard" => __( "Select the default type of Twitter card to display.", 'all_in_one_seo_pack' ),
105
- "twitter_site" => __( "Enter the Twitter username associated with your website here.", 'all_in_one_seo_pack' ),
106
- "twitter_creator" => __( "Allows your authors to be identified by their Twitter usernames as content creators on the Twitter cards for their posts.", 'all_in_one_seo_pack' ),
107
- "twitter_domain" => __( "Enter the name of your website here.", 'all_in_one_seo_pack' ),
108
- "gen_tags" => __( "Automatically generate article tags for Facebook type article when not provided.", 'all_in_one_seo_pack' ),
109
- "gen_keywords" => __( "Use keywords in generated article tags.", 'all_in_one_seo_pack' ),
110
- "gen_categories" => __( "Use catergories in generated article tags.", 'all_in_one_seo_pack' ),
111
- "gen_post_tags" => __( "Use post tags in generated article tags.", 'all_in_one_seo_pack' ),
112
- "types" => __( "Select which Post Types you want to use All in One SEO Pack to set Open Graph meta values for.", 'all_in_one_seo_pack' ),
113
- "title" => __( "This is the Open Graph title of this Page or Post.", 'all_in_one_seo_pack' ),
114
- "desc" => __( "This is the Open Graph description of this Page or Post.", 'all_in_one_seo_pack' ),
115
- "category" => __( "Select the Open Graph type that best describes the content of this Page or Post.", 'all_in_one_seo_pack' ),
116
- "facebook_debug" => __( "Press this button to have Facebook re-fetch and debug this page.", 'all_in_one_seo_pack' ),
117
- "section" => __( "This Open Graph meta allows you to add a general section name that best describes this content.", 'all_in_one_seo_pack' ),
118
- "tag" => __( "This Open Graph meta allows you to add a list of keywords that best describe this content.", 'all_in_one_seo_pack' ),
119
- "facebook_publisher" => __( "Link articles to the Facebook page associated with your website.", 'all_in_one_seo_pack' ),
120
- "facebook_author" => __( "Allows your authors to be identified by their Facebook pages as content authors on the Opengraph meta for their articles.", 'all_in_one_seo_pack' ),
121
- "person_or_org" => __( "Are the social profile links for your website for a person or an organization?", 'all_in_one_seo_pack' ),
122
- "profile_links" => __( "Add URLs for your website's social profiles here (Facebook, Twitter, Google+, Instagram, LinkedIn), one per line.", 'all_in_one_seo_pack' ),
123
- "social_name" => __( "Add the name of the person or organization who owns these profiles.", 'all_in_one_seo_pack' )
124
  );
125
 
126
  $this->help_anchors = Array(
@@ -147,73 +147,73 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
147
  'scan_header' => '#scan-social-meta'
148
  );
149
 
150
- $count_desc = __( " characters. Open Graph allows up to a maximum of %s chars for the %s.", 'all_in_one_seo_pack' );
151
  $this->default_options = array(
152
- 'scan_header'=> Array( 'name' => __( 'Scan Header', 'all_in_one_seo_pack' ), 'type' => 'custom', 'save' => true ),
153
- 'setmeta' => Array( 'name' => __( 'Use AIOSEO Title and Description', 'all_in_one_seo_pack'), 'type' => 'checkbox' ),
154
- 'key' => Array( 'name' => __( 'Profile Admins ID', 'all_in_one_seo_pack'), 'default' => '', 'type' => 'text' ),
155
- 'title_shortcodes' => Array('name' => __( 'Run Shortcodes In Title', 'all_in_one_seo_pack' ) ),
156
- 'description_shortcodes' => Array('name' => __( 'Run Shortcodes In Description', 'all_in_one_seo_pack' ) ),
157
- 'sitename' => Array( 'name' => __( 'Site Name', 'all_in_one_seo_pack' ), 'default' => get_bloginfo('name'), 'type' => 'text' ),
158
- 'hometitle' => Array( 'name' => __( 'Home Title', 'all_in_one_seo_pack'),
159
  'default' => '', 'type' => 'textarea', 'condshow' => Array( 'aiosp_opengraph_setmeta' => Array( 'lhs' => "aiosp_opengraph_setmeta", 'op' => '!=', 'rhs' => 'on' ) ) ),
160
- 'description' => Array( 'name' => __( 'Home Description', 'all_in_one_seo_pack'),
161
  'default' => '', 'type' => 'textarea', 'condshow' => Array( 'aiosp_opengraph_setmeta' => Array( 'lhs' => "aiosp_opengraph_setmeta", 'op' => '!=', 'rhs' => 'on' ) ) ),
162
- 'homeimage' => Array( 'name' => __( 'Home Image', 'all_in_one_seo_pack' ),
163
  'type' => 'image' ),
164
- 'hometag' => Array('name' => __( 'Home Article Tags', 'all_in_one_seo_pack' ),
165
  'type' => 'text', 'default' => '', 'condshow' => Array( 'aiosp_opengraph_categories' => 'article' ) ),
166
- 'generate_descriptions' => Array( 'name' => __( 'Autogenerate OG Descriptions', 'all_in_one_seo_pack' ), 'default' => 1 ),
167
- 'defimg' => Array( 'name' => __( 'Select OG:Image Source', 'all_in_one_seo_pack' ), 'type' => 'select', 'initial_options' => Array( '' => __( 'Default Image' ), 'featured' => __( 'Featured Image' ), 'attach' => __( 'First Attached Image' ), 'content' => __( 'First Image In Content' ), 'custom' => __( 'Image From Custom Field' ), 'author' => __( 'Post Author Image' ), 'auto' => __( 'First Available Image' ) ) ),
168
- 'fallback' => Array( 'name' => __( 'Use Default If No Image Found', 'all_in_one_seo_pack' ), 'type' => 'checkbox' ),
169
- 'dimg' => Array( 'name' => __( 'Default OG:Image', 'all_in_one_seo_pack' ), 'default' => AIOSEOP_PLUGIN_IMAGES_URL . 'default-user-image.png', 'type' => 'image' ),
170
- 'dimgwidth' => Array( 'name' => __( 'Default Image Width', 'all_in_one_seo_pack' ),
171
  'type' => 'text', 'default' => '' ),
172
- 'dimgheight' => Array( 'name' => __( 'Default Image Height', 'all_in_one_seo_pack' ),
173
  'type' => 'text', 'default' => '' ),
174
- 'meta_key' => Array( 'name' => __( 'Use Custom Field For Image', 'all_in_one_seo_pack' ), 'type' => 'text', 'default' => '' ),
175
- 'categories' => Array( 'name' => __( 'Facebook Object Type', 'all_in_one_seo_pack'),
176
  'type' => 'radio', 'initial_options' => $categories, 'default' => 'blog' ),
177
- 'image' => Array( 'name' => __( 'Image', 'all_in_one_seo_pack' ),
178
  'type' => 'radio', 'initial_options' => Array( 0 => '<img style="width:50px;height:auto;display:inline-block;vertical-align:bottom;" src="' . AIOSEOP_PLUGIN_IMAGES_URL . 'default-user-image.png' . '">' ) ),
179
- 'customimg' => Array( 'name' => __( 'Custom Image', 'all_in_one_seo_pack' ),
180
  'type' => 'image' ),
181
- 'imagewidth' => Array( 'name' => __( 'Specify Image Width', 'all_in_one_seo_pack' ),
182
  'type' => 'text', 'default' => '' ),
183
- 'imageheight' => Array( 'name' => __( 'Specify Image Height', 'all_in_one_seo_pack' ),
184
  'type' => 'text', 'default' => '' ),
185
- 'video' => Array( 'name' => __( 'Custom Video', 'all_in_one_seo_pack' ),
186
  'type' => 'text' ),
187
- 'videowidth' => Array( 'name' => __( 'Specify Video Width', 'all_in_one_seo_pack' ),
188
  'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_video' => Array( 'lhs' => "aioseop_opengraph_settings_video", 'op' => '!=', 'rhs' => '' ) ) ),
189
- 'videoheight' => Array( 'name' => __( 'Specify Video Height', 'all_in_one_seo_pack' ),
190
  'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_video' => Array( 'lhs' => "aioseop_opengraph_settings_video", 'op' => '!=', 'rhs' => '' ) ) ),
191
- 'defcard' => Array( 'name' => __( 'Default Twitter Card', 'all_in_one_seo_pack' ),
192
- 'type' => 'select', 'initial_options' => Array( 'summary' => __( 'Summary', 'all_in_one_seo_pack' ), 'summary_large_image' => __( 'Summary Large Image', 'all_in_one_seo_pack' ), 'photo' => __( 'Photo', 'all_in_one_seo_pack' ) ), 'default' => 'summary' ),
193
- 'setcard' => Array( 'name' => __( 'Twitter Card Type', 'all_in_one_seo_pack' ),
194
- 'type' => 'select', 'initial_options' => Array( 'summary' => __( 'Summary', 'all_in_one_seo_pack' ), 'summary_large_image' => __( 'Summary Large Image', 'all_in_one_seo_pack' ), 'photo' => __( 'Photo', 'all_in_one_seo_pack' ) ) ),
195
- 'twitter_site' => Array( 'name' => __( 'Twitter Site', 'all_in_one_seo_pack' ),
196
  'type' => 'text', 'default' => '' ),
197
- 'twitter_creator'=>Array( 'name' => __( 'Show Twitter Author', 'all_in_one_seo_pack' ) ),
198
- 'twitter_domain'=> Array( 'name' => __( 'Twitter Domain', 'all_in_one_seo_pack' ),
199
  'type' => 'text', 'default' => '' ),
200
- 'gen_tags' => Array( 'name' => __( 'Automatically Generate Article Tags', 'all_in_one_seo_pack' ) ),
201
- 'gen_keywords' => Array( 'name' => __( 'Use Keywords In Article Tags', 'all_in_one_seo_pack' ), 'default' => 'on', 'condshow' => Array( 'aiosp_opengraph_gen_tags' => 'on' ) ),
202
- 'gen_categories'=> Array( 'name' => __( 'Use Categories In Article Tags', 'all_in_one_seo_pack' ), 'default' => 'on', 'condshow' => Array( 'aiosp_opengraph_gen_tags' => 'on' ) ),
203
- 'gen_post_tags' => Array( 'name' => __( 'Use Post Tags In Article Tags', 'all_in_one_seo_pack' ), 'default' => 'on', 'condshow' => Array( 'aiosp_opengraph_gen_tags' => 'on' ) ),
204
- 'types' => Array( 'name' => __( 'Enable Facebook Meta for', 'all_in_one_seo_pack'),
205
  'type' => 'multicheckbox', 'initial_options' => $this->get_post_type_titles( Array( '_builtin' => false ) ),
206
  'default' => Array( 'post' => 'post', 'page' => 'page' ) ),
207
- 'title' => Array( 'name' => __( 'Title', 'all_in_one_seo_pack'),
208
  'default' => '', 'type' => 'text', 'size' => 95, 'count' => 1, 'count_desc' => $count_desc ),
209
- 'desc' => Array( 'name' => __( 'Description', 'all_in_one_seo_pack'),
210
  'default' => '', 'type' => 'textarea', 'cols' => 250, 'rows' => 4, 'count' => 1, 'count_desc' => $count_desc ),
211
- 'category' => Array( 'name' => __( 'Facebook Object Type', 'all_in_one_seo_pack'),
212
  'type' => 'select', 'style' => '',
213
  'initial_options' => $this->fb_object_types,
214
  'default' => ''
215
  ),
216
- 'facebook_debug'=> Array( 'name' => __( 'Facebook Debug', 'all_in_one_seo_pack' ), 'type' => 'html', 'save' => false,
217
  'default' =>
218
  '<script>
219
  jQuery(document).ready(function() {
@@ -226,19 +226,19 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
226
  }
227
  });
228
  </script>
229
- <a name="aioseop_opengraph_settings_facebook_debug" id="aioseop_opengraph_settings_facebook_debug" class="button-primary" href="" target=_blank>' . __( 'Debug This Post', 'all_in_one_seo_pack' )
230
  . '</a>' ),
231
 
232
- 'section' => Array( 'name' => __( 'Article Section', 'all_in_one_seo_pack' ),
233
  'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_category' => 'article' ) ),
234
- 'tag' => Array( 'name' => __( 'Article Tags', 'all_in_one_seo_pack' ),
235
  'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_category' => 'article' ) ),
236
- 'facebook_publisher'=>Array('name' => __( 'Show Facebook Publisher on Articles', 'all_in_one_seo_pack' ), 'type' => 'text', 'default' => '' ),
237
- 'facebook_author' =>Array('name' => __( 'Show Facebook Author on Articles', 'all_in_one_seo_pack' ) ),
238
- 'profile_links' =>Array('name' => __( 'Social Profile Links', 'all_in_one_seo_pack' ), 'type' => 'textarea', 'cols' => 60, 'rows' => 5 ),
239
- 'person_or_org' =>Array('name' => __( 'Person or Organization?', 'all_in_one_seo_pack' ),
240
- 'type' => 'radio', 'initial_options' => Array( 'person' => __( 'Person', 'all_in_one_seo_pack' ), 'org' => __( 'Organization', 'all_in_one_seo_pack' ) ) ),
241
- 'social_name' =>Array('name' => __( "Associated Name", 'all_in_one_seo_pack' ), 'type' => 'text', 'default' => "" ),
242
  );
243
 
244
  // load initial options / set defaults
@@ -252,7 +252,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
252
  'options' => Array('scan_header', 'setmeta', 'key', 'sitename', 'title_shortcodes', 'description_shortcodes', 'hometitle', 'description', 'homeimage', 'hometag', 'generate_descriptions', 'defimg',
253
  'fallback', 'dimg', 'dimgwidth', 'dimgheight', 'meta_key', 'categories', 'defcard', 'profile_links', 'person_or_org', 'social_name', 'twitter_site', 'twitter_creator', 'twitter_domain', 'gen_tags', 'gen_keywords', 'gen_categories',
254
  'gen_post_tags', 'types', 'facebook_publisher', 'facebook_author' ) ),
255
- 'settings' => Array( 'name' => __('Social Settings', 'all_in_one_seo_pack'),
256
  'type' => 'metabox', 'help_link' => 'http://semperplugins.com/documentation/social-meta-module/#pagepost_settings',
257
  'options' => Array( 'title', 'desc', 'image', 'customimg', 'imagewidth', 'imageheight', 'video', 'videowidth', 'videoheight', 'category', 'facebook_debug', 'section', 'tag', 'setcard' ),
258
  'display' => $display, 'prefix' => 'aioseop_opengraph_'
@@ -261,37 +261,37 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
261
 
262
  $this->layout = Array(
263
  'default' => Array(
264
- 'name' => __( 'General Settings', 'all_in_one_seo_pack' ),
265
  'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
266
  'options' => Array() // this is set below, to the remaining options -- pdb
267
  ),
268
  'home' => Array(
269
- 'name' => __( 'Home Page Settings', 'all_in_one_seo_pack' ),
270
  'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
271
  'options' => Array( 'setmeta', 'sitename', 'hometitle', 'description', 'homeimage', 'hometag' )
272
  ),
273
  'image' => Array(
274
- 'name' => __( 'Image Settings', 'all_in_one_seo_pack' ),
275
  'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
276
  'options' => Array( 'defimg', 'fallback', 'dimg', 'dimgwidth', 'dimgheight', 'meta_key' )
277
  ),
278
  'links' => Array(
279
- 'name' => __( 'Social Profile Links', 'all_in_one_seo_pack' ),
280
  'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
281
  'options' => Array( 'profile_links', 'person_or_org', 'social_name' )
282
  ),
283
  'facebook' => Array(
284
- 'name' => __( 'Facebook Settings', 'all_in_one_seo_pack' ),
285
  'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
286
  'options' => Array( 'key', 'types', 'gen_tags', 'gen_keywords', 'gen_categories', 'gen_post_tags', 'categories', 'facebook_publisher', 'facebook_author' )
287
  ),
288
  'twitter' => Array(
289
- 'name' => __( 'Twitter Settings', 'all_in_one_seo_pack' ),
290
  'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
291
  'options' => Array( 'defcard', 'setcard', 'twitter_site', 'twitter_creator', 'twitter_domain' )
292
  ),
293
  'scan_meta' => Array(
294
- 'name' => __( 'Scan Social Meta', 'all_in_one_seo_pack' ),
295
  'help_link' => 'http://semperplugins.com/documentation/social-meta-module/#scan_meta',
296
  'options' => Array( 'scan_header' )
297
  )
@@ -322,12 +322,12 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
322
  if ( $cat == 'blog' ) {
323
  $show_on_front = get_option( 'show_on_front' );
324
  if ( ( $show_on_front == 'page' ) && ( get_option( 'page_on_front' ) ) ) {
325
- $this->output_error( '<p>' . __( "Static front page detected, suggested Facebook Object Type is 'website'.", 'all_in_one_seo_pack' ) . '</p>' );
326
  }
327
  } elseif ( $cat == 'website' ) {
328
  $show_on_front = get_option( 'show_on_front' );
329
  if ( ( $show_on_front == 'posts' ) )
330
- $this->output_error( '<p>' . __( "Blog on front page detected, suggested Facebook Object Type is 'blog'.", 'all_in_one_seo_pack' ) . '</p>' );
331
  }
332
  }
333
  }
@@ -374,7 +374,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
374
  }
375
  }
376
  $settings[$prefix . 'category']['initial_options'] = array_merge( Array(
377
- $this->options["aiosp_opengraph_{$current_post_type}_fb_object_type"] => __( 'Default ', 'all_in_one_seo_pack' ) . ' - '
378
  . $flat_type_list[ $this->options["aiosp_opengraph_{$current_post_type}_fb_object_type"] ] ),
379
  $settings[$prefix . 'category']['initial_options'] );
380
  }
@@ -421,8 +421,8 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
421
  $buf .= '<div class="aioseop aioseop_options aiosp_opengraph_settings"><div class="aioseop_wrapper aioseop_custom_type" id="aiosp_opengraph_scan_header_wrapper"><div class="aioseop_input" id="aiosp_opengraph_scan_header" style="padding-left:20px;">';
422
  $args['options']['type'] = 'submit';
423
  $args['attr'] = " class='button-primary' ";
424
- $args['value'] = $args['options']['default'] = __( 'Scan Now', 'all_in_one_seo_pack' );
425
- $buf .= __( 'Scan your site for duplicate social meta tags.', 'all_in_one_seo_pack' );
426
  $buf .= '<br /><br />' . $this->get_option_html( $args );
427
  $buf .= '</div></div></div>';
428
  }
@@ -684,7 +684,14 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
684
 
685
  if ( !empty( $metabox['aioseop_opengraph_settings_setcard'] ) )
686
  $card = $metabox['aioseop_opengraph_settings_setcard'];
687
-
 
 
 
 
 
 
 
688
  $site = $domain = $creator = '';
689
 
690
  if ( !empty( $this->options['aiosp_opengraph_twitter_site'] ) )
@@ -726,13 +733,23 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
726
  'site' => 'twitter:site',
727
  'creator' => 'twitter:creator',
728
  'domain' => 'twitter:domain',
 
729
  'description' => 'twitter:description',
 
730
  ),
731
- 'google+' => Array(
 
732
  'thumbnail' => 'image',
733
- ),
734
  );
735
 
 
 
 
 
 
 
 
736
  // Add links to testing tools
737
 
738
  /*
@@ -851,14 +868,14 @@ END;
851
  foreach( $post_types as $slug => $name ) {
852
  $field = $slug . '_fb_object_type';
853
  $this->default_options[$field] = Array(
854
- 'name' => "$name " . __( 'Object Type', 'all_in_one_seo_pack' ) . "<br />($slug)",
855
  'type' => 'select',
856
  'style' => '',
857
  'initial_options' => $this->fb_object_types,
858
  'default' => 'article',
859
  'condshow' => Array( 'aiosp_opengraph_types\[\]' => $slug )
860
  );
861
- $this->help_text[$field] = __( 'Choose a default value that best describes the content of your post type.', 'all_in_one_seo_pack' );
862
  $this->help_anchors[$field] = '#content-object-types';
863
  $this->locations['opengraph']['options'][] = $field;
864
  $this->layout['facebook']['options'][] = $field;
11
  var $type;
12
 
13
  function All_in_One_SEO_Pack_Opengraph( ) {
14
+ $this->name = __('Social Meta', 'all-in-one-seo-pack'); // Human-readable name of the plugin
15
  $this->prefix = 'aiosp_opengraph_'; // option prefix
16
  $this->file = __FILE__; // the current file
17
  $this->fb_object_types = Array(
18
  'Activities' => Array(
19
+ 'activity' => __( 'Activity', 'all-in-one-seo-pack' ),
20
+ 'sport' => __( 'Sport', 'all-in-one-seo-pack' )
21
  ),
22
  'Businesses' => Array(
23
+ 'bar' => __( 'Bar', 'all-in-one-seo-pack' ),
24
+ 'company' => __( 'Company', 'all-in-one-seo-pack' ),
25
+ 'cafe' => __( 'Cafe', 'all-in-one-seo-pack' ),
26
+ 'hotel' => __( 'Hotel', 'all-in-one-seo-pack' ),
27
+ 'restaurant' => __( 'Restaurant', 'all-in-one-seo-pack' )
28
  ),
29
  'Groups' => Array(
30
+ 'cause' => __( 'Cause', 'all-in-one-seo-pack' ),
31
+ 'sports_league' => __( 'Sports League', 'all-in-one-seo-pack' ),
32
+ 'sports_team' => __( 'Sports Team', 'all-in-one-seo-pack' )
33
  ),
34
  'Organizations' => Array(
35
+ 'band' => __( 'Band', 'all-in-one-seo-pack' ),
36
+ 'government' => __( 'Government', 'all-in-one-seo-pack' ),
37
+ 'non_profit' => __( 'Non Profit', 'all-in-one-seo-pack' ),
38
+ 'school' => __( 'School', 'all-in-one-seo-pack' ),
39
+ 'university' => __( 'University', 'all-in-one-seo-pack' )
40
  ),
41
  'People' => Array(
42
+ 'actor' => __( 'Actor', 'all-in-one-seo-pack' ),
43
+ 'athlete' => __( 'Athlete', 'all-in-one-seo-pack' ),
44
+ 'author' => __( 'Author', 'all-in-one-seo-pack' ),
45
+ 'director' => __( 'Director', 'all-in-one-seo-pack' ),
46
+ 'musician' => __( 'Musician', 'all-in-one-seo-pack' ),
47
+ 'politician' => __( 'Politician', 'all-in-one-seo-pack' ),
48
+ 'profile' => __( 'Profile', 'all-in-one-seo-pack' ),
49
+ 'public_figure' => __( 'Public Figure', 'all-in-one-seo-pack' )
50
  ),
51
  'Places' => Array(
52
+ 'city' => __( 'City', 'all-in-one-seo-pack' ),
53
+ 'country' => __( 'Country', 'all-in-one-seo-pack' ),
54
+ 'landmark' => __( 'Landmark', 'all-in-one-seo-pack' ),
55
+ 'state_province' => __( 'State Province', 'all-in-one-seo-pack' )
56
  ),
57
  'Products and Entertainment' => Array(
58
+ 'album' => __( 'Album', 'all-in-one-seo-pack' ),
59
+ 'book' => __( 'Book', 'all-in-one-seo-pack' ),
60
+ 'drink' => __( 'Drink', 'all-in-one-seo-pack' ),
61
+ 'food' => __( 'Food', 'all-in-one-seo-pack' ),
62
+ 'game' => __( 'Game', 'all-in-one-seo-pack' ),
63
+ 'movie' => __( 'Movie', 'all-in-one-seo-pack' ),
64
+ 'product' => __( 'Product', 'all-in-one-seo-pack' ),
65
+ 'song' => __( 'Song', 'all-in-one-seo-pack' ),
66
+ 'tv_show' => __( 'TV Show', 'all-in-one-seo-pack' ),
67
+ 'episode' => __( 'Episode', 'all-in-one-seo-pack' )
68
  ),'Websites' => Array(
69
+ 'article' => __( 'Article', 'all-in-one-seo-pack' ),
70
+ 'blog' => __( 'Blog', 'all-in-one-seo-pack' ),
71
+ 'website' => __( 'Website', 'all-in-one-seo-pack' )
72
  )
73
  );
74
  parent::__construct();
75
 
76
+ $categories = Array( 'blog' => __( 'Blog', 'all-in-one-seo-pack' ), 'website' => __( 'Website', 'all-in-one-seo-pack' ), 'article' => __( 'Article', 'all-in-one-seo-pack' ) );
77
 
78
  $this->help_text = Array(
79
+ "setmeta" => __( "Checking this box will use the Home Title and Home Description set in All in One SEO Pack, General Settings as the Open Graph title and description for your home page.", 'all-in-one-seo-pack' ),
80
+ "key" => __( "Your Profile Admin ID is your Facebook profile ID. You can find out your Facebook ID using the lookup tool here: https://graph.facebook.com/yourusername", 'all-in-one-seo-pack' ),
81
+ "title_shortcodes" => __( "Run shortcodes that appear in social title meta tags.", 'all-in-one-seo-pack' ),
82
+ "description_shortcodes"=> __( "Run shortcodes that appear in social description meta tags.", 'all-in-one-seo-pack' ),
83
+ "sitename" => __( "The Site Name is the name that is used to identify your website.", 'all-in-one-seo-pack' ),
84
+ "hometitle" => __( "The Home Title is the Open Graph title for your home page.", 'all-in-one-seo-pack' ),
85
+ "description" => __( "The Home Description is the Open Graph description for your home page.", 'all-in-one-seo-pack' ),
86
+ "homeimage" => __( "The Home Image is the Open Graph image for your home page.", 'all-in-one-seo-pack' ),
87
+ "hometag" => __( "The Home Tag allows you to add a list of keywords that best describe your home page content.", 'all-in-one-seo-pack' ),
88
+ "generate_descriptions" => __( "Check this and your Open Graph descriptions will be auto-generated from your content.", 'all-in-one-seo-pack' ),
89
+ "defimg" => __( "This option lets you choose which image will be displayed by default for the Open Graph image. You may override this on individual posts.", 'all-in-one-seo-pack' ),
90
+ "fallback" => __( "This option lets you fall back to the default image if no image could be found above.", 'all-in-one-seo-pack' ),
91
+ "dimg" => __( "This option sets a default image that can be used for the Open Graph image. You can upload an image, select an image from your Media Library or paste the URL of an image here.", 'all-in-one-seo-pack' ),
92
+ "dimgwidth" => __( "This option lets you set a default width for your images, where unspecified.", 'all-in-one-seo-pack' ),
93
+ "dimgheight" => __( "This option lets you set a default height for your images, where unspecified.", 'all-in-one-seo-pack' ),
94
+ "meta_key" => __( "Enter the name of a custom field (or multiple field names separated by commas) to use that field to specify the Open Graph image on Pages or Posts.", 'all-in-one-seo-pack' ),
95
+ "categories" => __( "Set the Open Graph type for your website as either a blog or a website.", 'all-in-one-seo-pack' ),
96
+ "image" => __( "This option lets you select the Open Graph image that will be used for this Page or Post, overriding the default settings.", 'all-in-one-seo-pack' ),
97
+ "customimg" => __( "This option lets you upload an image to use as the Open Graph image for this Page or Post.", 'all-in-one-seo-pack' ),
98
+ "imagewidth" => __( "Enter the width for your Open Graph image in pixels (i.e. 600).", 'all-in-one-seo-pack' ),
99
+ "imageheight" => __( "Enter the height for your Open Graph image in pixels (i.e. 600).", 'all-in-one-seo-pack' ),
100
+ "video" => __( "This option lets you specify a link to the Open Graph video used on this Page or Post.", 'all-in-one-seo-pack' ),
101
+ "videowidth" => __( "Enter the width for your Open Graph video in pixels (i.e. 600).", 'all-in-one-seo-pack' ),
102
+ "videoheight" => __( "Enter the height for your Open Graph video in pixels (i.e. 600).", 'all-in-one-seo-pack' ),
103
+ "defcard" => __( "Select the default type of Twitter card to display.", 'all-in-one-seo-pack' ),
104
+ "setcard" => __( "Select the default type of Twitter card to display.", 'all-in-one-seo-pack' ),
105
+ "twitter_site" => __( "Enter the Twitter username associated with your website here.", 'all-in-one-seo-pack' ),
106
+ "twitter_creator" => __( "Allows your authors to be identified by their Twitter usernames as content creators on the Twitter cards for their posts.", 'all-in-one-seo-pack' ),
107
+ "twitter_domain" => __( "Enter the name of your website here.", 'all-in-one-seo-pack' ),
108
+ "gen_tags" => __( "Automatically generate article tags for Facebook type article when not provided.", 'all-in-one-seo-pack' ),
109
+ "gen_keywords" => __( "Use keywords in generated article tags.", 'all-in-one-seo-pack' ),
110
+ "gen_categories" => __( "Use catergories in generated article tags.", 'all-in-one-seo-pack' ),
111
+ "gen_post_tags" => __( "Use post tags in generated article tags.", 'all-in-one-seo-pack' ),
112
+ "types" => __( "Select which Post Types you want to use All in One SEO Pack to set Open Graph meta values for.", 'all-in-one-seo-pack' ),
113
+ "title" => __( "This is the Open Graph title of this Page or Post.", 'all-in-one-seo-pack' ),
114
+ "desc" => __( "This is the Open Graph description of this Page or Post.", 'all-in-one-seo-pack' ),
115
+ "category" => __( "Select the Open Graph type that best describes the content of this Page or Post.", 'all-in-one-seo-pack' ),
116
+ "facebook_debug" => __( "Press this button to have Facebook re-fetch and debug this page.", 'all-in-one-seo-pack' ),
117
+ "section" => __( "This Open Graph meta allows you to add a general section name that best describes this content.", 'all-in-one-seo-pack' ),
118
+ "tag" => __( "This Open Graph meta allows you to add a list of keywords that best describe this content.", 'all-in-one-seo-pack' ),
119
+ "facebook_publisher" => __( "Link articles to the Facebook page associated with your website.", 'all-in-one-seo-pack' ),
120
+ "facebook_author" => __( "Allows your authors to be identified by their Facebook pages as content authors on the Opengraph meta for their articles.", 'all-in-one-seo-pack' ),
121
+ "person_or_org" => __( "Are the social profile links for your website for a person or an organization?", 'all-in-one-seo-pack' ),
122
+ "profile_links" => __( "Add URLs for your website's social profiles here (Facebook, Twitter, Google+, Instagram, LinkedIn), one per line.", 'all-in-one-seo-pack' ),
123
+ "social_name" => __( "Add the name of the person or organization who owns these profiles.", 'all-in-one-seo-pack' )
124
  );
125
 
126
  $this->help_anchors = Array(
147
  'scan_header' => '#scan-social-meta'
148
  );
149
 
150
+ $count_desc = __( " characters. Open Graph allows up to a maximum of %s chars for the %s.", 'all-in-one-seo-pack' );
151
  $this->default_options = array(
152
+ 'scan_header'=> Array( 'name' => __( 'Scan Header', 'all-in-one-seo-pack' ), 'type' => 'custom', 'save' => true ),
153
+ 'setmeta' => Array( 'name' => __( 'Use AIOSEO Title and Description', 'all-in-one-seo-pack'), 'type' => 'checkbox' ),
154
+ 'key' => Array( 'name' => __( 'Profile Admins ID', 'all-in-one-seo-pack'), 'default' => '', 'type' => 'text' ),
155
+ 'title_shortcodes' => Array('name' => __( 'Run Shortcodes In Title', 'all-in-one-seo-pack' ) ),
156
+ 'description_shortcodes' => Array('name' => __( 'Run Shortcodes In Description', 'all-in-one-seo-pack' ) ),
157
+ 'sitename' => Array( 'name' => __( 'Site Name', 'all-in-one-seo-pack' ), 'default' => get_bloginfo('name'), 'type' => 'text' ),
158
+ 'hometitle' => Array( 'name' => __( 'Home Title', 'all-in-one-seo-pack'),
159
  'default' => '', 'type' => 'textarea', 'condshow' => Array( 'aiosp_opengraph_setmeta' => Array( 'lhs' => "aiosp_opengraph_setmeta", 'op' => '!=', 'rhs' => 'on' ) ) ),
160
+ 'description' => Array( 'name' => __( 'Home Description', 'all-in-one-seo-pack'),
161
  'default' => '', 'type' => 'textarea', 'condshow' => Array( 'aiosp_opengraph_setmeta' => Array( 'lhs' => "aiosp_opengraph_setmeta", 'op' => '!=', 'rhs' => 'on' ) ) ),
162
+ 'homeimage' => Array( 'name' => __( 'Home Image', 'all-in-one-seo-pack' ),
163
  'type' => 'image' ),
164
+ 'hometag' => Array('name' => __( 'Home Article Tags', 'all-in-one-seo-pack' ),
165
  'type' => 'text', 'default' => '', 'condshow' => Array( 'aiosp_opengraph_categories' => 'article' ) ),
166
+ 'generate_descriptions' => Array( 'name' => __( 'Autogenerate OG Descriptions', 'all-in-one-seo-pack' ), 'default' => 1 ),
167
+ 'defimg' => Array( 'name' => __( 'Select OG:Image Source', 'all-in-one-seo-pack' ), 'type' => 'select', 'initial_options' => Array( '' => __( 'Default Image' ), 'featured' => __( 'Featured Image' ), 'attach' => __( 'First Attached Image' ), 'content' => __( 'First Image In Content' ), 'custom' => __( 'Image From Custom Field' ), 'author' => __( 'Post Author Image' ), 'auto' => __( 'First Available Image' ) ) ),
168
+ 'fallback' => Array( 'name' => __( 'Use Default If No Image Found', 'all-in-one-seo-pack' ), 'type' => 'checkbox' ),
169
+ 'dimg' => Array( 'name' => __( 'Default OG:Image', 'all-in-one-seo-pack' ), 'default' => AIOSEOP_PLUGIN_IMAGES_URL . 'default-user-image.png', 'type' => 'image' ),
170
+ 'dimgwidth' => Array( 'name' => __( 'Default Image Width', 'all-in-one-seo-pack' ),
171
  'type' => 'text', 'default' => '' ),
172
+ 'dimgheight' => Array( 'name' => __( 'Default Image Height', 'all-in-one-seo-pack' ),
173
  'type' => 'text', 'default' => '' ),
174
+ 'meta_key' => Array( 'name' => __( 'Use Custom Field For Image', 'all-in-one-seo-pack' ), 'type' => 'text', 'default' => '' ),
175
+ 'categories' => Array( 'name' => __( 'Facebook Object Type', 'all-in-one-seo-pack'),
176
  'type' => 'radio', 'initial_options' => $categories, 'default' => 'blog' ),
177
+ 'image' => Array( 'name' => __( 'Image', 'all-in-one-seo-pack' ),
178
  'type' => 'radio', 'initial_options' => Array( 0 => '<img style="width:50px;height:auto;display:inline-block;vertical-align:bottom;" src="' . AIOSEOP_PLUGIN_IMAGES_URL . 'default-user-image.png' . '">' ) ),
179
+ 'customimg' => Array( 'name' => __( 'Custom Image', 'all-in-one-seo-pack' ),
180
  'type' => 'image' ),
181
+ 'imagewidth' => Array( 'name' => __( 'Specify Image Width', 'all-in-one-seo-pack' ),
182
  'type' => 'text', 'default' => '' ),
183
+ 'imageheight' => Array( 'name' => __( 'Specify Image Height', 'all-in-one-seo-pack' ),
184
  'type' => 'text', 'default' => '' ),
185
+ 'video' => Array( 'name' => __( 'Custom Video', 'all-in-one-seo-pack' ),
186
  'type' => 'text' ),
187
+ 'videowidth' => Array( 'name' => __( 'Specify Video Width', 'all-in-one-seo-pack' ),
188
  'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_video' => Array( 'lhs' => "aioseop_opengraph_settings_video", 'op' => '!=', 'rhs' => '' ) ) ),
189
+ 'videoheight' => Array( 'name' => __( 'Specify Video Height', 'all-in-one-seo-pack' ),
190
  'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_video' => Array( 'lhs' => "aioseop_opengraph_settings_video", 'op' => '!=', 'rhs' => '' ) ) ),
191
+ 'defcard' => Array( 'name' => __( 'Default Twitter Card', 'all-in-one-seo-pack' ),
192
+ 'type' => 'select', 'initial_options' => Array( 'summary' => __( 'Summary', 'all-in-one-seo-pack' ), 'summary_large_image' => __( 'Summary Large Image', 'all-in-one-seo-pack' ) /*, *******REMOVING THIS TWITTER CARD TYPE FROM SOCIAL META MODULE****** 'photo' => __( 'Photo', 'all-in-one-seo-pack' ) */ ), 'default' => 'summary' ),
193
+ 'setcard' => Array( 'name' => __( 'Twitter Card Type', 'all-in-one-seo-pack' ),
194
+ 'type' => 'select', 'initial_options' => Array( 'summary_large_image' => __( 'Summary Large Image', 'all-in-one-seo-pack' ), 'summary' => __( 'Summary', 'all-in-one-seo-pack' ) /*, *******REMOVING THIS TWITTER CARD TYPE FROM SOCIAL META MODULE****** 'photo' => __( 'Photo', 'all-in-one-seo-pack' ) */ ) ),
195
+ 'twitter_site' => Array( 'name' => __( 'Twitter Site', 'all-in-one-seo-pack' ),
196
  'type' => 'text', 'default' => '' ),
197
+ 'twitter_creator'=>Array( 'name' => __( 'Show Twitter Author', 'all-in-one-seo-pack' ) ),
198
+ 'twitter_domain'=> Array( 'name' => __( 'Twitter Domain', 'all-in-one-seo-pack' ),
199
  'type' => 'text', 'default' => '' ),
200
+ 'gen_tags' => Array( 'name' => __( 'Automatically Generate Article Tags', 'all-in-one-seo-pack' ) ),
201
+ 'gen_keywords' => Array( 'name' => __( 'Use Keywords In Article Tags', 'all-in-one-seo-pack' ), 'default' => 'on', 'condshow' => Array( 'aiosp_opengraph_gen_tags' => 'on' ) ),
202
+ 'gen_categories'=> Array( 'name' => __( 'Use Categories In Article Tags', 'all-in-one-seo-pack' ), 'default' => 'on', 'condshow' => Array( 'aiosp_opengraph_gen_tags' => 'on' ) ),
203
+ 'gen_post_tags' => Array( 'name' => __( 'Use Post Tags In Article Tags', 'all-in-one-seo-pack' ), 'default' => 'on', 'condshow' => Array( 'aiosp_opengraph_gen_tags' => 'on' ) ),
204
+ 'types' => Array( 'name' => __( 'Enable Facebook Meta for', 'all-in-one-seo-pack'),
205
  'type' => 'multicheckbox', 'initial_options' => $this->get_post_type_titles( Array( '_builtin' => false ) ),
206
  'default' => Array( 'post' => 'post', 'page' => 'page' ) ),
207
+ 'title' => Array( 'name' => __( 'Title', 'all-in-one-seo-pack'),
208
  'default' => '', 'type' => 'text', 'size' => 95, 'count' => 1, 'count_desc' => $count_desc ),
209
+ 'desc' => Array( 'name' => __( 'Description', 'all-in-one-seo-pack'),
210
  'default' => '', 'type' => 'textarea', 'cols' => 250, 'rows' => 4, 'count' => 1, 'count_desc' => $count_desc ),
211
+ 'category' => Array( 'name' => __( 'Facebook Object Type', 'all-in-one-seo-pack'),
212
  'type' => 'select', 'style' => '',
213
  'initial_options' => $this->fb_object_types,
214
  'default' => ''
215
  ),
216
+ 'facebook_debug'=> Array( 'name' => __( 'Facebook Debug', 'all-in-one-seo-pack' ), 'type' => 'html', 'save' => false,
217
  'default' =>
218
  '<script>
219
  jQuery(document).ready(function() {
226
  }
227
  });
228
  </script>
229
+ <a name="aioseop_opengraph_settings_facebook_debug" id="aioseop_opengraph_settings_facebook_debug" class="button-primary" href="" target=_blank>' . __( 'Debug This Post', 'all-in-one-seo-pack' )
230
  . '</a>' ),
231
 
232
+ 'section' => Array( 'name' => __( 'Article Section', 'all-in-one-seo-pack' ),
233
  'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_category' => 'article' ) ),
234
+ 'tag' => Array( 'name' => __( 'Article Tags', 'all-in-one-seo-pack' ),
235
  'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_category' => 'article' ) ),
236
+ 'facebook_publisher'=>Array('name' => __( 'Show Facebook Publisher on Articles', 'all-in-one-seo-pack' ), 'type' => 'text', 'default' => '' ),
237
+ 'facebook_author' =>Array('name' => __( 'Show Facebook Author on Articles', 'all-in-one-seo-pack' ) ),
238
+ 'profile_links' =>Array('name' => __( 'Social Profile Links', 'all-in-one-seo-pack' ), 'type' => 'textarea', 'cols' => 60, 'rows' => 5 ),
239
+ 'person_or_org' =>Array('name' => __( 'Person or Organization?', 'all-in-one-seo-pack' ),
240
+ 'type' => 'radio', 'initial_options' => Array( 'person' => __( 'Person', 'all-in-one-seo-pack' ), 'org' => __( 'Organization', 'all-in-one-seo-pack' ) ) ),
241
+ 'social_name' =>Array('name' => __( "Associated Name", 'all-in-one-seo-pack' ), 'type' => 'text', 'default' => "" ),
242
  );
243
 
244
  // load initial options / set defaults
252
  'options' => Array('scan_header', 'setmeta', 'key', 'sitename', 'title_shortcodes', 'description_shortcodes', 'hometitle', 'description', 'homeimage', 'hometag', 'generate_descriptions', 'defimg',
253
  'fallback', 'dimg', 'dimgwidth', 'dimgheight', 'meta_key', 'categories', 'defcard', 'profile_links', 'person_or_org', 'social_name', 'twitter_site', 'twitter_creator', 'twitter_domain', 'gen_tags', 'gen_keywords', 'gen_categories',
254
  'gen_post_tags', 'types', 'facebook_publisher', 'facebook_author' ) ),
255
+ 'settings' => Array( 'name' => __('Social Settings', 'all-in-one-seo-pack'),
256
  'type' => 'metabox', 'help_link' => 'http://semperplugins.com/documentation/social-meta-module/#pagepost_settings',
257
  'options' => Array( 'title', 'desc', 'image', 'customimg', 'imagewidth', 'imageheight', 'video', 'videowidth', 'videoheight', 'category', 'facebook_debug', 'section', 'tag', 'setcard' ),
258
  'display' => $display, 'prefix' => 'aioseop_opengraph_'
261
 
262
  $this->layout = Array(
263
  'default' => Array(
264
+ 'name' => __( 'General Settings', 'all-in-one-seo-pack' ),
265
  'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
266
  'options' => Array() // this is set below, to the remaining options -- pdb
267
  ),
268
  'home' => Array(
269
+ 'name' => __( 'Home Page Settings', 'all-in-one-seo-pack' ),
270
  'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
271
  'options' => Array( 'setmeta', 'sitename', 'hometitle', 'description', 'homeimage', 'hometag' )
272
  ),
273
  'image' => Array(
274
+ 'name' => __( 'Image Settings', 'all-in-one-seo-pack' ),
275
  'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
276
  'options' => Array( 'defimg', 'fallback', 'dimg', 'dimgwidth', 'dimgheight', 'meta_key' )
277
  ),
278
  'links' => Array(
279
+ 'name' => __( 'Social Profile Links', 'all-in-one-seo-pack' ),
280
  'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
281
  'options' => Array( 'profile_links', 'person_or_org', 'social_name' )
282
  ),
283
  'facebook' => Array(
284
+ 'name' => __( 'Facebook Settings', 'all-in-one-seo-pack' ),
285
  'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
286
  'options' => Array( 'key', 'types', 'gen_tags', 'gen_keywords', 'gen_categories', 'gen_post_tags', 'categories', 'facebook_publisher', 'facebook_author' )
287
  ),
288
  'twitter' => Array(
289
+ 'name' => __( 'Twitter Settings', 'all-in-one-seo-pack' ),
290
  'help_link' => 'http://semperplugins.com/documentation/social-meta-module/',
291
  'options' => Array( 'defcard', 'setcard', 'twitter_site', 'twitter_creator', 'twitter_domain' )
292
  ),
293
  'scan_meta' => Array(
294
+ 'name' => __( 'Scan Social Meta', 'all-in-one-seo-pack' ),
295
  'help_link' => 'http://semperplugins.com/documentation/social-meta-module/#scan_meta',
296
  'options' => Array( 'scan_header' )
297
  )
322
  if ( $cat == 'blog' ) {
323
  $show_on_front = get_option( 'show_on_front' );
324
  if ( ( $show_on_front == 'page' ) && ( get_option( 'page_on_front' ) ) ) {
325
+ $this->output_error( '<p>' . __( "Static front page detected, suggested Facebook Object Type is 'website'.", 'all-in-one-seo-pack' ) . '</p>' );
326
  }
327
  } elseif ( $cat == 'website' ) {
328
  $show_on_front = get_option( 'show_on_front' );
329
  if ( ( $show_on_front == 'posts' ) )
330
+ $this->output_error( '<p>' . __( "Blog on front page detected, suggested Facebook Object Type is 'blog'.", 'all-in-one-seo-pack' ) . '</p>' );
331
  }
332
  }
333
  }
374
  }
375
  }
376
  $settings[$prefix . 'category']['initial_options'] = array_merge( Array(
377
+ $this->options["aiosp_opengraph_{$current_post_type}_fb_object_type"] => __( 'Default ', 'all-in-one-seo-pack' ) . ' - '
378
  . $flat_type_list[ $this->options["aiosp_opengraph_{$current_post_type}_fb_object_type"] ] ),
379
  $settings[$prefix . 'category']['initial_options'] );
380
  }
421
  $buf .= '<div class="aioseop aioseop_options aiosp_opengraph_settings"><div class="aioseop_wrapper aioseop_custom_type" id="aiosp_opengraph_scan_header_wrapper"><div class="aioseop_input" id="aiosp_opengraph_scan_header" style="padding-left:20px;">';
422
  $args['options']['type'] = 'submit';
423
  $args['attr'] = " class='button-primary' ";
424
+ $args['value'] = $args['options']['default'] = __( 'Scan Now', 'all-in-one-seo-pack' );
425
+ $buf .= __( 'Scan your site for duplicate social meta tags.', 'all-in-one-seo-pack' );
426
  $buf .= '<br /><br />' . $this->get_option_html( $args );
427
  $buf .= '</div></div></div>';
428
  }
684
 
685
  if ( !empty( $metabox['aioseop_opengraph_settings_setcard'] ) )
686
  $card = $metabox['aioseop_opengraph_settings_setcard'];
687
+
688
+
689
+ //support for changing legacy twitter cardtype-photo to summary large image
690
+ if($card == 'photo'){
691
+ $card = 'summary_large_image';
692
+ }
693
+
694
+
695
  $site = $domain = $creator = '';
696
 
697
  if ( !empty( $this->options['aiosp_opengraph_twitter_site'] ) )
733
  'site' => 'twitter:site',
734
  'creator' => 'twitter:creator',
735
  'domain' => 'twitter:domain',
736
+ 'title' => 'twitter:title',
737
  'description' => 'twitter:description',
738
+ 'thumbnail' => 'twitter:image',
739
  ),
740
+ //this has been moved below to check for schema.org checkbox
741
+ /*'google+' => Array(
742
  'thumbnail' => 'image',
743
+ ),*/
744
  );
745
 
746
+ //Only show if "use schema.org markup is checked"
747
+ if(!empty( $aioseop_options['aiosp_schema_markup'] ))
748
+ $meta['google+'] = Array('thumbnail' => 'image');
749
+
750
+
751
+
752
+
753
  // Add links to testing tools
754
 
755
  /*
868
  foreach( $post_types as $slug => $name ) {
869
  $field = $slug . '_fb_object_type';
870
  $this->default_options[$field] = Array(
871
+ 'name' => "$name " . __( 'Object Type', 'all-in-one-seo-pack' ) . "<br />($slug)",
872
  'type' => 'select',
873
  'style' => '',
874
  'initial_options' => $this->fb_object_types,
875
  'default' => 'article',
876
  'condshow' => Array( 'aiosp_opengraph_types\[\]' => $slug )
877
  );
878
+ $this->help_text[$field] = __( 'Choose a default value that best describes the content of your post type.', 'all-in-one-seo-pack' );
879
  $this->help_anchors[$field] = '#content-object-types';
880
  $this->locations['opengraph']['options'][] = $field;
881
  $this->layout['facebook']['options'][] = $field;
aioseop_options.php DELETED
File without changes
aioseop_performance.php CHANGED
@@ -11,24 +11,24 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Performance' ) ) {
11
  protected $module_info = Array( );
12
 
13
  function All_in_One_SEO_Pack_Performance( $mod ) {
14
- $this->name = __('Performance', 'all_in_one_seo_pack'); // Human-readable name of the plugin
15
  $this->prefix = 'aiosp_performance_'; // option prefix
16
  $this->file = __FILE__; // the current file
17
  parent::__construct();
18
 
19
  $this->help_text = Array(
20
- "memory_limit" => __( "This setting allows you to raise your PHP memory limit to a reasonable value. Note: WordPress core and other WordPress plugins may also change the value of the memory limit.", 'all_in_one_seo_pack' ),
21
- "execution_time" => __( "This setting allows you to raise your PHP execution time to a reasonable value.", 'all_in_one_seo_pack' ),
22
- "force_rewrites" => __( "Use output buffering to ensure that the title gets rewritten. Enable this option if you run into issues with the title tag being set by your theme or another plugin.", 'all_in_one_seo_pack' )
23
  );
24
 
25
  $this->default_options = array(
26
- 'memory_limit' => Array( 'name' => __( 'Raise memory limit', 'all_in_one_seo_pack' ),
27
  'default' => '256M', 'type' => 'select',
28
- 'initial_options' => Array( 0 => __( "Use the system default", 'all_in_one_seo_pack' ), '32M' => '32MB', '64M' => '64MB', '128M' => '128MB', '256M' => '256MB' ) ),
29
- 'execution_time' => Array( 'name' => __( 'Raise execution time', 'all_in_one_seo_pack' ),
30
  'default' => '', 'type' => 'select',
31
- 'initial_options' => Array( '' => __( "Use the system default", 'all_in_one_seo_pack' ), 30 => '30s', 60 => '1m', 120 => '2m', 300 => '5m', 0 => __( 'No limit', 'all_in_one_seo_pack' ) ) )
32
  );
33
 
34
  $this->help_anchors = Array(
@@ -40,10 +40,10 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Performance' ) ) {
40
  global $aiosp, $aioseop_options;
41
  if ( aioseop_option_isset( 'aiosp_rewrite_titles' ) && $aioseop_options['aiosp_rewrite_titles'] ) {
42
  $this->default_options['force_rewrites'] = Array(
43
- 'name' => __( 'Force Rewrites:', 'all_in_one_seo_pack' ),
44
  'default' => 1, 'type' => 'radio',
45
- 'initial_options' => Array( 1 => __( 'Enabled', 'all_in_one_seo_pack' ),
46
- 0 => __( 'Disabled', 'all_in_one_seo_pack' ) )
47
  );
48
  }
49
 
@@ -60,7 +60,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Performance' ) ) {
60
  );
61
 
62
  $this->layout['system_status'] = Array(
63
- 'name' => __( 'System Status', 'all_in_one_seo_pack' ),
64
  'help_link' => 'http://semperplugins.com/documentation/performance-settings/',
65
  'options' => array_keys( $system_status )
66
  );
@@ -136,27 +136,27 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Performance' ) ) {
136
  $sqlversion = $wpdb->get_var("SELECT VERSION() AS version");
137
  $mysqlinfo = $wpdb->get_results("SHOW VARIABLES LIKE 'sql_mode'");
138
  if (is_array($mysqlinfo)) $sql_mode = $mysqlinfo[0]->Value;
139
- if (empty($sql_mode)) $sql_mode = __('Not set', 'all_in_one_seo_pack' );
140
- if(ini_get('safe_mode')) $safe_mode = __('On', 'all_in_one_seo_pack' );
141
- else $safe_mode = __('Off', 'all_in_one_seo_pack' );
142
- if(ini_get('allow_url_fopen')) $allow_url_fopen = __('On', 'all_in_one_seo_pack' );
143
- else $allow_url_fopen = __('Off', 'all_in_one_seo_pack' );
144
  if(ini_get('upload_max_filesize')) $upload_max = ini_get('upload_max_filesize');
145
- else $upload_max = __('N/A', 'all_in_one_seo_pack' );
146
  if(ini_get('post_max_size')) $post_max = ini_get('post_max_size');
147
- else $post_max = __('N/A', 'all_in_one_seo_pack' );
148
  if(ini_get('max_execution_time')) $max_execute = ini_get('max_execution_time');
149
- else $max_execute = __('N/A', 'all_in_one_seo_pack' );
150
  if(ini_get('memory_limit')) $memory_limit = ini_get('memory_limit');
151
- else $memory_limit = __('N/A', 'all_in_one_seo_pack' );
152
- if (function_exists('memory_get_usage')) $memory_usage = round(memory_get_usage() / 1024 / 1024, 2) . __(' MByte', 'all_in_one_seo_pack' );
153
- else $memory_usage = __('N/A', 'all_in_one_seo_pack' );
154
- if (is_callable('exif_read_data')) $exif = __('Yes', 'all_in_one_seo_pack' ). " ( V" . $this->substr(phpversion('exif'),0,4) . ")" ;
155
- else $exif = __('No', 'all_in_one_seo_pack' );
156
- if (is_callable('iptcparse')) $iptc = __('Yes', 'all_in_one_seo_pack' );
157
- else $iptc = __('No', 'all_in_one_seo_pack' );
158
- if (is_callable('xml_parser_create')) $xml = __('Yes', 'all_in_one_seo_pack' );
159
- else $xml = __('No', 'all_in_one_seo_pack' );
160
 
161
  if ( function_exists( 'wp_get_theme' ) ) {
162
  $theme = wp_get_theme();
@@ -167,39 +167,39 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Performance' ) ) {
167
 
168
  if ( function_exists( 'is_multisite' ) ) {
169
  if ( is_multisite() ) {
170
- $ms = __('Yes', 'all_in_one_seo_pack' );
171
  } else {
172
- $ms = __('No', 'all_in_one_seo_pack' );
173
  }
174
 
175
- } else $ms = __('N/A', 'all_in_one_seo_pack' );
176
 
177
  $siteurl = get_option('siteurl');
178
  $homeurl = get_option('home');
179
  $db_version = get_option('db_version');
180
 
181
  $debug_info = Array(
182
- __('Operating System', 'all_in_one_seo_pack' ) => PHP_OS,
183
- __('Server', 'all_in_one_seo_pack' ) => $_SERVER["SERVER_SOFTWARE"],
184
- __('Memory usage', 'all_in_one_seo_pack' ) => $memory_usage,
185
- __('MYSQL Version', 'all_in_one_seo_pack' ) => $sqlversion,
186
- __('SQL Mode', 'all_in_one_seo_pack' ) => $sql_mode,
187
- __('PHP Version', 'all_in_one_seo_pack' ) => PHP_VERSION,
188
- __('PHP Safe Mode', 'all_in_one_seo_pack' ) => $safe_mode,
189
- __('PHP Allow URL fopen', 'all_in_one_seo_pack' ) => $allow_url_fopen,
190
- __('PHP Memory Limit', 'all_in_one_seo_pack' ) => $memory_limit,
191
- __('PHP Max Upload Size', 'all_in_one_seo_pack' ) => $upload_max,
192
- __('PHP Max Post Size', 'all_in_one_seo_pack' ) => $post_max,
193
- __('PHP Max Script Execute Time', 'all_in_one_seo_pack' ) => $max_execute,
194
- __('PHP Exif support', 'all_in_one_seo_pack' ) => $exif,
195
- __('PHP IPTC support', 'all_in_one_seo_pack' ) => $iptc,
196
- __('PHP XML support', 'all_in_one_seo_pack' ) => $xml,
197
- __('Site URL', 'all_in_one_seo_pack' ) => $siteurl,
198
- __('Home URL', 'all_in_one_seo_pack' ) => $homeurl,
199
- __('WordPress Version', 'all_in_one_seo_pack' ) => $wp_version,
200
- __('WordPress DB Version', 'all_in_one_seo_pack' ) => $db_version,
201
- __('Multisite', 'all_in_one_seo_pack' ) => $ms,
202
- __('Active Theme', 'all_in_one_seo_pack' ) => $theme['Name'].' '.$theme['Version']
203
  );
204
  $debug_info['Active Plugins'] = null;
205
  $active_plugins = $inactive_plugins = Array();
@@ -214,7 +214,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Performance' ) ) {
214
  $debug_info['Inactive Plugins'] = null;
215
  $debug_info = array_merge( $debug_info, (array)$inactive_plugins );
216
 
217
- $mail_text = __( "All in One SEO Pack Pro Debug Info", 'all_in_one_seo_pack' ) . "\r\n------------------\r\n\r\n";
218
  $page_text = "";
219
  if ( !empty( $debug_info ) )
220
  foreach($debug_info as $name => $value) {
@@ -230,25 +230,25 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Performance' ) ) {
230
  do if ( !empty( $_REQUEST['sfwd_debug_submit'] ) ) {
231
  $nonce=$_REQUEST['sfwd_debug_nonce'];
232
  if (! wp_verify_nonce($nonce, 'sfwd-debug-nonce') ) {
233
- echo "<div class='sfwd_debug_error'>" . __( "Form submission error: verification check failed.", 'all_in_one_seo_pack' ) . "</div>";
234
  break;
235
  }
236
  $email = '';
237
  if ( !empty( $_REQUEST['sfwd_debug_send_email'] ) ) $email = sanitize_email( $_REQUEST['sfwd_debug_send_email'] );
238
  if ( $email ) {
239
- if ( wp_mail( $email, sprintf( __( "SFWD Debug Mail From Site %s.", 'all_in_one_seo_pack'), $siteurl), $mail_text ) ) {
240
- echo "<div class='sfwd_debug_mail_sent'>" . sprintf( __( "Sent to %s.", 'all_in_one_seo_pack' ), $email ) . "</div>";
241
  } else {
242
- echo "<div class='sfwd_debug_error'>" . sprintf( __( "Failed to send to %s.", 'all_in_one_seo_pack' ), $email ) . "</div>";
243
  }
244
  } else {
245
- echo "<div class='sfwd_debug_error'>" . __( 'Error: please enter an e-mail address before submitting.', 'all_in_one_seo_pack' ) . "</div>";
246
  }
247
  } while(0); // control structure for use with break
248
  $nonce = wp_create_nonce('sfwd-debug-nonce');
249
  $buf = "<ul class='sfwd_debug_settings'>\n{$page_text}\n</ul>\n<p>\n" .
250
- '<input name="sfwd_debug_send_email" type="text" value="" placeholder="' . __( "E-mail debug information", 'all_in_one_seo_pack' ) . '"><input name="sfwd_debug_nonce" type="hidden" value="' .
251
- $nonce . '"><input name="sfwd_debug_submit" type="submit" value="' . __( 'Submit', 'all_in_one_seo_pack' ) . '" class="button-primary"><p>';
252
  return $buf;
253
  }
254
  }
11
  protected $module_info = Array( );
12
 
13
  function All_in_One_SEO_Pack_Performance( $mod ) {
14
+ $this->name = __('Performance', 'all-in-one-seo-pack'); // Human-readable name of the plugin
15
  $this->prefix = 'aiosp_performance_'; // option prefix
16
  $this->file = __FILE__; // the current file
17
  parent::__construct();
18
 
19
  $this->help_text = Array(
20
+ "memory_limit" => __( "This setting allows you to raise your PHP memory limit to a reasonable value. Note: WordPress core and other WordPress plugins may also change the value of the memory limit.", 'all-in-one-seo-pack' ),
21
+ "execution_time" => __( "This setting allows you to raise your PHP execution time to a reasonable value.", 'all-in-one-seo-pack' ),
22
+ "force_rewrites" => __( "Use output buffering to ensure that the title gets rewritten. Enable this option if you run into issues with the title tag being set by your theme or another plugin.", 'all-in-one-seo-pack' )
23
  );
24
 
25
  $this->default_options = array(
26
+ 'memory_limit' => Array( 'name' => __( 'Raise memory limit', 'all-in-one-seo-pack' ),
27
  'default' => '256M', 'type' => 'select',
28
+ 'initial_options' => Array( 0 => __( "Use the system default", 'all-in-one-seo-pack' ), '32M' => '32MB', '64M' => '64MB', '128M' => '128MB', '256M' => '256MB' ) ),
29
+ 'execution_time' => Array( 'name' => __( 'Raise execution time', 'all-in-one-seo-pack' ),
30
  'default' => '', 'type' => 'select',
31
+ 'initial_options' => Array( '' => __( "Use the system default", 'all-in-one-seo-pack' ), 30 => '30s', 60 => '1m', 120 => '2m', 300 => '5m', 0 => __( 'No limit', 'all-in-one-seo-pack' ) ) )
32
  );
33
 
34
  $this->help_anchors = Array(
40
  global $aiosp, $aioseop_options;
41
  if ( aioseop_option_isset( 'aiosp_rewrite_titles' ) && $aioseop_options['aiosp_rewrite_titles'] ) {
42
  $this->default_options['force_rewrites'] = Array(
43
+ 'name' => __( 'Force Rewrites:', 'all-in-one-seo-pack' ),
44
  'default' => 1, 'type' => 'radio',
45
+ 'initial_options' => Array( 1 => __( 'Enabled', 'all-in-one-seo-pack' ),
46
+ 0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
47
  );
48
  }
49
 
60
  );
61
 
62
  $this->layout['system_status'] = Array(
63
+ 'name' => __( 'System Status', 'all-in-one-seo-pack' ),
64
  'help_link' => 'http://semperplugins.com/documentation/performance-settings/',
65
  'options' => array_keys( $system_status )
66
  );
136
  $sqlversion = $wpdb->get_var("SELECT VERSION() AS version");
137
  $mysqlinfo = $wpdb->get_results("SHOW VARIABLES LIKE 'sql_mode'");
138
  if (is_array($mysqlinfo)) $sql_mode = $mysqlinfo[0]->Value;
139
+ if (empty($sql_mode)) $sql_mode = __('Not set', 'all-in-one-seo-pack' );
140
+ if(ini_get('safe_mode')) $safe_mode = __('On', 'all-in-one-seo-pack' );
141
+ else $safe_mode = __('Off', 'all-in-one-seo-pack' );
142
+ if(ini_get('allow_url_fopen')) $allow_url_fopen = __('On', 'all-in-one-seo-pack' );
143
+ else $allow_url_fopen = __('Off', 'all-in-one-seo-pack' );
144
  if(ini_get('upload_max_filesize')) $upload_max = ini_get('upload_max_filesize');
145
+ else $upload_max = __('N/A', 'all-in-one-seo-pack' );
146
  if(ini_get('post_max_size')) $post_max = ini_get('post_max_size');
147
+ else $post_max = __('N/A', 'all-in-one-seo-pack' );
148
  if(ini_get('max_execution_time')) $max_execute = ini_get('max_execution_time');
149
+ else $max_execute = __('N/A', 'all-in-one-seo-pack' );
150
  if(ini_get('memory_limit')) $memory_limit = ini_get('memory_limit');
151
+ else $memory_limit = __('N/A', 'all-in-one-seo-pack' );
152
+ if (function_exists('memory_get_usage')) $memory_usage = round(memory_get_usage() / 1024 / 1024, 2) . __(' MByte', 'all-in-one-seo-pack' );
153
+ else $memory_usage = __('N/A', 'all-in-one-seo-pack' );
154
+ if (is_callable('exif_read_data')) $exif = __('Yes', 'all-in-one-seo-pack' ). " ( V" . $this->substr(phpversion('exif'),0,4) . ")" ;
155
+ else $exif = __('No', 'all-in-one-seo-pack' );
156
+ if (is_callable('iptcparse')) $iptc = __('Yes', 'all-in-one-seo-pack' );
157
+ else $iptc = __('No', 'all-in-one-seo-pack' );
158
+ if (is_callable('xml_parser_create')) $xml = __('Yes', 'all-in-one-seo-pack' );
159
+ else $xml = __('No', 'all-in-one-seo-pack' );
160
 
161
  if ( function_exists( 'wp_get_theme' ) ) {
162
  $theme = wp_get_theme();
167
 
168
  if ( function_exists( 'is_multisite' ) ) {
169
  if ( is_multisite() ) {
170
+ $ms = __('Yes', 'all-in-one-seo-pack' );
171
  } else {
172
+ $ms = __('No', 'all-in-one-seo-pack' );
173
  }
174
 
175
+ } else $ms = __('N/A', 'all-in-one-seo-pack' );
176
 
177
  $siteurl = get_option('siteurl');
178
  $homeurl = get_option('home');
179
  $db_version = get_option('db_version');
180
 
181
  $debug_info = Array(
182
+ __('Operating System', 'all-in-one-seo-pack' ) => PHP_OS,
183
+ __('Server', 'all-in-one-seo-pack' ) => $_SERVER["SERVER_SOFTWARE"],
184
+ __('Memory usage', 'all-in-one-seo-pack' ) => $memory_usage,
185
+ __('MYSQL Version', 'all-in-one-seo-pack' ) => $sqlversion,
186
+ __('SQL Mode', 'all-in-one-seo-pack' ) => $sql_mode,
187
+ __('PHP Version', 'all-in-one-seo-pack' ) => PHP_VERSION,
188
+ __('PHP Safe Mode', 'all-in-one-seo-pack' ) => $safe_mode,
189
+ __('PHP Allow URL fopen', 'all-in-one-seo-pack' ) => $allow_url_fopen,
190
+ __('PHP Memory Limit', 'all-in-one-seo-pack' ) => $memory_limit,
191
+ __('PHP Max Upload Size', 'all-in-one-seo-pack' ) => $upload_max,
192
+ __('PHP Max Post Size', 'all-in-one-seo-pack' ) => $post_max,
193
+ __('PHP Max Script Execute Time', 'all-in-one-seo-pack' ) => $max_execute,
194
+ __('PHP Exif support', 'all-in-one-seo-pack' ) => $exif,
195
+ __('PHP IPTC support', 'all-in-one-seo-pack' ) => $iptc,
196
+ __('PHP XML support', 'all-in-one-seo-pack' ) => $xml,
197
+ __('Site URL', 'all-in-one-seo-pack' ) => $siteurl,
198
+ __('Home URL', 'all-in-one-seo-pack' ) => $homeurl,
199
+ __('WordPress Version', 'all-in-one-seo-pack' ) => $wp_version,
200
+ __('WordPress DB Version', 'all-in-one-seo-pack' ) => $db_version,
201
+ __('Multisite', 'all-in-one-seo-pack' ) => $ms,
202
+ __('Active Theme', 'all-in-one-seo-pack' ) => $theme['Name'].' '.$theme['Version']
203
  );
204
  $debug_info['Active Plugins'] = null;
205
  $active_plugins = $inactive_plugins = Array();
214
  $debug_info['Inactive Plugins'] = null;
215
  $debug_info = array_merge( $debug_info, (array)$inactive_plugins );
216
 
217
+ $mail_text = __( "All in One SEO Pack Pro Debug Info", 'all-in-one-seo-pack' ) . "\r\n------------------\r\n\r\n";
218
  $page_text = "";
219
  if ( !empty( $debug_info ) )
220
  foreach($debug_info as $name => $value) {
230
  do if ( !empty( $_REQUEST['sfwd_debug_submit'] ) ) {
231
  $nonce=$_REQUEST['sfwd_debug_nonce'];
232
  if (! wp_verify_nonce($nonce, 'sfwd-debug-nonce') ) {
233
+ echo "<div class='sfwd_debug_error'>" . __( "Form submission error: verification check failed.", 'all-in-one-seo-pack' ) . "</div>";
234
  break;
235
  }
236
  $email = '';
237
  if ( !empty( $_REQUEST['sfwd_debug_send_email'] ) ) $email = sanitize_email( $_REQUEST['sfwd_debug_send_email'] );
238
  if ( $email ) {
239
+ if ( wp_mail( $email, sprintf( __( "SFWD Debug Mail From Site %s.", 'all-in-one-seo-pack'), $siteurl), $mail_text ) ) {
240
+ echo "<div class='sfwd_debug_mail_sent'>" . sprintf( __( "Sent to %s.", 'all-in-one-seo-pack' ), $email ) . "</div>";
241
  } else {
242
+ echo "<div class='sfwd_debug_error'>" . sprintf( __( "Failed to send to %s.", 'all-in-one-seo-pack' ), $email ) . "</div>";
243
  }
244
  } else {
245
+ echo "<div class='sfwd_debug_error'>" . __( 'Error: please enter an e-mail address before submitting.', 'all-in-one-seo-pack' ) . "</div>";
246
  }
247
  } while(0); // control structure for use with break
248
  $nonce = wp_create_nonce('sfwd-debug-nonce');
249
  $buf = "<ul class='sfwd_debug_settings'>\n{$page_text}\n</ul>\n<p>\n" .
250
+ '<input name="sfwd_debug_send_email" type="text" value="" placeholder="' . __( "E-mail debug information", 'all-in-one-seo-pack' ) . '"><input name="sfwd_debug_nonce" type="hidden" value="' .
251
+ $nonce . '"><input name="sfwd_debug_submit" type="submit" value="' . __( 'Submit', 'all-in-one-seo-pack' ) . '" class="button-primary"><p>';
252
  return $buf;
253
  }
254
  }
aioseop_robots.php CHANGED
@@ -9,43 +9,43 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Robots' ) ) {
9
  class All_in_One_SEO_Pack_Robots extends All_in_One_SEO_Pack_Module {
10
 
11
  function __construct( ) {
12
- $this->name = __('Robots.txt', 'all_in_one_seo_pack'); // Human-readable name of the plugin
13
  $this->prefix = 'aiosp_robots_'; // option prefix
14
  $this->file = __FILE__; // the current file
15
  parent::__construct();
16
 
17
  $help_text = Array(
18
- 'additional'=> __('Rule Type', 'all_in_one_seo_pack'),
19
- 'useragent' => __('User Agent', 'all_in_one_seo_pack'),
20
- 'path' => __('Directory Path', 'all_in_one_seo_pack'),
21
- 'robotgen' => __('Robots.txt editor', 'all_in_one_seo_pack'),
22
  );
23
 
24
  $this->default_options = array(
25
  'usage' => Array( 'type' => 'html', 'label' => 'none',
26
- 'default' => __( 'Use the rule builder below to add rules to create a new Robots.txt file.  If you already have a Robots.txt file you should use the File Editor feature in All in One SEO Pack to edit it or you can delete your current Robots.txt file and start a new one with the rule builder below.', 'all_in_one_seo_pack' ),
27
  'save' => false ),
28
- 'additional'=> Array( 'name' => __( 'Rule Type', 'all_in_one_seo_pack' ),
29
  'save' => false,
30
  'type' => 'select', 'initial_options' => Array( 'allow' => 'Allow', 'block' => 'Block' ) ),
31
- 'useragent' => Array( 'name' => __( 'User Agent', 'all_in_one_seo_pack' ),
32
  'save' => false,
33
  'type' => 'text' ),
34
- 'path' => Array( 'name' => __( 'Directory Path', 'all_in_one_seo_pack' ),
35
  'save' => false,
36
  'type' => 'text' ),
37
- 'robotgen' => Array( 'name' => __( 'Generate Robots.txt', 'all_in_one_seo_pack'),
38
  'save' => false,
39
  'default' => '', 'type' => 'textarea', 'cols' => 57, 'rows' => 20, 'label' => 'none', 'readonly' => 'readonly' ),
40
- 'Submit_Preview' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Add Rule', 'all_in_one_seo_pack' ) . ' &raquo;', 'nowrap' => 1, 'style' => 'margin-left: 20px;' ),
41
- 'Submit_Update' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Save Robots.txt File', 'all_in_one_seo_pack' ) . ' &raquo;', 'nowrap' => 1 ),
42
- 'Submit_Delete' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Delete Robots.txt File', 'all_in_one_seo_pack' ) . ' &raquo;', 'nowrap' => 1 ),
43
  'optusage' => Array( 'type' => 'html', 'label' => 'none',
44
- 'default' => __( 'Click the Optimize button below and All in One SEO Pack will analyze your Robots.txt file to make sure it complies with the standards for Robots.txt files.  The results will be displayed in a table below.', 'all_in_one_seo_pack' ),
45
  'save' => false ),
46
- 'Submit_Opt_Update' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Update Robots.txt File', 'all_in_one_seo_pack' ) . ' &raquo;', 'nowrap' => 1, 'style' => 'margin-left: 20px;' ),
47
- 'Submit_Opt_Preview' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Disregard Changes', 'all_in_one_seo_pack' ) . ' &raquo;', 'nowrap' => 1),
48
- 'Submit_Optimize' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __('Optimize', 'all_in_one_seo_pack') . ' &raquo;' )
49
  );
50
 
51
  if ( !empty( $help_text ) )
@@ -58,17 +58,17 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Robots' ) ) {
58
 
59
  $this->layout = Array(
60
  'default' => Array(
61
- 'name' => __( 'Create a Robots.txt File', 'all_in_one_seo_pack' ),
62
  'options' => Array( 'usage', 'additional', 'useragent', 'path', 'Submit_Preview', 'Submit_Update', 'Submit_Delete', 'robotgen' ) // this is set below, to the remaining options -- pdb
63
  )
64
  );
65
  $this->layout['optimize'] = Array(
66
- 'name' => __( 'Optimize your Robots.txt File', 'all_in_one_seo_pack' ),
67
  'options' => Array( 'optusage', 'Submit_Optimize' )
68
  );
69
  if ( isset( $_POST['Submit_Optimize'] ) ) {
70
  $this->layout['optimize']['options'] = Array( 'optusage', 'Submit_Opt_Update', 'Submit_Opt_Preview', 'robothtml' );
71
- $this->default_options['optusage']['default'] = __( "Your Robots.txt file has been optimized.  Here are the results and recommendations.  Click the Update Robots.txt File button below to write these changes to your Robots.txt file.  Click the Disregard Changes button to ignore these recommendations and keep your current Robots.txt file.", 'all_in_one_seo_pack' );
72
  }
73
 
74
  // load initial options / set defaults
@@ -88,7 +88,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Robots' ) ) {
88
  $settings[ $prefix . 'robotgen' ]['type'] = 'hidden';
89
  $settings[ $prefix . 'robotgen' ]['label'] = 'none';
90
  $settings[ $prefix . 'robotgen' ]['help_text'] = '';
91
- $settings[ $prefix . 'robothtml'] = Array( 'name' => __( 'Robots.txt', 'all_in_one_seo_pack'),
92
  'save' => false, 'default' => '', 'type' => 'html', 'label' => 'none', 'style' => 'margin-top:10px;' );
93
  }
94
  }
@@ -158,9 +158,9 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Robots' ) ) {
158
  }
159
  $options[$prefix . 'robotgen'] = $this->output_robots($rules);
160
  $file2 = explode("\n", $options[$prefix . 'robotgen'] );
161
- $options[$prefix . 'robothtml'] = '<table width=100%><tr><td valign=top width=45%>' . $this->annotate_robots_html( $file, true, __( "Current File", 'all_in_one_seo_pack' ) ) . '</td><td><span style="font-size: xx-large">&#8594;</span></td><td valign=top>' . $this->annotate_robots_html( $file2, true, __( "Proposed Changes", 'all_in_one_seo_pack' ) ) . '</td></tr></table>';
162
  } else {
163
- $options[$prefix . 'robothtml'] = $this->annotate_robots_html( $file, true, __( "Current File", 'all_in_one_seo_pack' ) );
164
  }
165
  }
166
  return $options;
@@ -214,12 +214,12 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Robots' ) ) {
214
  $buf .= '</table>';
215
  if ( $show_help ) {
216
  $buf .= '<div class="aioseop_option_docs" id="aiosp_robots_main_legend_tip">
217
- <h3>' . __( 'Legend', 'all_in_one_seo_pack' ) . '</h3>
218
  <ul>
219
- <li>' . __( 'The yellow indicator means that a non-standard extension was recognized; not all crawlers may recognize it or interpret it the same way. The Allow and Sitemap directives are commonly used by Google and Yahoo.', 'all_in_one_seo_pack' ) . '</li>
220
- <li>' . __( 'The red indicator means that the syntax is invalid for a robots.txt file.', 'all_in_one_seo_pack') . '</li>
221
  </ul>
222
- <a target="_blank" rel="nofollow" href="http://wikipedia.org/wiki/Robots_exclusion_standard#Nonstandard_extensions">' . __('More Information', 'all_in_one_seo_pack') . '</a>
223
  </div>';
224
  }
225
  } else {
9
  class All_in_One_SEO_Pack_Robots extends All_in_One_SEO_Pack_Module {
10
 
11
  function __construct( ) {
12
+ $this->name = __('Robots.txt', 'all-in-one-seo-pack'); // Human-readable name of the plugin
13
  $this->prefix = 'aiosp_robots_'; // option prefix
14
  $this->file = __FILE__; // the current file
15
  parent::__construct();
16
 
17
  $help_text = Array(
18
+ 'additional'=> __('Rule Type', 'all-in-one-seo-pack'),
19
+ 'useragent' => __('User Agent', 'all-in-one-seo-pack'),
20
+ 'path' => __('Directory Path', 'all-in-one-seo-pack'),
21
+ 'robotgen' => __('Robots.txt editor', 'all-in-one-seo-pack'),
22
  );
23
 
24
  $this->default_options = array(
25
  'usage' => Array( 'type' => 'html', 'label' => 'none',
26
+ 'default' => __( 'Use the rule builder below to add rules to create a new Robots.txt file.  If you already have a Robots.txt file you should use the File Editor feature in All in One SEO Pack to edit it or you can delete your current Robots.txt file and start a new one with the rule builder below.', 'all-in-one-seo-pack' ),
27
  'save' => false ),
28
+ 'additional'=> Array( 'name' => __( 'Rule Type', 'all-in-one-seo-pack' ),
29
  'save' => false,
30
  'type' => 'select', 'initial_options' => Array( 'allow' => 'Allow', 'block' => 'Block' ) ),
31
+ 'useragent' => Array( 'name' => __( 'User Agent', 'all-in-one-seo-pack' ),
32
  'save' => false,
33
  'type' => 'text' ),
34
+ 'path' => Array( 'name' => __( 'Directory Path', 'all-in-one-seo-pack' ),
35
  'save' => false,
36
  'type' => 'text' ),
37
+ 'robotgen' => Array( 'name' => __( 'Generate Robots.txt', 'all-in-one-seo-pack'),
38
  'save' => false,
39
  'default' => '', 'type' => 'textarea', 'cols' => 57, 'rows' => 20, 'label' => 'none', 'readonly' => 'readonly' ),
40
+ 'Submit_Preview' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Add Rule', 'all-in-one-seo-pack' ) . ' &raquo;', 'nowrap' => 1, 'style' => 'margin-left: 20px;' ),
41
+ 'Submit_Update' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Save Robots.txt File', 'all-in-one-seo-pack' ) . ' &raquo;', 'nowrap' => 1 ),
42
+ 'Submit_Delete' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Delete Robots.txt File', 'all-in-one-seo-pack' ) . ' &raquo;', 'nowrap' => 1 ),
43
  'optusage' => Array( 'type' => 'html', 'label' => 'none',
44
+ 'default' => __( 'Click the Optimize button below and All in One SEO Pack will analyze your Robots.txt file to make sure it complies with the standards for Robots.txt files.  The results will be displayed in a table below.', 'all-in-one-seo-pack' ),
45
  'save' => false ),
46
+ 'Submit_Opt_Update' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Update Robots.txt File', 'all-in-one-seo-pack' ) . ' &raquo;', 'nowrap' => 1, 'style' => 'margin-left: 20px;' ),
47
+ 'Submit_Opt_Preview' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Disregard Changes', 'all-in-one-seo-pack' ) . ' &raquo;', 'nowrap' => 1),
48
+ 'Submit_Optimize' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __('Optimize', 'all-in-one-seo-pack') . ' &raquo;' )
49
  );
50
 
51
  if ( !empty( $help_text ) )
58
 
59
  $this->layout = Array(
60
  'default' => Array(
61
+ 'name' => __( 'Create a Robots.txt File', 'all-in-one-seo-pack' ),
62
  'options' => Array( 'usage', 'additional', 'useragent', 'path', 'Submit_Preview', 'Submit_Update', 'Submit_Delete', 'robotgen' ) // this is set below, to the remaining options -- pdb
63
  )
64
  );
65
  $this->layout['optimize'] = Array(
66
+ 'name' => __( 'Optimize your Robots.txt File', 'all-in-one-seo-pack' ),
67
  'options' => Array( 'optusage', 'Submit_Optimize' )
68
  );
69
  if ( isset( $_POST['Submit_Optimize'] ) ) {
70
  $this->layout['optimize']['options'] = Array( 'optusage', 'Submit_Opt_Update', 'Submit_Opt_Preview', 'robothtml' );
71
+ $this->default_options['optusage']['default'] = __( "Your Robots.txt file has been optimized.  Here are the results and recommendations.  Click the Update Robots.txt File button below to write these changes to your Robots.txt file.  Click the Disregard Changes button to ignore these recommendations and keep your current Robots.txt file.", 'all-in-one-seo-pack' );
72
  }
73
 
74
  // load initial options / set defaults
88
  $settings[ $prefix . 'robotgen' ]['type'] = 'hidden';
89
  $settings[ $prefix . 'robotgen' ]['label'] = 'none';
90
  $settings[ $prefix . 'robotgen' ]['help_text'] = '';
91
+ $settings[ $prefix . 'robothtml'] = Array( 'name' => __( 'Robots.txt', 'all-in-one-seo-pack'),
92
  'save' => false, 'default' => '', 'type' => 'html', 'label' => 'none', 'style' => 'margin-top:10px;' );
93
  }
94
  }
158
  }
159
  $options[$prefix . 'robotgen'] = $this->output_robots($rules);
160
  $file2 = explode("\n", $options[$prefix . 'robotgen'] );
161
+ $options[$prefix . 'robothtml'] = '<table width=100%><tr><td valign=top width=45%>' . $this->annotate_robots_html( $file, true, __( "Current File", 'all-in-one-seo-pack' ) ) . '</td><td><span style="font-size: xx-large">&#8594;</span></td><td valign=top>' . $this->annotate_robots_html( $file2, true, __( "Proposed Changes", 'all-in-one-seo-pack' ) ) . '</td></tr></table>';
162
  } else {
163
+ $options[$prefix . 'robothtml'] = $this->annotate_robots_html( $file, true, __( "Current File", 'all-in-one-seo-pack' ) );
164
  }
165
  }
166
  return $options;
214
  $buf .= '</table>';
215
  if ( $show_help ) {
216
  $buf .= '<div class="aioseop_option_docs" id="aiosp_robots_main_legend_tip">
217
+ <h3>' . __( 'Legend', 'all-in-one-seo-pack' ) . '</h3>
218
  <ul>
219
+ <li>' . __( 'The yellow indicator means that a non-standard extension was recognized; not all crawlers may recognize it or interpret it the same way. The Allow and Sitemap directives are commonly used by Google and Yahoo.', 'all-in-one-seo-pack' ) . '</li>
220
+ <li>' . __( 'The red indicator means that the syntax is invalid for a robots.txt file.', 'all-in-one-seo-pack') . '</li>
221
  </ul>
222
+ <a target="_blank" rel="nofollow" href="http://wikipedia.org/wiki/Robots_exclusion_standard#Nonstandard_extensions">' . __('More Information', 'all-in-one-seo-pack') . '</a>
223
  </div>';
224
  }
225
  } else {
aioseop_sitemap.php CHANGED
@@ -21,38 +21,38 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
21
 
22
  function __construct( ) {
23
  if ( get_class( $this ) === 'All_in_One_SEO_Pack_Sitemap' ) { // Set this up only when instantiated as this class
24
- $this->name = __( 'XML Sitemap', 'all_in_one_seo_pack' ); // Human-readable name of the plugin
25
  $this->prefix = 'aiosp_sitemap_'; // option prefix
26
  $this->file = __FILE__; // the current file
27
  $this->extra_sitemaps = Array();
28
  $this->extra_sitemaps = apply_filters( $this->prefix . 'extra', $this->extra_sitemaps );
29
  }
30
  parent::__construct();
31
- $this->comment_string = __( "Sitemap %s generated by All in One SEO Pack %s by Michael Torbert of Semper Fi Web Design on %s", 'all_in_one_seo_pack' );
32
 
33
  $this->help_text = Array(
34
- "filename" => __( "Specifies the name of your sitemap file. This will default to 'sitemap'.", 'all_in_one_seo_pack' ),
35
- "google" => __( "Notify Google when you update your sitemap settings.", 'all_in_one_seo_pack' ),
36
- "bing" => __("Notify Bing when you update your sitemap settings.", 'all_in_one_seo_pack' ),
37
- "daily_cron" => __( "Notify search engines daily, and also update static sitemap daily if in use. (this uses WP-Cron, so make sure this is working properly on your server as well)", 'all_in_one_seo_pack' ),
38
- "indexes" => __( "Organize sitemap entries into distinct files in your sitemap. Enable this only if your sitemap contains over 50,000 URLs or the file is over 5MB in size.", 'all_in_one_seo_pack' ),
39
- "paginate" => __( "Split long sitemaps into separate files.", 'all_in_one_seo_pack' ),
40
- "max_posts" => __( "Allows you to specify the maximum number of posts in a sitemap (up to 50,000).", 'all_in_one_seo_pack' ),
41
- "posttypes" => __( "Select which Post Types appear in your sitemap.", 'all_in_one_seo_pack' ),
42
- "taxonomies" => __( "Select which taxonomy archives appear in your sitemap", 'all_in_one_seo_pack' ),
43
- "archive" => __( "Include Date Archives in your sitemap.", 'all_in_one_seo_pack' ),
44
- "author" => __( "Include Author Archives in your sitemap.", 'all_in_one_seo_pack' ),
45
- "gzipped" => __( "Create a compressed sitemap file in .xml.gz format.", 'all_in_one_seo_pack' ),
46
- "robots" => __( "Places a link to your Sitemap.xml into your virtual Robots.txt file.", 'all_in_one_seo_pack' ),
47
- "rewrite" => __( "Places a link to the sitemap file in your virtual Robots.txt file which WordPress creates.", 'all_in_one_seo_pack' ),
48
- "noindex" => __( "Tells search engines not to index the sitemap file itself.", 'all_in_one_seo_pack' ),
49
- "debug" => __( "Use rewrites to generate your sitemap on the fly. NOTE: This is required for WordPress Multisite.", 'all_in_one_seo_pack'),
50
- "addl_url" => __( 'URL to the page.', 'all_in_one_seo_pack' ),
51
- "addl_prio" => __( 'The priority of the page.', 'all_in_one_seo_pack' ),
52
- "addl_freq" => __( 'The frequency of the page.', 'all_in_one_seo_pack' ),
53
- "addl_mod" => __( 'Last modified date of the page.', 'all_in_one_seo_pack' ),
54
- "excl_categories" => __( "Entries from these categories will be excluded from the sitemap.", 'all_in_one_seo_pack' ),
55
- "excl_pages" => __( "Use page slugs or page IDs, seperated by commas, to exclude pages from the sitemap.", 'all_in_one_seo_pack' )
56
  );
57
 
58
  $this->help_anchors = Array(
@@ -76,43 +76,43 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
76
  );
77
 
78
  $this->default_options = array(
79
- 'filename' => Array( 'name' => __( 'Filename Prefix', 'all_in_one_seo_pack' ),
80
  'default' => 'sitemap', 'type' => 'text', 'sanitize' => 'filename' ),
81
- 'google' => Array( 'name' => __( 'Notify Google', 'all_in_one_seo_pack') ),
82
- 'bing' => Array( 'name' => __( 'Notify Bing', 'all_in_one_seo_pack') ),
83
- 'daily_cron'=> Array( 'name' => __( 'Schedule Updates', 'all_in_one_seo_pack' ), 'type' => 'select',
84
- 'initial_options' => Array( 0 => __( 'No Schedule', 'all_in_one_seo_pack' ),
85
- 'daily' => __( 'Daily', 'all_in_one_seo_pack' ),
86
- 'weekly' => __( 'Weekly', 'all_in_one_seo_pack' ),
87
- 'monthly'=> __( 'Monthly', 'all_in_one_seo_pack' ) ),
88
  'default' => 0 ),
89
- 'indexes' => Array( 'name' => __( 'Enable Sitemap Indexes', 'all_in_one_seo_pack' ) ),
90
- 'paginate' => Array( 'name' => __( 'Paginate Sitemap Indexes', 'all_in_one_seo_pack' ),
91
  'condshow' => Array( "{$this->prefix}indexes" => 'on' ) ),
92
- 'max_posts' => Array( 'name' => __( 'Maximum Posts Per Sitemap', 'all_in_one_seo_pack' ),
93
  'type' => 'text', 'default' => 50000,
94
  'condshow' => Array( "{$this->prefix}indexes" => 'on', "{$this->prefix}paginate" => 'on' ) ),
95
- 'posttypes' => Array( 'name' => __( 'Post Types', 'all_in_one_seo_pack'),
96
  'type' => 'multicheckbox', 'default' => 'all' ),
97
- 'taxonomies'=> Array( 'name' => __( 'Taxonomies', 'all_in_one_seo_pack' ),
98
  'type' => 'multicheckbox', 'default' => 'all' ),
99
- 'archive' => Array( 'name' => __( 'Include Date Archive Pages', 'all_in_one_seo_pack' ) ),
100
- 'author' => Array( 'name' => __( 'Include Author Pages', 'all_in_one_seo_pack' ) ),
101
- 'gzipped' => Array( 'name' => __( 'Create Compressed Sitemap', 'all_in_one_seo_pack' ), 'default' => 'On' ),
102
- 'robots' => Array( 'name' => __( 'Link From Virtual Robots.txt', 'all_in_one_seo_pack' ), 'default' => 'On' ),
103
- 'rewrite' => Array( 'name' => __( 'Dynamically Generate Sitemap', 'all_in_one_seo_pack' ), 'default' => 'On' ),
104
- 'noindex' => Array( 'name' => __( 'Noindex Sitemap file', 'all_in_one_seo_pack' ),
105
  'condshow' => Array( "{$this->prefix}rewrite" => true ) )
106
  );
107
 
108
  $status_options = Array(
109
  'link' => Array( 'default' => '', 'type' => 'html', 'label' => 'none', 'save' => false ),
110
- 'debug' => Array( 'name' => __( 'Debug Log', 'all_in_one_seo_pack' ), 'default' => '', 'type' => 'html', 'disabled' => 'disabled', 'save' => false, 'label' => 'none', 'rows' => 5, 'cols' => 120, 'style' => 'min-width:950px' )
111
  );
112
 
113
  $this->layout = Array(
114
  'status' => Array(
115
- 'name' => __( 'Sitemap Status', 'all_in_one_seo_pack' ),
116
  'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/',
117
  'options' => array_keys( $status_options ) ),
118
  'default' => Array(
@@ -127,8 +127,8 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
127
  $str = sprintf( "%0.1f", $i / 10.0 );
128
  $prio[ $str ] = $str;
129
  }
130
- $arr_no = Array( 'no' => __( 'Do Not Override', 'all_in_one_seo_pack' ) );
131
- $arr_sel = Array( 'sel' => __( 'Select Individual', 'all_in_one_seo_pack' ) );
132
  $this->prio_sel = array_merge( $arr_no, $arr_sel, $prio );
133
  $this->prio = array_merge( $arr_no, $prio );
134
 
@@ -137,14 +137,14 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
137
  $this->freq_sel = array_merge( $arr_no, $arr_sel, $freq );
138
  $this->freq = array_merge( $arr_no, $freq );
139
 
140
- foreach( Array( 'prio' => __( 'priority', 'all_in_one_seo_pack' ), 'freq' => __( 'frequency', 'all_in_one_seo_pack' ) ) as $k => $v ) {
141
  $s = "{$k}_options";
142
  $$s = Array();
143
- foreach( Array( 'homepage' => __( 'homepage', 'all_in_one_seo_pack' ),
144
- 'post' => __( 'posts', 'all_in_one_seo_pack' ),
145
- 'taxonomies' => __( 'taxonomies', 'all_in_one_seo_pack' ),
146
- 'archive' => __( 'archive pages', 'all_in_one_seo_pack' ),
147
- 'author' => __( 'author pages', 'all_in_one_seo_pack' ) ) as $opt => $val ) {
148
  $arr = $$s;
149
  if ( ( $opt == 'post' ) || ( $opt == 'taxonomies' ) ) {
150
  $iopts = $this->{"{$k}_sel"};
@@ -152,47 +152,47 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
152
  $iopts = $this->$k;
153
  }
154
 
155
- $arr[ $k . '_' . $opt ] = Array( 'name' => $this->ucwords( $val ), 'help_text' => sprintf( __( "Manually set the %s of your %s.", 'all_in_one_seo_pack' ), $v, $val ), 'type' => 'select', 'initial_options' => $iopts, 'default' => 'no' );
156
  if ( ( $opt == 'archive' ) || ( $opt == 'author' ) ) $arr[ $k . '_' . $opt ][ 'condshow' ] = Array( $this->prefix . $opt => 'on' );
157
  $$s = $arr;
158
  }
159
  }
160
 
161
  $addl_options = Array(
162
- 'addl_instructions' => Array( 'default' => '<div>' . __( 'Enter information below for any additional links for your sitemap not already managed through WordPress.', 'all_in_one_seo_pack' ) . '</div><br />', 'type' => 'html', 'label' => 'none', 'save' => false ),
163
- 'addl_url' => Array( 'name' => __( 'Page URL', 'all_in_one_seo_pack' ), 'type' => 'text', 'label' => 'top', 'save' => false ),
164
- 'addl_prio' => Array( 'name' => __( 'Page Priority', 'all_in_one_seo_pack' ), 'type' => 'select', 'initial_options' => $prio, 'label' => 'top', 'save' => false ),
165
- 'addl_freq' => Array( 'name' => __( 'Page Frequency', 'all_in_one_seo_pack' ), 'type' => 'select', 'initial_options' => $freq, 'label' => 'top', 'save' => false ),
166
- 'addl_mod' => Array( 'name' => __( 'Last Modified', 'all_in_one_seo_pack' ), 'type' => 'text', 'label' => 'top', 'save' => false ),
167
- 'addl_pages'=> Array( 'name' => __( 'Additional Pages', 'all_in_one_seo_pack' ), 'type' => 'custom', 'save' => true ),
168
- 'Submit' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Add URL', 'all_in_one_seo_pack' ) . ' &raquo;', 'style' => 'margin-left: 20px;', 'label' => 'none', 'save' => false, 'value' => 1 )
169
  );
170
 
171
  $excl_options = Array(
172
- 'excl_categories' => Array( 'name' => __( 'Excluded Categories', 'all_in_one_seo_pack' ), 'type' => 'multicheckbox', 'initial_options' => '' ),
173
- 'excl_pages' => Array( 'name' => __( 'Excluded Pages', 'all_in_one_seo_pack' ), 'type' => 'text' )
174
  );
175
 
176
  $this->layout['addl_pages'] = Array(
177
- 'name' => __( 'Additional Pages', 'all_in_one_seo_pack' ),
178
  'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/#additional-pages',
179
  'options' => array_keys( $addl_options )
180
  );
181
 
182
  $this->layout['excl_pages'] = Array(
183
- 'name' => __( 'Excluded Items', 'all_in_one_seo_pack' ),
184
  'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/#excluded-items',
185
  'options' => array_keys( $excl_options )
186
  );
187
 
188
  $this->layout['priorities'] = Array(
189
- 'name' => __( 'Priorities', 'all_in_one_seo_pack' ),
190
  'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/#priorities-and-frequencies',
191
  'options' => array_keys( $prio_options )
192
  );
193
 
194
  $this->layout['frequencies'] = Array(
195
- 'name' => __( 'Frequencies', 'all_in_one_seo_pack' ),
196
  'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/#priorities-and-frequencies',
197
  'options' => array_keys( $freq_options )
198
  );
@@ -215,11 +215,11 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
215
  function add_cron_schedules( $schedules ) {
216
  $schedules['weekly'] = array(
217
  'interval' => 604800, // 1 week in seconds
218
- 'display' => __( 'Once Weekly', 'all_in_one_seo_pack' )
219
  );
220
  $schedules['monthly'] = array(
221
  'interval' => 2629740, // 1 month in seconds
222
- 'display' => __( 'Once Monthly', 'all_in_one_seo_pack' )
223
  );
224
  return $schedules;
225
  }
@@ -233,7 +233,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
233
  function daily_update() {
234
  $last_run = get_option( $this->prefix . 'cron_last_run' );
235
  if ( empty( $last_run ) || ( time() - $last_run > 23.5 * 60 * 60 ) ) // sanity check
236
- $this->do_sitemaps( __( "Daily scheduled sitemap check has finished.", 'all_in_one_seo_pack' ) );
237
  $last_run = time();
238
  update_option( $this->prefix . 'cron_last_run', $last_run );
239
  }
@@ -291,16 +291,16 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
291
  function add_post_types() {
292
  $post_type_titles = $this->get_post_type_titles( Array( 'public' => true ) );
293
  $taxonomy_titles = $this->get_taxonomy_titles( Array( 'public' => true ) );
294
- if ( isset( $post_type_titles['attachment'] ) ) $post_type_titles['attachment'] = __( "Media / Attachments", 'all_in_one_seo_pack' );
295
- $this->default_options['posttypes' ]['initial_options'] = array_merge( Array( 'all' => __( 'All Post Types', 'all_in_one_seo_pack' ) ), $post_type_titles );
296
- $this->default_options['taxonomies']['initial_options'] = array_merge( Array( 'all' => __( 'All Taxonomies', 'all_in_one_seo_pack' ) ), $taxonomy_titles );
297
  $this->default_options['posttypes' ]['default'] = array_keys( $this->default_options['posttypes' ]['initial_options'] );
298
  $this->default_options['taxonomies']['default'] = array_keys( $this->default_options['taxonomies']['initial_options'] );
299
  $this->default_options['excl_categories']['initial_options'] = $this->get_category_titles();
300
- $prio_help = __( "Manually set the priority for the ", 'all_in_one_seo_pack' );
301
- $freq_help = __( "Manually set the frequency for the ", 'all_in_one_seo_pack' );
302
- $post_name = __( " Post Type", 'all_in_one_seo_pack' );
303
- $tax_name = __( " Taxonomy", 'all_in_one_seo_pack' );
304
  foreach( $post_type_titles as $k => $v ) {
305
  $key = 'prio_post_' . $k;
306
  $this->default_options = aioseop_array_insert_after( $this->default_options, 'prio_post', Array( $key => Array( 'name' => $v . $post_name, 'help_text' => $prio_help . $v . $post_name, 'type' => 'select', 'initial_options' => $this->prio, 'default' => 'no', 'condshow' => Array( "{$this->prefix}prio_post" => 'sel' ) ) ) );
@@ -331,7 +331,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
331
 
332
  /** Change submit button to read "Update Sitemap". **/
333
  function filter_submit( $submit ) {
334
- $submit['Submit']['value'] = __( 'Update Sitemap', 'all_in_one_seo_pack' ) . ' &raquo;';
335
  return $submit;
336
  }
337
 
@@ -362,28 +362,28 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
362
  $options[ $this->prefix . 'max_posts'] = 50000;
363
  $url = trailingslashit( get_home_url() ) . $options[ $this->prefix . 'filename' ] . '.xml';
364
  $options[ $this->prefix . 'link' ] = sprintf( __( "Please review your settings below and click %s to build your sitemap; then, %s.",
365
- 'all_in_one_seo_pack' ), sprintf( '<a href="#" onclick="document.dofollow.elements[\'Submit\'][0].click();">%s</a>',
366
- __( 'Update Sitemap', 'all_in_one_seo_pack' ) ), '<a href="' . esc_url( $url ) . '" target="_blank">' .
367
- __( "view your sitemap", 'all_in_one_seo_pack' ) . "</a>" );
368
  if ( $this->option_isset( 'rewrite' ) ) {
369
 
370
- $options[ $this->prefix . 'link' ] .= '<p>' . __( "Note: you are using dynamic sitemap generation to keep your sitemap current; this will not generate a static sitemap file.", 'all_in_one_seo_pack' ) . '</p>';
371
  $rule = $this->get_rewrite_url( $url );
372
  $rules = $this->get_rewrite_rules();
373
  if ( in_array( $rule, $rules ) )
374
- $options[ $this->prefix . 'link' ] .= '<p>' . __( "Dynamic sitemap generation appears to be using the correct rewrite rules.", 'all_in_one_seo_pack' ) . '</p>';
375
  else
376
- $options[ $this->prefix . 'link' ] .= '<p>' . __( "Dynamic sitemap generation does not appear to be using the correct rewrite rules; please disable any other sitemap plugins or functionality on your site and reset your permalinks.", 'all_in_one_seo_pack' ) . '</p>';
377
  }
378
  if ( !get_option( 'blog_public' ) ) {
379
  global $wp_version;
380
  if ( ( version_compare( $wp_version, '3.5.0', '>=' ) ) || ( function_exists( 'set_url_scheme' ) ) ) {
381
- $privacy_link = '<a href="options-reading.php">' . __( 'Reading Settings', 'all_in_one_seo_pack' ) . '</a>';
382
  } else {
383
- $privacy_link = '<a href="options-privacy.php">' . __( 'Privacy Settings', 'all_in_one_seo_pack' ) . '</a>';
384
  }
385
  $options[ $this->prefix . 'link' ] .= '<p class="aioseop_error_notice">' . sprintf( __( "Warning: your privacy settings are configured to ask search engines to not index your site; you can change this under %s for your blog.",
386
- 'all_in_one_seo_pack' ), $privacy_link );
387
  }
388
  if ( $this->option_isset( 'debug' ) ) $options["{$this->prefix}debug"] = '<pre>' . $options["{$this->prefix}debug"] . '</pre>';
389
  return $options;
@@ -503,11 +503,11 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
503
  function do_sitemap_scan() {
504
  $msg = '';
505
  if ( !empty( $this->options["{$this->prefix}rewrite"] ) && ( get_option('permalink_structure') == '' ) ) {
506
- $msg = '<p>' . __( 'Warning: dynamic sitemap generation must have permalinks enabled.', 'all_in_one_seo_pack' ) . '</p>';
507
  }
508
  if ( !empty( $_POST['aioseop_sitemap_rename_files'] ) || !empty( $_POST['aioseop_sitemap_delete_files'] ) ) {
509
  $nonce = $_POST['nonce-aioseop'];
510
- if (!wp_verify_nonce($nonce, 'aioseop-nonce')) die ( __( 'Security Check - If you receive this in error, log out and back in to WordPress', 'all_in_one_seo_pack' ) );
511
  if ( !empty( $_POST['aioseop_sitemap_conflict'] ) ) {
512
  $files = $this->scan_match_files();
513
  foreach ( $files as $f => $file ) $files[$f] = realpath( $file );
@@ -516,7 +516,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
516
  if ( in_array( $ren_file, $files ) ) {
517
  if ( !empty( $_POST['aioseop_sitemap_delete_files'] ) ) {
518
  if ( $this->delete_file( $ren_file ) )
519
- $msg .= "<p>" . sprintf( __( "Deleted %s.", 'all_in_one_seo_pack' ), $ren_file ) . "</p>";
520
  continue;
521
  }
522
  $count = 0;
@@ -525,13 +525,13 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
525
  $count++;
526
  } while ( $this->file_exists( $ren_to ) && ( $count < 1000 ) );
527
  if ( $count >= 1000 )
528
- $msg .= "<p>" . sprintf( __( "Couldn't rename file %s!", 'all_in_one_seo_pack' ), $ren_file) . "</p>";
529
  else {
530
  $ren = $this->rename_file( $ren_file, $ren_to );
531
  if ( $ren )
532
- $msg .= "<p>" . sprintf( __( "Renamed %s to %s.", 'all_in_one_seo_pack' ), $ren_file, $ren_to) . "</p>";
533
  }
534
- } else $msg .= "<p>" . sprintf( __( "Couldn't find file %s!", 'all_in_one_seo_pack' ), $ren_file) . "</p>";
535
  }
536
  }
537
  } else {
@@ -583,12 +583,12 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
583
  if ( preg_match( "/<!-- " . sprintf( $this->comment_string, '(.*)', '(.*)', '(.*)' ) . " -->/",
584
  $file, $matches ) ) {
585
  if ( !empty( $this->options["{$this->prefix}rewrite"] ) ) {
586
- $msg .= '<p>' . sprintf( __( "Warning: a static sitemap '%s' generated by All in One SEO Pack %s on %s already exists that may conflict with dynamic sitemap generation.", 'all_in_one_seo_pack' ),
587
  $f, $matches[2], $matches[3] ) . "</p>\n";
588
  $problem_files[] = $f;
589
  }
590
  } else {
591
- $msg .= '<p>' . sprintf( __( "Potential conflict with unknown file %s.", 'all_in_one_seo_pack' ), $f ) . "</p>\n";
592
  $problem_files[] = $f;
593
  }
594
  }
@@ -607,8 +607,8 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
607
  foreach ( $problem_files as $p )
608
  $msg .= "<input type='hidden' name='aioseop_sitemap_conflict[]' value='" . esc_attr( basename ( realpath( $p ) ) ) . "'>\n";
609
  $msg .= "<input type='hidden' name='nonce-aioseop' value='" . wp_create_nonce('aioseop-nonce') . "'>\n";
610
- $msg .= "<input type='submit' name='aioseop_sitemap_rename_files' value='" . __( "Rename Conflicting Files", 'all_in_one_seo_pack' ) . "'> ";
611
- $msg .= "<input type='submit' name='aioseop_sitemap_delete_files' value='" . __( "Delete Conflicting Files", 'all_in_one_seo_pack' ) . "'>";
612
  $msg = '<form action="" method="post">' . $msg . '</form>';
613
  }
614
  return $msg;
@@ -697,11 +697,11 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
697
  $sitemap_memory_usage = $end_memory_usage - $this->start_memory_usage;
698
  $end_memory_usage = $end_memory_usage / 1024.0 / 1024.0;
699
  $sitemap_memory_usage = $sitemap_memory_usage / 1024.0 / 1024.0;
700
- if ( $compressed ) $sitemap_type = __( 'compressed', 'all_in_one_seo_pack' ) . " $sitemap_type";
701
  if ( $dynamic )
702
- $sitemap_type = __( 'dynamic', 'all_in_one_seo_pack ') . " $sitemap_type";
703
  else
704
- $sitemap_type = __( 'static', 'all_in_one_seo_pack ') . " $sitemap_type";
705
  $this->debug_message( sprintf( " %01.2f MB memory used generating the %s sitemap in %01.3f seconds, %01.2f MB total memory used.", $sitemap_memory_usage, $sitemap_type, $time, $end_memory_usage ) );
706
  }
707
 
@@ -767,7 +767,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
767
  /** Output sitemaps dynamically based on rewrite rules. **/
768
  function do_rewrite_sitemap( $sitemap_type, $page = 0 ) {
769
  $this->add_post_types();
770
- $comment = __( "dynamically", 'all_in_one_seo_pack' );
771
  echo $this->do_build_sitemap( $sitemap_type, $page, '', $comment );
772
  }
773
 
@@ -791,15 +791,15 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
791
  $response = wp_remote_get( $notify_url[$k] . urlencode( $url ) );
792
  if ( is_array( $response ) && !empty( $response['response'] ) && !empty( $response['response']['code'] ) ) {
793
  if ( $response['response']['code'] == 200 ) {
794
- $this->debug_message( sprintf( __( 'Successfully notified %s about changes to your sitemap at %s.', 'all_in_one_seo_pack' ), $k, $url ) );
795
  } else {
796
- $this->debug_message( sprintf( __( 'Failed to notify %s about changes to your sitemap at %s, error code %s.', 'all_in_one_seo_pack' ), $k, $url, $response['response']['code'] ) );
797
  }
798
  } else {
799
- $this->debug_message( sprintf( __( 'Failed to notify %s about changes to your sitemap at %s, unable to access via wp_remote_get().', 'all_in_one_seo_pack' ), $k, $url ) );
800
  }
801
  } else {
802
- $this->debug_message( sprintf( __( 'Did not notify %s about changes to your sitemap.', 'all_in_one_seo_pack' ), $k, $url ) );
803
  }
804
  }
805
 
@@ -826,7 +826,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
826
  $this->do_indexed_sitemaps();
827
  } else {
828
  $this->log_start();
829
- $comment = sprintf( __( "file '%s' statically", 'all_in_one_seo_pack' ), $this->options["{$this->prefix}filename"] );
830
  $sitemap = $this->do_simple_sitemap( $comment );
831
  $this->write_sitemaps( $this->options["{$this->prefix}filename"], $sitemap );
832
  $this->log_stats( 'root', $this->options["{$this->prefix}gzipped"], false );
@@ -838,7 +838,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
838
  if ( !empty( $message ) && is_string( $message ) ) {
839
  $this->debug_message( $message );
840
  } else {
841
- $this->debug_message( __( 'Updated sitemap settings.', 'all_in_one_seo_pack' ) );
842
  }
843
  }
844
 
@@ -968,7 +968,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
968
  }
969
  }
970
  if ( empty( $comment ) )
971
- $comment = __( "file '%s' statically", 'all_in_one_seo_pack' );
972
  $sitemap_data = $this->get_sitemap_data( $sitemap_type, $page );
973
  if ( ( $sitemap_type == 'root' ) && !empty( $this->options["{$this->prefix}indexes"] ) ) {
974
  return $this->build_sitemap_index( $sitemap_data, sprintf( $comment, $filename ) );
@@ -986,7 +986,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
986
  }
987
  }
988
  if ( empty( $comment ) )
989
- $comment = __( "file '%s' statically", 'all_in_one_seo_pack' );
990
  $this->write_sitemaps( $filename, $this->do_build_sitemap( $sitemap_type, $page, $filename, $comment ) );
991
  }
992
 
21
 
22
  function __construct( ) {
23
  if ( get_class( $this ) === 'All_in_One_SEO_Pack_Sitemap' ) { // Set this up only when instantiated as this class
24
+ $this->name = __( 'XML Sitemap', 'all-in-one-seo-pack' ); // Human-readable name of the plugin
25
  $this->prefix = 'aiosp_sitemap_'; // option prefix
26
  $this->file = __FILE__; // the current file
27
  $this->extra_sitemaps = Array();
28
  $this->extra_sitemaps = apply_filters( $this->prefix . 'extra', $this->extra_sitemaps );
29
  }
30
  parent::__construct();
31
+ $this->comment_string = __( "Sitemap %s generated by All in One SEO Pack %s by Michael Torbert of Semper Fi Web Design on %s", 'all-in-one-seo-pack' );
32
 
33
  $this->help_text = Array(
34
+ "filename" => __( "Specifies the name of your sitemap file. This will default to 'sitemap'.", 'all-in-one-seo-pack' ),
35
+ "google" => __( "Notify Google when you update your sitemap settings.", 'all-in-one-seo-pack' ),
36
+ "bing" => __("Notify Bing when you update your sitemap settings.", 'all-in-one-seo-pack' ),
37
+ "daily_cron" => __( "Notify search engines daily, and also update static sitemap daily if in use. (this uses WP-Cron, so make sure this is working properly on your server as well)", 'all-in-one-seo-pack' ),
38
+ "indexes" => __( "Organize sitemap entries into distinct files in your sitemap. Enable this only if your sitemap contains over 50,000 URLs or the file is over 5MB in size.", 'all-in-one-seo-pack' ),
39
+ "paginate" => __( "Split long sitemaps into separate files.", 'all-in-one-seo-pack' ),
40
+ "max_posts" => __( "Allows you to specify the maximum number of posts in a sitemap (up to 50,000).", 'all-in-one-seo-pack' ),
41
+ "posttypes" => __( "Select which Post Types appear in your sitemap.", 'all-in-one-seo-pack' ),
42
+ "taxonomies" => __( "Select which taxonomy archives appear in your sitemap", 'all-in-one-seo-pack' ),
43
+ "archive" => __( "Include Date Archives in your sitemap.", 'all-in-one-seo-pack' ),
44
+ "author" => __( "Include Author Archives in your sitemap.", 'all-in-one-seo-pack' ),
45
+ "gzipped" => __( "Create a compressed sitemap file in .xml.gz format.", 'all-in-one-seo-pack' ),
46
+ "robots" => __( "Places a link to your Sitemap.xml into your virtual Robots.txt file.", 'all-in-one-seo-pack' ),
47
+ "rewrite" => __( "Places a link to the sitemap file in your virtual Robots.txt file which WordPress creates.", 'all-in-one-seo-pack' ),
48
+ "noindex" => __( "Tells search engines not to index the sitemap file itself.", 'all-in-one-seo-pack' ),
49
+ "debug" => __( "Use rewrites to generate your sitemap on the fly. NOTE: This is required for WordPress Multisite.", 'all-in-one-seo-pack'),
50
+ "addl_url" => __( 'URL to the page.', 'all-in-one-seo-pack' ),
51
+ "addl_prio" => __( 'The priority of the page.', 'all-in-one-seo-pack' ),
52
+ "addl_freq" => __( 'The frequency of the page.', 'all-in-one-seo-pack' ),
53
+ "addl_mod" => __( 'Last modified date of the page.', 'all-in-one-seo-pack' ),
54
+ "excl_categories" => __( "Entries from these categories will be excluded from the sitemap.", 'all-in-one-seo-pack' ),
55
+ "excl_pages" => __( "Use page slugs or page IDs, seperated by commas, to exclude pages from the sitemap.", 'all-in-one-seo-pack' )
56
  );
57
 
58
  $this->help_anchors = Array(
76
  );
77
 
78
  $this->default_options = array(
79
+ 'filename' => Array( 'name' => __( 'Filename Prefix', 'all-in-one-seo-pack' ),
80
  'default' => 'sitemap', 'type' => 'text', 'sanitize' => 'filename' ),
81
+ 'google' => Array( 'name' => __( 'Notify Google', 'all-in-one-seo-pack') ),
82
+ 'bing' => Array( 'name' => __( 'Notify Bing', 'all-in-one-seo-pack') ),
83
+ 'daily_cron'=> Array( 'name' => __( 'Schedule Updates', 'all-in-one-seo-pack' ), 'type' => 'select',
84
+ 'initial_options' => Array( 0 => __( 'No Schedule', 'all-in-one-seo-pack' ),
85
+ 'daily' => __( 'Daily', 'all-in-one-seo-pack' ),
86
+ 'weekly' => __( 'Weekly', 'all-in-one-seo-pack' ),
87
+ 'monthly'=> __( 'Monthly', 'all-in-one-seo-pack' ) ),
88
  'default' => 0 ),
89
+ 'indexes' => Array( 'name' => __( 'Enable Sitemap Indexes', 'all-in-one-seo-pack' ) ),
90
+ 'paginate' => Array( 'name' => __( 'Paginate Sitemap Indexes', 'all-in-one-seo-pack' ),
91
  'condshow' => Array( "{$this->prefix}indexes" => 'on' ) ),
92
+ 'max_posts' => Array( 'name' => __( 'Maximum Posts Per Sitemap', 'all-in-one-seo-pack' ),
93
  'type' => 'text', 'default' => 50000,
94
  'condshow' => Array( "{$this->prefix}indexes" => 'on', "{$this->prefix}paginate" => 'on' ) ),
95
+ 'posttypes' => Array( 'name' => __( 'Post Types', 'all-in-one-seo-pack'),
96
  'type' => 'multicheckbox', 'default' => 'all' ),
97
+ 'taxonomies'=> Array( 'name' => __( 'Taxonomies', 'all-in-one-seo-pack' ),
98
  'type' => 'multicheckbox', 'default' => 'all' ),
99
+ 'archive' => Array( 'name' => __( 'Include Date Archive Pages', 'all-in-one-seo-pack' ) ),
100
+ 'author' => Array( 'name' => __( 'Include Author Pages', 'all-in-one-seo-pack' ) ),
101
+ 'gzipped' => Array( 'name' => __( 'Create Compressed Sitemap', 'all-in-one-seo-pack' ), 'default' => 'On' ),
102
+ 'robots' => Array( 'name' => __( 'Link From Virtual Robots.txt', 'all-in-one-seo-pack' ), 'default' => 'On' ),
103
+ 'rewrite' => Array( 'name' => __( 'Dynamically Generate Sitemap', 'all-in-one-seo-pack' ), 'default' => 'On' ),
104
+ 'noindex' => Array( 'name' => __( 'Noindex Sitemap file', 'all-in-one-seo-pack' ),
105
  'condshow' => Array( "{$this->prefix}rewrite" => true ) )
106
  );
107
 
108
  $status_options = Array(
109
  'link' => Array( 'default' => '', 'type' => 'html', 'label' => 'none', 'save' => false ),
110
+ 'debug' => Array( 'name' => __( 'Debug Log', 'all-in-one-seo-pack' ), 'default' => '', 'type' => 'html', 'disabled' => 'disabled', 'save' => false, 'label' => 'none', 'rows' => 5, 'cols' => 120, 'style' => 'min-width:950px' )
111
  );
112
 
113
  $this->layout = Array(
114
  'status' => Array(
115
+ 'name' => __( 'Sitemap Status', 'all-in-one-seo-pack' ),
116
  'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/',
117
  'options' => array_keys( $status_options ) ),
118
  'default' => Array(
127
  $str = sprintf( "%0.1f", $i / 10.0 );
128
  $prio[ $str ] = $str;
129
  }
130
+ $arr_no = Array( 'no' => __( 'Do Not Override', 'all-in-one-seo-pack' ) );
131
+ $arr_sel = Array( 'sel' => __( 'Select Individual', 'all-in-one-seo-pack' ) );
132
  $this->prio_sel = array_merge( $arr_no, $arr_sel, $prio );
133
  $this->prio = array_merge( $arr_no, $prio );
134
 
137
  $this->freq_sel = array_merge( $arr_no, $arr_sel, $freq );
138
  $this->freq = array_merge( $arr_no, $freq );
139
 
140
+ foreach( Array( 'prio' => __( 'priority', 'all-in-one-seo-pack' ), 'freq' => __( 'frequency', 'all-in-one-seo-pack' ) ) as $k => $v ) {
141
  $s = "{$k}_options";
142
  $$s = Array();
143
+ foreach( Array( 'homepage' => __( 'homepage', 'all-in-one-seo-pack' ),
144
+ 'post' => __( 'posts', 'all-in-one-seo-pack' ),
145
+ 'taxonomies' => __( 'taxonomies', 'all-in-one-seo-pack' ),
146
+ 'archive' => __( 'archive pages', 'all-in-one-seo-pack' ),
147
+ 'author' => __( 'author pages', 'all-in-one-seo-pack' ) ) as $opt => $val ) {
148
  $arr = $$s;
149
  if ( ( $opt == 'post' ) || ( $opt == 'taxonomies' ) ) {
150
  $iopts = $this->{"{$k}_sel"};
152
  $iopts = $this->$k;
153
  }
154
 
155
+ $arr[ $k . '_' . $opt ] = Array( 'name' => $this->ucwords( $val ), 'help_text' => sprintf( __( "Manually set the %s of your %s.", 'all-in-one-seo-pack' ), $v, $val ), 'type' => 'select', 'initial_options' => $iopts, 'default' => 'no' );
156
  if ( ( $opt == 'archive' ) || ( $opt == 'author' ) ) $arr[ $k . '_' . $opt ][ 'condshow' ] = Array( $this->prefix . $opt => 'on' );
157
  $$s = $arr;
158
  }
159
  }
160
 
161
  $addl_options = Array(
162
+ 'addl_instructions' => Array( 'default' => '<div>' . __( 'Enter information below for any additional links for your sitemap not already managed through WordPress.', 'all-in-one-seo-pack' ) . '</div><br />', 'type' => 'html', 'label' => 'none', 'save' => false ),
163
+ 'addl_url' => Array( 'name' => __( 'Page URL', 'all-in-one-seo-pack' ), 'type' => 'text', 'label' => 'top', 'save' => false ),
164
+ 'addl_prio' => Array( 'name' => __( 'Page Priority', 'all-in-one-seo-pack' ), 'type' => 'select', 'initial_options' => $prio, 'label' => 'top', 'save' => false ),
165
+ 'addl_freq' => Array( 'name' => __( 'Page Frequency', 'all-in-one-seo-pack' ), 'type' => 'select', 'initial_options' => $freq, 'label' => 'top', 'save' => false ),
166
+ 'addl_mod' => Array( 'name' => __( 'Last Modified', 'all-in-one-seo-pack' ), 'type' => 'text', 'label' => 'top', 'save' => false ),
167
+ 'addl_pages'=> Array( 'name' => __( 'Additional Pages', 'all-in-one-seo-pack' ), 'type' => 'custom', 'save' => true ),
168
+ 'Submit' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Add URL', 'all-in-one-seo-pack' ) . ' &raquo;', 'style' => 'margin-left: 20px;', 'label' => 'none', 'save' => false, 'value' => 1 )
169
  );
170
 
171
  $excl_options = Array(
172
+ 'excl_categories' => Array( 'name' => __( 'Excluded Categories', 'all-in-one-seo-pack' ), 'type' => 'multicheckbox', 'initial_options' => '' ),
173
+ 'excl_pages' => Array( 'name' => __( 'Excluded Pages', 'all-in-one-seo-pack' ), 'type' => 'text' )
174
  );
175
 
176
  $this->layout['addl_pages'] = Array(
177
+ 'name' => __( 'Additional Pages', 'all-in-one-seo-pack' ),
178
  'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/#additional-pages',
179
  'options' => array_keys( $addl_options )
180
  );
181
 
182
  $this->layout['excl_pages'] = Array(
183
+ 'name' => __( 'Excluded Items', 'all-in-one-seo-pack' ),
184
  'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/#excluded-items',
185
  'options' => array_keys( $excl_options )
186
  );
187
 
188
  $this->layout['priorities'] = Array(
189
+ 'name' => __( 'Priorities', 'all-in-one-seo-pack' ),
190
  'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/#priorities-and-frequencies',
191
  'options' => array_keys( $prio_options )
192
  );
193
 
194
  $this->layout['frequencies'] = Array(
195
+ 'name' => __( 'Frequencies', 'all-in-one-seo-pack' ),
196
  'help_link' => 'http://semperplugins.com/documentation/xml-sitemaps-module/#priorities-and-frequencies',
197
  'options' => array_keys( $freq_options )
198
  );
215
  function add_cron_schedules( $schedules ) {
216
  $schedules['weekly'] = array(
217
  'interval' => 604800, // 1 week in seconds
218
+ 'display' => __( 'Once Weekly', 'all-in-one-seo-pack' )
219
  );
220
  $schedules['monthly'] = array(
221
  'interval' => 2629740, // 1 month in seconds
222
+ 'display' => __( 'Once Monthly', 'all-in-one-seo-pack' )
223
  );
224
  return $schedules;
225
  }
233
  function daily_update() {
234
  $last_run = get_option( $this->prefix . 'cron_last_run' );
235
  if ( empty( $last_run ) || ( time() - $last_run > 23.5 * 60 * 60 ) ) // sanity check
236
+ $this->do_sitemaps( __( "Daily scheduled sitemap check has finished.", 'all-in-one-seo-pack' ) );
237
  $last_run = time();
238
  update_option( $this->prefix . 'cron_last_run', $last_run );
239
  }
291
  function add_post_types() {
292
  $post_type_titles = $this->get_post_type_titles( Array( 'public' => true ) );
293
  $taxonomy_titles = $this->get_taxonomy_titles( Array( 'public' => true ) );
294
+ if ( isset( $post_type_titles['attachment'] ) ) $post_type_titles['attachment'] = __( "Media / Attachments", 'all-in-one-seo-pack' );
295
+ $this->default_options['posttypes' ]['initial_options'] = array_merge( Array( 'all' => __( 'All Post Types', 'all-in-one-seo-pack' ) ), $post_type_titles );
296
+ $this->default_options['taxonomies']['initial_options'] = array_merge( Array( 'all' => __( 'All Taxonomies', 'all-in-one-seo-pack' ) ), $taxonomy_titles );
297
  $this->default_options['posttypes' ]['default'] = array_keys( $this->default_options['posttypes' ]['initial_options'] );
298
  $this->default_options['taxonomies']['default'] = array_keys( $this->default_options['taxonomies']['initial_options'] );
299
  $this->default_options['excl_categories']['initial_options'] = $this->get_category_titles();
300
+ $prio_help = __( "Manually set the priority for the ", 'all-in-one-seo-pack' );
301
+ $freq_help = __( "Manually set the frequency for the ", 'all-in-one-seo-pack' );
302
+ $post_name = __( " Post Type", 'all-in-one-seo-pack' );
303
+ $tax_name = __( " Taxonomy", 'all-in-one-seo-pack' );
304
  foreach( $post_type_titles as $k => $v ) {
305
  $key = 'prio_post_' . $k;
306
  $this->default_options = aioseop_array_insert_after( $this->default_options, 'prio_post', Array( $key => Array( 'name' => $v . $post_name, 'help_text' => $prio_help . $v . $post_name, 'type' => 'select', 'initial_options' => $this->prio, 'default' => 'no', 'condshow' => Array( "{$this->prefix}prio_post" => 'sel' ) ) ) );
331
 
332
  /** Change submit button to read "Update Sitemap". **/
333
  function filter_submit( $submit ) {
334
+ $submit['Submit']['value'] = __( 'Update Sitemap', 'all-in-one-seo-pack' ) . ' &raquo;';
335
  return $submit;
336
  }
337
 
362
  $options[ $this->prefix . 'max_posts'] = 50000;
363
  $url = trailingslashit( get_home_url() ) . $options[ $this->prefix . 'filename' ] . '.xml';
364
  $options[ $this->prefix . 'link' ] = sprintf( __( "Please review your settings below and click %s to build your sitemap; then, %s.",
365
+ 'all-in-one-seo-pack' ), sprintf( '<a href="#" onclick="document.dofollow.elements[\'Submit\'][0].click();">%s</a>',
366
+ __( 'Update Sitemap', 'all-in-one-seo-pack' ) ), '<a href="' . esc_url( $url ) . '" target="_blank">' .
367
+ __( "view your sitemap", 'all-in-one-seo-pack' ) . "</a>" );
368
  if ( $this->option_isset( 'rewrite' ) ) {
369
 
370
+ $options[ $this->prefix . 'link' ] .= '<p>' . __( "Note: you are using dynamic sitemap generation to keep your sitemap current; this will not generate a static sitemap file.", 'all-in-one-seo-pack' ) . '</p>';
371
  $rule = $this->get_rewrite_url( $url );
372
  $rules = $this->get_rewrite_rules();
373
  if ( in_array( $rule, $rules ) )
374
+ $options[ $this->prefix . 'link' ] .= '<p>' . __( "Dynamic sitemap generation appears to be using the correct rewrite rules.", 'all-in-one-seo-pack' ) . '</p>';
375
  else
376
+ $options[ $this->prefix . 'link' ] .= '<p>' . __( "Dynamic sitemap generation does not appear to be using the correct rewrite rules; please disable any other sitemap plugins or functionality on your site and reset your permalinks.", 'all-in-one-seo-pack' ) . '</p>';
377
  }
378
  if ( !get_option( 'blog_public' ) ) {
379
  global $wp_version;
380
  if ( ( version_compare( $wp_version, '3.5.0', '>=' ) ) || ( function_exists( 'set_url_scheme' ) ) ) {
381
+ $privacy_link = '<a href="options-reading.php">' . __( 'Reading Settings', 'all-in-one-seo-pack' ) . '</a>';
382
  } else {
383
+ $privacy_link = '<a href="options-privacy.php">' . __( 'Privacy Settings', 'all-in-one-seo-pack' ) . '</a>';
384
  }
385
  $options[ $this->prefix . 'link' ] .= '<p class="aioseop_error_notice">' . sprintf( __( "Warning: your privacy settings are configured to ask search engines to not index your site; you can change this under %s for your blog.",
386
+ 'all-in-one-seo-pack' ), $privacy_link );
387
  }
388
  if ( $this->option_isset( 'debug' ) ) $options["{$this->prefix}debug"] = '<pre>' . $options["{$this->prefix}debug"] . '</pre>';
389
  return $options;
503
  function do_sitemap_scan() {
504
  $msg = '';
505
  if ( !empty( $this->options["{$this->prefix}rewrite"] ) && ( get_option('permalink_structure') == '' ) ) {
506
+ $msg = '<p>' . __( 'Warning: dynamic sitemap generation must have permalinks enabled.', 'all-in-one-seo-pack' ) . '</p>';
507
  }
508
  if ( !empty( $_POST['aioseop_sitemap_rename_files'] ) || !empty( $_POST['aioseop_sitemap_delete_files'] ) ) {
509
  $nonce = $_POST['nonce-aioseop'];
510
+ if (!wp_verify_nonce($nonce, 'aioseop-nonce')) die ( __( 'Security Check - If you receive this in error, log out and back in to WordPress', 'all-in-one-seo-pack' ) );
511
  if ( !empty( $_POST['aioseop_sitemap_conflict'] ) ) {
512
  $files = $this->scan_match_files();
513
  foreach ( $files as $f => $file ) $files[$f] = realpath( $file );
516
  if ( in_array( $ren_file, $files ) ) {
517
  if ( !empty( $_POST['aioseop_sitemap_delete_files'] ) ) {
518
  if ( $this->delete_file( $ren_file ) )
519
+ $msg .= "<p>" . sprintf( __( "Deleted %s.", 'all-in-one-seo-pack' ), $ren_file ) . "</p>";
520
  continue;
521
  }
522
  $count = 0;
525
  $count++;
526
  } while ( $this->file_exists( $ren_to ) && ( $count < 1000 ) );
527
  if ( $count >= 1000 )
528
+ $msg .= "<p>" . sprintf( __( "Couldn't rename file %s!", 'all-in-one-seo-pack' ), $ren_file) . "</p>";
529
  else {
530
  $ren = $this->rename_file( $ren_file, $ren_to );
531
  if ( $ren )
532
+ $msg .= "<p>" . sprintf( __( "Renamed %s to %s.", 'all-in-one-seo-pack' ), $ren_file, $ren_to) . "</p>";
533
  }
534
+ } else $msg .= "<p>" . sprintf( __( "Couldn't find file %s!", 'all-in-one-seo-pack' ), $ren_file) . "</p>";
535
  }
536
  }
537
  } else {
583
  if ( preg_match( "/<!-- " . sprintf( $this->comment_string, '(.*)', '(.*)', '(.*)' ) . " -->/",
584
  $file, $matches ) ) {
585
  if ( !empty( $this->options["{$this->prefix}rewrite"] ) ) {
586
+ $msg .= '<p>' . sprintf( __( "Warning: a static sitemap '%s' generated by All in One SEO Pack %s on %s already exists that may conflict with dynamic sitemap generation.", 'all-in-one-seo-pack' ),
587
  $f, $matches[2], $matches[3] ) . "</p>\n";
588
  $problem_files[] = $f;
589
  }
590
  } else {
591
+ $msg .= '<p>' . sprintf( __( "Potential conflict with unknown file %s.", 'all-in-one-seo-pack' ), $f ) . "</p>\n";
592
  $problem_files[] = $f;
593
  }
594
  }
607
  foreach ( $problem_files as $p )
608
  $msg .= "<input type='hidden' name='aioseop_sitemap_conflict[]' value='" . esc_attr( basename ( realpath( $p ) ) ) . "'>\n";
609
  $msg .= "<input type='hidden' name='nonce-aioseop' value='" . wp_create_nonce('aioseop-nonce') . "'>\n";
610
+ $msg .= "<input type='submit' name='aioseop_sitemap_rename_files' value='" . __( "Rename Conflicting Files", 'all-in-one-seo-pack' ) . "'> ";
611
+ $msg .= "<input type='submit' name='aioseop_sitemap_delete_files' value='" . __( "Delete Conflicting Files", 'all-in-one-seo-pack' ) . "'>";
612
  $msg = '<form action="" method="post">' . $msg . '</form>';
613
  }
614
  return $msg;
697
  $sitemap_memory_usage = $end_memory_usage - $this->start_memory_usage;
698
  $end_memory_usage = $end_memory_usage / 1024.0 / 1024.0;
699
  $sitemap_memory_usage = $sitemap_memory_usage / 1024.0 / 1024.0;
700
+ if ( $compressed ) $sitemap_type = __( 'compressed', 'all-in-one-seo-pack' ) . " $sitemap_type";
701
  if ( $dynamic )
702
+ $sitemap_type = __( 'dynamic', 'all-in-one-seo-pack ') . " $sitemap_type";
703
  else
704
+ $sitemap_type = __( 'static', 'all-in-one-seo-pack ') . " $sitemap_type";
705
  $this->debug_message( sprintf( " %01.2f MB memory used generating the %s sitemap in %01.3f seconds, %01.2f MB total memory used.", $sitemap_memory_usage, $sitemap_type, $time, $end_memory_usage ) );
706
  }
707
 
767
  /** Output sitemaps dynamically based on rewrite rules. **/
768
  function do_rewrite_sitemap( $sitemap_type, $page = 0 ) {
769
  $this->add_post_types();
770
+ $comment = __( "dynamically", 'all-in-one-seo-pack' );
771
  echo $this->do_build_sitemap( $sitemap_type, $page, '', $comment );
772
  }
773
 
791
  $response = wp_remote_get( $notify_url[$k] . urlencode( $url ) );
792
  if ( is_array( $response ) && !empty( $response['response'] ) && !empty( $response['response']['code'] ) ) {
793
  if ( $response['response']['code'] == 200 ) {
794
+ $this->debug_message( sprintf( __( 'Successfully notified %s about changes to your sitemap at %s.', 'all-in-one-seo-pack' ), $k, $url ) );
795
  } else {
796
+ $this->debug_message( sprintf( __( 'Failed to notify %s about changes to your sitemap at %s, error code %s.', 'all-in-one-seo-pack' ), $k, $url, $response['response']['code'] ) );
797
  }
798
  } else {
799
+ $this->debug_message( sprintf( __( 'Failed to notify %s about changes to your sitemap at %s, unable to access via wp_remote_get().', 'all-in-one-seo-pack' ), $k, $url ) );
800
  }
801
  } else {
802
+ $this->debug_message( sprintf( __( 'Did not notify %s about changes to your sitemap.', 'all-in-one-seo-pack' ), $k, $url ) );
803
  }
804
  }
805
 
826
  $this->do_indexed_sitemaps();
827
  } else {
828
  $this->log_start();
829
+ $comment = sprintf( __( "file '%s' statically", 'all-in-one-seo-pack' ), $this->options["{$this->prefix}filename"] );
830
  $sitemap = $this->do_simple_sitemap( $comment );
831
  $this->write_sitemaps( $this->options["{$this->prefix}filename"], $sitemap );
832
  $this->log_stats( 'root', $this->options["{$this->prefix}gzipped"], false );
838
  if ( !empty( $message ) && is_string( $message ) ) {
839
  $this->debug_message( $message );
840
  } else {
841
+ $this->debug_message( __( 'Updated sitemap settings.', 'all-in-one-seo-pack' ) );
842
  }
843
  }
844
 
968
  }
969
  }
970
  if ( empty( $comment ) )
971
+ $comment = __( "file '%s' statically", 'all-in-one-seo-pack' );
972
  $sitemap_data = $this->get_sitemap_data( $sitemap_type, $page );
973
  if ( ( $sitemap_type == 'root' ) && !empty( $this->options["{$this->prefix}indexes"] ) ) {
974
  return $this->build_sitemap_index( $sitemap_data, sprintf( $comment, $filename ) );
986
  }
987
  }
988
  if ( empty( $comment ) )
989
+ $comment = __( "file '%s' statically", 'all-in-one-seo-pack' );
990
  $this->write_sitemaps( $filename, $this->do_build_sitemap( $sitemap_type, $page, $filename, $comment ) );
991
  }
992
 
all-in-one-seo-pack-ar.mo ADDED
Binary file
all_in_one_seo_pack-bg_BG.mo → all-in-one-seo-pack-bg_BG.mo RENAMED
File without changes
all_in_one_seo_pack-bg_NO.mo → all-in-one-seo-pack-bg_NO.mo RENAMED
File without changes
all_in_one_seo_pack-cs_CZ.mo → all-in-one-seo-pack-cs_CZ.mo RENAMED
File without changes
all_in_one_seo_pack-da_DK.mo → all-in-one-seo-pack-da_DK.mo RENAMED
File without changes
all_in_one_seo_pack-de_DE.mo → all-in-one-seo-pack-de_DE.mo RENAMED
File without changes
all_in_one_seo_pack-es_ES.mo → all-in-one-seo-pack-es_ES.mo RENAMED
File without changes
all_in_one_seo_pack-fa_IR.mo → all-in-one-seo-pack-fa_IR.mo RENAMED
File without changes
all_in_one_seo_pack-fr_FR.mo → all-in-one-seo-pack-fr_FR.mo RENAMED
File without changes
all_in_one_seo_pack-he_IL.mo → all-in-one-seo-pack-he_IL.mo RENAMED
File without changes
all-in-one-seo-pack-hi_IN.mo ADDED
Binary file
all_in_one_seo_pack-hu_HU.mo → all-in-one-seo-pack-hu_HU.mo RENAMED
File without changes
all_in_one_seo_pack-it_IT.mo → all-in-one-seo-pack-it_IT.mo RENAMED
File without changes
all_in_one_seo_pack-ja.mo → all-in-one-seo-pack-ja.mo RENAMED
File without changes
all_in_one_seo_pack-ko_KR.mo → all-in-one-seo-pack-ko_KR.mo RENAMED
File without changes
all_in_one_seo_pack-nl_NL.mo → all-in-one-seo-pack-nl_NL.mo RENAMED
File without changes
all_in_one_seo_pack-pl_PL.mo → all-in-one-seo-pack-pl_PL.mo RENAMED
File without changes
all_in_one_seo_pack-pt_BR.mo → all-in-one-seo-pack-pt_BR.mo RENAMED
File without changes
all_in_one_seo_pack-ro_RO.mo → all-in-one-seo-pack-ro_RO.mo RENAMED
File without changes
all_in_one_seo_pack-ru_RU.mo → all-in-one-seo-pack-ru_RU.mo RENAMED
File without changes
all_in_one_seo_pack-sk_SK.mo → all-in-one-seo-pack-sk_SK.mo RENAMED
File without changes
all_in_one_seo_pack-tr_TR.mo → all-in-one-seo-pack-tr_TR.mo RENAMED
File without changes
all_in_one_seo_pack-uk.mo → all-in-one-seo-pack-uk.mo RENAMED
File without changes
all_in_one_seo_pack-zh_CN.mo → all-in-one-seo-pack-zh_CN.mo RENAMED
File without changes
all_in_one_seo_pack-zh_TW.mo → all-in-one-seo-pack-zh_TW.mo RENAMED
File without changes
all_in_one_seo_pack.pot → all-in-one-seo-pack.pot RENAMED
File without changes
all_in_one_seo_pack.php CHANGED
@@ -3,10 +3,10 @@
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. <a href="admin.php?page=all-in-one-seo-pack/aioseop_class.php">Options configuration panel</a> | <a href="http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=plugins" target="_blank">Upgrade to Pro Version</a> | <a href="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">Donate</a> | <a href="http://semperplugins.com/support/" >Support</a> | <a href="https://www.amazon.com/wishlist/1NFQ133FNCOOA/ref=wl_web" target="_blank" title="Amazon Wish List">Amazon Wishlist</a>
6
- Version: 2.2.7.3
7
  Author: Michael Torbert
8
  Author URI: http://michaeltorbert.com
9
- Text Domain: all_in_one_seo_pack
10
  */
11
 
12
  /*
@@ -31,7 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
31
 
32
  /**
33
  * @package All-in-One-SEO-Pack
34
- * @version 2.2.7.3
35
  */
36
 
37
  if ( ! defined( 'ABSPATH' ) ) return;
@@ -42,13 +42,13 @@ if ( ! defined( 'AIOSEOP_PLUGIN_NAME' ) )
42
  define( 'AIOSEOP_PLUGIN_NAME', $aioseop_plugin_name );
43
 
44
  if ( ! defined( 'AIOSEOP_VERSION' ) )
45
- define( 'AIOSEOP_VERSION', '2.2.7.3' );
46
 
47
  if ( ! defined( 'AIOSEOP_PLUGIN_DIR' ) ) {
48
  define( 'AIOSEOP_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
49
  } elseif ( AIOSEOP_PLUGIN_DIR != plugin_dir_path( __FILE__ ) ) {
50
  add_action( 'admin_notices', create_function( '', 'echo "' . "<div class='error'>" . sprintf(
51
- __( "%s detected a conflict; please deactivate the plugin located in %s.", 'all_in_one_seo_pack' ),
52
  $aioseop_plugin_name, AIOSEOP_PLUGIN_DIR ) . "</div>" . '";' ) );
53
  return;
54
  }
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. <a href="admin.php?page=all-in-one-seo-pack/aioseop_class.php">Options configuration panel</a> | <a href="http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=plugins" target="_blank">Upgrade to Pro Version</a> | <a href="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">Donate</a> | <a href="http://semperplugins.com/support/" >Support</a> | <a href="https://www.amazon.com/wishlist/1NFQ133FNCOOA/ref=wl_web" target="_blank" title="Amazon Wish List">Amazon Wishlist</a>
6
+ Version: 2.2.7.4
7
  Author: Michael Torbert
8
  Author URI: http://michaeltorbert.com
9
+ Text Domain: all-in-one-seo-pack
10
  */
11
 
12
  /*
31
 
32
  /**
33
  * @package All-in-One-SEO-Pack
34
+ * @version 2.2.7.4
35
  */
36
 
37
  if ( ! defined( 'ABSPATH' ) ) return;
42
  define( 'AIOSEOP_PLUGIN_NAME', $aioseop_plugin_name );
43
 
44
  if ( ! defined( 'AIOSEOP_VERSION' ) )
45
+ define( 'AIOSEOP_VERSION', '2.2.7.4' );
46
 
47
  if ( ! defined( 'AIOSEOP_PLUGIN_DIR' ) ) {
48
  define( 'AIOSEOP_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
49
  } elseif ( AIOSEOP_PLUGIN_DIR != plugin_dir_path( __FILE__ ) ) {
50
  add_action( 'admin_notices', create_function( '', 'echo "' . "<div class='error'>" . sprintf(
51
+ __( "%s detected a conflict; please deactivate the plugin located in %s.", 'all-in-one-seo-pack' ),
52
  $aioseop_plugin_name, AIOSEOP_PLUGIN_DIR ) . "</div>" . '";' ) );
53
  return;
54
  }
images/banner21.jpg ADDED
Binary file
images/banner22.jpg ADDED
Binary file
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === All in One SEO Pack ===
2
- Contributors: hallsofmontezuma
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, all in one seo pack, search engine optimization, google
5
  Requires at least: 3.3
6
  Tested up to: 4.4
7
- Stable tag: 2.2.7.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -69,7 +69,15 @@ Please read these **[FAQs](http://semperfiwebdesign.com/documentation/all-in-one
69
 
70
  == Upgrade Notice ==
71
 
72
- = 2.2.7.3 =
 
 
 
 
 
 
 
 
 
73
 
74
- Update for WordPress 4.4
75
 
1
  === All in One SEO Pack ===
2
+ Contributors: hallsofmontezuma, wpsmort
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, all in one seo pack, search engine optimization, google
5
  Requires at least: 3.3
6
  Tested up to: 4.4
7
+ Stable tag: 2.2.7.4
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
69
 
70
  == Upgrade Notice ==
71
 
72
+ = 2.2.7.4 =
73
+
74
+ -Update for WordPress 4.4
75
+ -CSS fixes
76
+ -Important localization improvements
77
+ -Update for Social Meta Module - Photo Twitter Card
78
+ -Add support for the full set of Twitter meta tags (https://dev.twitter.com/cards/markup)
79
+ -Bugfix for issue with Nonindex options for post types
80
+ -Bugfix for schema.org OG markup
81
+
82
 
 
83