Google XML Sitemaps - Version 3.3.1

Version Description

Download this release

Release Info

Developer arnee
Plugin Icon 128x128 Google XML Sitemaps
Version 3.3.1
Comparing to
See all releases

Code changes from version 3.3 to 3.3.1

Files changed (4) hide show
  1. documentation.txt +2 -1
  2. readme.txt +2 -2
  3. sitemap-core.php +14 -14
  4. sitemap.php +22 -22
documentation.txt CHANGED
@@ -243,6 +243,7 @@
243
2013-01-11 3.2.9 Fixed security issue with change frequencies and filename of sitemap file. Exploit was only possible for admin accounts.
244
2013-09-28 3.3 Fixed problem with file permission checking
245
Filter out hashs (#) in URLs
246
247
Maybe Todo:
248
==============================================================================
@@ -251,7 +252,7 @@
251
252
License:
253
==============================================================================
254
- Copyright 2005 - 2012 ARNE BRACHHOLD (email : himself - arnebrachhold - de)
255
256
This program is free software; you can redistribute it and/or modify
257
it under the terms of the GNU General Public License as published by
243
2013-01-11 3.2.9 Fixed security issue with change frequencies and filename of sitemap file. Exploit was only possible for admin accounts.
244
2013-09-28 3.3 Fixed problem with file permission checking
245
Filter out hashs (#) in URLs
246
+ 2013-11-24 3.4 Fixed deprecation warnings in PHP 5.4, thanks to Dion Hulse!
247
248
Maybe Todo:
249
==============================================================================
252
253
License:
254
==============================================================================
255
+ Copyright 2005 - 2013 ARNE BRACHHOLD (email : himself - arnebrachhold - de)
256
257
This program is free software; you can redistribute it and/or modify
258
it under the terms of the GNU General Public License as published by
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: arnee
3
Donate link: http://www.arnebrachhold.de/redir/sitemap-paypal
4
Tags: seo, google, sitemaps, google sitemaps, yahoo, msn, ask, live, xml sitemap, xml
5
Requires at least: 2.1
6
- Tested up to: 3.7
7
- Stable tag: 3.2.9
8
9
This plugin will generate a special XML sitemap which will help search engines to better index your blog.
10
3
Donate link: http://www.arnebrachhold.de/redir/sitemap-paypal
4
Tags: seo, google, sitemaps, google sitemaps, yahoo, msn, ask, live, xml sitemap, xml
5
Requires at least: 2.1
6
+ Tested up to: 3.8
7
+ Stable tag: 3.3
8
9
This plugin will generate a special XML sitemap which will help search engines to better index your blog.
10
sitemap-core.php CHANGED
@@ -1,7 +1,7 @@
1
<?php
2
/*
3
4
- $Id: sitemap-core.php 779425 2013-09-27 22:49:51Z arnee $
5
6
*/
7
@@ -36,7 +36,7 @@ class GoogleSitemapGeneratorStatus {
36
*
37
* @return GoogleSitemapGeneratorStatus
38
*/
39
- function &Load() {
40
$status = @get_option("sm_status");
41
if(is_a($status,"GoogleSitemapGeneratorStatus")) return $status;
42
else return null;
@@ -409,7 +409,7 @@ class GoogleSitemapGeneratorPrioProviderBase {
409
* @author Arne Brachhold
410
* @return string The translated name
411
*/
412
- function GetName() {
413
return "";
414
}
415
@@ -421,7 +421,7 @@ class GoogleSitemapGeneratorPrioProviderBase {
421
* @author Arne Brachhold
422
* @return string The translated description
423
*/
424
- function GetDescription() {
425
return "";
426
}
427
@@ -471,7 +471,7 @@ class GoogleSitemapGeneratorPrioByCountProvider extends GoogleSitemapGeneratorPr
471
* @author Arne Brachhold
472
* @return string The translated name
473
*/
474
- function GetName() {
475
return __("Comment Count",'sitemap');
476
}
477
@@ -483,7 +483,7 @@ class GoogleSitemapGeneratorPrioByCountProvider extends GoogleSitemapGeneratorPr
483
* @author Arne Brachhold
484
* @return string The translated description
485
*/
486
- function GetDescription() {
487
return __("Uses the number of comments of the post to calculate the priority",'sitemap');
488
}
489
@@ -543,7 +543,7 @@ class GoogleSitemapGeneratorPrioByAverageProvider extends GoogleSitemapGenerator
543
* @author Arne Brachhold
544
* @return string The translated name
545
*/
546
- function GetName() {
547
return __("Comment Average",'sitemap');
548
}
549
@@ -555,7 +555,7 @@ class GoogleSitemapGeneratorPrioByAverageProvider extends GoogleSitemapGenerator
555
* @author Arne Brachhold
556
* @return string The translated description
557
*/
558
- function GetDescription() {
559
return __("Uses the average comment count to calculate the priority",'sitemap');
560
}
561
@@ -618,7 +618,7 @@ class GoogleSitemapGeneratorPrioByPopularityContestProvider extends GoogleSitema
618
* @author Arne Brachhold
619
* @return string The translated name
620
*/
621
- function GetName() {
622
return __("Popularity Contest",'sitemap');
623
}
624
@@ -630,7 +630,7 @@ class GoogleSitemapGeneratorPrioByPopularityContestProvider extends GoogleSitema
630
* @author Arne Brachhold
631
* @return string The translated description
632
*/
633
- function GetDescription() {
634
return str_replace("%4","index.php?page=popularity-contest.php",str_replace("%3","options-general.php?page=popularity-contest.php",str_replace("%2","http://www.alexking.org/",str_replace("%1","http://www.alexking.org/index.php?content=software/wordpress/content.php",__("Uses the activated <a href=\"%1\">Popularity Contest Plugin</a> from <a href=\"%2\">Alex King</a>. See <a href=\"%3\">Settings</a> and <a href=\"%4\">Most Popular Posts</a>",'sitemap')))));
635
}
636
@@ -696,7 +696,7 @@ class GoogleSitemapGenerator {
696
/**
697
* @var Version of the generator in SVN
698
*/
699
- var $_svnVersion = '$Id: sitemap-core.php 779425 2013-09-27 22:49:51Z arnee #x27;;
700
701
/**
702
* @var array The unserialized array with the stored options
@@ -1065,7 +1065,7 @@ class GoogleSitemapGenerator {
1065
* @return GoogleSitemapGenerator The instance or null if not available.
1066
* @author Arne Brachhold
1067
*/
1068
- function &GetInstance() {
1069
if(isset($GLOBALS["sm_instance"])) {
1070
return $GLOBALS["sm_instance"];
1071
} else return null;
@@ -1079,7 +1079,7 @@ class GoogleSitemapGenerator {
1079
* @return bool true if active
1080
* @author Arne Brachhold
1081
*/
1082
- function IsActive() {
1083
$inst = &GoogleSitemapGenerator::GetInstance();
1084
return ($inst != null && $inst->_isActive);
1085
}
@@ -1152,7 +1152,7 @@ class GoogleSitemapGenerator {
1152
* @access public
1153
* @author Arne Brachhold
1154
*/
1155
- function Enable() {
1156
if(!isset($GLOBALS["sm_instance"])) {
1157
$GLOBALS["sm_instance"]=new GoogleSitemapGenerator();
1158
}
1
<?php
2
/*
3
4
+ $Id: sitemap-core.php 809741 2013-11-24 18:32:07Z arnee $
5
6
*/
7
36
*
37
* @return GoogleSitemapGeneratorStatus
38
*/
39
+ static function &Load() {
40
$status = @get_option("sm_status");
41
if(is_a($status,"GoogleSitemapGeneratorStatus")) return $status;
42
else return null;
409
* @author Arne Brachhold
410
* @return string The translated name
411
*/
412
+ static function GetName() {
413
return "";
414
}
415
421
* @author Arne Brachhold
422
* @return string The translated description
423
*/
424
+ static function GetDescription() {
425
return "";
426
}
427
471
* @author Arne Brachhold
472
* @return string The translated name
473
*/
474
+ static function GetName() {
475
return __("Comment Count",'sitemap');
476
}
477
483
* @author Arne Brachhold
484
* @return string The translated description
485
*/
486
+ static function GetDescription() {
487
return __("Uses the number of comments of the post to calculate the priority",'sitemap');
488
}
489
543
* @author Arne Brachhold
544
* @return string The translated name
545
*/
546
+ static function GetName() {
547
return __("Comment Average",'sitemap');
548
}
549
555
* @author Arne Brachhold
556
* @return string The translated description
557
*/
558
+ static function GetDescription() {
559
return __("Uses the average comment count to calculate the priority",'sitemap');
560
}
561
618
* @author Arne Brachhold
619
* @return string The translated name
620
*/
621
+ static function GetName() {
622
return __("Popularity Contest",'sitemap');
623
}
624
630
* @author Arne Brachhold
631
* @return string The translated description
632
*/
633
+ static function GetDescription() {
634
return str_replace("%4","index.php?page=popularity-contest.php",str_replace("%3","options-general.php?page=popularity-contest.php",str_replace("%2","http://www.alexking.org/",str_replace("%1","http://www.alexking.org/index.php?content=software/wordpress/content.php",__("Uses the activated <a href=\"%1\">Popularity Contest Plugin</a> from <a href=\"%2\">Alex King</a>. See <a href=\"%3\">Settings</a> and <a href=\"%4\">Most Popular Posts</a>",'sitemap')))));
635
}
636
696
/**
697
* @var Version of the generator in SVN
698
*/
699
+ var $_svnVersion = '$Id: sitemap-core.php 809741 2013-11-24 18:32:07Z arnee #x27;;
700
701
/**
702
* @var array The unserialized array with the stored options
1065
* @return GoogleSitemapGenerator The instance or null if not available.
1066
* @author Arne Brachhold
1067
*/
1068
+ static function &GetInstance() {
1069
if(isset($GLOBALS["sm_instance"])) {
1070
return $GLOBALS["sm_instance"];
1071
} else return null;
1079
* @return bool true if active
1080
* @author Arne Brachhold
1081
*/
1082
+ static function IsActive() {
1083
$inst = &GoogleSitemapGenerator::GetInstance();
1084
return ($inst != null && $inst->_isActive);
1085
}
1152
* @access public
1153
* @author Arne Brachhold
1154
*/
1155
+ static function Enable() {
1156
if(!isset($GLOBALS["sm_instance"])) {
1157
$GLOBALS["sm_instance"]=new GoogleSitemapGenerator();
1158
}
sitemap.php CHANGED
@@ -1,7 +1,7 @@
1
<?php
2
3
/*
4
- $Id: sitemap.php 779425 2013-09-27 22:49:51Z arnee $
5
6
Google XML Sitemaps Generator for WordPress
7
==============================================================================
@@ -25,7 +25,7 @@
25
Plugin Name: Google XML Sitemaps
26
Plugin URI: http://www.arnebrachhold.de/redir/sitemap-home/
27
Description: This plugin will generate a special XML sitemap which will help search engines like Google, Yahoo, Bing and Ask.com to better index your blog.
28
- Version: 3.3
29
Author: Arne Brachhold
30
Author URI: http://www.arnebrachhold.de/
31
Text Domain: sitemap
@@ -46,7 +46,7 @@ class GoogleSitemapGeneratorLoader {
46
*
47
* If the sm_command and sm_key GET params are given, the function will init the generator to rebuild the sitemap.
48
*/
49
- function Enable() {
50
51
//Check for 3.0 multisite, NOT supported yet!
52
if((defined('WP_ALLOW_MULTISITE') && WP_ALLOW_MULTISITE) || (function_exists('is_multisite') && is_multisite())) {
@@ -101,28 +101,28 @@ class GoogleSitemapGeneratorLoader {
101
/**
102
* Outputs the warning bar if multisite mode is activated
103
*/
104
- function AddMultisiteWarning() {
105
echo "<div id='sm-multisite-warning' class='error fade'><p><strong>".__('This version of Google XML Sitemaps is not multisite compatible.','sitemap')."</strong><br /> ".sprintf(__('Unfortunately this version of the Google XML Sitemaps plugin was not tested with the multisite feature of WordPress 3.0 yet. <br />The plugin will not be active until you disable the multisite mode. <br />Or you can <a href="%1$s">try the new beta</a> which supports all the new WordPress features!','sitemap'), "http://www.arnebrachhold.de/redir/sitemap-info-beta/")."</p></div>";
106
}
107
108
/**
109
* Registers the plugin in the admin menu system
110
*/
111
- function RegisterAdminPage() {
112
-
113
if (function_exists('add_options_page')) {
114
- add_options_page(__('XML-Sitemap Generator','sitemap'), __('XML-Sitemap','sitemap'), 'level_10', GoogleSitemapGeneratorLoader::GetBaseName(), array('GoogleSitemapGeneratorLoader','CallHtmlShowOptionsPage'));
115
}
116
}
117
118
- function RegisterAdminIcon($hook) {
119
if ( $hook == GoogleSitemapGeneratorLoader::GetBaseName() && function_exists('plugins_url')) {
120
return plugins_url('img/icon-arne.gif',GoogleSitemapGeneratorLoader::GetBaseName());
121
}
122
return $hook;
123
}
124
125
- function RegisterPluginLinks($links, $file) {
126
$base = GoogleSitemapGeneratorLoader::GetBaseName();
127
if ($file == $base) {
128
$links[] = '<a href="options-general.php?page=' . GoogleSitemapGeneratorLoader::GetBaseName() .'">' . __('Settings','sitemap') . '</a>';
@@ -136,7 +136,7 @@ class GoogleSitemapGeneratorLoader {
136
/**
137
* Invokes the HtmlShowOptionsPage method of the generator
138
*/
139
- function CallHtmlShowOptionsPage() {
140
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
141
$gs = &GoogleSitemapGenerator::GetInstance();
142
$gs->HtmlShowOptionsPage();
@@ -146,7 +146,7 @@ class GoogleSitemapGeneratorLoader {
146
/**
147
* Invokes the CheckForAutoBuild method of the generator
148
*/
149
- function CallCheckForAutoBuild($args) {
150
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
151
$gs = &GoogleSitemapGenerator::GetInstance();
152
$gs->CheckForAutoBuild($args);
@@ -156,7 +156,7 @@ class GoogleSitemapGeneratorLoader {
156
/**
157
* Invokes the CheckForAutoBuild method of the generator
158
*/
159
- function CallBuildNowRequest() {
160
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
161
$gs = &GoogleSitemapGenerator::GetInstance();
162
$gs->BuildNowRequest();
@@ -166,7 +166,7 @@ class GoogleSitemapGeneratorLoader {
166
/**
167
* Invokes the BuildSitemap method of the generator
168
*/
169
- function CallBuildSitemap() {
170
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
171
$gs = &GoogleSitemapGenerator::GetInstance();
172
$gs->BuildSitemap();
@@ -176,7 +176,7 @@ class GoogleSitemapGeneratorLoader {
176
/**
177
* Invokes the CheckForManualBuild method of the generator
178
*/
179
- function CallCheckForManualBuild() {
180
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
181
$gs = &GoogleSitemapGenerator::GetInstance();
182
$gs->CheckForManualBuild();
@@ -186,7 +186,7 @@ class GoogleSitemapGeneratorLoader {
186
/**
187
* Invokes the ShowPingResult method of the generator
188
*/
189
- function CallShowPingResult() {
190
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
191
$gs = &GoogleSitemapGenerator::GetInstance();
192
$gs->ShowPingResult();
@@ -194,7 +194,7 @@ class GoogleSitemapGeneratorLoader {
194
}
195
196
197
- function CallHtmlShowHelpList($filterVal,$screen) {
198
199
$id = get_plugin_page_hookname(GoogleSitemapGeneratorLoader::GetBaseName(),'options-general.php');
200
@@ -215,7 +215,7 @@ class GoogleSitemapGeneratorLoader {
215
return $filterVal;
216
}
217
218
- function CallDoRobots() {
219
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
220
$gs = &GoogleSitemapGenerator::GetInstance();
221
$gs->DoRobots();
@@ -227,7 +227,7 @@ class GoogleSitemapGeneratorLoader {
227
*
228
* @return boolean true if run successfully
229
*/
230
- function LoadPlugin() {
231
232
$mem = abs(intval(@ini_get('memory_limit')));
233
if($mem && $mem < 64) {
@@ -256,7 +256,8 @@ class GoogleSitemapGeneratorLoader {
256
*
257
* @return string The plugin basename, "sitemap" for example
258
*/
259
- function GetBaseName() {
260
return plugin_basename(__FILE__);
261
}
262
@@ -265,7 +266,7 @@ class GoogleSitemapGeneratorLoader {
265
*
266
* @return string The __FILE__ value of this loader script
267
*/
268
- function GetPluginFile() {
269
return __FILE__;
270
}
271
@@ -276,7 +277,7 @@ class GoogleSitemapGeneratorLoader {
276
*
277
* @return string The version like 3.1.1
278
*/
279
- function GetVersion() {
280
if(!isset($GLOBALS["sm_version"])) {
281
if(!function_exists('get_plugin_data')) {
282
if(file_exists(ABSPATH . 'wp-admin/includes/plugin.php')) require_once(ABSPATH . 'wp-admin/includes/plugin.php'); //2.3+
@@ -294,4 +295,3 @@ class GoogleSitemapGeneratorLoader {
294
if(defined('ABSPATH') && defined('WPINC')) {
295
add_action("init",array("GoogleSitemapGeneratorLoader","Enable"),1000,0);
296
}
297
- ?>
1
<?php
2
3
/*
4
+ $Id: sitemap.php 809744 2013-11-24 18:44:57Z arnee $
5
6
Google XML Sitemaps Generator for WordPress
7
==============================================================================
25
Plugin Name: Google XML Sitemaps
26
Plugin URI: http://www.arnebrachhold.de/redir/sitemap-home/
27
Description: This plugin will generate a special XML sitemap which will help search engines like Google, Yahoo, Bing and Ask.com to better index your blog.
28
+ Version: 3.4
29
Author: Arne Brachhold
30
Author URI: http://www.arnebrachhold.de/
31
Text Domain: sitemap
46
*
47
* If the sm_command and sm_key GET params are given, the function will init the generator to rebuild the sitemap.
48
*/
49
+ static function Enable() {
50
51
//Check for 3.0 multisite, NOT supported yet!
52
if((defined('WP_ALLOW_MULTISITE') && WP_ALLOW_MULTISITE) || (function_exists('is_multisite') && is_multisite())) {
101
/**
102
* Outputs the warning bar if multisite mode is activated
103
*/
104
+ static function AddMultisiteWarning() {
105
echo "<div id='sm-multisite-warning' class='error fade'><p><strong>".__('This version of Google XML Sitemaps is not multisite compatible.','sitemap')."</strong><br /> ".sprintf(__('Unfortunately this version of the Google XML Sitemaps plugin was not tested with the multisite feature of WordPress 3.0 yet. <br />The plugin will not be active until you disable the multisite mode. <br />Or you can <a href="%1$s">try the new beta</a> which supports all the new WordPress features!','sitemap'), "http://www.arnebrachhold.de/redir/sitemap-info-beta/")."</p></div>";
106
}
107
108
/**
109
* Registers the plugin in the admin menu system
110
*/
111
+ static function RegisterAdminPage() {
112
if (function_exists('add_options_page')) {
113
+ $slug = GoogleSitemapGeneratorLoader::GetBaseName();
114
+ add_options_page(__('XML-Sitemap Generator','sitemap'), __('XML-Sitemap','sitemap'), 'level_10', $slug, array('GoogleSitemapGeneratorLoader','CallHtmlShowOptionsPage'));
115
}
116
}
117
118
+ static function RegisterAdminIcon($hook) {
119
if ( $hook == GoogleSitemapGeneratorLoader::GetBaseName() && function_exists('plugins_url')) {
120
return plugins_url('img/icon-arne.gif',GoogleSitemapGeneratorLoader::GetBaseName());
121
}
122
return $hook;
123
}
124
125
+ static function RegisterPluginLinks($links, $file) {
126
$base = GoogleSitemapGeneratorLoader::GetBaseName();
127
if ($file == $base) {
128
$links[] = '<a href="options-general.php?page=' . GoogleSitemapGeneratorLoader::GetBaseName() .'">' . __('Settings','sitemap') . '</a>';
136
/**
137
* Invokes the HtmlShowOptionsPage method of the generator
138
*/
139
+ static function CallHtmlShowOptionsPage() {
140
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
141
$gs = &GoogleSitemapGenerator::GetInstance();
142
$gs->HtmlShowOptionsPage();
146
/**
147
* Invokes the CheckForAutoBuild method of the generator
148
*/
149
+ static function CallCheckForAutoBuild($args) {
150
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
151
$gs = &GoogleSitemapGenerator::GetInstance();
152
$gs->CheckForAutoBuild($args);
156
/**
157
* Invokes the CheckForAutoBuild method of the generator
158
*/
159
+ static function CallBuildNowRequest() {
160
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
161
$gs = &GoogleSitemapGenerator::GetInstance();
162
$gs->BuildNowRequest();
166
/**
167
* Invokes the BuildSitemap method of the generator
168
*/
169
+ static function CallBuildSitemap() {
170
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
171
$gs = &GoogleSitemapGenerator::GetInstance();
172
$gs->BuildSitemap();
176
/**
177
* Invokes the CheckForManualBuild method of the generator
178
*/
179
+ static function CallCheckForManualBuild() {
180
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
181
$gs = &GoogleSitemapGenerator::GetInstance();
182
$gs->CheckForManualBuild();
186
/**
187
* Invokes the ShowPingResult method of the generator
188
*/
189
+ static function CallShowPingResult() {
190
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
191
$gs = &GoogleSitemapGenerator::GetInstance();
192
$gs->ShowPingResult();
194
}
195
196
197
+ static function CallHtmlShowHelpList($filterVal,$screen) {
198
199
$id = get_plugin_page_hookname(GoogleSitemapGeneratorLoader::GetBaseName(),'options-general.php');
200
215
return $filterVal;
216
}
217
218
+ static function CallDoRobots() {
219
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
220
$gs = &GoogleSitemapGenerator::GetInstance();
221
$gs->DoRobots();
227
*
228
* @return boolean true if run successfully
229
*/
230
+ static function LoadPlugin() {
231
232
$mem = abs(intval(@ini_get('memory_limit')));
233
if($mem && $mem < 64) {
256
*
257
* @return string The plugin basename, "sitemap" for example
258
*/
259
+ static function GetBaseName() {
260
+ //return "sitemap.php";
261
return plugin_basename(__FILE__);
262
}
263
266
*
267
* @return string The __FILE__ value of this loader script
268
*/
269
+ static function GetPluginFile() {
270
return __FILE__;
271
}
272
277
*
278
* @return string The version like 3.1.1
279
*/
280
+ static function GetVersion() {
281
if(!isset($GLOBALS["sm_version"])) {
282
if(!function_exists('get_plugin_data')) {
283
if(file_exists(ABSPATH . 'wp-admin/includes/plugin.php')) require_once(ABSPATH . 'wp-admin/includes/plugin.php'); //2.3+
295
if(defined('ABSPATH') && defined('WPINC')) {
296
add_action("init",array("GoogleSitemapGeneratorLoader","Enable"),1000,0);
297
}