Google XML Sitemaps - Version 4.0

Version Description

Download this release

Release Info

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

Code changes from version 3.3.1 to 4.0

documentation.txt CHANGED
@@ -1,339 +1,361 @@
1
-  Google XML Sitemaps Generator for WordPress
2
- ==============================================================================
3
-
4
- This generator will create a sitemaps.org compliant sitemap of your WordPress blog.
5
- Currently homepage, posts, static pages, categories, archives and author pages are supported.
6
-
7
- The priority of a post depends on its comments. You can choose the way the priority
8
- is calculated in the options screen.
9
-
10
- Feel free to visit my website under www.arnebrachhold.de or contact me at
11
- himself [at] arnebrachhold [dot] de
12
-
13
- Have fun!
14
- Arne
15
-
16
- Installation:
17
- ==============================================================================
18
- 1. Upload the full directory into your wp-content/plugins directory
19
- 2. Make your blog directory writeable OR create two files called sitemap.xml
20
- and sitemap.xml.gz and make them writeable via CHMOD In most cases, your blog directory is already writeable.
21
- 2. Activate it in the Plugin options
22
- 3. Edit or publish a post or click on Rebuild Sitemap on the Sitemap Administration Interface
23
-
24
-
25
- Additional contributors:
26
- ==============================================================================
27
- Inspiration Michael Nguyen http://www.socialpatterns.com/
28
- SQL Improvements Rodney Shupe http://www.shupe.ca/
29
- Japanse Lang. File Hirosama http://hiromasa.zone.ne.jp/
30
- Spanish lang. File Omi http://equipajedemano.info/
31
- Italian lang. File Stefano Aglietti http://wordpress-it.it/
32
- Trad.Chinese File Kirin Lin http://kirin-lin.idv.tw/
33
- Simpl.Chinese File june6 http://www.june6.cn/
34
- Swedish Lang. File Tobias Bergius http://tobiasbergius.se/
35
- Czech Lang. File Peter Kahoun http://kahi.cz
36
- Finnish Lang. File Olli Jarva http://kuvat.blog.olli.jarva.fi/
37
- Belorussian Lang. File Marcis Gasuns
38
- Bulgarian Lang. File Alexander Dichev http://dichev.com
39
-
40
- Thanks to all contributors and bug reporters! There were much more people involved
41
- in testing this plugin and reporting bugs, either by email or in the WordPress forums.
42
-
43
- Unfortunately I can't maintain a whole list here, but thanks again to everybody not listed here!
44
-
45
-
46
- Release History:
47
- ==============================================================================
48
- 2005-06-05 1.0 First release
49
- 2005-06-05 1.1 Added archive support
50
- 2005-06-05 1.2 Added category support
51
- 2005-06-05 2.0a Beta: Real Plugin! Static file generation, Admin UI
52
- 2005-06-05 2.0 Various fixes, more help, more comments, configurable filename
53
- 2005-06-07 2.01 Fixed 2 Bugs: 147 is now _e(strval($i)); instead of _e($i); 344 uses a full < ?php instead of < ?
54
- Thanks to Christian Aust for reporting this :)
55
- 2005-06-07 2.1 Correct usage of last modification date for cats and archives (thx to Rodney Shupe (http://www.shupe.ca/))
56
- Added support for .gz generation
57
- Fixed bug which ignored different post/page priorities
58
- Should support now different wordpress/admin directories
59
- 2005-06-07 2.11 Fixed bug with hardcoded table table names instead of the $wpd vars
60
- 2005-06-07 2.12 Changed SQL Statement of the categories to get it work on MySQL 3
61
- 2005-06-08 2.2 Added language file support:
62
- - Japanese Language Files and code modifications by hiromasa (http://hiromasa.zone.ne.jp/)
63
- - German Language File by Arne Brachhold (http://www.arnebrachhold.de)
64
- 2005-06-14 2.5 Added support for external pages
65
- Added support for Google Ping
66
- Added the minimum Post Priority option
67
- Added Spanish Language File by César Gómez Martín (http://www.cesargomez.org/)
68
- Added Italian Language File by Stefano Aglietti (http://wordpress-it.it/)
69
- Added Traditional Chine Language File by Kirin Lin (http://kirin-lin.idv.tw/)
70
- 2005-07-03 2.6 Added support to store the files at a custom location
71
- Changed the home URL to have a slash at the end
72
- Required admin-functions.php so the script will work with external calls, wp-mail for example
73
- Added support for other plugins to add content to the sitemap via add_filter()
74
- 2005-07-20 2.7 Fixed wrong date format in additional pages
75
- Added Simplified Chinese Language Files by june6 (http://www.june6.cn/)
76
- Added Swedish Language File by Tobias Bergius (http://tobiasbergius.se/)
77
- 2006-01-07 3.0b Added different priority calculation modes and introduced an API to create custom ones
78
- Added support to use the Popularity Contest plugin by Alex King to calculate post priority
79
- Added Button to restore default configuration
80
- Added several links to homepage and support
81
- Added option to exclude password protected posts
82
- Added function to start sitemap creation via GET and a secret key
83
- Posts and pages marked for publish with a date in the future won't be included
84
- Improved compatiblity with other plugins
85
- Improved speed and optimized settings handling
86
- Improved user-interface
87
- Recoded plugin architecture which is now fully OOP
88
- 2006-01-07 3.0b1 Changed the way for hook support to be PHP5 and PHP4 compatible
89
- Readded support for tools like w.Bloggar
90
- Fixed "doubled-content" bug with WP2
91
- Added xmlns to enable validation
92
- 2006-03-01 3.0b3 More performance
93
- More caching
94
- Better support for Popularity Contest and WP 2.x
95
- 2006-11-16 3.0b4 Fixed bug with option SELECTS
96
- Decreased memory usage which should solve timeout and memory problems
97
- Updated namespace to support YAHOO and MSN
98
- 2007-01-19 3.0b5 Javascripted page editor
99
- WP 2 Design
100
- YAHOO notification
101
- New status report, removed ugly logfiles
102
- Better Popularity Contest Support
103
- Fixed double backslashes on windows systems
104
- Added option to specify time limit and memory limit
105
- Added option to define a XSLT stylesheet and added a default one
106
- Fixed bug with sub-pages. Thanks to:
107
- - Mike Baptiste (http://baptiste.us),
108
- - Peter Claus Lamprecht (http://fastagent.de)
109
- - Glenn Nicholas (http://publicityship.com.au)
110
- Improved file handling, thanks to VJTD3 (http://www.VJTD3.com)
111
- WP 2.1 improvements
112
- 2007-01-23 3.0b6 Use memory_get_peak_usage instead of memory_get_usage if available
113
- Removed the usage of REQUEST_URI since it not correct in all environments
114
- Fixed that sitemap.xml.gz was not compressed
115
- Added compat function "stripos" for PHP4 (Thanks to Joseph Abboud!)
116
- Streamlined some code
117
- 2007-05-17 3.0b7 Added option to include the author pages like /author/john
118
- Small enhancements, removed stripos dependency and the added compat function
119
- Added check to not build the sitemap if importing posts
120
- Fixed missing domain parameter for translator name
121
- Fixed WP 2.1 / Pre 2.1 post / pages database changes
122
- Fixed wrong XSLT location (Thanks froosh)
123
- Added Ask.com notification
124
- Removed unused javascript
125
- 2007-07-22 3.0b8 Changed category SQL to prevent unused cats from beeing included
126
- Plugin will be loaded on "init" instead of direclty after the file has been loaded.
127
- Added support for robots.txt modification
128
- Switched YAHOO ping API from YAHOO Web Services to the "normal" ping service which doesn't require an app id
129
- Search engines will only be pinged if the sitemap file has changed
130
- 2007-09-02 3.0b9 Added tag support for WordPress 2.3
131
- Now using post_date_gmt instead of post_date everywhere
132
- Fixed archive bug with static pages (Thanks to Peter Claus Lamprecht)
133
- Fixed some missing translation domains, thanks to Kirin Lin!
134
- Added Czech translation files for 2.7.1, thanks to Peter Kahoun (http://kahi.cz)
135
- 2007-09-04 3.0b10 Added category support for WordPress 2.3
136
- Fixed bug with empty URLs in sitemap
137
- Repaired GET building
138
- Added more info on debug mode
139
- 2007-09-23 3.0b11 Changed mysql queries to unbuffered queries
140
- Uses MUCH less memory
141
- Fixed really stupid bug with search engine pings
142
- Option to set how many posts will be included
143
- 2007-09-24 3.0 Yeah, 3.0 Final after one and a half year ;)
144
- Removed useless functions
145
- 2007-11-03 3.0.1 Using the Snoopy HTTP client for ping requests instead of wp_remote_fopen
146
- Fixed undefined translation strings
147
- Added "safemode" for SQL which doesn't use unbuffered results (old style)
148
- Added option to run the building process in background using wp-cron
149
- Removed unnecessary function_exists, Thanks to user00265
150
- Added links to test the ping if it failed.
151
- 2007-11-25 3.0.2 Fixed bug which caused that some settings were not saved correctly
152
- Added option to exclude pages or post by ID
153
- Restored YAHOO ping service with API key since the other one is to unreliable. (see 3.0b8)
154
- 2007-11-28 3.0.2.1 Fixed wrong XML Schema Location (Thanks to Emanuele Tessore)
155
- Added Russian Language files by Sergey http://ryvkin.ru
156
- 2007-12-30 3.0.3 Added Live Search Ping
157
- Removed some hooks which rebuilt the sitemap with every comment
158
- 2008-03-30 3.0.3.1 Added compatibility CSS for WP 2.5
159
- 2008-04-28 3.0.3.2 Improved WP 2.5 handling
160
- 2008-04-29 3.0.3.3 Fixed author pages
161
- Enhanced background building and increased delay to 15 seconds
162
- Background building is enabled by default
163
- 2008-04-28 3.1b1 Reorganized files in builder, loader and UI
164
- Added 2 step loader so only code that's needed will be loaded
165
- Improved WP 2.5 handling
166
- Secured all admin actions with nonces
167
- 2008-05-18 3.1b2 Fixed critical bug with the build in background option
168
- Added notification if a build is scheduled
169
- 2008-05-19 3.1b3 Cleaned up plugin directory and moved asset files to subfolders
170
- Fixed background building bug in WP 2.1
171
- Removed auto-update plugin link for WP < 2.5
172
- 2008-05-22 3.1 Marked as 3.1 stable, updated documentation
173
- 2008-05-27 3.1.0.1 Extracted UI JS to external file
174
- Enabled the option to include following pages of multi-page posts
175
- Script tries to raise memory and time limit if active
176
- 2008-12-21 3.1.1 Fixed redirect issue if wp-admin is rewritten via mod_rewrite, thanks to macjoost
177
- Fixed wrong path to assets, thanks PozHonks
178
- Fixed wrong plugin URL if wp-content was renamed / redirected, thanks to wnorris
179
- Updated WP User Interface for 2.7
180
- Various other small things
181
- 2008-12-26 3.1.2 Changed the way the stylesheet is saved (default / custom stylesheet)
182
- Sitemap is now build when page is published
183
- Removed support for static robots.txt files, this is now handled via WordPress
184
- Added compat. exceptions for WP 2.0 and WP 2.1
185
- 2009-06-07 3.1.3 Changed MSN Live Search to Bing
186
- Exclude categories also now exludes the category itself and not only the posts
187
- Pings now use the new WordPress HTTP API instead of Snoopy
188
- Fixed bug that in localized WP installations priorities could not be saved.
189
- The sitemap cron job is now cleared after a manual rebuild or after changing the config
190
- Adjusted style of admin area for WP 2.8 and refreshed icons
191
- Disabled the "Exclude categories" feature for WP 2.5.1, since it doesn't have the required functions yet
192
- 2009-06-22 3.1.4 Fixed bug which broke all pings in WP < 2.7
193
- Added more output in debug mode if pings fail
194
- Moved global post definitions for other plugins
195
- Added small icon for ozh admin menu
196
- Added more help links in UI
197
- 2009-08-24 3.1.5 Added option to completely disable the last modification time
198
- Fixed bug regarding the use of the HTTPS url for the XSL stylesheet if the sitemap was build via the admin panel
199
- Improved handling of homepage if a single page was set for it
200
- Fixed mktime warning which appeared sometimes
201
- Fixed bug which caused inf. reloads after rebuilding the sitemap via the admin panel
202
- Improved handling of missing sitemaps files if WP was moved to another location
203
- 2009-08-31 3.1.6 Fixed PHP error "Only variables can be passed by reference"
204
- Fixed wrong URLS of multi-page posts (Thanks artstorm!)
205
- 2009-10-21 3.1.7 Added support for custom taxonomies (Thanks to Lee!)
206
- 2009-11-07 3.1.8 Improved custom taxonomy handling and fixed wrong last modification date
207
- Changed readme and backlinks
208
- Fixed fatal error in WP < 2.3
209
- Fixed Update Notice in WP 2.8+
210
- Added warning if blog privacy is activated
211
- Fixed custom URLs priorities were shown as 0 instead of 1
212
- 2009-11-13 3.1.9 Fixed MySQL Error if author pages were included
213
- 2009-11-23 3.2 Added function to show the actual results of a ping instead of only linking to the url
214
- Added new hook (sm_rebuild) for third party plugins to start building the sitemap
215
- Fixed bug which showed the wrong URL for the latest Google ping result
216
- Added some missing phpdoc documentation
217
- Removed hardcoded php name for sitemap file for admin urls
218
- Uses KSES for showing ping test results
219
- Ping test fixed for WP < 2.3
220
- 2009-12-16 3.2.1 Notes and update messages could interfere with the redirect after manual build
221
- Help Links in the WP context help were not shown anymore since last update
222
- IE 7 sometimes displayed a cached admin page
223
- Removed invalid link to config page from the plugin description (This resulted in a "Not enough permission error")
224
- Improved performance of getting the current plugin version with caching
225
- Updated Spanish language files
226
- 2009-12-19 3.2.2 Fixed PHP4 problems
227
- 2010-04-02 3.2.3 Fixed that all pages were not included in the sitemap if the "Uncategorized" category was excluded
228
- 2010-05-29 3.2.4 Fixed more deprecated function calls
229
- Added (GMT) to sitemap xslt template to avoid confusion with time zone
230
- Added warning and don't activate plugin if multisite mode is enabled (this mode is NOT tested yet)
231
- Changed get_bloginfo('siteurl') to get_bloginfo('url') to avoid deprecation warning
232
- Changed has_cap(10) to has_cap('level_10') to avoid deprecation warning
233
- Fixed wrong SQL statement for author pages (Ticket #1108), thanks to twoenough
234
- 2010-07-11 3.2.5 Backported Bing ping success fix from beta
235
- Added friendly hint to try out the new beta
236
- 2010-09-19 3.2.6 Removed YAHOO ping since YAHOO uses bing now
237
- Removed deprecated function call
238
- 2012-04-24 3.2.7 Fixed custom post types, thanks to clearsite of the wordpress.org forum!
239
- Fixed broken admin layout on WP 3.4
240
- 2012-08-08 3.2.8 Fixed wrong custom taxonomy URLs, thanks to ramon fincken of the wordpress.org forum!
241
- Removed ASK ping since they shut down their service.
242
- Exclude post_format taxonomy from custom taxonomy list
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
- ==============================================================================
250
- - Your wishes :)
251
-
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
259
- the Free Software Foundation; either version 2 of the License, or
260
- (at your option) any later version.
261
-
262
- This program is distributed in the hope that it will be useful,
263
- but WITHOUT ANY WARRANTY; without even the implied warranty of
264
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
265
- GNU General Public License for more details.
266
-
267
- You should have received a copy of the GNU General Public License
268
- along with this program; if not, write to the Free Software
269
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
270
-
271
-
272
- Developer Documentation
273
- ==============================================================================
274
-
275
- Adding other pages to the sitemap via other plugins
276
-
277
- This plugin uses the action system of WordPress to allow other plugins
278
- to add urls to the sitemap. Simply add your function with add_action to
279
- the list and the plugin will execute yours every time the sitemap is build.
280
- Use the static method "GetInstance" to get the generator and AddUrl method
281
- to add your content.
282
-
283
- Sample:
284
-
285
- function your_pages() {
286
- $generatorObject = &GoogleSitemapGenerator::GetInstance(); //Please note the "&" sign for PHP4!
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
287
  if($generatorObject!=null) $generatorObject->AddUrl("http://blog.uri/tags/hello/",time(),"daily",0.5);
288
- }
289
- add_action("sm_buildmap","your_pages");
290
 
291
- Parameters:
292
- - The URL to the page
293
- - The last modified data, as a UNIX timestamp (optional)
294
- - The Change Frequency (daily, hourly, weekly and so on) (optional)
295
- - The priority 0.0 to 1.0 (optional)
296
 
297
 
298
- Rebuilding the sitemap on request
299
 
300
- If you want to rebuild the sitemap because dynamic content from your plugin has changed,
301
- please use the "sm_rebuild" hook which is available since 3.1.9.
302
- All other methods, like calling the Build method directly are highly unrecommended and might
303
- not work anymore with the next version of the plugin. Using this hook, the sitemap plugin will
304
- take care of everything like loading the required classes and so on.
305
 
306
- Sample:
307
 
308
- do_action("sm_rebuild");
309
 
310
- The sitemap might not be rebuild immediately, since newer versions use a background WP-Cron
311
- job by default to prevent that the user has to wait and avoid multiple rebuilds within a very short time.
312
- In case the sitemap plugin is not installed, nothing will happen and no errors will be thrown.
313
 
314
- ===============================================
315
 
316
- Adding additional PriorityProviders
317
 
318
- This plugin uses several classes to calculate the post priority.
319
- You can register your own provider and choose it at the options screen.
320
 
321
- Your class has to extend the GoogleSitemapGeneratorPrioProviderBase class
322
- which has a default constructor and a method called GetPostPriority
323
- which you can override.
324
 
325
- Look at the GoogleSitemapGeneratorPrioByPopularityContestProvider class
326
- for an example.
327
 
328
- To register your provider to the sitemap generator, use the following filter:
329
 
330
- add_filter("sm_add_prio_provider","AddMyProvider");
331
 
332
- Your function could look like this:
333
 
334
- function AddMyProvider($providers) {
335
  array_push($providers,"MyProviderClass");
336
  return $providers;
337
- }
338
 
339
- Note that you have to return the modified list!
1
+ Google XML Sitemaps Generator for WordPress
2
+ ==============================================================================
3
+
4
+ This generator will create a sitemaps.org compliant sitemap of your WordPress blog.
5
+ Currently homepage, posts, static pages, categories, archives and author pages are supported.
6
+
7
+ The priority of a post depends on its comments. You can choose the way the priority
8
+ is calculated in the options screen.
9
+
10
+ Feel free to visit my website under www.arnebrachhold.de or contact me at
11
+ himself [at] arnebrachhold [dot] de
12
+
13
+ Have fun!
14
+ Arne
15
+
16
+ Installation:
17
+ ==============================================================================
18
+ 1. Upload the full directory into your wp-content/plugins directory
19
+ 2. Activate the plugin at the plugin administration page
20
+ 3. Open the plugin configuration page, which is located under Settings -> XML-Sitemap and customize settings like priorities and change frequencies.
21
+ 4. The plugin will automatically update your sitemap of you publish a post, so theres nothing more to do :)
22
+
23
+
24
+ Additional contributors:
25
+ ==============================================================================
26
+ Inspiration Michael Nguyen http://www.socialpatterns.com/
27
+ SQL Improvements Rodney Shupe http://www.shupe.ca/
28
+ Japanse Lang. File Hirosama http://hiromasa.zone.ne.jp/
29
+ Spanish lang. File Omi http://equipajedemano.info/
30
+ Italian lang. File Stefano Aglietti http://wordpress-it.it/
31
+ Trad.Chinese File Kirin Lin http://kirin-lin.idv.tw/
32
+ Simpl.Chinese File june6 http://www.june6.cn/
33
+ Swedish Lang. File Tobias Bergius http://tobiasbergius.se/
34
+ Czech Lang. File Peter Kahoun http://kahi.cz
35
+ Finnish Lang. File Olli Jarva http://kuvat.blog.olli.jarva.fi/
36
+ Belorussian Lang. File Marcis Gasuns
37
+ Bulgarian Lang. File Alexander Dichev http://dichev.com
38
+
39
+ Thanks to all contributors and bug reporters! There were much more people involved
40
+ in testing this plugin and reporting bugs, either by email or in the WordPress forums.
41
+
42
+ Unfortunately I can't maintain a whole list here, but thanks again to everybody not listed here!
43
+
44
+
45
+ Release History:
46
+ ==============================================================================
47
+ 2005-06-05 1.0 First release
48
+ 2005-06-05 1.1 Added archive support
49
+ 2005-06-05 1.2 Added category support
50
+ 2005-06-05 2.0a Beta: Real Plugin! Static file generation, Admin UI
51
+ 2005-06-05 2.0 Various fixes, more help, more comments, configurable filename
52
+ 2005-06-07 2.01 Fixed 2 Bugs: 147 is now _e(strval($i)); instead of _e($i); 344 uses a full < ?php instead of < ?
53
+ Thanks to Christian Aust for reporting this :)
54
+ 2005-06-07 2.1 Correct usage of last modification date for cats and archives (thx to Rodney Shupe (http://www.shupe.ca/))
55
+ Added support for .gz generation
56
+ Fixed bug which ignored different post/page priorities
57
+ Should support now different wordpress/admin directories
58
+ 2005-06-07 2.11 Fixed bug with hardcoded table table names instead of the $wpd vars
59
+ 2005-06-07 2.12 Changed SQL Statement of the categories to get it work on MySQL 3
60
+ 2005-06-08 2.2 Added language file support:
61
+ - Japanese Language Files and code modifications by hiromasa (http://hiromasa.zone.ne.jp/)
62
+ - German Language File by Arne Brachhold (http://www.arnebrachhold.de)
63
+ 2005-06-14 2.5 Added support for external pages
64
+ Added support for Google Ping
65
+ Added the minimum Post Priority option
66
+ Added Spanish Language File by César Gómez Martín (http://www.cesargomez.org/)
67
+ Added Italian Language File by Stefano Aglietti (http://wordpress-it.it/)
68
+ Added Traditional Chine Language File by Kirin Lin (http://kirin-lin.idv.tw/)
69
+ 2005-07-03 2.6 Added support to store the files at a custom location
70
+ Changed the home URL to have a slash at the end
71
+ Required admin-functions.php so the script will work with external calls, wp-mail for example
72
+ Added support for other plugins to add content to the sitemap via add_filter()
73
+ 2005-07-20 2.7 Fixed wrong date format in additional pages
74
+ Added Simplified Chinese Language Files by june6 (http://www.june6.cn/)
75
+ Added Swedish Language File by Tobias Bergius (http://tobiasbergius.se/)
76
+ 2006-01-07 3.0b Added different priority calculation modes and introduced an API to create custom ones
77
+ Added support to use the Popularity Contest plugin by Alex King to calculate post priority
78
+ Added Button to restore default configuration
79
+ Added several links to homepage and support
80
+ Added option to exclude password protected posts
81
+ Added function to start sitemap creation via GET and a secret key
82
+ Posts and pages marked for publish with a date in the future won't be included
83
+ Improved compatiblity with other plugins
84
+ Improved speed and optimized settings handling
85
+ Improved user-interface
86
+ Recoded plugin architecture which is now fully OOP
87
+ 2006-01-07 3.0b1 Changed the way for hook support to be PHP5 and PHP4 compatible
88
+ Readded support for tools like w.Bloggar
89
+ Fixed "doubled-content" bug with WP2
90
+ Added xmlns to enable validation
91
+ 2006-03-01 3.0b3 More performance
92
+ More caching
93
+ Better support for Popularity Contest and WP 2.x
94
+ 2006-11-16 3.0b4 Fixed bug with option SELECTS
95
+ Decreased memory usage which should solve timeout and memory problems
96
+ Updated namespace to support YAHOO and MSN
97
+ 2007-01-19 3.0b5 Javascripted page editor
98
+ WP 2 Design
99
+ YAHOO notification
100
+ New status report, removed ugly logfiles
101
+ Better Popularity Contest Support
102
+ Fixed double backslashes on windows systems
103
+ Added option to specify time limit and memory limit
104
+ Added option to define a XSLT stylesheet and added a default one
105
+ Fixed bug with sub-pages. Thanks to:
106
+ - Mike Baptiste (http://baptiste.us),
107
+ - Peter Claus Lamprecht (http://fastagent.de)
108
+ - Glenn Nicholas (http://publicityship.com.au)
109
+ Improved file handling, thanks to VJTD3 (http://www.VJTD3.com)
110
+ WP 2.1 improvements
111
+ 2007-01-23 3.0b6 Use memory_get_peak_usage instead of memory_get_usage if available
112
+ Removed the usage of REQUEST_URI since it not correct in all environments
113
+ Fixed that sitemap.xml.gz was not compressed
114
+ Added compat function "stripos" for PHP4 (Thanks to Joseph Abboud!)
115
+ Streamlined some code
116
+ 2007-05-17 3.0b7 Added option to include the author pages like /author/john
117
+ Small enhancements, removed stripos dependency and the added compat function
118
+ Added check to not build the sitemap if importing posts
119
+ Fixed missing domain parameter for translator name
120
+ Fixed WP 2.1 / Pre 2.1 post / pages database changes
121
+ Fixed wrong XSLT location (Thanks froosh)
122
+ Added Ask.com notification
123
+ Removed unused javascript
124
+ 2007-07-22 3.0b8 Changed category SQL to prevent unused cats from beeing included
125
+ Plugin will be loaded on "init" instead of direclty after the file has been loaded.
126
+ Added support for robots.txt modification
127
+ Switched YAHOO ping API from YAHOO Web Services to the "normal" ping service which doesn't require an app id
128
+ Search engines will only be pinged if the sitemap file has changed
129
+ 2007-09-02 3.0b9 Added tag support for WordPress 2.3
130
+ Now using post_date_gmt instead of post_date everywhere
131
+ Fixed archive bug with static pages (Thanks to Peter Claus Lamprecht)
132
+ Fixed some missing translation domains, thanks to Kirin Lin!
133
+ Added Czech translation files for 2.7.1, thanks to Peter Kahoun (http://kahi.cz)
134
+ 2007-09-04 3.0b10 Added category support for WordPress 2.3
135
+ Fixed bug with empty URLs in sitemap
136
+ Repaired GET building
137
+ Added more info on debug mode
138
+ 2007-09-23 3.0b11 Changed mysql queries to unbuffered queries
139
+ Uses MUCH less memory
140
+ Fixed really stupid bug with search engine pings
141
+ Option to set how many posts will be included
142
+ 2007-09-24 3.0 Yeah, 3.0 Final after one and a half year ;)
143
+ Removed useless functions
144
+ 2007-11-03 3.0.1 Using the Snoopy HTTP client for ping requests instead of wp_remote_fopen
145
+ Fixed undefined translation strings
146
+ Added "safemode" for SQL which doesn't use unbuffered results (old style)
147
+ Added option to run the building process in background using wp-cron
148
+ Removed unnecessary function_exists, Thanks to user00265
149
+ Added links to test the ping if it failed.
150
+ 2007-11-25 3.0.2 Fixed bug which caused that some settings were not saved correctly
151
+ Added option to exclude pages or post by ID
152
+ Restored YAHOO ping service with API key since the other one is to unreliable. (see 3.0b8)
153
+ 2007-11-28 3.0.2.1 Fixed wrong XML Schema Location (Thanks to Emanuele Tessore)
154
+ Added Russian Language files by Sergey http://ryvkin.ru
155
+ 2007-12-30 3.0.3 Added Live Search Ping
156
+ Removed some hooks which rebuilt the sitemap with every comment
157
+ 2008-03-30 3.0.3.1 Added compatibility CSS for WP 2.5
158
+ 2008-04-28 3.0.3.2 Improved WP 2.5 handling
159
+ 2008-04-29 3.0.3.3 Fixed author pages
160
+ Enhanced background building and increased delay to 15 seconds
161
+ Background building is enabled by default
162
+ 2008-04-28 3.1b1 Reorganized files in builder, loader and UI
163
+ Added 2 step loader so only code that's needed will be loaded
164
+ Improved WP 2.5 handling
165
+ Secured all admin actions with nonces
166
+ 2008-05-18 3.1b2 Fixed critical bug with the build in background option
167
+ Added notification if a build is scheduled
168
+ 2008-05-19 3.1b3 Cleaned up plugin directory and moved asset files to subfolders
169
+ Fixed background building bug in WP 2.1
170
+ Removed auto-update plugin link for WP < 2.5
171
+ 2008-05-22 3.1 Marked as 3.1 stable, updated documentation
172
+ 2008-05-27 3.1.0.1Extracted UI JS to external file
173
+ Enabled the option to include following pages of multi-page posts
174
+ Script tries to raise memory and time limit if active
175
+ 2008-12-21 3.1.1 Fixed redirect issue if wp-admin is rewritten via mod_rewrite, thanks to macjoost
176
+ Fixed wrong path to assets, thanks PozHonks
177
+ Fixed wrong plugin URL if wp-content was renamed / redirected, thanks to wnorris
178
+ Updated WP User Interface for 2.7
179
+ Various other small things
180
+ 2008-12-26 3.1.2 Changed the way the stylesheet is saved (default / custom stylesheet)
181
+ Sitemap is now build when page is published
182
+ Removed support for static robots.txt files, this is now handled via WordPress
183
+ Added compat. exceptions for WP 2.0 and WP 2.1
184
+ 2009-06-07 3.1.3 Changed MSN Live Search to Bing
185
+ Exclude categories also now exludes the category itself and not only the posts
186
+ Pings now use the new WordPress HTTP API instead of Snoopy
187
+ Fixed bug that in localized WP installations priorities could not be saved.
188
+ The sitemap cron job is now cleared after a manual rebuild or after changing the config
189
+ Adjusted style of admin area for WP 2.8 and refreshed icons
190
+ Disabled the "Exclude categories" feature for WP 2.5.1, since it doesn't have the required functions yet
191
+ 2009-06-22 3.1.4 Fixed bug which broke all pings in WP < 2.7
192
+ Added more output in debug mode if pings fail
193
+ Moved global post definitions for other plugins
194
+ Added small icon for ozh admin menu
195
+ Added more help links in UI
196
+ 2009-08-24 3.1.5 Added option to completely disable the last modification time
197
+ Fixed bug regarding the use of the HTTPS url for the XSL stylesheet if the sitemap was build via the admin panel
198
+ Improved handling of homepage if a single page was set for it
199
+ Fixed mktime warning which appeared sometimes
200
+ Fixed bug which caused inf. reloads after rebuilding the sitemap via the admin panel
201
+ Improved handling of missing sitemaps files if WP was moved to another location
202
+ 2009-08-31 3.1.6 Fixed PHP error "Only variables can be passed by reference"
203
+ Fixed wrong URLS of multi-page posts (Thanks artstorm!)
204
+ 2009-10-21 3.1.7 Added support for custom taxonomies (Thanks to Lee!)
205
+ 2009-11-07 3.1.8 Improved custom taxonomy handling and fixed wrong last modification date
206
+ Changed readme and backlinks
207
+ Fixed fatal error in WP < 2.3
208
+ Fixed Update Notice in WP 2.8+
209
+ Added warning if blog privacy is activated
210
+ Fixed custom URLs priorities were shown as 0 instead of 1
211
+ 2009-11-13 3.1.9 Fixed MySQL Error if author pages were included
212
+ 2009-11-23 3.2 Added function to show the actual results of a ping instead of only linking to the url
213
+ Added new hook (sm_rebuild) for third party plugins to start building the sitemap
214
+ Fixed bug which showed the wrong URL for the latest Google ping result
215
+ Added some missing phpdoc documentation
216
+ Removed hardcoded php name for sitemap file for admin urls
217
+ Uses KSES for showing ping test results
218
+ Ping test fixed for WP < 2.3
219
+ 2009-12-16 3.2.1 Notes and update messages could interfere with the redirect after manual build
220
+ Help Links in the WP context help were not shown anymore since last update
221
+ IE 7 sometimes displayed a cached admin page
222
+ Removed invalid link to config page from the plugin description (This resulted in a "Not enough permission error")
223
+ Improved performance of getting the current plugin version with caching
224
+ Updated Spanish language files
225
+ 2009-12-19 3.2.2 Fixed PHP4 problems
226
+ 2010-04-02 3.2.3 Fixed that all pages were not included in the sitemap if the "Uncategorized" category was excluded
227
+ 2010-05-29 3.2.4 Fixed more deprecated function calls
228
+ Added (GMT) to sitemap xslt template to avoid confusion with time zone
229
+ Added warning and don't activate plugin if multisite mode is enabled (this mode is NOT tested yet)
230
+ Changed get_bloginfo('siteurl') to get_bloginfo('url') to avoid deprecation warning
231
+ Changed has_cap(10) to has_cap('level_10') to avoid deprecation warning
232
+ Fixed wrong SQL statement for author pages (Ticket #1108), thanks to twoenough
233
+ 2010-07-11 3.2.5 Backported Bing ping success fix from beta
234
+ Added friendly hint to try out the new beta
235
+ 2010-09-19 3.2.6 Removed YAHOO ping since YAHOO uses bing now
236
+ Removed deprecated function call
237
+ 2012-04-24 3.2.7 Fixed custom post types, thanks to clearsite of the wordpress.org forum!
238
+ Fixed broken admin layout on WP 3.4
239
+ 2012-08-08 3.2.8 Fixed wrong custom taxonomy URLs, thanks to ramon fincken of the wordpress.org forum!
240
+ Removed ASK ping since they shut down their service.
241
+ Exclude post_format taxonomy from custom taxonomy list
242
+ 2013-01-11 3.2.9 Fixed security issue with change frequencies and filename of sitemap file. Exploit was only possible for admin accounts.
243
+ 2013-09-28 3.3 Fixed problem with file permission checking
244
+ Filter out hashs (#) in URLs
245
+ 2013-11-24 3.4 Fixed deprecation warnings in PHP 5.4, thanks to Dion Hulse!
246
+ 2014-03-29 4.0 No static files anymore, sitemap is created on the fly
247
+ Sitemap is split-up into sub-sitemaps by month, allowing up to 50.000 posts per month
248
+ Support for custom post types and custom taxonomis!
249
+ 100% Multisite compatible, including by-blog and network activation.
250
+ Added support for mu-plugins forced-activation (see sitemap-wpmu.php for details)
251
+ Reduced server resource usage due to less content per request.
252
+ New API allows other plugins to add their own, separate sitemaps.
253
+ Raised min requirements to PHP 5.1 and WordPress 3.3
254
+ Note: This version will try to rename your old sitemap files to *-old.xml. If that doesn’t work, please delete them manually since no static files are needed anymore!
255
+ Using only wpdb instead of unbuffered queries anymore
256
+ Ping to search engines are done on WP ping
257
+ Using PHP5 syntax instead of old PHP4 OOP style
258
+ Added pre-loader which checks the requirements
259
+ Avoid the main query of WordPress (based on plugin by Michael Adams)
260
+ Avoid additional queries in post sitemaps
261
+ Added custom post types
262
+ Fixed include of static front page in pages index
263
+ Do not list "#" permalinks from placeholder plugins
264
+ Removed YAHOO pings since YAHOO doesn't have its own ping service anymore.
265
+ Sitemap doesn't state it is a feed anymore
266
+ Removed Ask.com ping since they shut down their service (who uses Ask anyway?)
267
+
268
+ Todo:
269
+ ==============================================================================
270
+ - Your wishes :)
271
+
272
+
273
+ License:
274
+ ==============================================================================
275
+ Copyright 2005 - 2014 ARNE BRACHHOLD (email : himself - arnebrachhold - de)
276
+
277
+ This program is free software; you can redistribute it and/or modify
278
+ it under the terms of the GNU General Public License as published by
279
+ the Free Software Foundation; either version 2 of the License, or
280
+ (at your option) any later version.
281
+
282
+ This program is distributed in the hope that it will be useful,
283
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
284
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
285
+ GNU General Public License for more details.
286
+
287
+ You should have received a copy of the GNU General Public License
288
+ along with this program; if not, write to the Free Software
289
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
290
+
291
+ Please see license.txt for the full license.
292
+
293
+
294
+ Developer Documentation
295
+ ==============================================================================
296
+
297
+ Adding other pages to the sitemap via other plugins
298
+
299
+ This plugin uses the action system of WordPress to allow other plugins
300
+ to add urls to the sitemap. Simply add your function with add_action to
301
+ the list and the plugin will execute yours every time the sitemap is build.
302
+ Use the static method "GetInstance" to get the generator and AddUrl method
303
+ to add your content.
304
+
305
+ Sample:
306
+
307
+ function your_pages() {
308
+ $generatorObject = &GoogleSitemapGenerator::GetInstance();
309
  if($generatorObject!=null) $generatorObject->AddUrl("http://blog.uri/tags/hello/",time(),"daily",0.5);
310
+ }
311
+ add_action("sm_buildmap","your_pages");
312
 
313
+ Parameters:
314
+ - The URL to the page
315
+ - The last modified data, as a UNIX timestamp (optional)
316
+ - The Change Frequency (daily, hourly, weekly and so on) (optional)
317
+ - The priority 0.0 to 1.0 (optional)
318
 
319
 
320
+ Rebuilding the sitemap on request
321
 
322
+ If you want to rebuild the sitemap because dynamic content from your plugin has changed,
323
+ please use the "sm_rebuild" hook which is available since 3.1.9.
324
+ All other methods, like calling the Build method directly are highly unrecommended and might
325
+ not work anymore with the next version of the plugin. Using this hook, the sitemap plugin will
326
+ take care of everything like loading the required classes and so on.
327
 
328
+ Sample:
329
 
330
+ do_action("sm_rebuild");
331
 
332
+ The sitemap might not be rebuild immediately, since newer versions use a background WP-Cron
333
+ job by default to prevent that the user has to wait and avoid multiple rebuilds within a very short time.
334
+ In case the sitemap plugin is not installed, nothing will happen and no errors will be thrown.
335
 
336
+ ===============================================
337
 
338
+ Adding additional PriorityProviders
339
 
340
+ This plugin uses several classes to calculate the post priority.
341
+ You can register your own provider and choose it at the options screen.
342
 
343
+ Your class has to extend the GoogleSitemapGeneratorPrioProviderBase class
344
+ which has a default constructor and a method called GetPostPriority
345
+ which you can override.
346
 
347
+ Look at the GoogleSitemapGeneratorPrioByPopularityContestProvider class
348
+ for an example.
349
 
350
+ To register your provider to the sitemap generator, use the following filter:
351
 
352
+ add_filter("sm_add_prio_provider","AddMyProvider");
353
 
354
+ Your function could look like this:
355
 
356
+ function AddMyProvider($providers) {
357
  array_push($providers,"MyProviderClass");
358
  return $providers;
359
+ }
360
 
361
+ Note that you have to return the modified list!
img/icon-yahoo.gif ADDED
Binary file
lang/sitemap-de_DE.mo CHANGED
Binary file
lang/sitemap-de_DE.po CHANGED
@@ -2,9 +2,9 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: sitemap\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2009-11-20 22:53+0100\n"
6
- "PO-Revision-Date: 2009-11-20 22:54+0100\n"
7
- "Last-Translator: Arne Brachhold\n"
8
  "Language-Team: Arne Brachhold <himself@arnebrachhold.de>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -12,906 +12,870 @@ msgstr ""
12
  "X-Poedit-Language: German\n"
13
  "X-Poedit-Country: GERMANY\n"
14
 
15
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:525
16
  msgid "Comment Count"
17
  msgstr "Anzahl der Kommentare"
18
 
19
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:537
20
  msgid "Uses the number of comments of the post to calculate the priority"
21
  msgstr "Verwendet die Anzahl der Kommentare um die Priorität der Beiträge zu berechnen"
22
 
23
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:597
24
  msgid "Comment Average"
25
  msgstr "Durchschnittliche Anzahl der Kommentare"
26
 
27
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:609
28
  msgid "Uses the average comment count to calculate the priority"
29
  msgstr "Verwendet die durchschnittliche Anzahl der Kommentare um die Priorität der Beiträge zu berechnen."
30
 
31
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:672
32
  msgid "Popularity Contest"
33
  msgstr "Popularity Contest"
34
 
35
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:684
36
  msgid "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>"
37
  msgstr "Verwendet das aktivierte <a href=\"%1\">Popularity Contest Plugin</a> von <a href=\"%2\">Alex King</a>. Siehe <a href=\"%3\">Einstellungen</a> und <a href=\"%4\">wichtigste Beiträge</a>"
38
 
39
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118
40
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1084
41
  msgid "Always"
42
  msgstr "Immer"
43
 
44
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119
45
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1085
46
  msgid "Hourly"
47
  msgstr "Stündlich"
48
 
49
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120
50
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1086
51
  msgid "Daily"
52
  msgstr "Täglich"
53
 
54
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121
55
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1087
56
  msgid "Weekly"
57
  msgstr "Wöchentlich"
58
 
59
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122
60
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1088
61
  msgid "Monthly"
62
  msgstr "Monatlich"
63
 
64
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123
65
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1089
66
  msgid "Yearly"
67
  msgstr "Jährlich"
68
 
69
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124
70
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1090
71
  msgid "Never"
72
  msgstr "Nie"
73
 
74
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:107
75
- msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!"
76
- msgstr "Vielen Dank für Deine Spende! Du hilfst mir damit diese kostenlose Software zu unterstützen und weiterzuentwickeln!"
77
-
78
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:107
79
- msgid "Hide this notice"
80
- msgstr "Diesen Hinweis verstecken"
81
 
82
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113
83
- #, php-format
84
- msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and you are satisfied with the results, isn't it worth at least a few dollar? <a href=\"%s\">Donations</a> help me to continue support and development of this <i>free</i> software! <a href=\"%s\">Sure, no problem!</a>"
85
- msgstr "Danke dass Du dieses Plugin benutzt! Du hast dieses Plugin vor mehr als einem Monat installiert. Wenn es funktioniert und zu mit dem Ergebnis zufrieden bist, ist es nicht mindestens ein paar Euro Wert? <a href=\"%s\">Spenden</a> helfen mir diese <i>kostenlose</i> Software zu unterstützen und weiterzuentwickeln! <a href=\"%s\">Klar, kein Problem!</a> "
86
 
87
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113
88
- msgid "Sure, but I already did!"
89
- msgstr "Klar, hab ich schon gemacht!"
90
 
91
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113
92
- msgid "No thanks, please don't bug me anymore!"
93
- msgstr "Nein danke, bitte nicht mehr nerven! "
94
 
95
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:120
96
- #, php-format
97
- msgid "Thanks for using this plugin! You've installed this plugin some time ago. If it works and your are satisfied, why not <a href=\"%s\">rate it</a> and <a href=\"%s\">recommend it</a> to others? :-)"
98
- msgstr "Danke dass Du dieses Plugin benutzt! Du hast dieses Plugin vor mehr als einem Monat installiert. Wenn es funktioniert und zu mit dem Ergebnis zufrieden bist, würde ich mich freuen wenn Du es <a href=\"%s\">bewerten</a> und <a href=\"%s\">weiterempfehlen</a> würdest."
99
 
100
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:120
101
- msgid "Don't show this anymore"
102
- msgstr "Diesen Hinweis nicht mehr zeigen"
103
 
104
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67
105
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:132
106
- msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!"
107
- msgstr "Die Sietemap wird im Moment neu erzeugt. Abhängig von der Anzahl Ihrer Beiträge kann dies einige Sekunden dauern. "
108
 
109
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69
110
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:134
111
- #, php-format
112
- msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!"
113
- msgstr "Die Sietemap wird in %s Sekunden neu erzeugt. Abhängig von der Anzahl Ihrer Beiträge kann dies einige Sekunden dauern."
114
 
115
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:163
116
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:480
117
  msgid "XML Sitemap Generator for WordPress"
118
  msgstr "XML Sitemap Generator für WordPress"
119
 
120
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:323
121
  msgid "Configuration updated"
122
  msgstr "Die Konfiguration wurde gespeichert."
123
 
124
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:324
125
  msgid "Error while saving options"
126
  msgstr "Beim Speichern der Seiten ist ein Fehler aufgetreten"
127
 
128
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:326
129
  msgid "Pages saved"
130
  msgstr "Ihre Seiten wurden gespeichert."
131
 
132
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:327
133
  msgid "Error while saving pages"
134
  msgstr "Beim Speichern der Seiten ist ein Fehler aufgetreten"
135
 
136
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:334
137
  msgid "The default configuration was restored."
138
  msgstr "Die Standard Konfiguration wurde wieder hergestellt."
139
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374
141
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:496
142
  #, php-format
143
  msgid "There is a new version of %1$s available. <a href=\"%2$s\">Download version %3$s here</a>."
144
  msgstr "Es gibt eine Version von %1$s. <a href=\"%2$s\">Version %3$s hier downloaden</a>."
145
 
146
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376
147
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498
148
  #, php-format
149
  msgid "There is a new version of %1$s available. <a href=\"%2$s\">Download version %3$s here</a> <em>automatic upgrade unavailable for this plugin</em>."
150
  msgstr "Es gibt eine Version von %1$s. <a href=\"%2$s\">Version %3$s hier downloaden</a> <em>Automatisches Upgraden ist für dieses Plugin nicht möglich</em>."
151
 
152
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378
153
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:500
154
  #, php-format
155
  msgid "There is a new version of %1$s available. <a href=\"%2$s\">Download version %3$s here</a> or <a href=\"%4$s\">upgrade automatically</a>."
156
  msgstr "Es gibt eine Version von %1$s. <a href=\"%2$s\">Version %3$s hier downloaden</a> oder <a href=\"%4$s\">automatisch upgraden</a>."
157
 
158
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:508
159
  #, php-format
160
  msgid "Your blog is currently blocking search engines! Visit the <a href=\"%s\">privacy settings</a> to change this."
161
  msgstr "Dein Blog blockiert zur Zeit Suchmaschienen! Unter den <a href=\"%s\">Eistellungen zur Privatsphäre</a> lässt sich dies ändern."
162
 
163
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:529
164
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:546
165
- msgid "open"
166
- msgstr "öffnen"
167
-
168
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:530
169
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:547
170
- msgid "close"
171
- msgstr "schließen"
172
-
173
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:531
174
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:548
175
- msgid "click-down and drag to move this box"
176
- msgstr "Klicken und ziehen um diese Box zu verschieben"
177
-
178
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:532
179
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:549
180
- msgid "click to %toggle% this box"
181
- msgstr "Klicken um diese box zu %toggle%"
182
-
183
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533
184
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:550
185
- msgid "use the arrow keys to move this box"
186
- msgstr "Benutze die Pfeiltaste um diese box zu verschieben"
187
-
188
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534
189
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:551
190
- msgid ", or press the enter key to %toggle% it"
191
- msgstr ", oder drück Enter um sie zu %toggle%"
192
-
193
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:580
194
  msgid "About this Plugin:"
195
  msgstr "Über dieses Plugin:"
196
 
197
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:581
198
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:181
199
- msgid "Plugin Homepage"
200
- msgstr "Plugin Startseite"
201
-
202
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421
203
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:582
204
  msgid "Suggest a Feature"
205
  msgstr "Funktion vorschlagen"
206
 
207
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:583
208
  msgid "Notify List"
209
  msgstr "E-Mail bei Update"
210
 
211
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:584
212
  msgid "Support Forum"
213
  msgstr "Hilfe Forum"
214
 
215
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424
216
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:585
217
  msgid "Report a Bug"
218
  msgstr "Fehler berichten"
219
 
220
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:587
221
  msgid "Donate with PayPal"
222
  msgstr "Mit PayPal spenden"
223
 
224
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:588
225
  msgid "My Amazon Wish List"
226
  msgstr "Amazon Wunschliste"
227
 
228
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:589
229
  msgid "translator_name"
230
  msgstr ""
231
 
232
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:589
233
  msgid "translator_url"
234
  msgstr ""
235
 
236
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:593
237
  msgid "Sitemap Resources:"
238
  msgstr "Sitemap Informationen"
239
 
240
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:594
241
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:600
242
  msgid "Webmaster Tools"
243
  msgstr "Webmaster Tools"
244
 
245
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:595
246
  msgid "Webmaster Blog"
247
  msgstr "Webmaster Blog"
248
 
249
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:597
250
- msgid "Site Explorer"
251
- msgstr "Site Explorer"
252
-
253
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:598
254
  msgid "Search Blog"
255
  msgstr "Search Blog"
256
 
257
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:601
258
  msgid "Webmaster Center Blog"
259
  msgstr "Webmaster Center Blog"
260
 
261
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:603
262
  msgid "Sitemaps Protocol"
263
  msgstr "Sitemaps Protokoll"
264
 
265
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:604
266
  msgid "Official Sitemaps FAQ"
267
  msgstr "Offizielle Sitemaps FAQ"
268
 
269
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:605
270
- msgid "My Sitemaps FAQ"
271
- msgstr "Meine Sitemaps FAQ"
272
-
273
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:608
274
  msgid "Recent Donations:"
275
  msgstr "Aktuelle Spenden:"
276
 
277
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:611
278
  msgid "List of the donors"
279
  msgstr "Liste der Spender"
280
 
281
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:613
282
  msgid "Hide this list"
283
  msgstr "Liste ausblenden"
284
 
285
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:616
286
  msgid "Thanks for your support!"
287
  msgstr "Danke für Deine Unterstützung!"
288
 
289
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:638
290
- msgid "The sitemap wasn't generated yet."
291
- msgstr "Die Sitemap wurde bisher noch nicht erzeugt."
292
 
293
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:641
294
- msgid "Result of the last build process, started on %date%."
 
295
  msgstr "Ergebnisse der letzten Sitemap Generierung, gestartet am %date%."
296
 
297
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:650
298
  #, php-format
299
- msgid "The sitemap wasn't built yet. <a href=\"%s\">Click here</a> to build it the first time."
300
- msgstr "Die Sitemap wurde noch nicht erstellt. <a href=\"%s\">Klick hier</a> um sie das erste mal zu erstellen."
301
 
302
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:656
303
- msgid "Your <a href=\"%url%\">sitemap</a> was last built on <b>%date%</b>."
304
- msgstr "Deine <a href=\"%url%\">Sitemap</a> wurde zuletzt am <b>%date%</b> erstellt."
305
-
306
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:657
307
- msgid "The last build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?"
308
- msgstr "Die letzte Sitemap wurde erzeugt, jedoch kann sie nicht mehr gelesen werden oder wurde gelöscht. Haben Sie das Blog auf einen anderen Server verschoben?"
309
-
310
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:659
311
- #, fuzzy
312
- msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. <a href=\"%url%\">Learn more</a>"
313
- msgstr "Leider gab es ein Problem beim Schreiben der Sitemap. Bitte vergewisser dich dass die Datei exisitert und beschreibbar ist. <a href=\"%url%\">Mehr infos</a"
314
-
315
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:666
316
- msgid "Your sitemap (<a href=\"%url%\">zipped</a>) was last built on <b>%date%</b>."
317
- msgstr "Deine Sitemap (<a href=\"%url%\">gezippt</a>) wurde zuletzt am <b>%date%</b> erstellt."
318
-
319
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:667
320
- msgid "The last zipped build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?"
321
- msgstr "Die letzte gezippte Sitemap wurde erzeugt, jedoch kann sie nicht mehr gelesen werden oder wurde gelöscht. Haben Sie das Blog auf einen anderen Server verschoben?"
322
-
323
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:669
324
- #, fuzzy
325
- msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. <a href=\"%url%\">Learn more</a>"
326
- msgstr "Leider gab es ein Problem beim Schreiben der gezippten Sitemap. Bitte vergewisser dich dass die Datei exisitert und beschreibbar ist. <a href=\"%url%\">Mehr infos</a"
327
-
328
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:675
329
- msgid "Google was <b>successfully notified</b> about changes."
330
- msgstr "Google wurde <b>erfolgreich</b> über die Änderungen <b>benachrichtigt</b>."
331
-
332
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:678
333
- msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time."
334
- msgstr "Es hat %time% Sekunden gedauert Google zu benachrichtigen. Vielleicht möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-Generierung zu verkürzen?"
335
-
336
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:681
337
  #, php-format
338
- msgid "There was a problem while notifying Google. <a href=\"%s\">View result</a>"
339
- msgstr "Leider gab es beim Versuch Google zu benachrichtigen ein Problem. <a href=\"%s\">Ergebnis anzeigen</a>"
340
 
341
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:687
342
- msgid "YAHOO was <b>successfully notified</b> about changes."
343
- msgstr "YAHOO wurde <b>erfolgreich</b> über die Änderungen <b>benachrichtigt</b>."
344
 
345
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:690
346
- msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time."
347
- msgstr "Es hat %time% Sekunden gedauert YAHOO zu benachrichtigen. Vielleicht möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-Generierung zu verkürzen?"
348
-
349
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:693
350
- #, php-format
351
- msgid "There was a problem while notifying YAHOO. <a href=\"%s\">View result</a>"
352
- msgstr "Leider gab es beim Versuch YAHOO zu benachrichtigen ein Problem. <a href=\"%s\">Ergebnis anzeigen</a>"
353
-
354
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:699
355
- msgid "Bing was <b>successfully notified</b> about changes."
356
  msgstr "Bing wurde <b>erfolgreich</b> über die Änderungen <b>benachrichtigt</b>."
357
 
358
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:702
359
- msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time."
 
360
  msgstr "Es hat %time% Sekunden gedauert Bing zu benachrichtigen. Vielleicht möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-Generierung zu verkürzen?"
361
 
362
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:705
363
- #, php-format
364
- msgid "There was a problem while notifying Bing. <a href=\"%s\">View result</a>"
365
  msgstr "Leider gab es beim Versuch Bing zu benachrichtigen ein Problem. <a href=\"%s\">Ergebnis anzeigen</a>"
366
 
367
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:711
368
- msgid "Ask.com was <b>successfully notified</b> about changes."
369
- msgstr "Ask.com wurde <b>erfolgreich</b> über die Änderungen <b>benachrichtigt</b>."
370
-
371
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:714
372
- msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time."
373
- msgstr "Es hat %time% Sekunden gedauert Ask.com zu benachrichtigen. Vielleicht möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-Generierung zu verkürzen?"
374
-
375
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:717
376
- #, php-format
377
- msgid "There was a problem while notifying Ask.com. <a href=\"%s\">View result</a>"
378
- msgstr "Leider gab es beim Versuch Ask.com zu benachrichtigen ein Problem. <a href=\"%s\">Ergebnis anzeigen</a>"
379
-
380
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:725
381
- msgid "The building process took about <b>%time% seconds</b> to complete and used %memory% MB of memory."
382
- msgstr "Die Sitemap-Generierung dauerte <b>%time% sekunden</b> und verwendete %memory% MB Speicher."
383
-
384
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:727
385
- msgid "The building process took about <b>%time% seconds</b> to complete."
386
- msgstr "Die Sitemap-Generierung dauerte <b>%time% sekunden</b>."
387
-
388
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:731
389
- msgid "The content of your sitemap <strong>didn't change</strong> since the last time so the files were not written and no search engine was pinged."
390
- msgstr "Die Inhalte der Sitemap haben sich <strong>nicht geändert</strong> seit dem letzten mal, daher wurden keine Dateien geschrieben oder Suchmaschinen informiert."
391
-
392
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586
393
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:739
394
- msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed."
395
- msgstr "Das Erstellen der Sitemap dauert eventuell noch. Laden Sie diese Seite in ein paar Sekunden neu und prüfen Sie ob sich der Status geändert hat."
396
-
397
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:742
398
- msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. <a href=\"%url%\">Learn more</a>"
399
- msgstr "Die letzte Generierung der Sitemap wurde nicht abgeschlossen. Eventuell hilft es das Speicherlimit für PHP Skripte zu erhöhen. <a href=\"%url%\">Mehr Infos</a>"
400
-
401
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744
402
- msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%."
403
- msgstr "Der zuletzt bekannte Speicherverauch lag bei %memused%MB, das Limit für PHP Skripte ist %memlimit%."
404
-
405
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:748
406
- msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds."
407
- msgstr "Die zuletzt bekannte Ausührungszeit lag bei %timeused% Sekunden, das Limit für PHP Skripe ist %timelimit% Sekunden."
408
-
409
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:752
410
- msgid "The script stopped around post number %lastpost% (+/- 100)"
411
- msgstr "Das Script hat bei dem %lastpost% Beitrag abgebrochen. (+/- 100)"
412
-
413
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:755
414
- #, php-format
415
- msgid "If you changed something on your server or blog, you should <a href=\"%s\">rebuild the sitemap</a> manually."
416
- msgstr "Falls Du etwas am Server oder am Blog geändert hast, solltest Du die Sitemap von Hand <a href=\"%s\">neu erstellen</a>."
417
-
418
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:757
419
- #, php-format
420
- msgid "If you encounter any problems with the build process you can use the <a href=\"%d\">debug function</a> to get more information."
421
  msgstr "Falls es beim Generieren der Sitemap Probleme gibt, kannst Du die <a href=\"%d\">Debug Funktion</a> verwenden um mehr über die auftretenden Fehler zu erfahren."
422
 
423
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:764
424
  msgid "Basic Options"
425
  msgstr "Allgemeine Einstellungen"
426
 
427
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:766
428
- msgid "Sitemap files:"
429
- msgstr "Sitemap Dateien:"
430
 
431
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:766
432
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:781
433
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801
434
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:834
435
  msgid "Learn more"
436
  msgstr "Mehr Infos"
437
 
438
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:771
439
- msgid "Write a normal XML file (your filename)"
440
- msgstr "Sitemap als XML Datei erzeugen"
441
-
442
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777
443
- msgid "Write a gzipped file (your filename + .gz)"
444
- msgstr "Gezippte Sitemap erzeugen (Dateiname + .gz)"
445
-
446
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:781
447
- msgid "Building mode:"
448
- msgstr "Erstellungsmodus:"
449
-
450
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786
451
- msgid "Rebuild sitemap if you change the content of your blog"
452
- msgstr "Sitemap neu generieren wenn Du den Inhalt Deines Blogs änderst"
453
-
454
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:793
455
- msgid "Enable manual sitemap building via GET Request"
456
- msgstr "Manuelles Generieren der Sitemap über GET Anfrage erlauben"
457
-
458
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:797
459
- #, fuzzy
460
- msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: <a href=\"%1\">%1</a> Please check the result box above to see if sitemap was successfully built."
461
- msgstr "Dies erlaubt Dir die Sitemao zu aktualisieren falls ein externes Programm in die WordPress Datenbank geschrieben hat ohne die API zu verwenden. Verwende folgende URL um die Generierung zu starten: <a href=\"%1\">%1</a> Bitte überpüf die Logdatei um zu sehen ob die Generirung erfolgreich war."
462
-
463
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801
464
- msgid "Update notification:"
465
- msgstr "Benachrichtigung über Änderungen"
466
-
467
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:805
468
  msgid "Notify Google about updates of your Blog"
469
  msgstr "Google über Änderungen benachrichtigen"
470
 
471
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:806
472
  #, php-format
473
  msgid "No registration required, but you can join the <a href=\"%s\">Google Webmaster Tools</a> to check crawling statistics."
474
  msgstr "Keine Registrierung erforderlich, aber Du kannst Dich bei den <a href=\"%s\">Google Webmaster Tools</a> anmelden um Indexierungs-Statistiken zu Deiner Website zu sehen."
475
 
476
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:810
477
  msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog"
478
  msgstr "Bing (vormals MSN Live Search) über Änderungen benachrichtigen"
479
 
480
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:811
481
  #, php-format
482
  msgid "No registration required, but you can join the <a href=\"%s\">Bing Webmaster Tools</a> to check crawling statistics."
483
  msgstr "Keine Registrierung erforderlich, aber Du kannst Dich bei den <a href=\"%s\">Bing Webmaster Tools</a> anmelden um Indexierungs-Statistiken zu Deiner Website zu sehen."
484
 
485
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:815
486
  msgid "Notify Ask.com about updates of your Blog"
487
  msgstr "Ask.com über Änderungen benachrichtigen"
488
 
489
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:816
490
  msgid "No registration required."
491
  msgstr "Keine Registrierung erforderlich"
492
 
493
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:820
494
- msgid "Notify YAHOO about updates of your Blog"
495
- msgstr "YAHOO über Änderungen benachrichtigen"
496
-
497
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154
498
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:821
499
- msgid "Your Application ID:"
500
- msgstr "Deine Application ID:"
501
-
502
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155
503
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822
504
- #, php-format
505
- msgid "Don't you have such a key? <a href=\"%s1\">Request one here</a>! %s2"
506
- msgstr "Noch keinen Key? <a href=\"%s1\">Hier beantragen</a>! %s2"
507
-
508
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:827
509
  msgid "Add sitemap URL to the virtual robots.txt file."
510
  msgstr "Die Sitemap zur virtuellen robots hinzufügen."
511
 
512
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:831
513
  msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!"
514
  msgstr "Es wird die von WordPress generierte virtuelle robots.txt verwendet. Es dark keine robots.txt Datei im Blog Verzeichnis liegen!"
515
 
516
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:834
517
  msgid "Advanced options:"
518
  msgstr "Erweiterte Einstellungen"
519
 
520
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:837
521
- msgid "Limit the number of posts in the sitemap:"
522
- msgstr "Die Anzahl der Beiträge in der Sitemap beschränken auf:"
523
-
524
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:837
525
- msgid "Newer posts will be included first"
526
- msgstr "Neuere Beiträge kommen zuerst"
527
-
528
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:840
529
  msgid "Try to increase the memory limit to:"
530
  msgstr "Versuchen das Speicherlimit zu erhöhen auf: "
531
 
532
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:840
533
  msgid "e.g. \"4M\", \"16M\""
534
  msgstr "z.B. \"4M\", \"16M\""
535
 
536
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:843
537
  msgid "Try to increase the execution time limit to:"
538
  msgstr "Veruschen das Zeit Limit zu erhöhen auf: "
539
 
540
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:843
541
  msgid "in seconds, e.g. \"60\" or \"0\" for unlimited"
542
  msgstr "in Sekunden, z.B. \"60\" oder \"0\" for unendlich"
543
 
544
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:847
545
  msgid "Include a XSLT stylesheet:"
546
  msgstr "Ein XSLT Stylesheet einbinden:"
547
 
548
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:848
549
  msgid "Full or relative URL to your .xsl file"
550
  msgstr "Kompletter oder relativer Pfad zur .xsl Datei"
551
 
552
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:848
553
  #, fuzzy
554
  msgid "Use default"
555
  msgstr "Standard verwenden"
556
 
557
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152
558
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:854
559
- msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)"
560
- msgstr "MySQL Standard Modus aktivieren. Benutze diesen nur falls MySQL Fehler auftreten. (Benötigt mehr Speicher!)"
561
-
562
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:855
563
- msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access"
564
- msgstr "Updatete WordPress auf 2.2 um den schnelleren MySQL Modus zu aktiviren"
565
 
566
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166
567
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862
568
- msgid "Build the sitemap in a background process (You don't have to wait when you save a post)"
569
- msgstr "Die Sitemap in einem Background-Process erstellen (Keine Verzögerung nach dem Speichern von Posts)"
570
-
571
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863
572
- msgid "Upgrade WordPress at least to 2.1 to enable background building"
573
- msgstr "Updatete WordPress auf 2.1 um das Erstellen im Hintergrund zu aktivieren."
574
-
575
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:870
576
  msgid "Additional pages"
577
  msgstr "Zusätzliche Seiten"
578
 
579
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:873
580
  msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.<br />For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com"
581
  msgstr "Hier können Sie zusätzliche Seiten in Form von URLs angeben, welche mit in Ihre Sitemap aufgenommen werden sollen aber nicht von WordPress erzeugt werden. Falls Sie z.B. Ihre Homepage auf www.beispiel.com haben, Ihr Blog aber unter www.beispiel.com/blog zu erreichen ist, tragen Sie Ihre Homepage als http://www.beispiel.com hier ein."
582
 
583
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:875
584
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1083
585
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1097
586
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1106
587
  msgid "Note"
588
  msgstr "Hinweis"
589
 
590
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:876
591
  msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the &quot;Location of your sitemap file&quot; section on this page)!"
592
  msgstr "Falls Dein Blog in einem Unterverzeichnis liegt und Du Seiten hinzufügen möchtest die nicht in deinem Blogverzeichnis oder einem tieferen Verzeichnis liegen, musst Du seine Seite ins Stammverzeichnis legen. (Schau Dir den Punkt &quot;Pfad zur Sitemap Datei&quot; weiter unten an)!"
593
 
594
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:878
595
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:917
596
  msgid "URL to the page"
597
  msgstr "URL zur Seite"
598
 
599
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:879
600
  msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home "
601
  msgstr "Geben Sie hier die URL Ihrer Seite an. Beispiele: www.foo.com oder http://www.nic.de/index.html"
602
 
603
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:881
604
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:918
605
  msgid "Priority"
606
  msgstr "Priorität"
607
 
608
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:882
609
  msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint."
610
  msgstr "Wählen Sie hier die Priorität der Seite relativ zu den anderen Seiten. Ihre Homepage könnte z.B. eine höhere Priorität besitzen als das Impressum. "
611
 
612
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:884
613
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:920
614
  msgid "Last Changed"
615
  msgstr "Letzte Änderung"
616
 
617
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:885
618
  msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)."
619
  msgstr "Tragen Sie hier das Datum der letzten Änderung im Format JJJJ-MM-TT (z.B. 2005-12-31). Dieses Feld ist optional und muss nicht ausgefüllt werden."
620
 
621
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:919
622
  msgid "Change Frequency"
623
  msgstr "Änderungshäufigkeit"
624
 
625
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:921
626
  msgid "#"
627
  msgstr "#"
628
 
629
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:926
630
  msgid "No pages defined."
631
  msgstr "Bisher keine Seiten eingetragen."
632
 
633
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:931
634
  msgid "Add new page"
635
  msgstr "Neue Seite hinzufügen"
636
 
637
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:936
638
  msgid "Post Priority"
639
  msgstr "Priorität der Beiträge"
640
 
641
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:938
642
  msgid "Please select how the priority of each post should be calculated:"
643
  msgstr "Bitte wähle wie die Priorität der einzelnen Beiträge berechnet werden soll."
644
 
645
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:940
646
  msgid "Do not use automatic priority calculation"
647
  msgstr "Keine automatische Prioritätsberechung verwenden"
648
 
649
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:940
650
  msgid "All posts will have the same priority which is defined in &quot;Priorities&quot;"
651
  msgstr "Alle Beiträge haben die selbe Priorität wlche unter &quot;Prioriäten&quot; eingestellt ist."
652
 
653
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:951
654
- msgid "Location of your sitemap file"
655
- msgstr "Pfad der Sitemap Datei"
656
-
657
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:954
658
- msgid "Automatic detection"
659
- msgstr "Automatische Erkennung"
660
-
661
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:958
662
- msgid "Filename of the sitemap file"
663
- msgstr "Dateiname der Sitemap"
664
-
665
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:961
666
- msgid "Detected Path"
667
- msgstr "Erkenater Pfad"
668
-
669
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:961
670
- msgid "Detected URL"
671
- msgstr "Erkannte URL"
672
-
673
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:966
674
- msgid "Custom location"
675
- msgstr "Eigener Pfad"
676
-
677
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:970
678
- msgid "Absolute or relative path to the sitemap file, including name."
679
- msgstr "Absoluter oder relativer Pfad zur Sitemap Datei inkl. Dateinamen."
680
-
681
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:972
682
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:981
683
- msgid "Example"
684
- msgstr "Beispiel"
685
-
686
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:979
687
- msgid "Complete URL to the sitemap file, including name."
688
- msgstr "Absolute URL zur Sitemap Datei inkl. Dateinamen."
689
-
690
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:992
691
  msgid "Sitemap Content"
692
  msgstr "Inhalt der Sitemap"
693
 
694
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:998
 
 
 
 
695
  msgid "Include homepage"
696
  msgstr "Startseite"
697
 
698
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1004
699
  msgid "Include posts"
700
  msgstr "Beiträge"
701
 
702
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:1013
703
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010
704
- msgid "Include following pages of multi-page posts (Increases build time and memory usage!)"
705
- msgstr "Folgeseiten von Beiträgen (Erhöht Erstelldauer und Speicherverbrauch)"
706
-
707
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1016
708
  msgid "Include static pages"
709
  msgstr "Statische Seiten"
710
 
711
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1022
712
  msgid "Include categories"
713
  msgstr "Kategorien"
714
 
715
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1028
716
  msgid "Include archives"
717
  msgstr "Archive"
718
 
719
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1035
 
 
 
 
720
  msgid "Include tag pages"
721
  msgstr "Tag Seiten "
722
 
723
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1051
 
 
 
 
 
724
  #, fuzzy, php-format
725
  msgid "Include taxonomy pages for %s"
726
  msgstr "Tag Seiten "
727
 
728
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1061
729
- msgid "Include author pages"
730
- msgstr "Autoren Seiten"
 
 
 
 
 
731
 
732
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1065
733
  msgid "Further options"
734
  msgstr "Weitere Optionen"
735
 
736
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1070
737
  msgid "Include the last modification time."
738
  msgstr "Letztes Änderungsdatum mit einbeziehen"
739
 
740
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1072
741
  msgid "This is highly recommended and helps the search engines to know when your content has changed. This option affects <i>all</i> sitemap entries."
742
  msgstr "Dies ist äußerst empfohel und hilft den Suchmaschienen zu wissen wann Ihr Inhalt geändert wurde. Diese Einstellungen betrifft <i>alle</i> Einträge der Sitemap."
743
 
744
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1079
745
  msgid "Excluded items"
746
  msgstr "Seiten ausschließen"
747
 
748
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1081
749
  msgid "Excluded categories"
750
  msgstr "Kategorien ausschließen"
751
 
752
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1083
753
  msgid "Using this feature will increase build time and memory usage!"
754
  msgstr "Die Verwendung dieser Funktion wird die Erstelldauer sowie den Speicherverbrauch erhöhen!"
755
 
756
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1090
757
- #, php-format
758
- msgid "This feature requires at least WordPress 2.5.1, you are using %s"
759
- msgstr "Dieses Feature benötigt mindestens WordPress 2.5.1, Sie verwenden %s"
760
-
761
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1093
762
  msgid "Exclude posts"
763
  msgstr "Beiträge ausschließen"
764
 
765
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206
766
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1095
767
  msgid "Exclude the following posts or pages:"
768
  msgstr "Folgende Beiträge oder Seiten ausschließen:"
769
 
770
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206
771
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1095
772
  msgid "List of IDs, separated by comma"
773
  msgstr "Liste der IDs, getrennt mit Komma"
774
 
775
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1097
776
  msgid "Child posts won't be excluded automatically!"
777
  msgstr "Unterseiten werden nicht automatisch ausgeschlossen!"
778
 
779
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1103
780
  msgid "Change frequencies"
781
  msgstr "Änderungsfrequenz"
782
 
783
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1107
784
  msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages."
785
  msgstr "Bitte beachten Sie dass diese Einstellung nur als Tipp und nicht als Kommando gesehen wird. Suchmaschinen könnten diesen Tipp beachten, müssen sich aber nicht daran halten. Sie können Seiten die als stündlich markiert wurden weniger häufig besuchen und Seiten die als niemals markiert wurden trotzdem überprüfen."
786
 
787
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1113
788
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1170
789
  msgid "Homepage"
790
  msgstr "Startseite"
791
 
792
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1119
793
  msgid "Posts"
794
  msgstr "Beiträge"
795
 
796
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1125
797
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1188
798
  msgid "Static pages"
799
  msgstr "Statische Seiten"
800
 
801
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1131
802
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1194
803
  msgid "Categories"
804
  msgstr "Kategorien"
805
 
806
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1137
807
  msgid "The current archive of this month (Should be the same like your homepage)"
808
  msgstr "Das Archive des aktuellen Monats (Sollte den gleichen Wert haben wie Ihre Startseite)"
809
 
810
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1143
811
  msgid "Older archives (Changes only if you edit an old post)"
812
  msgstr "Archive der vergangenen Monate"
813
 
814
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1150
815
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1207
816
  msgid "Tag pages"
817
  msgstr "Tag Seiten"
818
 
819
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1157
820
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1214
821
  msgid "Author pages"
822
  msgstr "Autoren Seiten"
823
 
824
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1165
825
  msgid "Priorities"
826
  msgstr "Prioritäten"
827
 
828
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1176
829
  msgid "Posts (If auto calculation is disabled)"
830
  msgstr "Beiträge (wenn automatische Berechnung deaktiviert wurde)"
831
 
832
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1182
833
  msgid "Minimum post priority (Even if auto calculation is enabled)"
834
  msgstr "Minimale Priorität für Beiträge (auch wenn automatische Berechnung aktiviert wurde)"
835
 
836
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1200
837
  msgid "Archives"
838
  msgstr "Archive"
839
 
840
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1225
841
  msgid "Update options"
842
  msgstr "Änderungen speichern"
843
 
844
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1226
845
  msgid "Reset options"
846
  msgstr "Einstellungen zurücksetzten"
847
 
848
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:95
849
- msgid "XML-Sitemap Generator"
850
- msgstr "XML-Sitemap Generator"
851
 
852
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:95
853
- msgid "XML-Sitemap"
854
- msgstr "XML-Sitemap"
 
855
 
856
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:109
857
- msgid "Settings"
858
- msgstr "Einstellungen"
859
 
860
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:110
861
- msgid "FAQ"
862
- msgstr "FAQ"
 
863
 
864
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:111
865
- msgid "Support"
866
- msgstr "Support"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
867
 
868
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:112
869
- msgid "Donate"
870
- msgstr "Spenden"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
871
 
872
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:182
873
- msgid "Sitemap FAQ"
874
- msgstr "Sitemaps FAQ"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
875
 
876
- #~ msgid "Status"
877
- #~ msgstr "Status"
878
- #~ msgid "<a href=\"%s\">Robots.txt</a> file saved"
879
- #~ msgstr "<a href=\"%s\">Robots.txt</a> Datei abgespeichert"
880
- #~ msgid "Error while saving Robots.txt file"
881
- #~ msgstr "Beim Speichern der robots.txt Datei ist ein Fehler aufgetreten"
882
  #~ msgid ""
883
- #~ "It took %time% seconds to notify MSN.com, maybe you want to disable this "
884
  #~ "feature to reduce the building time."
885
  #~ msgstr ""
886
- #~ "Es hat %time% Sekunden gedauert MSN.com zu benachrichtigen. Vielleicht "
887
  #~ "möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-"
888
  #~ "Generierung zu verkürzen?"
 
889
  #~ msgid ""
890
- #~ "There was a problem while notifying MSN.com. <a href=\"%s\">View result</"
891
  #~ "a>"
892
  #~ msgstr ""
893
- #~ "Leider gab es beim Versuch MSN.com zu benachrichtigen ein Problem. <a "
894
  #~ "href=\"%s\">Ergebnis anzeigen</a>"
 
895
  #~ msgid ""
896
- #~ "No registration required, but you can join the <a href=\"%s\">MSN Live "
897
- #~ "Webmaster Tools</a> to check crawling statistics."
898
  #~ msgstr ""
899
- #~ "Keine Registrierung erforderlich, aber Du kannst Dich bei den <a href=\"%s"
900
- #~ "\">MSN Live Webmaster Tools</a> anmelden um Indexierungs-Statistiken zu "
901
- #~ "Deiner Website zu sehen."
 
 
 
902
  #~ msgid ""
903
- #~ "Modify or create %s file in blog root which contains the sitemap location."
904
- #~ msgstr "Die URL deiner Sitemap in die Datei %s im Blogverzeichnis eintragen"
905
- #~ msgid "File permissions: "
906
- #~ msgstr "Datei Berechtigungen:"
907
- #~ msgid "OK, robots.txt is writable."
908
- #~ msgstr "OK, robots.txt ist beschreibbar."
909
- #~ msgid "Error, robots.txt is not writable."
910
- #~ msgstr "Fehler, robots.txt ist nicht beschreibbar."
911
- #~ msgid "OK, robots.txt doesn't exist but the directory is writable."
912
- #~ msgstr "OK, robots.txt Datei exisitert nicht, aber kann angelegt werden."
913
- #~ msgid "Error, robots.txt doesn't exist and the directory is not writable"
914
  #~ msgstr ""
915
- #~ "Fehler, robots.txt Datei exisitert nicht und kann auch nicht angelegt "
916
- #~ "werden."
 
917
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  msgstr ""
3
  "Project-Id-Version: sitemap\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-05-05 20:24+0100\n"
6
+ "PO-Revision-Date: 2012-05-05 20:32+0100\n"
7
+ "Last-Translator: Arne Brachhold <himself-arnebrachhold-de>\n"
8
  "Language-Team: Arne Brachhold <himself@arnebrachhold.de>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "X-Poedit-Language: German\n"
13
  "X-Poedit-Country: GERMANY\n"
14
 
15
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:527
16
  msgid "Comment Count"
17
  msgstr "Anzahl der Kommentare"
18
 
19
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:537
20
  msgid "Uses the number of comments of the post to calculate the priority"
21
  msgstr "Verwendet die Anzahl der Kommentare um die Priorität der Beiträge zu berechnen"
22
 
23
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:590
24
  msgid "Comment Average"
25
  msgstr "Durchschnittliche Anzahl der Kommentare"
26
 
27
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:600
28
  msgid "Uses the average comment count to calculate the priority"
29
  msgstr "Verwendet die durchschnittliche Anzahl der Kommentare um die Priorität der Beiträge zu berechnen."
30
 
31
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:661
32
  msgid "Popularity Contest"
33
  msgstr "Popularity Contest"
34
 
35
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:671
36
  msgid "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>"
37
  msgstr "Verwendet das aktivierte <a href=\"%1\">Popularity Contest Plugin</a> von <a href=\"%2\">Alex King</a>. Siehe <a href=\"%3\">Einstellungen</a> und <a href=\"%4\">wichtigste Beiträge</a>"
38
 
39
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118
40
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:840
41
  msgid "Always"
42
  msgstr "Immer"
43
 
44
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119
45
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:841
46
  msgid "Hourly"
47
  msgstr "Stündlich"
48
 
49
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120
50
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:842
51
  msgid "Daily"
52
  msgstr "Täglich"
53
 
54
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121
55
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:843
56
  msgid "Weekly"
57
  msgstr "Wöchentlich"
58
 
59
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122
60
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:844
61
  msgid "Monthly"
62
  msgstr "Monatlich"
63
 
64
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123
65
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:845
66
  msgid "Yearly"
67
  msgstr "Jährlich"
68
 
69
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124
70
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:846
71
  msgid "Never"
72
  msgstr "Nie"
73
 
74
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:212
75
+ msgid "XML-Sitemap Generator"
76
+ msgstr "XML-Sitemap Generator"
 
 
 
 
77
 
78
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:212
79
+ msgid "XML-Sitemap"
80
+ msgstr "XML-Sitemap"
 
81
 
82
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:239
83
+ msgid "Settings"
84
+ msgstr "Einstellungen"
85
 
86
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:240
87
+ msgid "FAQ"
88
+ msgstr "FAQ"
89
 
90
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:241
91
+ msgid "Support"
92
+ msgstr "Support"
 
93
 
94
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:242
95
+ msgid "Donate"
96
+ msgstr "Spenden"
97
 
98
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:328
99
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:630
100
+ msgid "Plugin Homepage"
101
+ msgstr "Plugin Startseite"
102
 
103
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:329
104
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:652
105
+ msgid "My Sitemaps FAQ"
106
+ msgstr "Meine Sitemaps FAQ"
 
107
 
108
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:198
109
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:585
110
  msgid "XML Sitemap Generator for WordPress"
111
  msgstr "XML Sitemap Generator für WordPress"
112
 
113
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:374
114
  msgid "Configuration updated"
115
  msgstr "Die Konfiguration wurde gespeichert."
116
 
117
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:375
118
  msgid "Error while saving options"
119
  msgstr "Beim Speichern der Seiten ist ein Fehler aufgetreten"
120
 
121
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:378
122
  msgid "Pages saved"
123
  msgstr "Ihre Seiten wurden gespeichert."
124
 
125
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:379
126
  msgid "Error while saving pages"
127
  msgstr "Beim Speichern der Seiten ist ein Fehler aufgetreten"
128
 
129
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:387
130
  msgid "The default configuration was restored."
131
  msgstr "Die Standard Konfiguration wurde wieder hergestellt."
132
 
133
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:397
134
+ msgid "The old files could NOT be deleted. Please use an FTP program and delete them by yourself."
135
+ msgstr "Die alten Sitemap-Dateien konnten NICHT gelöscht werden. Bitte verwenden Sie ein FTP-Programm um diese zu löschen."
136
+
137
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:399
138
+ msgid "The old files were successfully deleted."
139
+ msgstr "Die alten Dateien wurden erfolgreich gelöscht."
140
+
141
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:439
142
+ msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!"
143
+ msgstr "Vielen Dank für Deine Spende! Du hilfst mir damit diese kostenlose Software zu unterstützen und weiterzuentwickeln!"
144
+
145
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:439
146
+ msgid "Hide this notice"
147
+ msgstr "Diesen Hinweis verstecken"
148
+
149
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:445
150
+ #, php-format
151
+ msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and you are satisfied with the results, isn't it worth at least a few dollar? <a href=\"%s\">Donations</a> help me to continue support and development of this <i>free</i> software! <a href=\"%s\">Sure, no problem!</a>"
152
+ msgstr "Danke dass Du dieses Plugin benutzt! Du hast dieses Plugin vor mehr als einem Monat installiert. Wenn es funktioniert und zu mit dem Ergebnis zufrieden bist, ist es nicht mindestens ein paar Euro Wert? <a href=\"%s\">Spenden</a> helfen mir diese <i>kostenlose</i> Software zu unterstützen und weiterzuentwickeln! <a href=\"%s\">Klar, kein Problem!</a> "
153
+
154
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:445
155
+ msgid "Sure, but I already did!"
156
+ msgstr "Klar, hab ich schon gemacht!"
157
+
158
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:445
159
+ msgid "No thanks, please don't bug me anymore!"
160
+ msgstr "Nein danke, bitte nicht mehr nerven! "
161
+
162
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:452
163
+ #, php-format
164
+ msgid "Thanks for using this plugin! You've installed this plugin some time ago. If it works and your are satisfied, why not <a href=\"%s\">rate it</a> and <a href=\"%s\">recommend it</a> to others? :-)"
165
+ msgstr "Danke dass Du dieses Plugin benutzt! Du hast dieses Plugin vor mehr als einem Monat installiert. Wenn es funktioniert und zu mit dem Ergebnis zufrieden bist, würde ich mich freuen wenn Du es <a href=\"%s\">bewerten</a> und <a href=\"%s\">weiterempfehlen</a> würdest."
166
+
167
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:452
168
+ msgid "Don't show this anymore"
169
+ msgstr "Diesen Hinweis nicht mehr zeigen"
170
+
171
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374
172
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:601
173
  #, php-format
174
  msgid "There is a new version of %1$s available. <a href=\"%2$s\">Download version %3$s here</a>."
175
  msgstr "Es gibt eine Version von %1$s. <a href=\"%2$s\">Version %3$s hier downloaden</a>."
176
 
177
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376
178
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:603
179
  #, php-format
180
  msgid "There is a new version of %1$s available. <a href=\"%2$s\">Download version %3$s here</a> <em>automatic upgrade unavailable for this plugin</em>."
181
  msgstr "Es gibt eine Version von %1$s. <a href=\"%2$s\">Version %3$s hier downloaden</a> <em>Automatisches Upgraden ist für dieses Plugin nicht möglich</em>."
182
 
183
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378
184
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:605
185
  #, php-format
186
  msgid "There is a new version of %1$s available. <a href=\"%2$s\">Download version %3$s here</a> or <a href=\"%4$s\">upgrade automatically</a>."
187
  msgstr "Es gibt eine Version von %1$s. <a href=\"%2$s\">Version %3$s hier downloaden</a> oder <a href=\"%4$s\">automatisch upgraden</a>."
188
 
189
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:613
190
  #, php-format
191
  msgid "Your blog is currently blocking search engines! Visit the <a href=\"%s\">privacy settings</a> to change this."
192
  msgstr "Dein Blog blockiert zur Zeit Suchmaschienen! Unter den <a href=\"%s\">Eistellungen zur Privatsphäre</a> lässt sich dies ändern."
193
 
194
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:629
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
195
  msgid "About this Plugin:"
196
  msgstr "Über dieses Plugin:"
197
 
 
 
 
 
 
198
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421
199
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:631
200
  msgid "Suggest a Feature"
201
  msgstr "Funktion vorschlagen"
202
 
203
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:632
204
  msgid "Notify List"
205
  msgstr "E-Mail bei Update"
206
 
207
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:633
208
  msgid "Support Forum"
209
  msgstr "Hilfe Forum"
210
 
211
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424
212
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:634
213
  msgid "Report a Bug"
214
  msgstr "Fehler berichten"
215
 
216
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:636
217
  msgid "Donate with PayPal"
218
  msgstr "Mit PayPal spenden"
219
 
220
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:637
221
  msgid "My Amazon Wish List"
222
  msgstr "Amazon Wunschliste"
223
 
224
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:638
225
  msgid "translator_name"
226
  msgstr ""
227
 
228
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:638
229
  msgid "translator_url"
230
  msgstr ""
231
 
232
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:641
233
  msgid "Sitemap Resources:"
234
  msgstr "Sitemap Informationen"
235
 
236
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:642
237
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:647
238
  msgid "Webmaster Tools"
239
  msgstr "Webmaster Tools"
240
 
241
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:643
242
  msgid "Webmaster Blog"
243
  msgstr "Webmaster Blog"
244
 
245
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:645
 
 
 
 
246
  msgid "Search Blog"
247
  msgstr "Search Blog"
248
 
249
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:648
250
  msgid "Webmaster Center Blog"
251
  msgstr "Webmaster Center Blog"
252
 
253
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:650
254
  msgid "Sitemaps Protocol"
255
  msgstr "Sitemaps Protokoll"
256
 
257
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:651
258
  msgid "Official Sitemaps FAQ"
259
  msgstr "Offizielle Sitemaps FAQ"
260
 
261
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:655
 
 
 
 
262
  msgid "Recent Donations:"
263
  msgstr "Aktuelle Spenden:"
264
 
265
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:658
266
  msgid "List of the donors"
267
  msgstr "Liste der Spender"
268
 
269
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:660
270
  msgid "Hide this list"
271
  msgstr "Liste ausblenden"
272
 
273
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:663
274
  msgid "Thanks for your support!"
275
  msgstr "Danke für Deine Unterstützung!"
276
 
277
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:683
278
+ msgid "Search engines haven't been notified yet"
279
+ msgstr "Die Suchmaschinen wurden bisher noch nicht benachrichtigt."
280
 
281
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:687
282
+ #, fuzzy
283
+ msgid "Result of the last ping, started on %date%."
284
  msgstr "Ergebnisse der letzten Sitemap Generierung, gestartet am %date%."
285
 
286
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:702
287
  #, php-format
288
+ msgid "There is still a sitemap.xml or sitemap.xml.gz file in your blog directory. Please delete them as no static files are used anymore or <a href=\"%s\">try to delete them automatically</a>."
289
+ msgstr "Im Blog-Verzeichnis gibt es immer noch eine sitemap.xml oder sitemap.xml.gz Datei. Bitte löschen Sie diese, da sie nicht mehr benötigt werden oder <a href=\"%s\">versuchen Sie diese automatisch zu löschen</a>."
290
 
291
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:705
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
292
  #, php-format
293
+ msgid "The URL to your sitemap index file is: <a href=\"%s\">%s</a>."
294
+ msgstr "Die URL zu Ihrer Sitemap Index-Datei lautet: <a href=\"%s\">%s</a>."
295
 
296
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:708
297
+ msgid "Search engines haven't been notified yet. Write a post to let them know about your sitemap."
298
+ msgstr "Die Suchmaschinen wurden bisher noch nicht benachrichtigt. Schreiben Sie einen Beitrag um diese über Ihre Sitemap zu informieren."
299
 
300
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:717
301
+ #, fuzzy, php-format
302
+ msgid "%s was <b>successfully notified</b> about changes."
 
 
 
 
 
 
 
 
303
  msgstr "Bing wurde <b>erfolgreich</b> über die Änderungen <b>benachrichtigt</b>."
304
 
305
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:720
306
+ #, fuzzy
307
+ msgid "It took %time% seconds to notify %name%, maybe you want to disable this feature to reduce the building time."
308
  msgstr "Es hat %time% Sekunden gedauert Bing zu benachrichtigen. Vielleicht möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-Generierung zu verkürzen?"
309
 
310
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:723
311
+ #, fuzzy
312
+ msgid "There was a problem while notifying %name%. <a href=\"%s\">View result</a>"
313
  msgstr "Leider gab es beim Versuch Bing zu benachrichtigen ein Problem. <a href=\"%s\">Ergebnis anzeigen</a>"
314
 
315
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:727
316
+ #, fuzzy, php-format
317
+ msgid "If you encounter any problems with your sitemap you can use the <a href=\"%d\">debug function</a> to get more information."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
318
  msgstr "Falls es beim Generieren der Sitemap Probleme gibt, kannst Du die <a href=\"%d\">Debug Funktion</a> verwenden um mehr über die auftretenden Fehler zu erfahren."
319
 
320
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:735
321
  msgid "Basic Options"
322
  msgstr "Allgemeine Einstellungen"
323
 
324
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:737
325
+ msgid "Update notification:"
326
+ msgstr "Benachrichtigung über Änderungen"
327
 
328
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:737
329
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:765
 
 
330
  msgid "Learn more"
331
  msgstr "Mehr Infos"
332
 
333
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:741
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
334
  msgid "Notify Google about updates of your Blog"
335
  msgstr "Google über Änderungen benachrichtigen"
336
 
337
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:742
338
  #, php-format
339
  msgid "No registration required, but you can join the <a href=\"%s\">Google Webmaster Tools</a> to check crawling statistics."
340
  msgstr "Keine Registrierung erforderlich, aber Du kannst Dich bei den <a href=\"%s\">Google Webmaster Tools</a> anmelden um Indexierungs-Statistiken zu Deiner Website zu sehen."
341
 
342
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:746
343
  msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog"
344
  msgstr "Bing (vormals MSN Live Search) über Änderungen benachrichtigen"
345
 
346
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:747
347
  #, php-format
348
  msgid "No registration required, but you can join the <a href=\"%s\">Bing Webmaster Tools</a> to check crawling statistics."
349
  msgstr "Keine Registrierung erforderlich, aber Du kannst Dich bei den <a href=\"%s\">Bing Webmaster Tools</a> anmelden um Indexierungs-Statistiken zu Deiner Website zu sehen."
350
 
351
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:751
352
  msgid "Notify Ask.com about updates of your Blog"
353
  msgstr "Ask.com über Änderungen benachrichtigen"
354
 
355
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:752
356
  msgid "No registration required."
357
  msgstr "Keine Registrierung erforderlich"
358
 
359
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:757
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
360
  msgid "Add sitemap URL to the virtual robots.txt file."
361
  msgstr "Die Sitemap zur virtuellen robots hinzufügen."
362
 
363
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:761
364
  msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!"
365
  msgstr "Es wird die von WordPress generierte virtuelle robots.txt verwendet. Es dark keine robots.txt Datei im Blog Verzeichnis liegen!"
366
 
367
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:765
368
  msgid "Advanced options:"
369
  msgstr "Erweiterte Einstellungen"
370
 
371
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:768
 
 
 
 
 
 
 
 
372
  msgid "Try to increase the memory limit to:"
373
  msgstr "Versuchen das Speicherlimit zu erhöhen auf: "
374
 
375
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:768
376
  msgid "e.g. \"4M\", \"16M\""
377
  msgstr "z.B. \"4M\", \"16M\""
378
 
379
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:771
380
  msgid "Try to increase the execution time limit to:"
381
  msgstr "Veruschen das Zeit Limit zu erhöhen auf: "
382
 
383
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:771
384
  msgid "in seconds, e.g. \"60\" or \"0\" for unlimited"
385
  msgstr "in Sekunden, z.B. \"60\" oder \"0\" for unendlich"
386
 
387
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:775
388
  msgid "Include a XSLT stylesheet:"
389
  msgstr "Ein XSLT Stylesheet einbinden:"
390
 
391
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:776
392
  msgid "Full or relative URL to your .xsl file"
393
  msgstr "Kompletter oder relativer Pfad zur .xsl Datei"
394
 
395
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:776
396
  #, fuzzy
397
  msgid "Use default"
398
  msgstr "Standard verwenden"
399
 
400
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:781
401
+ msgid "Include sitemap in HTML format"
402
+ msgstr "Einbindung der Sitemap im HTML Format"
 
 
 
 
 
403
 
404
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:790
 
 
 
 
 
 
 
 
 
405
  msgid "Additional pages"
406
  msgstr "Zusätzliche Seiten"
407
 
408
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:793
409
  msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.<br />For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com"
410
  msgstr "Hier können Sie zusätzliche Seiten in Form von URLs angeben, welche mit in Ihre Sitemap aufgenommen werden sollen aber nicht von WordPress erzeugt werden. Falls Sie z.B. Ihre Homepage auf www.beispiel.com haben, Ihr Blog aber unter www.beispiel.com/blog zu erreichen ist, tragen Sie Ihre Homepage als http://www.beispiel.com hier ein."
411
 
412
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:795
413
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:998
414
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1009
415
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1018
416
  msgid "Note"
417
  msgstr "Hinweis"
418
 
419
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:796
420
  msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the &quot;Location of your sitemap file&quot; section on this page)!"
421
  msgstr "Falls Dein Blog in einem Unterverzeichnis liegt und Du Seiten hinzufügen möchtest die nicht in deinem Blogverzeichnis oder einem tieferen Verzeichnis liegen, musst Du seine Seite ins Stammverzeichnis legen. (Schau Dir den Punkt &quot;Pfad zur Sitemap Datei&quot; weiter unten an)!"
422
 
423
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:798
424
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:836
425
  msgid "URL to the page"
426
  msgstr "URL zur Seite"
427
 
428
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:799
429
  msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home "
430
  msgstr "Geben Sie hier die URL Ihrer Seite an. Beispiele: www.foo.com oder http://www.nic.de/index.html"
431
 
432
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:801
433
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:837
434
  msgid "Priority"
435
  msgstr "Priorität"
436
 
437
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:802
438
  msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint."
439
  msgstr "Wählen Sie hier die Priorität der Seite relativ zu den anderen Seiten. Ihre Homepage könnte z.B. eine höhere Priorität besitzen als das Impressum. "
440
 
441
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:804
442
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:839
443
  msgid "Last Changed"
444
  msgstr "Letzte Änderung"
445
 
446
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:805
447
  msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)."
448
  msgstr "Tragen Sie hier das Datum der letzten Änderung im Format JJJJ-MM-TT (z.B. 2005-12-31). Dieses Feld ist optional und muss nicht ausgefüllt werden."
449
 
450
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:838
451
  msgid "Change Frequency"
452
  msgstr "Änderungshäufigkeit"
453
 
454
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:840
455
  msgid "#"
456
  msgstr "#"
457
 
458
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:845
459
  msgid "No pages defined."
460
  msgstr "Bisher keine Seiten eingetragen."
461
 
462
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:850
463
  msgid "Add new page"
464
  msgstr "Neue Seite hinzufügen"
465
 
466
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:856
467
  msgid "Post Priority"
468
  msgstr "Priorität der Beiträge"
469
 
470
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:858
471
  msgid "Please select how the priority of each post should be calculated:"
472
  msgstr "Bitte wähle wie die Priorität der einzelnen Beiträge berechnet werden soll."
473
 
474
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:860
475
  msgid "Do not use automatic priority calculation"
476
  msgstr "Keine automatische Prioritätsberechung verwenden"
477
 
478
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:860
479
  msgid "All posts will have the same priority which is defined in &quot;Priorities&quot;"
480
  msgstr "Alle Beiträge haben die selbe Priorität wlche unter &quot;Prioriäten&quot; eingestellt ist."
481
 
482
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:871
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
483
  msgid "Sitemap Content"
484
  msgstr "Inhalt der Sitemap"
485
 
486
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:872
487
+ msgid "WordPress standard content"
488
+ msgstr "Standard WordPress Inhalte"
489
+
490
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:877
491
  msgid "Include homepage"
492
  msgstr "Startseite"
493
 
494
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:883
495
  msgid "Include posts"
496
  msgstr "Beiträge"
497
 
498
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:889
 
 
 
 
 
499
  msgid "Include static pages"
500
  msgstr "Statische Seiten"
501
 
502
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:895
503
  msgid "Include categories"
504
  msgstr "Kategorien"
505
 
506
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:901
507
  msgid "Include archives"
508
  msgstr "Archive"
509
 
510
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:907
511
+ msgid "Include author pages"
512
+ msgstr "Autoren Seiten"
513
+
514
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:914
515
  msgid "Include tag pages"
516
  msgstr "Tag Seiten "
517
 
518
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:928
519
+ #, fuzzy
520
+ msgid "Custom taxonomies"
521
+ msgstr "Eigener Pfad"
522
+
523
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:939
524
  #, fuzzy, php-format
525
  msgid "Include taxonomy pages for %s"
526
  msgstr "Tag Seiten "
527
 
528
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:957
529
+ msgid "Custom post types"
530
+ msgstr "Eigene Post-Types"
531
+
532
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:968
533
+ #, fuzzy, php-format
534
+ msgid "Include custom post type %s"
535
+ msgstr "Beiträge"
536
 
537
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:980
538
  msgid "Further options"
539
  msgstr "Weitere Optionen"
540
 
541
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:985
542
  msgid "Include the last modification time."
543
  msgstr "Letztes Änderungsdatum mit einbeziehen"
544
 
545
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:987
546
  msgid "This is highly recommended and helps the search engines to know when your content has changed. This option affects <i>all</i> sitemap entries."
547
  msgstr "Dies ist äußerst empfohel und hilft den Suchmaschienen zu wissen wann Ihr Inhalt geändert wurde. Diese Einstellungen betrifft <i>alle</i> Einträge der Sitemap."
548
 
549
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:994
550
  msgid "Excluded items"
551
  msgstr "Seiten ausschließen"
552
 
553
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:996
554
  msgid "Excluded categories"
555
  msgstr "Kategorien ausschließen"
556
 
557
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:998
558
  msgid "Using this feature will increase build time and memory usage!"
559
  msgstr "Die Verwendung dieser Funktion wird die Erstelldauer sowie den Speicherverbrauch erhöhen!"
560
 
561
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1005
 
 
 
 
 
562
  msgid "Exclude posts"
563
  msgstr "Beiträge ausschließen"
564
 
565
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206
566
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1007
567
  msgid "Exclude the following posts or pages:"
568
  msgstr "Folgende Beiträge oder Seiten ausschließen:"
569
 
570
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206
571
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1007
572
  msgid "List of IDs, separated by comma"
573
  msgstr "Liste der IDs, getrennt mit Komma"
574
 
575
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1009
576
  msgid "Child posts won't be excluded automatically!"
577
  msgstr "Unterseiten werden nicht automatisch ausgeschlossen!"
578
 
579
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1015
580
  msgid "Change frequencies"
581
  msgstr "Änderungsfrequenz"
582
 
583
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1019
584
  msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages."
585
  msgstr "Bitte beachten Sie dass diese Einstellung nur als Tipp und nicht als Kommando gesehen wird. Suchmaschinen könnten diesen Tipp beachten, müssen sich aber nicht daran halten. Sie können Seiten die als stündlich markiert wurden weniger häufig besuchen und Seiten die als niemals markiert wurden trotzdem überprüfen."
586
 
587
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1025
588
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1082
589
  msgid "Homepage"
590
  msgstr "Startseite"
591
 
592
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1031
593
  msgid "Posts"
594
  msgstr "Beiträge"
595
 
596
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1037
597
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1100
598
  msgid "Static pages"
599
  msgstr "Statische Seiten"
600
 
601
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1043
602
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1106
603
  msgid "Categories"
604
  msgstr "Kategorien"
605
 
606
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1049
607
  msgid "The current archive of this month (Should be the same like your homepage)"
608
  msgstr "Das Archive des aktuellen Monats (Sollte den gleichen Wert haben wie Ihre Startseite)"
609
 
610
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1055
611
  msgid "Older archives (Changes only if you edit an old post)"
612
  msgstr "Archive der vergangenen Monate"
613
 
614
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1062
615
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1119
616
  msgid "Tag pages"
617
  msgstr "Tag Seiten"
618
 
619
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1069
620
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1126
621
  msgid "Author pages"
622
  msgstr "Autoren Seiten"
623
 
624
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1077
625
  msgid "Priorities"
626
  msgstr "Prioritäten"
627
 
628
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1088
629
  msgid "Posts (If auto calculation is disabled)"
630
  msgstr "Beiträge (wenn automatische Berechnung deaktiviert wurde)"
631
 
632
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1094
633
  msgid "Minimum post priority (Even if auto calculation is enabled)"
634
  msgstr "Minimale Priorität für Beiträge (auch wenn automatische Berechnung aktiviert wurde)"
635
 
636
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1112
637
  msgid "Archives"
638
  msgstr "Archive"
639
 
640
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1137
641
  msgid "Update options"
642
  msgstr "Änderungen speichern"
643
 
644
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1138
645
  msgid "Reset options"
646
  msgstr "Einstellungen zurücksetzten"
647
 
648
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap.php:82
649
+ msgid "Your WordPress version is too old for XML Sitemaps."
650
+ msgstr "Ihre WordPress-Version ist zu alt für XML-Sitemaps."
651
 
652
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap.php:82
653
+ #, php-format
654
+ msgid "Unfortunately this release of Google XML Sitemaps requires at least WordPress %4$s. You are using Wordpress %2$s, which is out-dated and insecure. Please upgrade or go to <a href=\"%1$s\">active plugins</a> and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the <a href=\"%3$s\">plugin website</a>."
655
+ msgstr "Leider benötigt die aktuelle Version des XML-Sitemaps Plugins mindestens WordPress %4$s. Sie verwenden Wordpress %2$s, was veraltet und eventuell unsicher ist. Bitte aktualisieren Sie WordPress oder gehen Sie zu den <a href=\"%1$s\">aktiven Plugins</a> und deaktivieren Sie das Google XML Sitemaps Plugin um diesen Hinweis zu verbergen. Sie können auch eine ältere Version dieses Plugins auf der <a href=\"%3$s\">plugin website</a> herunterladen."
656
 
657
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap.php:92
658
+ msgid "Your PHP version is too old for XML Sitemaps."
659
+ msgstr "Ihre PHP-Version ist zu alt für XML-Sitemaps."
660
 
661
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap.php:92
662
+ #, php-format
663
+ msgid "Unfortunately this release of Google XML Sitemaps requires at least PHP %4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask your web host to update your PHP installation or go to <a href=\"%1$s\">active plugins</a> and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the <a href=\"%3$s\">plugin website</a>."
664
+ msgstr "Leider benötigt die aktuelle Version des XML-Sitemaps Plugins mindestens PHP %4$s. Sie verwenden PHP %2$s, was veraltet und eventuell unsicher ist. Bitte aktualisieren Sie PHP oder gehen Sie zu den <a href=\"%1$s\">aktiven Plugins</a> und deaktivieren Sie das Google XML Sitemaps Plugin um diesen Hinweis zu verbergen. Sie können auch eine ältere Version dieses Plugins auf der <a href=\"%3$s\">plugin website</a> herunterladen."
665
 
666
+ # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67
667
+ #~ msgid ""
668
+ #~ "Your sitemap is being refreshed at the moment. Depending on your blog "
669
+ #~ "size this might take some time!"
670
+ #~ msgstr ""
671
+ #~ "Die Sietemap wird im Moment neu erzeugt. Abhängig von der Anzahl Ihrer "
672
+ #~ "Beiträge kann dies einige Sekunden dauern. "
673
+ # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69
674
+ #~ msgid ""
675
+ #~ "Your sitemap will be refreshed in %s seconds. Depending on your blog size "
676
+ #~ "this might take some time!"
677
+ #~ msgstr ""
678
+ #~ "Die Sietemap wird in %s Sekunden neu erzeugt. Abhängig von der Anzahl "
679
+ #~ "Ihrer Beiträge kann dies einige Sekunden dauern."
680
+ #~ msgid "open"
681
+ #~ msgstr "öffnen"
682
+ #~ msgid "close"
683
+ #~ msgstr "schließen"
684
+ #~ msgid "click-down and drag to move this box"
685
+ #~ msgstr "Klicken und ziehen um diese Box zu verschieben"
686
+ #~ msgid "click to %toggle% this box"
687
+ #~ msgstr "Klicken um diese box zu %toggle%"
688
+ #~ msgid "use the arrow keys to move this box"
689
+ #~ msgstr "Benutze die Pfeiltaste um diese box zu verschieben"
690
+ #~ msgid ", or press the enter key to %toggle% it"
691
+ #~ msgstr ", oder drück Enter um sie zu %toggle%"
692
+ #~ msgid "Site Explorer"
693
+ #~ msgstr "Site Explorer"
694
+ #~ msgid "The sitemap wasn't generated yet."
695
+ #~ msgstr "Die Sitemap wurde bisher noch nicht erzeugt."
696
+ #~ msgid ""
697
+ #~ "The sitemap wasn't built yet. <a href=\"%s\">Click here</a> to build it "
698
+ #~ "the first time."
699
+ #~ msgstr ""
700
+ #~ "Die Sitemap wurde noch nicht erstellt. <a href=\"%s\">Klick hier</a> um "
701
+ #~ "sie das erste mal zu erstellen."
702
+ #~ msgid "Your <a href=\"%url%\">sitemap</a> was last built on <b>%date%</b>."
703
+ #~ msgstr ""
704
+ #~ "Deine <a href=\"%url%\">Sitemap</a> wurde zuletzt am <b>%date%</b> "
705
+ #~ "erstellt."
706
+ #~ msgid ""
707
+ #~ "The last build succeeded, but the file was deleted later or can't be "
708
+ #~ "accessed anymore. Did you move your blog to another server or domain?"
709
+ #~ msgstr ""
710
+ #~ "Die letzte Sitemap wurde erzeugt, jedoch kann sie nicht mehr gelesen "
711
+ #~ "werden oder wurde gelöscht. Haben Sie das Blog auf einen anderen Server "
712
+ #~ "verschoben?"
713
+ #, fuzzy
714
+ #~ msgid ""
715
+ #~ "There was a problem writing your sitemap file. Make sure the file exists "
716
+ #~ "and is writable. <a href=\"%url%\">Learn more</a>"
717
+ #~ msgstr ""
718
+ #~ "Leider gab es ein Problem beim Schreiben der Sitemap. Bitte vergewisser "
719
+ #~ "dich dass die Datei exisitert und beschreibbar ist. <a href=\"%url%"
720
+ #~ "\">Mehr infos</a"
721
 
722
+ #~ msgid ""
723
+ #~ "Your sitemap (<a href=\"%url%\">zipped</a>) was last built on <b>%date%</"
724
+ #~ "b>."
725
+ #~ msgstr ""
726
+ #~ "Deine Sitemap (<a href=\"%url%\">gezippt</a>) wurde zuletzt am <b>%date%</"
727
+ #~ "b> erstellt."
728
+
729
+ #~ msgid ""
730
+ #~ "The last zipped build succeeded, but the file was deleted later or can't "
731
+ #~ "be accessed anymore. Did you move your blog to another server or domain?"
732
+ #~ msgstr ""
733
+ #~ "Die letzte gezippte Sitemap wurde erzeugt, jedoch kann sie nicht mehr "
734
+ #~ "gelesen werden oder wurde gelöscht. Haben Sie das Blog auf einen anderen "
735
+ #~ "Server verschoben?"
736
+
737
+ #, fuzzy
738
+ #~ msgid ""
739
+ #~ "There was a problem writing your zipped sitemap file. Make sure the file "
740
+ #~ "exists and is writable. <a href=\"%url%\">Learn more</a>"
741
+ #~ msgstr ""
742
+ #~ "Leider gab es ein Problem beim Schreiben der gezippten Sitemap. Bitte "
743
+ #~ "vergewisser dich dass die Datei exisitert und beschreibbar ist. <a href="
744
+ #~ "\"%url%\">Mehr infos</a"
745
+
746
+ #~ msgid "Google was <b>successfully notified</b> about changes."
747
+ #~ msgstr ""
748
+ #~ "Google wurde <b>erfolgreich</b> über die Änderungen <b>benachrichtigt</"
749
+ #~ "b>."
750
+
751
+ #~ msgid ""
752
+ #~ "It took %time% seconds to notify Google, maybe you want to disable this "
753
+ #~ "feature to reduce the building time."
754
+ #~ msgstr ""
755
+ #~ "Es hat %time% Sekunden gedauert Google zu benachrichtigen. Vielleicht "
756
+ #~ "möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-"
757
+ #~ "Generierung zu verkürzen?"
758
+
759
+ #~ msgid ""
760
+ #~ "There was a problem while notifying Google. <a href=\"%s\">View result</a>"
761
+ #~ msgstr ""
762
+ #~ "Leider gab es beim Versuch Google zu benachrichtigen ein Problem. <a href="
763
+ #~ "\"%s\">Ergebnis anzeigen</a>"
764
+
765
+ #~ msgid "YAHOO was <b>successfully notified</b> about changes."
766
+ #~ msgstr ""
767
+ #~ "YAHOO wurde <b>erfolgreich</b> über die Änderungen <b>benachrichtigt</b>."
768
 
769
+ #~ msgid ""
770
+ #~ "It took %time% seconds to notify YAHOO, maybe you want to disable this "
771
+ #~ "feature to reduce the building time."
772
+ #~ msgstr ""
773
+ #~ "Es hat %time% Sekunden gedauert YAHOO zu benachrichtigen. Vielleicht "
774
+ #~ "möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-"
775
+ #~ "Generierung zu verkürzen?"
776
+
777
+ #~ msgid ""
778
+ #~ "There was a problem while notifying YAHOO. <a href=\"%s\">View result</a>"
779
+ #~ msgstr ""
780
+ #~ "Leider gab es beim Versuch YAHOO zu benachrichtigen ein Problem. <a href="
781
+ #~ "\"%s\">Ergebnis anzeigen</a>"
782
+
783
+ #~ msgid "Ask.com was <b>successfully notified</b> about changes."
784
+ #~ msgstr ""
785
+ #~ "Ask.com wurde <b>erfolgreich</b> über die Änderungen <b>benachrichtigt</"
786
+ #~ "b>."
787
 
 
 
 
 
 
 
788
  #~ msgid ""
789
+ #~ "It took %time% seconds to notify Ask.com, maybe you want to disable this "
790
  #~ "feature to reduce the building time."
791
  #~ msgstr ""
792
+ #~ "Es hat %time% Sekunden gedauert Ask.com zu benachrichtigen. Vielleicht "
793
  #~ "möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-"
794
  #~ "Generierung zu verkürzen?"
795
+
796
  #~ msgid ""
797
+ #~ "There was a problem while notifying Ask.com. <a href=\"%s\">View result</"
798
  #~ "a>"
799
  #~ msgstr ""
800
+ #~ "Leider gab es beim Versuch Ask.com zu benachrichtigen ein Problem. <a "
801
  #~ "href=\"%s\">Ergebnis anzeigen</a>"
802
+
803
  #~ msgid ""
804
+ #~ "The building process took about <b>%time% seconds</b> to complete and "
805
+ #~ "used %memory% MB of memory."
806
  #~ msgstr ""
807
+ #~ "Die Sitemap-Generierung dauerte <b>%time% sekunden</b> und verwendete %"
808
+ #~ "memory% MB Speicher."
809
+
810
+ #~ msgid "The building process took about <b>%time% seconds</b> to complete."
811
+ #~ msgstr "Die Sitemap-Generierung dauerte <b>%time% sekunden</b>."
812
+
813
  #~ msgid ""
814
+ #~ "The content of your sitemap <strong>didn't change</strong> since the last "
815
+ #~ "time so the files were not written and no search engine was pinged."
 
 
 
 
 
 
 
 
 
816
  #~ msgstr ""
817
+ #~ "Die Inhalte der Sitemap haben sich <strong>nicht geändert</strong> seit "
818
+ #~ "dem letzten mal, daher wurden keine Dateien geschrieben oder "
819
+ #~ "Suchmaschinen informiert."
820
 
821
+ # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586
822
+ #~ msgid ""
823
+ #~ "The building process might still be active! Reload the page in a few "
824
+ #~ "seconds and check if something has changed."
825
+ #~ msgstr ""
826
+ #~ "Das Erstellen der Sitemap dauert eventuell noch. Laden Sie diese Seite in "
827
+ #~ "ein paar Sekunden neu und prüfen Sie ob sich der Status geändert hat."
828
+ #~ msgid ""
829
+ #~ "The last run didn't finish! Maybe you can raise the memory or time limit "
830
+ #~ "for PHP scripts. <a href=\"%url%\">Learn more</a>"
831
+ #~ msgstr ""
832
+ #~ "Die letzte Generierung der Sitemap wurde nicht abgeschlossen. Eventuell "
833
+ #~ "hilft es das Speicherlimit für PHP Skripte zu erhöhen. <a href=\"%url%"
834
+ #~ "\">Mehr Infos</a>"
835
+ #~ msgid ""
836
+ #~ "The last known memory usage of the script was %memused%MB, the limit of "
837
+ #~ "your server is %memlimit%."
838
+ #~ msgstr ""
839
+ #~ "Der zuletzt bekannte Speicherverauch lag bei %memused%MB, das Limit für "
840
+ #~ "PHP Skripte ist %memlimit%."
841
+ #~ msgid ""
842
+ #~ "The last known execution time of the script was %timeused% seconds, the "
843
+ #~ "limit of your server is %timelimit% seconds."
844
+ #~ msgstr ""
845
+ #~ "Die zuletzt bekannte Ausührungszeit lag bei %timeused% Sekunden, das "
846
+ #~ "Limit für PHP Skripe ist %timelimit% Sekunden."
847
+ #~ msgid "The script stopped around post number %lastpost% (+/- 100)"
848
+ #~ msgstr "Das Script hat bei dem %lastpost% Beitrag abgebrochen. (+/- 100)"
849
+ #~ msgid ""
850
+ #~ "If you changed something on your server or blog, you should <a href=\"%s"
851
+ #~ "\">rebuild the sitemap</a> manually."
852
+ #~ msgstr ""
853
+ #~ "Falls Du etwas am Server oder am Blog geändert hast, solltest Du die "
854
+ #~ "Sitemap von Hand <a href=\"%s\">neu erstellen</a>."
855
+ #~ msgid "Sitemap files:"
856
+ #~ msgstr "Sitemap Dateien:"
857
+ #~ msgid "Write a normal XML file (your filename)"
858
+ #~ msgstr "Sitemap als XML Datei erzeugen"
859
+ #~ msgid "Write a gzipped file (your filename + .gz)"
860
+ #~ msgstr "Gezippte Sitemap erzeugen (Dateiname + .gz)"
861
+ #~ msgid "Building mode:"
862
+ #~ msgstr "Erstellungsmodus:"
863
+ #~ msgid "Rebuild sitemap if you change the content of your blog"
864
+ #~ msgstr "Sitemap neu generieren wenn Du den Inhalt Deines Blogs änderst"
865
+ #~ msgid "Enable manual sitemap building via GET Request"
866
+ #~ msgstr "Manuelles Generieren der Sitemap über GET Anfrage erlauben"
867
+ #, fuzzy
868
+ #~ msgid ""
869
+ #~ "This will allow you to refresh your sitemap if an external tool wrote "
870
+ #~ "into the WordPress database without using the WordPress API. Use the "
871
+ #~ "following URL to start the process: <a href=\"%1\">%1</a> Please check "
872
+ #~ "the result box above to see if sitemap was successfully built."
873
+ #~ msgstr ""
874
+ #~ "Dies erlaubt Dir die Sitemao zu aktualisieren falls ein externes Programm "
875
+ #~ "in die WordPress Datenbank geschrieben hat ohne die API zu verwenden. "
876
+ #~ "Verwende folgende URL um die Generierung zu starten: <a href=\"%1\">%1</"
877
+ #~ "a> Bitte überpüf die Logdatei um zu sehen ob die Generirung erfolgreich "
878
+ #~ "war."
879
+
880
+ #~ msgid "Notify YAHOO about updates of your Blog"
881
+ #~ msgstr "YAHOO über Änderungen benachrichtigen"
lang/sitemap-es_ES.po CHANGED
@@ -2,7 +2,7 @@
2
  # Copyright (C) 2005 [name] : [URL]
3
  # This file is distributed under the same license as the WordPress package.
4
  # [name] <[mail-address]>, 2005.
5
- # $Id: sitemap-es_ES.po 535845 2012-04-24 21:44:22Z arnee $
6
  #
7
  msgid ""
8
  msgstr ""
2
  # Copyright (C) 2005 [name] : [URL]
3
  # This file is distributed under the same license as the WordPress package.
4
  # [name] <[mail-address]>, 2005.
5
+ # $Id: sitemap-es_ES.po 183255 2009-12-15 22:14:37Z arnee $
6
  #
7
  msgid ""
8
  msgstr ""
lang/sitemap-sr_RS.mo ADDED
Binary file
lang/sitemap-sr_RS.po ADDED
@@ -0,0 +1,964 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Google XML Sitemaps v4.0beta9\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-05-05 20:24+0100\n"
6
+ "PO-Revision-Date: 2012-06-02 14:54:30+0000\n"
7
+ "Last-Translator: Arne Brachhold <himself-arnebrachhold-de>\n"
8
+ "Language-Team: \n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
13
+ "X-Poedit-Language: \n"
14
+ "X-Poedit-Country: \n"
15
+ "X-Poedit-SourceCharset: utf-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
17
+ "X-Poedit-Basepath: .\n"
18
+ "X-Poedit-Bookmarks: \n"
19
+ "X-Poedit-SearchPath-0: C:/Inetpub/wwwroot/wp_plugins/sitemap_beta\n"
20
+ "X-Textdomain-Support: yes"
21
+
22
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:846
23
+ #: sitemap-core.php:527
24
+ #@ sitemap
25
+ msgid "Comment Count"
26
+ msgstr "Broj Komentara"
27
+
28
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:858
29
+ #: sitemap-core.php:537
30
+ #@ sitemap
31
+ msgid "Uses the number of comments of the post to calculate the priority"
32
+ msgstr "Koristi broj komentara na postu za kalkulaciju prioriteta"
33
+
34
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:918
35
+ #: sitemap-core.php:590
36
+ #@ sitemap
37
+ msgid "Comment Average"
38
+ msgstr "Prosečan Broj Komentara"
39
+
40
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:930
41
+ #: sitemap-core.php:600
42
+ #@ sitemap
43
+ msgid "Uses the average comment count to calculate the priority"
44
+ msgstr "Koristi prosečan broj komentara za računanje prioriteta"
45
+
46
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:993
47
+ #: sitemap-core.php:661
48
+ #@ sitemap
49
+ msgid "Popularity Contest"
50
+ msgstr "Takmičenje Popularnosti"
51
+
52
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:1005
53
+ #: sitemap-core.php:671
54
+ #, php-format
55
+ #@ sitemap
56
+ msgid "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>"
57
+ msgstr "Koristi aktivirani <a href=\"%1\">Takmičenje Popularnosti plugin</a> od <a href=\"%2\">Alex King-a</a>. Proveri <a href=\"%3\">Podešavanja</a> i <a href=\"%4\">Najpopularnije Postove</a>"
58
+
59
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1118
60
+ #: sitemap-core.php:840
61
+ #@ sitemap
62
+ msgid "Always"
63
+ msgstr "Uvek"
64
+
65
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1119
66
+ #: sitemap-core.php:841
67
+ #@ sitemap
68
+ msgid "Hourly"
69
+ msgstr "Svakog sata"
70
+
71
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1120
72
+ #: sitemap-core.php:842
73
+ #@ sitemap
74
+ msgid "Daily"
75
+ msgstr "Dnevno"
76
+
77
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1121
78
+ #: sitemap-core.php:843
79
+ #@ sitemap
80
+ msgid "Weekly"
81
+ msgstr "Nedeljno"
82
+
83
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1122
84
+ #: sitemap-core.php:844
85
+ #@ sitemap
86
+ msgid "Monthly"
87
+ msgstr "Mesečno"
88
+
89
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1123
90
+ #: sitemap-core.php:845
91
+ #@ sitemap
92
+ msgid "Yearly"
93
+ msgstr "Godišnje"
94
+
95
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1124
96
+ #: sitemap-core.php:846
97
+ #@ sitemap
98
+ msgid "Never"
99
+ msgstr "Nikad"
100
+
101
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2415
102
+ #: sitemap-loader.php:212
103
+ #@ sitemap
104
+ msgid "XML-Sitemap Generator"
105
+ msgstr "XML-Sitemap Generator"
106
+
107
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2415
108
+ #: sitemap-loader.php:212
109
+ #@ sitemap
110
+ msgid "XML-Sitemap"
111
+ msgstr "XML-Sitemap"
112
+
113
+ #: sitemap-loader.php:239
114
+ #@ sitemap
115
+ msgid "Settings"
116
+ msgstr "Podešavanja"
117
+
118
+ #: sitemap-loader.php:240
119
+ #@ sitemap
120
+ msgid "FAQ"
121
+ msgstr "FAQ"
122
+
123
+ #: sitemap-loader.php:241
124
+ #@ sitemap
125
+ msgid "Support"
126
+ msgstr "Podrška"
127
+
128
+ #: sitemap-loader.php:242
129
+ #@ sitemap
130
+ msgid "Donate"
131
+ msgstr "Donacije"
132
+
133
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2886
134
+ #: sitemap-loader.php:328
135
+ #: sitemap-ui.php:630
136
+ #@ sitemap
137
+ msgid "Plugin Homepage"
138
+ msgstr "Homepage Plugin-a"
139
+
140
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2905
141
+ #: sitemap-loader.php:329
142
+ #: sitemap-ui.php:652
143
+ #@ sitemap
144
+ msgid "My Sitemaps FAQ"
145
+ msgstr "Česta pitanja o Sitemap-ima"
146
+
147
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2635
148
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2835
149
+ #: sitemap-ui.php:198
150
+ #: sitemap-ui.php:585
151
+ #@ sitemap
152
+ msgid "XML Sitemap Generator for WordPress"
153
+ msgstr "XML Sitemap Generator za WordPress"
154
+
155
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2740
156
+ #: sitemap-ui.php:374
157
+ #@ sitemap
158
+ msgid "Configuration updated"
159
+ msgstr "Konfiguracije ažurirane"
160
+
161
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2741
162
+ #: sitemap-ui.php:375
163
+ #@ sitemap
164
+ msgid "Error while saving options"
165
+ msgstr "Greška prilikom snimanja opcija"
166
+
167
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2743
168
+ #: sitemap-ui.php:378
169
+ #@ sitemap
170
+ msgid "Pages saved"
171
+ msgstr "Stranice snimljene"
172
+
173
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2744
174
+ #: sitemap-ui.php:379
175
+ #@ sitemap
176
+ msgid "Error while saving pages"
177
+ msgstr "Greška za vreme snimanja stranica"
178
+
179
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2758
180
+ #: sitemap-ui.php:387
181
+ #@ sitemap
182
+ msgid "The default configuration was restored."
183
+ msgstr "Osnovna podešavanja su vraćena"
184
+
185
+ #: sitemap-ui.php:397
186
+ #@ sitemap
187
+ msgid "The old files could NOT be deleted. Please use an FTP program and delete them by yourself."
188
+ msgstr "Nismo mogli izbrisati stare fajlove. Molimo vas da koristite FTP program i obrišete ih lično."
189
+
190
+ #: sitemap-ui.php:399
191
+ #@ sitemap
192
+ msgid "The old files were successfully deleted."
193
+ msgstr "Stari fajlovi su uspešno obrisani."
194
+
195
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2600
196
+ #: sitemap-ui.php:439
197
+ #@ sitemap
198
+ msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!"
199
+ msgstr "Hvala vam na donaciji. Pomažete mi da nastavim rad i razvoj ovog plugin-a i drugih besplatnih programa."
200
+
201
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2600
202
+ #: sitemap-ui.php:439
203
+ #@ sitemap
204
+ msgid "Hide this notice"
205
+ msgstr "Sakrijte ovo obaveštenje"
206
+
207
+ #: sitemap-ui.php:445
208
+ #, php-format
209
+ #@ sitemap
210
+ msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and you are satisfied with the results, isn't it worth at least a few dollar? <a href=\"%s\">Donations</a> help me to continue support and development of this <i>free</i> software! <a href=\"%s\">Sure, no problem!</a>"
211
+ msgstr "Hvala vam što koristite ovaj plugin. Instalirali ste plugin pre meseca dana. Ako plugin radi i zadovoljni ste rezultatima, nadam se da je vredno makar par dolara? <a href=\"%s\">Donacije</a> mi pomažu da nastavim rad na ovom <i>besplatnom</i> softveru! <a href=\"%s\">Naravno, nema problema!</a>"
212
+
213
+ #: sitemap-ui.php:445
214
+ #@ sitemap
215
+ msgid "Sure, but I already did!"
216
+ msgstr "Naravno, ali već sam donirao!"
217
+
218
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2657
219
+ #: sitemap-ui.php:445
220
+ #@ sitemap
221
+ msgid "No thanks, please don't bug me anymore!"
222
+ msgstr "Ne hvala, molim vas ne uznemiravajte me više!"
223
+
224
+ #: sitemap-ui.php:452
225
+ #, php-format
226
+ #@ sitemap
227
+ msgid "Thanks for using this plugin! You've installed this plugin some time ago. If it works and your are satisfied, why not <a href=\"%s\">rate it</a> and <a href=\"%s\">recommend it</a> to others? :-)"
228
+ msgstr "Hvala vam što koristite ovaj plugin! Instalirali ste ovaj plugin pre nekog vremena. Ako radi i zadovoljni ste, zašto ne biste <a href=\"%s\">dali ocenu</a> i <a href=\"%s\">preporučili ga</a> drugima? :-)"
229
+
230
+ #: sitemap-ui.php:452
231
+ #@ sitemap
232
+ msgid "Don't show this anymore"
233
+ msgstr "Ne pokazuj više"
234
+
235
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-ui.php:374
236
+ #: sitemap-ui.php:601
237
+ #, php-format
238
+ #@ default
239
+ msgid "There is a new version of %1$s available. <a href=\"%2$s\">Download version %3$s here</a>."
240
+ msgstr "Postoji nova verzija %1$s. <a href=\"%2$s\">Skinite verziju %3$s ovde</a>."
241
+
242
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-ui.php:376
243
+ #: sitemap-ui.php:603
244
+ #, php-format
245
+ #@ default
246
+ msgid "There is a new version of %1$s available. <a href=\"%2$s\">Download version %3$s here</a> <em>automatic upgrade unavailable for this plugin</em>."
247
+ msgstr "Postoji nova verzija %1$s. <a href=\"%2$s\">Skinite novu verziju %3$s ovde</a> <em>automatsko osvežavanje verzije nije dostupno za ovaj plugin</em>."
248
+
249
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-ui.php:378
250
+ #: sitemap-ui.php:605
251
+ #, php-format
252
+ #@ default
253
+ msgid "There is a new version of %1$s available. <a href=\"%2$s\">Download version %3$s here</a> or <a href=\"%4$s\">upgrade automatically</a>."
254
+ msgstr "Postoji nova verzija %1$s. <a href=\"%2$s\">Skinite verziju %3$s ovde</a> ili <a href=\"%4$s\">uradite update automatski</a>."
255
+
256
+ #: sitemap-ui.php:613
257
+ #, php-format
258
+ #@ sitemap
259
+ msgid "Your blog is currently blocking search engines! Visit the <a href=\"%s\">privacy settings</a> to change this."
260
+ msgstr "Vaš blog trenutno blokira pretraživače! Posetite <a href=\"%s\">podešavanja privatnosti</a> da bi ste promenili."
261
+
262
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2884
263
+ #: sitemap-ui.php:629
264
+ #@ sitemap
265
+ msgid "About this Plugin:"
266
+ msgstr "O ovom plugin-u:"
267
+
268
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-ui.php:421
269
+ #: sitemap-ui.php:631
270
+ #@ sitemap
271
+ msgid "Suggest a Feature"
272
+ msgstr "Predložite Funkciju"
273
+
274
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2887
275
+ #: sitemap-ui.php:632
276
+ #@ sitemap
277
+ msgid "Notify List"
278
+ msgstr "Lista Notifikacija"
279
+
280
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2888
281
+ #: sitemap-ui.php:633
282
+ #@ sitemap
283
+ msgid "Support Forum"
284
+ msgstr "Forum za Podršku"
285
+
286
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-ui.php:424
287
+ #: sitemap-ui.php:634
288
+ #@ sitemap
289
+ msgid "Report a Bug"
290
+ msgstr "Prijavite Grešku"
291
+
292
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2889
293
+ #: sitemap-ui.php:636
294
+ #@ sitemap
295
+ msgid "Donate with PayPal"
296
+ msgstr "Donirajte putem PayPal-a"
297
+
298
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2890
299
+ #: sitemap-ui.php:637
300
+ #@ sitemap
301
+ msgid "My Amazon Wish List"
302
+ msgstr "Moje želje na Amazon-u"
303
+
304
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2891
305
+ #: sitemap-ui.php:638
306
+ #@ sitemap
307
+ msgid "translator_name"
308
+ msgstr "ime_prevodioca"
309
+
310
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2891
311
+ #: sitemap-ui.php:638
312
+ #@ sitemap
313
+ msgid "translator_url"
314
+ msgstr "url_prevodioca"
315
+
316
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2895
317
+ #: sitemap-ui.php:641
318
+ #@ sitemap
319
+ msgid "Sitemap Resources:"
320
+ msgstr "Više o Sitemap-u"
321
+
322
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2897
323
+ #: sitemap-ui.php:642
324
+ #: sitemap-ui.php:647
325
+ #@ sitemap
326
+ msgid "Webmaster Tools"
327
+ msgstr "Alatke za Webmastere"
328
+
329
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2898
330
+ #: sitemap-ui.php:643
331
+ #@ sitemap
332
+ msgid "Webmaster Blog"
333
+ msgstr "Webmaster Blog"
334
+
335
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2901
336
+ #: sitemap-ui.php:645
337
+ #@ sitemap
338
+ msgid "Search Blog"
339
+ msgstr "Pretražite Blog"
340
+
341
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3010
342
+ #: sitemap-ui.php:648
343
+ #@ sitemap
344
+ msgid "Webmaster Center Blog"
345
+ msgstr "Webmaster Central Blog"
346
+
347
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2903
348
+ #: sitemap-ui.php:650
349
+ #@ sitemap
350
+ msgid "Sitemaps Protocol"
351
+ msgstr "Sitemap Protokol"
352
+
353
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2904
354
+ #: sitemap-ui.php:651
355
+ #@ sitemap
356
+ msgid "Official Sitemaps FAQ"
357
+ msgstr "Oficijalni Sitemap FAW"
358
+
359
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2910
360
+ #: sitemap-ui.php:655
361
+ #@ sitemap
362
+ msgid "Recent Donations:"
363
+ msgstr "Zadnje Donacije:"
364
+
365
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2914
366
+ #: sitemap-ui.php:658
367
+ #@ sitemap
368
+ msgid "List of the donors"
369
+ msgstr "Lista Donatora"
370
+
371
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2916
372
+ #: sitemap-ui.php:660
373
+ #@ sitemap
374
+ msgid "Hide this list"
375
+ msgstr "Sakrijte listu"
376
+
377
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2919
378
+ #: sitemap-ui.php:663
379
+ #@ sitemap
380
+ msgid "Thanks for your support!"
381
+ msgstr "Hvala vam na podršci!"
382
+
383
+ #: sitemap-ui.php:683
384
+ #@ sitemap
385
+ msgid "Search engines haven't been notified yet"
386
+ msgstr "Pretraživači još uvek nisu obavešteni"
387
+
388
+ #: sitemap-ui.php:687
389
+ #, php-format
390
+ #@ sitemap
391
+ msgid "Result of the last ping, started on %date%."
392
+ msgstr "Rezultati zadnjeg ping-a, započeto %date%."
393
+
394
+ #: sitemap-ui.php:702
395
+ #, php-format
396
+ #@ sitemap
397
+ msgid "There is still a sitemap.xml or sitemap.xml.gz file in your blog directory. Please delete them as no static files are used anymore or <a href=\"%s\">try to delete them automatically</a>."
398
+ msgstr "Još uvek postoji sitemap.xml ili sitemap.xml.gz fajl na vašem blog direktorijumu. Molimo vas da ih obrišete jer se više ne koristi ni jeda statični fajl ili <a href=\"%s\">pokušajte da ih obrišete automatski</a>."
399
+
400
+ #: sitemap-ui.php:705
401
+ #, php-format
402
+ #@ sitemap
403
+ msgid "The URL to your sitemap index file is: <a href=\"%s\">%s</a>."
404
+ msgstr "URL do vašeg sitemap index fajl-a je: <a href=\"%s\">%s</a>."
405
+
406
+ #: sitemap-ui.php:708
407
+ #@ sitemap
408
+ msgid "Search engines haven't been notified yet. Write a post to let them know about your sitemap."
409
+ msgstr "Pretraživači još uvek nisu obavešteni. Napišite post da bi ste ih obavestili o vašem sitemap-u."
410
+
411
+ #: sitemap-ui.php:717
412
+ #, php-format
413
+ #@ sitemap
414
+ msgid "%s was <b>successfully notified</b> about changes."
415
+ msgstr "%s je <b>uspešno obavešten</b> o promenama."
416
+
417
+ #: sitemap-ui.php:720
418
+ #, php-format
419
+ #@ sitemap
420
+ msgid "It took %time% seconds to notify %name%, maybe you want to disable this feature to reduce the building time."
421
+ msgstr "Trebalo je %time% sekundi da obavestimo %name%, možda želite da onesposobite ovu funkciju da bi ste smanjili vreme izgradnje."
422
+
423
+ #: sitemap-ui.php:723
424
+ #, php-format
425
+ #@ sitemap
426
+ msgid "There was a problem while notifying %name%. <a href=\"%s\">View result</a>"
427
+ msgstr "Imali smo problem sa obaveštavanjem %name%. <a href=\"%s\">Pogledajte rezultate</a>"
428
+
429
+ #: sitemap-ui.php:727
430
+ #, php-format
431
+ #@ sitemap
432
+ msgid "If you encounter any problems with your sitemap you can use the <a href=\"%d\">debug function</a> to get more information."
433
+ msgstr "Ako naiđete na neke probleme u vezi sa sitemap-om možete iskoristiti <a href=\"%d\">debug funkciju</a> da bi ste dobili više podataka."
434
+
435
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3040
436
+ #: sitemap-ui.php:735
437
+ #@ sitemap
438
+ msgid "Basic Options"
439
+ msgstr "Onsovne Opcije"
440
+
441
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3079
442
+ #: sitemap-ui.php:737
443
+ #@ sitemap
444
+ msgid "Update notification:"
445
+ msgstr "Ažurirajte notifikacije:"
446
+
447
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3044
448
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3059
449
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3079
450
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3104
451
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3121
452
+ #: sitemap-ui.php:737
453
+ #: sitemap-ui.php:765
454
+ #@ sitemap
455
+ msgid "Learn more"
456
+ msgstr "Saznajte više"
457
+
458
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3083
459
+ #: sitemap-ui.php:741
460
+ #@ sitemap
461
+ msgid "Notify Google about updates of your Blog"
462
+ msgstr "Obavestite Google o promenama na vašem Blogu"
463
+
464
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3084
465
+ #: sitemap-ui.php:742
466
+ #, php-format
467
+ #@ sitemap
468
+ msgid "No registration required, but you can join the <a href=\"%s\">Google Webmaster Tools</a> to check crawling statistics."
469
+ msgstr "Registracija nije potrebna, ali možete otovriti nalog na <a href=\"%s\">Google Webmaster Tools</a> da bi ste preverili statistiku."
470
+
471
+ #: sitemap-ui.php:746
472
+ #@ sitemap
473
+ msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog"
474
+ msgstr "Obavestite Bing (bivši MSN Live Search) o promenama na vašem Blogu"
475
+
476
+ #: sitemap-ui.php:747
477
+ #, php-format
478
+ #@ sitemap
479
+ msgid "No registration required, but you can join the <a href=\"%s\">Bing Webmaster Tools</a> to check crawling statistics."
480
+ msgstr "Registracija nije potrebna, ali možete napraviti nalog na <a href=\"%s\">Bing Webmaster Tools</a> da proverite statistiku."
481
+
482
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3088
483
+ #: sitemap-ui.php:751
484
+ #@ sitemap
485
+ msgid "Notify Ask.com about updates of your Blog"
486
+ msgstr "Obavestite Ask.com o promenama na vašem Blogu"
487
+
488
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3089
489
+ #: sitemap-ui.php:752
490
+ #@ sitemap
491
+ msgid "No registration required."
492
+ msgstr "Registracija nije potrebna."
493
+
494
+ #: sitemap-ui.php:757
495
+ #@ sitemap
496
+ msgid "Add sitemap URL to the virtual robots.txt file."
497
+ msgstr "Dodajte URL vašeg sitemap-a u robots.txt fajl."
498
+
499
+ #: sitemap-ui.php:761
500
+ #@ sitemap
501
+ msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!"
502
+ msgstr "Virtualni robots.txt fajl generisan od strane WordPress-a je iskorišćen. Pravi robots.txt fajl NE SME postojati u direktorijumu vašeg bloga!"
503
+
504
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3121
505
+ #: sitemap-ui.php:765
506
+ #@ sitemap
507
+ msgid "Advanced options:"
508
+ msgstr "Napredne opcija:"
509
+
510
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3127
511
+ #: sitemap-ui.php:768
512
+ #@ sitemap
513
+ msgid "Try to increase the memory limit to:"
514
+ msgstr "Pokušajte da povećate limit memorije na:"
515
+
516
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3127
517
+ #: sitemap-ui.php:768
518
+ #@ sitemap
519
+ msgid "e.g. \"4M\", \"16M\""
520
+ msgstr "npr. \"4M\", \"16M\""
521
+
522
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3130
523
+ #: sitemap-ui.php:771
524
+ #@ sitemap
525
+ msgid "Try to increase the execution time limit to:"
526
+ msgstr "Pokušajte da povećate vreme izvršenja na:"
527
+
528
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3130
529
+ #: sitemap-ui.php:771
530
+ #@ sitemap
531
+ msgid "in seconds, e.g. \"60\" or \"0\" for unlimited"
532
+ msgstr "u sekundama, npr. \"60\" or \"0\" za neograničeno"
533
+
534
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3133
535
+ #: sitemap-ui.php:775
536
+ #@ sitemap
537
+ msgid "Include a XSLT stylesheet:"
538
+ msgstr "Dodajte XSLT stylesheet:"
539
+
540
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3133
541
+ #: sitemap-ui.php:776
542
+ #@ sitemap
543
+ msgid "Full or relative URL to your .xsl file"
544
+ msgstr "Absolutni ili relativni URL do vasšeg .xsl fajla."
545
+
546
+ #: sitemap-ui.php:776
547
+ #@ sitemap
548
+ msgid "Use default"
549
+ msgstr "Koristite default-ni"
550
+
551
+ #: sitemap-ui.php:781
552
+ #@ sitemap
553
+ msgid "Include sitemap in HTML format"
554
+ msgstr "Dodajte sitemap u HTML formatu"
555
+
556
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3144
557
+ #: sitemap-ui.php:790
558
+ #@ sitemap
559
+ msgid "Additional pages"
560
+ msgstr "Dodatne stranice"
561
+
562
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3149
563
+ #: sitemap-ui.php:793
564
+ #@ sitemap
565
+ msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.<br />For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com"
566
+ msgstr "Ovde možete specificirati fajlove ili URL-ove koje bi trebalo dodati u sitemap, ali ne pripadaju vašem Blog-u/WordPress-u. <br />Na primer, ako je vaš domen www.foo.com a vaš blog se nalazi na www.foo.com-blog mozda želite da dodate vašu početnu stranu www.foo.com"
567
+
568
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3151
569
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3462
570
+ #: sitemap-ui.php:795
571
+ #: sitemap-ui.php:999
572
+ #: sitemap-ui.php:1010
573
+ #: sitemap-ui.php:1019
574
+ #@ sitemap
575
+ msgid "Note"
576
+ msgstr "Opazite"
577
+
578
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3152
579
+ #: sitemap-ui.php:796
580
+ #@ sitemap
581
+ msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the &quot;Location of your sitemap file&quot; section on this page)!"
582
+ msgstr "Ako se vaš blog nalazi u pod direktorijumu i ako želite da doddate stranice koje se ne nalaze u blog direktorijumu ili ispod, MORATE staviti sitemap fajl u korenu direktorijuma (Pogledajte &quot;Lokaciju vašeg sitemap-a &quot; sekciju na ovoj stranici)!"
583
+
584
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3154
585
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3300
586
+ #: sitemap-ui.php:798
587
+ #: sitemap-ui.php:837
588
+ #@ sitemap
589
+ msgid "URL to the page"
590
+ msgstr "URL do stranice"
591
+
592
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3155
593
+ #: sitemap-ui.php:799
594
+ #@ sitemap
595
+ msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home "
596
+ msgstr "Unesite URL do stranice. Primeri: http://www.foo.com/index.html ili www.foo.com/home "
597
+
598
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3157
599
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3301
600
+ #: sitemap-ui.php:801
601
+ #: sitemap-ui.php:838
602
+ #@ sitemap
603
+ msgid "Priority"
604
+ msgstr "Prioritet"
605
+
606
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3158
607
+ #: sitemap-ui.php:802
608
+ #@ sitemap
609
+ msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint."
610
+ msgstr "Izaberite prioritet stranice u odnosu na druge stranice. Na primer, vaša početna stranica može imati veći prioritet nego niće stranice."
611
+
612
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3160
613
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3303
614
+ #: sitemap-ui.php:804
615
+ #: sitemap-ui.php:840
616
+ #@ sitemap
617
+ msgid "Last Changed"
618
+ msgstr "Zadjne promene"
619
+
620
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3161
621
+ #: sitemap-ui.php:805
622
+ #@ sitemap
623
+ msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)."
624
+ msgstr "Unesti datum zadnje prmene u formatu YYYY-MM-DD (2005-12-31 na primer) (opciono)."
625
+
626
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3302
627
+ #: sitemap-ui.php:839
628
+ #@ sitemap
629
+ msgid "Change Frequency"
630
+ msgstr "Promente Učestalost"
631
+
632
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3304
633
+ #: sitemap-ui.php:841
634
+ #@ sitemap
635
+ msgid "#"
636
+ msgstr "#"
637
+
638
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3309
639
+ #: sitemap-ui.php:846
640
+ #@ sitemap
641
+ msgid "No pages defined."
642
+ msgstr "Stranice nisu definisane."
643
+
644
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3314
645
+ #: sitemap-ui.php:851
646
+ #@ sitemap
647
+ msgid "Add new page"
648
+ msgstr "Dodajte novu stranicu"
649
+
650
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3325
651
+ #: sitemap-ui.php:857
652
+ #@ sitemap
653
+ msgid "Post Priority"
654
+ msgstr "Prioritet postova"
655
+
656
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3329
657
+ #: sitemap-ui.php:859
658
+ #@ sitemap
659
+ msgid "Please select how the priority of each post should be calculated:"
660
+ msgstr "Molimo vas izaberite kako se računa prioritet postova:"
661
+
662
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3331
663
+ #: sitemap-ui.php:861
664
+ #@ sitemap
665
+ msgid "Do not use automatic priority calculation"
666
+ msgstr "Ne koristi automatsku kalkulaciju prioriteta"
667
+
668
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3331
669
+ #: sitemap-ui.php:861
670
+ #@ sitemap
671
+ msgid "All posts will have the same priority which is defined in &quot;Priorities&quot;"
672
+ msgstr "Svi postovi će imati isti prioritet koji je definisan u &quot;Priorities&quot;"
673
+
674
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3397
675
+ #: sitemap-ui.php:872
676
+ #@ sitemap
677
+ msgid "Sitemap Content"
678
+ msgstr "Sadržaj sitemap-a"
679
+
680
+ #: sitemap-ui.php:873
681
+ #@ sitemap
682
+ msgid "WordPress standard content"
683
+ msgstr "WordPress standardni sadržaj"
684
+
685
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3405
686
+ #: sitemap-ui.php:878
687
+ #@ sitemap
688
+ msgid "Include homepage"
689
+ msgstr "Dodajte početnu "
690
+
691
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3411
692
+ #: sitemap-ui.php:884
693
+ #@ sitemap
694
+ msgid "Include posts"
695
+ msgstr "Dodajte postove"
696
+
697
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3417
698
+ #: sitemap-ui.php:890
699
+ #@ sitemap
700
+ msgid "Include static pages"
701
+ msgstr "Dodajte statičke stranice"
702
+
703
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3423
704
+ #: sitemap-ui.php:896
705
+ #@ sitemap
706
+ msgid "Include categories"
707
+ msgstr "Dodajte kategorije"
708
+
709
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3429
710
+ #: sitemap-ui.php:902
711
+ #@ sitemap
712
+ msgid "Include archives"
713
+ msgstr "Dodajte arhive"
714
+
715
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3443
716
+ #: sitemap-ui.php:908
717
+ #@ sitemap
718
+ msgid "Include author pages"
719
+ msgstr "Dodajte stranice autora"
720
+
721
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3436
722
+ #: sitemap-ui.php:915
723
+ #@ sitemap
724
+ msgid "Include tag pages"
725
+ msgstr "Dodajte tag stranice"
726
+
727
+ #: sitemap-ui.php:929
728
+ #@ sitemap
729
+ msgid "Custom taxonomies"
730
+ msgstr "Uobičajene taxonomije"
731
+
732
+ #: sitemap-ui.php:940
733
+ #, php-format
734
+ #@ sitemap
735
+ msgid "Include taxonomy pages for %s"
736
+ msgstr "Dodajte stranice taxonomije za %s"
737
+
738
+ #: sitemap-ui.php:958
739
+ #@ sitemap
740
+ msgid "Custom post types"
741
+ msgstr "Uobičajeni tipovi postova"
742
+
743
+ #: sitemap-ui.php:969
744
+ #, php-format
745
+ #@ sitemap
746
+ msgid "Include custom post type %s"
747
+ msgstr "Dodajte uobičajene tipove postova %s"
748
+
749
+ #: sitemap-ui.php:981
750
+ #@ sitemap
751
+ msgid "Further options"
752
+ msgstr "Još opcija"
753
+
754
+ #: sitemap-ui.php:986
755
+ #@ sitemap
756
+ msgid "Include the last modification time."
757
+ msgstr "Dodajte vreme zadnje modifikacije"
758
+
759
+ #: sitemap-ui.php:988
760
+ #@ sitemap
761
+ msgid "This is highly recommended and helps the search engines to know when your content has changed. This option affects <i>all</i> sitemap entries."
762
+ msgstr "Ovo je preporučljivo jer govori pretraživačima kada se vaš sadržaj promeni. Ova opcija utiče <i>sve</i> unose u sitemap."
763
+
764
+ #: sitemap-ui.php:995
765
+ #@ sitemap
766
+ msgid "Excluded items"
767
+ msgstr "Uklonite"
768
+
769
+ #: sitemap-ui.php:997
770
+ #@ sitemap
771
+ msgid "Excluded categories"
772
+ msgstr "Uklonite kategorije"
773
+
774
+ #: sitemap-ui.php:999
775
+ #@ sitemap
776
+ msgid "Using this feature will increase build time and memory usage!"
777
+ msgstr "Korišćenje ove funkcije će povećati vreme pravljenja i korišćenje memorije."
778
+
779
+ #: sitemap-ui.php:1006
780
+ #@ sitemap
781
+ msgid "Exclude posts"
782
+ msgstr "Uklonite postove"
783
+
784
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3206
785
+ #: sitemap-ui.php:1008
786
+ #@ sitemap
787
+ msgid "Exclude the following posts or pages:"
788
+ msgstr "Uklonite sledeće postove ili stranice:"
789
+
790
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3206
791
+ #: sitemap-ui.php:1008
792
+ #@ sitemap
793
+ msgid "List of IDs, separated by comma"
794
+ msgstr "Lista ID-a, odvojene zarezom"
795
+
796
+ #: sitemap-ui.php:1010
797
+ #@ sitemap
798
+ msgid "Child posts won't be excluded automatically!"
799
+ msgstr "Pod postovi neće biti uključeni automatski!"
800
+
801
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3457
802
+ #: sitemap-ui.php:1016
803
+ #@ sitemap
804
+ msgid "Change frequencies"
805
+ msgstr "Promenite učestalost"
806
+
807
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3463
808
+ #: sitemap-ui.php:1020
809
+ #@ sitemap
810
+ msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages."
811
+ msgstr "Molimo vas da zapamtite da vrednost ovog tag-a je koristi kao predlog a ne kao komanda. Iako pretraživači razmatraju ovu infomaciju kada donose odluke, možda će proći kroz stranice obeležene \"hourly\" ređe nego naznačeno, a možda će stranice naznačene \"yearly\" posećivati češće. Isto tako je verovatno da će s'vremena na vreme prolaziti kroz stranice naznačene sa \"never\" da bi mogli da reaguju na neočekivane promene na tim stranicama."
812
+
813
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3469
814
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3535
815
+ #: sitemap-ui.php:1026
816
+ #: sitemap-ui.php:1083
817
+ #@ sitemap
818
+ msgid "Homepage"
819
+ msgstr "Početna"
820
+
821
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3475
822
+ #: sitemap-ui.php:1032
823
+ #@ sitemap
824
+ msgid "Posts"
825
+ msgstr "Postovi"
826
+
827
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3481
828
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3553
829
+ #: sitemap-ui.php:1038
830
+ #: sitemap-ui.php:1101
831
+ #@ sitemap
832
+ msgid "Static pages"
833
+ msgstr "Statične stranice"
834
+
835
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3487
836
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3559
837
+ #: sitemap-ui.php:1044
838
+ #: sitemap-ui.php:1107
839
+ #@ sitemap
840
+ msgid "Categories"
841
+ msgstr "Kategorije"
842
+
843
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3493
844
+ #: sitemap-ui.php:1050
845
+ #@ sitemap
846
+ msgid "The current archive of this month (Should be the same like your homepage)"
847
+ msgstr "Trenutna arhiva za ovaj mesec (Treba biti ista kao i vaša početna stranica)"
848
+
849
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3499
850
+ #: sitemap-ui.php:1056
851
+ #@ sitemap
852
+ msgid "Older archives (Changes only if you edit an old post)"
853
+ msgstr "Starije arhive (Menja se samo ako promenti stariji post)"
854
+
855
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3506
856
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3572
857
+ #: sitemap-ui.php:1063
858
+ #: sitemap-ui.php:1120
859
+ #@ sitemap
860
+ msgid "Tag pages"
861
+ msgstr "Tag stranice"
862
+
863
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3513
864
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3579
865
+ #: sitemap-ui.php:1070
866
+ #: sitemap-ui.php:1127
867
+ #@ sitemap
868
+ msgid "Author pages"
869
+ msgstr "Stranice autora"
870
+
871
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3527
872
+ #: sitemap-ui.php:1078
873
+ #@ sitemap
874
+ msgid "Priorities"
875
+ msgstr "Prioriteti"
876
+
877
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3541
878
+ #: sitemap-ui.php:1089
879
+ #@ sitemap
880
+ msgid "Posts (If auto calculation is disabled)"
881
+ msgstr "Postovi (ako je auto kalkulacija isključena)"
882
+
883
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3547
884
+ #: sitemap-ui.php:1095
885
+ #@ sitemap
886
+ msgid "Minimum post priority (Even if auto calculation is enabled)"
887
+ msgstr "Minimalni prioritet za postove (Čak iako je auto kalkulacija uključena)"
888
+
889
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3565
890
+ #: sitemap-ui.php:1113
891
+ #@ sitemap
892
+ msgid "Archives"
893
+ msgstr "Arhive"
894
+
895
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3590
896
+ #: sitemap-ui.php:1138
897
+ #@ sitemap
898
+ msgid "Update options"
899
+ msgstr "Opcije ažuriranja"
900
+
901
+ # C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3591
902
+ #: sitemap-ui.php:1139
903
+ #@ sitemap
904
+ msgid "Reset options"
905
+ msgstr "Opcije za resetovanje"
906
+
907
+ #: sitemap.php:82
908
+ #@ sitemap
909
+ msgid "Your WordPress version is too old for XML Sitemaps."
910
+ msgstr "Vaša verzija WordPress-a je previše stara za XML Sitemap."
911
+
912
+ #: sitemap.php:82
913
+ #, php-format
914
+ #@ sitemap
915
+ msgid "Unfortunately this release of Google XML Sitemaps requires at least WordPress %4$s. You are using Wordpress %2$s, which is out-dated and insecure. Please upgrade or go to <a href=\"%1$s\">active plugins</a> and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the <a href=\"%3$s\">plugin website</a>."
916
+ msgstr "Nažalost ova verzija Google XML Sitemap-a zahteva barem WordPress verziju %4$s. Vi koristite WordPress verziju %2$s, koja je zastarela i nesigurna. Molimo vas da update-ujete ili odete na <a href=\"%1$s\">aktivne plugin-ove</a> i deaktivirate Google XML Sitemap plugin da bi ste sakrili ovu poruku. Možete skinuti stariju verziju ovog plugin-a sa <a href=\"%3$s\">našeg sajta</a>."
917
+
918
+ #: sitemap.php:92
919
+ #@ sitemap
920
+ msgid "Your PHP version is too old for XML Sitemaps."
921
+ msgstr "PHP verzija koju koristite je previše stara za XML sitemap."
922
+
923
+ #: sitemap.php:92
924
+ #, php-format
925
+ #@ sitemap
926
+ msgid "Unfortunately this release of Google XML Sitemaps requires at least PHP %4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask your web host to update your PHP installation or go to <a href=\"%1$s\">active plugins</a> and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the <a href=\"%3$s\">plugin website</a>."
927
+ msgstr "nažalost ova verzija Google XML Sitemap-a zahteva najmanje verziju PHP %4$s. Vi koristite PHP %2$s, koji je zastareo i nesiguran. Zamolite vaš hosting da ažuriraju verziju PHP instalacije ili idite na <a href=\"%1$s\">aktivne plugin-ove</a> i deaktivirajte Google XML Sitemap plugin da bi ste sakrili ovu poruku. Možete skinuti straiju verziju ovog plugin-a sa <a href=\"%3$s\">našeg sajta</a>."
928
+
929
+ #. translators: plugin header field 'Name'
930
+ #: sitemap.php:0
931
+ #@ sitemap
932
+ msgid "Google XML Sitemaps"
933
+ msgstr ""
934
+
935
+ #. translators: plugin header field 'PluginURI'
936
+ #: sitemap.php:0
937
+ #@ sitemap
938
+ msgid "http://www.arnebrachhold.de/redir/sitemap-home/"
939
+ msgstr ""
940
+
941
+ #. translators: plugin header field 'Description'
942
+ #: sitemap.php:0
943
+ #@ sitemap
944
+ msgid "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."
945
+ msgstr ""
946
+
947
+ #. translators: plugin header field 'Author'
948
+ #: sitemap.php:0
949
+ #@ sitemap
950
+ msgid "Arne Brachhold"
951
+ msgstr ""
952
+
953
+ #. translators: plugin header field 'AuthorURI'
954
+ #: sitemap.php:0
955
+ #@ sitemap
956
+ msgid "http://www.arnebrachhold.de/"
957
+ msgstr ""
958
+
959
+ #. translators: plugin header field 'Version'
960
+ #: sitemap.php:0
961
+ #@ sitemap
962
+ msgid "4.0beta9"
963
+ msgstr ""
964
+
lang/sitemap.pot CHANGED
@@ -2,507 +2,371 @@
2
  # Copyright (C) 2005 [name] : [URL]
3
  # This file is distributed under the same license as the WordPress package.
4
  # [name] <[mail-address]>, 2005.
5
- # $Id: sitemap.pot 535845 2012-04-24 21:44:22Z arnee $
6
  #
7
  msgid ""
8
  msgstr ""
9
  "Project-Id-Version: sitemap\n"
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2009-11-20 22:53+0100\n"
12
- "PO-Revision-Date: 2009-11-20 22:53+0100\n"
13
- "Last-Translator: Arne Brachhold\n"
14
  "Language-Team: \n"
15
  "MIME-Version: 1.0\n"
16
  "Content-Type: text/plain; charset=UTF-8\n"
17
  "Content-Transfer-Encoding: 8bit\n"
18
  "X-Poedit-KeywordsList: _e;__\n"
19
  "X-Poedit-Basepath: .\n"
20
- "X-Poedit-SearchPath-0: H:\\Webdev\\htdocs\\wp_plugins\\sitemap_beta\n"
21
 
22
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846
23
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:525
24
  msgid "Comment Count"
25
  msgstr ""
26
 
27
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858
28
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:537
29
  msgid "Uses the number of comments of the post to calculate the priority"
30
  msgstr ""
31
 
32
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918
33
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:597
34
  msgid "Comment Average"
35
  msgstr ""
36
 
37
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930
38
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:609
39
  msgid "Uses the average comment count to calculate the priority"
40
  msgstr ""
41
 
42
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993
43
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:672
44
  msgid "Popularity Contest"
45
  msgstr ""
46
 
47
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005
48
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:684
49
  msgid "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>"
50
  msgstr ""
51
 
52
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118
53
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1084
54
  msgid "Always"
55
  msgstr ""
56
 
57
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119
58
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1085
59
  msgid "Hourly"
60
  msgstr ""
61
 
62
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120
63
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1086
64
  msgid "Daily"
65
  msgstr ""
66
 
67
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121
68
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1087
69
  msgid "Weekly"
70
  msgstr ""
71
 
72
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122
73
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1088
74
  msgid "Monthly"
75
  msgstr ""
76
 
77
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123
78
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1089
79
  msgid "Yearly"
80
  msgstr ""
81
 
82
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124
83
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1090
84
  msgid "Never"
85
  msgstr ""
86
 
87
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600
88
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:107
89
- msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!"
90
- msgstr ""
91
-
92
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600
93
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:107
94
- msgid "Hide this notice"
95
  msgstr ""
96
 
97
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113
98
- #, php-format
99
- msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and you are satisfied with the results, isn't it worth at least a few dollar? <a href=\"%s\">Donations</a> help me to continue support and development of this <i>free</i> software! <a href=\"%s\">Sure, no problem!</a>"
100
  msgstr ""
101
 
102
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113
103
- msgid "Sure, but I already did!"
104
  msgstr ""
105
 
106
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657
107
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113
108
- msgid "No thanks, please don't bug me anymore!"
109
  msgstr ""
110
 
111
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:120
112
- #, php-format
113
- msgid "Thanks for using this plugin! You've installed this plugin some time ago. If it works and your are satisfied, why not <a href=\"%s\">rate it</a> and <a href=\"%s\">recommend it</a> to others? :-)"
114
  msgstr ""
115
 
116
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:120
117
- msgid "Don't show this anymore"
118
  msgstr ""
119
 
120
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67
121
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:132
122
- msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!"
 
123
  msgstr ""
124
 
125
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69
126
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:134
127
- #, php-format
128
- msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!"
129
  msgstr ""
130
 
131
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635
132
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835
133
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:163
134
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:480
135
  msgid "XML Sitemap Generator for WordPress"
136
  msgstr ""
137
 
138
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740
139
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:323
140
  msgid "Configuration updated"
141
  msgstr ""
142
 
143
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741
144
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:324
145
  msgid "Error while saving options"
146
  msgstr ""
147
 
148
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743
149
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:326
150
  msgid "Pages saved"
151
  msgstr ""
152
 
153
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744
154
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:327
155
  msgid "Error while saving pages"
156
  msgstr ""
157
 
158
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758
159
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:334
160
  msgid "The default configuration was restored."
161
  msgstr ""
162
 
163
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374
164
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:496
165
- #, php-format
166
- msgid "There is a new version of %1$s available. <a href=\"%2$s\">Download version %3$s here</a>."
167
  msgstr ""
168
 
169
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376
170
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498
171
- #, php-format
172
- msgid "There is a new version of %1$s available. <a href=\"%2$s\">Download version %3$s here</a> <em>automatic upgrade unavailable for this plugin</em>."
173
  msgstr ""
174
 
175
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378
176
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:500
177
- #, php-format
178
- msgid "There is a new version of %1$s available. <a href=\"%2$s\">Download version %3$s here</a> or <a href=\"%4$s\">upgrade automatically</a>."
179
  msgstr ""
180
 
181
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:508
 
 
 
 
 
182
  #, php-format
183
- msgid "Your blog is currently blocking search engines! Visit the <a href=\"%s\">privacy settings</a> to change this."
184
  msgstr ""
185
 
186
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851
187
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868
188
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:529
189
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:546
190
- msgid "open"
191
  msgstr ""
192
 
193
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852
194
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869
195
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:530
196
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:547
197
- msgid "close"
198
  msgstr ""
199
 
200
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853
201
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870
202
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:531
203
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:548
204
- msgid "click-down and drag to move this box"
205
  msgstr ""
206
 
207
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854
208
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871
209
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:532
210
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:549
211
- msgid "click to %toggle% this box"
212
  msgstr ""
213
 
214
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855
215
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872
216
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533
217
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:550
218
- msgid "use the arrow keys to move this box"
219
  msgstr ""
220
 
221
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856
222
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873
223
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534
224
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:551
225
- msgid ", or press the enter key to %toggle% it"
226
  msgstr ""
227
 
228
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884
229
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:580
230
- msgid "About this Plugin:"
 
231
  msgstr ""
232
 
233
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886
234
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:581
235
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:181
236
- msgid "Plugin Homepage"
 
 
 
 
237
  msgstr ""
238
 
239
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421
240
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:582
241
  msgid "Suggest a Feature"
242
  msgstr ""
243
 
244
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887
245
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:583
246
  msgid "Notify List"
247
  msgstr ""
248
 
249
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888
250
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:584
251
  msgid "Support Forum"
252
  msgstr ""
253
 
254
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424
255
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:585
256
  msgid "Report a Bug"
257
  msgstr ""
258
 
259
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889
260
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:587
261
  msgid "Donate with PayPal"
262
  msgstr ""
263
 
264
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890
265
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:588
266
  msgid "My Amazon Wish List"
267
  msgstr ""
268
 
269
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891
270
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:589
271
  msgid "translator_name"
272
  msgstr ""
273
 
274
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891
275
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:589
276
  msgid "translator_url"
277
  msgstr ""
278
 
279
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895
280
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:593
281
  msgid "Sitemap Resources:"
282
  msgstr ""
283
 
284
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897
285
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:594
286
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:600
287
  msgid "Webmaster Tools"
288
  msgstr ""
289
 
290
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898
291
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:595
292
  msgid "Webmaster Blog"
293
  msgstr ""
294
 
295
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900
296
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:597
297
- msgid "Site Explorer"
298
- msgstr ""
299
-
300
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901
301
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:598
302
  msgid "Search Blog"
303
  msgstr ""
304
 
305
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010
306
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:601
307
  msgid "Webmaster Center Blog"
308
  msgstr ""
309
 
310
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903
311
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:603
312
  msgid "Sitemaps Protocol"
313
  msgstr ""
314
 
315
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904
316
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:604
317
  msgid "Official Sitemaps FAQ"
318
  msgstr ""
319
 
320
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905
321
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:605
322
- msgid "My Sitemaps FAQ"
323
- msgstr ""
324
-
325
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910
326
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:608
327
  msgid "Recent Donations:"
328
  msgstr ""
329
 
330
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914
331
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:611
332
  msgid "List of the donors"
333
  msgstr ""
334
 
335
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916
336
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:613
337
  msgid "Hide this list"
338
  msgstr ""
339
 
340
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919
341
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:616
342
  msgid "Thanks for your support!"
343
  msgstr ""
344
 
345
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:638
346
- msgid "The sitemap wasn't generated yet."
347
  msgstr ""
348
 
349
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:641
350
- msgid "Result of the last build process, started on %date%."
351
  msgstr ""
352
 
353
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941
354
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:650
355
  #, php-format
356
- msgid "The sitemap wasn't built yet. <a href=\"%s\">Click here</a> to build it the first time."
357
- msgstr ""
358
-
359
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947
360
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:656
361
- msgid "Your <a href=\"%url%\">sitemap</a> was last built on <b>%date%</b>."
362
- msgstr ""
363
-
364
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:657
365
- msgid "The last build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?"
366
- msgstr ""
367
-
368
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:659
369
- msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. <a href=\"%url%\">Learn more</a>"
370
  msgstr ""
371
 
372
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956
373
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:666
374
- msgid "Your sitemap (<a href=\"%url%\">zipped</a>) was last built on <b>%date%</b>."
375
- msgstr ""
376
-
377
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:667
378
- msgid "The last zipped build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?"
379
- msgstr ""
380
-
381
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:669
382
- msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. <a href=\"%url%\">Learn more</a>"
383
- msgstr ""
384
-
385
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964
386
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:675
387
- msgid "Google was <b>successfully notified</b> about changes."
388
- msgstr ""
389
-
390
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967
391
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:678
392
- msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time."
393
- msgstr ""
394
-
395
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011
396
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:681
397
- #, php-format
398
- msgid "There was a problem while notifying Google. <a href=\"%s\">View result</a>"
399
- msgstr ""
400
-
401
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976
402
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:687
403
- msgid "YAHOO was <b>successfully notified</b> about changes."
404
- msgstr ""
405
-
406
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979
407
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:690
408
- msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time."
409
- msgstr ""
410
-
411
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023
412
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:693
413
  #, php-format
414
- msgid "There was a problem while notifying YAHOO. <a href=\"%s\">View result</a>"
415
  msgstr ""
416
 
417
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:699
418
- msgid "Bing was <b>successfully notified</b> about changes."
419
  msgstr ""
420
 
421
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:702
422
- msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time."
423
- msgstr ""
424
-
425
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:705
426
  #, php-format
427
- msgid "There was a problem while notifying Bing. <a href=\"%s\">View result</a>"
428
  msgstr ""
429
 
430
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988
431
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:711
432
- msgid "Ask.com was <b>successfully notified</b> about changes."
433
  msgstr ""
434
 
435
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991
436
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:714
437
- msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time."
438
  msgstr ""
439
 
440
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035
441
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:717
442
  #, php-format
443
- msgid "There was a problem while notifying Ask.com. <a href=\"%s\">View result</a>"
444
- msgstr ""
445
-
446
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002
447
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:725
448
- msgid "The building process took about <b>%time% seconds</b> to complete and used %memory% MB of memory."
449
- msgstr ""
450
-
451
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004
452
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:727
453
- msgid "The building process took about <b>%time% seconds</b> to complete."
454
- msgstr ""
455
-
456
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008
457
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:731
458
- msgid "The content of your sitemap <strong>didn't change</strong> since the last time so the files were not written and no search engine was pinged."
459
- msgstr ""
460
-
461
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586
462
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:739
463
- msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed."
464
- msgstr ""
465
-
466
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012
467
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:742
468
- msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. <a href=\"%url%\">Learn more</a>"
469
- msgstr ""
470
-
471
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014
472
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744
473
- msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%."
474
- msgstr ""
475
-
476
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018
477
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:748
478
- msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds."
479
- msgstr ""
480
-
481
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022
482
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:752
483
- msgid "The script stopped around post number %lastpost% (+/- 100)"
484
- msgstr ""
485
-
486
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025
487
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:755
488
- #, php-format
489
- msgid "If you changed something on your server or blog, you should <a href=\"%s\">rebuild the sitemap</a> manually."
490
- msgstr ""
491
-
492
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027
493
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:757
494
- #, php-format
495
- msgid "If you encounter any problems with the build process you can use the <a href=\"%d\">debug function</a> to get more information."
496
  msgstr ""
497
 
498
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040
499
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:764
500
  msgid "Basic Options"
501
  msgstr ""
502
 
503
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044
504
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:766
505
- msgid "Sitemap files:"
506
  msgstr ""
507
 
508
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044
@@ -510,527 +374,401 @@ msgstr ""
510
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079
511
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104
512
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121
513
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:766
514
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:781
515
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801
516
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:834
517
  msgid "Learn more"
518
  msgstr ""
519
 
520
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049
521
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:771
522
- msgid "Write a normal XML file (your filename)"
523
- msgstr ""
524
-
525
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055
526
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777
527
- msgid "Write a gzipped file (your filename + .gz)"
528
- msgstr ""
529
-
530
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059
531
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:781
532
- msgid "Building mode:"
533
- msgstr ""
534
-
535
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064
536
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786
537
- msgid "Rebuild sitemap if you change the content of your blog"
538
- msgstr ""
539
-
540
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071
541
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:793
542
- msgid "Enable manual sitemap building via GET Request"
543
- msgstr ""
544
-
545
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:797
546
- msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: <a href=\"%1\">%1</a> Please check the result box above to see if sitemap was successfully built."
547
- msgstr ""
548
-
549
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079
550
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801
551
- msgid "Update notification:"
552
- msgstr ""
553
-
554
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083
555
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:805
556
  msgid "Notify Google about updates of your Blog"
557
  msgstr ""
558
 
559
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084
560
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:806
561
  #, php-format
562
  msgid "No registration required, but you can join the <a href=\"%s\">Google Webmaster Tools</a> to check crawling statistics."
563
  msgstr ""
564
 
565
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:810
566
  msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog"
567
  msgstr ""
568
 
569
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:811
570
  #, php-format
571
  msgid "No registration required, but you can join the <a href=\"%s\">Bing Webmaster Tools</a> to check crawling statistics."
572
  msgstr ""
573
 
574
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088
575
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:815
576
  msgid "Notify Ask.com about updates of your Blog"
577
  msgstr ""
578
 
579
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089
580
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:816
581
  msgid "No registration required."
582
  msgstr ""
583
 
584
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093
585
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:820
586
- msgid "Notify YAHOO about updates of your Blog"
587
- msgstr ""
588
-
589
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154
590
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:821
591
- msgid "Your Application ID:"
592
- msgstr ""
593
-
594
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822
595
- #, php-format
596
- msgid "Don't you have such a key? <a href=\"%s1\">Request one here</a>! %s2"
597
- msgstr ""
598
-
599
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:827
600
  msgid "Add sitemap URL to the virtual robots.txt file."
601
  msgstr ""
602
 
603
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:831
604
  msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!"
605
  msgstr ""
606
 
607
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121
608
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:834
609
  msgid "Advanced options:"
610
  msgstr ""
611
 
612
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124
613
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:837
614
- msgid "Limit the number of posts in the sitemap:"
615
- msgstr ""
616
-
617
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124
618
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:837
619
- msgid "Newer posts will be included first"
620
- msgstr ""
621
-
622
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127
623
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:840
624
  msgid "Try to increase the memory limit to:"
625
  msgstr ""
626
 
627
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127
628
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:840
629
  msgid "e.g. \"4M\", \"16M\""
630
  msgstr ""
631
 
632
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130
633
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:843
634
  msgid "Try to increase the execution time limit to:"
635
  msgstr ""
636
 
637
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130
638
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:843
639
  msgid "in seconds, e.g. \"60\" or \"0\" for unlimited"
640
  msgstr ""
641
 
642
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133
643
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:847
644
  msgid "Include a XSLT stylesheet:"
645
  msgstr ""
646
 
647
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133
648
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:848
649
  msgid "Full or relative URL to your .xsl file"
650
  msgstr ""
651
 
652
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:848
653
  msgid "Use default"
654
  msgstr ""
655
 
656
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152
657
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:854
658
- msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)"
659
- msgstr ""
660
-
661
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:855
662
- msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access"
663
- msgstr ""
664
-
665
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166
666
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862
667
- msgid "Build the sitemap in a background process (You don't have to wait when you save a post)"
668
- msgstr ""
669
-
670
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863
671
- msgid "Upgrade WordPress at least to 2.1 to enable background building"
672
  msgstr ""
673
 
674
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144
675
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:870
676
  msgid "Additional pages"
677
  msgstr ""
678
 
679
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149
680
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:873
681
  msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.<br />For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com"
682
  msgstr ""
683
 
684
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151
685
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462
686
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:875
687
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1083
688
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1097
689
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1106
690
  msgid "Note"
691
  msgstr ""
692
 
693
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152
694
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:876
695
  msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the &quot;Location of your sitemap file&quot; section on this page)!"
696
  msgstr ""
697
 
698
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154
699
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300
700
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:878
701
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:917
702
  msgid "URL to the page"
703
  msgstr ""
704
 
705
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155
706
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:879
707
  msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home "
708
  msgstr ""
709
 
710
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157
711
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301
712
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:881
713
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:918
714
  msgid "Priority"
715
  msgstr ""
716
 
717
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158
718
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:882
719
  msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint."
720
  msgstr ""
721
 
722
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160
723
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303
724
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:884
725
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:920
726
  msgid "Last Changed"
727
  msgstr ""
728
 
729
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161
730
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:885
731
  msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)."
732
  msgstr ""
733
 
734
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302
735
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:919
736
  msgid "Change Frequency"
737
  msgstr ""
738
 
739
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304
740
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:921
741
  msgid "#"
742
  msgstr ""
743
 
744
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309
745
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:926
746
  msgid "No pages defined."
747
  msgstr ""
748
 
749
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314
750
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:931
751
  msgid "Add new page"
752
  msgstr ""
753
 
754
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325
755
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:936
756
  msgid "Post Priority"
757
  msgstr ""
758
 
759
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329
760
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:938
761
  msgid "Please select how the priority of each post should be calculated:"
762
  msgstr ""
763
 
764
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331
765
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:940
766
  msgid "Do not use automatic priority calculation"
767
  msgstr ""
768
 
769
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331
770
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:940
771
  msgid "All posts will have the same priority which is defined in &quot;Priorities&quot;"
772
  msgstr ""
773
 
774
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348
775
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:951
776
- msgid "Location of your sitemap file"
777
- msgstr ""
778
-
779
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353
780
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:954
781
- msgid "Automatic detection"
782
- msgstr ""
783
-
784
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357
785
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:958
786
- msgid "Filename of the sitemap file"
787
- msgstr ""
788
-
789
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360
790
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:961
791
- msgid "Detected Path"
792
- msgstr ""
793
-
794
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360
795
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:961
796
- msgid "Detected URL"
797
- msgstr ""
798
-
799
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365
800
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:966
801
- msgid "Custom location"
802
- msgstr ""
803
-
804
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369
805
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:970
806
- msgid "Absolute or relative path to the sitemap file, including name."
807
- msgstr ""
808
-
809
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371
810
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380
811
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:972
812
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:981
813
- msgid "Example"
814
- msgstr ""
815
-
816
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378
817
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:979
818
- msgid "Complete URL to the sitemap file, including name."
819
- msgstr ""
820
-
821
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397
822
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:992
823
  msgid "Sitemap Content"
824
  msgstr ""
825
 
 
 
 
 
826
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405
827
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:998
828
  msgid "Include homepage"
829
  msgstr ""
830
 
831
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411
832
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1004
833
  msgid "Include posts"
834
  msgstr ""
835
 
836
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010
837
- msgid "Include following pages of multi-page posts (Increases build time and memory usage!)"
838
- msgstr ""
839
-
840
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417
841
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1016
842
  msgid "Include static pages"
843
  msgstr ""
844
 
845
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423
846
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1022
847
  msgid "Include categories"
848
  msgstr ""
849
 
850
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429
851
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1028
852
  msgid "Include archives"
853
  msgstr ""
854
 
 
 
 
 
 
855
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436
856
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1035
857
  msgid "Include tag pages"
858
  msgstr ""
859
 
860
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1051
 
 
 
 
861
  #, php-format
862
  msgid "Include taxonomy pages for %s"
863
  msgstr ""
864
 
865
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443
866
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1061
867
- msgid "Include author pages"
 
 
 
 
868
  msgstr ""
869
 
870
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1065
871
  msgid "Further options"
872
  msgstr ""
873
 
874
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1070
875
  msgid "Include the last modification time."
876
  msgstr ""
877
 
878
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1072
879
  msgid "This is highly recommended and helps the search engines to know when your content has changed. This option affects <i>all</i> sitemap entries."
880
  msgstr ""
881
 
882
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1079
883
  msgid "Excluded items"
884
  msgstr ""
885
 
886
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1081
887
  msgid "Excluded categories"
888
  msgstr ""
889
 
890
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1083
891
  msgid "Using this feature will increase build time and memory usage!"
892
  msgstr ""
893
 
894
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1090
895
- #, php-format
896
- msgid "This feature requires at least WordPress 2.5.1, you are using %s"
897
- msgstr ""
898
-
899
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1093
900
  msgid "Exclude posts"
901
  msgstr ""
902
 
903
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206
904
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1095
905
  msgid "Exclude the following posts or pages:"
906
  msgstr ""
907
 
908
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206
909
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1095
910
  msgid "List of IDs, separated by comma"
911
  msgstr ""
912
 
913
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1097
914
  msgid "Child posts won't be excluded automatically!"
915
  msgstr ""
916
 
917
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457
918
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1103
919
  msgid "Change frequencies"
920
  msgstr ""
921
 
922
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463
923
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1107
924
  msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages."
925
  msgstr ""
926
 
927
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469
928
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535
929
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1113
930
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1170
931
  msgid "Homepage"
932
  msgstr ""
933
 
934
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475
935
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1119
936
  msgid "Posts"
937
  msgstr ""
938
 
939
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481
940
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553
941
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1125
942
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1188
943
  msgid "Static pages"
944
  msgstr ""
945
 
946
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487
947
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559
948
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1131
949
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1194
950
  msgid "Categories"
951
  msgstr ""
952
 
953
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493
954
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1137
955
  msgid "The current archive of this month (Should be the same like your homepage)"
956
  msgstr ""
957
 
958
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499
959
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1143
960
  msgid "Older archives (Changes only if you edit an old post)"
961
  msgstr ""
962
 
963
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506
964
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572
965
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1150
966
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1207
967
  msgid "Tag pages"
968
  msgstr ""
969
 
970
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513
971
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579
972
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1157
973
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1214
974
  msgid "Author pages"
975
  msgstr ""
976
 
977
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527
978
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1165
979
  msgid "Priorities"
980
  msgstr ""
981
 
982
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541
983
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1176
984
  msgid "Posts (If auto calculation is disabled)"
985
  msgstr ""
986
 
987
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547
988
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1182
989
  msgid "Minimum post priority (Even if auto calculation is enabled)"
990
  msgstr ""
991
 
992
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565
993
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1200
994
  msgid "Archives"
995
  msgstr ""
996
 
997
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590
998
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1225
999
  msgid "Update options"
1000
  msgstr ""
1001
 
1002
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591
1003
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1226
1004
  msgid "Reset options"
1005
  msgstr ""
1006
 
1007
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415
1008
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:95
1009
- msgid "XML-Sitemap Generator"
1010
- msgstr ""
1011
-
1012
- # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415
1013
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:95
1014
- msgid "XML-Sitemap"
1015
  msgstr ""
1016
 
1017
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:109
1018
- msgid "Settings"
1019
- msgstr ""
1020
-
1021
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:110
1022
- msgid "FAQ"
1023
- msgstr ""
1024
-
1025
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:111
1026
- msgid "Support"
1027
  msgstr ""
1028
 
1029
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:112
1030
- msgid "Donate"
1031
  msgstr ""
1032
 
1033
- #: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:182
1034
- msgid "Sitemap FAQ"
 
1035
  msgstr ""
1036
 
2
  # Copyright (C) 2005 [name] : [URL]
3
  # This file is distributed under the same license as the WordPress package.
4
  # [name] <[mail-address]>, 2005.
5
+ # $Id: sitemap.pot 540317 2012-05-05 18:32:58Z arnee $
6
  #
7
  msgid ""
8
  msgstr ""
9
  "Project-Id-Version: sitemap\n"
10
  "Report-Msgid-Bugs-To: \n"
11
+ "POT-Creation-Date: 2012-05-05 20:24+0100\n"
12
+ "PO-Revision-Date: 2012-05-05 20:24+0100\n"
13
+ "Last-Translator: Arne Brachhold <himself-arnebrachhold-de>\n"
14
  "Language-Team: \n"
15
  "MIME-Version: 1.0\n"
16
  "Content-Type: text/plain; charset=UTF-8\n"
17
  "Content-Transfer-Encoding: 8bit\n"
18
  "X-Poedit-KeywordsList: _e;__\n"
19
  "X-Poedit-Basepath: .\n"
20
+ "X-Poedit-SearchPath-0: C:\\Inetpub\\wwwroot\\wp_plugins\\sitemap_beta\n"
21
 
22
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846
23
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:527
24
  msgid "Comment Count"
25
  msgstr ""
26
 
27
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858
28
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:537
29
  msgid "Uses the number of comments of the post to calculate the priority"
30
  msgstr ""
31
 
32
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918
33
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:590
34
  msgid "Comment Average"
35
  msgstr ""
36
 
37
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930
38
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:600
39
  msgid "Uses the average comment count to calculate the priority"
40
  msgstr ""
41
 
42
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993
43
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:661
44
  msgid "Popularity Contest"
45
  msgstr ""
46
 
47
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005
48
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:671
49
  msgid "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>"
50
  msgstr ""
51
 
52
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118
53
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:840
54
  msgid "Always"
55
  msgstr ""
56
 
57
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119
58
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:841
59
  msgid "Hourly"
60
  msgstr ""
61
 
62
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120
63
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:842
64
  msgid "Daily"
65
  msgstr ""
66
 
67
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121
68
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:843
69
  msgid "Weekly"
70
  msgstr ""
71
 
72
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122
73
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:844
74
  msgid "Monthly"
75
  msgstr ""
76
 
77
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123
78
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:845
79
  msgid "Yearly"
80
  msgstr ""
81
 
82
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124
83
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:846
84
  msgid "Never"
85
  msgstr ""
86
 
87
+ # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415
88
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:212
89
+ msgid "XML-Sitemap Generator"
 
 
 
 
 
90
  msgstr ""
91
 
92
+ # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415
93
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:212
94
+ msgid "XML-Sitemap"
95
  msgstr ""
96
 
97
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:239
98
+ msgid "Settings"
99
  msgstr ""
100
 
101
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:240
102
+ msgid "FAQ"
 
103
  msgstr ""
104
 
105
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:241
106
+ msgid "Support"
 
107
  msgstr ""
108
 
109
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:242
110
+ msgid "Donate"
111
  msgstr ""
112
 
113
+ # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886
114
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:328
115
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:630
116
+ msgid "Plugin Homepage"
117
  msgstr ""
118
 
119
+ # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905
120
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:329
121
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:652
122
+ msgid "My Sitemaps FAQ"
123
  msgstr ""
124
 
125
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635
126
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835
127
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:198
128
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:585
129
  msgid "XML Sitemap Generator for WordPress"
130
  msgstr ""
131
 
132
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740
133
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:374
134
  msgid "Configuration updated"
135
  msgstr ""
136
 
137
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741
138
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:375
139
  msgid "Error while saving options"
140
  msgstr ""
141
 
142
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743
143
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:378
144
  msgid "Pages saved"
145
  msgstr ""
146
 
147
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744
148
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:379
149
  msgid "Error while saving pages"
150
  msgstr ""
151
 
152
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758
153
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:387
154
  msgid "The default configuration was restored."
155
  msgstr ""
156
 
157
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:397
158
+ msgid "The old files could NOT be deleted. Please use an FTP program and delete them by yourself."
 
 
159
  msgstr ""
160
 
161
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:399
162
+ msgid "The old files were successfully deleted."
 
 
163
  msgstr ""
164
 
165
+ # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600
166
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:439
167
+ msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!"
 
168
  msgstr ""
169
 
170
+ # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600
171
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:439
172
+ msgid "Hide this notice"
173
+ msgstr ""
174
+
175
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:445
176
  #, php-format
177
+ msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and you are satisfied with the results, isn't it worth at least a few dollar? <a href=\"%s\">Donations</a> help me to continue support and development of this <i>free</i> software! <a href=\"%s\">Sure, no problem!</a>"
178
  msgstr ""
179
 
180
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:445
181
+ msgid "Sure, but I already did!"
 
 
 
182
  msgstr ""
183
 
184
+ # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657
185
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:445
186
+ msgid "No thanks, please don't bug me anymore!"
 
 
187
  msgstr ""
188
 
189
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:452
190
+ #, php-format
191
+ msgid "Thanks for using this plugin! You've installed this plugin some time ago. If it works and your are satisfied, why not <a href=\"%s\">rate it</a> and <a href=\"%s\">recommend it</a> to others? :-)"
 
 
192
  msgstr ""
193
 
194
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:452
195
+ msgid "Don't show this anymore"
 
 
 
196
  msgstr ""
197
 
198
+ # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374
199
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:601
200
+ #, php-format
201
+ msgid "There is a new version of %1$s available. <a href=\"%2$s\">Download version %3$s here</a>."
 
202
  msgstr ""
203
 
204
+ # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376
205
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:603
206
+ #, php-format
207
+ msgid "There is a new version of %1$s available. <a href=\"%2$s\">Download version %3$s here</a> <em>automatic upgrade unavailable for this plugin</em>."
 
208
  msgstr ""
209
 
210
+ # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378
211
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:605
212
+ #, php-format
213
+ msgid "There is a new version of %1$s available. <a href=\"%2$s\">Download version %3$s here</a> or <a href=\"%4$s\">upgrade automatically</a>."
214
  msgstr ""
215
 
216
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:613
217
+ #, php-format
218
+ msgid "Your blog is currently blocking search engines! Visit the <a href=\"%s\">privacy settings</a> to change this."
219
+ msgstr ""
220
+
221
+ # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884
222
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:629
223
+ msgid "About this Plugin:"
224
  msgstr ""
225
 
226
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421
227
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:631
228
  msgid "Suggest a Feature"
229
  msgstr ""
230
 
231
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887
232
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:632
233
  msgid "Notify List"
234
  msgstr ""
235
 
236
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888
237
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:633
238
  msgid "Support Forum"
239
  msgstr ""
240
 
241
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424
242
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:634
243
  msgid "Report a Bug"
244
  msgstr ""
245
 
246
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889
247
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:636
248
  msgid "Donate with PayPal"
249
  msgstr ""
250
 
251
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890
252
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:637
253
  msgid "My Amazon Wish List"
254
  msgstr ""
255
 
256
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891
257
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:638
258
  msgid "translator_name"
259
  msgstr ""
260
 
261
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891
262
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:638
263
  msgid "translator_url"
264
  msgstr ""
265
 
266
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895
267
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:641
268
  msgid "Sitemap Resources:"
269
  msgstr ""
270
 
271
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897
272
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:642
273
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:647
274
  msgid "Webmaster Tools"
275
  msgstr ""
276
 
277
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898
278
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:643
279
  msgid "Webmaster Blog"
280
  msgstr ""
281
 
 
 
 
 
 
282
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901
283
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:645
284
  msgid "Search Blog"
285
  msgstr ""
286
 
287
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010
288
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:648
289
  msgid "Webmaster Center Blog"
290
  msgstr ""
291
 
292
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903
293
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:650
294
  msgid "Sitemaps Protocol"
295
  msgstr ""
296
 
297
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904
298
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:651
299
  msgid "Official Sitemaps FAQ"
300
  msgstr ""
301
 
 
 
 
 
 
302
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910
303
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:655
304
  msgid "Recent Donations:"
305
  msgstr ""
306
 
307
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914
308
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:658
309
  msgid "List of the donors"
310
  msgstr ""
311
 
312
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916
313
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:660
314
  msgid "Hide this list"
315
  msgstr ""
316
 
317
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919
318
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:663
319
  msgid "Thanks for your support!"
320
  msgstr ""
321
 
322
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:683
323
+ msgid "Search engines haven't been notified yet"
324
  msgstr ""
325
 
326
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:687
327
+ msgid "Result of the last ping, started on %date%."
328
  msgstr ""
329
 
330
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:702
 
331
  #, php-format
332
+ msgid "There is still a sitemap.xml or sitemap.xml.gz file in your blog directory. Please delete them as no static files are used anymore or <a href=\"%s\">try to delete them automatically</a>."
 
 
 
 
 
 
 
 
 
 
 
 
 
333
  msgstr ""
334
 
335
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:705
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
336
  #, php-format
337
+ msgid "The URL to your sitemap index file is: <a href=\"%s\">%s</a>."
338
  msgstr ""
339
 
340
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:708
341
+ msgid "Search engines haven't been notified yet. Write a post to let them know about your sitemap."
342
  msgstr ""
343
 
344
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:717
 
 
 
 
345
  #, php-format
346
+ msgid "%s was <b>successfully notified</b> about changes."
347
  msgstr ""
348
 
349
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:720
350
+ msgid "It took %time% seconds to notify %name%, maybe you want to disable this feature to reduce the building time."
 
351
  msgstr ""
352
 
353
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:723
354
+ msgid "There was a problem while notifying %name%. <a href=\"%s\">View result</a>"
 
355
  msgstr ""
356
 
357
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:727
 
358
  #, php-format
359
+ msgid "If you encounter any problems with your sitemap you can use the <a href=\"%d\">debug function</a> to get more information."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
360
  msgstr ""
361
 
362
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040
363
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:735
364
  msgid "Basic Options"
365
  msgstr ""
366
 
367
+ # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079
368
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:737
369
+ msgid "Update notification:"
370
  msgstr ""
371
 
372
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044
374
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079
375
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104
376
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121
377
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:737
378
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:765
 
 
379
  msgid "Learn more"
380
  msgstr ""
381
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
382
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083
383
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:741
384
  msgid "Notify Google about updates of your Blog"
385
  msgstr ""
386
 
387
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084
388
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:742
389
  #, php-format
390
  msgid "No registration required, but you can join the <a href=\"%s\">Google Webmaster Tools</a> to check crawling statistics."
391
  msgstr ""
392
 
393
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:746
394
  msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog"
395
  msgstr ""
396
 
397
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:747
398
  #, php-format
399
  msgid "No registration required, but you can join the <a href=\"%s\">Bing Webmaster Tools</a> to check crawling statistics."
400
  msgstr ""
401
 
402
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088
403
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:751
404
  msgid "Notify Ask.com about updates of your Blog"
405
  msgstr ""
406
 
407
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089
408
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:752
409
  msgid "No registration required."
410
  msgstr ""
411
 
412
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:757
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
413
  msgid "Add sitemap URL to the virtual robots.txt file."
414
  msgstr ""
415
 
416
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:761
417
  msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!"
418
  msgstr ""
419
 
420
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121
421
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:765
422
  msgid "Advanced options:"
423
  msgstr ""
424
 
 
 
 
 
 
 
 
 
 
 
425
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127
426
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:768
427
  msgid "Try to increase the memory limit to:"
428
  msgstr ""
429
 
430
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127
431
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:768
432
  msgid "e.g. \"4M\", \"16M\""
433
  msgstr ""
434
 
435
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130
436
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:771
437
  msgid "Try to increase the execution time limit to:"
438
  msgstr ""
439
 
440
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130
441
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:771
442
  msgid "in seconds, e.g. \"60\" or \"0\" for unlimited"
443
  msgstr ""
444
 
445
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133
446
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:775
447
  msgid "Include a XSLT stylesheet:"
448
  msgstr ""
449
 
450
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133
451
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:776
452
  msgid "Full or relative URL to your .xsl file"
453
  msgstr ""
454
 
455
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:776
456
  msgid "Use default"
457
  msgstr ""
458
 
459
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:781
460
+ msgid "Include sitemap in HTML format"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
461
  msgstr ""
462
 
463
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144
464
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:790
465
  msgid "Additional pages"
466
  msgstr ""
467
 
468
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149
469
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:793
470
  msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.<br />For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com"
471
  msgstr ""
472
 
473
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151
474
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462
475
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:795
476
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:998
477
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1009
478
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1018
479
  msgid "Note"
480
  msgstr ""
481
 
482
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152
483
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:796
484
  msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the &quot;Location of your sitemap file&quot; section on this page)!"
485
  msgstr ""
486
 
487
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154
488
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300
489
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:798
490
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:836
491
  msgid "URL to the page"
492
  msgstr ""
493
 
494
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155
495
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:799
496
  msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home "
497
  msgstr ""
498
 
499
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157
500
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301
501
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:801
502
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:837
503
  msgid "Priority"
504
  msgstr ""
505
 
506
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158
507
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:802
508
  msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint."
509
  msgstr ""
510
 
511
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160
512
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303
513
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:804
514
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:839
515
  msgid "Last Changed"
516
  msgstr ""
517
 
518
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161
519
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:805
520
  msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)."
521
  msgstr ""
522
 
523
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302
524
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:838
525
  msgid "Change Frequency"
526
  msgstr ""
527
 
528
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304
529
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:840
530
  msgid "#"
531
  msgstr ""
532
 
533
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309
534
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:845
535
  msgid "No pages defined."
536
  msgstr ""
537
 
538
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314
539
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:850
540
  msgid "Add new page"
541
  msgstr ""
542
 
543
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325
544
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:856
545
  msgid "Post Priority"
546
  msgstr ""
547
 
548
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329
549
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:858
550
  msgid "Please select how the priority of each post should be calculated:"
551
  msgstr ""
552
 
553
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331
554
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:860
555
  msgid "Do not use automatic priority calculation"
556
  msgstr ""
557
 
558
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331
559
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:860
560
  msgid "All posts will have the same priority which is defined in &quot;Priorities&quot;"
561
  msgstr ""
562
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
563
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397
564
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:871
565
  msgid "Sitemap Content"
566
  msgstr ""
567
 
568
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:872
569
+ msgid "WordPress standard content"
570
+ msgstr ""
571
+
572
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405
573
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:877
574
  msgid "Include homepage"
575
  msgstr ""
576
 
577
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411
578
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:883
579
  msgid "Include posts"
580
  msgstr ""
581
 
 
 
 
 
582
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417
583
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:889
584
  msgid "Include static pages"
585
  msgstr ""
586
 
587
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423
588
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:895
589
  msgid "Include categories"
590
  msgstr ""
591
 
592
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429
593
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:901
594
  msgid "Include archives"
595
  msgstr ""
596
 
597
+ # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443
598
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:907
599
+ msgid "Include author pages"
600
+ msgstr ""
601
+
602
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436
603
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:914
604
  msgid "Include tag pages"
605
  msgstr ""
606
 
607
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:928
608
+ msgid "Custom taxonomies"
609
+ msgstr ""
610
+
611
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:939
612
  #, php-format
613
  msgid "Include taxonomy pages for %s"
614
  msgstr ""
615
 
616
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:957
617
+ msgid "Custom post types"
618
+ msgstr ""
619
+
620
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:968
621
+ #, php-format
622
+ msgid "Include custom post type %s"
623
  msgstr ""
624
 
625
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:980
626
  msgid "Further options"
627
  msgstr ""
628
 
629
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:985
630
  msgid "Include the last modification time."
631
  msgstr ""
632
 
633
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:987
634
  msgid "This is highly recommended and helps the search engines to know when your content has changed. This option affects <i>all</i> sitemap entries."
635
  msgstr ""
636
 
637
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:994
638
  msgid "Excluded items"
639
  msgstr ""
640
 
641
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:996
642
  msgid "Excluded categories"
643
  msgstr ""
644
 
645
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:998
646
  msgid "Using this feature will increase build time and memory usage!"
647
  msgstr ""
648
 
649
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1005
 
 
 
 
 
650
  msgid "Exclude posts"
651
  msgstr ""
652
 
653
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206
654
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1007
655
  msgid "Exclude the following posts or pages:"
656
  msgstr ""
657
 
658
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206
659
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1007
660
  msgid "List of IDs, separated by comma"
661
  msgstr ""
662
 
663
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1009
664
  msgid "Child posts won't be excluded automatically!"
665
  msgstr ""
666
 
667
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457
668
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1015
669
  msgid "Change frequencies"
670
  msgstr ""
671
 
672
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463
673
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1019
674
  msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages."
675
  msgstr ""
676
 
677
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469
678
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535
679
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1025
680
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1082
681
  msgid "Homepage"
682
  msgstr ""
683
 
684
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475
685
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1031
686
  msgid "Posts"
687
  msgstr ""
688
 
689
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481
690
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553
691
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1037
692
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1100
693
  msgid "Static pages"
694
  msgstr ""
695
 
696
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487
697
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559
698
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1043
699
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1106
700
  msgid "Categories"
701
  msgstr ""
702
 
703
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493
704
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1049
705
  msgid "The current archive of this month (Should be the same like your homepage)"
706
  msgstr ""
707
 
708
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499
709
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1055
710
  msgid "Older archives (Changes only if you edit an old post)"
711
  msgstr ""
712
 
713
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506
714
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572
715
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1062
716
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1119
717
  msgid "Tag pages"
718
  msgstr ""
719
 
720
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513
721
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579
722
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1069
723
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1126
724
  msgid "Author pages"
725
  msgstr ""
726
 
727
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527
728
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1077
729
  msgid "Priorities"
730
  msgstr ""
731
 
732
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541
733
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1088
734
  msgid "Posts (If auto calculation is disabled)"
735
  msgstr ""
736
 
737
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547
738
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1094
739
  msgid "Minimum post priority (Even if auto calculation is enabled)"
740
  msgstr ""
741
 
742
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565
743
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1112
744
  msgid "Archives"
745
  msgstr ""
746
 
747
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590
748
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1137
749
  msgid "Update options"
750
  msgstr ""
751
 
752
  # C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591
753
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1138
754
  msgid "Reset options"
755
  msgstr ""
756
 
757
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap.php:82
758
+ msgid "Your WordPress version is too old for XML Sitemaps."
 
 
 
 
 
 
759
  msgstr ""
760
 
761
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap.php:82
762
+ #, php-format
763
+ msgid "Unfortunately this release of Google XML Sitemaps requires at least WordPress %4$s. You are using Wordpress %2$s, which is out-dated and insecure. Please upgrade or go to <a href=\"%1$s\">active plugins</a> and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the <a href=\"%3$s\">plugin website</a>."
 
 
 
 
 
 
 
764
  msgstr ""
765
 
766
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap.php:92
767
+ msgid "Your PHP version is too old for XML Sitemaps."
768
  msgstr ""
769
 
770
+ #: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap.php:92
771
+ #, php-format
772
+ msgid "Unfortunately this release of Google XML Sitemaps requires at least PHP %4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask your web host to update your PHP installation or go to <a href=\"%1$s\">active plugins</a> and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the <a href=\"%3$s\">plugin website</a>."
773
  msgstr ""
774
 
license.txt ADDED
@@ -0,0 +1,339 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ GNU GENERAL PUBLIC LICENSE
2
+ Version 2, June 1991
3
+
4
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
5
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6
+ Everyone is permitted to copy and distribute verbatim copies
7
+ of this license document, but changing it is not allowed.
8
+
9
+ Preamble
10
+
11
+ The licenses for most software are designed to take away your
12
+ freedom to share and change it. By contrast, the GNU General Public
13
+ License is intended to guarantee your freedom to share and change free
14
+ software--to make sure the software is free for all its users. This
15
+ General Public License applies to most of the Free Software
16
+ Foundation's software and to any other program whose authors commit to
17
+ using it. (Some other Free Software Foundation software is covered by
18
+ the GNU Lesser General Public License instead.) You can apply it to
19
+ your programs, too.
20
+
21
+ When we speak of free software, we are referring to freedom, not
22
+ price. Our General Public Licenses are designed to make sure that you
23
+ have the freedom to distribute copies of free software (and charge for
24
+ this service if you wish), that you receive source code or can get it
25
+ if you want it, that you can change the software or use pieces of it
26
+ in new free programs; and that you know you can do these things.
27
+
28
+ To protect your rights, we need to make restrictions that forbid
29
+ anyone to deny you these rights or to ask you to surrender the rights.
30
+ These restrictions translate to certain responsibilities for you if you
31
+ distribute copies of the software, or if you modify it.
32
+
33
+ For example, if you distribute copies of such a program, whether
34
+ gratis or for a fee, you must give the recipients all the rights that
35
+ you have. You must make sure that they, too, receive or can get the
36
+ source code. And you must show them these terms so they know their
37
+ rights.
38
+
39
+ We protect your rights with two steps: (1) copyright the software, and
40
+ (2) offer you this license which gives you legal permission to copy,
41
+ distribute and/or modify the software.
42
+
43
+ Also, for each author's protection and ours, we want to make certain
44
+ that everyone understands that there is no warranty for this free
45
+ software. If the software is modified by someone else and passed on, we
46
+ want its recipients to know that what they have is not the original, so
47
+ that any problems introduced by others will not reflect on the original
48
+ authors' reputations.
49
+
50
+ Finally, any free program is threatened constantly by software
51
+ patents. We wish to avoid the danger that redistributors of a free
52
+ program will individually obtain patent licenses, in effect making the
53
+ program proprietary. To prevent this, we have made it clear that any
54
+ patent must be licensed for everyone's free use or not licensed at all.
55
+
56
+ The precise terms and conditions for copying, distribution and
57
+ modification follow.
58
+
59
+ GNU GENERAL PUBLIC LICENSE
60
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61
+
62
+ 0. This License applies to any program or other work which contains
63
+ a notice placed by the copyright holder saying it may be distributed
64
+ under the terms of this General Public License. The "Program", below,
65
+ refers to any such program or work, and a "work based on the Program"
66
+ means either the Program or any derivative work under copyright law:
67
+ that is to say, a work containing the Program or a portion of it,
68
+ either verbatim or with modifications and/or translated into another
69
+ language. (Hereinafter, translation is included without limitation in
70
+ the term "modification".) Each licensee is addressed as "you".
71
+
72
+ Activities other than copying, distribution and modification are not
73
+ covered by this License; they are outside its scope. The act of
74
+ running the Program is not restricted, and the output from the Program
75
+ is covered only if its contents constitute a work based on the
76
+ Program (independent of having been made by running the Program).
77
+ Whether that is true depends on what the Program does.
78
+
79
+ 1. You may copy and distribute verbatim copies of the Program's
80
+ source code as you receive it, in any medium, provided that you
81
+ conspicuously and appropriately publish on each copy an appropriate
82
+ copyright notice and disclaimer of warranty; keep intact all the
83
+ notices that refer to this License and to the absence of any warranty;
84
+ and give any other recipients of the Program a copy of this License
85
+ along with the Program.
86
+
87
+ You may charge a fee for the physical act of transferring a copy, and
88
+ you may at your option offer warranty protection in exchange for a fee.
89
+
90
+ 2. You may modify your copy or copies of the Program or any portion
91
+ of it, thus forming a work based on the Program, and copy and
92
+ distribute such modifications or work under the terms of Section 1
93
+ above, provided that you also meet all of these conditions:
94
+
95
+ a) You must cause the modified files to carry prominent notices
96
+ stating that you changed the files and the date of any change.
97
+
98
+ b) You must cause any work that you distribute or publish, that in
99
+ whole or in part contains or is derived from the Program or any
100
+ part thereof, to be licensed as a whole at no charge to all third
101
+ parties under the terms of this License.
102
+
103
+ c) If the modified program normally reads commands interactively
104
+ when run, you must cause it, when started running for such
105
+ interactive use in the most ordinary way, to print or display an
106
+ announcement including an appropriate copyright notice and a
107
+ notice that there is no warranty (or else, saying that you provide
108
+ a warranty) and that users may redistribute the program under
109
+ these conditions, and telling the user how to view a copy of this
110
+ License. (Exception: if the Program itself is interactive but
111
+ does not normally print such an announcement, your work based on
112
+ the Program is not required to print an announcement.)
113
+
114
+ These requirements apply to the modified work as a whole. If
115
+ identifiable sections of that work are not derived from the Program,
116
+ and can be reasonably considered independent and separate works in
117
+ themselves, then this License, and its terms, do not apply to those
118
+ sections when you distribute them as separate works. But when you
119
+ distribute the same sections as part of a whole which is a work based
120
+ on the Program, the distribution of the whole must be on the terms of
121
+ this License, whose permissions for other licensees extend to the
122
+ entire whole, and thus to each and every part regardless of who wrote it.
123
+
124
+ Thus, it is not the intent of this section to claim rights or contest
125
+ your rights to work written entirely by you; rather, the intent is to
126
+ exercise the right to control the distribution of derivative or
127
+ collective works based on the Program.
128
+
129
+ In addition, mere aggregation of another work not based on the Program
130
+ with the Program (or with a work based on the Program) on a volume of
131
+ a storage or distribution medium does not bring the other work under
132
+ the scope of this License.
133
+
134
+ 3. You may copy and distribute the Program (or a work based on it,
135
+ under Section 2) in object code or executable form under the terms of
136
+ Sections 1 and 2 above provided that you also do one of the following:
137
+
138
+ a) Accompany it with the complete corresponding machine-readable
139
+ source code, which must be distributed under the terms of Sections
140
+ 1 and 2 above on a medium customarily used for software interchange; or,
141
+
142
+ b) Accompany it with a written offer, valid for at least three
143
+ years, to give any third party, for a charge no more than your
144
+ cost of physically performing source distribution, a complete
145
+ machine-readable copy of the corresponding source code, to be
146
+ distributed under the terms of Sections 1 and 2 above on a medium
147
+ customarily used for software interchange; or,
148
+
149
+ c) Accompany it with the information you received as to the offer
150
+ to distribute corresponding source code. (This alternative is
151
+ allowed only for noncommercial distribution and only if you
152
+ received the program in object code or executable form with such
153
+ an offer, in accord with Subsection b above.)
154
+
155
+ The source code for a work means the preferred form of the work for
156
+ making modifications to it. For an executable work, complete source
157
+ code means all the source code for all modules it contains, plus any
158
+ associated interface definition files, plus the scripts used to
159
+ control compilation and installation of the executable. However, as a
160
+ special exception, the source code distributed need not include
161
+ anything that is normally distributed (in either source or binary
162
+ form) with the major components (compiler, kernel, and so on) of the
163
+ operating system on which the executable runs, unless that component
164
+ itself accompanies the executable.
165
+
166
+ If distribution of executable or object code is made by offering
167
+ access to copy from a designated place, then offering equivalent
168
+ access to copy the source code from the same place counts as
169
+ distribution of the source code, even though third parties are not
170
+ compelled to copy the source along with the object code.
171
+
172
+ 4. You may not copy, modify, sublicense, or distribute the Program
173
+ except as expressly provided under this License. Any attempt
174
+ otherwise to copy, modify, sublicense or distribute the Program is
175
+ void, and will automatically terminate your rights under this License.
176
+ However, parties who have received copies, or rights, from you under
177
+ this License will not have their licenses terminated so long as such
178
+ parties remain in full compliance.
179
+
180
+ 5. You are not required to accept this License, since you have not
181
+ signed it. However, nothing else grants you permission to modify or
182
+ distribute the Program or its derivative works. These actions are
183
+ prohibited by law if you do not accept this License. Therefore, by
184
+ modifying or distributing the Program (or any work based on the
185
+ Program), you indicate your acceptance of this License to do so, and
186
+ all its terms and conditions for copying, distributing or modifying
187
+ the Program or works based on it.
188
+
189
+ 6. Each time you redistribute the Program (or any work based on the
190
+ Program), the recipient automatically receives a license from the
191
+ original licensor to copy, distribute or modify the Program subject to
192
+ these terms and conditions. You may not impose any further
193
+ restrictions on the recipients' exercise of the rights granted herein.
194
+ You are not responsible for enforcing compliance by third parties to
195
+ this License.
196
+
197
+ 7. If, as a consequence of a court judgment or allegation of patent
198
+ infringement or for any other reason (not limited to patent issues),
199
+ conditions are imposed on you (whether by court order, agreement or
200
+ otherwise) that contradict the conditions of this License, they do not
201
+ excuse you from the conditions of this License. If you cannot
202
+ distribute so as to satisfy simultaneously your obligations under this
203
+ License and any other pertinent obligations, then as a consequence you
204
+ may not distribute the Program at all. For example, if a patent
205
+ license would not permit royalty-free redistribution of the Program by
206
+ all those who receive copies directly or indirectly through you, then
207
+ the only way you could satisfy both it and this License would be to
208
+ refrain entirely from distribution of the Program.
209
+
210
+ If any portion of this section is held invalid or unenforceable under
211
+ any particular circumstance, the balance of the section is intended to
212
+ apply and the section as a whole is intended to apply in other
213
+ circumstances.
214
+
215
+ It is not the purpose of this section to induce you to infringe any
216
+ patents or other property right claims or to contest validity of any
217
+ such claims; this section has the sole purpose of protecting the
218
+ integrity of the free software distribution system, which is
219
+ implemented by public license practices. Many people have made
220
+ generous contributions to the wide range of software distributed
221
+ through that system in reliance on consistent application of that
222
+ system; it is up to the author/donor to decide if he or she is willing
223
+ to distribute software through any other system and a licensee cannot
224
+ impose that choice.
225
+
226
+ This section is intended to make thoroughly clear what is believed to
227
+ be a consequence of the rest of this License.
228
+
229
+ 8. If the distribution and/or use of the Program is restricted in
230
+ certain countries either by patents or by copyrighted interfaces, the
231
+ original copyright holder who places the Program under this License
232
+ may add an explicit geographical distribution limitation excluding
233
+ those countries, so that distribution is permitted only in or among
234
+ countries not thus excluded. In such case, this License incorporates
235
+ the limitation as if written in the body of this License.
236
+
237
+ 9. The Free Software Foundation may publish revised and/or new versions
238
+ of the General Public License from time to time. Such new versions will
239
+ be similar in spirit to the present version, but may differ in detail to
240
+ address new problems or concerns.
241
+
242
+ Each version is given a distinguishing version number. If the Program
243
+ specifies a version number of this License which applies to it and "any
244
+ later version", you have the option of following the terms and conditions
245
+ either of that version or of any later version published by the Free
246
+ Software Foundation. If the Program does not specify a version number of
247
+ this License, you may choose any version ever published by the Free Software
248
+ Foundation.
249
+
250
+ 10. If you wish to incorporate parts of the Program into other free
251
+ programs whose distribution conditions are different, write to the author
252
+ to ask for permission. For software which is copyrighted by the Free
253
+ Software Foundation, write to the Free Software Foundation; we sometimes
254
+ make exceptions for this. Our decision will be guided by the two goals
255
+ of preserving the free status of all derivatives of our free software and
256
+ of promoting the sharing and reuse of software generally.
257
+
258
+ NO WARRANTY
259
+
260
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268
+ REPAIR OR CORRECTION.
269
+
270
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278
+ POSSIBILITY OF SUCH DAMAGES.
279
+
280
+ END OF TERMS AND CONDITIONS
281
+
282
+ How to Apply These Terms to Your New Programs
283
+
284
+ If you develop a new program, and you want it to be of the greatest
285
+ possible use to the public, the best way to achieve this is to make it
286
+ free software which everyone can redistribute and change under these terms.
287
+
288
+ To do so, attach the following notices to the program. It is safest
289
+ to attach them to the start of each source file to most effectively
290
+ convey the exclusion of warranty; and each file should have at least
291
+ the "copyright" line and a pointer to where the full notice is found.
292
+
293
+ <one line to give the program's name and a brief idea of what it does.>
294
+ Copyright (C) <year> <name of author>
295
+
296
+ This program is free software; you can redistribute it and/or modify
297
+ it under the terms of the GNU General Public License as published by
298
+ the Free Software Foundation; either version 2 of the License, or
299
+ (at your option) any later version.
300
+
301
+ This program is distributed in the hope that it will be useful,
302
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
303
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
304
+ GNU General Public License for more details.
305
+
306
+ You should have received a copy of the GNU General Public License along
307
+ with this program; if not, write to the Free Software Foundation, Inc.,
308
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
309
+
310
+ Also add information on how to contact you by electronic and paper mail.
311
+
312
+ If the program is interactive, make it output a short notice like this
313
+ when it starts in an interactive mode:
314
+
315
+ Gnomovision version 69, Copyright (C) year name of author
316
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
317
+ This is free software, and you are welcome to redistribute it
318
+ under certain conditions; type `show c' for details.
319
+
320
+ The hypothetical commands `show w' and `show c' should show the appropriate
321
+ parts of the General Public License. Of course, the commands you use may
322
+ be called something other than `show w' and `show c'; they could even be
323
+ mouse-clicks or menu items--whatever suits your program.
324
+
325
+ You should also get your employer (if you work as a programmer) or your
326
+ school, if any, to sign a "copyright disclaimer" for the program, if
327
+ necessary. Here is a sample; alter the names:
328
+
329
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
330
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
331
+
332
+ <signature of Ty Coon>, 1 April 1989
333
+ Ty Coon, President of Vice
334
+
335
+ This General Public License does not permit incorporating your program into
336
+ proprietary programs. If your program is a subroutine library, you may
337
+ consider it more useful to permit linking proprietary applications with the
338
+ library. If this is what you want to do, use the GNU Lesser General
339
+ Public License instead of this License.
readme-ar_AR.txt DELETED
@@ -1,37 +0,0 @@
1
- === صانع خريطة الموقع لبرنامج ووردبريس ===
2
-
3
-
4
- المطورون: Arne, Michael, Rodney, Hirosama, James, John, Brad, Christian
5
- ترجمة: سوار - http://www.sewar.be/wordpress/plugins/sitemap/
6
-
7
- هذه الأداة ستشئ خريطة لموقعك متوافقة مع محرك البحث google لمدونة ووردبريس الخاصة بك. حالياً يتم إضافة الصفحة الرئيسية, التدوينات, الصفحات, التصنيفات و الأرشيف إلى الخريطة آلياً. أفضلية التدوينة تعتمد على عدد التعليقات عليها. تعليقات أكثر, أفضلية أعلى! إذا كان لديك صفحات خارجية لا تنتمي إلى مدونتك, تستطيع أيضاً إضافتهم إلى الخريطة. هذه الأداة ستخبر Google تلقائياً عندما يتم إعادة إنشاء خريطة الموقع.
8
-
9
- == التثبيت ==
10
-
11
- 1. ارفع المجلد بالكامل إلى مجلد wp-content/plugins في موقعك، يكفي رفع الملفات التالية: sitemap.php و sitemap-ar.mo لكي تعمل الإضافة باللغة العربية.
12
- 2. إجعل مجلد مدونتك الرئيسي قابل للكتابة أو إنشأ ملفين و سمهم: sitemap.xml و sitemap.xml.gz و أجعلهم قابلين للكتابة.
13
- 2. فعل الإضافة من لوحة تحكم مدونتك.
14
- 3. حرر أو إنشر تدوينة أو إضغط على زر "إعادة إنشاء خريطة الموقع" في إعدادات خريطة الموقع.
15
-
16
- == الأسئلة المتكررة ==
17
-
18
- = لا يوجد في مدونتي تعليقات (أو قمت بإلغائهم) و جميع تدويناتي لديها الأفضلية صفر! =
19
- قم بتعطل حساب الأفضلية الآلية و حدد أفضلية ثابتة للتدوينات!
20
-
21
- = هل يجب علي دائماً الضغط على زر "إعادة إنشاء خريطة الموقع" إذا قمت بتعديل تدوينة? =
22
- A: لا! إذا قمت بتحرير أو نشر أو حذف تدوينة, سيتم إعادة إنشاء خريطة موقعك تلقائياً!
23
-
24
- = الإعدادات كثيرة جداً … هل يجب عليّ تغييرهم كلهم? =
25
- A: لا! فقط إذا أردت ذلك. الإعدادات الإفتراضية مناسبة!
26
-
27
- = ما هي الإصدارات التي تعمل عليها هذه الإضافة في ووردبريس? =
28
- A: هذه الإضافة تعمل على الإصدارة 1.5.1.1 و الإصدارات الأحدث بما في ذلك الإصدارة 2.0. بعض المستخدمين حصلت لهم مشاكل في الإصدارة 1.5. يجب أن تحدث مدونتك إلى آخر إصدار من برنامج ووردبريس لأنه يتضمن أيضاً على إغلاق ثغرات خطيرة.
29
-
30
- = ظهرت لي رسالة خطأ "fopen error" و / أو "permission denied" =
31
- A: إذا ظهرت لك أخطاء في الصلاحيات تأكد من إعدادات خريطة الموقع في لوحة التحكم. حاول أن تنشئ ملفين باسم sitemap.xml و sitemap.xml.gz يدوياً ثم أرفعهم إلى موقعك و غير الصلاحيات "CHMOD" إلى 666. ثم أعد إنشاء خارطة الموقع من لوحة التحكم. يوجد درس رائع لطريقة تغيير صلاحيات ملف تستطيع إيجاده في ووردبريس كوديكس.
32
-
33
- = ما هي إصدارات قاعدة البيانات MySQL المدعومة? =
34
- A: جميع إصدارات MySQL 4 تعمل, دعم إصدار MySQL 3 أضيف في الإصدارة 2.12 من هذه الإضافة.
35
-
36
- = هل أنا أحتاج حقاً إلى إستخدام هذه الأداة? =
37
- ربما لا إذا كان Google يعرف موقعك جيداً و يزوره يومياً. إذا لم يكن كذلك, ستكون أداة جيدة لإعلام Google بموقعك و التحديثات التي طرأت عليه. هذا سيجعل Google يحدث الصفحة فقط إذا تطلب الأمر ذلك و سوف يجعلك تحافظ على الـ Bandwith.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
readme-it_IT.txt DELETED
@@ -1,36 +0,0 @@
1
- === Google Sitemap Generator per WordPress ===
2
-
3
- Tag: wordpress, sitemap, google, plugin
4
- Contributi: Arne, Michael, Rodney, Hirosama, James, John, Brad, Christian
5
-
6
- Questo generatore crea una mappa del vostro blog WordPress (sitemap) secondo le specifiche di Google. Attualmente vengono gestiti la homepage, gli articoli, le pagine statiche, le categorie e gli archivi. La priorit� degli articoli dipende dai loro commenti. Pi� commenti, maggiore priorit�! Se si hanno pagine esterne che non appartngono al blog, queste pagine possono venir incluse all'elenco. Questo plugin eseguira una notifica automatica a Google ogni qualvolta la sitemap viene rigenerata.
7
-
8
- == Installzione ==
9
-
10
- 1. Caricare tutti i file nella directory wp-content/plugins
11
- 2. Rendere la directory del blog scrivibile OPPURE creare due file denominati sitemap.xml e sitemap.xml.gz e renderli scrivibili tramite CHMOD. Nella maggior pate dei casi la direcotry del vostro blog � gi� scrivibile.
12
- 2. Attivare il plugin tramite il pannello di controllo Plugin
13
- 3. Modificare o pubblicare un articolo o fare click su Ricostruisci la Sitemap nel pannello di amministrazione Sitemap nella sezione Opzioni
14
-
15
- == FAQ ==
16
-
17
- = Non ho commenti (o sono disabilitati) e tutti i miei articoli hanno priorit� zero! =
18
- A: Disabilitare il calcolo automatico della priorit� e definire una priorit� statica per gli articoli!
19
-
20
- = Devo far sempre click su "Ricostruisci la Sitemap" se modifico un articolo? =
21
- A: No! Quando si modifica/pubblica/cancella un articolo la sitemap viene rigenerata automaticamente!
22
-
23
- = Ci sono cos� tante opzioni� Devo cambiarle per forza? =
24
- A: No! Solo se lo desiderate. I valori predfiniti dovrebbero gi� essere ok!
25
-
26
- = Funziona con tutte le versioni di WordPress? =
27
- A: Spiacente, l'ho provata solo con la 1.5.1.1. Alcuni utenti hanno segnalato problemi con Wordpress 1.5. COnsiderate la possibilit� di un aggiornamento del vostro blog alla Versione corrente di WordPress che contiene inoltre anche "un importante aggiornamento di sicurezza".
28
-
29
- = Ottengo un fopen error e/o permesso negato =
30
- A: Se ottenete un errore sui permessi assicuratevi che lo script abbia i diritti di scrittura sulla directory del vostro blog. Provate a creare manualmente i file sitemap.xml e sitemap.xml.gz e a caricarli con un programma ftp impostando i diritti di scrittura tramite CHMOD. Quindi riavviate la generazione della sitemap dalla pagina di amministrazione. Un valida guida per modificare i permessi si trova sul Codex di WordPress.
31
-
32
- = Quale versione di MySQL � supportata? =
33
- A: MySQL 4 funziona con tutte le versioni, il supporto a MySQL 3 � stato aggiunto nella versione 2.12
34
-
35
- = Devo usare per forza questo plugin? =
36
- No se Google conosce bene il vostro blog e lo visita ogni giorno. Se non accade questo � un ottimo metodo per informare Google riguardo alle vostre pagine ed i loro ultimi cambiamenti. Ci� fa si che Google aggiorni le pagine solo se necessario dandovi un certo risparmio di banda.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
readme.txt CHANGED
@@ -2,9 +2,9 @@
2
  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.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
 
@@ -19,43 +19,38 @@ Related Links:
19
  * <a href="http://www.arnebrachhold.de/2006/04/07/google-sitemaps-faq-sitemap-issues-errors-and-problems/" title="Google Sitemaps FAQ">Plugin and sitemaps FAQ</a>
20
  * <a href="http://wordpress.org/tags/google-sitemap-generator?forum_id=10">Support Forum</a>
21
 
22
- *This release is not compatible with the new multisite feature of WordPress 3.0 yet. The plugin will remain inactive as long as this feature is enabled. If you are using this feature, try out the new <a href="http://www.arnebrachhold.de/redir/sitemap-dl-beta/">Beta version</a> which fully supports multisite mode as well as network activation!*
23
-
24
- *This release is compatible with all WordPress versions since 2.1. If you are still using an older one, use <a href="http://downloads.wordpress.org/plugin/google-sitemap-generator.2.7.1.zip">version 2.7.1</a> instead.*
25
-
26
  == Installation ==
27
 
28
  1. Upload the full directory into your wp-content/plugins directory
29
- 2. Use your favorite FTP program to create two files in your WordPress directory (that's where the wp-config.php is) named sitemap.xml and sitemap.xml.gz and make them writable via CHMOD 666. More information about CHMOD and how to make files writable is available at the [WordPress Codex](http://codex.wordpress.org/Changing_File_Permissions) and on [stadtaus.com](http://www.stadtaus.com/en/tutorials/chmod-ftp-file-permissions.php). Making your whole blog directory writable is NOT recommended anymore due to security reasons.
30
- 4. Activate the plugin at the plugin administration page
31
- 5. Open the plugin configuration page, which is located under Options -> XML-Sitemap and build the sitemap the first time. If you get a permission error, check the file permissions of the newly created files.
32
- 6. The plugin will automatically update your sitemap of you publish a post, so theres nothing more to do :)
33
 
34
- == Frequently Asked Questions ==
35
 
36
- = There are no comments yet (or I've disabled them) and all my postings have a priority of zero! =
37
 
38
- Please disable automatic priority calculation and define a static priority for posts.
39
 
40
- = Do I always have to click on "Rebuild Sitemap" if I modified a post? =
41
 
42
- No, if you edit/publish/delete a post, your sitemap is automatically regenerated
43
 
44
- = So much configuration options... Do I need to change them? =
45
 
46
- No, only if you want to. Default values should be ok!
47
 
48
- = Does this plugin work with all WordPress versions? =
49
 
50
- This version works with WordPress 2.1 and better. If you're using an older version, please check the [Google Sitemaps Plugin Homepage](http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/ "Google (XML) Sitemap Generator Plugin Homepage") for the legacy releases. There is a working release for every WordPress version since 1.5
51
 
52
- = I get an fopen and / or permission denied error or my sitemap files could not be written =
53
 
54
- If you get permission errors, make sure that the script has the right to overwrite the sitemap.xml and sitemap.xml.gz files. Try to create the sitemap.xml resp. sitemap.xml.gz at manually and upload them with a ftp program and set the rights with CHMOD to 666 (or 777 if 666 still doesn't work). Then restart sitemap generation on the administration page. A good tutorial for changing file permissions can be found on the [WordPress Codex](http://codex.wordpress.org/Changing_File_Permissions) and at [stadtaus.com](http://www.stadtaus.com/en/tutorials/chmod-ftp-file-permissions.php).
55
 
56
  = My question isn't answered here =
57
 
58
- Most of the plugin options are described at the [plugin homepage](http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/) as well as the dedicated [Google Sitemap FAQ](http://www.arnebrachhold.de/2006/04/07/google-sitemaps-faq-sitemap-issues-errors-and-problems/ "List of common questions / problems regarding Google (XML) Sitemaps")
59
 
60
  = My question isn't even answered there =
61
 
2
  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: 3.3
6
+ Tested up to: 3.9
7
+ Stable tag: 4.0
8
 
9
  This plugin will generate a special XML sitemap which will help search engines to better index your blog.
10
 
19
  * <a href="http://www.arnebrachhold.de/2006/04/07/google-sitemaps-faq-sitemap-issues-errors-and-problems/" title="Google Sitemaps FAQ">Plugin and sitemaps FAQ</a>
20
  * <a href="http://wordpress.org/tags/google-sitemap-generator?forum_id=10">Support Forum</a>
21
 
 
 
 
 
22
  == Installation ==
23
 
24
  1. Upload the full directory into your wp-content/plugins directory
25
+ 2. Activate the plugin at the plugin administration page
26
+ 3. Open the plugin configuration page, which is located under Settings -> XML-Sitemap and customize settings like priorities and change frequencies.
27
+ 4. The plugin will automatically update your sitemap of you publish a post, so theres nothing more to do :)
 
28
 
29
+ == Frequently Asked Questions ==
30
 
31
+ = Do I have to create a sitemap.xml and sitemap.xml.gz by myself? =
32
 
33
+ No. Since version 4, these files are dynamically generated. **There must be no sitemap.xml or sitemap.xml.gz in your blog directory anymore!*** The plugin will try to rename them to sitemap.xml.bak if they still exists.
34
 
35
+ = Does this plugin use static files? =
36
 
37
+ No. Since version 4, these files are dynamically generated. **There must be no sitemap.xml or sitemap.xml.gz in your blog directory anymore!*** The plugin will try to rename them to sitemap.xml.bak if they still exists.
38
 
39
+ = There are no comments yet (or I've disabled them) and all my postings have a priority of zero! =
40
 
41
+ Please disable automatic priority calculation and define a static priority for posts.
42
 
43
+ = So much configuration options... Do I need to change them? =
44
 
45
+ No, only if you want to. Default values are ok for most sites.
46
 
47
+ = Does this plugin work with all WordPress versions? =
48
 
49
+ This version works with WordPress 2.9 and better. If you're using an older version, please check the [Google Sitemaps Plugin Homepage](http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/ "Google (XML) Sitemap Generator Plugin Homepage") for the legacy releases. There is a working release for every WordPress version since 1.5.
50
 
51
  = My question isn't answered here =
52
 
53
+ Most of the plugin options are described at the [plugin homepage](http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/) as well as the dedicated [Google Sitemaps FAQ](http://www.arnebrachhold.de/2006/04/07/google-sitemaps-faq-sitemap-issues-errors-and-problems/ "List of common questions / problems regarding Google (XML) Sitemaps").
54
 
55
  = My question isn't even answered there =
56
 
sitemap-builder.php ADDED
@@ -0,0 +1,495 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+
4
+ $Id: sitemap-builder.php 882527 2014-03-26 19:05:29Z arnee $
5
+
6
+ */
7
+ /**
8
+ * Default sitemap builder
9
+ *
10
+ * @author Arne Brachhold
11
+ * @package sitemap
12
+ * @since 4.0
13
+ */
14
+ class GoogleSitemapGeneratorStandardBuilder {
15
+
16
+ public function __construct() {
17
+ add_action("sm_build_index", array($this, "Index"), 10, 1);
18
+ add_action("sm_build_content", array($this, "Content"), 10, 3);
19
+ }
20
+
21
+ /**
22
+ * @param $gsg GoogleSitemapGenerator
23
+ * @param $type String
24
+ * @param $params array
25
+ */
26
+ public function Content($gsg, $type, $params) {
27
+
28
+ switch($type) {
29
+ case "pt":
30
+ $this->BuildPosts($gsg, $type, $params);
31
+ break;
32
+ case "archives":
33
+ $this->BuildArchives($gsg);
34
+ break;
35
+ case "authors":
36
+ $this->BuildAuthors($gsg);
37
+ break;
38
+ case "tax":
39
+ $this->BuildTaxonomies($gsg, $params);
40
+ break;
41
+ case "externals":
42
+ $this->BuildExternals($gsg);
43
+ break;
44
+ case "misc":
45
+ $this->BuildMisc($gsg);
46
+ break;
47
+ }
48
+ }
49
+
50
+ /**
51
+ * Adds a condition to the query to filter out password protected posts
52
+ * @param $where The where statement
53
+ * @return String Changed where statement
54
+ */
55
+ public function FilterPassword($where) {
56
+ global $wpdb;
57
+ $where .= "AND ($wpdb->posts.post_password = '') ";
58
+ return $where;
59
+ }
60
+
61
+ /**
62
+ * Adds the list of required fields to the query so no big fields like post_content will be selected
63
+ * @param $fields The current fields
64
+ * @return String Changed fields statement
65
+ */
66
+ public function FilterFields($fields) {
67
+ global $wpdb;
68
+
69
+ $newFields = array(
70
+ $wpdb->posts . ".ID",
71
+ $wpdb->posts . ".post_author",
72
+ $wpdb->posts . ".post_date",
73
+ $wpdb->posts . ".post_date_gmt",
74
+ $wpdb->posts . ".post_content",
75
+ $wpdb->posts . ".post_title",
76
+ $wpdb->posts . ".post_excerpt",
77
+ $wpdb->posts . ".post_status",
78
+ $wpdb->posts . ".post_name",
79
+ $wpdb->posts . ".post_modified",
80
+ $wpdb->posts . ".post_modified_gmt",
81
+ $wpdb->posts . ".post_content_filtered",
82
+ $wpdb->posts . ".post_parent",
83
+ $wpdb->posts . ".guid",
84
+ $wpdb->posts . ".post_type", "post_mime_type",
85
+ $wpdb->posts . ".comment_count"
86
+ );
87
+
88
+ $fields = implode(", ", $newFields);
89
+ return $fields;
90
+ }
91
+
92
+
93
+ /**
94
+ * @param $gsg GoogleSitemapGenerator
95
+ * @param $params String
96
+ */
97
+ public function BuildPosts($gsg, $type, $params) {
98
+
99
+ if(!$pts = strpos($params, "-")) return;
100
+
101
+ $postType = substr($params, 0, $pts);
102
+
103
+ if(!in_array($postType, $gsg->GetActivePostTypes())) return;
104
+
105
+ $params = substr($params, $pts + 1);
106
+
107
+ global $wp_version;
108
+
109
+ if(preg_match('/^([0-9]{4})\-([0-9]{2})$/', $params, $matches)) {
110
+ $year = $matches[1];
111
+ $month = $matches[2];
112
+
113
+ //All comments as an asso. Array (postID=>commentCount)
114
+ $comments = ($gsg->GetOption("b_prio_provider") != "" ? $gsg->GetComments() : array());
115
+
116
+ //Full number of comments
117
+ $commentCount = (count($comments) > 0 ? $gsg->GetCommentCount($comments) : 0);
118
+
119
+ $qp = $this->BuildPostQuery($gsg, $postType);
120
+
121
+ $qp['year'] = $year;
122
+ $qp['monthnum'] = $month;
123
+
124
+ //Don't retrieve and update meta values and taxonomy terms if they are not used in the permalink
125
+ $struct = get_option('permalink_structure');
126
+ if(strpos($struct, "%category%") === false && strpos($struct, "%tag%") == false) {
127
+ $qp['update_post_term_cache'] = false;
128
+ }
129
+
130
+ $qp['update_post_meta_cache'] = false;
131
+
132
+ //Add filter to remove password protected posts
133
+ add_filter('posts_search', array($this, 'FilterPassword'), 10, 1);
134
+
135
+ //Add filter to filter the fields
136
+ add_filter('posts_fields', array($this, 'FilterFields'), 10, 1);
137
+
138
+ $posts = get_posts($qp);
139
+
140
+ //Remove the filter again
141
+ remove_filter("posts_where", array($this, 'FilterPassword'), 10, 1);
142
+ remove_filter("posts_fields", array($this, 'FilterFields'), 10, 1);
143
+
144
+ if($postCount = count($posts) > 0) {
145
+
146
+ $prioProvider = NULL;
147
+
148
+ if($gsg->GetOption("b_prio_provider") != '') {
149
+ $providerClass = $gsg->GetOption('b_prio_provider');
150
+ $prioProvider = new $providerClass($commentCount, $postCount);
151
+ }
152
+
153
+ //Default priorities
154
+ $default_prio_posts = $gsg->GetOption('pr_posts');
155
+ $default_prio_pages = $gsg->GetOption('pr_pages');
156
+
157
+ //Change frequencies
158
+ $cf_pages = $gsg->GetOption('cf_pages');
159
+ $cf_posts = $gsg->GetOption('cf_posts');
160
+
161
+ //Minimum priority
162
+ $minPrio = $gsg->GetOption('pr_posts_min');
163
+
164
+ //Page as home handling
165
+ $homePid = 0;
166
+ $home = get_bloginfo('url');
167
+ if('page' == get_option('show_on_front') && get_option('page_on_front')) {
168
+ $pageOnFront = get_option('page_on_front');
169
+ $p = get_post($pageOnFront);
170
+ if($p) $homePid = $p->ID;
171
+ }
172
+
173
+ foreach($posts AS $post) {
174
+
175
+ $permalink = get_permalink($post->ID);
176
+
177
+ //Exclude the home page and placeholder items by some plugins...
178
+ if(!empty($permalink) && $permalink != $home && $post->ID != $homePid && $permalink != "#") {
179
+
180
+ //Default Priority if auto calc is disabled
181
+ $prio = ($postType == 'page' ? $default_prio_pages : $default_prio_posts);
182
+
183
+ //If priority calc. is enabled, calculate (but only for posts, not pages)!
184
+ if($prioProvider !== null && $postType == 'post') {
185
+ //Comment count for this post
186
+ $cmtcnt = (isset($comments[$post->ID]) ? $comments[$post->ID] : 0);
187
+ $prio = $prioProvider->GetPostPriority($post->ID, $cmtcnt, $post);
188
+ }
189
+
190
+ if($postType == 'post' && $minPrio > 0 && $prio < $minPrio) $prio = $minPrio;
191
+
192
+ $gsg->AddUrl($permalink, $gsg->GetTimestampFromMySql(($post->post_modified_gmt && $post->post_modified_gmt != '0000-00-00 00:00:00'
193
+ ? $post->post_modified_gmt
194
+ : $post->post_date_gmt)), ($postType == 'page' ? $cf_pages
195
+ : $cf_posts), $prio, $post->ID);
196
+
197
+ }
198
+ }
199
+ }
200
+ }
201
+ }
202
+
203
+ /**
204
+ * @param $gsg GoogleSitemapGenerator
205
+ */
206
+ public function BuildArchives($gsg) {
207
+ global $wpdb, $wp_version;
208
+ $now = current_time('mysql');
209
+
210
+ $arcresults = $wpdb->get_results("
211
+ SELECT DISTINCT
212
+ YEAR(post_date_gmt) AS `year`,
213
+ MONTH(post_date_gmt) AS `month`,
214
+ MAX(post_date_gmt) AS last_mod,
215
+ count(ID) AS posts
216
+ FROM
217
+ $wpdb->posts
218
+ WHERE
219
+ post_date < '$now'
220
+ AND post_status = 'publish'
221
+ AND post_type = 'post'
222
+ GROUP BY
223
+ YEAR(post_date_gmt),
224
+ MONTH(post_date_gmt)
225
+ ORDER BY
226
+ post_date_gmt DESC
227
+ ");
228
+
229
+ if($arcresults) {
230
+ foreach($arcresults as $arcresult) {
231
+
232
+ $url = get_month_link($arcresult->year, $arcresult->month);
233
+ $changeFreq = "";
234
+
235
+ //Archive is the current one
236
+ if($arcresult->month == date("n") && $arcresult->year == date("Y")) {
237
+ $changeFreq = $gsg->GetOption("cf_arch_curr");
238
+ } else { // Archive is older
239
+ $changeFreq = $gsg->GetOption("cf_arch_old");
240
+ }
241
+
242
+ $gsg->AddUrl($url, $gsg->GetTimestampFromMySql($arcresult->last_mod), $changeFreq, $gsg->GetOption("pr_arch"));
243
+ }
244
+ }
245
+ }
246
+
247
+ /**
248
+ * @param $gsg GoogleSitemapGenerator
249
+ */
250
+ public function BuildMisc($gsg) {
251
+
252
+ if($gsg->GetOption("in_home")) {
253
+ $home = get_bloginfo('url');
254
+ $homePid = 0;
255
+ //Add the home page (WITH a slash!)
256
+ if($gsg->GetOption("in_home")) {
257
+ if('page' == get_option('show_on_front') && get_option('page_on_front')) {
258
+ $pageOnFront = get_option('page_on_front');
259
+ $p = get_page($pageOnFront);
260
+ if($p) {
261
+ $homePid = $p->ID;
262
+ $gsg->AddUrl(trailingslashit($home), $gsg->GetTimestampFromMySql(($p->post_modified_gmt && $p->post_modified_gmt != '0000-00-00 00:00:00'
263
+ ? $p->post_modified_gmt
264
+ : $p->post_date_gmt)), $gsg->GetOption("cf_home"), $gsg->GetOption("pr_home"));
265
+ }
266
+ } else {
267
+ $lm = get_lastpostmodified('GMT');
268
+ $gsg->AddUrl(trailingslashit($home), ($lm ? $gsg->GetTimestampFromMySql($lm)
269
+ : time()), $gsg->GetOption("cf_home"), $gsg->GetOption("pr_home"));
270
+ }
271
+ }
272
+ }
273
+
274
+ if($gsg->IsXslEnabled() && $gsg->GetOption("b_html") === true) {
275
+ $lm = get_lastpostmodified('GMT');
276
+ $gsg->AddUrl($gsg->GetXmlUrl("", "", array("html" => true)), ($lm ? $gsg->GetTimestampFromMySql($lm)
277
+ : time()));
278
+ }
279
+
280
+ do_action('sm_buildmap');
281
+ }
282
+
283
+ /**
284
+ * @param $gsg GoogleSitemapGenerator
285
+ */
286
+ public function BuildAuthors($gsg) {
287
+ global $wpdb, $wp_version;
288
+
289
+ //Unfortunately there is no API function to get all authors, so we have to do it the dirty way...
290
+ //We retrieve only users with published and not password protected enabled post types
291
+
292
+ $enabledPostTypes = $gsg->GetActivePostTypes();
293
+
294
+ //Ensure we count at least the posts...
295
+ if(count($enabledPostTypes) == 0) $enabledPostTypes[] = "post";
296
+
297
+ $sql = "SELECT DISTINCT
298
+ u.ID,
299
+ u.user_nicename,
300
+ MAX(p.post_modified_gmt) AS last_post
301
+ FROM
302
+ {$wpdb->users} u,
303
+ {$wpdb->posts} p
304
+ WHERE
305
+ p.post_author = u.ID
306
+ AND p.post_status = 'publish'
307
+ AND p.post_type IN('" . implode("','", array_map(array($wpdb, 'escape'), $enabledPostTypes)) . "')
308
+ AND p.post_password = ''
309
+ GROUP BY
310
+ u.ID,
311
+ u.user_nicename";
312
+
313
+ $authors = $wpdb->get_results($sql);
314
+
315
+ if($authors && is_array($authors)) {
316
+ foreach($authors as $author) {
317
+ $url = get_author_posts_url($author->ID, $author->user_nicename);
318
+ $gsg->AddUrl($url, $gsg->GetTimestampFromMySql($author->last_post), $gsg->GetOption("cf_auth"), $gsg->GetOption("pr_auth"));
319
+ }
320
+ }
321
+ }
322
+
323
+
324
+ public function FilterTermsQuery($selects, $args) {
325
+ global $wpdb;
326
+ $selects[] = "
327
+ ( /* ADDED BY XML SITEMAPS */
328
+ SELECT
329
+ UNIX_TIMESTAMP(MAX(p.post_date_gmt)) as _mod_date
330
+ FROM
331
+ {$wpdb->posts} p,
332
+ {$wpdb->term_relationships} r
333
+ WHERE
334
+ p.ID = r.object_id
335
+ AND p.post_status = 'publish'
336
+ AND p.post_password = ''
337
+ AND r.term_taxonomy_id = tt.term_taxonomy_id
338
+ ) as _mod_date";
339
+
340
+ return $selects;
341
+ }
342
+
343
+ /**
344
+ * @param $gsg GoogleSitemapGenerator
345
+ */
346
+ public function BuildTaxonomies($gsg, $taxonomy) {
347
+ global $wpdb;
348
+
349
+ $enabledTaxonomies = $this->GetEnabledTaxonomies($gsg);
350
+ if(in_array($taxonomy, $enabledTaxonomies)) {
351
+
352
+ $excludes = array();
353
+
354
+ if($taxonomy == "category") {
355
+ $exclCats = $gsg->GetOption("b_exclude_cats"); // Excluded cats
356
+ if($exclCats) $excludes = $exclCats;
357
+ }
358
+
359
+ add_filter("get_terms_fields", array($this, "FilterTermsQuery"), 20, 2);
360
+ $terms = get_terms($taxonomy, array("hide_empty" => true, "hierarchical" => false, "exclude" => $excludes));
361
+ remove_filter("get_terms_fields", array($this, "FilterTermsQuery"), 20, 2);
362
+
363
+ foreach($terms AS $term) {
364
+ $gsg->AddUrl(get_term_link($term, $term->taxonomy), $term->_mod_date, $gsg->GetOption("cf_tags"), $gsg->GetOption("pr_tags"));
365
+ }
366
+ }
367
+ }
368
+
369
+ public function GetEnabledTaxonomies(GoogleSitemapGenerator $gsg) {
370
+
371
+ $enabledTaxonomies = $gsg->GetOption("in_tax");
372
+ if($gsg->GetOption("in_tags")) $enabledTaxonomies[] = "post_tag";
373
+ if($gsg->GetOption("in_cats")) $enabledTaxonomies[] = "category";
374
+
375
+ $taxList = array();
376
+ foreach($enabledTaxonomies as $taxName) {
377
+ $taxonomy = get_taxonomy($taxName);
378
+ if($taxonomy && wp_count_terms($taxonomy->name, array('hide_empty' => true)) > 0) $taxList[] = $taxonomy->name;
379
+ }
380
+ return $taxList;
381
+ }
382
+
383
+ /**
384
+ * @param $gsg GoogleSitemapGenerator
385
+ */
386
+ public function BuildExternals($gsg) {
387
+ $pages = $gsg->GetPages();
388
+ if($pages && is_array($pages) && count($pages) > 0) {
389
+ foreach($pages AS $page) {
390
+ $gsg->AddUrl($page->GetUrl(), $page->getLastMod(), $page->getChangeFreq(), $page->getPriority());
391
+ }
392
+ }
393
+ }
394
+
395
+ public function BuildPostQuery($gsg, $postType) {
396
+ //Default Query Parameters
397
+ $qp = array(
398
+ 'post_type' => $postType,
399
+ 'numberposts' => 0,
400
+ 'nopaging' => true,
401
+ 'suppress_filters' => false
402
+ );
403
+
404
+
405
+ $excludes = $gsg->GetExcludedPostIDs($gsg);
406
+
407
+ if(count($excludes) > 0) {
408
+ $qp["post__not_in"] = $excludes;
409
+ }
410
+
411
+ // Excluded category IDs
412
+ $exclCats = $gsg->GetExcludedCategoryIDs($gsg);
413
+
414
+ if(count($exclCats) > 0) {
415
+ $qp["category__not_in"] = $exclCats;
416
+ }
417
+
418
+ return $qp;
419
+ }
420
+
421
+ /**
422
+ * @param $gsg GoogleSitemapGenerator
423
+ */
424
+ public function Index($gsg) {
425
+ /**
426
+ * @var $wpdb wpdb
427
+ */
428
+ global $wpdb, $wp_version;
429
+
430
+
431
+ $blogUpdate = strtotime(get_lastpostdate('blog'));
432
+
433
+ $gsg->AddSitemap("misc", null, $blogUpdate);
434
+
435
+ if($gsg->GetOption("in_arch")) $gsg->AddSitemap("archives", null, $blogUpdate);
436
+ if($gsg->GetOption("in_auth")) $gsg->AddSitemap("authors", null, $blogUpdate);
437
+
438
+ $taxonomies = $this->GetEnabledTaxonomies($gsg);
439
+ foreach($taxonomies AS $tax) {
440
+ $gsg->AddSitemap("tax", $tax, $blogUpdate);
441
+ }
442
+
443
+ $pages = $gsg->GetPages();
444
+ if(count($pages) > 0) $gsg->AddSitemap("externals", null, $blogUpdate);
445
+
446
+ $enabledPostTypes = $gsg->GetActivePostTypes();
447
+
448
+ if(count($enabledPostTypes) > 0) {
449
+
450
+ $excludedPostIDs = $gsg->GetExcludedPostIDs($gsg);
451
+ $exPostSQL = "";
452
+ if(count($excludedPostIDs) > 0) {
453
+ $exPostSQL = "AND p.ID NOT IN (" . implode(",", $excludedPostIDs) . ")";
454
+ }
455
+
456
+ $excludedCategoryIDs = $gsg->GetExcludedCategoryIDs($gsg);
457
+ $exCatSQL = "";
458
+ if(count($excludedCategoryIDs) > 0) {
459
+ $exCatSQL = "AND ( p.ID NOT IN ( SELECT object_id FROM {$wpdb->term_relationships} WHERE term_taxonomy_id IN (" . implode(",", $excludedCategoryIDs) . ")))";
460
+ }
461
+
462
+ foreach($enabledPostTypes AS $postType) {
463
+ $q = "
464
+ SELECT
465
+ YEAR(p.post_date) AS `year`,
466
+ MONTH(p.post_date) AS `month`,
467
+ COUNT(p.ID) AS `numposts`,
468
+ MAX(p.post_date) as `last_mod`
469
+ FROM
470
+ {$wpdb->posts} p
471
+ WHERE
472
+ p.post_password = ''
473
+ AND p.post_type = '" . esc_sql($postType) . "'
474
+ AND p.post_status = 'publish'
475
+ $exPostSQL
476
+ $exCatSQL
477
+ GROUP BY
478
+ YEAR(p.post_date),
479
+ MONTH(p.post_date)
480
+ ORDER BY
481
+ p.post_date DESC";
482
+
483
+ $posts = $wpdb->get_results($q);
484
+
485
+ if($posts) {
486
+ foreach($posts as $post) {
487
+ $gsg->AddSitemap("pt", $postType . "-" . sprintf("%04d-%02d", $post->year, $post->month), $gsg->GetTimestampFromMySql($post->last_mod));
488
+ }
489
+ }
490
+ }
491
+ }
492
+ }
493
+ }
494
+
495
+ if(defined("WPINC")) new GoogleSitemapGeneratorStandardBuilder();
sitemap-core.php CHANGED
@@ -1,223 +1,184 @@
1
  <?php
2
  /*
3
 
4
- $Id: sitemap-core.php 809741 2013-11-24 18:32:07Z arnee $
5
 
6
  */
7
 
8
  //Enable for dev! Good code doesn't generate any notices...
9
  //error_reporting(E_ALL);
10
- //ini_set("display_errors",1);
11
 
12
  /**
13
- * Represents the status (success and failures) of a building process
14
  * @author Arne Brachhold
15
  * @package sitemap
16
  * @since 3.0b5
17
  */
18
  class GoogleSitemapGeneratorStatus {
19
 
20
- function GoogleSitemapGeneratorStatus() {
21
- $this->_startTime = $this->GetMicrotimeFloat();
22
-
23
- $exists = get_option("sm_status");
24
-
25
- if($exists === false) add_option("sm_status","",null,"no");
26
-
27
- $this->Save();
28
- }
29
-
30
- function Save() {
31
- update_option("sm_status",$this);
32
- }
33
-
34
- /**
35
- * Returns the last saved status object or null
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;
43
- }
44
-
45
  /**
46
  * @var float $_startTime The start time of the building process
47
- * @access private
48
  */
49
- var $_startTime = 0;
50
 
51
  /**
52
  * @var float $_endTime The end time of the building process
53
- * @access private
54
- */
55
- var $_endTime = 0;
56
-
57
- /**
58
- * @var bool $$_hasChanged Indicates if the sitemap content has changed
59
- * @access private
60
- */
61
- var $_hasChanged = true;
62
-
63
- /**
64
- * @var int $_memoryUsage The amount of memory used in bytes
65
- * @access private
66
  */
67
- var $_memoryUsage = 0;
68
 
69
  /**
70
- * @var int $_lastPost The number of posts processed. This value is updated every 50 posts.
71
- * @access private
72
  */
73
- var $_lastPost = 0;
74
 
75
  /**
76
- * @var int $_lastTime The time when the last step-update occured. This value is updated every 50 posts.
77
- * @access private
78
  */
79
- var $_lastTime = 0;
80
-
81
- function End($hasChanged = true) {
82
- $this->_endTime = $this->GetMicrotimeFloat();
83
-
84
- $this->SetMemoryUsage();
85
-
86
- $this->_hasChanged = $hasChanged;
87
-
88
- $this->Save();
89
- }
90
-
91
- function SetMemoryUsage() {
92
- if(function_exists("memory_get_peak_usage")) {
93
- $this->_memoryUsage = memory_get_peak_usage(true);
94
- } else if(function_exists("memory_get_usage")) {
95
- $this->_memoryUsage = memory_get_usage(true);
96
- }
97
- }
98
 
99
- function GetMemoryUsage() {
100
- return round($this->_memoryUsage / 1024 / 1024,2);
101
- }
102
 
103
- function SaveStep($postCount) {
104
- $this->SetMemoryUsage();
105
- $this->_lastPost = $postCount;
106
- $this->_lastTime = $this->GetMicrotimeFloat();
107
 
108
  $this->Save();
109
  }
110
 
111
- function GetTime() {
112
- return round($this->_endTime - $this->_startTime,2);
113
- }
114
-
115
- function GetStartTime() {
116
- return round($this->_startTime, 2);
117
- }
118
-
119
- function GetLastTime() {
120
- return round($this->_lastTime - $this->_startTime,2);
121
  }
122
 
123
- function GetLastPost() {
124
- return $this->_lastPost;
 
 
 
 
 
 
 
 
 
125
  }
126
 
127
- var $_usedXml = false;
128
- var $_xmlSuccess = false;
129
- var $_xmlPath = '';
130
- var $_xmlUrl = '';
131
-
132
- function StartXml($path,$url) {
133
- $this->_usedXml = true;
134
- $this->_xmlPath = $path;
135
- $this->_xmlUrl = $url;
136
-
137
  $this->Save();
138
  }
139
 
140
- function EndXml($success) {
141
- $this->_xmlSuccess = $success;
142
-
143
- $this->Save();
 
 
144
  }
145
 
146
-
147
- var $_usedZip = false;
148
- var $_zipSuccess = false;
149
- var $_zipPath = '';
150
- var $_zipUrl = '';
151
-
152
- function StartZip($path,$url) {
153
- $this->_usedZip = true;
154
- $this->_zipPath = $path;
155
- $this->_zipUrl = $url;
156
-
157
- $this->Save();
158
  }
159
 
160
- function EndZip($success) {
161
- $this->_zipSuccess = $success;
 
 
 
 
 
 
 
 
 
 
 
 
162
 
163
  $this->Save();
164
  }
165
 
166
- var $_usedGoogle = false;
167
- var $_googleUrl = '';
168
- var $_gooogleSuccess = false;
169
- var $_googleStartTime = 0;
170
- var $_googleEndTime = 0;
171
-
172
- function StartGooglePing($url) {
173
- $this->_googleUrl = $url;
174
- $this->_usedGoogle = true;
175
- $this->_googleStartTime = $this->GetMicrotimeFloat();
176
 
177
  $this->Save();
178
  }
179
 
180
- function EndGooglePing($success) {
181
- $this->_googleEndTime = $this->GetMicrotimeFloat();
182
- $this->_gooogleSuccess = $success;
183
-
184
- $this->Save();
 
 
 
 
185
  }
186
 
187
- function GetGoogleTime() {
188
- return round($this->_googleEndTime - $this->_googleStartTime,2);
 
 
 
 
 
 
189
  }
190
 
191
- var $_usedMsn = false;
192
- var $_msnUrl = '';
193
- var $_msnSuccess = false;
194
- var $_msnStartTime = 0;
195
- var $_msnEndTime = 0;
196
-
197
- function StartMsnPing($url) {
198
- $this->_usedMsn = true;
199
- $this->_msnUrl = $url;
200
- $this->_msnStartTime = $this->GetMicrotimeFloat();
201
-
202
- $this->Save();
203
  }
204
 
205
- function EndMsnPing($success) {
206
- $this->_msnEndTime = $this->GetMicrotimeFloat();
207
- $this->_msnSuccess = $success;
208
-
209
- $this->Save();
 
 
 
210
  }
211
 
212
- function GetMsnTime() {
213
- return round($this->_msnEndTime - $this->_msnStartTime,2);
 
 
 
 
 
 
214
  }
215
 
216
- function GetMicrotimeFloat() {
217
- list($usec, $sec) = explode(" ", microtime());
218
- return ((float)$usec + (float)$sec);
 
 
 
 
219
  }
220
- }
221
 
222
  /**
223
  * Represents an item in the page list
@@ -229,45 +190,47 @@ class GoogleSitemapGeneratorPage {
229
 
230
  /**
231
  * @var string $_url Sets the URL or the relative path to the blog dir of the page
232
- * @access private
233
  */
234
- var $_url;
235
 
236
  /**
237
  * @var float $_priority Sets the priority of this page
238
- * @access private
239
  */
240
- var $_priority;
241
 
242
  /**
243
  * @var string $_changeFreq Sets the chanfe frequency of the page. I want Enums!
244
- * @access private
245
  */
246
- var $_changeFreq;
247
 
248
  /**
249
  * @var int $_lastMod Sets the lastMod date as a UNIX timestamp.
250
- * @access private
251
  */
252
- var $_lastMod;
 
 
 
 
 
253
 
254
  /**
255
  * Initialize a new page object
256
  *
257
  * @since 3.0
258
- * @access public
259
- * @author Arne Brachhold
260
- * @param bool $enabled Should this page be included in thesitemap
261
  * @param string $url The URL or path of the file
262
  * @param float $priority The Priority of the page 0.0 to 1.0
263
  * @param string $changeFreq The change frequency like daily, hourly, weekly
264
  * @param int $lastMod The last mod date as a unix timestamp
 
 
 
265
  */
266
- function GoogleSitemapGeneratorPage($url="",$priority=0.0,$changeFreq="never",$lastMod=0) {
267
  $this->SetUrl($url);
268
  $this->SetProprity($priority);
269
  $this->SetChangeFreq($changeFreq);
270
  $this->SetLastMod($lastMod);
 
271
  }
272
 
273
  /**
@@ -275,7 +238,7 @@ class GoogleSitemapGeneratorPage {
275
  *
276
  * @return string The URL
277
  */
278
- function GetUrl() {
279
  return $this->_url;
280
  }
281
 
@@ -284,8 +247,8 @@ class GoogleSitemapGeneratorPage {
284
  *
285
  * @param string $url The new URL
286
  */
287
- function SetUrl($url) {
288
- $this->_url=(string) $url;
289
  }
290
 
291
  /**
@@ -293,7 +256,7 @@ class GoogleSitemapGeneratorPage {
293
  *
294
  * @return float the priority, from 0.0 to 1.0
295
  */
296
- function GetPriority() {
297
  return $this->_priority;
298
  }
299
 
@@ -302,8 +265,8 @@ class GoogleSitemapGeneratorPage {
302
  *
303
  * @param float $priority The new priority from 0.1 to 1.0
304
  */
305
- function SetProprity($priority) {
306
- $this->_priority=floatval($priority);
307
  }
308
 
309
  /**
@@ -311,7 +274,7 @@ class GoogleSitemapGeneratorPage {
311
  *
312
  * @return string The change frequncy like hourly, weekly, monthly etc.
313
  */
314
- function GetChangeFreq() {
315
  return $this->_changeFreq;
316
  }
317
 
@@ -320,8 +283,8 @@ class GoogleSitemapGeneratorPage {
320
  *
321
  * @param string $changeFreq The new change frequency
322
  */
323
- function SetChangeFreq($changeFreq) {
324
- $this->_changeFreq=(string) $changeFreq;
325
  }
326
 
327
  /**
@@ -329,7 +292,7 @@ class GoogleSitemapGeneratorPage {
329
  *
330
  * @return int The lastmod value in seconds
331
  */
332
- function GetLastMod() {
333
  return $this->_lastMod;
334
  }
335
 
@@ -338,167 +301,188 @@ class GoogleSitemapGeneratorPage {
338
  *
339
  * @param int $lastMod The lastmod of the page
340
  */
341
- function SetLastMod($lastMod) {
342
- $this->_lastMod=intval($lastMod);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
343
  }
344
 
345
- function Render() {
346
 
347
  if($this->_url == "/" || empty($this->_url)) return '';
348
 
349
- $r="";
350
- $r.= "\t<url>\n";
351
- $r.= "\t\t<loc>" . $this->EscapeXML($this->_url) . "</loc>\n";
352
- if($this->_lastMod>0) $r.= "\t\t<lastmod>" . date('Y-m-d\TH:i:s+00:00',$this->_lastMod) . "</lastmod>\n";
353
- if(!empty($this->_changeFreq)) $r.= "\t\t<changefreq>" . $this->EscapeXML($this->_changeFreq) . "</changefreq>\n";
354
- if($this->_priority!==false && $this->_priority!=="") $r.= "\t\t<priority>" . number_format($this->_priority,1) . "</priority>\n";
355
- $r.= "\t</url>\n";
356
  return $r;
357
  }
358
 
359
- function EscapeXML($string) {
360
- return str_replace ( array ( '&', '"', "'", '<', '>'), array ( '&amp;' , '&quot;', '&apos;' , '&lt;' , '&gt;'), $string);
361
  }
362
  }
363
 
 
 
 
 
 
 
364
  class GoogleSitemapGeneratorXmlEntry {
365
 
366
- var $_xml;
367
 
368
- function GoogleSitemapGeneratorXmlEntry($xml) {
369
  $this->_xml = $xml;
370
  }
371
 
372
- function Render() {
373
  return $this->_xml;
374
  }
375
  }
376
 
 
 
 
 
 
 
 
377
  class GoogleSitemapGeneratorDebugEntry extends GoogleSitemapGeneratorXmlEntry {
378
 
379
- function Render() {
380
  return "<!-- " . $this->_xml . " -->\n";
381
  }
382
  }
383
 
384
  /**
385
- * Base class for all priority providers
386
  * @author Arne Brachhold
387
  * @package sitemap
388
  * @since 3.0
389
  */
390
- class GoogleSitemapGeneratorPrioProviderBase {
391
 
392
  /**
393
- * @var int $_totalComments The total number of comments of all posts
394
- * @access protected
395
  */
396
- var $_totalComments=0;
397
 
398
  /**
399
- * @var int $_totalComments The total number of posts
400
- * @access protected
401
  */
402
- var $_totalPosts=0;
403
 
404
  /**
405
- * Returns the (translated) name of this priority provider
406
  *
407
- * @since 3.0
408
- * @access public
409
- * @author Arne Brachhold
410
- * @return string The translated name
411
- */
412
- static function GetName() {
413
- return "";
414
  }
415
 
416
  /**
417
- * Returns the (translated) description of this priority provider
418
  *
419
- * @since 3.0
420
- * @access public
421
- * @author Arne Brachhold
422
- * @return string The translated description
423
- */
424
- static function GetDescription() {
425
- return "";
426
  }
427
 
428
  /**
429
- * Initializes a new priority provider
430
  *
431
- * @param $totalComments int The total number of comments of all posts
432
- * @param $totalPosts int The total number of posts
433
- * @since 3.0
434
- * @access public
435
- * @author Arne Brachhold
436
- */
437
- function GoogleSitemapGeneratorPrioProviderBase($totalComments,$totalPosts) {
438
- $this->_totalComments=$totalComments;
439
- $this->_totalPosts=$totalPosts;
440
-
441
  }
442
 
443
  /**
444
- * Returns the priority for a specified post
445
  *
446
- * @param $postID int The ID of the post
447
- * @param $commentCount int The number of comments for this post
448
- * @since 3.0
449
- * @access public
450
- * @author Arne Brachhold
451
- * @return int The calculated priority
452
- */
453
- function GetPostPriority($postID,$commentCount) {
454
- return 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
455
  }
456
  }
457
 
458
  /**
459
- * Priority Provider which calculates the priority based on the number of comments
460
  * @author Arne Brachhold
461
  * @package sitemap
462
  * @since 3.0
463
  */
464
- class GoogleSitemapGeneratorPrioByCountProvider extends GoogleSitemapGeneratorPrioProviderBase {
465
 
466
  /**
467
- * Returns the (translated) name of this priority provider
468
  *
 
 
469
  * @since 3.0
470
- * @access public
471
- * @author Arne Brachhold
472
- * @return string The translated name
473
- */
474
- static function GetName() {
475
- return __("Comment Count",'sitemap');
476
- }
477
 
478
  /**
479
- * Returns the (translated) description of this priority provider
480
  *
481
  * @since 3.0
482
- * @access public
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
 
490
  /**
491
- * Initializes a new priority provider which calculates the post priority based on the number of comments
492
  *
493
- * @param $totalComments int The total number of comments of all posts
494
- * @param $totalPosts int The total number of posts
495
  * @since 3.0
496
- * @access public
497
- * @author Arne Brachhold
498
- */
499
- function GoogleSitemapGeneratorPrioByCountProvider($totalComments,$totalPosts) {
500
- parent::GoogleSitemapGeneratorPrioProviderBase($totalComments,$totalPosts);
501
- }
502
 
503
  /**
504
  * Returns the priority for a specified post
@@ -506,74 +490,60 @@ class GoogleSitemapGeneratorPrioByCountProvider extends GoogleSitemapGeneratorPr
506
  * @param $postID int The ID of the post
507
  * @param $commentCount int The number of comments for this post
508
  * @since 3.0
509
- * @access public
510
- * @author Arne Brachhold
511
  * @return int The calculated priority
512
- */
513
- function GetPostPriority($postID,$commentCount) {
514
- $prio=0;
515
- if($this->_totalComments>0 && $commentCount>0) {
516
- $prio = round(($commentCount*100/$this->_totalComments)/100,1);
517
- } else {
518
- $prio = 0;
519
- }
520
- return $prio;
521
- }
522
  }
523
 
524
  /**
525
- * Priority Provider which calculates the priority based on the average number of comments
526
  * @author Arne Brachhold
527
  * @package sitemap
528
  * @since 3.0
529
  */
530
- class GoogleSitemapGeneratorPrioByAverageProvider extends GoogleSitemapGeneratorPrioProviderBase {
531
 
532
  /**
533
- * @var int $_average The average number of comments per post
534
- * @access protected
535
  */
536
- var $_average=0.0;
537
 
538
  /**
539
- * Returns the (translated) name of this priority provider
 
 
 
 
 
540
  *
 
 
541
  * @since 3.0
542
- * @access public
543
- * @author Arne Brachhold
544
- * @return string The translated name
545
- */
546
- static function GetName() {
547
- return __("Comment Average",'sitemap');
548
  }
549
 
550
  /**
551
- * Returns the (translated) description of this priority provider
552
  *
553
  * @since 3.0
554
- * @access public
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
 
562
  /**
563
- * Initializes a new priority provider which calculates the post priority based on the average number of comments
564
  *
565
- * @param $totalComments int The total number of comments of all posts
566
- * @param $totalPosts int The total number of posts
567
  * @since 3.0
568
- * @access public
569
- * @author Arne Brachhold
570
- */
571
- function GoogleSitemapGeneratorPrioByAverageProvider($totalComments,$totalPosts) {
572
- parent::GoogleSitemapGeneratorPrioProviderBase($totalComments,$totalPosts);
573
-
574
- if($this->_totalComments>0 && $this->_totalPosts>0) {
575
- $this->_average= (double) $this->_totalComments / $this->_totalPosts;
576
- }
577
  }
578
 
579
  /**
@@ -582,69 +552,75 @@ class GoogleSitemapGeneratorPrioByAverageProvider extends GoogleSitemapGenerator
582
  * @param $postID int The ID of the post
583
  * @param $commentCount int The number of comments for this post
584
  * @since 3.0
585
- * @access public
586
- * @author Arne Brachhold
587
  * @return int The calculated priority
588
- */
589
- function GetPostPriority($postID,$commentCount) {
590
  $prio = 0;
591
- //Do not divide by zero!
592
- if($this->_average==0) {
593
- if($commentCount>0) $prio = 1;
594
- else $prio = 0;
595
  } else {
596
- $prio = $commentCount/$this->_average;
597
- if($prio>1) $prio = 1;
598
- else if($prio<0) $prio = 0;
599
  }
600
-
601
- return round($prio,1);
602
  }
603
  }
604
 
605
  /**
606
- * Priority Provider which calculates the priority based on the popularity by the PopularityContest Plugin
607
  * @author Arne Brachhold
608
  * @package sitemap
609
  * @since 3.0
610
  */
611
- class GoogleSitemapGeneratorPrioByPopularityContestProvider extends GoogleSitemapGeneratorPrioProviderBase {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
612
 
613
  /**
614
  * Returns the (translated) name of this priority provider
615
  *
616
  * @since 3.0
617
- * @access public
618
- * @author Arne Brachhold
619
  * @return string The translated name
620
- */
621
- static function GetName() {
622
- return __("Popularity Contest",'sitemap');
623
  }
624
 
625
  /**
626
  * Returns the (translated) description of this priority provider
627
  *
628
  * @since 3.0
629
- * @access public
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
 
637
  /**
638
- * Initializes a new priority provider which calculates the post priority based on the popularity by the PopularityContest Plugin
639
  *
640
  * @param $totalComments int The total number of comments of all posts
641
  * @param $totalPosts int The total number of posts
642
  * @since 3.0
643
- * @access public
644
- * @author Arne Brachhold
645
- */
646
- function GoogleSitemapGeneratorPrioByPopularityContestProvider($totalComments,$totalPosts) {
647
- parent::GoogleSitemapGeneratorPrioProviderBase($totalComments,$totalPosts);
 
648
  }
649
 
650
  /**
@@ -653,35 +629,25 @@ class GoogleSitemapGeneratorPrioByPopularityContestProvider extends GoogleSitema
653
  * @param $postID int The ID of the post
654
  * @param $commentCount int The number of comments for this post
655
  * @since 3.0
656
- * @access public
657
- * @author Arne Brachhold
658
  * @return int The calculated priority
659
- */
660
- function GetPostPriority($postID,$commentCount) {
661
- //$akpc is the global instance of the Popularity Contest Plugin
662
- global $akpc,$posts;
663
-
664
- $res=0;
665
- //Better check if its there
666
- if(!empty($akpc) && is_object($akpc)) {
667
- //Is the method we rely on available?
668
- if(method_exists($akpc,"get_post_rank")) {
669
- if(!is_array($posts) || !$posts) $posts = array();
670
- if(!isset($posts[$postID])) $posts[$postID] = get_post($postID);
671
- //popresult comes as a percent value
672
- $popresult=$akpc->get_post_rank($postID);
673
- if(!empty($popresult) && strpos($popresult,"%")!==false) {
674
- //We need to parse it to get the priority as an int (percent)
675
- $matches=null;
676
- preg_match("/([0-9]{1,3})\%/si",$popresult,$matches);
677
- if(!empty($matches) && is_array($matches) && count($matches)==2) {
678
- //Divide it so 100% = 1, 10% = 0.1
679
- $res=round(intval($matches[1])/100,1);
680
- }
681
- }
682
  }
 
683
  }
684
- return $res;
 
685
  }
686
  }
687
 
@@ -691,67 +657,42 @@ class GoogleSitemapGeneratorPrioByPopularityContestProvider extends GoogleSitema
691
  * @package sitemap
692
  * @author Arne Brachhold
693
  * @since 3.0
694
- */
695
- class GoogleSitemapGenerator {
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 $';
700
-
701
  /**
702
  * @var array The unserialized array with the stored options
703
  */
704
- var $_options = array();
705
 
706
  /**
707
  * @var array The saved additional pages
708
  */
709
- var $_pages = array();
710
 
711
  /**
712
  * @var array The values and names of the change frequencies
713
  */
714
- var $_freqNames = array();
715
 
716
  /**
717
  * @var array A list of class names which my be called for priority calculation
718
  */
719
- var $_prioProviders = array();
720
 
721
  /**
722
  * @var bool True if init complete (options loaded etc)
723
  */
724
- var $_initiated = false;
725
-
726
- /**
727
- * @var string Holds the last error if one occurs when writing the files
728
- */
729
- var $_lastError=null;
730
-
731
- /**
732
- * @var int The last handled post ID
733
- */
734
- var $_lastPostID = 0;
735
 
736
  /**
737
  * @var bool Defines if the sitemap building process is active at the moment
738
  */
739
- var $_isActive = false;
740
 
741
  /**
742
- * @var bool Defines if the sitemap building process has been scheduled via Wp cron
743
  */
744
- var $_isScheduled = false;
745
-
746
- /**
747
- * @var object The file handle which is used to write the sitemap file
748
- */
749
- var $_fileHandle = null;
750
-
751
- /**
752
- * @var object The file handle which is used to write the zipped sitemap file
753
- */
754
- var $_fileZipHandle = null;
755
 
756
  /**
757
  * Holds the user interface object
@@ -759,1470 +700,1119 @@ class GoogleSitemapGenerator {
759
  * @since 3.1.1
760
  * @var GoogleSitemapGeneratorUI
761
  */
762
- var $_ui = null;
763
 
764
  /**
765
- * Returns the path to the blog directory
766
- *
767
- * @since 3.0
768
- * @access private
769
- * @author Arne Brachhold
770
- * @return string The full path to the blog directory
771
- */
772
- function GetHomePath() {
773
-
774
- $res="";
775
- //Check if we are in the admin area -> get_home_path() is avaiable
776
- if(function_exists("get_home_path")) {
777
- $res = get_home_path();
778
- } else {
779
- //get_home_path() is not available, but we can't include the admin
780
- //libraries because many plugins check for the "check_admin_referer"
781
- //function to detect if you are on an admin page. So we have to copy
782
- //the get_home_path function in our own...
783
- $home = get_option( 'home' );
784
- if ( $home != '' && $home != get_option( 'url' ) ) {
785
- $home_path = parse_url( $home );
786
- $home_path = $home_path['path'];
787
- $root = str_replace( $_SERVER["PHP_SELF"], '', $_SERVER["SCRIPT_FILENAME"] );
788
- $home_path = trailingslashit( $root.$home_path );
789
- } else {
790
- $home_path = ABSPATH;
791
- }
792
-
793
- $res = $home_path;
794
- }
795
- return $res;
796
- }
797
 
798
  /**
799
- * Returns the path to the directory where the plugin file is located
800
- * @since 3.0b5
801
- * @access private
802
- * @author Arne Brachhold
803
- * @return string The path to the plugin directory
804
  */
805
- function GetPluginPath() {
806
- $path = dirname(__FILE__);
807
- return trailingslashit(str_replace("\\","/",$path));
808
- }
809
 
810
  /**
811
- * Returns the URL to the directory where the plugin file is located
812
- * @since 3.0b5
813
- * @access private
814
- * @author Arne Brachhold
815
- * @return string The URL to the plugin directory
816
  */
817
- function GetPluginUrl() {
818
 
819
- //Try to use WP API if possible, introduced in WP 2.6
820
- if (function_exists('plugins_url')) return trailingslashit(plugins_url(basename(dirname(__FILE__))));
821
 
822
- //Try to find manually... can't work if wp-content was renamed or is redirected
823
- $path = dirname(__FILE__);
824
- $path = str_replace("\\","/",$path);
825
- $path = trailingslashit(get_bloginfo('wpurl')) . trailingslashit(substr($path,strpos($path,"wp-content/")));
826
- return $path;
827
- }
828
 
829
  /**
830
- * Returns the URL to default XSLT style if it exists
831
- * @since 3.0b5
832
- * @access private
833
- * @author Arne Brachhold
834
- * @return string The URL to the default stylesheet, empty string if not available.
835
  */
836
- function GetDefaultStyle() {
837
- $p = $this->GetPluginPath();
838
- if(file_exists($p . "sitemap.xsl")) {
839
- $url = $this->GetPluginUrl();
840
- //If called over the admin area using HTTPS, the stylesheet would also be https url, even if the blog frontend is not.
841
- if(substr(get_bloginfo('url'),0,5) !="https" && substr($url,0,5)=="https") $url="http" . substr($url,5);
842
- return $url . 'sitemap.xsl';
843
- }
844
- return '';
845
  }
846
 
847
  /**
848
- * Sets up the default configuration
849
  *
850
  * @since 3.0
851
- * @access private
852
- * @author Arne Brachhold
853
- */
854
- function InitOptions() {
855
-
856
- $this->_options=array();
857
- $this->_options["sm_b_prio_provider"]="GoogleSitemapGeneratorPrioByCountProvider"; //Provider for automatic priority calculation
858
- $this->_options["sm_b_filename"]="sitemap.xml"; //Name of the Sitemap file
859
- $this->_options["sm_b_debug"]=true; //Write debug messages in the xml file
860
- $this->_options["sm_b_xml"]=true; //Create a .xml file
861
- $this->_options["sm_b_gzip"]=true; //Create a gzipped .xml file(.gz) file
862
- $this->_options["sm_b_ping"]=true; //Auto ping Google
863
- $this->_options["sm_b_pingmsn"]=true; //Auto ping MSN
864
- $this->_options["sm_b_manual_enabled"]=false; //Allow manual creation of the sitemap via GET request
865
- $this->_options["sm_b_auto_enabled"]=true; //Rebuild sitemap when content is changed
866
- $this->_options["sm_b_auto_delay"]=true; //Use WP Cron to execute the building process in the background
867
- $this->_options["sm_b_manual_key"]=md5(microtime());//The secret key to build the sitemap via GET request
868
- $this->_options["sm_b_memory"] = ''; //Set Memory Limit (e.g. 16M)
869
- $this->_options["sm_b_time"] = -1; //Set time limit in seconds, 0 for unlimited, -1 for disabled
870
- $this->_options["sm_b_max_posts"] = -1; //Maximum number of posts, <= 0 for all
871
- $this->_options["sm_b_safemode"] = false; //Enable MySQL Safe Mode (doesn't use unbuffered results)
872
- $this->_options["sm_b_style_default"] = true; //Use default style
873
- $this->_options["sm_b_style"] = ''; //Include a stylesheet in the XML
874
- $this->_options["sm_b_robots"] = true; //Add sitemap location to WordPress' virtual robots.txt file
875
- $this->_options["sm_b_exclude"] = array(); //List of post / page IDs to exclude
876
- $this->_options["sm_b_exclude_cats"] = array(); //List of post / page IDs to exclude
877
- $this->_options["sm_b_location_mode"]="auto"; //Mode of location, auto or manual
878
- $this->_options["sm_b_filename_manual"]=""; //Manuel filename
879
- $this->_options["sm_b_fileurl_manual"]=""; //Manuel fileurl
880
-
881
- $this->_options["sm_in_home"]=true; //Include homepage
882
- $this->_options["sm_in_posts"]=true; //Include posts
883
- $this->_options["sm_in_posts_sub"]=false; //Include post pages (<!--nextpage--> tag)
884
- $this->_options["sm_in_pages"]=true; //Include static pages
885
- $this->_options["sm_in_cats"]=false; //Include categories
886
- $this->_options["sm_in_arch"]=false; //Include archives
887
- $this->_options["sm_in_auth"]=false; //Include author pages
888
- $this->_options["sm_in_tags"]=false; //Include tag pages
889
- $this->_options["sm_in_tax"]=array(); //Include additional taxonomies
890
- $this->_options["sm_in_customtypes"]=array(); //Include custom post types
891
- $this->_options["sm_in_lastmod"]=true; //Include the last modification date
892
-
893
- $this->_options["sm_cf_home"]="daily"; //Change frequency of the homepage
894
- $this->_options["sm_cf_posts"]="monthly"; //Change frequency of posts
895
- $this->_options["sm_cf_pages"]="weekly"; //Change frequency of static pages
896
- $this->_options["sm_cf_cats"]="weekly"; //Change frequency of categories
897
- $this->_options["sm_cf_auth"]="weekly"; //Change frequency of author pages
898
- $this->_options["sm_cf_arch_curr"]="daily"; //Change frequency of the current archive (this month)
899
- $this->_options["sm_cf_arch_old"]="yearly"; //Change frequency of older archives
900
- $this->_options["sm_cf_tags"]="weekly"; //Change frequency of tags
901
-
902
- $this->_options["sm_pr_home"]=1.0; //Priority of the homepage
903
- $this->_options["sm_pr_posts"]=0.6; //Priority of posts (if auto prio is disabled)
904
- $this->_options["sm_pr_posts_min"]=0.2; //Minimum Priority of posts, even if autocalc is enabled
905
- $this->_options["sm_pr_pages"]=0.6; //Priority of static pages
906
- $this->_options["sm_pr_cats"]=0.3; //Priority of categories
907
- $this->_options["sm_pr_arch"]=0.3; //Priority of archives
908
- $this->_options["sm_pr_auth"]=0.3; //Priority of author pages
909
- $this->_options["sm_pr_tags"]=0.3; //Priority of tags
910
-
911
- $this->_options["sm_i_donated"]=false; //Did you donate? Thank you! :)
912
- $this->_options["sm_i_hide_donated"]=false; //And hide the thank you..
913
- $this->_options["sm_i_install_date"]=time(); //The installation date
914
- $this->_options["sm_i_hide_note"]=false; //Hide the note which appears after 30 days
915
- $this->_options["sm_i_hide_works"]=false; //Hide the "works?" message which appears after 15 days
916
- $this->_options["sm_i_hide_donors"]=false; //Hide the list of donations
917
  }
918
 
919
  /**
920
- * Loads the configuration from the database
921
  *
922
  * @since 3.0
923
- * @access private
924
- * @author Arne Brachhold
925
- */
926
- function LoadOptions() {
927
-
928
- $this->InitOptions();
929
-
930
- //First init default values, then overwrite it with stored values so we can add default
931
- //values with an update which get stored by the next edit.
932
- $storedoptions=get_option("sm_options");
933
- if($storedoptions && is_array($storedoptions)) {
934
- foreach($storedoptions AS $k=>$v) {
935
- $this->_options[$k]=$v;
936
- }
937
- } else update_option("sm_options",$this->_options); //First time use, store default values
938
  }
939
 
940
  /**
941
- * Initializes a new Google Sitemap Generator
 
 
942
  *
943
  * @since 3.0
944
- * @access private
945
- * @author Arne Brachhold
946
- */
947
- function GoogleSitemapGenerator() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
948
 
 
 
949
 
 
 
950
 
 
951
 
 
 
952
  }
953
 
 
 
 
954
  /**
955
  * Returns the version of the generator
956
  *
957
  * @since 3.0
958
- * @access public
959
- * @author Arne Brachhold
960
  * @return int The version
961
- */
962
- function GetVersion() {
963
  return GoogleSitemapGeneratorLoader::GetVersion();
964
  }
965
 
966
  /**
967
- * Returns all parent classes of a class
968
  *
969
- * @param $className string The name of the class
970
- *
971
- * @since 3.0
972
- * @access private
973
- * @author Arne Brachhold
974
- * @return array An array which contains the names of the parent classes
975
- */
976
- function GetParentClasses($classname) {
977
- $parent = get_parent_class($classname);
978
- $parents = array();
979
- if (!empty($parent)) {
980
- $parents = $this->GetParentClasses($parent);
981
- $parents[] = strtolower($parent);
982
- }
983
- return $parents;
984
  }
985
 
986
  /**
987
- * Returns if a class is a subclass of another class
988
- *
989
- * @param $className string The name of the class
990
- * @param $$parentName string The name of the parent class
991
  *
992
  * @since 3.0
993
- * @access private
994
- * @author Arne Brachhold
995
- * @return bool true if the given class is a subclass of the other one
996
- */
997
- function IsSubclassOf($className, $parentName) {
998
-
999
- $className = strtolower($className);
1000
- $parentName = strtolower($parentName);
1001
-
1002
- if(empty($className) || empty($parentName) || !class_exists($className) || !class_exists($parentName)) return false;
1003
-
1004
- $parents=$this->GetParentClasses($className);
1005
-
1006
- return in_array($parentName,$parents);
1007
  }
1008
 
1009
  /**
1010
- * Loads up the configuration and validates the prioity providers
1011
- *
1012
- * This method is only called if the sitemaps needs to be build or the admin page is displayed.
1013
  *
1014
  * @since 3.0
1015
- * @access private
1016
- * @author Arne Brachhold
1017
- */
1018
- function Initate() {
1019
- if(!$this->_initiated) {
1020
-
1021
- //Loading language file...
1022
- //load_plugin_textdomain('sitemap');
1023
- //Hmm, doesn't work if the plugin file has its own directory.
1024
- //Let's make it our way... load_plugin_textdomain() searches only in the wp-content/plugins dir.
1025
- $currentLocale = get_locale();
1026
- if(!empty($currentLocale)) {
1027
- $moFile = dirname(__FILE__) . "/lang/sitemap-" . $currentLocale . ".mo";
1028
- if(@file_exists($moFile) && is_readable($moFile)) load_textdomain('sitemap', $moFile);
1029
- }
1030
-
1031
- $this->_freqNames = array(
1032
- "always"=>__("Always","sitemap"),
1033
- "hourly"=>__("Hourly","sitemap"),
1034
- "daily"=>__("Daily","sitemap"),
1035
- "weekly"=>__("Weekly","sitemap"),
1036
- "monthly"=>__("Monthly","sitemap"),
1037
- "yearly"=>__("Yearly","sitemap"),
1038
- "never"=>__("Never","sitemap")
1039
- );
1040
-
1041
 
1042
- $this->LoadOptions();
1043
- $this->LoadPages();
1044
 
1045
- //Register our own priority providers
1046
- add_filter("sm_add_prio_provider",array(&$this, 'AddDefaultPrioProviders'));
1047
 
1048
- //Let other plugins register their providers
1049
- $r = apply_filters("sm_add_prio_provider",$this->_prioProviders);
 
 
 
 
 
 
 
 
 
1050
 
1051
- //Check if no plugin return null
1052
- if($r != null) $this->_prioProviders = $r;
1053
 
1054
- $this->ValidatePrioProviders();
1055
 
1056
- $this->_initiated = true;
1057
- }
 
 
 
 
1058
  }
1059
 
1060
  /**
1061
- * Returns the instance of the Sitemap Generator
1062
- *
1063
- * @since 3.0
1064
- * @access public
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;
1072
  }
1073
 
1074
  /**
1075
  * Returns if the sitemap building process is currently active
1076
  *
1077
  * @since 3.0
1078
- * @access public
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
  }
1086
 
1087
  /**
1088
  * Returns if the compressed sitemap was activated
1089
  *
1090
  * @since 3.0b8
1091
- * @access private
1092
- * @author Arne Brachhold
1093
  * @return true if compressed
1094
  */
1095
- function IsGzipEnabled() {
1096
- return ($this->GetOption("b_gzip")===true && function_exists("gzwrite"));
 
 
 
 
 
 
 
 
 
 
1097
  }
1098
 
 
 
 
1099
  /**
1100
  * Returns if this version of WordPress supports the new taxonomy system
1101
  *
1102
  * @since 3.0b8
1103
- * @access private
1104
- * @author Arne Brachhold
1105
  * @return true if supported
1106
  */
1107
- function IsTaxonomySupported() {
1108
- return (function_exists("get_taxonomy") && function_exists("get_terms"));
 
 
 
 
 
 
 
 
 
 
 
1109
  }
1110
 
1111
  /**
1112
  * Returns if this version of WordPress supports custom post types
1113
  *
1114
  * @since 3.2.5
1115
- * @access private
1116
- * @author Lee Willis
1117
  * @return true if supported
1118
  */
1119
- function IsCustomPostTypesSupported() {
1120
  return (function_exists("get_post_types") && function_exists("register_post_type"));
1121
  }
1122
 
1123
  /**
1124
- * Returns the list of custom taxonies. These are basically all taxonomies without categories and post tags
1125
  *
1126
- * @since 3.1.7
1127
- * @return array Array of names of user-defined taxonomies
1128
  */
1129
- function GetCustomTaxonomies() {
1130
- $taxonomies = get_object_taxonomies('post');
1131
- return array_diff($taxonomies,array("category","post_tag","post_format"));
 
1132
  }
1133
 
 
1134
  /**
1135
- * Returns the list of custom post types. These are all custome post types except post, page and attachment
1136
  *
1137
- * @since 3.2.5
1138
- * @author Lee Willis
1139
  * @return array Array of custom post types as per get_post_types
1140
  */
1141
- function GetCustomPostTypes() {
1142
- $post_types = get_post_types(array("public"=>1));
 
 
 
1143
 
1144
- $post_types = array_diff($post_types,array("post","page","attachment"));
1145
- return $post_types;
 
 
 
 
 
1146
  }
1147
 
1148
  /**
1149
- * Enables the Google Sitemap Generator and registers the WordPress hooks
1150
  *
1151
- * @since 3.0
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
  }
 
 
1159
  }
1160
 
1161
  /**
1162
- * Checks if sitemap building after content changed is enabled and rebuild the sitemap
1163
  *
1164
- * @param int $postID The ID of the post to handle. Used to avoid double rebuilding if more than one hook was fired.
1165
- * @param bool $external Added in 3.1.9. Skips checking of b_auto_enabled if set to true
1166
- * @since 3.0
1167
- * @access public
1168
- * @author Arne Brachhold
1169
- */
1170
- function CheckForAutoBuild($postID, $external = false) {
1171
- global $wp_version;
1172
- $this->Initate();
1173
- //Build one time per post and if not importing.
1174
- if((($this->GetOption("b_auto_enabled")===true && $this->_lastPostID != $postID) || $external) && (!defined('WP_IMPORTING') || WP_IMPORTING != true)) {
1175
-
1176
- //Build the sitemap directly or schedule it with WP cron
1177
- if($this->GetOption("b_auto_delay")==true && floatval($wp_version) >= 2.1) {
1178
- if(!$this->_isScheduled) {
1179
- //Schedule in 15 seconds, this should be enough to catch all changes.
1180
- //Clear all other existing hooks, so the sitemap is only built once.
1181
- wp_clear_scheduled_hook('sm_build_cron');
1182
- wp_schedule_single_event(time()+15,'sm_build_cron');
1183
- $this->_isScheduled = true;
1184
- }
1185
- } else {
1186
- //Build sitemap only once and never in bulk mode
1187
- if(!$this->_lastPostID && (!isset($_GET["delete"]) || count((array) $_GET['delete'])<=0)) {
1188
- $this->BuildSitemap();
1189
- }
1190
- }
1191
- $this->_lastPostID = $postID;
1192
- }
1193
  }
1194
 
 
 
1195
  /**
1196
- * Builds the sitemap by external request, for example other plugins.
1197
- *
1198
- * @since 3.1.9
1199
- * @return null
1200
  */
1201
- function BuildNowRequest() {
1202
- $this->CheckForAutoBuild(null, true);
1203
  }
1204
 
1205
  /**
1206
- * Checks if the rebuild request was send and starts to rebuilt the sitemap
1207
  *
1208
  * @since 3.0
1209
- * @access public
1210
- * @author Arne Brachhold
1211
- */
1212
- function CheckForManualBuild() {
1213
- if(!empty($_GET["sm_command"]) && !empty($_GET["sm_key"])) {
1214
- $this->Initate();
1215
- if($this->GetOption("b_manual_enabled")===true && $_GET["sm_command"]=="build" && $_GET["sm_key"]==$this->GetOption("b_manual_key")) {
1216
- $this->BuildSitemap();
1217
- echo "DONE";
1218
- exit;
1219
- }
1220
  }
 
1221
  }
1222
 
1223
  /**
1224
  * Validates all given Priority Providers by checking them for required methods and existence
1225
  *
1226
  * @since 3.0
1227
- * @access private
1228
- * @author Arne Brachhold
1229
- */
1230
- function ValidatePrioProviders() {
1231
- $validProviders=array();
1232
-
1233
- for($i=0; $i<count($this->_prioProviders); $i++) {
1234
- if(class_exists($this->_prioProviders[$i])) {
1235
- if($this->IsSubclassOf($this->_prioProviders[$i],"GoogleSitemapGeneratorPrioProviderBase")) {
1236
- array_push($validProviders,$this->_prioProviders[$i]);
1237
  }
1238
  }
1239
  }
1240
- $this->_prioProviders=$validProviders;
1241
 
1242
  if(!$this->GetOption("b_prio_provider")) {
1243
- if(!in_array($this->GetOption("b_prio_provider"),$this->_prioProviders,true)) {
1244
- $this->SetOption("b_prio_provider","");
1245
  }
1246
  }
1247
  }
1248
 
 
 
 
1249
  /**
1250
- * Adds the default Priority Providers to the provider list
 
1251
  *
1252
  * @since 3.0
1253
- * @access private
1254
- * @author Arne Brachhold
1255
- */
1256
- function AddDefaultPrioProviders($providers) {
1257
- array_push($providers,"GoogleSitemapGeneratorPrioByCountProvider");
1258
- array_push($providers,"GoogleSitemapGeneratorPrioByAverageProvider");
1259
- if(class_exists("ak_popularity_contest")) {
1260
- array_push($providers,"GoogleSitemapGeneratorPrioByPopularityContestProvider");
 
 
 
 
1261
  }
1262
- return $providers;
1263
  }
1264
 
1265
  /**
1266
- * Loads the stored pages from the database
1267
  *
1268
  * @since 3.0
1269
- * @access private
1270
- * @author Arne Brachhold
1271
- */
1272
- function LoadPages() {
1273
- global $wpdb;
1274
-
1275
- $needsUpdate=false;
1276
-
1277
- $pagesString=$wpdb->get_var("SELECT option_value FROM $wpdb->options WHERE option_name = 'sm_cpages'");
1278
-
1279
- //Class sm_page was renamed with 3.0 -> rename it in serialized value for compatibility
1280
- if(!empty($pagesString) && strpos($pagesString,"sm_page")!==false) {
1281
- $pagesString = str_replace("O:7:\"sm_page\"","O:26:\"GoogleSitemapGeneratorPage\"",$pagesString);
1282
- $needsUpdate=true;
1283
  }
 
 
1284
 
1285
- if(!empty($pagesString)) {
1286
- $storedpages=unserialize($pagesString);
1287
- $this->_pages=$storedpages;
1288
- } else {
1289
- $this->_pages=array();
1290
- }
1291
 
1292
- if($needsUpdate) $this->SavePages();
1293
- }
1294
 
1295
  /**
1296
- * Saved the additional pages back to the database
1297
  *
1298
  * @since 3.0
1299
- * @access private
1300
- * @author Arne Brachhold
1301
- * @return true on success
1302
- */
1303
- function SavePages() {
1304
- $oldvalue = get_option("sm_cpages");
1305
- if($oldvalue == $this->_pages) {
1306
- return true;
1307
- } else {
1308
- delete_option("sm_cpages");
1309
- //Add the option, Note the autoload=false because when the autoload happens, our class GoogleSitemapGeneratorPage doesn't exist
1310
- add_option("sm_cpages",$this->_pages,null,"no");
1311
- return true;
1312
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1313
  }
1314
 
1315
-
1316
  /**
1317
- * Returns the URL for the sitemap file
1318
  *
1319
  * @since 3.0
1320
- * @access private
1321
- * @author Arne Brachhold
1322
- * @param bool $forceAuto Force the return value to the autodetected value.
1323
- * @return The URL to the Sitemap file
1324
- */
1325
- function GetXmlUrl($forceAuto=false) {
1326
 
1327
- $name ="";
1328
 
1329
- if(!$forceAuto && $this->GetOption("b_location_mode")=="manual") {
1330
- $name = $this->GetOption("b_fileurl_manual");
1331
- } else {
1332
- $name = trailingslashit(get_bloginfo('url')). $this->GetOption("b_filename");
1333
- }
1334
 
1335
- if(substr($name,-4)!=".xml") {
1336
- $name.=".xml";
1337
- }
 
 
 
 
 
1338
 
1339
- return $name;
1340
  }
1341
 
1342
  /**
1343
- * Returns the URL for the gzipped sitemap file
1344
  *
1345
  * @since 3.0
1346
- * @access private
1347
- * @author Arne Brachhold
1348
- * @param bool $forceAuto Force the return value to the autodetected value.
1349
- * @return The URL to the gzipped Sitemap file
1350
- */
1351
- function GetZipUrl($forceAuto=false) {
1352
- return $this->GetXmlUrl($forceAuto) . ".gz";
 
 
 
 
 
1353
  }
1354
 
1355
  /**
1356
- * Returns the file system path to the sitemap file
1357
  *
1358
  * @since 3.0
1359
- * @access private
1360
- * @author Arne Brachhold
1361
- * @param bool $forceAuto Force the return value to the autodetected value.
1362
- * @return The file system path;
1363
- */
1364
- function GetXmlPath($forceAuto=false) {
1365
-
1366
- $name ="";
1367
-
1368
- if(!$forceAuto && $this->GetOption("b_location_mode")=="manual") {
1369
- $name = $this->GetOption("b_filename_manual");
1370
- } else {
1371
- $name = $this->GetHomePath() . $this->GetOption("b_filename");
1372
- }
1373
-
1374
- if(substr($name,-4)!=".xml") {
1375
- $name.=".xml";
1376
- }
1377
-
1378
- return $name;
1379
- }
1380
 
1381
- /**
1382
- * Returns the file system path to the gzipped sitemap file
1383
- *
1384
- * @since 3.0
1385
- * @access private
1386
- * @author Arne Brachhold
1387
- * @param bool $forceAuto Force the return value to the autodetected value.
1388
- * @return The file system path;
1389
- */
1390
- function GetZipPath($forceAuto=false) {
1391
- return $this->GetXmlPath($forceAuto) . ".gz";
1392
  }
1393
 
1394
  /**
1395
- * Returns the option value for the given key
1396
  *
1397
  * @since 3.0
1398
- * @access private
1399
- * @author Arne Brachhold
1400
- * @param $key string The Configuration Key
1401
- * @return mixed The value
1402
  */
1403
- function GetOption($key) {
1404
- $key="sm_" . $key;
1405
- if(array_key_exists($key,$this->_options)) {
1406
- return $this->_options[$key];
1407
- } else return null;
1408
  }
1409
 
1410
  /**
1411
- * Sets an option to a new value
1412
- *
1413
- * @since 3.0
1414
- * @access private
1415
- * @author Arne Brachhold
1416
- * @param $key string The configuration key
1417
- * @param $value mixed The new object
1418
  */
1419
- function SetOption($key,$value) {
1420
- if(strstr($key,"sm_")!==0) $key="sm_" . $key;
1421
-
1422
- $this->_options[$key]=$value;
1423
  }
1424
 
1425
  /**
1426
- * Saves the options back to the database
1427
- *
1428
- * @since 3.0
1429
- * @access private
1430
- * @author Arne Brachhold
1431
- * @return bool true on success
1432
  */
1433
- function SaveOptions() {
1434
- $oldvalue = get_option("sm_options");
1435
- if($oldvalue == $this->_options) {
1436
- return true;
1437
- } else return update_option("sm_options",$this->_options);
1438
  }
1439
 
1440
  /**
1441
- * Retrieves the number of comments of a post in a asso. array
1442
- * The key is the postID, the value the number of comments
1443
  *
1444
  * @since 3.0
1445
- * @access private
1446
- * @author Arne Brachhold
1447
- * @return array An array with postIDs and their comment count
1448
  */
1449
- function GetComments() {
1450
  global $wpdb;
1451
- $comments=array();
1452
 
1453
- //Query comments and add them into the array
1454
- $commentRes=$wpdb->get_results("SELECT `comment_post_ID` as `post_id`, COUNT(comment_ID) as `comment_count` FROM `" . $wpdb->comments . "` WHERE `comment_approved`='1' GROUP BY `comment_post_ID`");
1455
- if($commentRes) {
1456
- foreach($commentRes as $comment) {
1457
- $comments[$comment->post_id]=$comment->comment_count;
1458
- }
 
 
1459
  }
1460
- return $comments;
 
 
 
 
 
 
 
 
1461
  }
1462
 
1463
  /**
1464
- * Calculates the full number of comments from an sm_getComments() generated array
1465
  *
1466
  * @since 3.0
1467
- * @access private
1468
- * @author Arne Brachhold
1469
- * @param $comments array The Array with posts and c0mment count
1470
- * @see sm_getComments
1471
- * @return The full number of comments
1472
  */
1473
- function GetCommentCount($comments) {
1474
- $commentCount=0;
1475
- foreach($comments AS $k=>$v) {
1476
- $commentCount+=$v;
 
 
 
 
 
1477
  }
1478
- return $commentCount;
1479
  }
1480
 
 
 
 
1481
  /**
1482
- * Adds a url to the sitemap. You can use this method or call AddElement directly.
1483
- *
1484
- * @since 3.0
1485
- * @access public
1486
- * @author Arne Brachhold
1487
- * @param $loc string The location (url) of the page
1488
- * @param $lastMod int The last Modification time as a UNIX timestamp
1489
- * @param $changeFreq string The change frequenty of the page, Valid values are "always", "hourly", "daily", "weekly", "monthly", "yearly" and "never".
1490
- * @param $priorty float The priority of the page, between 0.0 and 1.0
1491
- * @see AddElement
1492
- * @return string The URL node
1493
  */
1494
- function AddUrl($loc, $lastMod = 0, $changeFreq = "monthly", $priority = 0.5) {
1495
- //Strip out the last modification time if activated
1496
- if($this->GetOption('in_lastmod')===false) $lastMod = 0;
1497
 
1498
- if(($hashPosition = strpos($loc, '#')) !== false) {
1499
- if($hashPosition == 0) return;
1500
- else $loc = substr($loc, 0, $hashPosition);
1501
- }
1502
 
1503
- $page = new GoogleSitemapGeneratorPage($loc, $priority, $changeFreq, $lastMod);
 
1504
 
1505
- $this->AddElement($page);
 
 
 
 
 
 
 
1506
  }
1507
 
1508
  /**
1509
- * Adds an element to the sitemap
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1510
  *
1511
  * @since 3.0
1512
- * @access private
1513
- * @author Arne Brachhold
1514
- * @param $page The element
 
1515
  */
1516
- function AddElement(&$page) {
1517
- if(empty($page)) return;
1518
-
1519
- $s = $page->Render();
1520
 
1521
- if($this->_fileZipHandle && $this->IsGzipEnabled()) {
1522
- gzwrite($this->_fileZipHandle,$s);
 
 
 
 
 
1523
  }
1524
 
1525
- if($this->_fileHandle && $this->GetOption("b_xml")) {
1526
- fwrite($this->_fileHandle,$s);
 
 
 
 
 
 
 
 
1527
  }
1528
  }
1529
 
1530
  /**
1531
- * Checks if a file is writable and tries to make it if not.
1532
- *
1533
- * @since 3.05b
1534
- * @access private
1535
- * @author VJTD3 <http://www.VJTD3.com>
1536
- * @return bool true if writable
1537
- */
1538
- function IsFileWritable($filename) {
1539
- //can we write?
1540
- if(!is_writable($filename)) {
1541
- //no we can't.
1542
- if(!@chmod($filename, 0666)) {
1543
- $pathtofilename = dirname($filename);
1544
- //Lets check if parent directory is writable.
1545
- if(!is_writable($pathtofilename)) {
1546
- //it's not writeable too.
1547
- if(!@chmod($pathtofilename, 0666)) {
1548
- //darn couldn't fix up parrent directory this hosting is foobar.
1549
- //Lets error because of the permissions problems.
1550
- return false;
1551
- }
1552
- }
1553
- }
1554
- }
1555
- //we can write, return 1/true/happy dance.
1556
- return true;
1557
  }
1558
 
1559
  /**
1560
- * Adds the sitemap to the virtual robots.txt file
1561
- * This function is executed by WordPress with the do_robots hook
1562
- *
1563
- * @since 3.1.2
1564
  */
1565
- function DoRobots() {
1566
- $this->Initate();
1567
- if($this->GetOption('b_robots') === true) {
1568
 
1569
- $smUrl = $this->GetXmlUrl();
1570
- if($this->IsGzipEnabled()) {
1571
- $smUrl = $this->GetZipUrl();
1572
- }
1573
 
1574
- echo "\nSitemap: " . $smUrl . "\n";
1575
- }
 
 
1576
  }
1577
 
 
 
 
1578
  /**
1579
- * Builds the sitemap and writes it into a xml file.
1580
- *
1581
- * ATTENTION PLUGIN DEVELOPERS! DONT CALL THIS METHOD DIRECTLY!
1582
- * The method is probably not available, since it is only loaded when needed.
1583
- * Use do_action("sm_rebuild"); if you want to rebuild the sitemap.
1584
- * Please refer to the documentation.txt for more details.
1585
  *
1586
- * @since 3.0
1587
- * @access public
1588
- * @author Arne Brachhold <himself [at] arnebrachhold [dot] de>
1589
- * @return array An array with messages such as failed writes etc.
1590
  */
1591
- function BuildSitemap() {
1592
- global $wpdb, $posts, $wp_version;
1593
- $this->Initate();
1594
 
1595
- if($this->GetOption("b_memory")!='') {
1596
- @ini_set("memory_limit",$this->GetOption("b_memory"));
1597
- }
1598
 
1599
- if($this->GetOption("b_time")!=-1) {
1600
- @set_time_limit($this->GetOption("b_time"));
1601
- }
1602
 
1603
- //This object saves the status information of the script directly to the database
1604
- $status = new GoogleSitemapGeneratorStatus();
1605
-
1606
- //Other plugins can detect if the building process is active
1607
- $this->_isActive = true;
1608
 
1609
- //$this->AddElement(new GoogleSitemapGeneratorXmlEntry());
1610
 
1611
- //Debug mode?
1612
- $debug=$this->GetOption("b_debug");
1613
 
1614
- if($this->GetOption("b_xml")) {
1615
- $fileName = $this->GetXmlPath();
1616
- $status->StartXml($this->GetXmlPath(),$this->GetXmlUrl());
1617
 
1618
- if($this->IsFileWritable($fileName)) {
 
 
 
 
 
 
 
 
 
 
1619
 
1620
- $this->_fileHandle = fopen($fileName,"w");
1621
- if(!$this->_fileHandle) $status->EndXml(false,"Not openable");
1622
 
1623
- } else $status->EndXml(false,"not writable");
1624
- }
1625
 
1626
- //Write gzipped sitemap file
1627
- if($this->IsGzipEnabled()) {
1628
- $fileName = $this->GetZipPath();
1629
- $status->StartZip($this->GetZipPath(),$this->GetZipUrl());
1630
 
1631
- if($this->IsFileWritable($fileName)) {
1632
 
1633
- $this->_fileZipHandle = gzopen($fileName,"w1");
1634
- if(!$this->_fileZipHandle) $status->EndZip(false,"Not openable");
1635
 
1636
- } else $status->EndZip(false,"not writable");
 
 
 
 
 
 
 
 
 
 
1637
  }
1638
 
1639
- if(!$this->_fileHandle && !$this->_fileZipHandle) {
1640
- $status->End();
1641
- return;
1642
  }
 
1643
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1644
 
1645
- //Content of the XML file
1646
- $this->AddElement(new GoogleSitemapGeneratorXmlEntry('<?xml version="1.0" encoding="UTF-8"' . '?' . '>'));
1647
-
1648
- $styleSheet = ($this->GetDefaultStyle() && $this->GetOption('b_style_default')===true?$this->GetDefaultStyle():$this->GetOption('b_style'));
1649
 
1650
- if(!empty($styleSheet)) {
1651
- $this->AddElement(new GoogleSitemapGeneratorXmlEntry('<' . '?xml-stylesheet type="text/xsl" href="' . $styleSheet . '"?' . '>'));
1652
- }
1653
 
1654
- $this->AddElement(new GoogleSitemapGeneratorDebugEntry("generator=\"wordpress/" . get_bloginfo('version') . "\""));
1655
- $this->AddElement(new GoogleSitemapGeneratorDebugEntry("sitemap-generator-url=\"http://www.arnebrachhold.de\" sitemap-generator-version=\"" . $this->GetVersion() . "\""));
1656
- $this->AddElement(new GoogleSitemapGeneratorDebugEntry("generated-on=\"" . date(get_option("date_format") . " " . get_option("time_format")) . "\""));
 
 
 
1657
 
1658
- //All comments as an asso. Array (postID=>commentCount)
1659
- $comments=($this->GetOption("b_prio_provider")!=""?$this->GetComments():array());
 
1660
 
1661
- //Full number of comments
1662
- $commentCount=(count($comments)>0?$this->GetCommentCount($comments):0);
 
 
1663
 
1664
- if($debug && $this->GetOption("b_prio_provider")!="") {
1665
- $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Total comment count: " . $commentCount));
1666
  }
1667
 
1668
- //Go XML!
1669
- $this->AddElement(new GoogleSitemapGeneratorXmlEntry('<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'));
1670
 
1671
- $home = get_bloginfo('url');
1672
 
1673
- $homePid = 0;
1674
 
1675
- //Add the home page (WITH a slash!)
1676
- if($this->GetOption("in_home")) {
1677
- if('page' == get_option('show_on_front') && get_option('page_on_front')) {
1678
- $pageOnFront = get_option('page_on_front');
1679
- $p = get_page($pageOnFront);
1680
- if($p) {
1681
- $homePid = $p->ID;
1682
- $this->AddUrl(trailingslashit($home),$this->GetTimestampFromMySql(($p->post_modified_gmt && $p->post_modified_gmt!='0000-00-00 00:00:00'?$p->post_modified_gmt:$p->post_date_gmt)),$this->GetOption("cf_home"),$this->GetOption("pr_home"));
1683
- }
1684
- } else {
1685
- $this->AddUrl(trailingslashit($home),$this->GetTimestampFromMySql(get_lastpostmodified('GMT')),$this->GetOption("cf_home"),$this->GetOption("pr_home"));
1686
- }
1687
  }
1688
 
1689
- //Add the posts
1690
- if($this->GetOption("in_posts") || $this->GetOption("in_pages")) {
1691
-
1692
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Postings"));
1693
-
1694
- //Pre 2.1 compatibility. 2.1 introduced 'future' as post_status so we don't need to check post_date
1695
- $wpCompat = (floatval($wp_version) < 2.1);
1696
 
1697
- $useQTransLate = false; //function_exists('qtrans_convertURL') && function_exists('qtrans_getEnabledLanguages'); Not really working yet
1698
 
1699
- $excludes = $this->GetOption('b_exclude'); //Excluded posts and pages (user enetered ID)
 
 
1700
 
1701
- $exclCats = $this->GetOption("b_exclude_cats"); // Excluded cats
 
 
1702
 
1703
- if($exclCats && count($exclCats)>0 && $this->IsTaxonomySupported()) {
1704
 
1705
- $excludedCatPosts = get_objects_in_term($exclCats,"category"); // Get all posts in excl. cats. Unforttunately this also gives us pages, revisions and so on...
 
 
 
 
1706
 
1707
- //Remove the pages, revisions etc from the exclude by category list, because they are always in the uncategorized one.
1708
- if(count($excludedCatPosts)>0) {
1709
- $exclPages = $wpdb->get_col("SELECT ID FROM `" . $wpdb->posts . "` WHERE post_type!='post' AND ID IN ('" . implode("','",$excludedCatPosts) . "')");
1710
 
1711
- $exclPages = array_map('intval', $exclPages);
 
 
 
 
1712
 
1713
- //Remove the pages from the exlusion list before
1714
- if(count($exclPages)>0) $excludedCatPosts = array_diff($excludedCatPosts, $exclPages);
1715
 
1716
- //Merge the category exclusion list with the users one
1717
- if(count($excludedCatPosts)>0) $excludes = array_merge($excludes, $excludedCatPosts);
1718
- }
1719
- }
1720
 
 
1721
 
1722
- $contentStmt = '';
1723
- if($useQTransLate) {
1724
- $contentStmt.=', post_content ';
1725
- }
1726
 
1727
- $postPageStmt = '';
 
1728
 
1729
- $inSubPages = ($this->GetOption('in_posts_sub')===true);
1730
 
1731
- if($inSubPages && $this->GetOption('in_posts')===true) {
1732
- $pageDivider='<!--nextpage-->';
1733
- $postPageStmt = ", (character_length(`post_content`) - character_length(REPLACE(`post_content`, '$pageDivider', ''))) / " . strlen($pageDivider) . " as postPages";
 
 
 
 
 
1734
  }
1735
 
1736
- $sql="SELECT `ID`, `post_author`, `post_date`, `post_date_gmt`, `post_status`, `post_name`, `post_modified`, `post_modified_gmt`, `post_parent`, `post_type` $postPageStmt $contentStmt FROM `" . $wpdb->posts . "` WHERE ";
1737
 
1738
- $where = '(';
1739
 
1740
- if($this->GetOption('in_posts')) {
1741
- //WP < 2.1: posts are post_status = publish
1742
- //WP >= 2.1: post_type must be 'post', no date check required because future posts are post_status='future'
1743
- if($wpCompat) $where.="(post_status = 'publish' AND post_date_gmt <= '" . gmdate('Y-m-d H:i:59') . "')";
1744
- else if ($this->IsCustomPostTypesSupported() && count($this->GetOption('in_customtypes'))>0) {
1745
- $where.=" (post_status = 'publish' AND (post_type in ('','post'";
1746
- foreach ($this->GetOption('in_customtypes') as $customType) {
1747
- $where.= ",'$customType'";
1748
- }
1749
- $where .= "))) ";
1750
- } else {
1751
- $where.=" (post_status = 'publish' AND (post_type = 'post' OR post_type = '')) ";
1752
- }
1753
- }
1754
 
1755
- if($this->GetOption('in_pages')) {
1756
- if($this->GetOption('in_posts')) {
1757
- $where.=" OR ";
1758
- }
1759
- if($wpCompat) {
1760
- //WP < 2.1: posts have post_status = published, pages have post_status = static
1761
- $where.=" post_status='static' ";
1762
- } else {
1763
- //WP >= 2.1: posts have post_type = 'post' and pages have post_type = 'page'. Both must be published.
1764
- $where.=" (post_status = 'publish' AND post_type = 'page') ";
1765
- }
1766
- }
1767
-
1768
- $where.=") ";
1769
 
 
 
1770
 
1771
- if(is_array($excludes) && count($excludes)>0) {
1772
- $where.=" AND ID NOT IN ('" . implode("','",$excludes) . "')";
1773
- }
1774
 
1775
- $where.=" AND post_password='' ORDER BY post_modified DESC";
 
1776
 
1777
- $sql .= $where;
 
 
1778
 
1779
- if($this->GetOption("b_max_posts")>0) {
1780
- $sql.=" LIMIT 0," . $this->GetOption("b_max_posts");
1781
- }
1782
 
1783
- $postCount = intval($wpdb->get_var("SELECT COUNT(*) AS cnt FROM `" . $wpdb->posts . "` WHERE ". $where,0,0));
 
 
1784
 
1785
- //Create a new connection because we are using mysql_unbuffered_query and don't want to disturb the WP connection
1786
- //Safe Mode for other plugins which use mysql_query() without a connection handler and will destroy our resultset :(
1787
- $con = $postRes = null;
 
1788
 
1789
- //In 2.2, a bug which prevented additional DB connections was fixed
1790
- if(floatval($wp_version) < 2.2) {
1791
- $this->SetOption("b_safemode",true);
1792
- }
 
 
 
1793
 
1794
- if($this->GetOption("b_safemode")===true) {
1795
- $postRes = mysql_query($sql,$wpdb->dbh);
1796
- if(!$postRes) {
1797
- trigger_error("MySQL query failed: " . mysql_error(),E_USER_NOTICE); //E_USER_NOTICE will be displayed on our debug mode
1798
- return;
1799
- }
1800
- } else {
1801
- $con = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD,true);
1802
- if(!$con) {
1803
- trigger_error("MySQL Connection failed: " . mysql_error(),E_USER_NOTICE);
1804
- return;
1805
- }
1806
- if(!mysql_select_db(DB_NAME,$con)) {
1807
- trigger_error("MySQL DB Select failed: " . mysql_error(),E_USER_NOTICE);
1808
- return;
1809
- }
1810
- $postRes = mysql_unbuffered_query($sql,$con);
1811
 
1812
- if(!$postRes) {
1813
- trigger_error("MySQL unbuffered query failed: " . mysql_error(),E_USER_NOTICE);
1814
- return;
1815
- }
1816
- }
1817
 
1818
- if($postRes) {
 
1819
 
1820
- //#type $prioProvider GoogleSitemapGeneratorPrioProviderBase
1821
- $prioProvider=NULL;
 
1822
 
1823
- if($this->GetOption("b_prio_provider") != '') {
1824
- $providerClass=$this->GetOption('b_prio_provider');
1825
- $prioProvider = new $providerClass($commentCount,$postCount);
1826
- }
1827
 
1828
- //$posts is used by Alex King's Popularity Contest plugin
1829
- //if($posts == null || !is_array($posts)) {
1830
- // $posts = &$postRes;
1831
- //}
1832
-
1833
- $z = 1;
1834
- $zz = 1;
1835
-
1836
- //Default priorities
1837
- $default_prio_posts = $this->GetOption('pr_posts');
1838
- $default_prio_pages = $this->GetOption('pr_pages');
1839
-
1840
- //Change frequencies
1841
- $cf_pages = $this->GetOption('cf_pages');
1842
- $cf_posts = $this->GetOption('cf_posts');
1843
-
1844
- $minPrio=$this->GetOption('pr_posts_min');
1845
-
1846
-
1847
- //Cycle through all posts and add them
1848
- while($post = mysql_fetch_object($postRes)) {
1849
-
1850
- //Fill the cache with our DB result. Since it's incomplete (no text-content for example), we will clean it later.
1851
- $cache = array(&$post);
1852
- update_post_cache($cache);
1853
-
1854
- //Set the current working post for other plugins which depend on "the loop"
1855
- $GLOBALS['post'] = &$post;
1856
-
1857
- $permalink = get_permalink($post->ID);
1858
- if($permalink != $home && $post->ID != $homePid) {
1859
-
1860
- $isPage = false;
1861
- if($wpCompat) {
1862
- $isPage = ($post->post_status == 'static');
1863
- } else {
1864
- $isPage = ($post->post_type == 'page');
1865
- }
1866
-
1867
-
1868
- //Default Priority if auto calc is disabled
1869
- $prio = 0;
1870
-
1871
- if($isPage) {
1872
- //Priority for static pages
1873
- $prio = $default_prio_pages;
1874
- } else {
1875
- //Priority for normal posts
1876
- $prio = $default_prio_posts;
1877
- }
1878
-
1879
- //If priority calc. is enabled, calculate (but only for posts, not pages)!
1880
- if($prioProvider !== null && !$isPage) {
1881
-
1882
- //Comment count for this post
1883
- $cmtcnt = (isset($comments[$post->ID])?$comments[$post->ID]:0);
1884
- $prio = $prioProvider->GetPostPriority($post->ID, $cmtcnt, $post);
1885
-
1886
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry('Debug: Priority report of postID ' . $post->ID . ': Comments: ' . $cmtcnt . ' of ' . $commentCount . ' = ' . $prio . ' points'));
1887
- }
1888
-
1889
- if(!$isPage && $minPrio>0 && $prio<$minPrio) {
1890
- $prio = $minPrio;
1891
- }
1892
-
1893
- //Add it
1894
- $this->AddUrl($permalink,$this->GetTimestampFromMySql(($post->post_modified_gmt && $post->post_modified_gmt!='0000-00-00 00:00:00'?$post->post_modified_gmt:$post->post_date_gmt)),($isPage?$cf_pages:$cf_posts),$prio);
1895
-
1896
- if($inSubPages) {
1897
- $subPage = '';
1898
- for($p = 1; $p <= $post->postPages; $p++) {
1899
- if(get_option('permalink_structure') == '') {
1900
- $subPage = $permalink . '&amp;page=' . ($p+1);
1901
- } else {
1902
- $subPage = trailingslashit($permalink) . user_trailingslashit($p+1, 'single_paged');
1903
- }
1904
-
1905
- $this->AddUrl($subPage,$this->GetTimestampFromMySql(($post->post_modified_gmt && $post->post_modified_gmt!='0000-00-00 00:00:00'?$post->post_modified_gmt:$post->post_date_gmt)),($isPage?$cf_pages:$cf_posts),$prio);
1906
- }
1907
- }
1908
-
1909
- // Multilingual Support with qTranslate, thanks to Qian Qin
1910
- if($useQTransLate) {
1911
- global $q_config;
1912
- foreach(qtrans_getEnabledLanguages($post->post_content) as $language) {
1913
- if($language!=$q_config['default_language']) {
1914
- $this->AddUrl(qtrans_convertURL($permalink,$language),$this->GetTimestampFromMySql(($post->post_modified_gmt && $post->post_modified_gmt!='0000-00-00 00:00:00'?$post->post_modified_gmt:$post->post_date_gmt)),($isPage?$cf_pages:$cf_posts),$prio);
1915
- }
1916
- }
1917
- }
1918
- }
1919
-
1920
- //Update the status every 100 posts and at the end.
1921
- //If the script breaks because of memory or time limit,
1922
- //we have a "last reponded" value which can be compared to the server settings
1923
- if($zz==100 || $z == $postCount) {
1924
- $status->SaveStep($z);
1925
- $zz=0;
1926
- } else $zz++;
1927
-
1928
- $z++;
1929
-
1930
- //Clean cache because it's incomplete
1931
- if(version_compare($wp_version,"2.5",">=")) {
1932
- //WP 2.5 makes a mysql query for every clean_post_cache to clear the child cache
1933
- //so I've copied the function here until a patch arrives...
1934
- wp_cache_delete($post->ID, 'posts');
1935
- wp_cache_delete($post->ID, 'post_meta');
1936
- clean_object_term_cache($post->ID, 'post');
1937
- } else {
1938
- clean_post_cache($post->ID);
1939
- }
1940
- }
1941
- unset($postRes);
1942
- unset($prioProvider);
1943
 
1944
- if($this->GetOption("b_safemode")!==true && $con) mysql_close($con);
1945
- }
1946
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Postings"));
 
 
 
 
 
 
 
 
 
 
 
 
1947
  }
 
1948
 
1949
- //Add the cats
1950
- if($this->GetOption("in_cats")) {
1951
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Cats"));
1952
-
1953
- $exclCats = $this->GetOption("b_exclude_cats"); // Excluded cats
1954
- if($exclCats == null) $exclCats=array();
1955
-
1956
- if(!$this->IsTaxonomySupported()) {
1957
-
1958
- $catsRes=$wpdb->get_results("
1959
- SELECT
1960
- c.cat_ID AS ID,
1961
- MAX(p.post_modified_gmt) AS last_mod
1962
- FROM
1963
- `" . $wpdb->categories . "` c,
1964
- `" . $wpdb->post2cat . "` pc,
1965
- `" . $wpdb->posts . "` p
1966
- WHERE
1967
- pc.category_id = c.cat_ID
1968
- AND p.ID = pc.post_id
1969
- AND p.post_status = 'publish'
1970
- AND p.post_type='post'
1971
- GROUP
1972
- BY c.cat_id
1973
- ");
1974
- if($catsRes) {
1975
- foreach($catsRes as $cat) {
1976
- if($cat && $cat->ID && $cat->ID>0 && !in_array($cat->ID, $exclCats)) {
1977
- if($debug) if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Cat-ID:" . $cat->ID));
1978
- $this->AddUrl(get_category_link($cat->ID),$this->GetTimestampFromMySql($cat->last_mod),$this->GetOption("cf_cats"),$this->GetOption("pr_cats"));
1979
- }
1980
- }
1981
  }
 
 
1982
  } else {
1983
- $cats = get_terms("category",array("hide_empty"=>true,"hierarchical"=>false));
1984
- if($cats && is_array($cats) && count($cats)>0) {
1985
- foreach($cats AS $cat) {
1986
- if(!in_array($cat->term_id, $exclCats)) $this->AddUrl(get_category_link($cat->term_id),0,$this->GetOption("cf_cats"),$this->GetOption("pr_cats"));
1987
- }
1988
- }
1989
  }
1990
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Cats"));
1991
  }
 
 
 
 
1992
 
1993
- //Add the archives
1994
- if($this->GetOption("in_arch")) {
1995
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Archive"));
1996
- $now = current_time('mysql');
1997
-
1998
- //WP2.1 introduced post_status='future', for earlier WP versions we need to check the post_date_gmt
1999
- $arcresults = $wpdb->get_results("
2000
- SELECT DISTINCT
2001
- YEAR(post_date_gmt) AS `year`,
2002
- MONTH(post_date_gmt) AS `month`,
2003
- MAX(post_date_gmt) as last_mod,
2004
- count(ID) as posts
2005
- FROM
2006
- $wpdb->posts
2007
- WHERE
2008
- post_date < '$now'
2009
- AND post_status = 'publish'
2010
- AND post_type = 'post'
2011
- " . (floatval($wp_version) < 2.1?"AND {$wpdb->posts}.post_date_gmt <= '" . gmdate('Y-m-d H:i:59') . "'":"") . "
2012
- GROUP BY
2013
- YEAR(post_date_gmt),
2014
- MONTH(post_date_gmt)
2015
- ORDER BY
2016
- post_date_gmt DESC");
2017
- if ($arcresults) {
2018
- foreach ($arcresults as $arcresult) {
2019
-
2020
- $url = get_month_link($arcresult->year, $arcresult->month);
2021
- $changeFreq="";
2022
-
2023
- //Archive is the current one
2024
- if($arcresult->month==date("n") && $arcresult->year==date("Y")) {
2025
- $changeFreq=$this->GetOption("cf_arch_curr");
2026
- } else { // Archive is older
2027
- $changeFreq=$this->GetOption("cf_arch_old");
2028
- }
2029
-
2030
- $this->AddUrl($url,$this->GetTimestampFromMySql($arcresult->last_mod),$changeFreq,$this->GetOption("pr_arch"));
2031
- }
2032
- }
2033
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Archive"));
2034
  }
 
2035
 
2036
- //Add the author pages
2037
- if($this->GetOption("in_auth")) {
2038
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Author pages"));
2039
 
2040
- $linkFunc = null;
2041
 
2042
- //get_author_link is deprecated in WP 2.1, try to use get_author_posts_url first.
2043
- if(function_exists('get_author_posts_url')) {
2044
- $linkFunc = 'get_author_posts_url';
2045
- } else if(function_exists('get_author_link')) {
2046
- $linkFunc = 'get_author_link';
2047
- }
 
2048
 
2049
- //Who knows what happens in later WP versions, so check again if it worked
2050
- if($linkFunc !== null) {
2051
- //Unfortunately there is no API function to get all authors, so we have to do it the dirty way...
2052
- //We retrieve only users with published and not password protected posts (and not pages)
2053
- //WP2.1 introduced post_status='future', for earlier WP versions we need to check the post_date_gmt
2054
- $sql = "SELECT DISTINCT
2055
- u.ID,
2056
- u.user_nicename,
2057
- MAX(p.post_modified_gmt) AS last_post
2058
- FROM
2059
- {$wpdb->users} u,
2060
- {$wpdb->posts} p
2061
- WHERE
2062
- p.post_author = u.ID
2063
- AND p.post_status = 'publish'
2064
- AND p.post_type = 'post'
2065
- AND p.post_password = ''
2066
- " . (floatval($wp_version) < 2.1?"AND p.post_date_gmt <= '" . gmdate('Y-m-d H:i:59') . "'":"") . "
2067
- GROUP BY
2068
- u.ID,
2069
- u.user_nicename";
2070
-
2071
- $authors = $wpdb->get_results($sql);
2072
-
2073
- if($authors && is_array($authors)) {
2074
- foreach($authors as $author) {
2075
- if($debug) if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Author-ID:" . $author->ID));
2076
- $url = ($linkFunc=='get_author_posts_url'?get_author_posts_url($author->ID,$author->user_nicename):get_author_link(false,$author->ID,$author->user_nicename));
2077
- $this->AddUrl($url,$this->GetTimestampFromMySql($author->last_post),$this->GetOption("cf_auth"),$this->GetOption("pr_auth"));
2078
- }
2079
- }
2080
- } else {
2081
- //Too bad, no author pages for you :(
2082
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: No valid author link function found"));
2083
- }
2084
 
2085
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Author pages"));
2086
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2087
 
2088
- //Add tag pages
2089
- if($this->GetOption("in_tags") && $this->IsTaxonomySupported()) {
2090
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Tags"));
2091
- $tags = get_terms("post_tag",array("hide_empty"=>true,"hierarchical"=>false));
2092
- if($tags && is_array($tags) && count($tags)>0) {
2093
- foreach($tags AS $tag) {
2094
- $this->AddUrl(get_tag_link($tag->term_id),0,$this->GetOption("cf_tags"),$this->GetOption("pr_tags"));
2095
- }
2096
- }
2097
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Tags"));
2098
- }
2099
 
2100
- //Add custom taxonomy pages
2101
- if($this->GetOption("in_tax") && $this->IsTaxonomySupported()) {
2102
 
2103
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start custom taxonomies"));
 
 
 
 
 
 
 
2104
 
2105
- $enabledTaxonomies = $this->GetOption("in_tax");
 
 
 
 
 
 
2106
 
2107
- $taxList = array();
2108
 
2109
- foreach ($enabledTaxonomies as $taxName) {
2110
- $taxonomy = get_taxonomy($taxName);
2111
- if($taxonomy) $taxList[] = $wpdb->escape($taxonomy->name);
2112
- }
2113
 
2114
- if(count($taxList)>0) {
2115
- //We're selecting all term information (t.*) plus some additional fields
2116
- //like the last mod date and the taxonomy name, so WP doesnt need to make
2117
- //additional queries to build the permalink structure.
2118
- //This does NOT work for categories and tags yet, because WP uses get_category_link
2119
- //and get_tag_link internally and that would cause one additional query per term!
2120
- $sql="
2121
- SELECT
2122
- t.*,
2123
- tt.taxonomy AS _taxonomy,
2124
- UNIX_TIMESTAMP(MAX(post_date_gmt)) as _mod_date
2125
- FROM
2126
- {$wpdb->posts} p ,
2127
- {$wpdb->term_relationships} r,
2128
- {$wpdb->terms} t,
2129
- {$wpdb->term_taxonomy} tt
2130
- WHERE
2131
- p.ID = r.object_id
2132
- AND p.post_status = 'publish'
2133
- AND p.post_type = 'post'
2134
- AND p.post_password = ''
2135
- AND r.term_taxonomy_id = t.term_id
2136
- AND t.term_id = tt.term_id
2137
- AND tt.count > 0
2138
- AND tt.taxonomy IN ('" . implode("','",$taxList) . "')
2139
- GROUP BY
2140
- t.term_id";
2141
-
2142
- $termInfo = $wpdb->get_results($sql);
2143
-
2144
- foreach($termInfo AS $term) {
2145
- $this->AddUrl(get_term_link($term->slug,$term->_taxonomy),$term->_mod_date ,$this->GetOption("cf_tags"),$this->GetOption("pr_tags"));
2146
- }
2147
- }
2148
 
2149
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End custom taxonomies"));
 
 
 
 
2150
  }
 
2151
 
2152
- //Add the custom pages
2153
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Custom Pages"));
2154
- if($this->_pages && is_array($this->_pages) && count($this->_pages)>0) {
2155
- //#type $page GoogleSitemapGeneratorPage
2156
- foreach($this->_pages AS $page) {
2157
- $this->AddUrl($page->GetUrl(),$page->getLastMod(),$page->getChangeFreq(),$page->getPriority());
2158
- }
2159
- }
2160
 
2161
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Custom Pages"));
2162
 
2163
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start additional URLs"));
 
 
 
2164
 
2165
- do_action('sm_buildmap');
2166
 
2167
- if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End additional URLs"));
2168
 
2169
- $this->AddElement(new GoogleSitemapGeneratorXmlEntry("</urlset>"));
2170
 
 
 
2171
 
2172
- $pingUrl='';
 
 
 
 
 
 
2173
 
2174
- if($this->GetOption("b_xml")) {
2175
- if($this->_fileHandle && fclose($this->_fileHandle)) {
2176
- $this->_fileHandle = null;
2177
- $status->EndXml(true);
2178
- $pingUrl=$this->GetXmlUrl();
2179
- } else $status->EndXml(false,"Could not close the sitemap file.");
2180
- }
2181
 
2182
- if($this->IsGzipEnabled()) {
2183
- if($this->_fileZipHandle && fclose($this->_fileZipHandle)) {
2184
- $this->_fileZipHandle = null;
2185
- $status->EndZip(true);
2186
- $pingUrl=$this->GetZipUrl();
2187
- } else $status->EndZip(false,"Could not close the zipped sitemap file");
2188
- }
2189
 
2190
- //Ping Google
2191
- if($this->GetOption("b_ping") && !empty($pingUrl)) {
2192
- $sPingUrl="http://www.google.com/webmasters/sitemaps/ping?sitemap=" . urlencode($pingUrl);
2193
- $status->StartGooglePing($sPingUrl);
2194
- $pingres=$this->RemoteOpen($sPingUrl);
2195
 
2196
- if($pingres==NULL || $pingres===false) {
2197
- $status->EndGooglePing(false,$this->_lastError);
2198
- trigger_error("Failed to ping Google: " . htmlspecialchars(strip_tags($pingres)),E_USER_NOTICE);
2199
- } else {
2200
- $status->EndGooglePing(true);
 
2201
  }
2202
- }
2203
-
2204
 
2205
- //Ping Bing
2206
- if($this->GetOption("b_pingmsn") && !empty($pingUrl)) {
2207
- $sPingUrl="http://www.bing.com/webmaster/ping.aspx?siteMap=" . urlencode($pingUrl);
2208
- $status->StartMsnPing($sPingUrl);
2209
- $pingres=$this->RemoteOpen($sPingUrl);
2210
- //Bing returns ip/country-based success messages, so there is no way to check the content. Rely on HTTP 500 only then...
2211
- if($pingres==NULL || $pingres===false || strpos($pingres," ")===false) {
2212
- trigger_error("Failed to ping Bing: " . htmlspecialchars(strip_tags($pingres)),E_USER_NOTICE);
2213
- $status->EndMsnPing(false,$this->_lastError);
2214
- } else {
2215
- $status->EndMsnPing(true);
2216
- }
2217
  }
2218
 
2219
  $status->End();
2220
-
2221
-
2222
- $this->_isActive = false;
2223
-
2224
- //done...
2225
- return $status;
2226
  }
2227
 
2228
  /**
@@ -2230,7 +1820,7 @@ class GoogleSitemapGenerator {
2230
  * @since 3.1.9
2231
  * @return null
2232
  */
2233
- function ShowPingResult() {
2234
 
2235
  check_admin_referer('sitemap');
2236
 
@@ -2239,46 +1829,43 @@ class GoogleSitemapGenerator {
2239
  return;
2240
  }
2241
 
2242
- $service = !empty($_GET["sm_ping_service"])?$_GET["sm_ping_service"]:null;
2243
 
2244
- $status = &GoogleSitemapGeneratorStatus::Load();
2245
 
2246
- if(!$status) die("No build status yet. Build the sitemap first.");
2247
 
2248
  $url = null;
2249
 
2250
- switch($service) {
2251
- case "google":
2252
- $url = $status->_googleUrl;
2253
- break;
2254
- case "msn":
2255
- $url = $status->_msnUrl;
2256
- break;
2257
- }
2258
 
2259
  if(empty($url)) die("Invalid ping url");
2260
 
2261
  echo '<html><head><title>Ping Test</title>';
2262
- if(function_exists('wp_admin_css')) wp_admin_css('css/global',true);
2263
  echo '</head><body><h1>Ping Test</h1>';
2264
 
2265
  echo '<p>Trying to ping: <a href="' . $url . '">' . $url . '</a>. The sections below should give you an idea whats going on.</p>';
2266
 
2267
  //Try to get as much as debug / error output as possible
2268
  $errLevel = error_reporting(E_ALL);
2269
- $errDisplay = ini_set("display_errors",1);
2270
- if(!defined('WP_DEBUG')) define('WP_DEBUG',true);
2271
 
2272
  echo '<h2>Errors, Warnings, Notices:</h2>';
2273
 
2274
  if(WP_DEBUG == false) echo "<i>WP_DEBUG was set to false somewhere before. You might not see all debug information until you remove this declaration!</i><br />";
2275
- if(ini_get("display_errors")!=1) echo "<i>Your display_errors setting currently prevents the plugin from showing errors here. Please check your webserver logfile instead.</i><br />";
2276
 
2277
  $res = $this->RemoteOpen($url);
2278
 
2279
  echo '<h2>Result (text only):</h2>';
2280
 
2281
- echo wp_kses($res,array('a' => array('href' => array()),'p' => array(), 'ul' => array(), 'ol' => array(), 'li' => array()));
2282
 
2283
  echo '<h2>Result (HTML):</h2>';
2284
 
@@ -2286,240 +1873,118 @@ class GoogleSitemapGenerator {
2286
 
2287
  //Revert back old values
2288
  error_reporting($errLevel);
2289
- ini_set("display_errors",$errDisplay);
2290
  echo '</body></html>';
2291
  exit;
2292
  }
2293
 
2294
  /**
2295
- * Opens a remote file using the WordPress API or Snoopy
2296
  * @since 3.0
2297
  * @param $url The URL to open
2298
- * @param $method get or post
2299
  * @param $postData An array with key=>value paris
2300
- * @param $timeout Timeout for the request, by default 10
2301
  * @return mixed False on error, the body of the response on success
2302
  */
2303
- function RemoteOpen($url,$method = 'get', $postData = null, $timeout = 10) {
2304
  global $wp_version;
2305
 
2306
- //Before WP 2.7, wp_remote_fopen was quite crappy so Snoopy was favoured.
2307
- if(floatval($wp_version) < 2.7) {
2308
- if(!file_exists(ABSPATH . 'wp-includes/class-snoopy.php')) {
2309
- trigger_error('Snoopy Web Request failed: Snoopy not found.',E_USER_NOTICE);
2310
- return false; //Hoah?
2311
- }
2312
-
2313
- require_once( ABSPATH . 'wp-includes/class-snoopy.php');
2314
-
2315
- $s = new Snoopy();
2316
-
2317
- $s->read_timeout = $timeout;
2318
-
2319
- if($method == 'get') {
2320
- $s->fetch($url);
2321
- } else {
2322
- $s->submit($url,$postData);
2323
- }
2324
-
2325
- if($s->status != "200") {
2326
- trigger_error('Snoopy Web Request failed: Status: ' . $s->status . "; Content: " . htmlspecialchars($s->results),E_USER_NOTICE);
2327
- }
2328
-
2329
- return $s->results;
2330
 
 
 
2331
  } else {
 
 
2332
 
2333
- $options = array();
2334
- $options['timeout'] = $timeout;
2335
-
2336
- if($method == 'get') {
2337
- $response = wp_remote_get( $url, $options );
2338
- } else {
2339
- $response = wp_remote_post($url, array_merge($options,array('body'=>$postData)));
2340
- }
2341
-
2342
- if ( is_wp_error( $response ) ) {
2343
- $errs = $response->get_error_messages();
2344
- $errs = htmlspecialchars(implode('; ', $errs));
2345
- trigger_error('WP HTTP API Web Request failed: ' . $errs,E_USER_NOTICE);
2346
- return false;
2347
- }
2348
-
2349
- return $response['body'];
2350
  }
2351
 
2352
- return false;
2353
  }
2354
 
2355
  /**
2356
- * Echos option fields for an select field containing the valid change frequencies
2357
- *
2358
- * @since 3.0
2359
- * @access private
2360
- * @author Arne Brachhold
2361
- * @param $currentVal The value which should be selected
2362
- * @return all valid change frequencies as html option fields
2363
  */
2364
- function HtmlGetFreqNames($currentVal) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2365
 
2366
- foreach($this->_freqNames AS $k=>$v) {
2367
- echo "<option value=\"$k\" " . $this->HtmlGetSelected($k,$currentVal) .">" . $v . "</option>";
2368
- }
2369
  }
2370
 
2371
  /**
2372
- * Echos option fields for an select field containing the valid priorities (0- 1.0)
2373
- *
2374
- * @since 3.0
2375
- * @access private
2376
- * @author Arne Brachhold
2377
- * @param $currentVal string The value which should be selected
2378
- * @return 0.0 - 1.0 as html option fields
2379
- */
2380
- function HtmlGetPriorityValues($currentVal) {
2381
- $currentVal=(float) $currentVal;
2382
- for($i=0.0; $i<=1.0; $i+=0.1) {
2383
- $v = number_format($i,1,".","");
2384
- //number_format_i18n is there since WP 2.3
2385
- $t = function_exists('number_format_i18n')?number_format_i18n($i,1):number_format($i,1);
2386
- echo "<option value=\"" . $v . "\" " . $this->HtmlGetSelected("$i","$currentVal") .">";
2387
- echo $t;
2388
- echo "</option>";
2389
- }
2390
- }
2391
-
2392
- /**
2393
- * Returns the checked attribute if the given values match
2394
- *
2395
- * @since 3.0
2396
- * @access private
2397
- * @author Arne Brachhold
2398
- * @param $val string The current value
2399
- * @param $equals string The value to match
2400
- * @return The checked attribute if the given values match, an empty string if not
2401
  */
2402
- function HtmlGetChecked($val,$equals) {
2403
- if($val==$equals) return $this->HtmlGetAttribute("checked");
2404
- else return "";
2405
- }
2406
 
2407
- /**
2408
- * Returns the selected attribute if the given values match
2409
- *
2410
- * @since 3.0
2411
- * @access private
2412
- * @author Arne Brachhold
2413
- * @param $val string The current value
2414
- * @param $equals string The value to match
2415
- * @return The selected attribute if the given values match, an empty string if not
2416
- */
2417
- function HtmlGetSelected($val,$equals) {
2418
- if($val==$equals) return $this->HtmlGetAttribute("selected");
2419
- else return "";
2420
- }
2421
 
2422
- /**
2423
- * Returns an formatted attribute. If the value is NULL, the name will be used.
2424
- *
2425
- * @since 3.0
2426
- * @access private
2427
- * @author Arne Brachhold
2428
- * @param $attr string The attribute name
2429
- * @param $value string The attribute value
2430
- * @return The formatted attribute
2431
- */
2432
- function HtmlGetAttribute($attr,$value=NULL) {
2433
- if($value==NULL) $value=$attr;
2434
- return " " . $attr . "=\"" . $value . "\" ";
2435
- }
2436
 
2437
- /**
2438
- * Returns an array with GoogleSitemapGeneratorPage objects which is generated from POST values
2439
- *
2440
- * @since 3.0
2441
- * @see GoogleSitemapGeneratorPage
2442
- * @access private
2443
- * @author Arne Brachhold
2444
- * @return array An array with GoogleSitemapGeneratorPage objects
2445
- */
2446
- function HtmlApplyPages() {
2447
- // Array with all page URLs
2448
- $pages_ur=(!isset($_POST["sm_pages_ur"]) || !is_array($_POST["sm_pages_ur"])?array():$_POST["sm_pages_ur"]);
2449
-
2450
- //Array with all priorities
2451
- $pages_pr=(!isset($_POST["sm_pages_pr"]) || !is_array($_POST["sm_pages_pr"])?array():$_POST["sm_pages_pr"]);
2452
-
2453
- //Array with all change frequencies
2454
- $pages_cf=(!isset($_POST["sm_pages_cf"]) || !is_array($_POST["sm_pages_cf"])?array():$_POST["sm_pages_cf"]);
2455
-
2456
- //Array with all lastmods
2457
- $pages_lm=(!isset($_POST["sm_pages_lm"]) || !is_array($_POST["sm_pages_lm"])?array():$_POST["sm_pages_lm"]);
2458
-
2459
- //Array where the new pages are stored
2460
- $pages=array();
2461
- //Loop through all defined pages and set their properties into an object
2462
- if(isset($_POST["sm_pages_mark"]) && is_array($_POST["sm_pages_mark"])) {
2463
- for($i=0; $i<count($_POST["sm_pages_mark"]); $i++) {
2464
- //Create new object
2465
- $p=new GoogleSitemapGeneratorPage();
2466
- if(substr($pages_ur[$i],0,4)=="www.") $pages_ur[$i]="http://" . $pages_ur[$i];
2467
- $p->SetUrl($pages_ur[$i]);
2468
- $p->SetProprity($pages_pr[$i]);
2469
- $p->SetChangeFreq($pages_cf[$i]);
2470
- //Try to parse last modified, if -1 (note ===) automatic will be used (0)
2471
- $lm=(!empty($pages_lm[$i])?strtotime($pages_lm[$i],time()):-1);
2472
- if($lm===-1) $p->setLastMod(0);
2473
- else $p->setLastMod($lm);
2474
- //Add it to the array
2475
- array_push($pages,$p);
2476
- }
2477
  }
2478
 
2479
- return $pages;
 
 
2480
  }
2481
 
2482
- /**
2483
- * Converts a mysql datetime value into a unix timestamp
2484
- *
2485
- * @param The value in the mysql datetime format
2486
- * @return int The time in seconds
2487
- */
2488
- function GetTimestampFromMySql($mysqlDateTime) {
2489
- list($date, $hours) = explode(' ', $mysqlDateTime);
2490
- list($year,$month,$day) = explode('-',$date);
2491
- list($hour,$min,$sec) = explode(':',$hours);
2492
- return mktime(intval($hour), intval($min), intval($sec), intval($month), intval($day), intval($year));
2493
- }
2494
 
2495
- /**
2496
- * Returns a link pointing to a spcific page of the authors website
2497
- *
2498
- * @since 3.0
2499
- * @param The page to link to
2500
- * @return string The full url
2501
- */
2502
- function GetRedirectLink($redir) {
2503
- return trailingslashit("http://www.arnebrachhold.de/redir/" . $redir);
2504
- }
2505
 
2506
  /**
2507
- * Returns a link pointing back to the plugin page in WordPress
2508
  *
2509
- * @since 3.0
2510
- * @return string The full url
 
2511
  */
2512
- function GetBackLink() {
 
2513
  global $wp_version;
2514
- $url = '';
2515
- //admin_url was added in WP 2.6.0
2516
- if(function_exists("admin_url")) $url = admin_url("options-general.php?page=" . GoogleSitemapGeneratorLoader::GetBaseName());
2517
- else $url = $_SERVER['PHP_SELF'] . "?page=" . GoogleSitemapGeneratorLoader::GetBaseName();
2518
 
2519
- //Some browser cache the page... great! So lets add some no caching params depending on the WP and plugin version
2520
- $url.='&sm_wpv=' . $wp_version . '&sm_pv=' . GoogleSitemapGeneratorLoader::GetVersion();
2521
 
2522
- return $url;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2523
  }
2524
 
2525
  /**
@@ -2529,7 +1994,7 @@ class GoogleSitemapGenerator {
2529
  * @since 3.0
2530
  * @return bool
2531
  */
2532
- function HtmlShowOptionsPage() {
2533
 
2534
  $ui = $this->GetUI();
2535
  if($ui) {
@@ -2540,39 +2005,16 @@ class GoogleSitemapGenerator {
2540
  return false;
2541
  }
2542
 
 
 
2543
  /**
2544
- * Includes the user interface class and intializes it
2545
  *
2546
- * @since 3.1.1
2547
- * @see GoogleSitemapGeneratorUI
2548
- * @return GoogleSitemapGeneratorUI
2549
  */
2550
- function GetUI() {
2551
-
2552
- global $wp_version;
2553
-
2554
- if($this->_ui === null) {
2555
-
2556
- $className='GoogleSitemapGeneratorUI';
2557
- $fileName='sitemap-ui.php';
2558
-
2559
- if(!class_exists($className)) {
2560
-
2561
- $path = trailingslashit(dirname(__FILE__));
2562
-
2563
- if(!file_exists( $path . $fileName)) return false;
2564
- require_once($path. $fileName);
2565
- }
2566
-
2567
- $this->_ui = new $className($this);
2568
-
2569
- }
2570
-
2571
- return $this->_ui;
2572
- }
2573
-
2574
- function HtmlShowHelp() {
2575
-
2576
-
2577
  }
2578
- }
1
  <?php
2
  /*
3
 
4
+ $Id: sitemap-core.php 882527 2014-03-26 19:05:29Z arnee $
5
 
6
  */
7
 
8
  //Enable for dev! Good code doesn't generate any notices...
9
  //error_reporting(E_ALL);
10
+ //ini_set("display_errors", 1);
11
 
12
  /**
13
+ * Represents the status (successes and failures) of a ping process
14
  * @author Arne Brachhold
15
  * @package sitemap
16
  * @since 3.0b5
17
  */
18
  class GoogleSitemapGeneratorStatus {
19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  /**
21
  * @var float $_startTime The start time of the building process
 
22
  */
23
+ private $startTime = 0;
24
 
25
  /**
26
  * @var float $_endTime The end time of the building process
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  */
28
+ private $endTime = 0;
29
 
30
  /**
31
+ * @var array Holding an array with the results and information of the last ping
 
32
  */
33
+ private $pingResults = array();
34
 
35
  /**
36
+ * Constructs a new status ued for saving the ping results
 
37
  */
38
+ public function __construct() {
39
+ $this->startTime = microtime(true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
 
41
+ $exists = get_option("sm_status");
 
 
42
 
43
+ if($exists === false) add_option("sm_status", "", null, "no");
 
 
 
44
 
45
  $this->Save();
46
  }
47
 
48
+ /**
49
+ * Saves the status back to the database
50
+ */
51
+ public function Save() {
52
+ update_option("sm_status", $this);
 
 
 
 
 
53
  }
54
 
55
+ /**
56
+ * Returns the last saved status object or null
57
+ *
58
+ * @return GoogleSitemapGeneratorStatus
59
+ */
60
+ public static function Load() {
61
+ $status = @get_option("sm_status");
62
+ if(is_a($status, "GoogleSitemapGeneratorStatus")) {
63
+ return $status;
64
+ }
65
+ else return null;
66
  }
67
 
68
+ /**
69
+ * Ends the ping process
70
+ */
71
+ public function End() {
72
+ $this->endTime = microtime(true);
 
 
 
 
 
73
  $this->Save();
74
  }
75
 
76
+ /**
77
+ * Returns the duration of the ping process
78
+ * @return int
79
+ */
80
+ public function GetDuration() {
81
+ return round($this->endTime - $this->startTime, 2);
82
  }
83
 
84
+ /**
85
+ * Returns the time when the pings were started
86
+ * @return int
87
+ */
88
+ public function GetStartTime() {
89
+ return round($this->startTime, 2);
 
 
 
 
 
 
90
  }
91
 
92
+ /**
93
+ * @param $service The internal name of the ping service
94
+ * @param $url The URL to ping
95
+ * @param $name The display name of the service
96
+ * @return void
97
+ */
98
+ public function StartPing($service, $url, $name = null) {
99
+ $this->pingResults[$service] = array(
100
+ 'startTime' => microtime(true),
101
+ 'endTime' => 0,
102
+ 'success' => false,
103
+ 'url' => $url,
104
+ 'name' => $name ? $name : $service
105
+ );
106
 
107
  $this->Save();
108
  }
109
 
110
+ /**
111
+ * @param $service The internal name of the ping service
112
+ * @param $success If the ping was successful
113
+ * @return void
114
+ */
115
+ public function EndPing($service, $success) {
116
+ $this->pingResults[$service]['endTime'] = microtime(true);
117
+ $this->pingResults[$service]['success'] = $success;
 
 
118
 
119
  $this->Save();
120
  }
121
 
122
+ /**
123
+ * Returns the duration of the last ping of a specific ping service
124
+ *
125
+ * @param $service The internal name of the ping service
126
+ * @return float
127
+ */
128
+ public function GetPingDuration($service) {
129
+ $res = $this->pingResults[$service];
130
+ return round($res['endTime'] - $res['startTime'], 2);
131
  }
132
 
133
+ /**
134
+ * Returns the last result for a specific ping service
135
+ *
136
+ * @param $service The internal name of the ping service
137
+ * @return array
138
+ */
139
+ public function GetPingResult($service) {
140
+ return $this->pingResults[$service]['success'];
141
  }
142
 
143
+ /**
144
+ * Returns the URL for a specific ping service
145
+ *
146
+ * @param $service The internal name of the ping service
147
+ * @return array
148
+ */
149
+ public function GetPingUrl($service) {
150
+ return $this->pingResults[$service]['url'];
 
 
 
 
151
  }
152
 
153
+ /**
154
+ * Returns the name for a specific ping service
155
+ *
156
+ * @param $service The internal name of the ping service
157
+ * @return array
158
+ */
159
+ public function GetServiceName($service) {
160
+ return $this->pingResults[$service]['name'];
161
  }
162
 
163
+ /**
164
+ * Returns if a service was used in the last ping
165
+ *
166
+ * @param $service The internal name of the ping service
167
+ * @return bool
168
+ */
169
+ public function UsedPingService($service) {
170
+ return array_key_exists($service, $this->pingResults);
171
  }
172
 
173
+ /**
174
+ * Returns the services which were used in the last ping
175
+ *
176
+ * @return array
177
+ */
178
+ public function GetUsedPingServices() {
179
+ return array_keys($this->pingResults);
180
  }
181
+ }
182
 
183
  /**
184
  * Represents an item in the page list
190
 
191
  /**
192
  * @var string $_url Sets the URL or the relative path to the blog dir of the page
 
193
  */
194
+ public $_url;
195
 
196
  /**
197
  * @var float $_priority Sets the priority of this page
 
198
  */
199
+ public $_priority;
200
 
201
  /**
202
  * @var string $_changeFreq Sets the chanfe frequency of the page. I want Enums!
 
203
  */
204
+ public $_changeFreq;
205
 
206
  /**
207
  * @var int $_lastMod Sets the lastMod date as a UNIX timestamp.
 
208
  */
209
+ public $_lastMod;
210
+
211
+ /**
212
+ * @var int $_postID Sets the post ID in case this item is a WordPress post or page
213
+ */
214
+ public $_postID;
215
 
216
  /**
217
  * Initialize a new page object
218
  *
219
  * @since 3.0
 
 
 
220
  * @param string $url The URL or path of the file
221
  * @param float $priority The Priority of the page 0.0 to 1.0
222
  * @param string $changeFreq The change frequency like daily, hourly, weekly
223
  * @param int $lastMod The last mod date as a unix timestamp
224
+ * @param int $postID The post ID of this page
225
+ * @return GoogleSitemapGeneratorPage
226
+ *
227
  */
228
+ public function __construct($url = "", $priority = 0.0, $changeFreq = "never", $lastMod = 0, $postID = 0) {
229
  $this->SetUrl($url);
230
  $this->SetProprity($priority);
231
  $this->SetChangeFreq($changeFreq);
232
  $this->SetLastMod($lastMod);
233
+ $this->SetPostID($postID);
234
  }
235
 
236
  /**
238
  *
239
  * @return string The URL
240
  */
241
+ public function GetUrl() {
242
  return $this->_url;
243
  }
244
 
247
  *
248
  * @param string $url The new URL
249
  */
250
+ public function SetUrl($url) {
251
+ $this->_url = (string) $url;
252
  }
253
 
254
  /**
256
  *
257
  * @return float the priority, from 0.0 to 1.0
258
  */
259
+ public function GetPriority() {
260
  return $this->_priority;
261
  }
262
 
265
  *
266
  * @param float $priority The new priority from 0.1 to 1.0
267
  */
268
+ public function SetProprity($priority) {
269
+ $this->_priority = floatval($priority);
270
  }
271
 
272
  /**
274
  *
275
  * @return string The change frequncy like hourly, weekly, monthly etc.
276
  */
277
+ public function GetChangeFreq() {
278
  return $this->_changeFreq;
279
  }
280
 
283
  *
284
  * @param string $changeFreq The new change frequency
285
  */
286
+ public function SetChangeFreq($changeFreq) {
287
+ $this->_changeFreq = (string) $changeFreq;
288
  }
289
 
290
  /**
292
  *
293
  * @return int The lastmod value in seconds
294
  */
295
+ public function GetLastMod() {
296
  return $this->_lastMod;
297
  }
298
 
301
  *
302
  * @param int $lastMod The lastmod of the page
303
  */
304
+ public function SetLastMod($lastMod) {
305
+ $this->_lastMod = intval($lastMod);
306
+ }
307
+
308
+ /**
309
+ * Returns the ID of the post
310
+ *
311
+ * @return int The post ID
312
+ */
313
+ public function GetPostID() {
314
+ return $this->_postID;
315
+ }
316
+
317
+ /**
318
+ * Sets the ID of the post
319
+ *
320
+ * @param int $postID The new ID
321
+ */
322
+ public function SetPostID($postID) {
323
+ $this->_postID = intval($postID);
324
  }
325
 
326
+ public function Render() {
327
 
328
  if($this->_url == "/" || empty($this->_url)) return '';
329
 
330
+ $r = "";
331
+ $r .= "\t<url>\n";
332
+ $r .= "\t\t<loc>" . $this->EscapeXML($this->_url) . "</loc>\n";
333
+ if($this->_lastMod > 0) $r .= "\t\t<lastmod>" . date('Y-m-d\TH:i:s+00:00', $this->_lastMod) . "</lastmod>\n";
334
+ if(!empty($this->_changeFreq)) $r .= "\t\t<changefreq>" . $this->_changeFreq . "</changefreq>\n";
335
+ if($this->_priority !== false && $this->_priority !== "") $r .= "\t\t<priority>" . number_format($this->_priority, 1) . "</priority>\n";
336
+ $r .= "\t</url>\n";
337
  return $r;
338
  }
339
 
340
+ protected function EscapeXML($string) {
341
+ return str_replace(array('&', '"', "'", '<', '>'), array('&amp;', '&quot;', '&apos;', '&lt;', '&gt;'), $string);
342
  }
343
  }
344
 
345
+ /**
346
+ * Represents an XML entry, like definitions
347
+ * @author Arne Brachhold
348
+ * @package sitemap
349
+ * @since 3.0
350
+ */
351
  class GoogleSitemapGeneratorXmlEntry {
352
 
353
+ protected $_xml;
354
 
355
+ public function __construct($xml) {
356
  $this->_xml = $xml;
357
  }
358
 
359
+ public function Render() {
360
  return $this->_xml;
361
  }
362
  }
363
 
364
+ /**
365
+ * Represents an comment
366
+ * @author Arne Brachhold
367
+ * @package sitemap
368
+ * @since 3.0
369
+ * @uses GoogleSitemapGeneratorXmlEntry
370
+ */
371
  class GoogleSitemapGeneratorDebugEntry extends GoogleSitemapGeneratorXmlEntry {
372
 
373
+ public function Render() {
374
  return "<!-- " . $this->_xml . " -->\n";
375
  }
376
  }
377
 
378
  /**
379
+ * Represents an item in the sitemap
380
  * @author Arne Brachhold
381
  * @package sitemap
382
  * @since 3.0
383
  */
384
+ class GoogleSitemapGeneratorSitemapEntry {
385
 
386
  /**
387
+ * @var string $_url Sets the URL or the relative path to the blog dir of the page
 
388
  */
389
+ protected $_url;
390
 
391
  /**
392
+ * @var int $_lastMod Sets the lastMod date as a UNIX timestamp.
 
393
  */
394
+ protected $_lastMod;
395
 
396
  /**
397
+ * Returns the URL of the page
398
  *
399
+ * @return string The URL
400
+ */
401
+ public function GetUrl() {
402
+ return $this->_url;
 
 
 
403
  }
404
 
405
  /**
406
+ * Sets the URL of the page
407
  *
408
+ * @param string $url The new URL
409
+ */
410
+ public function SetUrl($url) {
411
+ $this->_url = (string) $url;
 
 
 
412
  }
413
 
414
  /**
415
+ * Returns the last mod of the page
416
  *
417
+ * @return int The lastmod value in seconds
418
+ */
419
+ public function GetLastMod() {
420
+ return $this->_lastMod;
 
 
 
 
 
 
421
  }
422
 
423
  /**
424
+ * Sets the last mod of the page
425
  *
426
+ * @param int $lastMod The lastmod of the page
427
+ */
428
+ public function SetLastMod($lastMod) {
429
+ $this->_lastMod = intval($lastMod);
430
+ }
431
+
432
+ public function __construct($url = "", $lastMod = 0) {
433
+ $this->SetUrl($url);
434
+ $this->SetLastMod($lastMod);
435
+ }
436
+
437
+ public function Render() {
438
+
439
+ if($this->_url == "/" || empty($this->_url)) return '';
440
+
441
+ $r = "";
442
+ $r .= "\t<sitemap>\n";
443
+ $r .= "\t\t<loc>" . $this->EscapeXML($this->_url) . "</loc>\n";
444
+ if($this->_lastMod > 0) $r .= "\t\t<lastmod>" . date('Y-m-d\TH:i:s+00:00', $this->_lastMod) . "</lastmod>\n";
445
+ $r .= "\t</sitemap>\n";
446
+ return $r;
447
+ }
448
+
449
+ protected function EscapeXML($string) {
450
+ return str_replace(array('&', '"', "'", '<', '>'), array('&amp;', '&quot;', '&apos;', '&lt;', '&gt;'), $string);
451
  }
452
  }
453
 
454
  /**
455
+ * Interface for all priority providers
456
  * @author Arne Brachhold
457
  * @package sitemap
458
  * @since 3.0
459
  */
460
+ interface GoogleSitemapGeneratorPrioProviderBase {
461
 
462
  /**
463
+ * Initializes a new priority provider
464
  *
465
+ * @param $totalComments int The total number of comments of all posts
466
+ * @param $totalPosts int The total number of posts
467
  * @since 3.0
468
+ */
469
+ function __construct($totalComments, $totalPosts);
 
 
 
 
 
470
 
471
  /**
472
+ * Returns the (translated) name of this priority provider
473
  *
474
  * @since 3.0
475
+ * @return string The translated name
476
+ */
477
+ static function GetName();
 
 
 
 
478
 
479
  /**
480
+ * Returns the (translated) description of this priority provider
481
  *
 
 
482
  * @since 3.0
483
+ * @return string The translated description
484
+ */
485
+ static function GetDescription();
 
 
 
486
 
487
  /**
488
  * Returns the priority for a specified post
490
  * @param $postID int The ID of the post
491
  * @param $commentCount int The number of comments for this post
492
  * @since 3.0
 
 
493
  * @return int The calculated priority
494
+ */
495
+ function GetPostPriority($postID, $commentCount);
 
 
 
 
 
 
 
 
496
  }
497
 
498
  /**
499
+ * Priority Provider which calculates the priority based on the number of comments
500
  * @author Arne Brachhold
501
  * @package sitemap
502
  * @since 3.0
503
  */
504
+ class GoogleSitemapGeneratorPrioByCountProvider implements GoogleSitemapGeneratorPrioProviderBase {
505
 
506
  /**
507
+ * @var int $_totalComments The total number of comments of all posts
 
508
  */
509
+ protected $_totalComments = 0;
510
 
511
  /**
512
+ * @var int $_totalComments The total number of posts
513
+ */
514
+ protected $_totalPosts = 0;
515
+
516
+ /**
517
+ * Initializes a new priority provider
518
  *
519
+ * @param $totalComments int The total number of comments of all posts
520
+ * @param $totalPosts int The total number of posts
521
  * @since 3.0
522
+ */
523
+ public function __construct($totalComments, $totalPosts) {
524
+ $this->_totalComments = $totalComments;
525
+ $this->_totalPosts = $totalPosts;
526
+
 
527
  }
528
 
529
  /**
530
+ * Returns the (translated) name of this priority provider
531
  *
532
  * @since 3.0
533
+ * @return string The translated name
534
+ */
535
+ public static function GetName() {
536
+ return __("Comment Count", 'sitemap');
 
 
537
  }
538
 
539
  /**
540
+ * Returns the (translated) description of this priority provider
541
  *
 
 
542
  * @since 3.0
543
+ * @return string The translated description
544
+ */
545
+ public static function GetDescription() {
546
+ return __("Uses the number of comments of the post to calculate the priority", 'sitemap');
 
 
 
 
 
547
  }
548
 
549
  /**
552
  * @param $postID int The ID of the post
553
  * @param $commentCount int The number of comments for this post
554
  * @since 3.0
 
 
555
  * @return int The calculated priority
556
+ */
557
+ public function GetPostPriority($postID, $commentCount) {
558
  $prio = 0;
559
+ if($this->_totalComments > 0 && $commentCount > 0) {
560
+ $prio = round(($commentCount * 100 / $this->_totalComments) / 100, 1);
 
 
561
  } else {
562
+ $prio = 0;
 
 
563
  }
564
+ return $prio;
 
565
  }
566
  }
567
 
568
  /**
569
+ * Priority Provider which calculates the priority based on the average number of comments
570
  * @author Arne Brachhold
571
  * @package sitemap
572
  * @since 3.0
573
  */
574
+ class GoogleSitemapGeneratorPrioByAverageProvider implements GoogleSitemapGeneratorPrioProviderBase {
575
+
576
+
577
+ /**
578
+ * @var int $_totalComments The total number of comments of all posts
579
+ */
580
+ protected $_totalComments = 0;
581
+
582
+ /**
583
+ * @var int $_totalComments The total number of posts
584
+ */
585
+ protected $_totalPosts = 0;
586
+
587
+ /**
588
+ * @var int $_average The average number of comments per post
589
+ */
590
+ protected $_average = 0.0;
591
 
592
  /**
593
  * Returns the (translated) name of this priority provider
594
  *
595
  * @since 3.0
 
 
596
  * @return string The translated name
597
+ */
598
+ public static function GetName() {
599
+ return __("Comment Average", 'sitemap');
600
  }
601
 
602
  /**
603
  * Returns the (translated) description of this priority provider
604
  *
605
  * @since 3.0
 
 
606
  * @return string The translated description
607
+ */
608
+ public static function GetDescription() {
609
+ return __("Uses the average comment count to calculate the priority", 'sitemap');
610
  }
611
 
612
  /**
613
+ * Initializes a new priority provider which calculates the post priority based on the average number of comments
614
  *
615
  * @param $totalComments int The total number of comments of all posts
616
  * @param $totalPosts int The total number of posts
617
  * @since 3.0
618
+ */
619
+ public function __construct($totalComments, $totalPosts) {
620
+
621
+ if($this->_totalComments > 0 && $this->_totalPosts > 0) {
622
+ $this->_average = (double) $this->_totalComments / $this->_totalPosts;
623
+ }
624
  }
625
 
626
  /**
629
  * @param $postID int The ID of the post
630
  * @param $commentCount int The number of comments for this post
631
  * @since 3.0
 
 
632
  * @return int The calculated priority
633
+ */
634
+ public function GetPostPriority($postID, $commentCount) {
635
+ $prio = 0;
636
+ //Do not divide by zero!
637
+ if($this->_average == 0) {
638
+ if($commentCount > 0) {
639
+ $prio = 1;
640
+ }
641
+ else $prio = 0;
642
+ } else {
643
+ $prio = $commentCount / $this->_average;
644
+ if($prio > 1) {
645
+ $prio = 1;
 
 
 
 
 
 
 
 
 
 
646
  }
647
+ else if($prio < 0) $prio = 0;
648
  }
649
+
650
+ return round($prio, 1);
651
  }
652
  }
653
 
657
  * @package sitemap
658
  * @author Arne Brachhold
659
  * @since 3.0
660
+ */
661
+ final class GoogleSitemapGenerator {
 
 
 
 
 
662
  /**
663
  * @var array The unserialized array with the stored options
664
  */
665
+ private $options = array();
666
 
667
  /**
668
  * @var array The saved additional pages
669
  */
670
+ private $pages = array();
671
 
672
  /**
673
  * @var array The values and names of the change frequencies
674
  */
675
+ private $freqNames = array();
676
 
677
  /**
678
  * @var array A list of class names which my be called for priority calculation
679
  */
680
+ private $prioProviders = array();
681
 
682
  /**
683
  * @var bool True if init complete (options loaded etc)
684
  */
685
+ private $isInitiated = false;
 
 
 
 
 
 
 
 
 
 
686
 
687
  /**
688
  * @var bool Defines if the sitemap building process is active at the moment
689
  */
690
+ private $isActive = false;
691
 
692
  /**
693
+ * @var array Holds options like output format and compression for the current request
694
  */
695
+ private $buildOptions = array();
 
 
 
 
 
 
 
 
 
 
696
 
697
  /**
698
  * Holds the user interface object
700
  * @since 3.1.1
701
  * @var GoogleSitemapGeneratorUI
702
  */
703
+ private $ui = null;
704
 
705
  /**
706
+ * Defines if the simulation mode is on. In this case, data is not echoed but saved instead.
707
+ * @var boolean
708
+ */
709
+ private $simMode = false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
710
 
711
  /**
712
+ * Holds the data if simulation mode is on
713
+ * @var array
 
 
 
714
  */
715
+ private $simData = array("sitemaps" => array(), "content" => array());
 
 
 
716
 
717
  /**
718
+ * @var bool Defines if the options have been loaded
 
 
 
 
719
  */
720
+ private $optionsLoaded = false;
721
 
 
 
722
 
723
+ /*************************************** CONSTRUCTION AND INITIALIZING ***************************************/
 
 
 
 
 
724
 
725
  /**
726
+ * Initializes a new Google Sitemap Generator
727
+ *
728
+ * @since 4.0
 
 
729
  */
730
+ private function __construct() {
731
+
 
 
 
 
 
 
 
732
  }
733
 
734
  /**
735
+ * Returns the instance of the Sitemap Generator
736
  *
737
  * @since 3.0
738
+ * @return GoogleSitemapGenerator The instance or null if not available.
739
+ */
740
+ public static function GetInstance() {
741
+ if(isset($GLOBALS["sm_instance"])) {
742
+ return $GLOBALS["sm_instance"];
743
+ } else return null;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
744
  }
745
 
746
  /**
747
+ * Enables the Google Sitemap Generator and registers the WordPress hooks
748
  *
749
  * @since 3.0
750
+ */
751
+ public static function Enable() {
752
+ if(!isset($GLOBALS["sm_instance"])) {
753
+ $GLOBALS["sm_instance"] = new GoogleSitemapGenerator();
754
+ }
 
 
 
 
 
 
 
 
 
 
755
  }
756
 
757
  /**
758
+ * Loads up the configuration and validates the prioity providers
759
+ *
760
+ * This method is only called if the sitemaps needs to be build or the admin page is displayed.
761
  *
762
  * @since 3.0
763
+ */
764
+ public function Initate() {
765
+ if(!$this->isInitiated) {
766
+
767
+ load_plugin_textdomain('sitemap',false,dirname( plugin_basename( __FILE__ ) ) . '/lang');
768
+
769
+ $this->freqNames = array(
770
+ "always" => __("Always", "sitemap"),
771
+ "hourly" => __("Hourly", "sitemap"),
772
+ "daily" => __("Daily", "sitemap"),
773
+ "weekly" => __("Weekly", "sitemap"),
774
+ "monthly" => __("Monthly", "sitemap"),
775
+ "yearly" => __("Yearly", "sitemap"),
776
+ "never" => __("Never", "sitemap")
777
+ );
778
+
779
+
780
+ $this->LoadOptions();
781
+ $this->LoadPages();
782
+
783
+ //Register our own priority providers
784
+ add_filter("sm_add_prio_provider", array($this, 'AddDefaultPrioProviders'));
785
 
786
+ //Let other plugins register their providers
787
+ $r = apply_filters("sm_add_prio_provider", $this->prioProviders);
788
 
789
+ //Check if no plugin return null
790
+ if($r != null) $this->prioProviders = $r;
791
 
792
+ $this->ValidatePrioProviders();
793
 
794
+ $this->isInitiated = true;
795
+ }
796
  }
797
 
798
+
799
+ /*************************************** VERSION AND LINK HELPERS ***************************************/
800
+
801
  /**
802
  * Returns the version of the generator
803
  *
804
  * @since 3.0
 
 
805
  * @return int The version
806
+ */
807
+ public static function GetVersion() {
808
  return GoogleSitemapGeneratorLoader::GetVersion();
809
  }
810
 
811
  /**
812
+ * Returns the SVN version of the generator
813
  *
814
+ * @since 4.0
815
+ * @return string The SVN version string
816
+ */
817
+ public static function GetSvnVersion() {
818
+ return GoogleSitemapGeneratorLoader::GetSvnVersion();
 
 
 
 
 
 
 
 
 
 
819
  }
820
 
821
  /**
822
+ * Returns a link pointing to a specific page of the authors website
 
 
 
823
  *
824
  * @since 3.0
825
+ * @param $redir The to link to
826
+ * @return string The full url
827
+ */
828
+ public static function GetRedirectLink($redir) {
829
+ return trailingslashit("http://www.arnebrachhold.de/redir/" . $redir);
 
 
 
 
 
 
 
 
 
830
  }
831
 
832
  /**
833
+ * Returns a link pointing back to the plugin page in WordPress
 
 
834
  *
835
  * @since 3.0
836
+ * @return string The full url
837
+ */
838
+ public static function GetBackLink() {
839
+ global $wp_version;
840
+ $url = admin_url("options-general.php?page=" . GoogleSitemapGeneratorLoader::GetBaseName());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
841
 
842
+ //Some browser cache the page... great! So lets add some no caching params depending on the WP and plugin version
843
+ $url .= '&sm_wpv=' . $wp_version . '&sm_pv=' . GoogleSitemapGeneratorLoader::GetVersion();
844
 
845
+ return $url;
846
+ }
847
 
848
+ /**
849
+ * Converts a mysql datetime value into a unix timestamp
850
+ * @param $mysqlDateTime The in the mysql datetime format
851
+ * @return int The time in seconds
852
+ */
853
+ public static function GetTimestampFromMySql($mysqlDateTime) {
854
+ list($date, $hours) = explode(' ', $mysqlDateTime);
855
+ list($year, $month, $day) = explode('-', $date);
856
+ list($hour, $min, $sec) = explode(':', $hours);
857
+ return mktime(intval($hour), intval($min), intval($sec), intval($month), intval($day), intval($year));
858
+ }
859
 
 
 
860
 
861
+ /*************************************** SIMPLE GETTERS ***************************************/
862
 
863
+ /**
864
+ * Returns the names for the frequency values
865
+ * @return array
866
+ */
867
+ public function GetFreqNames() {
868
+ return $this->freqNames;
869
  }
870
 
871
  /**
872
+ * Returns if the blog is running in multi site mode
873
+ * @since 4.0
874
+ * @return bool
875
+ */
876
+ public function IsMultiSite() {
877
+ return (function_exists("is_multisite") && is_multisite());
 
 
 
 
 
878
  }
879
 
880
  /**
881
  * Returns if the sitemap building process is currently active
882
  *
883
  * @since 3.0
 
884
  * @return bool true if active
885
+ */
886
+ public function IsActive() {
887
+ $inst = GoogleSitemapGenerator::GetInstance();
888
+ return ($inst != null && $inst->isActive);
 
889
  }
890
 
891
  /**
892
  * Returns if the compressed sitemap was activated
893
  *
894
  * @since 3.0b8
 
 
895
  * @return true if compressed
896
  */
897
+ public function IsGzipEnabled() {
898
+ return ($this->GetOption("b_gzip") === true && function_exists("gzwrite"));
899
+ }
900
+
901
+ /**
902
+ * Returns if the XML Dom and XSLT functions are enabled
903
+ *
904
+ * @since 4.0b1
905
+ * @return true if compressed
906
+ */
907
+ public function IsXslEnabled() {
908
+ return (class_exists("DomDocument") && class_exists("XSLTProcessor"));
909
  }
910
 
911
+
912
+ /*************************************** TAXONOMIES AND CUSTOM POST TYPES ***************************************/
913
+
914
  /**
915
  * Returns if this version of WordPress supports the new taxonomy system
916
  *
917
  * @since 3.0b8
 
 
918
  * @return true if supported
919
  */
920
+ public function IsTaxonomySupported() {
921
+ return (function_exists("get_taxonomy") && function_exists("get_terms") && function_exists("get_taxonomies"));
922
+ }
923
+
924
+ /**
925
+ * Returns the list of custom taxonomies. These are basically all taxonomies without categories and post tags
926
+ *
927
+ * @since 3.1.7
928
+ * @return array Array of names of user-defined taxonomies
929
+ */
930
+ public function GetCustomTaxonomies() {
931
+ $taxonomies = get_taxonomies(array("public" => 1));
932
+ return array_diff($taxonomies, array("category", "post_tag", "nav_menu", "link_category", "post_format"));
933
  }
934
 
935
  /**
936
  * Returns if this version of WordPress supports custom post types
937
  *
938
  * @since 3.2.5
 
 
939
  * @return true if supported
940
  */
941
+ public function IsCustomPostTypesSupported() {
942
  return (function_exists("get_post_types") && function_exists("register_post_type"));
943
  }
944
 
945
  /**
946
+ * Returns the list of custom post types. These are all custom post types except post, page and attachment
947
  *
948
+ * @since 3.2.5
949
+ * @return array Array of custom post types as per get_post_types
950
  */
951
+ public function GetCustomPostTypes() {
952
+ $post_types = get_post_types(array("public" => 1));
953
+ $post_types = array_diff($post_types, array("post", "page", "attachment"));
954
+ return $post_types;
955
  }
956
 
957
+
958
  /**
959
+ * Returns the list of active post types, built-in and custom ones.
960
  *
961
+ * @since 4.0b5
 
962
  * @return array Array of custom post types as per get_post_types
963
  */
964
+ public function GetActivePostTypes() {
965
+ $allPostTypes = get_post_types();
966
+ $enabledPostTypes = $this->GetOption('in_customtypes');
967
+ if($this->GetOption("in_posts")) $enabledPostTypes[] = "post";
968
+ if($this->GetOption("in_pages")) $enabledPostTypes[] = "page";
969
 
970
+ $activePostTypes = array();
971
+ foreach($enabledPostTypes AS $postType) {
972
+ if(!empty($postType) && in_array($postType, $allPostTypes)) {
973
+ $activePostTypes[] = $postType;
974
+ }
975
+ }
976
+ return $activePostTypes;
977
  }
978
 
979
  /**
980
+ * Returns an array with all excluded post IDs
981
  *
982
+ * @since 4.0b11
983
+ * @return int[] Array with excluded post IDs
984
+ */
985
+ public function GetExcludedPostIDs() {
986
+
987
+ $excludes = (array)$this->GetOption('b_exclude');
988
+
989
+ //Exclude front page page if defined
990
+ if (get_option('show_on_front') == 'page' && get_option('page_on_front')) {
991
+ $excludes[] = get_option('page_on_front');
992
+ return $excludes;
993
  }
994
+
995
+ return array_filter(array_map('intval',$excludes),array($this,'IsGreaterZero'));
996
  }
997
 
998
  /**
999
+ * Returns an array with all excluded category IDs.
1000
  *
1001
+ * @since 4.0b11
1002
+ * @return int[] Array with excluded category IDs
1003
+ */
1004
+ public function GetExcludedCategoryIDs() {
1005
+ $exclCats = (array)$this->GetOption("b_exclude_cats");
1006
+ return array_filter(array_map('intval',$exclCats),array($this,'IsGreaterZero'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1007
  }
1008
 
1009
+ /*************************************** PRIORITY PROVIDERS ***************************************/
1010
+
1011
  /**
1012
+ * Returns the list of PriorityProviders
1013
+ * @return array
 
 
1014
  */
1015
+ public function GetPrioProviders() {
1016
+ return $this->prioProviders;
1017
  }
1018
 
1019
  /**
1020
+ * Adds the default Priority Providers to the provider list
1021
  *
1022
  * @since 3.0
1023
+ * @param $providers
1024
+ * @return array
1025
+ */
1026
+ public function AddDefaultPrioProviders($providers) {
1027
+ array_push($providers, "GoogleSitemapGeneratorPrioByCountProvider");
1028
+ array_push($providers, "GoogleSitemapGeneratorPrioByAverageProvider");
1029
+ if(class_exists("ak_popularity_contest")) {
1030
+ array_push($providers, "GoogleSitemapGeneratorPrioByPopularityContestProvider");
 
 
 
1031
  }
1032
+ return $providers;
1033
  }
1034
 
1035
  /**
1036
  * Validates all given Priority Providers by checking them for required methods and existence
1037
  *
1038
  * @since 3.0
1039
+ */
1040
+ private function ValidatePrioProviders() {
1041
+ $validProviders = array();
1042
+
1043
+ for($i = 0; $i < count($this->prioProviders); $i++) {
1044
+ if(class_exists($this->prioProviders[$i])) {
1045
+ if(is_subclass_of($this->prioProviders[$i], "GoogleSitemapGeneratorPrioProviderBase")) {
1046
+ array_push($validProviders, $this->prioProviders[$i]);
 
 
1047
  }
1048
  }
1049
  }
1050
+ $this->prioProviders = $validProviders;
1051
 
1052
  if(!$this->GetOption("b_prio_provider")) {
1053
+ if(!in_array($this->GetOption("b_prio_provider"), $this->prioProviders, true)) {
1054
+ $this->SetOption("b_prio_provider", "");
1055
  }
1056
  }
1057
  }
1058
 
1059
+
1060
+ /*************************************** COMMENT HANDLING FOR PRIO. PROVIDERS ***************************************/
1061
+
1062
  /**
1063
+ * Retrieves the number of comments of a post in a asso. array
1064
+ * The key is the postID, the value the number of comments
1065
  *
1066
  * @since 3.0
1067
+ * @return array An array with postIDs and their comment count
1068
+ */
1069
+ public function GetComments() {
1070
+ global $wpdb;
1071
+ $comments = array();
1072
+
1073
+ //Query comments and add them into the array
1074
+ $commentRes = $wpdb->get_results("SELECT `comment_post_ID` as `post_id`, COUNT(comment_ID) as `comment_count` FROM `" . $wpdb->comments . "` WHERE `comment_approved`='1' GROUP BY `comment_post_ID`");
1075
+ if($commentRes) {
1076
+ foreach($commentRes as $comment) {
1077
+ $comments[$comment->post_id] = $comment->comment_count;
1078
+ }
1079
  }
1080
+ return $comments;
1081
  }
1082
 
1083
  /**
1084
+ * Calculates the full number of comments from an sm_getComments() generated array
1085
  *
1086
  * @since 3.0
1087
+ * @param $comments array The Array with posts and c0mment count
1088
+ * @see sm_getComments
1089
+ * @return The full number of comments
1090
+ */
1091
+ public function GetCommentCount($comments) {
1092
+ $commentCount = 0;
1093
+ foreach($comments AS $k => $v) {
1094
+ $commentCount += $v;
 
 
 
 
 
 
1095
  }
1096
+ return $commentCount;
1097
+ }
1098
 
 
 
 
 
 
 
1099
 
1100
+ /*************************************** OPTION HANDLING ***************************************/
 
1101
 
1102
  /**
1103
+ * Sets up the default configuration
1104
  *
1105
  * @since 3.0
1106
+ */
1107
+ public function InitOptions() {
1108
+
1109
+ $this->options = array();
1110
+ $this->options["sm_b_prio_provider"] = "GoogleSitemapGeneratorPrioByCountProvider"; //Provider for automatic priority calculation
1111
+ $this->options["sm_b_ping"] = true; //Auto ping Google
1112
+ $this->options["sm_b_stats"] = true; //Send anonymous stats
1113
+ $this->options["sm_b_pingmsn"] = true; //Auto ping MSN
1114
+ $this->options["sm_b_memory"] = ''; //Set Memory Limit (e.g. 16M)
1115
+ $this->options["sm_b_time"] = -1; //Set time limit in seconds, 0 for unlimited, -1 for disabled
1116
+ $this->options["sm_b_style_default"] = true; //Use default style
1117
+ $this->options["sm_b_style"] = ''; //Include a stylesheet in the XML
1118
+ $this->options["sm_b_robots"] = true; //Add sitemap location to WordPress' virtual robots.txt file
1119
+ $this->options["sm_b_html"] = true; //Include a link to a html version of the sitemap in the XML sitemap
1120
+ $this->options["sm_b_exclude"] = array(); //List of post / page IDs to exclude
1121
+ $this->options["sm_b_exclude_cats"] = array(); //List of post / page IDs to exclude
1122
+
1123
+ $this->options["sm_in_home"] = true; //Include homepage
1124
+ $this->options["sm_in_posts"] = true; //Include posts
1125
+ $this->options["sm_in_posts_sub"] = false; //Include post pages (<!--nextpage--> tag)
1126
+ $this->options["sm_in_pages"] = true; //Include static pages
1127
+ $this->options["sm_in_cats"] = false; //Include categories
1128
+ $this->options["sm_in_arch"] = false; //Include archives
1129
+ $this->options["sm_in_auth"] = false; //Include author pages
1130
+ $this->options["sm_in_tags"] = false; //Include tag pages
1131
+ $this->options["sm_in_tax"] = array(); //Include additional taxonomies
1132
+ $this->options["sm_in_customtypes"] = array(); //Include custom post types
1133
+ $this->options["sm_in_lastmod"] = true; //Include the last modification date
1134
+
1135
+ $this->options["sm_cf_home"] = "daily"; //Change frequency of the homepage
1136
+ $this->options["sm_cf_posts"] = "monthly"; //Change frequency of posts
1137
+ $this->options["sm_cf_pages"] = "weekly"; //Change frequency of static pages
1138
+ $this->options["sm_cf_cats"] = "weekly"; //Change frequency of categories
1139
+ $this->options["sm_cf_auth"] = "weekly"; //Change frequency of author pages
1140
+ $this->options["sm_cf_arch_curr"] = "daily"; //Change frequency of the current archive (this month)
1141
+ $this->options["sm_cf_arch_old"] = "yearly"; //Change frequency of older archives
1142
+ $this->options["sm_cf_tags"] = "weekly"; //Change frequency of tags
1143
+
1144
+ $this->options["sm_pr_home"] = 1.0; //Priority of the homepage
1145
+ $this->options["sm_pr_posts"] = 0.6; //Priority of posts (if auto prio is disabled)
1146
+ $this->options["sm_pr_posts_min"] = 0.2; //Minimum Priority of posts, even if autocalc is enabled
1147
+ $this->options["sm_pr_pages"] = 0.6; //Priority of static pages
1148
+ $this->options["sm_pr_cats"] = 0.3; //Priority of categories
1149
+ $this->options["sm_pr_arch"] = 0.3; //Priority of archives
1150
+ $this->options["sm_pr_auth"] = 0.3; //Priority of author pages
1151
+ $this->options["sm_pr_tags"] = 0.3; //Priority of tags
1152
+
1153
+ $this->options["sm_i_donated"] = false; //Did you donate? Thank you! :)
1154
+ $this->options["sm_i_hide_donated"] = false; //And hide the thank you..
1155
+ $this->options["sm_i_install_date"] = time(); //The installation date
1156
+ $this->options["sm_i_hide_note"] = false; //Hide the note which appears after 30 days
1157
+ $this->options["sm_i_hide_works"] = false; //Hide the "works?" message which appears after 15 days
1158
+ $this->options["sm_i_hide_donors"] = false; //Hide the list of donations
1159
+ $this->options["sm_i_hash"] = substr(sha1(sha1(get_bloginfo('url'))),0,20); //Partial hash for GA stats, NOT identifiable!
1160
+ $this->options["sm_i_lastping"] = 0; //When was the last ping
1161
  }
1162
 
 
1163
  /**
1164
+ * Loads the configuration from the database
1165
  *
1166
  * @since 3.0
1167
+ */
1168
+ private function LoadOptions() {
 
 
 
 
1169
 
1170
+ if($this->optionsLoaded) return;
1171
 
1172
+ $this->InitOptions();
 
 
 
 
1173
 
1174
+ //First init default values, then overwrite it with stored values so we can add default
1175
+ //values with an update which get stored by the next edit.
1176
+ $storedOptions = get_option("sm_options");
1177
+ if($storedOptions && is_array($storedOptions)) {
1178
+ foreach($storedOptions AS $k => $v) {
1179
+ $this->options[$k] = $v;
1180
+ }
1181
+ } else update_option("sm_options", $this->options); //First time use, store default values
1182
 
1183
+ $this->optionsLoaded = true;
1184
  }
1185
 
1186
  /**
1187
+ * Returns the option value for the given key
1188
  *
1189
  * @since 3.0
1190
+ * @param $key string The Configuration Key
1191
+ * @return mixed The value
1192
+ */
1193
+ public function GetOption($key) {
1194
+ $key = "sm_" . $key;
1195
+ if(array_key_exists($key, $this->options)) {
1196
+ return $this->options[$key];
1197
+ } else return null;
1198
+ }
1199
+
1200
+ public function GetOptions() {
1201
+ return $this->options;
1202
  }
1203
 
1204
  /**
1205
+ * Sets an option to a new value
1206
  *
1207
  * @since 3.0
1208
+ * @param $key string The configuration key
1209
+ * @param $value mixed The new object
1210
+ */
1211
+ public function SetOption($key, $value) {
1212
+ if(strpos($key, "sm_") !== 0) $key = "sm_" . $key;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1213
 
1214
+ $this->options[$key] = $value;
 
 
 
 
 
 
 
 
 
 
1215
  }
1216
 
1217
  /**
1218
+ * Saves the options back to the database
1219
  *
1220
  * @since 3.0
1221
+ * @return bool true on success
 
 
 
1222
  */
1223
+ public function SaveOptions() {
1224
+ $oldvalue = get_option("sm_options");
1225
+ if($oldvalue == $this->options) {
1226
+ return true;
1227
+ } else return update_option("sm_options", $this->options);
1228
  }
1229
 
1230
  /**
1231
+ * Returns the additional pages
1232
+ * @since 4.0
1233
+ * @return GoogleSitemapGeneratorPage[]
 
 
 
 
1234
  */
1235
+ function GetPages() {
1236
+ return $this->pages;
 
 
1237
  }
1238
 
1239
  /**
1240
+ * Returns the additional pages
1241
+ * @since 4.0
1242
+ * @param array $pages
 
 
 
1243
  */
1244
+ function SetPages(array $pages) {
1245
+ $this->pages = $pages;
 
 
 
1246
  }
1247
 
1248
  /**
1249
+ * Loads the stored pages from the database
 
1250
  *
1251
  * @since 3.0
 
 
 
1252
  */
1253
+ private function LoadPages() {
1254
  global $wpdb;
 
1255
 
1256
+ $needsUpdate = false;
1257
+
1258
+ $pagesString = $wpdb->get_var("SELECT option_value FROM $wpdb->options WHERE option_name = 'sm_cpages'");
1259
+
1260
+ //Class sm_page was renamed with 3.0 -> rename it in serialized value for compatibility
1261
+ if(!empty($pagesString) && strpos($pagesString, "sm_page") !== false) {
1262
+ $pagesString = str_replace("O:7:\"sm_page\"", "O:26:\"GoogleSitemapGeneratorPage\"", $pagesString);
1263
+ $needsUpdate = true;
1264
  }
1265
+
1266
+ if(!empty($pagesString)) {
1267
+ $storedpages = unserialize($pagesString);
1268
+ $this->pages = $storedpages;
1269
+ } else {
1270
+ $this->pages = array();
1271
+ }
1272
+
1273
+ if($needsUpdate) $this->SavePages();
1274
  }
1275
 
1276
  /**
1277
+ * Saved the additional pages back to the database
1278
  *
1279
  * @since 3.0
1280
+ * @return true on success
 
 
 
 
1281
  */
1282
+ public function SavePages() {
1283
+ $oldvalue = get_option("sm_cpages");
1284
+ if($oldvalue == $this->pages) {
1285
+ return true;
1286
+ } else {
1287
+ delete_option("sm_cpages");
1288
+ //Add the option, Note the autoload=false because when the autoload happens, our class GoogleSitemapGeneratorPage doesn't exist
1289
+ add_option("sm_cpages", $this->pages, null, "no");
1290
+ return true;
1291
  }
 
1292
  }
1293
 
1294
+
1295
+ /*************************************** URL AND PATH FUNCTIONS ***************************************/
1296
+
1297
  /**
1298
+ * Returns the URL to the directory where the plugin file is located
1299
+ * @since 3.0b5
1300
+ * @return string The URL to the plugin directory
 
 
 
 
 
 
 
 
1301
  */
1302
+ public function GetPluginUrl() {
 
 
1303
 
1304
+ $url = trailingslashit(plugins_url("", __FILE__));
 
 
 
1305
 
1306
+ return $url;
1307
+ }
1308
 
1309
+ /**
1310
+ * Returns the path to the directory where the plugin file is located
1311
+ * @since 3.0b5
1312
+ * @return string The path to the plugin directory
1313
+ */
1314
+ public function GetPluginPath() {
1315
+ $path = dirname(__FILE__);
1316
+ return trailingslashit(str_replace("\\", "/", $path));
1317
  }
1318
 
1319
  /**
1320
+ * Returns the URL to default XSLT style if it exists
1321
+ * @since 3.0b5
1322
+ * @return string The URL to the default stylesheet, empty string if not available.
1323
+ */
1324
+ public function GetDefaultStyle() {
1325
+ $p = $this->GetPluginPath();
1326
+ if(file_exists($p . "sitemap.xsl")) {
1327
+ $url = $this->GetPluginUrl();
1328
+ //If called over the admin area using HTTPS, the stylesheet would also be https url, even if the blog frontend is not.
1329
+ if(substr(get_bloginfo('url'), 0, 5) != "https" && substr($url, 0, 5) == "https") $url = "http" . substr($url, 5);
1330
+ return $url . 'sitemap.xsl';
1331
+ }
1332
+ return '';
1333
+ }
1334
+
1335
+ /**
1336
+ * Returns the URL for the sitemap file
1337
  *
1338
  * @since 3.0
1339
+ * @param string $type
1340
+ * @param string $params
1341
+ * @param array $buildOptions
1342
+ * @return The URL to the Sitemap file
1343
  */
1344
+ public function GetXmlUrl($type = "", $params = "", $buildOptions = array()) {
1345
+ global $wp_rewrite;
 
 
1346
 
1347
+ $pl = $wp_rewrite->using_mod_rewrite_permalinks();
1348
+ $options = "";
1349
+ if(!empty($type)) {
1350
+ $options .= $type;
1351
+ if(!empty($params)) {
1352
+ $options .= "-" . $params;
1353
+ }
1354
  }
1355
 
1356
+ $buildOptions = array_merge($this->buildOptions, $buildOptions);
1357
+
1358
+ $html = (isset($buildOptions["html"]) ? $buildOptions["html"] : false);
1359
+
1360
+ if($pl) {
1361
+ return trailingslashit(get_bloginfo('url')) . "sitemap" . ($options ? "-" . $options : "") . ($html
1362
+ ? ".html" : ".xml");
1363
+ } else {
1364
+ return trailingslashit(get_bloginfo('url')) . "index.php?xml_sitemap=params=" . $options . ($html
1365
+ ? ";html=true" : "");
1366
  }
1367
  }
1368
 
1369
  /**
1370
+ * Returns if there is still an old sitemap file in the blog directory
1371
+ *
1372
+ * @return Boolean True if a sitemap file still exists
1373
+ */
1374
+ public function OldFileExists() {
1375
+ $path = trailingslashit(get_home_path());
1376
+ return (file_exists($path . "sitemap.xml") || file_exists($path . "sitemap.xml.gz"));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1377
  }
1378
 
1379
  /**
1380
+ * Renames old sitemap files in the blog directory from previous versions of this plugin
1381
+ * @return bool True on success
 
 
1382
  */
1383
+ public function DeleteOldFiles() {
1384
+ $path = trailingslashit(get_home_path());
 
1385
 
1386
+ $res = true;
 
 
 
1387
 
1388
+ if(file_exists($f = $path . "sitemap.xml")) if(!rename($f, $path . "sitemap.backup.xml")) $res = false;
1389
+ if(file_exists($f = $path . "sitemap.xml.gz")) if(!rename($f, $path . "sitemap.backup.xml.gz")) $res = false;
1390
+
1391
+ return $res;
1392
  }
1393
 
1394
+
1395
+ /*************************************** SITEMAP SIMULATION ***************************************/
1396
+
1397
  /**
1398
+ * Simulates the building of the sitemap index file.
 
 
 
 
 
1399
  *
1400
+ * @see GoogleSitemapGenerator::SimulateSitemap
1401
+ * @since 4.0
1402
+ * @return array The data of the sitemap index file
 
1403
  */
1404
+ public function SimulateIndex() {
 
 
1405
 
1406
+ $this->simMode = true;
 
 
1407
 
1408
+ require_once(trailingslashit(dirname(__FILE__)) . "sitemap-builder.php");
1409
+ do_action("sm_build_index", $this);
 
1410
 
1411
+ $this->simMode = false;
 
 
 
 
1412
 
1413
+ $r = $this->simData["sitemaps"];
1414
 
1415
+ $this->ClearSimData("sitemaps");
 
1416
 
1417
+ return $r;
1418
+ }
 
1419
 
1420
+ /**
1421
+ * Simulates the building of the sitemap file.
1422
+ *
1423
+ * @see GoogleSitemapGenerator::SimulateIndex
1424
+ * @since 4.0
1425
+ * @param $type string The type of the sitemap
1426
+ * @param $params string Additional parameters for this type
1427
+ * @return array The data of the sitemap file
1428
+ */
1429
+ public function SimulateSitemap($type, $params) {
1430
+ $this->simMode = true;
1431
 
1432
+ require_once(trailingslashit(dirname(__FILE__)) . "sitemap-builder.php");
1433
+ do_action("sm_build_content", $this, $type, $params);
1434
 
1435
+ $this->simMode = false;
 
1436
 
1437
+ $r = $this->simData["content"];
 
 
 
1438
 
1439
+ $this->ClearSimData("content");
1440
 
1441
+ return $r;
1442
+ }
1443
 
1444
+ /**
1445
+ * Clears the data of the simulation
1446
+ *
1447
+ * @param string $what Defines what to clear, either both, sitemaps or content
1448
+ * @see GoogleSitemapGenerator::SimulateIndex
1449
+ * @see GoogleSitemapGenerator::SimulateSitemap
1450
+ * @since 4.0
1451
+ */
1452
+ public function ClearSimData($what) {
1453
+ if($what == "both" || $what == "sitemaps") {
1454
+ $this->simData["sitemaps"] = array();
1455
  }
1456
 
1457
+ if($what == "both" || $what == "content") {
1458
+ $this->simData["content"] = array();
 
1459
  }
1460
+ }
1461
 
1462
+ /**
1463
+ * Returns the first caller outside of this __CLASS__
1464
+ * @param array $trace The backtrace
1465
+ * @return array The caller information
1466
+ */
1467
+ private function GetExternalBacktrace($trace) {
1468
+ $caller = null;
1469
+ foreach($trace AS $b) {
1470
+ if($b["class"] != __CLASS__) {
1471
+ $caller = $b;
1472
+ break;
1473
+ }
1474
+ }
1475
+ return $caller;
1476
+ }
1477
 
 
 
 
 
1478
 
1479
+ /*************************************** SITEMAP BUILDING ***************************************/
 
 
1480
 
1481
+ /**
1482
+ * Shows the sitemap. Main etry point from HTTP
1483
+ * @param string $options Options for the sitemap. What type, what parameters.
1484
+ * @since 4.0
1485
+ */
1486
+ public function ShowSitemap($options) {
1487
 
1488
+ $startTime = microtime(true);
1489
+ $startQueries = $GLOBALS["wpdb"]->num_queries;
1490
+ $startMemory = memory_get_peak_usage(true);
1491
 
1492
+ //Raise memory and time limits
1493
+ if($this->GetOption("b_memory") != '') {
1494
+ @ini_set("memory_limit", $this->GetOption("b_memory"));
1495
+ }
1496
 
1497
+ if($this->GetOption("b_time") != -1) {
1498
+ @set_time_limit($this->GetOption("b_time"));
1499
  }
1500
 
1501
+ do_action("sm_init", $this);
 
1502
 
1503
+ $this->isActive = true;
1504
 
1505
+ $parsedOptions = array();
1506
 
1507
+ $options = explode(";", $options);
1508
+ foreach($options AS $k) {
1509
+ $kv = explode("=", $k);
1510
+ $parsedOptions[$kv[0]] = @$kv[1];
 
 
 
 
 
 
 
 
1511
  }
1512
 
1513
+ $options = $parsedOptions;
 
 
 
 
 
 
1514
 
1515
+ $this->buildOptions = $options;
1516
 
1517
+ //Do not index the actual XML pages, only process them.
1518
+ //This avoids that the XML sitemaps show up in the search results.
1519
+ if(!headers_sent()) header('X-Robots-Tag: noindex', true);
1520
 
1521
+ $pack = (isset($options['zip']) ? $options['zip'] : true);
1522
+ if(empty($_SERVER['HTTP_ACCEPT_ENCODING']) || strpos('gzip', $_SERVER['HTTP_ACCEPT_ENCODING']) === NULL || !$this->IsGzipEnabled() || headers_sent()) $pack = false;
1523
+ if($pack) ob_start('ob_gzhandler');
1524
 
1525
+ $this->Initate();
1526
 
1527
+ $builders = array('sitemap-builder.php');
1528
+ foreach($builders AS $b) {
1529
+ $f = trailingslashit(dirname(__FILE__)) . $b;
1530
+ if(file_exists($f)) require_once($f);
1531
+ }
1532
 
1533
+ $html = (isset($options["html"]) ? $options["html"] : false) && $this->IsXslEnabled();
 
 
1534
 
1535
+ if($html) {
1536
+ ob_start();
1537
+ } else {
1538
+ header('Content-Type: application/xml; charset=utf-8');
1539
+ }
1540
 
 
 
1541
 
1542
+ if(empty($options["params"]) || $options["params"] == "index") {
 
 
 
1543
 
1544
+ $this->BuildSitemapHeader("index");
1545
 
1546
+ do_action('sm_build_index', $this);
 
 
 
1547
 
1548
+ $this->BuildSitemapFooter("index");
1549
+ $this->AddEndCommend($startTime, $startQueries, $startMemory);
1550
 
 
1551
 
1552
+ } else {
1553
+ $allParams = $options["params"];
1554
+ $type = $params = null;
1555
+ if(strpos($allParams, "-") !== false) {
1556
+ $type = substr($allParams, 0, strpos($allParams, "-"));
1557
+ $params = substr($allParams, strpos($allParams, "-") + 1);
1558
+ } else {
1559
+ $type = $allParams;
1560
  }
1561
 
1562
+ $this->BuildSitemapHeader("sitemap");
1563
 
1564
+ do_action("sm_build_content", $this, $type, $params);
1565
 
1566
+ $this->BuildSitemapFooter("sitemap");
 
 
 
 
 
 
 
 
 
 
 
 
 
1567
 
1568
+ $this->AddEndCommend($startTime, $startQueries, $startMemory);
1569
+ }
 
 
 
 
 
 
 
 
 
 
 
 
1570
 
1571
+ if($html) {
1572
+ $xmlSource = ob_get_clean();
1573
 
1574
+ // Load the XML source
1575
+ $xml = new DOMDocument;
1576
+ $xml->loadXML($xmlSource);
1577
 
1578
+ $xsl = new DOMDocument;
1579
+ $xsl->load($this->GetPluginPath() . "sitemap.xsl");
1580
 
1581
+ // Configure the transformer
1582
+ $proc = new XSLTProcessor;
1583
+ $proc->importStyleSheet($xsl); // attach the xsl rules
1584
 
1585
+ $domTranObj = $proc->transformToDoc($xml);
 
 
1586
 
1587
+ // this will also output doctype and comments at top level
1588
+ foreach($domTranObj->childNodes as $node) echo $domTranObj->saveXML($node) . "\n";
1589
+ }
1590
 
1591
+ if($pack) ob_end_flush();
1592
+ $this->isActive = false;
1593
+ exit;
1594
+ }
1595
 
1596
+ /**
1597
+ * Generates the header for the sitemap with XML declarations, stylesheet and so on.
1598
+ *
1599
+ * @since 4.0
1600
+ * @param string $format The format, either sitemap for a sitemap or index for the sitemap index
1601
+ */
1602
+ private function BuildSitemapHeader($format) {
1603
 
1604
+ if(!in_array($format, array("sitemap", "index"))) $format = "sitemap";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1605
 
1606
+ $this->AddElement(new GoogleSitemapGeneratorXmlEntry('<?xml version="1.0" encoding="UTF-8"' . '?' . '>'));
 
 
 
 
1607
 
1608
+ $styleSheet = ($this->GetDefaultStyle() && $this->GetOption('b_style_default') === true
1609
+ ? $this->GetDefaultStyle() : $this->GetOption('b_style'));
1610
 
1611
+ if(!empty($styleSheet)) {
1612
+ $this->AddElement(new GoogleSitemapGeneratorXmlEntry('<' . '?xml-stylesheet type="text/xsl" href="' . $styleSheet . '"?' . '>'));
1613
+ }
1614
 
1615
+ $this->AddElement(new GoogleSitemapGeneratorDebugEntry("generator=\"wordpress/" . get_bloginfo('version') . "\""));
1616
+ $this->AddElement(new GoogleSitemapGeneratorDebugEntry("sitemap-generator-url=\"http://www.arnebrachhold.de\" sitemap-generator-version=\"" . $this->GetVersion() . "\""));
1617
+ $this->AddElement(new GoogleSitemapGeneratorDebugEntry("generated-on=\"" . date(get_option("date_format") . " " . get_option("time_format")) . "\""));
 
1618
 
1619
+ switch($format) {
1620
+ case "sitemap":
1621
+ $this->AddElement(new GoogleSitemapGeneratorXmlEntry('<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'));
1622
+ break;
1623
+ case "index":
1624
+ $this->AddElement(new GoogleSitemapGeneratorXmlEntry('<sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'));
1625
+ break;
1626
+ }
1627
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1628
 
1629
+ /**
1630
+ * Generates the footer for the sitemap with XML ending tag
1631
+ *
1632
+ * @since 4.0
1633
+ * @param string $format The format, either sitemap for a sitemap or index for the sitemap index
1634
+ */
1635
+ private function BuildSitemapFooter($format) {
1636
+ if(!in_array($format, array("sitemap", "index"))) $format = "sitemap";
1637
+ switch($format) {
1638
+ case "sitemap":
1639
+ $this->AddElement(new GoogleSitemapGeneratorXmlEntry('</urlset>'));
1640
+ break;
1641
+ case "index":
1642
+ $this->AddElement(new GoogleSitemapGeneratorXmlEntry('</sitemapindex>'));
1643
+ break;
1644
  }
1645
+ }
1646
 
1647
+ /**
1648
+ * Adds information about time and memory usage to the sitemap
1649
+ *
1650
+ * @since 4.0
1651
+ * @param float $startTime The microtime of the start
1652
+ * @param int $startQueries
1653
+ * @param int $startMemory
1654
+ *
1655
+ */
1656
+ private function AddEndCommend($startTime, $startQueries = 0, $startMemory = 0) {
1657
+ if(defined("WP_DEBUG") && WP_DEBUG) {
1658
+ echo "<!-- ";
1659
+ if(defined('SAVEQUERIES') && SAVEQUERIES) {
1660
+ echo '<pre>';
1661
+ var_dump($GLOBALS['wpdb']->queries);
1662
+ echo '</pre>';
1663
+
1664
+ $total = 0;
1665
+ foreach($GLOBALS['wpdb']->queries as $q) {
1666
+ $total += $q[1];
 
 
 
 
 
 
 
 
 
 
 
 
1667
  }
1668
+ echo '<h4>Total Query Time</h4>';
1669
+ echo '<pre>' . count($GLOBALS['wpdb']->queries) . ' queries in ' . round($total, 2) . ' seconds.</pre>';
1670
  } else {
1671
+ echo '<p>Please edit wp-db.inc.php in wp-includes and set SAVEQUERIES to true if you want to see the queries.</p>';
 
 
 
 
 
1672
  }
1673
+ echo " --> ";
1674
  }
1675
+ $endTime = microtime(true);
1676
+ $endTime = round($endTime - $startTime, 2);
1677
+ $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Request ID: " . md5(microtime()) . "; Queries for sitemap: " . ($GLOBALS["wpdb"]->num_queries - $startQueries) . "; Total queries: " . $GLOBALS["wpdb"]->num_queries . "; Seconds: $endTime; Memory for sitemap: " . ((memory_get_peak_usage(true) - $startMemory) / 1024 / 1024) . "MB" . "; Total memory: " . (memory_get_peak_usage(true) / 1024 / 1024) . "MB"));
1678
+ }
1679
 
1680
+ /**
1681
+ * Adds the sitemap to the virtual robots.txt file
1682
+ * This function is executed by WordPress with the do_robots hook
1683
+ *
1684
+ * @since 3.1.2
1685
+ */
1686
+ public function DoRobots() {
1687
+ $this->Initate();
1688
+ if($this->GetOption('b_robots') === true) {
1689
+
1690
+ $smUrl = $this->GetXmlUrl();
1691
+
1692
+ echo "\nSitemap: " . $smUrl . "\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1693
  }
1694
+ }
1695
 
 
 
 
1696
 
1697
+ /*************************************** SITEMAP CONTENT BUILDING ***************************************/
1698
 
1699
+ /**
1700
+ * Outputs an element in the sitemap
1701
+ *
1702
+ * @since 3.0
1703
+ * @param $page GoogleSitemapGeneratorXmlEntry The element
1704
+ */
1705
+ public function AddElement($page) {
1706
 
1707
+ if(empty($page)) return;
1708
+ echo $page->Render();
1709
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1710
 
1711
+ /**
1712
+ * Adds a url to the sitemap. You can use this method or call AddElement directly.
1713
+ *
1714
+ * @since 3.0
1715
+ * @param $loc string The location (url) of the page
1716
+ * @param $lastMod int The last Modification time as a UNIX timestamp
1717
+ * @param $changeFreq string The change frequenty of the page, Valid values are "always", "hourly", "daily", "weekly", "monthly", "yearly" and "never".
1718
+ * @param $priority float The priority of the page, between 0.0 and 1.0
1719
+ * @param $postID int The post ID in case this is a post or page
1720
+ * @see AddElement
1721
+ * @return string The URL node
1722
+ */
1723
+ public function AddUrl($loc, $lastMod = 0, $changeFreq = "monthly", $priority = 0.5, $postID = 0) {
1724
+ //Strip out the last modification time if activated
1725
+ if($this->GetOption('in_lastmod') === false) $lastMod = 0;
1726
+ $page = new GoogleSitemapGeneratorPage($loc, $priority, $changeFreq, $lastMod, $postID);
1727
 
1728
+ do_action('sm_addurl', $page);
 
 
 
 
 
 
 
 
 
 
1729
 
1730
+ if($this->simMode) {
1731
+ $caller = $this->GetExternalBacktrace(debug_backtrace());
1732
 
1733
+ $this->simData["content"][] = array(
1734
+ "data" => $page,
1735
+ "caller" => $caller
1736
+ );
1737
+ } else {
1738
+ $this->AddElement($page);
1739
+ }
1740
+ }
1741
 
1742
+ /**
1743
+ * Add a sitemap entry to the index file
1744
+ * @param $type
1745
+ * @param string $params
1746
+ * @param int $lastMod
1747
+ */
1748
+ public function AddSitemap($type, $params = "", $lastMod = 0) {
1749
 
1750
+ $url = $this->GetXmlUrl($type, $params);
1751
 
1752
+ $sitemap = new GoogleSitemapGeneratorSitemapEntry($url, $lastMod);
 
 
 
1753
 
1754
+ do_action('sm_addsitemap', $sitemap);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1755
 
1756
+ if($this->simMode) {
1757
+ $caller = $this->GetExternalBacktrace(debug_backtrace());
1758
+ $this->simData["sitemaps"][] = array("data" => $sitemap, "type" => $type, "params" => $params, "caller" => $caller);
1759
+ } else {
1760
+ $this->AddElement($sitemap);
1761
  }
1762
+ }
1763
 
 
 
 
 
 
 
 
 
1764
 
1765
+ /*************************************** PINGS ***************************************/
1766
 
1767
+ /**
1768
+ * Sends the pings to the search engines
1769
+ */
1770
+ public function SendPing() {
1771
 
1772
+ $this->LoadOptions();
1773
 
1774
+ $status = new GoogleSitemapGeneratorStatus();
1775
 
1776
+ $pingUrl = $this->GetXmlUrl();
1777
 
1778
+ if($pingUrl) {
1779
+ $pings = array();
1780
 
1781
+ if($this->GetOption("b_ping")) {
1782
+ $pings["google"] = array(
1783
+ "name" => "Google",
1784
+ "url" => "http://www.google.com/webmasters/sitemaps/ping?sitemap=%s",
1785
+ "check" => "successfully"
1786
+ );
1787
+ }
1788
 
1789
+ if($this->GetOption("b_pingmsn")) {
1790
+ $pings["bing"] = array(
1791
+ "name" => "Bing",
1792
+ "url" => "http://www.bing.com/webmaster/ping.aspx?siteMap=%s",
1793
+ "check" => " " // No way to check, response is IP-language-based :-(
1794
+ );
1795
+ }
1796
 
1797
+ foreach($pings AS $serviceId => $service) {
1798
+ $url = str_replace("%s", urlencode($pingUrl), $service["url"]);
1799
+ $status->StartPing($serviceId, $url, $service["name"]);
 
 
 
 
1800
 
1801
+ $pingres = $this->RemoteOpen($url);
 
 
 
 
1802
 
1803
+ if($pingres === NULL || $pingres === false || strpos($pingres, $service["check"]) === false) {
1804
+ $status->EndPing($serviceId, false);
1805
+ trigger_error("Failed to ping $serviceId: " . htmlspecialchars(strip_tags($pingres)), E_USER_NOTICE);
1806
+ } else {
1807
+ $status->EndPing($serviceId, true);
1808
+ }
1809
  }
 
 
1810
 
1811
+ $this->SetOption('i_lastping',time());
1812
+ $this->SaveOptions();
 
 
 
 
 
 
 
 
 
 
1813
  }
1814
 
1815
  $status->End();
 
 
 
 
 
 
1816
  }
1817
 
1818
  /**
1820
  * @since 3.1.9
1821
  * @return null
1822
  */
1823
+ public function ShowPingResult() {
1824
 
1825
  check_admin_referer('sitemap');
1826
 
1829
  return;
1830
  }
1831
 
1832
+ $service = !empty($_GET["sm_ping_service"]) ? $_GET["sm_ping_service"] : null;
1833
 
1834
+ $status = GoogleSitemapGeneratorStatus::Load();
1835
 
1836
+ if(!$status) die("No build status yet. Write something first.");
1837
 
1838
  $url = null;
1839
 
1840
+ $services = $status->GetUsedPingServices();
1841
+
1842
+ if(!in_array($service, $services)) die("Invalid service");
1843
+
1844
+ $url = $status->GetPingUrl($service);
 
 
 
1845
 
1846
  if(empty($url)) die("Invalid ping url");
1847
 
1848
  echo '<html><head><title>Ping Test</title>';
1849
+ if(function_exists('wp_admin_css')) wp_admin_css('css/global', true);
1850
  echo '</head><body><h1>Ping Test</h1>';
1851
 
1852
  echo '<p>Trying to ping: <a href="' . $url . '">' . $url . '</a>. The sections below should give you an idea whats going on.</p>';
1853
 
1854
  //Try to get as much as debug / error output as possible
1855
  $errLevel = error_reporting(E_ALL);
1856
+ $errDisplay = ini_set("display_errors", 1);
1857
+ if(!defined('WP_DEBUG')) define('WP_DEBUG', true);
1858
 
1859
  echo '<h2>Errors, Warnings, Notices:</h2>';
1860
 
1861
  if(WP_DEBUG == false) echo "<i>WP_DEBUG was set to false somewhere before. You might not see all debug information until you remove this declaration!</i><br />";
1862
+ if(ini_get("display_errors") != 1) echo "<i>Your display_errors setting currently prevents the plugin from showing errors here. Please check your webserver logfile instead.</i><br />";
1863
 
1864
  $res = $this->RemoteOpen($url);
1865
 
1866
  echo '<h2>Result (text only):</h2>';
1867
 
1868
+ echo wp_kses($res, array('a' => array('href' => array()), 'p' => array(), 'ul' => array(), 'ol' => array(), 'li' => array()));
1869
 
1870
  echo '<h2>Result (HTML):</h2>';
1871
 
1873
 
1874
  //Revert back old values
1875
  error_reporting($errLevel);
1876
+ ini_set("display_errors", $errDisplay);
1877
  echo '</body></html>';
1878
  exit;
1879
  }
1880
 
1881
  /**
1882
+ * Opens a remote file using the WordPress API
1883
  * @since 3.0
1884
  * @param $url The URL to open
1885
+ * @param $method string get or post
1886
  * @param $postData An array with key=>value paris
1887
+ * @param $timeout int Timeout for the request, by default 10
1888
  * @return mixed False on error, the body of the response on success
1889
  */
1890
+ public static function RemoteOpen($url, $method = 'get', $postData = null, $timeout = 10) {
1891
  global $wp_version;
1892
 
1893
+ $options = array();
1894
+ $options['timeout'] = $timeout;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1895
 
1896
+ if($method == 'get') {
1897
+ $response = wp_remote_get($url, $options);
1898
  } else {
1899
+ $response = wp_remote_post($url, array_merge($options, array('body' => $postData)));
1900
+ }
1901
 
1902
+ if(is_wp_error($response)) {
1903
+ $errs = $response->get_error_messages();
1904
+ $errs = htmlspecialchars(implode('; ', $errs));
1905
+ trigger_error('WP HTTP API Web Request failed: ' . $errs, E_USER_NOTICE);
1906
+ return false;
 
 
 
 
 
 
 
 
 
 
 
 
1907
  }
1908
 
1909
+ return $response['body'];
1910
  }
1911
 
1912
  /**
1913
+ * Sends anonymous statistics
 
 
 
 
 
 
1914
  */
1915
+ private function SendStats() {
1916
+ $postData = array(
1917
+ "v" => 1,
1918
+ "tid" => "UA-65990-26",
1919
+ "cid" => $this->GetOption('i_hash'),
1920
+ "aip" => 1, //Anonymize
1921
+ "t" => "event",
1922
+ "ec" => "ping",
1923
+ "ea" => "auto",
1924
+ "ev" => 1,
1925
+ "cd1" => $wp_version,
1926
+ "cd2" => $this->GetVersion(),
1927
+ "cd3" => PHP_VERSION,
1928
+ "ul" => get_bloginfo('language'),
1929
+ );
1930
 
1931
+ $this->RemoteOpen('http://www.google-analytics.com/collect', 'post', $postData);
 
 
1932
  }
1933
 
1934
  /**
1935
+ * Handles daily ping
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1936
  */
1937
+ public function SendPingDaily() {
 
 
 
1938
 
1939
+ global $wp_version;
 
 
 
 
 
 
 
 
 
 
 
 
 
1940
 
1941
+ $this->LoadOptions();
 
 
 
 
 
 
 
 
 
 
 
 
 
1942
 
1943
+ $blogUpdate = strtotime(get_lastpostdate('blog'));
1944
+ $lastPing = $this->GetOption('i_lastping');
1945
+ $yesterday = time() - (60 * 60 * 24);
1946
+
1947
+ if($blogUpdate >= $yesterday && ($lastPing==0 || $lastPing <= $yesterday)) {
1948
+ $this->SendPing();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1949
  }
1950
 
1951
+ if($this->GetOption('b_stats')) {
1952
+ $this->SendStats();
1953
+ }
1954
  }
1955
 
 
 
 
 
 
 
 
 
 
 
 
 
1956
 
1957
+ /*************************************** USER INTERFACE ***************************************/
 
 
 
 
 
 
 
 
 
1958
 
1959
  /**
1960
+ * Includes the user interface class and initializes it
1961
  *
1962
+ * @since 3.1.1
1963
+ * @see GoogleSitemapGeneratorUI
1964
+ * @return GoogleSitemapGeneratorUI
1965
  */
1966
+ private function GetUI() {
1967
+
1968
  global $wp_version;
 
 
 
 
1969
 
1970
+ if($this->ui === null) {
 
1971
 
1972
+ $className = 'GoogleSitemapGeneratorUI';
1973
+ $fileName = 'sitemap-ui.php';
1974
+
1975
+ if(!class_exists($className)) {
1976
+
1977
+ $path = trailingslashit(dirname(__FILE__));
1978
+
1979
+ if(!file_exists($path . $fileName)) return false;
1980
+ require_once($path . $fileName);
1981
+ }
1982
+
1983
+ $this->ui = new $className($this);
1984
+
1985
+ }
1986
+
1987
+ return $this->ui;
1988
  }
1989
 
1990
  /**
1994
  * @since 3.0
1995
  * @return bool
1996
  */
1997
+ public function HtmlShowOptionsPage() {
1998
 
1999
  $ui = $this->GetUI();
2000
  if($ui) {
2005
  return false;
2006
  }
2007
 
2008
+ /*************************************** HELPERS ***************************************/
2009
+
2010
  /**
2011
+ * Returns if the given value is greater than zero
2012
  *
2013
+ * @param $value int The value to check
2014
+ * @since 4.0b10
2015
+ * @return bool True if greater than zero
2016
  */
2017
+ public function IsGreaterZero($value) {
2018
+ return ($value > 0);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2019
  }
2020
+ }
sitemap-loader.php ADDED
@@ -0,0 +1,459 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Loader class for the Google Sitemap Generator
5
+ *
6
+ * This class takes care of the sitemap plugin and tries to load the different parts as late as possible.
7
+ * On normal requests, only this small class is loaded. When the sitemap needs to be rebuild, the generator itself is loaded.
8
+ * The last stage is the user interface which is loaded when the administration page is requested.
9
+ *
10
+ * @author Arne Brachhold
11
+ * @package sitemap
12
+ */
13
+ class GoogleSitemapGeneratorLoader {
14
+
15
+ /**
16
+ * @var Version of the generator in SVN
17
+ */
18
+ private static $svnVersion = '$Id: sitemap-loader.php 884678 2014-03-30 15:52:25Z arnee $';
19
+
20
+
21
+ /**
22
+ * Enabled the sitemap plugin with registering all required hooks
23
+ *
24
+ * @uses add_action Adds actions for admin menu, executing pings and handling robots.txt
25
+ * @uses add_filter Adds filtes for admin menu icon and contexual help
26
+ * @uses GoogleSitemapGeneratorLoader::SetupRewriteHooks() Registeres the rewrite hooks
27
+ * @uses GoogleSitemapGeneratorLoader::CallShowPingResult() Shows the ping result on request
28
+ * @uses GoogleSitemapGeneratorLoader::ActivateRewrite() Writes rewrite rules the first time
29
+ */
30
+ public static function Enable() {
31
+
32
+ //Register the sitemap creator to wordpress...
33
+ add_action('admin_menu', array(__CLASS__, 'RegisterAdminPage'));
34
+
35
+ //Nice icon for Admin Menu (requires Ozh Admin Drop Down Plugin)
36
+ add_filter('ozh_adminmenu_icon', array(__CLASS__, 'RegisterAdminIcon'));
37
+
38
+ //Additional links on the plugin page
39
+ add_filter('plugin_row_meta', array(__CLASS__, 'RegisterPluginLinks'), 10, 2);
40
+
41
+ //Listen to ping request
42
+ add_action('sm_ping', array(__CLASS__, 'CallSendPing'), 10, 1);
43
+
44
+ //Listen to daily ping
45
+ add_action('sm_ping_daily', array(__CLASS__, 'CallSendPingDaily'), 10, 1);
46
+
47
+ //Existing page was published
48
+ add_action('publish_post', array(__CLASS__, 'SchedulePing'), 999, 1);
49
+ add_action('publish_page', array(__CLASS__, 'SchedulePing'), 9999, 1);
50
+ add_action('delete_post', array(__CLASS__, 'SchedulePing'), 9999, 1);
51
+
52
+ //Robots.txt request
53
+ add_action('do_robots', array(__CLASS__, 'CallDoRobots'), 100, 0);
54
+
55
+ //Help topics for context sensitive help
56
+ //add_filter('contextual_help_list', array(__CLASS__, 'CallHtmlShowHelpList'), 9999, 2);
57
+
58
+ //Check if the result of a ping request should be shown
59
+ if(!empty($_GET["sm_ping_service"])) {
60
+ self::CallShowPingResult();
61
+ }
62
+
63
+ //Fix rewrite rules if not already done on activation hook. This happens on network activation for example.
64
+ if (get_option("sm_rewrite_done", null) != self::$svnVersion) {
65
+ add_action('wp_loaded', array(__CLASS__, 'ActivateRewrite'), 9999, 1);
66
+ }
67
+
68
+ //Schedule daily ping
69
+ if (!wp_get_schedule('sm_ping_daily')) {
70
+ wp_schedule_event(time() + (60 * 60), 'daily', 'sm_ping_daily');
71
+ }
72
+ }
73
+
74
+ /**
75
+ * Sets up the query vars and template redirect hooks
76
+ * @uses GoogleSitemapGeneratorLoader::RegisterQueryVars
77
+ * @uses GoogleSitemapGeneratorLoader::DoTemplateRedirect
78
+ * @uses GoogleSitemapGeneratorLoader::KillFrontpageQuery
79
+ * @since 4.0
80
+ */
81
+ public static function SetupQueryVars() {
82
+
83
+ add_filter('query_vars', array(__CLASS__, 'RegisterQueryVars'), 1, 1);
84
+
85
+ add_filter('template_redirect', array(__CLASS__, 'DoTemplateRedirect'), 1, 0);
86
+
87
+ add_filter('parse_request', array(__CLASS__, 'KillFrontpageQuery'), 1, 0);
88
+ }
89
+
90
+ /**
91
+ * Register the plugin specific "xml_sitemap" query var
92
+ *
93
+ * @since 4.0
94
+ * @param $vars Array Array of existing query_vars
95
+ * @return Array An aarray containing the new query vars
96
+ */
97
+ public static function RegisterQueryVars($vars) {
98
+ array_push($vars, 'xml_sitemap');
99
+ return $vars;
100
+ }
101
+
102
+ /**
103
+ * Registers the plugin specific rewrite rules
104
+ *
105
+ * @since 4.0
106
+ * @param $wpRules Array of existing rewrite rules
107
+ * @return Array An array containing the new rewrite rules
108
+ */
109
+ public static function AddRewriteRules($wpRules) {
110
+ $smRules = array(
111
+ 'sitemap(-+([a-zA-Z0-9_-]+))?\.xml$' => 'index.php?xml_sitemap=params=$matches[2]',
112
+ 'sitemap(-+([a-zA-Z0-9_-]+))?\.xml\.gz$' => 'index.php?xml_sitemap=params=$matches[2];zip=true',
113
+ 'sitemap(-+([a-zA-Z0-9_-]+))?\.html$' => 'index.php?xml_sitemap=params=$matches[2];html=true',
114
+ 'sitemap(-+([a-zA-Z0-9_-]+))?\.html.gz$' => 'index.php?xml_sitemap=params=$matches[2];html=true;zip=true'
115
+ );
116
+ return array_merge($smRules,$wpRules);
117
+ }
118
+
119
+ /**
120
+ * Adds the filters for wp rewrite rule adding
121
+ *
122
+ * @since 4.0
123
+ * @uses add_filter()
124
+ */
125
+ public static function SetupRewriteHooks() {
126
+ add_filter('rewrite_rules_array', array(__CLASS__, 'AddRewriteRules'), 1, 1);
127
+ }
128
+
129
+ /**
130
+ * Flushes the rewrite rules
131
+ *
132
+ * @since 4.0
133
+ * @global $wp_rewrite WP_Rewrite
134
+ * @uses WP_Rewrite::flush_rules()
135
+ */
136
+ public static function ActivateRewrite() {
137
+ global $wp_rewrite;
138
+ $wp_rewrite->flush_rules(false);
139
+ update_option("sm_rewrite_done", self::$svnVersion);
140
+ }
141
+
142
+ /**
143
+ * Handled the plugin activation on installation
144
+ *
145
+ * @uses GoogleSitemapGeneratorLoader::ActivateRewrite
146
+ * @since 4.0
147
+ */
148
+ public static function ActivatePlugin() {
149
+ self::SetupRewriteHooks();
150
+ self::ActivateRewrite();
151
+
152
+ if(self::LoadPlugin()) {
153
+ $gsg = GoogleSitemapGenerator::GetInstance();
154
+ if($gsg->OldFileExists()) {
155
+ $gsg->DeleteOldFiles();
156
+ }
157
+ }
158
+
159
+ }
160
+
161
+ /**
162
+ * Handled the plugin deactivation
163
+ *
164
+ * @uses GoogleSitemapGeneratorLoader::ActivateRewrite
165
+ * @since 4.0
166
+ */
167
+ public static function DeactivatePlugin() {
168
+ delete_option("sm_rewrite_done");
169
+ wp_clear_scheduled_hook('sm_ping_daily');
170
+ }
171
+
172
+
173
+ /**
174
+ * Handles the plugin output on template redirection if the xml_sitemap query var is present.
175
+ *
176
+ * @since 4.0
177
+ * @global $wp_query The WordPress query object
178
+ */
179
+ public static function DoTemplateRedirect() {
180
+ global $wp_query;
181
+ if(!empty($wp_query->query_vars["xml_sitemap"])) {
182
+ $wp_query->is_404 = false;
183
+ $wp_query->is_feed = false;
184
+ self::CallShowSitemap($wp_query->query_vars["xml_sitemap"]);
185
+ }
186
+ }
187
+
188
+ public static function KillFrontpageQuery() {
189
+ add_filter('posts_request', array('GoogleSitemapGeneratorLoader', 'KillFrontpagePosts'), 1000, 2);
190
+ }
191
+
192
+ public static function KillFrontpagePosts($sql, &$query) {
193
+ // The main query is running on the front page
194
+ // And the currently running query is that main query
195
+ if(!empty($query->query_vars["xml_sitemap"])) {
196
+ // We only want to do this once: remove the filter
197
+ remove_filter('posts_request', array('GoogleSitemapGeneratorLoader', 'KillFrontpagePosts'), 1000, 2);
198
+ // Kill the FOUND_ROWS() query too
199
+ $query->query_vars['no_found_rows'] = true;
200
+ //Workaround for preventing to fetch sticky posts
201
+ $query->is_home = false;
202
+ //Prevent sending of 404 (it would happen because we didn't find any posts). Setting is_404 to true skips that check.
203
+ $query->is_404 = true;
204
+
205
+ return "SELECT ID FROM {$GLOBALS['wpdb']->posts} WHERE 1=2"; // Kill the query doesnt work anymore. Now try to select no matching posts :(
206
+ }
207
+ return $sql;
208
+ }
209
+
210
+
211
+ /**
212
+ * Registers the plugin in the admin menu system
213
+ *
214
+ * @uses add_options_page()
215
+ */
216
+ public static function RegisterAdminPage() {
217
+
218
+ $p = add_options_page(__('XML-Sitemap Generator', 'sitemap'), __('XML-Sitemap', 'sitemap'), 'administrator', self::GetBaseName(), array(__CLASS__, 'CallHtmlShowOptionsPage'));
219
+ //add_action("load-$p", array(__CLASS__, 'CallHtmlShowHelpList'));
220
+
221
+ }
222
+
223
+ /**
224
+ * Returns a nice icon for the Ozh Admin Menu if the {@param $hook} equals to the sitemap plugin
225
+ *
226
+ * @param string $hook The hook to compare
227
+ * @return string The path to the icon
228
+ */
229
+ public static function RegisterAdminIcon($hook) {
230
+ if($hook == self::GetBaseName() && function_exists('plugins_url')) {
231
+ return plugins_url('img/icon-arne.gif', self::GetBaseName());
232
+ }
233
+ return $hook;
234
+ }
235
+
236
+ /**
237
+ * Registers additional links for the sitemap plugin on the WP plugin configuration page
238
+ *
239
+ * Registers the links if the $file param equals to the sitemap plugin
240
+ * @param $links Array An array with the existing links
241
+ * @param $file string The file to compare to
242
+ */
243
+ public static function RegisterPluginLinks($links, $file) {
244
+ $base = self::GetBaseName();
245
+ if($file == $base) {
246
+ $links[] = '<a href="options-general.php?page=' . self::GetBaseName() . '">' . __('Settings', 'sitemap') . '</a>';
247
+ $links[] = '<a href="http://www.arnebrachhold.de/redir/sitemap-plist-faq/">' . __('FAQ', 'sitemap') . '</a>';
248
+ $links[] = '<a href="http://www.arnebrachhold.de/redir/sitemap-plist-support/">' . __('Support', 'sitemap') . '</a>';
249
+ $links[] = '<a href="http://www.arnebrachhold.de/redir/sitemap-plist-donate/">' . __('Donate', 'sitemap') . '</a>';
250
+ }
251
+ return $links;
252
+ }
253
+
254
+ /**
255
+ * Schedules pinging the search engines
256
+ *
257
+ * @static
258
+ * @return void
259
+ */
260
+ public static function SchedulePing() {
261
+ wp_schedule_single_event(time(),'sm_ping');
262
+ }
263
+
264
+ /**
265
+ * Invokes the HtmlShowOptionsPage method of the generator
266
+ * @uses GoogleSitemapGeneratorLoader::LoadPlugin()
267
+ * @uses GoogleSitemapGenerator::HtmlShowOptionsPage()
268
+ */
269
+ public static function CallHtmlShowOptionsPage() {
270
+ if(self::LoadPlugin()) {
271
+ GoogleSitemapGenerator::GetInstance()->HtmlShowOptionsPage();
272
+ }
273
+ }
274
+
275
+ /**
276
+ * Invokes the ShowPingResult method of the generator
277
+ * @uses GoogleSitemapGeneratorLoader::LoadPlugin()
278
+ * @uses GoogleSitemapGenerator::ShowPingResult()
279
+ */
280
+ public static function CallShowPingResult() {
281
+ if(self::LoadPlugin()) {
282
+ GoogleSitemapGenerator::GetInstance()->ShowPingResult();
283
+ }
284
+ }
285
+
286
+ /**
287
+ * Invokes the SendPing method of the generator
288
+ * @uses GoogleSitemapGeneratorLoader::LoadPlugin()
289
+ * @uses GoogleSitemapGenerator::SendPing()
290
+ */
291
+ public static function CallSendPing() {
292
+ if(self::LoadPlugin()) {
293
+ GoogleSitemapGenerator::GetInstance()->SendPing();
294
+ }
295
+ }
296
+
297
+ /**
298
+ * Invokes the SendPingDaily method of the generator
299
+ * @uses GoogleSitemapGeneratorLoader::LoadPlugin()
300
+ * @uses GoogleSitemapGenerator::SendPingDaily()
301
+ */
302
+ public static function CallSendPingDaily()
303
+ {
304
+ if (self::LoadPlugin()) {
305
+ GoogleSitemapGenerator::GetInstance()->SendPingDaily();
306
+ }
307
+ }
308
+
309
+ /**
310
+ * Invokes the ShowSitemap method of the generator
311
+ * @uses GoogleSitemapGeneratorLoader::LoadPlugin()
312
+ * @uses GoogleSitemapGenerator::ShowSitemap()
313
+ */
314
+ public static function CallShowSitemap($options) {
315
+ if(self::LoadPlugin()) {
316
+ GoogleSitemapGenerator::GetInstance()->ShowSitemap($options);
317
+ }
318
+ }
319
+
320
+ /**
321
+ * Invokes the DoRobots method of the generator
322
+ * @uses GoogleSitemapGeneratorLoader::LoadPlugin()
323
+ * @uses GoogleSitemapGenerator::DoRobots()
324
+ */
325
+ public static function CallDoRobots() {
326
+ if(self::LoadPlugin()) {
327
+ GoogleSitemapGenerator::GetInstance()->DoRobots();
328
+ }
329
+ }
330
+
331
+ /**
332
+ * Displays the help links in the upper Help Section of WordPress
333
+ *
334
+ * @param $filterVal Array The existing links
335
+ * @param $screen Object The current screen object
336
+ * @return Array The new links
337
+ */
338
+ public static function CallHtmlShowHelpList() {
339
+
340
+ $screen = get_current_screen();
341
+ $id = get_plugin_page_hookname(self::GetBaseName(), 'options-general.php');
342
+
343
+ if(is_object($screen) && $screen->id == $id) {
344
+
345
+ /*
346
+ load_plugin_textdomain('sitemap',false,dirname( plugin_basename( __FILE__ ) ) . '/lang');
347
+
348
+ $links = array(
349
+ __('Plugin Homepage', 'sitemap') => 'http://www.arnebrachhold.de/redir/sitemap-help-home/',
350
+ __('My Sitemaps FAQ', 'sitemap') => 'http://www.arnebrachhold.de/redir/sitemap-help-faq/'
351
+ );
352
+
353
+ $filterVal[$id] = '';
354
+
355
+ $i = 0;
356
+ foreach($links AS $text => $url) {
357
+ $filterVal[$id] .= '<a href="' . $url . '">' . $text . '</a>' . ($i < (count($links) - 1) ? ' | ' : '');
358
+ $i++;
359
+ }
360
+
361
+ $screen->add_help_tab( array(
362
+ 'id' => 'sitemap-links',
363
+ 'title' => __('My Sitemaps FAQ', 'sitemap'),
364
+ 'content' => '<p>' . __('dsf dsf sd f', 'sitemap') . '</p>',
365
+
366
+ ));
367
+ */
368
+
369
+ }
370
+ //return $filterVal;
371
+ }
372
+
373
+
374
+ /**
375
+ * Loads the actual generator class and tries to raise the memory and time limits if not already done by WP
376
+ *
377
+ * @uses GoogleSitemapGenerator::Enable()
378
+ * @return boolean true if run successfully
379
+ */
380
+ public static function LoadPlugin() {
381
+
382
+ if(!class_exists("GoogleSitemapGenerator")) {
383
+
384
+ $mem = abs(intval(@ini_get('memory_limit')));
385
+ if($mem && $mem < 128) {
386
+ @ini_set('memory_limit', '128M');
387
+ }
388
+
389
+ $time = abs(intval(@ini_get("max_execution_time")));
390
+ if($time != 0 && $time < 120) {
391
+ @set_time_limit(120);
392
+ }
393
+
394
+ $path = trailingslashit(dirname(__FILE__));
395
+
396
+ if(!file_exists($path . 'sitemap-core.php')) return false;
397
+ require_once($path . 'sitemap-core.php');
398
+ }
399
+
400
+ GoogleSitemapGenerator::Enable();
401
+ return true;
402
+ }
403
+
404
+ /**
405
+ * Returns the plugin basename of the plugin (using __FILE__)
406
+ *
407
+ * @return string The plugin basename, "sitemap" for example
408
+ */
409
+ public static function GetBaseName() {
410
+ return plugin_basename(sm_GetInitFile());
411
+ }
412
+
413
+ /**
414
+ * Returns the name of this loader script, using sm_GetInitFile
415
+ *
416
+ * @return string The sm_GetInitFile value
417
+ */
418
+ public static function GetPluginFile() {
419
+ return sm_GetInitFile();
420
+ }
421
+
422
+ /**
423
+ * Returns the plugin version
424
+ *
425
+ * Uses the WP API to get the meta data from the top of this file (comment)
426
+ *
427
+ * @return string The version like 3.1.1
428
+ */
429
+ public static function GetVersion() {
430
+ if(!isset($GLOBALS["sm_version"])) {
431
+ if(!function_exists('get_plugin_data')) {
432
+ if(file_exists(ABSPATH . 'wp-admin/includes/plugin.php')) {
433
+ require_once(ABSPATH . 'wp-admin/includes/plugin.php');
434
+ }
435
+ else return "0.ERROR";
436
+ }
437
+ $data = get_plugin_data(self::GetPluginFile(), false, false);
438
+ $GLOBALS["sm_version"] = $data['Version'];
439
+ }
440
+ return $GLOBALS["sm_version"];
441
+ }
442
+
443
+ public static function GetSvnVersion() {
444
+ return self::$svnVersion;
445
+ }
446
+ }
447
+
448
+ //Enable the plugin for the init hook, but only if WP is loaded. Calling this php file directly will do nothing.
449
+ if(defined('ABSPATH') && defined('WPINC')) {
450
+ add_action("init", array("GoogleSitemapGeneratorLoader", "Enable"), 15, 0);
451
+ register_activation_hook(sm_GetInitFile(), array('GoogleSitemapGeneratorLoader', 'ActivatePlugin'));
452
+ register_deactivation_hook(sm_GetInitFile(), array('GoogleSitemapGeneratorLoader', 'DeactivatePlugin'));
453
+
454
+ //Set up hooks for adding permalinks, query vars.
455
+ //Don't wait until unit with this, since other plugins might flush the rewrite rules in init already...
456
+ GoogleSitemapGeneratorLoader::SetupQueryVars();
457
+ GoogleSitemapGeneratorLoader::SetupRewriteHooks();
458
+ }
459
+
sitemap-ui.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
 
4
- $Id: sitemap-ui.php 651444 2013-01-11 19:54:39Z arnee $
5
 
6
  */
7
 
@@ -12,54 +12,142 @@ class GoogleSitemapGeneratorUI {
12
  *
13
  * @var GoogleSitemapGenerator
14
  */
15
- var $sg = null;
16
 
17
- var $mode = 21;
18
 
19
- function GoogleSitemapGeneratorUI(&$sitemapBuilder) {
20
  global $wp_version;
21
- $this->sg = &$sitemapBuilder;
22
-
23
- if(floatval($wp_version) >= 2.7) {
24
- $this->mode = 27;
25
- }
26
  }
27
 
28
- function HtmlPrintBoxHeader($id, $title, $right = false) {
29
- if($this->mode == 27) {
30
- ?>
31
  <div id="<?php echo $id; ?>" class="postbox">
32
  <h3 class="hndle"><span><?php echo $title ?></span></h3>
33
  <div class="inside">
34
- <?php
35
- } else {
36
- ?>
37
- <fieldset id="<?php echo $id; ?>" class="dbx-box">
38
- <?php if(!$right): ?><div class="dbx-h-andle-wrapper"><?php endif; ?>
39
- <h3 class="dbx-handle"><?php echo $title ?></h3>
40
- <?php if(!$right): ?></div><?php endif; ?>
41
-
42
- <?php if(!$right): ?><div class="dbx-c-ontent-wrapper"><?php endif; ?>
43
- <div class="dbx-content">
44
- <?php
45
- }
46
  }
47
 
48
- function HtmlPrintBoxFooter( $right = false) {
49
- if($this->mode == 27) {
50
  ?>
51
  </div>
52
  </div>
53
- <?php
54
- } else {
55
- ?>
56
- <?php if(!$right): ?></div><?php endif; ?>
57
- </div>
58
- </fieldset>
59
- <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  }
61
  }
62
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  /**
64
  * Displays the option page
65
  *
@@ -67,25 +155,38 @@ class GoogleSitemapGeneratorUI {
67
  * @access public
68
  * @author Arne Brachhold
69
  */
70
- function HtmlShowOptionsPage() {
71
  global $wp_version;
72
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  $snl = false; //SNL
74
 
75
  $this->sg->Initate();
76
 
77
  $message="";
78
 
 
 
 
79
  if(!empty($_REQUEST["sm_rebuild"])) { //Pressed Button: Rebuild Sitemap
80
  check_admin_referer('sitemap');
81
 
82
- //Clear any outstanding build cron jobs
83
- if(function_exists('wp_clear_scheduled_hook')) wp_clear_scheduled_hook('sm_build_cron');
84
 
85
  if(isset($_GET["sm_do_debug"]) && $_GET["sm_do_debug"]=="true") {
86
 
87
  //Check again, just for the case that something went wrong before
88
- if(!current_user_can("administrator")) {
89
  echo '<p>Please log in as admin</p>';
90
  return;
91
  }
@@ -99,7 +200,7 @@ class GoogleSitemapGeneratorUI {
99
  echo '<p style="font-weight:bold; color:red; padding:5px; border:1px red solid; text-align:center;">DO NOT POST THIS INFORMATION ON PUBLIC PAGES LIKE SUPPORT FORUMS AS IT MAY CONTAIN PASSWORDS OR SECRET SERVER INFORMATION!</p>';
100
  echo "<h3>WordPress and PHP Information</h3>";
101
  echo '<p>WordPress ' . $GLOBALS['wp_version'] . ' with ' . ' DB ' . $GLOBALS['wp_db_version'] . ' on PHP ' . phpversion() . '</p>';
102
- echo '<p>Plugin version: ' . $this->sg->GetVersion() . ' (' . $this->sg->_svnVersion . ')';
103
  echo '<h4>Environment</h4>';
104
  echo "<pre>";
105
  $sc = $_SERVER;
@@ -127,11 +228,25 @@ class GoogleSitemapGeneratorUI {
127
  echo "</pre>";
128
  echo '<h4>Sitemap Config</h4>';
129
  echo "<pre>";
130
- print_r($this->sg->_options);
131
  echo "</pre>";
132
- echo '<h3>Errors, Warnings, Notices</h3>';
133
  echo '<div>';
134
- $status = $this->sg->BuildSitemap();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
135
  echo '</div>';
136
  echo '<h3>MySQL Queries</h3>';
137
  if(defined('SAVEQUERIES') && SAVEQUERIES) {
@@ -159,7 +274,7 @@ class GoogleSitemapGeneratorUI {
159
  @ini_set("display_errors",$oldIni);
160
  return;
161
  } else {
162
- $this->sg->BuildSitemap();
163
  $redirURL = $this->sg->GetBackLink() . '&sm_fromrb=true';
164
 
165
  //Redirect so the sm_rebuild GET parameter no longer exists.
@@ -177,33 +292,28 @@ class GoogleSitemapGeneratorUI {
177
  $_POST['sm_b_style'] = '';
178
  }
179
 
180
- foreach($this->sg->_options as $k=>$v) {
 
 
 
 
 
 
181
  //Check vor values and convert them into their types, based on the category they are in
182
  if(!isset($_POST[$k])) $_POST[$k]=""; // Empty string will get false on 2bool and 0 on 2float
183
 
184
  //Options of the category "Basic Settings" are boolean, except the filename and the autoprio provider
185
  if(substr($k,0,5)=="sm_b_") {
186
- if($k=="sm_b_filename" || $k=="sm_b_fileurl_manual" || $k=="sm_b_filename_manual" || $k=="sm_b_prio_provider" || $k=="sm_b_manual_key" || $k == "sm_b_style" || $k == "sm_b_memory") {
187
-
188
- if($k=="sm_b_filename" || $k=="sm_b_filename_manual") {
189
- if(substr($_POST[$k],-4)!=".xml") $_POST[$k].=".xml";
190
- }
191
-
192
  if($k=="sm_b_filename_manual" && strpos($_POST[$k],"\\")!==false){
193
  $_POST[$k]=stripslashes($_POST[$k]);
194
  }
195
-
196
- $this->sg->_options[$k]=(string) $_POST[$k];
197
- } else if($k=="sm_b_location_mode") {
198
- $tmp=(string) $_POST[$k];
199
- $tmp=strtolower($tmp);
200
- if($tmp=="auto" || $tmp="manual") $this->sg->_options[$k]=$tmp;
201
- else $this->sg->_options[$k]="auto";
202
- } else if($k == "sm_b_time" || $k=="sm_b_max_posts") {
203
  if($_POST[$k]=='') $_POST[$k] = -1;
204
- $this->sg->_options[$k] = intval($_POST[$k]);
205
  } else if($k== "sm_i_install_date") {
206
- if($this->sg->GetOption('i_install_date')<=0) $this->sg->_options[$k] = time();
207
  } else if($k=="sm_b_exclude") {
208
  $IDss = array();
209
  $IDs = explode(",",$_POST[$k]);
@@ -211,15 +321,15 @@ class GoogleSitemapGeneratorUI {
211
  $ID = intval(trim($IDs[$x]));
212
  if($ID>0) $IDss[] = $ID;
213
  }
214
- $this->sg->_options[$k] = $IDss;
215
  } else if($k == "sm_b_exclude_cats") {
216
  $exCats = array();
217
  if(isset($_POST["post_category"])) {
218
  foreach((array) $_POST["post_category"] AS $vv) if(!empty($vv) && is_numeric($vv)) $exCats[] = intval($vv);
219
  }
220
- $this->sg->_options[$k] = $exCats;
221
  } else {
222
- $this->sg->_options[$k]=(bool) $_POST[$k];
223
 
224
  }
225
  //Options of the category "Includes" are boolean
@@ -229,12 +339,12 @@ class GoogleSitemapGeneratorUI {
229
  $enabledTaxonomies = array();
230
 
231
  foreach(array_keys((array) $_POST[$k]) AS $taxName) {
232
- if(empty($taxName) || !is_taxonomy($taxName)) continue;
233
 
234
  $enabledTaxonomies[] = $taxName;
235
  }
236
 
237
- $this->sg->_options[$k] = $enabledTaxonomies;
238
 
239
  } else if($k=='sm_in_customtypes') {
240
 
@@ -246,38 +356,28 @@ class GoogleSitemapGeneratorUI {
246
  $enabledPostTypes[] = $postTypeName;
247
  }
248
 
249
- $this->sg->_options[$k] = $enabledPostTypes;
250
 
251
- } else $this->sg->_options[$k]=(bool) $_POST[$k];
252
  //Options of the category "Change frequencies" are string
253
  } else if(substr($k,0,6)=="sm_cf_") {
254
- if(array_key_exists($_POST[$k],$this->sg->_freqNames)) {
255
- $this->sg->_options[$k]=(string) $_POST[$k];
256
- }
257
  //Options of the category "Priorities" are float
258
  } else if(substr($k,0,6)=="sm_pr_") {
259
- $this->sg->_options[$k]=(float) $_POST[$k];
260
  }
261
  }
262
 
263
- //No Mysql unbuffered query for WP < 2.2
264
- if(floatval($wp_version) < 2.2) {
265
- $this->sg->SetOption('b_safemode',true);
266
- }
267
-
268
- //No Wp-Cron for WP < 2.1
269
- if(floatval($wp_version) < 2.1) {
270
- $this->sg->SetOption('b_auto_delay',false);
271
- }
272
-
273
  //Apply page changes from POST
274
- $this->sg->_pages=$this->sg->HtmlApplyPages();
275
 
276
  if($this->sg->SaveOptions()) $message.=__('Configuration updated', 'sitemap') . "<br />";
277
  else $message.=__('Error while saving options', 'sitemap') . "<br />";
278
 
279
- if($this->sg->SavePages()) $message.=__("Pages saved",'sitemap') . "<br />";
280
- else $message.=__('Error while saving pages', 'sitemap'). "<br />";
 
 
281
 
282
  } else if(!empty($_POST["sm_reset_config"])) { //Pressed Button: Reset Config
283
  check_admin_referer('sitemap');
@@ -285,6 +385,19 @@ class GoogleSitemapGeneratorUI {
285
  $this->sg->SaveOptions();
286
 
287
  $message.=__('The default configuration was restored.','sitemap');
 
 
 
 
 
 
 
 
 
 
 
 
 
288
  }
289
 
290
  //Print out the message to the user, if any
@@ -343,25 +456,6 @@ class GoogleSitemapGeneratorUI {
343
  }
344
  }
345
 
346
- if(function_exists("wp_next_scheduled")) {
347
- $next = wp_next_scheduled('sm_build_cron');
348
- if($next) {
349
- $diff = (time()-$next)*-1;
350
- if($diff <= 0) {
351
- $diffMsg = __('Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!<br /><small>Due to limitations of the WordPress scheduler, it might take another 60 seconds until the build process is actually started.</small>','sitemap');
352
- } else {
353
- $diffMsg = str_replace("%s",$diff,__('Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!','sitemap'));
354
- }
355
- ?>
356
- <div class="updated">
357
- <strong><p><?php echo $diffMsg ?></p></strong>
358
- <div style="clear:right;"></div>
359
- </div>
360
- <?php
361
- }
362
- }
363
-
364
-
365
  ?>
366
 
367
  <style type="text/css">
@@ -425,6 +519,10 @@ class GoogleSitemapGeneratorUI {
425
  background-image:url(<?php echo $this->sg->GetPluginUrl(); ?>img/icon-google.gif);
426
  }
427
 
 
 
 
 
428
  a.sm_resBing {
429
  background-image:url(<?php echo $this->sg->GetPluginUrl(); ?>img/icon-bing.gif);
430
  }
@@ -433,97 +531,54 @@ class GoogleSitemapGeneratorUI {
433
  margin:5px;
434
  }
435
 
436
- </style>
437
-
438
- <?php
439
- if($this->mode == 27): ?>
440
- <style type="text/css">
441
 
442
- .sm-padded .inside {
443
- margin:12px!important;
444
- }
445
- .sm-padded .inside ul {
446
- margin:6px 0 12px 0;
447
- }
448
 
449
- .sm-padded .inside input {
450
- padding:1px;
451
- margin:0;
452
- }
453
 
454
- <?php if (version_compare($wp_version, "3.4", "<")): //Fix style for WP 3.4 (dirty way for now..) ?>
455
 
456
- .inner-sidebar #side-sortables, .columns-2 .inner-sidebar #side-sortables {
457
- min-height: 300px;
458
- width: 280px;
459
- padding: 0;
460
- }
461
 
462
- .has-right-sidebar .inner-sidebar {
463
- display: block;
464
- }
 
 
465
 
466
- .inner-sidebar {
467
- float: right;
468
- clear: right;
469
- display: none;
470
- width: 281px;
471
- position: relative;
472
- }
473
 
474
- .has-right-sidebar #post-body-content {
475
- margin-right: 300px;
476
- }
 
 
 
 
477
 
478
- #post-body-content {
479
- width: auto !important;
480
- float: none !important;
481
- }
482
 
483
- <?php endif; ?>
 
 
 
484
 
 
485
 
486
- </style>
487
 
488
- <?php elseif(version_compare($wp_version,"2.5",">=")): ?>
489
- <style type="text/css">
490
- div#moremeta {
491
- float:right;
492
- width:200px;
493
- margin-left:10px;
494
- }
495
- <?php if(!$snl): ?>
496
- div#advancedstuff {
497
- width:770px;
498
- }
499
- <?php endif;?>
500
- div#poststuff {
501
- margin-top:10px;
502
- }
503
- fieldset.dbx-box {
504
- margin-bottom:5px;
505
- }
506
-
507
- div.sm-update-nag {
508
- margin-top:10px!important;
509
- }
510
- </style>
511
- <!--[if lt IE 7]>
512
- <style type="text/css">
513
- div#advancedstuff {
514
- width:735px;
515
- }
516
- </style>
517
- <![endif]-->
518
 
519
- <?php else: ?>
520
- <style type="text/css">
521
- div.updated-message {
522
- margin-left:0; margin-right:0;
523
- }
524
- </style>
525
- <?php endif;
526
- ?>
527
 
528
  <div class="wrap" id="sm_div">
529
  <form method="post" action="<?php echo $this->sg->GetBackLink() ?>">
@@ -542,7 +597,7 @@ class GoogleSitemapGeneratorUI {
542
  if(isset($current->response[$file])) {
543
  $r = $current->response[$file];
544
  ?><div id="update-nag" class="sm-update-nag"><?php
545
- if ( !current_user_can('edit_plugins') || version_compare($wp_version,"2.5","<") )
546
  printf( __('There is a new version of %1$s available. <a href="%2$s">Download version %3$s here</a>.','default'), $plugin_data['Name'], $r->url, $r->new_version);
547
  else if ( empty($r->package) )
548
  printf( __('There is a new version of %1$s available. <a href="%2$s">Download version %3$s here</a> <em>automatic upgrade unavailable for this plugin</em>.','default'), $plugin_data['Name'], $r->url, $r->new_version);
@@ -560,54 +615,6 @@ class GoogleSitemapGeneratorUI {
560
 
561
  ?>
562
 
563
- <?php if(version_compare($wp_version,"2.5","<")): ?>
564
- <script type="text/javascript" src="../wp-includes/js/dbx.js"></script>
565
- <script type="text/javascript">
566
- //<![CDATA[
567
- addLoadEvent( function() {
568
- var manager = new dbxManager('sm_sitemap_meta_33');
569
-
570
- //create new docking boxes group
571
- var meta = new dbxGroup(
572
- 'grabit', // container ID [/-_a-zA-Z0-9/]
573
- 'vertical', // orientation ['vertical'|'horizontal']
574
- '10', // drag threshold ['n' pixels]
575
- 'no', // restrict drag movement to container axis ['yes'|'no']
576
- '10', // animate re-ordering [frames per transition, or '0' for no effect]
577
- 'yes', // include open/close toggle buttons ['yes'|'no']
578
- 'open', // default state ['open'|'closed']
579
- <?php echo "'" . js_escape(__('open')); ?>', // word for "open", as in "open this box"
580
- <?php echo "'" . js_escape(__('close')); ?>', // word for "close", as in "close this box"
581
- <?php echo "'" . js_escape(__('click-down and drag to move this box')); ?>', // sentence for "move this box" by mouse
582
- <?php echo "'" . js_escape(__('click to %toggle% this box')); ?>', // pattern-match sentence for "(open|close) this box" by mouse
583
- <?php echo "'" . js_escape(__('use the arrow keys to move this box')); ?>', // sentence for "move this box" by keyboard
584
- <?php echo "'" . js_escape(__(', or press the enter key to %toggle% it')); ?>', // pattern-match sentence-fragment for "(open|close) this box" by keyboard
585
- '%mytitle% [%dbxtitle%]' // pattern-match syntax for title-attribute conflicts
586
- );
587
-
588
- var advanced = new dbxGroup(
589
- 'advancedstuff', // container ID [/-_a-zA-Z0-9/]
590
- 'vertical', // orientation ['vertical'|'horizontal']
591
- '10', // drag threshold ['n' pixels]
592
- 'yes', // restrict drag movement to container axis ['yes'|'no']
593
- '10', // animate re-ordering [frames per transition, or '0' for no effect]
594
- 'yes', // include open/close toggle buttons ['yes'|'no']
595
- 'open', // default state ['open'|'closed']
596
- <?php echo "'" . js_escape(__('open')); ?>', // word for "open", as in "open this box"
597
- <?php echo "'" . js_escape(__('close')); ?>', // word for "close", as in "close this box"
598
- <?php echo "'" . js_escape(__('click-down and drag to move this box')); ?>', // sentence for "move this box" by mouse
599
- <?php echo "'" . js_escape(__('click to %toggle% this box')); ?>', // pattern-match sentence for "(open|close) this box" by mouse
600
- <?php echo "'" . js_escape(__('use the arrow keys to move this box')); ?>', // sentence for "move this box" by keyboard
601
- <?php echo "'" . js_escape(__(', or press the enter key to %toggle% it')); ?>', // pattern-match sentence-fragment for "(open|close) this box" by keyboard
602
- '%mytitle% [%dbxtitle%]' // pattern-match syntax for title-attribute conflicts
603
- );
604
- });
605
- //]]>
606
- </script>
607
- <?php endif; ?>
608
-
609
- <?php if($this->mode == 27): ?>
610
-
611
  <?php if(!$snl): ?>
612
  <div id="poststuff" class="metabox-holder has-right-sidebar">
613
  <div class="inner-sidebar">
@@ -615,15 +622,7 @@ class GoogleSitemapGeneratorUI {
615
  <?php else: ?>
616
  <div id="poststuff" class="metabox-holder">
617
  <?php endif; ?>
618
- <?php else: ?>
619
- <?php if(!$snl): ?>
620
- <div id="poststuff">
621
- <div id="moremeta">
622
- <div id="grabit" class="dbx-group">
623
- <?php else: ?>
624
- <div>
625
- <?php endif; ?>
626
- <?php endif; ?>
627
 
628
  <?php if(!$snl): ?>
629
 
@@ -639,11 +638,12 @@ class GoogleSitemapGeneratorUI {
639
  <?php if(__('translator_name','sitemap')!='translator_name') {?><a class="sm_button sm_pluginSupport" href="<?php _e('translator_url','sitemap'); ?>"><?php _e('translator_name','sitemap'); ?></a><?php } ?>
640
  <?php $this->HtmlPrintBoxFooter(true); ?>
641
 
642
-
643
  <?php $this->HtmlPrintBoxHeader('sm_smres',__('Sitemap Resources:','sitemap'),true); ?>
644
  <a class="sm_button sm_resGoogle" href="<?php echo $this->sg->GetRedirectLink('sitemap-gwt'); ?>"><?php _e('Webmaster Tools','sitemap'); ?></a>
645
  <a class="sm_button sm_resGoogle" href="<?php echo $this->sg->GetRedirectLink('sitemap-gwb'); ?>"><?php _e('Webmaster Blog','sitemap'); ?></a>
646
 
 
 
647
  <a class="sm_button sm_resBing" href="<?php echo $this->sg->GetRedirectLink('sitemap-lwt'); ?>"><?php _e('Webmaster Tools','sitemap'); ?></a>
648
  <a class="sm_button sm_resBing" href="<?php echo $this->sg->GetRedirectLink('sitemap-lswcb'); ?>"><?php _e('Webmaster Center Blog','sitemap'); ?></a>
649
  <br />
@@ -669,262 +669,167 @@ class GoogleSitemapGeneratorUI {
669
  </div>
670
  <?php endif; ?>
671
 
672
- <?php if($this->mode == 27): ?>
673
- <div class="has-sidebar sm-padded" >
674
 
675
- <div id="post-body-content" class="<?php if(!$snl): ?>has-sidebar-content<?php endif; ?>">
 
 
676
 
677
- <div class="meta-box-sortabless">
678
- <?php else: ?>
679
- <div id="advancedstuff" class="dbx-group" >
680
- <?php endif; ?>
681
 
682
  <!-- Rebuild Area -->
683
  <?php
684
- $status = &GoogleSitemapGeneratorStatus::Load();
685
- $head = __('The sitemap wasn\'t generated yet.','sitemap');
686
- if($status != null) {
687
- $st=$status->GetStartTime();
688
- $head=str_replace("%date%",date(get_option('date_format'),$st) . " " . date(get_option('time_format'),$st),__("Result of the last build process, started on %date%.",'sitemap'));
 
 
689
  }
690
 
691
  $this->HtmlPrintBoxHeader('sm_rebuild',$head); ?>
692
- <ul>
693
- <?php
694
 
 
 
 
695
 
696
- if($status == null) {
697
- echo "<li>" . str_replace("%s",wp_nonce_url($this->sg->GetBackLink() . "&sm_rebuild=true&noheader=true",'sitemap'),__('The sitemap wasn\'t built yet. <a href="%s">Click here</a> to build it the first time.','sitemap')) . "</li>";
698
- } else {
699
- if($status->_endTime !== 0) {
700
- if($status->_usedXml) {
701
- if($status->_xmlSuccess) {
702
- $ft = is_readable($status->_xmlPath)?filemtime($status->_xmlPath):false;
703
- if($ft!==false) echo "<li>" . str_replace("%url%",$status->_xmlUrl,str_replace("%date%",date(get_option('date_format'),$ft) . " " . date(get_option('time_format'),$ft),__("Your <a href=\"%url%\">sitemap</a> was last built on <b>%date%</b>.",'sitemap'))) . "</li>";
704
- else echo "<li class=\"sm_error\">" . __("The last build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?",'sitemap') . "</li>";
705
- } else {
706
- echo "<li class=\"sm_error\">" . str_replace("%url%",$this->sg->GetRedirectLink('sitemap-help-files'),__("There was a problem writing your sitemap file. Make sure the file exists and is writable. <a href=\"%url%\">Learn more</a>",'sitemap')) . "</li>";
707
- }
708
- }
709
 
710
- if($status->_usedZip) {
711
- if($status->_zipSuccess) {
712
- $ft = is_readable($status->_zipPath)?filemtime($status->_zipPath):false;
713
- if($ft !== false) echo "<li>" . str_replace("%url%",$status->_zipUrl,str_replace("%date%",date(get_option('date_format'),$ft) . " " . date(get_option('time_format'),$ft),__("Your sitemap (<a href=\"%url%\">zipped</a>) was last built on <b>%date%</b>.",'sitemap'))) . "</li>";
714
- else echo "<li class=\"sm_error\">" . __("The last zipped build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?",'sitemap') . "</li>";
715
- } else {
716
- echo "<li class=\"sm_error\">" . str_replace("%url%",$this->sg->GetRedirectLink('sitemap-help-files'),__("There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. <a href=\"%url%\">Learn more</a>",'sitemap')) . "</li>";
717
- }
718
- }
719
 
720
- if($status->_usedGoogle) {
721
- if($status->_gooogleSuccess) {
722
- echo "<li>" .__("Google was <b>successfully notified</b> about changes.",'sitemap'). "</li>";
723
- $gt = $status->GetGoogleTime();
724
- if($gt>4) {
725
- echo "<li class=\sm_optimize\">" . str_replace("%time%",$gt,__("It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time.",'sitemap')) . "</li>";
726
- }
727
- } else {
728
- echo "<li class=\"sm_error\">" . str_replace("%s",wp_nonce_url($this->sg->GetBackLink() . "&sm_ping_service=google&noheader=true",'sitemap'),__('There was a problem while notifying Google. <a href="%s">View result</a>','sitemap')) . "</li>";
729
- }
730
- }
731
 
732
- if($status->_usedMsn) {
733
- if($status->_msnSuccess) {
734
- echo "<li>" .__("Bing was <b>successfully notified</b> about changes.",'sitemap'). "</li>";
735
- $at = $status->GetMsnTime();
736
- if($at>4) {
737
- echo "<li class=\sm_optimize\">" . str_replace("%time%",$at,__("It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time.",'sitemap')) . "</li>";
738
- }
739
- } else {
740
- echo "<li class=\"sm_error\">" . str_replace("%s",wp_nonce_url($this->sg->GetBackLink() . "&sm_ping_service=msn&noheader=true",'sitemap'),__('There was a problem while notifying Bing. <a href="%s">View result</a>','sitemap')) . "</li>";
741
- }
742
- }
743
 
744
- $et = $status->GetTime();
745
- $mem = $status->GetMemoryUsage();
 
746
 
747
- if($mem > 0) {
748
- echo "<li>" .str_replace(array("%time%","%memory%"),array($et,$mem),__("The building process took about <b>%time% seconds</b> to complete and used %memory% MB of memory.",'sitemap')). "</li>";
749
- } else {
750
- echo "<li>" .str_replace("%time%",$et,__("The building process took about <b>%time% seconds</b> to complete.",'sitemap')). "</li>";
751
- }
752
 
753
- if(!$status->_hasChanged) {
754
- echo "<li>" . __("The content of your sitemap <strong>didn't change</strong> since the last time so the files were not written and no search engine was pinged.",'sitemap'). "</li>";
755
- }
756
 
757
- } else {
758
- if($this->sg->GetOption("b_auto_delay")) {
759
- $st = ($status->GetStartTime() - time()) * -1;
760
- //If the building process runs in background and was started within the last 45 seconds, the sitemap might not be completed yet...
761
- if($st < 45) {
762
- echo '<li class="">'. __("The building process might still be active! Reload the page in a few seconds and check if something has changed.",'sitemap') . '</li>';
 
 
763
  }
764
  }
765
- echo '<li class="sm_error">'. str_replace("%url%",$this->sg->GetRedirectLink('sitemap-help-memtime'),__("The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. <a href=\"%url%\">Learn more</a>",'sitemap')) . '</li>';
766
- if($status->_memoryUsage > 0) {
767
- echo '<li class="sm_error">'. str_replace(array("%memused%","%memlimit%"),array($status->GetMemoryUsage(),ini_get('memory_limit')),__("The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%.",'sitemap')) . '</li>';
768
- }
769
-
770
- if($status->_lastTime > 0) {
771
- echo '<li class="sm_error">'. str_replace(array("%timeused%","%timelimit%"),array($status->GetLastTime(),ini_get('max_execution_time')),__("The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds.",'sitemap')) . '</li>';
772
- }
773
-
774
- if($status->GetLastPost() > 0) {
775
- echo '<li class="sm_optimize">'. str_replace("%lastpost%",$status->GetLastPost(),__("The script stopped around post number %lastpost% (+/- 100)",'sitemap')) . '</li>';
776
- }
777
  }
778
- echo "<li>" . str_replace("%s",wp_nonce_url($this->sg->GetBackLink() . "&sm_rebuild=true&noheader=true",'sitemap'),__('If you changed something on your server or blog, you should <a href="%s">rebuild the sitemap</a> manually.','sitemap')) . "</li>";
779
- }
780
- echo "<li>" . str_replace("%d",wp_nonce_url($this->sg->GetBackLink() . "&sm_rebuild=true&sm_do_debug=true",'sitemap'),__('If you encounter any problems with the build process you can use the <a href="%d">debug function</a> to get more information.','sitemap')) . "</li>";
781
-
782
- if(version_compare($wp_version,"2.9",">=") && version_compare(PHP_VERSION,"5.1",">=")) {
783
- echo "<li class='sm_hint'>" . str_replace("%s",$this->sg->GetRedirectLink('sitemap-info-beta'), __('There is a new beta version of this plugin available which supports the new multi-site feature of WordPress as well as many other new functions! <a href="%s">More information and download</a>','sitemap')) . "</li>";
784
- }
785
- ?>
786
 
787
- </ul>
 
788
  <?php $this->HtmlPrintBoxFooter(); ?>
789
 
790
  <!-- Basic Options -->
791
  <?php $this->HtmlPrintBoxHeader('sm_basic_options',__('Basic Options', 'sitemap')); ?>
792
 
793
- <b><?php _e('Sitemap files:','sitemap'); ?></b> <a href="<?php echo $this->sg->GetRedirectLink('sitemap-help-options-files'); ?>"><?php _e('Learn more','sitemap'); ?></a>
794
- <ul>
795
- <li>
796
- <label for="sm_b_xml">
797
- <input type="checkbox" id="sm_b_xml" name="sm_b_xml" <?php echo ($this->sg->GetOption("b_xml")==true?"checked=\"checked\"":"") ?> />
798
- <?php _e('Write a normal XML file (your filename)', 'sitemap') ?>
799
- </label>
800
- </li>
801
- <li>
802
- <label for="sm_b_gzip">
803
- <input type="checkbox" id="sm_b_gzip" name="sm_b_gzip" <?php if(function_exists("gzencode")) { echo ($this->sg->GetOption("b_gzip")==true?"checked=\"checked\"":""); } else echo "disabled=\"disabled\""; ?> />
804
- <?php _e('Write a gzipped file (your filename + .gz)', 'sitemap') ?>
805
- </label>
806
- </li>
807
- </ul>
808
- <b><?php _e('Building mode:','sitemap'); ?></b> <a href="<?php echo $this->sg->GetRedirectLink('sitemap-help-options-process'); ?>"><?php _e('Learn more','sitemap'); ?></a>
809
- <ul>
810
- <li>
811
- <label for="sm_b_auto_enabled">
812
- <input type="checkbox" id="sm_b_auto_enabled" name="sm_b_auto_enabled" <?php echo ($this->sg->GetOption("b_auto_enabled")==true?"checked=\"checked\"":""); ?> />
813
- <?php _e('Rebuild sitemap if you change the content of your blog', 'sitemap') ?>
814
- </label>
815
- </li>
816
- <li>
817
- <label for="sm_b_manual_enabled">
818
- <input type="hidden" name="sm_b_manual_key" value="<?php echo $this->sg->GetOption("b_manual_key"); ?>" />
819
- <input type="checkbox" id="sm_b_manual_enabled" name="sm_b_manual_enabled" <?php echo ($this->sg->GetOption("b_manual_enabled")==true?"checked=\"checked\"":"") ?> />
820
- <?php _e('Enable manual sitemap building via GET Request', 'sitemap') ?>
821
- </label>
822
- <a href="javascript:void(document.getElementById('sm_manual_help').style.display='');">[?]</a>
823
- <span id="sm_manual_help" style="display:none;"><br />
824
- <?php echo str_replace("%1",trailingslashit(get_bloginfo('url')) . "?sm_command=build&amp;sm_key=" . $this->sg->GetOption("b_manual_key"),__('This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: <a href="%1">%1</a> Please check the result box above to see if sitemap was successfully built.', 'sitemap')); ?>
825
- </span>
826
- </li>
827
- </ul>
828
- <b><?php _e('Update notification:','sitemap'); ?></b> <a href="<?php echo $this->sg->GetRedirectLink('sitemap-help-options-ping'); ?>"><?php _e('Learn more','sitemap'); ?></a>
829
- <ul>
830
- <li>
831
- <input type="checkbox" id="sm_b_ping" name="sm_b_ping" <?php echo ($this->sg->GetOption("b_ping")==true?"checked=\"checked\"":"") ?> />
832
- <label for="sm_b_ping"><?php _e('Notify Google about updates of your Blog', 'sitemap') ?></label><br />
833
- <small><?php echo str_replace("%s",$this->sg->GetRedirectLink('sitemap-gwt'),__('No registration required, but you can join the <a href="%s">Google Webmaster Tools</a> to check crawling statistics.','sitemap')); ?></small>
834
- </li>
835
- <li>
836
- <input type="checkbox" id="sm_b_pingmsn" name="sm_b_pingmsn" <?php echo ($this->sg->GetOption("b_pingmsn")==true?"checked=\"checked\"":"") ?> />
837
- <label for="sm_b_pingmsn"><?php _e('Notify Bing (formerly MSN Live Search) about updates of your Blog', 'sitemap') ?></label><br />
838
- <small><?php echo str_replace("%s",$this->sg->GetRedirectLink('sitemap-lwt'),__('No registration required, but you can join the <a href="%s">Bing Webmaster Tools</a> to check crawling statistics.','sitemap')); ?></small>
839
- </li>
840
- <li>
841
- <label for="sm_b_robots">
842
- <input type="checkbox" id="sm_b_robots" name="sm_b_robots" <?php echo ($this->sg->GetOption("b_robots")==true?"checked=\"checked\"":"") ?> />
843
- <?php _e("Add sitemap URL to the virtual robots.txt file.",'sitemap'); ?>
844
- </label>
845
-
846
- <br />
847
- <small><?php _e('The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!','sitemap'); ?></small>
848
- </li>
849
- </ul>
850
  <b><?php _e('Advanced options:','sitemap'); ?></b> <a href="<?php echo $this->sg->GetRedirectLink('sitemap-help-options-adv'); ?>"><?php _e('Learn more','sitemap'); ?></a>
851
  <ul>
852
  <li>
853
- <label for="sm_b_max_posts"><?php _e('Limit the number of posts in the sitemap:', 'sitemap') ?> <input type="text" name="sm_b_max_posts" id="sm_b_max_posts" style="width:40px;" value="<?php echo ($this->sg->GetOption("b_max_posts")<=0?"":$this->sg->GetOption("b_max_posts")); ?>" /></label> (<?php echo __('Newer posts will be included first', 'sitemap'); ?>)
854
  </li>
855
  <li>
856
- <label for="sm_b_memory"><?php _e('Try to increase the memory limit to:', 'sitemap') ?> <input type="text" name="sm_b_memory" id="sm_b_memory" style="width:40px;" value="<?php echo $this->sg->GetOption("b_memory"); ?>" /></label> (<?php echo htmlspecialchars(__('e.g. "4M", "16M"', 'sitemap')); ?>)
857
- </li>
858
- <li>
859
- <label for="sm_b_time"><?php _e('Try to increase the execution time limit to:', 'sitemap') ?> <input type="text" name="sm_b_time" id="sm_b_time" style="width:40px;" value="<?php echo ($this->sg->GetOption("b_time")===-1?'':$this->sg->GetOption("b_time")); ?>" /></label> (<?php echo htmlspecialchars(__('in seconds, e.g. "60" or "0" for unlimited', 'sitemap')) ?>)
860
  </li>
861
  <li>
862
  <?php $useDefStyle = ($this->sg->GetDefaultStyle() && $this->sg->GetOption('b_style_default')===true); ?>
863
- <label for="sm_b_style"><?php _e('Include a XSLT stylesheet:', 'sitemap') ?> <input <?php echo ($useDefStyle?'disabled="disabled" ':'') ?> type="text" name="sm_b_style" id="sm_b_style" value="<?php echo $this->sg->GetOption("b_style"); ?>" /></label>
864
- (<?php _e('Full or relative URL to your .xsl file', 'sitemap') ?>) <?php if($this->sg->GetDefaultStyle()): ?><label for="sm_b_style_default"><input <?php echo ($useDefStyle?'checked="checked" ':'') ?> type="checkbox" id="sm_b_style_default" name="sm_b_style_default" onclick="document.getElementById('sm_b_style').disabled = this.checked;" /> <?php _e('Use default', 'sitemap') ?> <?php endif; ?>
865
  </li>
866
  <li>
867
- <label for="sm_b_safemode">
868
- <?php $forceSafeMode = (floatval($wp_version)<2.2); ?>
869
- <input type="checkbox" <?php if($forceSafeMode):?>disabled="disabled"<?php endif; ?> id="sm_b_safemode" name="sm_b_safemode" <?php echo ($this->sg->GetOption("b_safemode")==true||$forceSafeMode?"checked=\"checked\"":""); ?> />
870
- <?php _e('Enable MySQL standard mode. Use this only if you\'re getting MySQL errors. (Needs much more memory!)', 'sitemap') ?>
871
- <?php if($forceSafeMode):?> <br /><small><?php _e("Upgrade WordPress at least to 2.2 to enable the faster MySQL access",'sitemap'); ?></small><?php endif; ?>
872
  </label>
873
  </li>
874
  <li>
875
- <label for="sm_b_auto_delay">
876
- <?php $forceDirect = (floatval($wp_version) < 2.1);?>
877
- <input type="checkbox" <?php if($forceDirect):?>disabled="disabled"<?php endif; ?> id="sm_b_auto_delay" name="sm_b_auto_delay" <?php echo ($this->sg->GetOption("b_auto_delay")==true&&!$forceDirect?"checked=\"checked\"":""); ?> />
878
- <?php _e('Build the sitemap in a background process (You don\'t have to wait when you save a post)', 'sitemap') ?>
879
- <?php if($forceDirect):?> <br /><small><?php _e("Upgrade WordPress at least to 2.1 to enable background building",'sitemap'); ?></small><?php endif; ?>
880
- </label>
881
  </li>
882
  </ul>
 
883
 
884
  <?php $this->HtmlPrintBoxFooter(); ?>
885
 
886
- <?php $this->HtmlPrintBoxHeader('sm_pages',__('Additional pages', 'sitemap')); ?>
 
887
 
888
  <?php
889
- _e('Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.<br />For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com','sitemap');
890
- echo "<ul><li>";
891
- echo "<strong>" . __('Note','sitemap'). "</strong>: ";
892
- _e("If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the &quot;Location of your sitemap file&quot; section on this page)!",'sitemap');
893
- echo "</li><li>";
894
- echo "<strong>" . __('URL to the page','sitemap'). "</strong>: ";
895
- _e("Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home ",'sitemap');
896
- echo "</li><li>";
897
- echo "<strong>" . __('Priority','sitemap') . "</strong>: ";
898
- _e("Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint.",'sitemap');
899
- echo "</li><li>";
900
- echo "<strong>" . __('Last Changed','sitemap'). "</strong>: ";
901
- _e("Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional).",'sitemap');
902
-
903
- echo "</li></ul>";
904
-
905
-
906
  ?>
907
  <script type="text/javascript">
908
  //<![CDATA[
909
- <?php
910
- $freqVals = "'" . implode("','",array_keys($this->sg->_freqNames)). "'";
911
- $freqNames = "'" . implode("','",array_values($this->sg->_freqNames)). "'";
912
- ?>
913
-
914
- var changeFreqVals = new Array( <?php echo $freqVals; ?> );
915
- var changeFreqNames= new Array( <?php echo $freqNames; ?> );
916
 
917
- var priorities= new Array(0 <?php for($i=0.1; $i<1; $i+=0.1) { echo "," . number_format($i,1,".",""); } ?>);
 
 
918
 
919
  var pages = [ <?php
920
- if(count($this->sg->_pages)>0) {
921
- for($i=0; $i<count($this->sg->_pages); $i++) {
922
- $v=&$this->sg->_pages[$i];
923
- if($i>0) echo ",";
924
- echo '{url:"' . $v->getUrl() . '", priority:' . number_format($v->getPriority(),1,".","") . ', changeFreq:"' . $v->getChangeFreq() . '", lastChanged:"' . ($v!=null && $v->getLastMod()>0?date("Y-m-d",$v->getLastMod()):"") . '"}';
 
 
925
  }
 
926
  }
927
- ?> ];
928
  //]]>
929
  </script>
930
  <script type="text/javascript" src="<?php echo $this->sg->GetPluginUrl(); ?>img/sitemap.js"></script>
@@ -937,15 +842,16 @@ class GoogleSitemapGeneratorUI {
937
  <th scope="col"><?php _e('#','sitemap'); ?></th>
938
  </tr>
939
  <?php
940
- if(count($this->sg->_pages)<=0) { ?>
941
- <tr>
942
- <td colspan="5" align="center"><?php _e('No pages defined.','sitemap') ?></td>
943
- </tr><?php
944
- }
945
  ?>
946
  </table>
947
  <a href="javascript:void(0);" onclick="sm_addPage();"><?php _e("Add new page",'sitemap'); ?></a>
948
- <?php $this->HtmlPrintBoxFooter(); ?>
 
949
 
950
 
951
  <!-- AutoPrio Options -->
@@ -953,57 +859,16 @@ class GoogleSitemapGeneratorUI {
953
 
954
  <p><?php _e('Please select how the priority of each post should be calculated:', 'sitemap') ?></p>
955
  <ul>
956
- <li><p><input type="radio" name="sm_b_prio_provider" id="sm_b_prio_provider__0" value="" <?php echo $this->sg->HtmlGetChecked($this->sg->GetOption("b_prio_provider"),"") ?> /> <label for="sm_b_prio_provider__0"><?php _e('Do not use automatic priority calculation', 'sitemap') ?></label><br /><?php _e('All posts will have the same priority which is defined in &quot;Priorities&quot;', 'sitemap') ?></p></li>
957
  <?php
958
- for($i=0; $i<count($this->sg->_prioProviders); $i++) {
959
- echo "<li><p><input type=\"radio\" id=\"sm_b_prio_provider_$i\" name=\"sm_b_prio_provider\" value=\"" . $this->sg->_prioProviders[$i] . "\" " . $this->sg->HtmlGetChecked($this->sg->GetOption("b_prio_provider"),$this->sg->_prioProviders[$i]) . " /> <label for=\"sm_b_prio_provider_$i\">" . call_user_func(array(&$this->sg->_prioProviders[$i], 'getName')) . "</label><br />" . call_user_func(array(&$this->sg->_prioProviders[$i], 'getDescription')) . "</p></li>";
 
960
  }
961
  ?>
962
  </ul>
963
  <?php $this->HtmlPrintBoxFooter(); ?>
964
 
965
-
966
- <!-- Location Options -->
967
- <?php $this->HtmlPrintBoxHeader('sm_location',__('Location of your sitemap file', 'sitemap')); ?>
968
-
969
- <div>
970
- <b><label for="sm_location_useauto"><input type="radio" id="sm_location_useauto" name="sm_b_location_mode" value="auto" <?php echo ($this->sg->GetOption("b_location_mode")=="auto"?"checked=\"checked\"":"") ?> /> <?php _e('Automatic detection','sitemap') ?></label></b>
971
- <ul>
972
- <li>
973
- <label for="sm_b_filename">
974
- <?php _e('Filename of the sitemap file', 'sitemap') ?>
975
- <input type="text" id="sm_b_filename" name="sm_b_filename" value="<?php echo $this->sg->GetOption("b_filename"); ?>" />
976
- </label><br />
977
- <?php _e('Detected Path', 'sitemap') ?>: <?php echo $this->sg->getXmlPath(true); ?><br /><?php _e('Detected URL', 'sitemap') ?>: <a href="<?php echo $this->sg->getXmlUrl(true); ?>"><?php echo $this->sg->getXmlUrl(true); ?></a>
978
- </li>
979
- </ul>
980
- </div>
981
- <div>
982
- <b><label for="sm_location_usemanual"><input type="radio" id="sm_location_usemanual" name="sm_b_location_mode" value="manual" <?php echo ($this->sg->GetOption("b_location_mode")=="manual"?"checked=\"checked\"":"") ?> /> <?php _e('Custom location','sitemap') ?></label></b>
983
- <ul>
984
- <li>
985
- <label for="sm_b_filename_manual">
986
- <?php _e('Absolute or relative path to the sitemap file, including name.','sitemap');
987
- echo "<br />";
988
- _e('Example','sitemap');
989
- echo ": /var/www/htdocs/wordpress/sitemap.xml"; ?><br />
990
- <input style="width:70%" type="text" id="sm_b_filename_manual" name="sm_b_filename_manual" value="<?php echo (!$this->sg->GetOption("b_filename_manual")?$this->sg->getXmlPath():$this->sg->GetOption("b_filename_manual")); ?>" />
991
- </label>
992
- </li>
993
- <li>
994
- <label for="sm_b_fileurl_manual">
995
- <?php _e('Complete URL to the sitemap file, including name.','sitemap');
996
- echo "<br />";
997
- _e('Example','sitemap');
998
- echo ": http://www.yourdomain.com/sitemap.xml"; ?><br />
999
- <input style="width:70%" type="text" id="sm_b_fileurl_manual" name="sm_b_fileurl_manual" value="<?php echo (!$this->sg->GetOption("b_fileurl_manual")?$this->sg->getXmlUrl():$this->sg->GetOption("b_fileurl_manual")); ?>" />
1000
- </label>
1001
- </li>
1002
- </ul>
1003
- </div>
1004
-
1005
- <?php $this->HtmlPrintBoxFooter(); ?>
1006
-
1007
  <!-- Includes -->
1008
  <?php $this->HtmlPrintBoxHeader('sm_includes',__('Sitemap Content', 'sitemap')); ?>
1009
  <b><?php _e('WordPress standard content', 'sitemap') ?>:</b>
@@ -1020,12 +885,6 @@ class GoogleSitemapGeneratorUI {
1020
  <?php _e('Include posts', 'sitemap') ?>
1021
  </label>
1022
  </li>
1023
- <li>
1024
- <label for="sm_in_posts_sub">
1025
- <input type="checkbox" id="sm_in_posts_sub" name="sm_in_posts_sub" <?php echo ($this->sg->GetOption("in_posts_sub")==true?"checked=\"checked\"":"") ?> />
1026
- <?php _e('Include following pages of multi-page posts (Increases build time and memory usage!)', 'sitemap') ?>
1027
- </label>
1028
- </li>
1029
  <li>
1030
  <label for="sm_in_pages">
1031
  <input type="checkbox" id="sm_in_pages" name="sm_in_pages" <?php echo ($this->sg->GetOption("in_pages")==true?"checked=\"checked\"":"") ?> />
@@ -1137,21 +996,18 @@ class GoogleSitemapGeneratorUI {
1137
  <?php $this->HtmlPrintBoxHeader('sm_excludes',__('Excluded items', 'sitemap')); ?>
1138
 
1139
  <b><?php _e('Excluded categories', 'sitemap') ?>:</b>
1140
- <?php if(version_compare($wp_version,"2.5.1",">=")): ?>
1141
- <cite style="display:block; margin-left:40px;"><?php _e("Note","sitemap") ?>: <?php _e("Using this feature will increase build time and memory usage!","sitemap"); ?></cite>
1142
- <div style="border-color:#CEE1EF; border-style:solid; border-width:2px; height:10em; margin:5px 0px 5px 40px; overflow:auto; padding:0.5em 0.5em;">
1143
  <ul>
1144
  <?php wp_category_checklist(0,0,$this->sg->GetOption("b_exclude_cats"),false); ?>
1145
  </ul>
1146
- </div>
1147
- <?php else: ?>
1148
- <ul><li><?php echo sprintf(__("This feature requires at least WordPress 2.5.1, you are using %s","sitemap"),$wp_version); ?></li></ul>
1149
- <?php endif; ?>
1150
 
1151
  <b><?php _e("Exclude posts","sitemap"); ?>:</b>
1152
  <div style="margin:5px 0 13px 40px;">
1153
  <label for="sm_b_exclude"><?php _e('Exclude the following posts or pages:', 'sitemap') ?> <small><?php _e('List of IDs, separated by comma', 'sitemap') ?></small><br />
1154
- <input name="sm_b_exclude" id="sm_b_exclude" type="text" style="width:400px;" value="<?php echo implode(",",$this->sg->GetOption("b_exclude")); ?>" /></label><br />
1155
  <cite><?php _e("Note","sitemap") ?>: <?php _e("Child posts won't be excluded automatically!","sitemap"); ?></cite>
1156
  </div>
1157
 
@@ -1167,51 +1023,51 @@ class GoogleSitemapGeneratorUI {
1167
  <ul>
1168
  <li>
1169
  <label for="sm_cf_home">
1170
- <select id="sm_cf_home" name="sm_cf_home"><?php $this->sg->HtmlGetFreqNames($this->sg->GetOption("cf_home")); ?></select>
1171
  <?php _e('Homepage', 'sitemap') ?>
1172
  </label>
1173
  </li>
1174
  <li>
1175
  <label for="sm_cf_posts">
1176
- <select id="sm_cf_posts" name="sm_cf_posts"><?php $this->sg->HtmlGetFreqNames($this->sg->GetOption("cf_posts")); ?></select>
1177
  <?php _e('Posts', 'sitemap') ?>
1178
  </label>
1179
  </li>
1180
  <li>
1181
  <label for="sm_cf_pages">
1182
- <select id="sm_cf_pages" name="sm_cf_pages"><?php $this->sg->HtmlGetFreqNames($this->sg->GetOption("cf_pages")); ?></select>
1183
  <?php _e('Static pages', 'sitemap') ?>
1184
  </label>
1185
  </li>
1186
  <li>
1187
  <label for="sm_cf_cats">
1188
- <select id="sm_cf_cats" name="sm_cf_cats"><?php $this->sg->HtmlGetFreqNames($this->sg->GetOption("cf_cats")); ?></select>
1189
  <?php _e('Categories', 'sitemap') ?>
1190
  </label>
1191
  </li>
1192
  <li>
1193
  <label for="sm_cf_arch_curr">
1194
- <select id="sm_cf_arch_curr" name="sm_cf_arch_curr"><?php $this->sg->HtmlGetFreqNames($this->sg->GetOption("cf_arch_curr")); ?></select>
1195
  <?php _e('The current archive of this month (Should be the same like your homepage)', 'sitemap') ?>
1196
  </label>
1197
  </li>
1198
  <li>
1199
  <label for="sm_cf_arch_old">
1200
- <select id="sm_cf_arch_old" name="sm_cf_arch_old"><?php $this->sg->HtmlGetFreqNames($this->sg->GetOption("cf_arch_old")); ?></select>
1201
  <?php _e('Older archives (Changes only if you edit an old post)', 'sitemap') ?>
1202
  </label>
1203
  </li>
1204
  <?php if($this->sg->IsTaxonomySupported()): ?>
1205
  <li>
1206
  <label for="sm_cf_tags">
1207
- <select id="sm_cf_tags" name="sm_cf_tags"><?php $this->sg->HtmlGetFreqNames($this->sg->GetOption("cf_tags")); ?></select>
1208
  <?php _e('Tag pages', 'sitemap') ?>
1209
  </label>
1210
  </li>
1211
  <?php endif; ?>
1212
  <li>
1213
  <label for="sm_cf_auth">
1214
- <select id="sm_cf_auth" name="sm_cf_auth"><?php $this->sg->HtmlGetFreqNames($this->sg->GetOption("cf_auth")); ?></select>
1215
  <?php _e('Author pages', 'sitemap') ?>
1216
  </label>
1217
  </li>
@@ -1224,51 +1080,51 @@ class GoogleSitemapGeneratorUI {
1224
  <ul>
1225
  <li>
1226
  <label for="sm_pr_home">
1227
- <select id="sm_pr_home" name="sm_pr_home"><?php $this->sg->HtmlGetPriorityValues($this->sg->GetOption("pr_home")); ?></select>
1228
  <?php _e('Homepage', 'sitemap') ?>
1229
  </label>
1230
  </li>
1231
  <li>
1232
  <label for="sm_pr_posts">
1233
- <select id="sm_pr_posts" name="sm_pr_posts"><?php $this->sg->HtmlGetPriorityValues($this->sg->GetOption("pr_posts")); ?></select>
1234
  <?php _e('Posts (If auto calculation is disabled)', 'sitemap') ?>
1235
  </label>
1236
  </li>
1237
  <li>
1238
  <label for="sm_pr_posts_min">
1239
- <select id="sm_pr_posts_min" name="sm_pr_posts_min"><?php $this->sg->HtmlGetPriorityValues($this->sg->GetOption("pr_posts_min")); ?></select>
1240
  <?php _e('Minimum post priority (Even if auto calculation is enabled)', 'sitemap') ?>
1241
  </label>
1242
  </li>
1243
  <li>
1244
  <label for="sm_pr_pages">
1245
- <select id="sm_pr_pages" name="sm_pr_pages"><?php $this->sg->HtmlGetPriorityValues($this->sg->GetOption("pr_pages")); ?></select>
1246
  <?php _e('Static pages', 'sitemap'); ?>
1247
  </label>
1248
  </li>
1249
  <li>
1250
  <label for="sm_pr_cats">
1251
- <select id="sm_pr_cats" name="sm_pr_cats"><?php $this->sg->HtmlGetPriorityValues($this->sg->GetOption("pr_cats")); ?></select>
1252
  <?php _e('Categories', 'sitemap') ?>
1253
  </label>
1254
  </li>
1255
  <li>
1256
  <label for="sm_pr_arch">
1257
- <select id="sm_pr_arch" name="sm_pr_arch"><?php $this->sg->HtmlGetPriorityValues($this->sg->GetOption("pr_arch")); ?></select>
1258
  <?php _e('Archives', 'sitemap') ?>
1259
  </label>
1260
  </li>
1261
  <?php if($this->sg->IsTaxonomySupported()): ?>
1262
  <li>
1263
  <label for="sm_pr_tags">
1264
- <select id="sm_pr_tags" name="sm_pr_tags"><?php $this->sg->HtmlGetPriorityValues($this->sg->GetOption("pr_tags")); ?></select>
1265
  <?php _e('Tag pages', 'sitemap') ?>
1266
  </label>
1267
  </li>
1268
  <?php endif; ?>
1269
  <li>
1270
  <label for="sm_pr_auth">
1271
- <select id="sm_pr_auth" name="sm_pr_auth"><?php $this->sg->HtmlGetPriorityValues($this->sg->GetOption("pr_auth")); ?></select>
1272
  <?php _e('Author pages', 'sitemap') ?>
1273
  </label>
1274
  </li>
@@ -1280,15 +1136,14 @@ class GoogleSitemapGeneratorUI {
1280
  <div>
1281
  <p class="submit">
1282
  <?php wp_nonce_field('sitemap') ?>
1283
- <input type="submit" name="sm_update" value="<?php _e('Update options', 'sitemap'); ?>" />
1284
  <input type="submit" onclick='return confirm("Do you really want to reset your configuration?");' class="sm_warning" name="sm_reset_config" value="<?php _e('Reset options', 'sitemap'); ?>" />
1285
  </p>
1286
  </div>
1287
 
1288
- <?php if($this->mode == 27): ?>
1289
  </div>
1290
  </div>
1291
- <?php endif; ?>
1292
  </div>
1293
  <script type="text/javascript">if(typeof(sm_loadPages)=='function') addLoadEvent(sm_loadPages); </script>
1294
  </form>
@@ -1313,7 +1168,7 @@ class GoogleSitemapGeneratorUI {
1313
  <input type="hidden" name="business" value="<?php echo "donate" /* N O S P A M */ . "@" . "arnebra" . "chhold.de"; ?>" />
1314
  <input type="hidden" name="item_name" value="Sitemap Generator for WordPress. Please tell me if if you don't want to be listed on the donator list." />
1315
  <input type="hidden" name="no_shipping" value="1" />
1316
- <input type="hidden" name="return" value="<?php echo $this->sg->GetBackLink(); ?>&amp;sm_donated=true" />
1317
  <input type="hidden" name="item_number" value="0001" />
1318
  <input type="hidden" name="currency_code" value="<?php echo $myLc["cc"]; ?>" />
1319
  <input type="hidden" name="bn" value="PP-BuyNowBF" />
1
  <?php
2
  /*
3
 
4
+ $Id: sitemap-ui.php 884328 2014-03-29 19:07:26Z arnee $
5
 
6
  */
7
 
12
  *
13
  * @var GoogleSitemapGenerator
14
  */
15
+ private $sg = null;
16
 
 
17
 
18
+ public function __construct(GoogleSitemapGenerator $sitemapBuilder) {
19
  global $wp_version;
20
+ $this->sg = $sitemapBuilder;
 
 
 
 
21
  }
22
 
23
+ private function HtmlPrintBoxHeader($id, $title) {
24
+ ?>
 
25
  <div id="<?php echo $id; ?>" class="postbox">
26
  <h3 class="hndle"><span><?php echo $title ?></span></h3>
27
  <div class="inside">
28
+ <?php
 
 
 
 
 
 
 
 
 
 
 
29
  }
30
 
31
+ private function HtmlPrintBoxFooter() {
 
32
  ?>
33
  </div>
34
  </div>
35
+ <?php
36
+ }
37
+
38
+ /**
39
+ * Echos option fields for an select field containing the valid change frequencies
40
+ *
41
+ * @since 4.0
42
+ * @param $currentVal The value which should be selected
43
+ * @return all valid change frequencies as html option fields
44
+ */
45
+ public function HtmlGetFreqNames($currentVal) {
46
+
47
+ foreach($this->sg->GetFreqNames() AS $k=>$v) {
48
+ echo "<option value=\"" . esc_attr($k) . "\" " . self::HtmlGetSelected($k,$currentVal) .">" . esc_attr($v) . "</option>";
49
+ }
50
+ }
51
+
52
+ /**
53
+ * Echos option fields for an select field containing the valid priorities (0- 1.0)
54
+ *
55
+ * @since 4.0
56
+ * @param $currentVal string The value which should be selected
57
+ * @return 0.0 - 1.0 as html option fields
58
+ */
59
+ public static function HtmlGetPriorityValues($currentVal) {
60
+ $currentVal=(float) $currentVal;
61
+ for($i=0.0; $i<=1.0; $i+=0.1) {
62
+ $v = number_format($i,1,".","");
63
+ echo "<option value=\"" . esc_attr($v) . "\" " . self::HtmlGetSelected("$i","$currentVal") .">";
64
+ echo esc_attr(number_format_i18n($i,1));
65
+ echo "</option>";
66
  }
67
  }
68
 
69
+ /**
70
+ * Returns the checked attribute if the given values match
71
+ *
72
+ * @since 4.0
73
+ * @param $val string The current value
74
+ * @param $equals string The value to match
75
+ * @return The checked attribute if the given values match, an empty string if not
76
+ */
77
+ public static function HtmlGetChecked($val,$equals) {
78
+ if($val==$equals) return self::HtmlGetAttribute("checked");
79
+ else return "";
80
+ }
81
+
82
+ /**
83
+ * Returns the selected attribute if the given values match
84
+ *
85
+ * @since 4.0
86
+ * @param $val string The current value
87
+ * @param $equals string The value to match
88
+ * @return The selected attribute if the given values match, an empty string if not
89
+ */
90
+ public static function HtmlGetSelected($val,$equals) {
91
+ if($val==$equals) return self::HtmlGetAttribute("selected");
92
+ else return "";
93
+ }
94
+
95
+ /**
96
+ * Returns an formatted attribute. If the value is NULL, the name will be used.
97
+ *
98
+ * @since 4.0
99
+ * @param $attr string The attribute name
100
+ * @param $value string The attribute value
101
+ * @return The formatted attribute
102
+ */
103
+ public static function HtmlGetAttribute($attr,$value=NULL) {
104
+ if($value==NULL) $value=$attr;
105
+ return " " . $attr . "=\"" . esc_attr($value) . "\" ";
106
+ }
107
+
108
+ /**
109
+ * Returns an array with GoogleSitemapGeneratorPage objects which is generated from POST values
110
+ *
111
+ * @since 4.0
112
+ * @see GoogleSitemapGeneratorPage
113
+ * @return array An array with GoogleSitemapGeneratorPage objects
114
+ */
115
+ public function HtmlApplyPages() {
116
+ // Array with all page URLs
117
+ $pages_ur=(!isset($_POST["sm_pages_ur"]) || !is_array($_POST["sm_pages_ur"])?array():$_POST["sm_pages_ur"]);
118
+
119
+ //Array with all priorities
120
+ $pages_pr=(!isset($_POST["sm_pages_pr"]) || !is_array($_POST["sm_pages_pr"])?array():$_POST["sm_pages_pr"]);
121
+
122
+ //Array with all change frequencies
123
+ $pages_cf=(!isset($_POST["sm_pages_cf"]) || !is_array($_POST["sm_pages_cf"])?array():$_POST["sm_pages_cf"]);
124
+
125
+ //Array with all lastmods
126
+ $pages_lm=(!isset($_POST["sm_pages_lm"]) || !is_array($_POST["sm_pages_lm"])?array():$_POST["sm_pages_lm"]);
127
+
128
+ //Array where the new pages are stored
129
+ $pages=array();
130
+ //Loop through all defined pages and set their properties into an object
131
+ if(isset($_POST["sm_pages_mark"]) && is_array($_POST["sm_pages_mark"])) {
132
+ for($i=0; $i<count($_POST["sm_pages_mark"]); $i++) {
133
+ //Create new object
134
+ $p=new GoogleSitemapGeneratorPage();
135
+ if(substr($pages_ur[$i],0,4)=="www.") $pages_ur[$i]="http://" . $pages_ur[$i];
136
+ $p->SetUrl($pages_ur[$i]);
137
+ $p->SetProprity($pages_pr[$i]);
138
+ $p->SetChangeFreq($pages_cf[$i]);
139
+ //Try to parse last modified, if -1 (note ===) automatic will be used (0)
140
+ $lm=(!empty($pages_lm[$i])?strtotime($pages_lm[$i],time()):-1);
141
+ if($lm===-1) $p->setLastMod(0);
142
+ else $p->setLastMod($lm);
143
+ //Add it to the array
144
+ array_push($pages,$p);
145
+ }
146
+ }
147
+
148
+ return $pages;
149
+ }
150
+
151
  /**
152
  * Displays the option page
153
  *
155
  * @access public
156
  * @author Arne Brachhold
157
  */
158
+ public function HtmlShowOptionsPage() {
159
  global $wp_version;
160
 
161
+ //Hopefully this fixes the caching issues after upgrade. Redirect incl. the versions, but only if no POST data.
162
+ if(count($_POST) == 0 && count($_GET) == 1 && isset($_GET["page"])) {
163
+ $redirURL = $this->sg->GetBackLink() . '&sm_fromidx=true';
164
+
165
+ //Redirect so the sm_rebuild GET parameter no longer exists.
166
+ @header("location: " . $redirURL);
167
+ //If there was already any other output, the header redirect will fail
168
+ echo '<script type="text/javascript">location.replace("' . $redirURL . '");</script>';
169
+ echo '<noscript><a href="' . $redirURL . '">Click here to continue</a></noscript>';
170
+ exit;
171
+ }
172
+
173
  $snl = false; //SNL
174
 
175
  $this->sg->Initate();
176
 
177
  $message="";
178
 
179
+ $is_ms = $this->sg->IsMultiSite();
180
+
181
+
182
  if(!empty($_REQUEST["sm_rebuild"])) { //Pressed Button: Rebuild Sitemap
183
  check_admin_referer('sitemap');
184
 
 
 
185
 
186
  if(isset($_GET["sm_do_debug"]) && $_GET["sm_do_debug"]=="true") {
187
 
188
  //Check again, just for the case that something went wrong before
189
+ if(!current_user_can("administrator") || !is_super_admin()) {
190
  echo '<p>Please log in as admin</p>';
191
  return;
192
  }
200
  echo '<p style="font-weight:bold; color:red; padding:5px; border:1px red solid; text-align:center;">DO NOT POST THIS INFORMATION ON PUBLIC PAGES LIKE SUPPORT FORUMS AS IT MAY CONTAIN PASSWORDS OR SECRET SERVER INFORMATION!</p>';
201
  echo "<h3>WordPress and PHP Information</h3>";
202
  echo '<p>WordPress ' . $GLOBALS['wp_version'] . ' with ' . ' DB ' . $GLOBALS['wp_db_version'] . ' on PHP ' . phpversion() . '</p>';
203
+ echo '<p>Plugin version: ' . $this->sg->GetVersion() . ' (' . $this->sg->GetSvnVersion() . ')';
204
  echo '<h4>Environment</h4>';
205
  echo "<pre>";
206
  $sc = $_SERVER;
228
  echo "</pre>";
229
  echo '<h4>Sitemap Config</h4>';
230
  echo "<pre>";
231
+ print_r($this->sg->GetOptions());
232
  echo "</pre>";
233
+ echo '<h3>Sitemap Content and Errors, Warnings, Notices</h3>';
234
  echo '<div>';
235
+
236
+ $sitemaps = $this->sg->SimulateIndex();
237
+
238
+ foreach($sitemaps AS $sitemap) {
239
+
240
+ echo "<h4>Sitemap: <a href=\"" . $sitemap["data"]->GetUrl() . "\">" . $sitemap["type"] . "/" . ($sitemap["params"]?$sitemap["params"]:"(No parameters)") . "</a> by " . $sitemap["caller"]["class"] . "</h4>";
241
+
242
+ $res = $this->sg->SimulateSitemap($sitemap["type"], $sitemap["params"]);
243
+
244
+ echo "<ul style='padding-left:10px;'>";
245
+ foreach($res AS $s) echo "<li>" . $s["data"]->GetUrl() . "</li>";
246
+ echo "</ul>";
247
+ }
248
+
249
+ $status = GoogleSitemapGeneratorStatus::Load();
250
  echo '</div>';
251
  echo '<h3>MySQL Queries</h3>';
252
  if(defined('SAVEQUERIES') && SAVEQUERIES) {
274
  @ini_set("display_errors",$oldIni);
275
  return;
276
  } else {
277
+
278
  $redirURL = $this->sg->GetBackLink() . '&sm_fromrb=true';
279
 
280
  //Redirect so the sm_rebuild GET parameter no longer exists.
292
  $_POST['sm_b_style'] = '';
293
  }
294
 
295
+ foreach($this->sg->GetOptions() as $k=>$v) {
296
+
297
+ //Skip some options if the user is not super admin...
298
+ if(!is_super_admin() && in_array($k,array("sm_b_time","sm_b_memory","sm_b_style","sm_b_style_default"))) {
299
+ continue;
300
+ }
301
+
302
  //Check vor values and convert them into their types, based on the category they are in
303
  if(!isset($_POST[$k])) $_POST[$k]=""; // Empty string will get false on 2bool and 0 on 2float
304
 
305
  //Options of the category "Basic Settings" are boolean, except the filename and the autoprio provider
306
  if(substr($k,0,5)=="sm_b_") {
307
+ if($k=="sm_b_prio_provider" || $k == "sm_b_style" || $k == "sm_b_memory") {
 
 
 
 
 
308
  if($k=="sm_b_filename_manual" && strpos($_POST[$k],"\\")!==false){
309
  $_POST[$k]=stripslashes($_POST[$k]);
310
  }
311
+ $this->sg->SetOption($k,(string) $_POST[$k]);
312
+ } else if($k == "sm_b_time") {
 
 
 
 
 
 
313
  if($_POST[$k]=='') $_POST[$k] = -1;
314
+ $this->sg->SetOption($k,intval($_POST[$k]));
315
  } else if($k== "sm_i_install_date") {
316
+ if($this->sg->GetOption('i_install_date')<=0) $this->sg->SetOption($k,time());
317
  } else if($k=="sm_b_exclude") {
318
  $IDss = array();
319
  $IDs = explode(",",$_POST[$k]);
321
  $ID = intval(trim($IDs[$x]));
322
  if($ID>0) $IDss[] = $ID;
323
  }
324
+ $this->sg->SetOption($k,$IDss);
325
  } else if($k == "sm_b_exclude_cats") {
326
  $exCats = array();
327
  if(isset($_POST["post_category"])) {
328
  foreach((array) $_POST["post_category"] AS $vv) if(!empty($vv) && is_numeric($vv)) $exCats[] = intval($vv);
329
  }
330
+ $this->sg->SetOption($k,$exCats);
331
  } else {
332
+ $this->sg->SetOption($k,(bool) $_POST[$k]);
333
 
334
  }
335
  //Options of the category "Includes" are boolean
339
  $enabledTaxonomies = array();
340
 
341
  foreach(array_keys((array) $_POST[$k]) AS $taxName) {
342
+ if(empty($taxName) || !(function_exists('taxonomy_exists')?taxonomy_exists($taxName):is_taxonomy($taxName))) continue;
343
 
344
  $enabledTaxonomies[] = $taxName;
345
  }
346
 
347
+ $this->sg->SetOption($k,$enabledTaxonomies);
348
 
349
  } else if($k=='sm_in_customtypes') {
350
 
356
  $enabledPostTypes[] = $postTypeName;
357
  }
358
 
359
+ $this->sg->SetOption($k, $enabledPostTypes);
360
 
361
+ } else $this->sg->SetOption($k,(bool) $_POST[$k]);
362
  //Options of the category "Change frequencies" are string
363
  } else if(substr($k,0,6)=="sm_cf_") {
364
+ $this->sg->SetOption($k,(string) $_POST[$k]);
 
 
365
  //Options of the category "Priorities" are float
366
  } else if(substr($k,0,6)=="sm_pr_") {
367
+ $this->sg->SetOption($k,(float) $_POST[$k]);
368
  }
369
  }
370
 
 
 
 
 
 
 
 
 
 
 
371
  //Apply page changes from POST
372
+ if(is_super_admin()) $this->sg->SetPages($this->HtmlApplyPages());
373
 
374
  if($this->sg->SaveOptions()) $message.=__('Configuration updated', 'sitemap') . "<br />";
375
  else $message.=__('Error while saving options', 'sitemap') . "<br />";
376
 
377
+ if(is_super_admin()) {
378
+ if($this->sg->SavePages()) $message.=__("Pages saved",'sitemap') . "<br />";
379
+ else $message.=__('Error while saving pages', 'sitemap'). "<br />";
380
+ }
381
 
382
  } else if(!empty($_POST["sm_reset_config"])) { //Pressed Button: Reset Config
383
  check_admin_referer('sitemap');
385
  $this->sg->SaveOptions();
386
 
387
  $message.=__('The default configuration was restored.','sitemap');
388
+ } else if(!empty($_GET["sm_delete_old"])) { //Delete old sitemap files
389
+ check_admin_referer('sitemap');
390
+
391
+ //Check again, just for the case that something went wrong before
392
+ if(!current_user_can("administrator")) {
393
+ echo '<p>Please log in as admin</p>';
394
+ return;
395
+ }
396
+ if(!$this->sg->DeleteOldFiles()) {
397
+ $message = __("The old files could NOT be deleted. Please use an FTP program and delete them by yourself.","sitemap");
398
+ } else {
399
+ $message = __("The old files were successfully deleted.","sitemap");
400
+ }
401
  }
402
 
403
  //Print out the message to the user, if any
456
  }
457
  }
458
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
459
  ?>
460
 
461
  <style type="text/css">
519
  background-image:url(<?php echo $this->sg->GetPluginUrl(); ?>img/icon-google.gif);
520
  }
521
 
522
+ a.sm_resYahoo {
523
+ background-image:url(<?php echo $this->sg->GetPluginUrl(); ?>img/icon-yahoo.gif);
524
+ }
525
+
526
  a.sm_resBing {
527
  background-image:url(<?php echo $this->sg->GetPluginUrl(); ?>img/icon-bing.gif);
528
  }
531
  margin:5px;
532
  }
533
 
534
+ .sm-padded .inside {
535
+ margin: 12px !important;
536
+ }
 
 
537
 
538
+ .sm-padded .inside ul {
539
+ margin: 6px 0 12px 0;
540
+ }
 
 
 
541
 
542
+ .sm-padded .inside input {
543
+ padding: 1px;
544
+ margin: 0;
545
+ }
546
 
 
547
 
548
+ <?php if (version_compare($wp_version, "3.4", "<")): //Fix style for WP 3.4 (dirty way for now..) ?>
 
 
 
 
549
 
550
+ .inner-sidebar #side-sortables, .columns-2 .inner-sidebar #side-sortables {
551
+ min-height: 300px;
552
+ width: 280px;
553
+ padding: 0;
554
+ }
555
 
556
+ .has-right-sidebar .inner-sidebar {
557
+ display: block;
558
+ }
 
 
 
 
559
 
560
+ .inner-sidebar {
561
+ float: right;
562
+ clear: right;
563
+ display: none;
564
+ width: 281px;
565
+ position: relative;
566
+ }
567
 
568
+ .has-right-sidebar #post-body-content {
569
+ margin-right: 300px;
570
+ }
 
571
 
572
+ #post-body-content {
573
+ width: auto !important;
574
+ float: none !important;
575
+ }
576
 
577
+ <?php endif; ?>
578
 
 
579
 
580
+ </style>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
581
 
 
 
 
 
 
 
 
 
582
 
583
  <div class="wrap" id="sm_div">
584
  <form method="post" action="<?php echo $this->sg->GetBackLink() ?>">
597
  if(isset($current->response[$file])) {
598
  $r = $current->response[$file];
599
  ?><div id="update-nag" class="sm-update-nag"><?php
600
+ if ( !current_user_can('edit_plugins'))
601
  printf( __('There is a new version of %1$s available. <a href="%2$s">Download version %3$s here</a>.','default'), $plugin_data['Name'], $r->url, $r->new_version);
602
  else if ( empty($r->package) )
603
  printf( __('There is a new version of %1$s available. <a href="%2$s">Download version %3$s here</a> <em>automatic upgrade unavailable for this plugin</em>.','default'), $plugin_data['Name'], $r->url, $r->new_version);
615
 
616
  ?>
617
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
618
  <?php if(!$snl): ?>
619
  <div id="poststuff" class="metabox-holder has-right-sidebar">
620
  <div class="inner-sidebar">
622
  <?php else: ?>
623
  <div id="poststuff" class="metabox-holder">
624
  <?php endif; ?>
625
+
 
 
 
 
 
 
 
 
626
 
627
  <?php if(!$snl): ?>
628
 
638
  <?php if(__('translator_name','sitemap')!='translator_name') {?><a class="sm_button sm_pluginSupport" href="<?php _e('translator_url','sitemap'); ?>"><?php _e('translator_name','sitemap'); ?></a><?php } ?>
639
  <?php $this->HtmlPrintBoxFooter(true); ?>
640
 
 
641
  <?php $this->HtmlPrintBoxHeader('sm_smres',__('Sitemap Resources:','sitemap'),true); ?>
642
  <a class="sm_button sm_resGoogle" href="<?php echo $this->sg->GetRedirectLink('sitemap-gwt'); ?>"><?php _e('Webmaster Tools','sitemap'); ?></a>
643
  <a class="sm_button sm_resGoogle" href="<?php echo $this->sg->GetRedirectLink('sitemap-gwb'); ?>"><?php _e('Webmaster Blog','sitemap'); ?></a>
644
 
645
+ <a class="sm_button sm_resYahoo" href="<?php echo $this->sg->GetRedirectLink('sitemap-ywb'); ?>"><?php _e('Search Blog','sitemap'); ?></a>
646
+
647
  <a class="sm_button sm_resBing" href="<?php echo $this->sg->GetRedirectLink('sitemap-lwt'); ?>"><?php _e('Webmaster Tools','sitemap'); ?></a>
648
  <a class="sm_button sm_resBing" href="<?php echo $this->sg->GetRedirectLink('sitemap-lswcb'); ?>"><?php _e('Webmaster Center Blog','sitemap'); ?></a>
649
  <br />
669
  </div>
670
  <?php endif; ?>
671
 
672
+ <div class="has-sidebar sm-padded" >
 
673
 
674
+ <div id="post-body-content" class="<?php if(!$snl): ?>has-sidebar-content<?php endif; ?>">
675
+
676
+ <div class="meta-box-sortabless">
677
 
 
 
 
 
678
 
679
  <!-- Rebuild Area -->
680
  <?php
681
+
682
+ $status = GoogleSitemapGeneratorStatus::Load();
683
+ $head = __('Search engines haven\'t been notified yet','sitemap');
684
+ if($status != null && $status->GetStartTime() > 0) {
685
+ $st=$status->GetStartTime() + (get_option( 'gmt_offset' ) * 3600);
686
+
687
+ $head=str_replace("%date%",date_i18n(get_option('date_format'),$st) . " " . date_i18n(get_option('time_format'),$st),__('Result of the last ping, started on %date%.','sitemap'));
688
  }
689
 
690
  $this->HtmlPrintBoxHeader('sm_rebuild',$head); ?>
 
 
691
 
692
+ <div style="border-left: 1px #DFDFDF solid; float:right; padding-left:15px; margin-left:10px;">
693
+ <iframe src="http://plugin-ae.arnebrachhold.de/show_1.html#pv=<?php echo $this->sg->GetVersion(); ?>&wpv=<?php echo $wp_version; ?>&cn=sitemap&cm=admin" width="290" height="150" allowtransparency="true" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" style="border:0;"></iframe>
694
+ </div>
695
 
 
 
 
 
 
 
 
 
 
 
 
 
 
696
 
697
+ <div style="min-height:150px;">
698
+ <ul>
699
+ <?php
 
 
 
 
 
 
700
 
701
+ if($this->sg->OldFileExists()) {
702
+ echo "<li class=\"sm_error\">" . str_replace("%s",wp_nonce_url($this->sg->GetBackLink() . "&sm_delete_old=true",'sitemap'),__('There is still a sitemap.xml or sitemap.xml.gz file in your blog directory. Please delete them as no static files are used anymore or <a href="%s">try to delete them automatically</a>.','sitemap')) . "</li>";
703
+ }
 
 
 
 
 
 
 
 
704
 
705
+ echo "<li>" . str_replace("%s",$this->sg->getXmlUrl(),__('The URL to your sitemap index file is: <a href="%s">%s</a>.','sitemap')) . "</li>";
 
 
 
 
 
 
 
 
 
 
706
 
707
+ if($status == null) {
708
+ echo "<li>" . __('Search engines haven\'t been notified yet. Write a post to let them know about your sitemap.','sitemap') . "</li>";
709
+ } else {
710
 
711
+ $services = $status->GetUsedPingServices();
 
 
 
 
712
 
713
+ foreach($services AS $service) {
714
+ $name = $status->GetServiceName($service);
 
715
 
716
+ if($status->GetPingResult($service)) {
717
+ echo "<li>" . sprintf(__("%s was <b>successfully notified</b> about changes.",'sitemap'),$name). "</li>";
718
+ $dur = $status->GetPingDuration($service);
719
+ if($dur > 4) {
720
+ echo "<li class=\sm_optimize\">" . str_replace(array("%time%","%name%"),array($dur,$name),__("It took %time% seconds to notify %name%, maybe you want to disable this feature to reduce the building time.",'sitemap')) . "</li>";
721
+ }
722
+ } else {
723
+ echo "<li class=\"sm_error\">" . str_replace(array("%s","%name%"),array(wp_nonce_url($this->sg->GetBackLink() . "&sm_ping_service=" . $service . "&noheader=true",'sitemap'),$name),__('There was a problem while notifying %name%. <a href="%s">View result</a>','sitemap')) . "</li>";
724
  }
725
  }
 
 
 
 
 
 
 
 
 
 
 
 
726
  }
727
+ if(is_super_admin()) echo "<li>" . str_replace("%d",wp_nonce_url($this->sg->GetBackLink() . "&sm_rebuild=true&sm_do_debug=true",'sitemap'),__('If you encounter any problems with your sitemap you can use the <a href="%d">debug function</a> to get more information.','sitemap')) . "</li>";
728
+ ?>
 
 
 
 
 
 
729
 
730
+ </ul>
731
+ </div>
732
  <?php $this->HtmlPrintBoxFooter(); ?>
733
 
734
  <!-- Basic Options -->
735
  <?php $this->HtmlPrintBoxHeader('sm_basic_options',__('Basic Options', 'sitemap')); ?>
736
 
737
+ <b><?php _e('Update notification:','sitemap'); ?></b> <a href="<?php echo $this->sg->GetRedirectLink('sitemap-help-options-ping'); ?>"><?php _e('Learn more','sitemap'); ?></a>
738
+ <ul>
739
+ <li>
740
+ <input type="checkbox" id="sm_b_ping" name="sm_b_ping" <?php echo ($this->sg->GetOption("b_ping")==true?"checked=\"checked\"":"") ?> />
741
+ <label for="sm_b_ping"><?php _e('Notify Google about updates of your Blog', 'sitemap') ?></label><br />
742
+ <small><?php echo str_replace("%s",$this->sg->GetRedirectLink('sitemap-gwt'),__('No registration required, but you can join the <a href="%s">Google Webmaster Tools</a> to check crawling statistics.','sitemap')); ?></small>
743
+ </li>
744
+ <li>
745
+ <input type="checkbox" id="sm_b_pingmsn" name="sm_b_pingmsn" <?php echo ($this->sg->GetOption("b_pingmsn")==true?"checked=\"checked\"":"") ?> />
746
+ <label for="sm_b_pingmsn"><?php _e('Notify Bing (formerly MSN Live Search) about updates of your Blog', 'sitemap') ?></label><br />
747
+ <small><?php echo str_replace("%s",$this->sg->GetRedirectLink('sitemap-lwt'),__('No registration required, but you can join the <a href="%s">Bing Webmaster Tools</a> to check crawling statistics.','sitemap')); ?></small>
748
+ </li>
749
+ <li>
750
+ <label for="sm_b_robots">
751
+ <input type="checkbox" id="sm_b_robots" name="sm_b_robots" <?php echo ($this->sg->GetOption("b_robots")==true?"checked=\"checked\"":"") ?> />
752
+ <?php _e("Add sitemap URL to the virtual robots.txt file.",'sitemap'); ?>
753
+ </label>
754
+
755
+ <br />
756
+ <small><?php _e('The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!','sitemap'); ?></small>
757
+ </li>
758
+ </ul>
759
+ <?php if(is_super_admin()): ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
760
  <b><?php _e('Advanced options:','sitemap'); ?></b> <a href="<?php echo $this->sg->GetRedirectLink('sitemap-help-options-adv'); ?>"><?php _e('Learn more','sitemap'); ?></a>
761
  <ul>
762
  <li>
763
+ <label for="sm_b_memory"><?php _e('Try to increase the memory limit to:', 'sitemap') ?> <input type="text" name="sm_b_memory" id="sm_b_memory" style="width:40px;" value="<?php echo esc_attr($this->sg->GetOption("b_memory")); ?>" /></label> (<?php echo htmlspecialchars(__('e.g. "4M", "16M"', 'sitemap')); ?>)
764
  </li>
765
  <li>
766
+ <label for="sm_b_time"><?php _e('Try to increase the execution time limit to:', 'sitemap') ?> <input type="text" name="sm_b_time" id="sm_b_time" style="width:40px;" value="<?php echo esc_attr(($this->sg->GetOption("b_time")===-1?'':$this->sg->GetOption("b_time"))); ?>" /></label> (<?php echo htmlspecialchars(__('in seconds, e.g. "60" or "0" for unlimited', 'sitemap')) ?>)
 
 
 
767
  </li>
768
  <li>
769
  <?php $useDefStyle = ($this->sg->GetDefaultStyle() && $this->sg->GetOption('b_style_default')===true); ?>
770
+ <label for="sm_b_style"><?php _e('Include a XSLT stylesheet:', 'sitemap') ?> <input <?php echo ($useDefStyle?'disabled="disabled" ':'') ?> type="text" name="sm_b_style" id="sm_b_style" value="<?php echo esc_attr($this->sg->GetOption("b_style")); ?>" /></label>
771
+ (<?php _e('Full or relative URL to your .xsl file', 'sitemap') ?>) <?php if($this->sg->GetDefaultStyle()): ?><label for="sm_b_style_default"><input <?php echo ($useDefStyle?'checked="checked" ':'') ?> type="checkbox" id="sm_b_style_default" name="sm_b_style_default" onclick="document.getElementById('sm_b_style').disabled = this.checked;" /> <?php _e('Use default', 'sitemap') ?></label> <?php endif; ?>
772
  </li>
773
  <li>
774
+ <label for="sm_b_html">
775
+ <input type="checkbox" id="sm_b_html" name="sm_b_html" <?php if(!$this->sg->IsXslEnabled()) echo 'disabled="disabled"'; ?> <?php echo ($this->sg->GetOption("b_html")==true && $this->sg->IsXslEnabled()?"checked=\"checked\"":"") ?> />
776
+ <?php _e('Include sitemap in HTML format', 'sitemap') ?> <?php if(!$this->sg->IsXslEnabled()) _e('(The required PHP XSL Module is not installed)', 'sitemap') ?>
 
 
777
  </label>
778
  </li>
779
  <li>
780
+ <label for="sm_b_stats">
781
+ <input type="checkbox" id="sm_b_stats" name="sm_b_stats" <?php echo ($this->sg->GetOption("b_stats")==true?"checked=\"checked\"":"") ?> />
782
+ <?php _e('Allow anonymous statistics (no personal information)', 'sitemap') ?>
783
+ </label> <label><a href="<?php echo $this->sg->GetRedirectLink('sitemap-help-options-adv-stats'); ?>"><?php _e('Learn more','sitemap'); ?></a></label>
 
 
784
  </li>
785
  </ul>
786
+ <?php endif; ?>
787
 
788
  <?php $this->HtmlPrintBoxFooter(); ?>
789
 
790
+ <?php if(is_super_admin()): ?>
791
+ <?php $this->HtmlPrintBoxHeader('sm_pages',__('Additional pages', 'sitemap')); ?>
792
 
793
  <?php
794
+ _e('Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.<br />For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com','sitemap');
795
+ echo "<ul><li>";
796
+ echo "<strong>" . __('Note','sitemap'). "</strong>: ";
797
+ _e("If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the &quot;Location of your sitemap file&quot; section on this page)!",'sitemap');
798
+ echo "</li><li>";
799
+ echo "<strong>" . __('URL to the page','sitemap'). "</strong>: ";
800
+ _e("Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home ",'sitemap');
801
+ echo "</li><li>";
802
+ echo "<strong>" . __('Priority','sitemap') . "</strong>: ";
803
+ _e("Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint.",'sitemap');
804
+ echo "</li><li>";
805
+ echo "<strong>" . __('Last Changed','sitemap'). "</strong>: ";
806
+ _e("Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional).",'sitemap');
807
+
808
+ echo "</li></ul>";
 
 
809
  ?>
810
  <script type="text/javascript">
811
  //<![CDATA[
812
+ <?php
813
+ $freqVals = "'" . implode("','",array_keys($this->sg->GetFreqNames())). "'";
814
+ $freqNames = "'" . implode("','",array_values($this->sg->GetFreqNames())). "'";
815
+ ?>
 
 
 
816
 
817
+ var changeFreqVals = [<?php echo $freqVals; ?>];
818
+ var changeFreqNames = [ <?php echo $freqNames; ?>];
819
+ var priorities= [0<?php for($i=0.1; $i<1; $i+=0.1) { echo "," . number_format($i,1,".",""); } ?>];
820
 
821
  var pages = [ <?php
822
+ $pages = $this->sg->GetPages();
823
+ $fd = false;
824
+ foreach($pages AS $page) {
825
+ if($page instanceof GoogleSitemapGeneratorPage) {
826
+ if($fd) echo ",";
827
+ else $fd = true;
828
+ echo '{url:"' . esc_js($page->getUrl()) . '", priority:' . esc_js(number_format($page->getPriority(),1,".","")) . ', changeFreq:"' . esc_js($page->getChangeFreq()) . '", lastChanged:"' . esc_js(($page->getLastMod()>0?date("Y-m-d",$page->getLastMod()):"")) . '"}';
829
  }
830
+
831
  }
832
+ ?> ];
833
  //]]>
834
  </script>
835
  <script type="text/javascript" src="<?php echo $this->sg->GetPluginUrl(); ?>img/sitemap.js"></script>
842
  <th scope="col"><?php _e('#','sitemap'); ?></th>
843
  </tr>
844
  <?php
845
+ if(count($pages)<=0) { ?>
846
+ <tr>
847
+ <td colspan="5" align="center"><?php _e('No pages defined.','sitemap') ?></td>
848
+ </tr><?php
849
+ }
850
  ?>
851
  </table>
852
  <a href="javascript:void(0);" onclick="sm_addPage();"><?php _e("Add new page",'sitemap'); ?></a>
853
+ <?php $this->HtmlPrintBoxFooter(); ?>
854
+ <?php endif; ?>
855
 
856
 
857
  <!-- AutoPrio Options -->
859
 
860
  <p><?php _e('Please select how the priority of each post should be calculated:', 'sitemap') ?></p>
861
  <ul>
862
+ <li><p><input type="radio" name="sm_b_prio_provider" id="sm_b_prio_provider__0" value="" <?php echo $this->HtmlGetChecked($this->sg->GetOption("b_prio_provider"),"") ?> /> <label for="sm_b_prio_provider__0"><?php _e('Do not use automatic priority calculation', 'sitemap') ?></label><br /><?php _e('All posts will have the same priority which is defined in &quot;Priorities&quot;', 'sitemap') ?></p></li>
863
  <?php
864
+ $provs = $this->sg->GetPrioProviders();
865
+ for($i=0; $i<count($provs); $i++) {
866
+ echo "<li><p><input type=\"radio\" id=\"sm_b_prio_provider_$i\" name=\"sm_b_prio_provider\" value=\"" . $provs[$i] . "\" " . $this->HtmlGetChecked($this->sg->GetOption("b_prio_provider"),$provs[$i]) . " /> <label for=\"sm_b_prio_provider_$i\">" . call_user_func(array($provs[$i], 'getName')) . "</label><br />" . call_user_func(array($provs[$i], 'getDescription')) . "</p></li>";
867
  }
868
  ?>
869
  </ul>
870
  <?php $this->HtmlPrintBoxFooter(); ?>
871
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
872
  <!-- Includes -->
873
  <?php $this->HtmlPrintBoxHeader('sm_includes',__('Sitemap Content', 'sitemap')); ?>
874
  <b><?php _e('WordPress standard content', 'sitemap') ?>:</b>
885
  <?php _e('Include posts', 'sitemap') ?>
886
  </label>
887
  </li>
 
 
 
 
 
 
888
  <li>
889
  <label for="sm_in_pages">
890
  <input type="checkbox" id="sm_in_pages" name="sm_in_pages" <?php echo ($this->sg->GetOption("in_pages")==true?"checked=\"checked\"":"") ?> />
996
  <?php $this->HtmlPrintBoxHeader('sm_excludes',__('Excluded items', 'sitemap')); ?>
997
 
998
  <b><?php _e('Excluded categories', 'sitemap') ?>:</b>
999
+
1000
+ <cite style="display:block; margin-left:40px;"><?php _e("Note","sitemap") ?>: <?php _e("Using this feature will increase build time and memory usage!","sitemap"); ?></cite>
1001
+ <div style="border-color:#CEE1EF; border-style:solid; border-width:2px; height:10em; margin:5px 0px 5px 40px; overflow:auto; padding:0.5em 0.5em;">
1002
  <ul>
1003
  <?php wp_category_checklist(0,0,$this->sg->GetOption("b_exclude_cats"),false); ?>
1004
  </ul>
1005
+ </div>
 
 
 
1006
 
1007
  <b><?php _e("Exclude posts","sitemap"); ?>:</b>
1008
  <div style="margin:5px 0 13px 40px;">
1009
  <label for="sm_b_exclude"><?php _e('Exclude the following posts or pages:', 'sitemap') ?> <small><?php _e('List of IDs, separated by comma', 'sitemap') ?></small><br />
1010
+ <input name="sm_b_exclude" id="sm_b_exclude" type="text" style="width:400px;" value="<?php echo esc_attr(implode(",",$this->sg->GetOption("b_exclude"))); ?>" /></label><br />
1011
  <cite><?php _e("Note","sitemap") ?>: <?php _e("Child posts won't be excluded automatically!","sitemap"); ?></cite>
1012
  </div>
1013
 
1023
  <ul>
1024
  <li>
1025
  <label for="sm_cf_home">
1026
+ <select id="sm_cf_home" name="sm_cf_home"><?php $this->HtmlGetFreqNames($this->sg->GetOption("cf_home")); ?></select>
1027
  <?php _e('Homepage', 'sitemap') ?>
1028
  </label>
1029
  </li>
1030
  <li>
1031
  <label for="sm_cf_posts">
1032
+ <select id="sm_cf_posts" name="sm_cf_posts"><?php $this->HtmlGetFreqNames($this->sg->GetOption("cf_posts")); ?></select>
1033
  <?php _e('Posts', 'sitemap') ?>
1034
  </label>
1035
  </li>
1036
  <li>
1037
  <label for="sm_cf_pages">
1038
+ <select id="sm_cf_pages" name="sm_cf_pages"><?php $this->HtmlGetFreqNames($this->sg->GetOption("cf_pages")); ?></select>
1039
  <?php _e('Static pages', 'sitemap') ?>
1040
  </label>
1041
  </li>
1042
  <li>
1043
  <label for="sm_cf_cats">
1044
+ <select id="sm_cf_cats" name="sm_cf_cats"><?php $this->HtmlGetFreqNames($this->sg->GetOption("cf_cats")); ?></select>
1045
  <?php _e('Categories', 'sitemap') ?>
1046
  </label>
1047
  </li>
1048
  <li>
1049
  <label for="sm_cf_arch_curr">
1050
+ <select id="sm_cf_arch_curr" name="sm_cf_arch_curr"><?php $this->HtmlGetFreqNames($this->sg->GetOption("cf_arch_curr")); ?></select>
1051
  <?php _e('The current archive of this month (Should be the same like your homepage)', 'sitemap') ?>
1052
  </label>
1053
  </li>
1054
  <li>
1055
  <label for="sm_cf_arch_old">
1056
+ <select id="sm_cf_arch_old" name="sm_cf_arch_old"><?php $this->HtmlGetFreqNames($this->sg->GetOption("cf_arch_old")); ?></select>
1057
  <?php _e('Older archives (Changes only if you edit an old post)', 'sitemap') ?>
1058
  </label>
1059
  </li>
1060
  <?php if($this->sg->IsTaxonomySupported()): ?>
1061
  <li>
1062
  <label for="sm_cf_tags">
1063
+ <select id="sm_cf_tags" name="sm_cf_tags"><?php $this->HtmlGetFreqNames($this->sg->GetOption("cf_tags")); ?></select>
1064
  <?php _e('Tag pages', 'sitemap') ?>
1065
  </label>
1066
  </li>
1067
  <?php endif; ?>
1068
  <li>
1069
  <label for="sm_cf_auth">
1070
+ <select id="sm_cf_auth" name="sm_cf_auth"><?php $this->HtmlGetFreqNames($this->sg->GetOption("cf_auth")); ?></select>
1071
  <?php _e('Author pages', 'sitemap') ?>
1072
  </label>
1073
  </li>
1080
  <ul>
1081
  <li>
1082
  <label for="sm_pr_home">
1083
+ <select id="sm_pr_home" name="sm_pr_home"><?php $this->HtmlGetPriorityValues($this->sg->GetOption("pr_home")); ?></select>
1084
  <?php _e('Homepage', 'sitemap') ?>
1085
  </label>
1086
  </li>
1087
  <li>
1088
  <label for="sm_pr_posts">
1089
+ <select id="sm_pr_posts" name="sm_pr_posts"><?php $this->HtmlGetPriorityValues($this->sg->GetOption("pr_posts")); ?></select>
1090
  <?php _e('Posts (If auto calculation is disabled)', 'sitemap') ?>
1091
  </label>
1092
  </li>
1093
  <li>
1094
  <label for="sm_pr_posts_min">
1095
+ <select id="sm_pr_posts_min" name="sm_pr_posts_min"><?php $this->HtmlGetPriorityValues($this->sg->GetOption("pr_posts_min")); ?></select>
1096
  <?php _e('Minimum post priority (Even if auto calculation is enabled)', 'sitemap') ?>
1097
  </label>
1098
  </li>
1099
  <li>
1100
  <label for="sm_pr_pages">
1101
+ <select id="sm_pr_pages" name="sm_pr_pages"><?php $this->HtmlGetPriorityValues($this->sg->GetOption("pr_pages")); ?></select>
1102
  <?php _e('Static pages', 'sitemap'); ?>
1103
  </label>
1104
  </li>
1105
  <li>
1106
  <label for="sm_pr_cats">
1107
+ <select id="sm_pr_cats" name="sm_pr_cats"><?php $this->HtmlGetPriorityValues($this->sg->GetOption("pr_cats")); ?></select>
1108
  <?php _e('Categories', 'sitemap') ?>
1109
  </label>
1110
  </li>
1111
  <li>
1112
  <label for="sm_pr_arch">
1113
+ <select id="sm_pr_arch" name="sm_pr_arch"><?php $this->HtmlGetPriorityValues($this->sg->GetOption("pr_arch")); ?></select>
1114
  <?php _e('Archives', 'sitemap') ?>
1115
  </label>
1116
  </li>
1117
  <?php if($this->sg->IsTaxonomySupported()): ?>
1118
  <li>
1119
  <label for="sm_pr_tags">
1120
+ <select id="sm_pr_tags" name="sm_pr_tags"><?php $this->HtmlGetPriorityValues($this->sg->GetOption("pr_tags")); ?></select>
1121
  <?php _e('Tag pages', 'sitemap') ?>
1122
  </label>
1123
  </li>
1124
  <?php endif; ?>
1125
  <li>
1126
  <label for="sm_pr_auth">
1127
+ <select id="sm_pr_auth" name="sm_pr_auth"><?php $this->HtmlGetPriorityValues($this->sg->GetOption("pr_auth")); ?></select>
1128
  <?php _e('Author pages', 'sitemap') ?>
1129
  </label>
1130
  </li>
1136
  <div>
1137
  <p class="submit">
1138
  <?php wp_nonce_field('sitemap') ?>
1139
+ <input type="submit" class="button-primary" name="sm_update" value="<?php _e('Update options', 'sitemap'); ?>" />
1140
  <input type="submit" onclick='return confirm("Do you really want to reset your configuration?");' class="sm_warning" name="sm_reset_config" value="<?php _e('Reset options', 'sitemap'); ?>" />
1141
  </p>
1142
  </div>
1143
 
1144
+
1145
  </div>
1146
  </div>
 
1147
  </div>
1148
  <script type="text/javascript">if(typeof(sm_loadPages)=='function') addLoadEvent(sm_loadPages); </script>
1149
  </form>
1168
  <input type="hidden" name="business" value="<?php echo "donate" /* N O S P A M */ . "@" . "arnebra" . "chhold.de"; ?>" />
1169
  <input type="hidden" name="item_name" value="Sitemap Generator for WordPress. Please tell me if if you don't want to be listed on the donator list." />
1170
  <input type="hidden" name="no_shipping" value="1" />
1171
+ <input type="hidden" name="return" value="<?php echo 'http://' . $_SERVER['HTTP_HOST'] . $this->sg->GetBackLink(); ?>&amp;sm_donated=true" />
1172
  <input type="hidden" name="item_number" value="0001" />
1173
  <input type="hidden" name="currency_code" value="<?php echo $myLc["cc"]; ?>" />
1174
  <input type="hidden" name="bn" value="PP-BuyNowBF" />
sitemap-wpmu.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * $Id: sitemap-wpmu.php 534582 2012-04-21 22:25:36Z arnee $
5
+ *
6
+ * Google XML Sitemaps Generator for WordPress MU activation
7
+ * ==============================================================================
8
+ *
9
+ * If you want to use this plugin with a automatic network-wide activation, copy the "google-sitemaps-generator" directory
10
+ * in wp-content/mu-plugins and copy this file into wp-content/mu-plugins directly:
11
+ *
12
+ * + wp-content/
13
+ * | + mu-plugins/
14
+ * | | - sitemap-wpmu.php
15
+ * | | + google-sitemap-generator/
16
+ * | | | - sitemap.php
17
+ * | | | - [...]
18
+ *
19
+ * All files in the mu-plugins directory are included for all blogs by WordPress by default, so there is no need to
20
+ * activate this plugin anymore (and it also can not be deactivated).
21
+ */
22
+
23
+ if(!defined('WPINC')) return;
24
+
25
+ $gsgFile = dirname(__FILE__) . "/google-sitemap-generator/sitemap.php";
26
+
27
+ if(file_exists($gsgFile)) require_once($gsgFile);
28
+ else trigger_error("Google Sitemap Generator was loaded via mu-plugins directory, but the plugin was not found under $gsgFile",E_USER_WARNING);
sitemap.php CHANGED
@@ -1,297 +1,110 @@
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
  ==============================================================================
8
 
9
  This generator will create a sitemaps.org compliant sitemap of your WordPress blog.
10
- Currently homepage, posts, static pages, categories, archives and author pages are supported.
11
 
12
- The priority of a post depends on its comments. You can choose the way the priority
13
- is calculated in the options screen.
14
-
15
- Feel free to visit my website under www.arnebrachhold.de!
16
-
17
- For aditional details like installation instructions, please check the readme.txt and documentation.txt files.
18
 
19
  Have fun!
20
  Arne
21
 
22
-
23
  Info for WordPress:
24
  ==============================================================================
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
32
- Domain Path: /lang/
33
-
34
- */
35
-
36
- /**
37
- * Loader class for the Google Sitemap Generator
38
- *
39
- * This class takes care of the sitemap plugin and tries to load the different parts as late as possible.
40
- * On normal requests, only this small class is loaded. When the sitemap needs to be rebuild, the generator itself is loaded.
41
- * The last stage is the user interface which is loaded when the administration page is requested.
42
- */
43
- class GoogleSitemapGeneratorLoader {
44
- /**
45
- * Enabled the sitemap plugin with registering all required hooks
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())) {
53
- if(function_exists('is_super_admin') && is_super_admin()) {
54
- add_action('admin_notices', array('GoogleSitemapGeneratorLoader', 'AddMultisiteWarning'));
55
- }
56
-
57
- return;
58
- }
59
-
60
- //Register the sitemap creator to wordpress...
61
- add_action('admin_menu', array('GoogleSitemapGeneratorLoader', 'RegisterAdminPage'));
62
-
63
- //Nice icon for Admin Menu (requires Ozh Admin Drop Down Plugin)
64
- add_filter('ozh_adminmenu_icon', array('GoogleSitemapGeneratorLoader', 'RegisterAdminIcon'));
65
-
66
- //Additional links on the plugin page
67
- add_filter('plugin_row_meta', array('GoogleSitemapGeneratorLoader', 'RegisterPluginLinks'),10,2);
68
-
69
- //Existing posts was deleted
70
- add_action('delete_post', array('GoogleSitemapGeneratorLoader', 'CallCheckForAutoBuild'),9999,1);
71
-
72
- //Existing post was published
73
- add_action('publish_post', array('GoogleSitemapGeneratorLoader', 'CallCheckForAutoBuild'),9999,1);
74
-
75
- //Existing page was published
76
- add_action('publish_page', array('GoogleSitemapGeneratorLoader', 'CallCheckForAutoBuild'),9999,1);
77
-
78
- //WP Cron hook
79
- add_action('sm_build_cron', array('GoogleSitemapGeneratorLoader', 'CallBuildSitemap'),1,0);
80
-
81
- //External build hook
82
- add_action('sm_rebuild', array('GoogleSitemapGeneratorLoader', 'CallBuildNowRequest'),1,0);
83
-
84
- //Robots.txt request
85
- add_action('do_robots', array('GoogleSitemapGeneratorLoader', 'CallDoRobots'),100,0);
86
-
87
- //Help topics for context sensitive help
88
- add_filter('contextual_help_list', array('GoogleSitemapGeneratorLoader', 'CallHtmlShowHelpList'),9999,2);
89
-
90
- //Check if this is a BUILD-NOW request (key will be checked later)
91
- if(!empty($_GET["sm_command"]) && !empty($_GET["sm_key"])) {
92
- GoogleSitemapGeneratorLoader::CallCheckForManualBuild();
93
- }
94
-
95
- //Check if the result of a ping request should be shown
96
- if(!empty($_GET["sm_ping_service"])) {
97
- GoogleSitemapGeneratorLoader::CallShowPingResult();
98
- }
99
- }
100
-
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>';
129
- $links[] = '<a href="http://www.arnebrachhold.de/redir/sitemap-plist-faq/">' . __('FAQ','sitemap') . '</a>';
130
- $links[] = '<a href="http://www.arnebrachhold.de/redir/sitemap-plist-support/">' . __('Support','sitemap') . '</a>';
131
- $links[] = '<a href="http://www.arnebrachhold.de/redir/sitemap-plist-donate/">' . __('Donate','sitemap') . '</a>';
132
- }
133
- return $links;
134
- }
135
-
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();
143
- }
144
- }
145
 
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);
153
- }
154
- }
155
 
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();
163
- }
164
- }
165
 
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();
173
- }
174
- }
175
 
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();
183
- }
184
- }
185
-
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();
193
- }
194
- }
195
 
 
 
 
196
 
197
- static function CallHtmlShowHelpList($filterVal,$screen) {
198
 
199
- $id = get_plugin_page_hookname(GoogleSitemapGeneratorLoader::GetBaseName(),'options-general.php');
200
 
201
- if($screen == $id) {
202
- $links = array(
203
- __('Plugin Homepage','sitemap')=>'http://www.arnebrachhold.de/redir/sitemap-help-home/',
204
- __('My Sitemaps FAQ','sitemap')=>'http://www.arnebrachhold.de/redir/sitemap-help-faq/'
205
- );
 
 
206
 
207
- $filterVal[$id] = '';
208
 
209
- $i=0;
210
- foreach($links AS $text=>$url) {
211
- $filterVal[$id].='<a href="' . $url . '">' . $text . '</a>' . ($i < (count($links)-1)?'<br />':'') ;
212
- $i++;
213
- }
214
- }
215
- return $filterVal;
216
  }
217
 
218
- static function CallDoRobots() {
219
- if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
220
- $gs = &GoogleSitemapGenerator::GetInstance();
221
- $gs->DoRobots();
222
- }
223
  }
224
 
225
- /**
226
- * Loads the actual generator class and tries to raise the memory and time limits if not already done by WP
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) {
234
- @ini_set('memory_limit', '64M');
235
- }
236
-
237
- $time = abs(intval(@ini_get("max_execution_time")));
238
- if($time != 0 && $time < 120) {
239
- @set_time_limit(120);
240
- }
241
-
242
- if(!class_exists("GoogleSitemapGenerator")) {
243
-
244
- $path = trailingslashit(dirname(__FILE__));
245
-
246
- if(!file_exists( $path . 'sitemap-core.php')) return false;
247
- require_once($path. 'sitemap-core.php');
248
- }
249
-
250
- GoogleSitemapGenerator::Enable();
251
- return true;
252
  }
 
253
 
254
- /**
255
- * Returns the plugin basename of the plugin (using __FILE__)
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
 
264
- /**
265
- * Returns the name of this loader script, using __FILE__
266
- *
267
- * @return string The __FILE__ value of this loader script
268
- */
269
- static function GetPluginFile() {
270
- return __FILE__;
271
- }
 
272
 
273
- /**
274
- * Returns the plugin version
275
- *
276
- * Uses the WP API to get the meta data from the top of this file (comment)
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+
284
- else if(file_exists(ABSPATH . 'wp-admin/admin-functions.php')) require_once(ABSPATH . 'wp-admin/admin-functions.php'); //2.1
285
- else return "0.ERROR";
286
- }
287
- $data = get_plugin_data(__FILE__, false, false);
288
- $GLOBALS["sm_version"] = $data['Version'];
289
- }
290
- return $GLOBALS["sm_version"];
291
- }
292
  }
293
 
294
- //Enable the plugin for the init hook, but only if WP is loaded. Calling this php file directly will do nothing.
295
- if(defined('ABSPATH') && defined('WPINC')) {
296
- add_action("init",array("GoogleSitemapGeneratorLoader","Enable"),1000,0);
297
  }
 
1
  <?php
2
 
3
  /*
4
+ $Id: sitemap.php 884328 2014-03-29 19:07:26Z arnee $
5
 
6
  Google XML Sitemaps Generator for WordPress
7
  ==============================================================================
8
 
9
  This generator will create a sitemaps.org compliant sitemap of your WordPress blog.
 
10
 
11
+ For additional details like installation instructions, please check the readme.txt and documentation.txt files.
 
 
 
 
 
12
 
13
  Have fun!
14
  Arne
15
 
 
16
  Info for WordPress:
17
  ==============================================================================
18
  Plugin Name: Google XML Sitemaps
19
  Plugin URI: http://www.arnebrachhold.de/redir/sitemap-home/
20
  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.
21
+ Version: 4.0
22
  Author: Arne Brachhold
23
  Author URI: http://www.arnebrachhold.de/
24
  Text Domain: sitemap
25
+ Domain Path: /lang
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
 
 
 
 
 
 
 
 
 
27
 
28
+ Copyright 2005 - 2014 ARNE BRACHHOLD (email : himself - arnebrachhold - de)
 
 
 
 
 
 
 
 
29
 
30
+ This program is free software; you can redistribute it and/or modify
31
+ it under the terms of the GNU General Public License as published by
32
+ the Free Software Foundation; either version 2 of the License, or
33
+ (at your option) any later version.
 
 
 
 
 
34
 
35
+ This program is distributed in the hope that it will be useful,
36
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
37
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
38
+ GNU General Public License for more details.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
 
40
+ You should have received a copy of the GNU General Public License
41
+ along with this program; if not, write to the Free Software
42
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
43
 
44
+ Please see license.txt for the full license.
45
 
46
+ */
47
 
48
+ /**
49
+ * Check if the requirements of the sitemap plugin are met and loads the actual loader
50
+ *
51
+ * @package sitemap
52
+ * @since 4.0
53
+ */
54
+ function sm_Setup() {
55
 
56
+ $fail = false;
57
 
58
+ //Check minimum PHP requirements, which is 5.1 at the moment.
59
+ if (version_compare(PHP_VERSION, "5.1", "<")) {
60
+ add_action('admin_notices', 'sm_AddPhpVersionError');
61
+ $fail = true;
 
 
 
62
  }
63
 
64
+ //Check minimum WP requirements, which is 3.3 at the moment.
65
+ if (version_compare($GLOBALS["wp_version"], "3.3", "<")) {
66
+ add_action('admin_notices', 'sm_AddWpVersionError');
67
+ $fail = true;
 
68
  }
69
 
70
+ if (!$fail) {
71
+ require_once(trailingslashit(dirname(__FILE__)) . "sitemap-loader.php");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  }
73
+ }
74
 
75
+ /**
76
+ * Adds a notice to the admin interface that the WordPress version is too old for the plugin
77
+ *
78
+ * @package sitemap
79
+ * @since 4.0
80
+ */
81
+ function sm_AddWpVersionError() {
82
+ echo "<div id='sm-version-error' class='error fade'><p><strong>" . __('Your WordPress version is too old for XML Sitemaps.', 'sitemap') . "</strong><br /> " . sprintf(__('Unfortunately this release of Google XML Sitemaps requires at least WordPress %4$s. You are using Wordpress %2$s, which is out-dated and insecure. Please upgrade or go to <a href="%1$s">active plugins</a> and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the <a href="%3$s">plugin website</a>.', 'sitemap'), "plugins.php?plugin_status=active", $GLOBALS["wp_version"], "http://www.arnebrachhold.de/redir/sitemap-home/","3.3") . "</p></div>";
83
+ }
84
 
85
+ /**
86
+ * Adds a notice to the admin interface that the WordPress version is too old for the plugin
87
+ *
88
+ * @package sitemap
89
+ * @since 4.0
90
+ */
91
+ function sm_AddPhpVersionError() {
92
+ echo "<div id='sm-version-error' class='error fade'><p><strong>" . __('Your PHP version is too old for XML Sitemaps.', 'sitemap') . "</strong><br /> " . sprintf(__('Unfortunately this release of Google XML Sitemaps requires at least PHP %4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask your web host to update your PHP installation or go to <a href="%1$s">active plugins</a> and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the <a href="%3$s">plugin website</a>.', 'sitemap'), "plugins.php?plugin_status=active", PHP_VERSION, "http://www.arnebrachhold.de/redir/sitemap-home/","5.1") . "</p></div>";
93
+ }
94
 
95
+ /**
96
+ * Returns the file used to load the sitemap plugin
97
+ *
98
+ * @package sitemap
99
+ * @since 4.0
100
+ * @return string The path and file of the sitemap plugin entry point
101
+ */
102
+ function sm_GetInitFile() {
103
+ return __FILE__;
 
 
 
 
 
 
 
 
 
 
104
  }
105
 
106
+ //Don't do anything if this file was called directly
107
+ if (defined('ABSPATH') && defined('WPINC') && !class_exists("GoogleSitemapGeneratorLoader", false)) {
108
+ sm_Setup();
109
  }
110
+
sitemap.xsl CHANGED
@@ -1,14 +1,15 @@
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <xsl:stylesheet version="2.0"
3
  xmlns:html="http://www.w3.org/TR/REC-html40"
4
  xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
5
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
6
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
7
  <xsl:template match="/">
8
  <html xmlns="http://www.w3.org/1999/xhtml">
9
  <head>
10
  <title>XML Sitemap</title>
11
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
12
  <style type="text/css">
13
  body {
14
  font-family:"Lucida Grande","Lucida Sans Unicode",Tahoma,Verdana;
@@ -25,6 +26,9 @@
25
  #intro p {
26
  line-height: 16.8667px;
27
  }
 
 
 
28
 
29
  td {
30
  font-size:11px;
@@ -42,7 +46,7 @@
42
 
43
  #footer {
44
  padding:2px;
45
- margin:10px;
46
  font-size:8pt;
47
  color:gray;
48
  }
@@ -60,51 +64,88 @@
60
  <h1>XML Sitemap</h1>
61
  <div id="intro">
62
  <p>
63
- This is a XML Sitemap which is supposed to be processed by search engines like <a href="http://www.google.com">Google</a>, <a href="http://search.msn.com">MSN Search</a> and <a href="http://www.yahoo.com">YAHOO</a>.<br />
64
- It was generated using the Blogging-Software <a href="http://wordpress.org/">WordPress</a> and the <a href="http://www.arnebrachhold.de/redir/sitemap-home/" title="Google Sitemap Generator Plugin for WordPress">Google Sitemap Generator Plugin</a> by <a href="http://www.arnebrachhold.de/">Arne Brachhold</a>.<br />
65
- You can find more information about XML sitemaps on <a href="http://sitemaps.org">sitemaps.org</a> and Google's <a href="http://code.google.com/sm_thirdparty.html">list of sitemap programs</a>.
66
  </p>
67
  </div>
68
- <div id="content">
69
- <table cellpadding="5">
70
- <tr style="border-bottom:1px black solid;">
71
- <th>URL</th>
72
- <th>Priority</th>
73
- <th>Change Frequency</th>
74
- <th>LastChange (GMT)</th>
75
- </tr>
76
- <xsl:variable name="lower" select="'abcdefghijklmnopqrstuvwxyz'"/>
77
- <xsl:variable name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
78
- <xsl:for-each select="sitemap:urlset/sitemap:url">
79
- <tr>
80
- <xsl:if test="position() mod 2 != 1">
81
- <xsl:attribute name="class">high</xsl:attribute>
82
- </xsl:if>
83
- <td>
84
- <xsl:variable name="itemURL">
85
- <xsl:value-of select="sitemap:loc"/>
86
- </xsl:variable>
87
- <a href="{$itemURL}">
88
- <xsl:value-of select="sitemap:loc"/>
89
- </a>
90
- </td>
91
- <td>
92
- <xsl:value-of select="concat(sitemap:priority*100,'%')"/>
93
- </td>
94
- <td>
95
- <xsl:value-of select="concat(translate(substring(sitemap:changefreq, 1, 1),concat($lower, $upper),concat($upper, $lower)),substring(sitemap:changefreq, 2))"/>
96
- </td>
97
- <td>
98
- <xsl:value-of select="concat(substring(sitemap:lastmod,0,11),concat(' ', substring(sitemap:lastmod,12,5)))"/>
99
- </td>
100
- </tr>
101
- </xsl:for-each>
102
- </table>
103
- </div>
104
  <div id="footer">
105
- Generated with <a href="http://www.arnebrachhold.de/redir/sitemap-home/" title="Google Sitemap Generator Plugin for WordPress">Google Sitemap Generator Plugin for WordPress</a> by <a href="http://www.arnebrachhold.de/">Arne Brachhold</a>. This XSLT template is released under GPL.
 
106
  </div>
107
  </body>
108
  </html>
109
  </xsl:template>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  </xsl:stylesheet>
1
  <?xml version="1.0" encoding="UTF-8"?>
2
+ <xsl:stylesheet version="1.0"
3
  xmlns:html="http://www.w3.org/TR/REC-html40"
4
  xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
5
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
6
+ <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes" />
7
  <xsl:template match="/">
8
  <html xmlns="http://www.w3.org/1999/xhtml">
9
  <head>
10
  <title>XML Sitemap</title>
11
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
12
+ <meta name="robots" content="noindex,follow" />
13
  <style type="text/css">
14
  body {
15
  font-family:"Lucida Grande","Lucida Sans Unicode",Tahoma,Verdana;
26
  #intro p {
27
  line-height: 16.8667px;
28
  }
29
+ #intro strong {
30
+ font-weight:normal;
31
+ }
32
 
33
  td {
34
  font-size:11px;
46
 
47
  #footer {
48
  padding:2px;
49
+ margin-top:10px;
50
  font-size:8pt;
51
  color:gray;
52
  }
64
  <h1>XML Sitemap</h1>
65
  <div id="intro">
66
  <p>
67
+ This is a XML Sitemap which is supposed to be processed by search engines which follow the XML Sitemap standard like Ask.com, Bing, Google and Yahoo.<br />
68
+ It was generated using the Blogging-Software <a href="http://wordpress.org/">WordPress</a> and the <strong><a href="http://www.arnebrachhold.de/redir/sitemap-home/" title="Google (XML) Sitemaps Generator Plugin for WordPress">Google Sitemap Generator Plugin</a></strong> by <a href="http://www.arnebrachhold.de/">Arne Brachhold</a>.<br />
69
+ You can find more information about XML sitemaps on <a rel="nofollow" href="http://sitemaps.org">sitemaps.org</a> and Google's <a rel="nofollow" href="http://code.google.com/p/sitemap-generators/wiki/SitemapGenerators">list of sitemap programs</a>.
70
  </p>
71
  </div>
72
+
73
+ <xsl:apply-templates></xsl:apply-templates>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  <div id="footer">
75
+ Generated with <a href="http://www.arnebrachhold.de/redir/sitemap-home/" title="Google (XML) Sitemap Generator Plugin for WordPress">Google (XML) Sitemaps Generator Plugin for WordPress</a> by <a href="http://www.arnebrachhold.de/">Arne Brachhold</a>. This XSLT template is released under the GPL and free to use.<br />
76
+ If you have problems with your sitemap please visit the <a href="http://www.arnebrachhold.de/redir/sitemap-x-faq/" title="Google (XML) sitemaps FAQ">plugin FAQ</a> or the <a href="http://www.arnebrachhold.de/redir/sitemap-x-support/">support forum</a>.
77
  </div>
78
  </body>
79
  </html>
80
  </xsl:template>
81
+
82
+
83
+ <xsl:template match="sitemap:urlset">
84
+ <div id="content">
85
+ <table cellpadding="5">
86
+ <tr style="border-bottom:1px black solid;">
87
+ <th>URL</th>
88
+ <th>Priority</th>
89
+ <th>Change frequency</th>
90
+ <th>Last modified (GMT)</th>
91
+ </tr>
92
+ <xsl:variable name="lower" select="'abcdefghijklmnopqrstuvwxyz'"/>
93
+ <xsl:variable name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
94
+ <xsl:for-each select="./sitemap:url">
95
+ <tr>
96
+ <xsl:if test="position() mod 2 != 1">
97
+ <xsl:attribute name="class">high</xsl:attribute>
98
+ </xsl:if>
99
+ <td>
100
+ <xsl:variable name="itemURL">
101
+ <xsl:value-of select="sitemap:loc"/>
102
+ </xsl:variable>
103
+ <a href="{$itemURL}">
104
+ <xsl:value-of select="sitemap:loc"/>
105
+ </a>
106
+ </td>
107
+ <td>
108
+ <xsl:value-of select="concat(sitemap:priority*100,'%')"/>
109
+ </td>
110
+ <td>
111
+ <xsl:value-of select="concat(translate(substring(sitemap:changefreq, 1, 1),concat($lower, $upper),concat($upper, $lower)),substring(sitemap:changefreq, 2))"/>
112
+ </td>
113
+ <td>
114
+ <xsl:value-of select="concat(substring(sitemap:lastmod,0,11),concat(' ', substring(sitemap:lastmod,12,5)))"/>
115
+ </td>
116
+ </tr>
117
+ </xsl:for-each>
118
+ </table>
119
+ </div>
120
+ </xsl:template>
121
+
122
+
123
+ <xsl:template match="sitemap:sitemapindex">
124
+ <div id="content">
125
+ <table cellpadding="5">
126
+ <tr style="border-bottom:1px black solid;">
127
+ <th>URL</th>
128
+ <th>Last modified (GMT)</th>
129
+ </tr>
130
+ <xsl:for-each select="./sitemap:sitemap">
131
+ <tr>
132
+ <xsl:if test="position() mod 2 != 1">
133
+ <xsl:attribute name="class">high</xsl:attribute>
134
+ </xsl:if>
135
+ <td>
136
+ <xsl:variable name="itemURL">
137
+ <xsl:value-of select="sitemap:loc"/>
138
+ </xsl:variable>
139
+ <a href="{$itemURL}">
140
+ <xsl:value-of select="sitemap:loc"/>
141
+ </a>
142
+ </td>
143
+ <td>
144
+ <xsl:value-of select="concat(substring(sitemap:lastmod,0,11),concat(' ', substring(sitemap:lastmod,12,5)))"/>
145
+ </td>
146
+ </tr>
147
+ </xsl:for-each>
148
+ </table>
149
+ </div>
150
+ </xsl:template>
151
  </xsl:stylesheet>