Version Description
Download this release
Release Info
Developer | arnee |
Plugin | Google XML Sitemaps |
Version | 3.1 |
Comparing to | |
See all releases |
Code changes from version 3.0.3.3 to 3.1
- documentation.txt +257 -0
- img/icon-amazon.gif +0 -0
- img/icon-arne.gif +0 -0
- img/icon-donate.gif +0 -0
- img/icon-email.gif +0 -0
- img/icon-google.gif +0 -0
- img/icon-live.gif +0 -0
- img/icon-paypal.gif +0 -0
- img/icon-trac.gif +0 -0
- img/icon-wordpress.gif +0 -0
- img/icon-yahoo.gif +0 -0
- sitemap-ar_AR.mo → lang/sitemap-ar_AR.mo +0 -0
- sitemap-ar_AR.po → lang/sitemap-ar_AR.po +0 -0
- sitemap-bg_BG.mo → lang/sitemap-bg_BG.mo +0 -0
- sitemap-bg_BG.po → lang/sitemap-bg_BG.po +0 -0
- sitemap-cs_CZ.mo → lang/sitemap-cs_CZ.mo +0 -0
- sitemap-cs_CZ.po → lang/sitemap-cs_CZ.po +0 -0
- sitemap-da_DK.mo → lang/sitemap-da_DK.mo +0 -0
- sitemap-da_DK.po → lang/sitemap-da_DK.po +0 -0
- lang/sitemap-de_DE.mo +0 -0
- sitemap-de_DE.po → lang/sitemap-de_DE.po +58 -5
- sitemap-es_ES.mo → lang/sitemap-es_ES.mo +0 -0
- sitemap-es_ES.po → lang/sitemap-es_ES.po +1 -1
- sitemap-fr_FR.mo → lang/sitemap-fr_FR.mo +0 -0
- sitemap-fr_FR.po → lang/sitemap-fr_FR.po +0 -0
- sitemap-hu_HU.mo → lang/sitemap-hu_HU.mo +0 -0
- sitemap-hu_HU.po → lang/sitemap-hu_HU.po +0 -0
- sitemap-it_IT.mo → lang/sitemap-it_IT.mo +0 -0
- sitemap-it_IT.po → lang/sitemap-it_IT.po +0 -0
- sitemap-ja_EUC.mo → lang/sitemap-ja_EUC.mo +0 -0
- sitemap-ja_EUC.po → lang/sitemap-ja_EUC.po +0 -0
- sitemap-ja_JP.UTF-8.mo → lang/sitemap-ja_JP.UTF-8.mo +0 -0
- sitemap-ja_JP.UTF-8.po → lang/sitemap-ja_JP.UTF-8.po +0 -0
- sitemap-ja_SJIS.mo → lang/sitemap-ja_SJIS.mo +0 -0
- sitemap-ja_SJIS.po → lang/sitemap-ja_SJIS.po +0 -0
- sitemap-ja_UTF.mo → lang/sitemap-ja_UTF.mo +0 -0
- sitemap-ja_UTF.po → lang/sitemap-ja_UTF.po +0 -0
- sitemap-ko_KR.mo → lang/sitemap-ko_KR.mo +0 -0
- sitemap-ko_KR.po → lang/sitemap-ko_KR.po +0 -0
- lang/sitemap-nl_NL.mo +0 -0
- lang/sitemap-nl_NL.po +505 -0
- sitemap-pl_PL.mo → lang/sitemap-pl_PL.mo +0 -0
- sitemap-pl_PL.po → lang/sitemap-pl_PL.po +0 -0
- sitemap-pt_BR.mo → lang/sitemap-pt_BR.mo +0 -0
- sitemap-pt_BR.po → lang/sitemap-pt_BR.po +0 -0
- sitemap-ru_RU.mo → lang/sitemap-ru_RU.mo +0 -0
- sitemap-ru_RU.po → lang/sitemap-ru_RU.po +0 -0
- sitemap-sl_SI.mo → lang/sitemap-sl_SI.mo +0 -0
- sitemap-sl_SI.po → lang/sitemap-sl_SI.po +0 -0
- sitemap-sv_SE.mo → lang/sitemap-sv_SE.mo +0 -0
- sitemap-sv_SE.po → lang/sitemap-sv_SE.po +0 -0
- sitemap-tr_TR.mo → lang/sitemap-tr_TR.mo +0 -0
- sitemap-tr_TR.po → lang/sitemap-tr_TR.po +0 -0
- lang/sitemap-zh_CN.mo +0 -0
- lang/sitemap-zh_CN.po +706 -0
- sitemap-zh_TW.mo → lang/sitemap-zh_TW.mo +0 -0
- sitemap-zh_TW.po → lang/sitemap-zh_TW.po +0 -0
- sitemap.pot → lang/sitemap.pot +764 -711
- sitemap-core.php +2446 -0
- sitemap-de_DE.mo +0 -0
- sitemap-ui.php +1224 -0
- sitemap-zh_CN.mo +0 -0
- sitemap-zh_CN.po +0 -323
- sitemap.php +69 -3879
documentation.txt
ADDED
@@ -0,0 +1,257 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
Contributors:
|
26 |
+
==============================================================================
|
27 |
+
Basic Idea 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 C�sar G�mez Mart�n http://www.cesargomez.org/
|
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 |
+
Ping Code Template 1 James http://www.adlards.com/
|
37 |
+
Ping Code Template 2 John http://www.jonasblog.com/
|
38 |
+
Bug Report Brad http://h3h.net/
|
39 |
+
Bug Report Christian Aust http://publicvoidblog.de/
|
40 |
+
Bug Report Joseph Abboud
|
41 |
+
Bug Report Mike http://baptiste.us/
|
42 |
+
Bug Report Peter http://fastagent.de/
|
43 |
+
Bug Report Glenn http://publicityship.com.au/
|
44 |
+
Bug Report froosh
|
45 |
+
File Handling VJTD3 http://www.vjtd3.com/
|
46 |
+
|
47 |
+
Code, Documentation, Hosting and all other Stuff:
|
48 |
+
Arne Brachhold http://www.arnebrachhold.de/
|
49 |
+
|
50 |
+
Thanks to all contributors and bug reporters! :)
|
51 |
+
|
52 |
+
|
53 |
+
Release History:
|
54 |
+
==============================================================================
|
55 |
+
2005-06-05 1.0 First release
|
56 |
+
2005-06-05 1.1 Added archive support
|
57 |
+
2005-06-05 1.2 Added category support
|
58 |
+
2005-06-05 2.0a Beta: Real Plugin! Static file generation, Admin UI
|
59 |
+
2005-06-05 2.0 Various fixes, more help, more comments, configurable filename
|
60 |
+
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 < ?
|
61 |
+
Thanks to Christian Aust for reporting this :)
|
62 |
+
2005-06-07 2.1 Correct usage of last modification date for cats and archives (thx to Rodney Shupe (http://www.shupe.ca/))
|
63 |
+
Added support for .gz generation
|
64 |
+
Fixed bug which ignored different post/page priorities
|
65 |
+
Should support now different wordpress/admin directories
|
66 |
+
2005-06-07 2.11 Fixed bug with hardcoded table table names instead of the $wpd vars
|
67 |
+
2005-06-07 2.12 Changed SQL Statement of the categories to get it work on MySQL 3
|
68 |
+
2005-06-08 2.2 Added language file support:
|
69 |
+
- Japanese Language Files and code modifications by hiromasa (http://hiromasa.zone.ne.jp/)
|
70 |
+
- German Language File by Arne Brachhold (http://www.arnebrachhold.de)
|
71 |
+
2005-06-14 2.5 Added support for external pages
|
72 |
+
Added support for Google Ping
|
73 |
+
Added the minimum Post Priority option
|
74 |
+
Added Spanish Language File by C�sar G�mez Mart�n (http://www.cesargomez.org/)
|
75 |
+
Added Italian Language File by Stefano Aglietti (http://wordpress-it.it/)
|
76 |
+
Added Traditional Chine Language File by Kirin Lin (http://kirin-lin.idv.tw/)
|
77 |
+
2005-07-03 2.6 Added support to store the files at a custom location
|
78 |
+
Changed the home URL to have a slash at the end
|
79 |
+
Required admin-functions.php so the script will work with external calls, wp-mail for example
|
80 |
+
Added support for other plugins to add content to the sitemap via add_filter()
|
81 |
+
2005-07-20 2.7 Fixed wrong date format in additional pages
|
82 |
+
Added Simplified Chinese Language Files by june6 (http://www.june6.cn/)
|
83 |
+
Added Swedish Language File by Tobias Bergius (http://tobiasbergius.se/)
|
84 |
+
2006-01-07 3.0b Added different priority calculation modes and introduced an API to create custom ones
|
85 |
+
Added support to use the Popularity Contest plugin by Alex King to calculate post priority
|
86 |
+
Added Button to restore default configuration
|
87 |
+
Added several links to homepage and support
|
88 |
+
Added option to exclude password protected posts
|
89 |
+
Added function to start sitemap creation via GET and a secret key
|
90 |
+
Posts and pages marked for publish with a date in the future won't be included
|
91 |
+
Improved compatiblity with other plugins
|
92 |
+
Improved speed and optimized settings handling
|
93 |
+
Improved user-interface
|
94 |
+
Recoded plugin architecture which is now fully OOP
|
95 |
+
2006-01-07 3.0b1 Changed the way for hook support to be PHP5 and PHP4 compatible
|
96 |
+
Readded support for tools like w.Bloggar
|
97 |
+
Fixed "doubled-content" bug with WP2
|
98 |
+
Added xmlns to enable validation
|
99 |
+
2006-03-01 3.0b3 More performance
|
100 |
+
More caching
|
101 |
+
Better support for Popularity Contest and WP 2.x
|
102 |
+
2006-11-16 3.0b4 Fixed bug with option SELECTS
|
103 |
+
Decreased memory usage which should solve timeout and memory problems
|
104 |
+
Updated namespace to support YAHOO and MSN
|
105 |
+
2007-01-19 3.0b5 Javascripted page editor
|
106 |
+
WP 2 Design
|
107 |
+
YAHOO notification
|
108 |
+
New status report, removed ugly logfiles
|
109 |
+
Better Popularity Contest Support
|
110 |
+
Fixed double backslashes on windows systems
|
111 |
+
Added option to specify time limit and memory limit
|
112 |
+
Added option to define a XSLT stylesheet and added a default one
|
113 |
+
Fixed bug with sub-pages. Thanks to:
|
114 |
+
- Mike Baptiste (http://baptiste.us),
|
115 |
+
- Peter Claus Lamprecht (http://fastagent.de)
|
116 |
+
- Glenn Nicholas (http://publicityship.com.au)
|
117 |
+
Improved file handling, thanks to VJTD3 (http://www.VJTD3.com)
|
118 |
+
WP 2.1 improvements
|
119 |
+
2007-01-23 3.0b6 Use memory_get_peak_usage instead of memory_get_usage if available
|
120 |
+
Removed the usage of REQUEST_URI since it not correct in all environments
|
121 |
+
Fixed that sitemap.xml.gz was not compressed
|
122 |
+
Added compat function "stripos" for PHP4 (Thanks to Joseph Abboud!)
|
123 |
+
Streamlined some code
|
124 |
+
2007-05-17 3.0b7 Added option to include the author pages like /author/john
|
125 |
+
Small enhancements, removed stripos dependency and the added compat function
|
126 |
+
Added check to not build the sitemap if importing posts
|
127 |
+
Fixed missing domain parameter for translator name
|
128 |
+
Fixed WP 2.1 / Pre 2.1 post / pages database changes
|
129 |
+
Fixed wrong XSLT location (Thanks froosh)
|
130 |
+
Added Ask.com notification
|
131 |
+
Removed unused javascript
|
132 |
+
2007-07-22 3.0b8 Changed category SQL to prevent unused cats from beeing included
|
133 |
+
Plugin will be loaded on "init" instead of direclty after the file has been loaded.
|
134 |
+
Added support for robots.txt modification
|
135 |
+
Switched YAHOO ping API from YAHOO Web Services to the "normal" ping service which doesn't require an app id
|
136 |
+
Search engines will only be pinged if the sitemap file has changed
|
137 |
+
2007-09-02 3.0b9 Added tag support for WordPress 2.3
|
138 |
+
Now using post_date_gmt instead of post_date everywhere
|
139 |
+
Fixed archive bug with static pages (Thanks to Peter Claus Lamprecht)
|
140 |
+
Fixed some missing translation domains, thanks to Kirin Lin!
|
141 |
+
Added Czech translation files for 2.7.1, thanks to Peter Kahoun (http://kahi.cz)
|
142 |
+
2007-09-04 3.0b10 Added category support for WordPress 2.3
|
143 |
+
Fixed bug with empty URLs in sitemap
|
144 |
+
Repaired GET building
|
145 |
+
Added more info on debug mode
|
146 |
+
2007-09-23 3.0b11 Changed mysql queries to unbuffered queries
|
147 |
+
Uses MUCH less memory
|
148 |
+
Fixed really stupid bug with search engine pings
|
149 |
+
Option to set how many posts will be included
|
150 |
+
2007-09-24 3.0 Yeah, 3.0 Final after one and a half year ;)
|
151 |
+
Removed useless functions
|
152 |
+
2007-11-03 3.0.1 Using the Snoopy HTTP client for ping requests instead of wp_remote_fopen
|
153 |
+
Fixed undefined translation strings
|
154 |
+
Added "safemode" for SQL which doesn't use unbuffered results (old style)
|
155 |
+
Added option to run the building process in background using wp-cron
|
156 |
+
Removed unnecessary function_exists, Thanks to user00265
|
157 |
+
Added links to test the ping if it failed.
|
158 |
+
2007-11-25 3.0.2 Fixed bug which caused that some settings were not saved correctly
|
159 |
+
Added option to exclude pages or post by ID
|
160 |
+
Restored YAHOO ping service with API key since the other one is to unreliable. (see 3.0b8)
|
161 |
+
2007-11-28 3.0.2.1 Fixed wrong XML Schema Location (Thanks to Emanuele Tessore)
|
162 |
+
Added Russian Language files by Sergey http://ryvkin.ru
|
163 |
+
2007-12-30 3.0.3 Added Live Search Ping
|
164 |
+
Removed some hooks which rebuilt the sitemap with every comment
|
165 |
+
2008-03-30 3.0.3.1 Added compatibility CSS for WP 2.5
|
166 |
+
2008-04-28 3.0.3.2 Improved WP 2.5 handling
|
167 |
+
2008-04-29 3.0.3.3 Fixed author pages
|
168 |
+
Enhanced background building and increased delay to 15 seconds
|
169 |
+
Background building is enabled by default
|
170 |
+
2008-04-28 3.1b1 Reorganized files in builder, loader and UI
|
171 |
+
Added 2 step loader so only code that's needed will be loaded
|
172 |
+
Improved WP 2.5 handling
|
173 |
+
Secured all admin actions with nonces
|
174 |
+
2008-05-18 3.1b2 Fixed critical bug with the build in background option
|
175 |
+
Added notification if a build is scheduled
|
176 |
+
2008-05-19 3.1b3 Cleaned up plugin directory and moved asset files to subfolders
|
177 |
+
Fixed background building bug in WP 2.1
|
178 |
+
Removed auto-update plugin link for WP < 2.5
|
179 |
+
2008-05-22 3.1 Marked as 3.1 stable, updated documentation
|
180 |
+
|
181 |
+
|
182 |
+
|
183 |
+
|
184 |
+
Maybe Todo:
|
185 |
+
==============================================================================
|
186 |
+
- Your wishes :)
|
187 |
+
|
188 |
+
|
189 |
+
License:
|
190 |
+
==============================================================================
|
191 |
+
Copyright 2005, 2006, 2007 ARNE BRACHHOLD (email : himself - arnebrachhold - de)
|
192 |
+
|
193 |
+
This program is free software; you can redistribute it and/or modify
|
194 |
+
it under the terms of the GNU General Public License as published by
|
195 |
+
the Free Software Foundation; either version 2 of the License, or
|
196 |
+
(at your option) any later version.
|
197 |
+
|
198 |
+
This program is distributed in the hope that it will be useful,
|
199 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
200 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
201 |
+
GNU General Public License for more details.
|
202 |
+
|
203 |
+
You should have received a copy of the GNU General Public License
|
204 |
+
along with this program; if not, write to the Free Software
|
205 |
+
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
206 |
+
|
207 |
+
|
208 |
+
Developer Documentation
|
209 |
+
==============================================================================
|
210 |
+
|
211 |
+
Adding other pages to the sitemap via other plugins
|
212 |
+
|
213 |
+
This plugin uses the action system of WordPress to allow other plugins
|
214 |
+
to add urls to the sitemap. Simply add your function with add_action to
|
215 |
+
the list and the plugin will execute yours every time the sitemap is build.
|
216 |
+
Use the static method "GetInstance" to get the generator and AddUrl method
|
217 |
+
to add your content.
|
218 |
+
|
219 |
+
Sample:
|
220 |
+
function your_pages() {
|
221 |
+
$generatorObject = &GoogleSitemapGenerator::GetInstance(); //Please note the "&" sign!
|
222 |
+
if($generatorObject!=null) $generatorObject->AddUrl("http://blog.uri/tags/hello/",time(),"daily",0.5);
|
223 |
+
}
|
224 |
+
add_action("sm_buildmap","your_pages");
|
225 |
+
|
226 |
+
Parameters:
|
227 |
+
- The URL to the page
|
228 |
+
- The last modified data, as a UNIX timestamp (optional)
|
229 |
+
- The Change Frequency (daily, hourly, weekly and so on) (optional)
|
230 |
+
- The priority 0.0 to 1.0 (optional)
|
231 |
+
|
232 |
+
===============================================
|
233 |
+
|
234 |
+
Adding additional PriorityProviders
|
235 |
+
|
236 |
+
This plugin uses several classes to calculate the post priority.
|
237 |
+
You can register your own provider and choose it at the options screen.
|
238 |
+
|
239 |
+
Your class has to extend the GoogleSitemapGeneratorPrioProviderBase class
|
240 |
+
which has a default constructor and a method called GetPostPriority
|
241 |
+
which you can override.
|
242 |
+
|
243 |
+
Look at the GoogleSitemapGeneratorPrioByPopularityContestProvider class
|
244 |
+
for an example.
|
245 |
+
|
246 |
+
To register your provider to the sitemap generator, use the following filter:
|
247 |
+
|
248 |
+
add_filter("sm_add_prio_provider","AddMyProvider");
|
249 |
+
|
250 |
+
Your function could look like this:
|
251 |
+
|
252 |
+
function AddMyProvider($providers) {
|
253 |
+
array_push($providers,"MyProviderClass");
|
254 |
+
return $providers;
|
255 |
+
}
|
256 |
+
|
257 |
+
Note that you have to return the modified list!
|
img/icon-amazon.gif
ADDED
Binary file
|
img/icon-arne.gif
ADDED
Binary file
|
img/icon-donate.gif
ADDED
Binary file
|
img/icon-email.gif
ADDED
Binary file
|
img/icon-google.gif
ADDED
Binary file
|
img/icon-live.gif
ADDED
Binary file
|
img/icon-paypal.gif
ADDED
Binary file
|
img/icon-trac.gif
ADDED
Binary file
|
img/icon-wordpress.gif
ADDED
Binary file
|
img/icon-yahoo.gif
ADDED
Binary file
|
sitemap-ar_AR.mo → lang/sitemap-ar_AR.mo
RENAMED
File without changes
|
sitemap-ar_AR.po → lang/sitemap-ar_AR.po
RENAMED
File without changes
|
sitemap-bg_BG.mo → lang/sitemap-bg_BG.mo
RENAMED
File without changes
|
sitemap-bg_BG.po → lang/sitemap-bg_BG.po
RENAMED
File without changes
|
sitemap-cs_CZ.mo → lang/sitemap-cs_CZ.mo
RENAMED
File without changes
|
sitemap-cs_CZ.po → lang/sitemap-cs_CZ.po
RENAMED
File without changes
|
sitemap-da_DK.mo → lang/sitemap-da_DK.mo
RENAMED
File without changes
|
sitemap-da_DK.po → lang/sitemap-da_DK.po
RENAMED
File without changes
|
lang/sitemap-de_DE.mo
ADDED
Binary file
|
sitemap-de_DE.po → lang/sitemap-de_DE.po
RENAMED
@@ -2,7 +2,7 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: sitemap\n"
|
4 |
"POT-Creation-Date: \n"
|
5 |
-
"PO-Revision-Date:
|
6 |
"Last-Translator: Arne Brachhold <http://www.arnebrachhold.de>\n"
|
7 |
"Language-Team: Arne Brachhold <himself@arnebrachhold.de>\n"
|
8 |
"MIME-Version: 1.0\n"
|
@@ -29,11 +29,33 @@ msgstr "Popularity Contest"
|
|
29 |
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>"
|
30 |
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>"
|
31 |
|
32 |
-
|
33 |
-
|
|
|
34 |
|
35 |
-
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
38 |
msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!"
|
39 |
msgstr "Vielen Dank für Deine Spende! Du hilfst mir damit diese kostenlose Software zu unterstützen und weiterzuentwickeln!"
|
@@ -48,6 +70,15 @@ msgstr "Danke dass Du dieses Plugin benutzt! Du hast dieses Plugin vor mehr als
|
|
48 |
msgid "No thanks, please don't bug me anymore!"
|
49 |
msgstr "Nein danke, bitte nicht mehr nerven! "
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
msgid "XML Sitemap Generator for WordPress"
|
52 |
msgstr "XML Sitemap Generator für WordPress"
|
53 |
|
@@ -97,12 +128,20 @@ msgstr "Über dieses Plugin:"
|
|
97 |
msgid "Plugin Homepage"
|
98 |
msgstr "Plugin Startseite"
|
99 |
|
|
|
|
|
|
|
|
|
100 |
msgid "Notify List"
|
101 |
msgstr "E-Mail bei Update"
|
102 |
|
103 |
msgid "Support Forum"
|
104 |
msgstr "Hilfe Forum"
|
105 |
|
|
|
|
|
|
|
|
|
106 |
msgid "Donate with PayPal"
|
107 |
msgstr "Mit PayPal spenden"
|
108 |
|
@@ -222,6 +261,10 @@ msgstr "Die Sitemap-Generierung dauerte <b>%time% sekunden</b>."
|
|
222 |
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."
|
223 |
msgstr "Die Inhalte der Sitemap haben sich <strong>nicht geändert</strong> seit dem letzten mal, daher wurden keine Dateien geschrieben oder Suchmaschinen informiert."
|
224 |
|
|
|
|
|
|
|
|
|
225 |
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>"
|
226 |
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>"
|
227 |
|
@@ -456,6 +499,10 @@ msgstr "Inhalt der Sitemap"
|
|
456 |
msgid "Include homepage"
|
457 |
msgstr "Startseite"
|
458 |
|
|
|
|
|
|
|
|
|
459 |
msgid "Include posts"
|
460 |
msgstr "Beiträge"
|
461 |
|
@@ -522,3 +569,9 @@ msgstr "Änderungen speichern"
|
|
522 |
msgid "Reset options"
|
523 |
msgstr "Einstellungen zurücksetzten"
|
524 |
|
|
|
|
|
|
|
|
|
|
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: sitemap\n"
|
4 |
"POT-Creation-Date: \n"
|
5 |
+
"PO-Revision-Date: 2008-05-18 23:05+0100\n"
|
6 |
"Last-Translator: Arne Brachhold <http://www.arnebrachhold.de>\n"
|
7 |
"Language-Team: Arne Brachhold <himself@arnebrachhold.de>\n"
|
8 |
"MIME-Version: 1.0\n"
|
29 |
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>"
|
30 |
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>"
|
31 |
|
32 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118
|
33 |
+
msgid "Always"
|
34 |
+
msgstr "Immer"
|
35 |
|
36 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119
|
37 |
+
msgid "Hourly"
|
38 |
+
msgstr "Stündlich"
|
39 |
+
|
40 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120
|
41 |
+
msgid "Daily"
|
42 |
+
msgstr "Täglich"
|
43 |
+
|
44 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121
|
45 |
+
msgid "Weekly"
|
46 |
+
msgstr "Wöchentlich"
|
47 |
+
|
48 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122
|
49 |
+
msgid "Monthly"
|
50 |
+
msgstr "Monatlich"
|
51 |
+
|
52 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123
|
53 |
+
msgid "Yearly"
|
54 |
+
msgstr "Jährlich"
|
55 |
+
|
56 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124
|
57 |
+
msgid "Never"
|
58 |
+
msgstr "Nie"
|
59 |
|
60 |
msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!"
|
61 |
msgstr "Vielen Dank für Deine Spende! Du hilfst mir damit diese kostenlose Software zu unterstützen und weiterzuentwickeln!"
|
70 |
msgid "No thanks, please don't bug me anymore!"
|
71 |
msgstr "Nein danke, bitte nicht mehr nerven! "
|
72 |
|
73 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67
|
74 |
+
msgid "Your sitemap is beeing refreshed at the moment. Depending on your blog size this might take some time!"
|
75 |
+
msgstr "Die Sietemap wird im Moment neu erzeugt. Abhängig von der Anzahl Ihrer Beiträge kann dies einige Sekunden dauern."
|
76 |
+
|
77 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69
|
78 |
+
#, php-format
|
79 |
+
msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!"
|
80 |
+
msgstr "Die Sietemap wird in %s Sekunden neu erzeugt. Abhängig von der Anzahl Ihrer Beiträge kann dies einige Sekunden dauern."
|
81 |
+
|
82 |
msgid "XML Sitemap Generator for WordPress"
|
83 |
msgstr "XML Sitemap Generator für WordPress"
|
84 |
|
128 |
msgid "Plugin Homepage"
|
129 |
msgstr "Plugin Startseite"
|
130 |
|
131 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421
|
132 |
+
msgid "Suggest a Feature"
|
133 |
+
msgstr "Funktion vorschlagen"
|
134 |
+
|
135 |
msgid "Notify List"
|
136 |
msgstr "E-Mail bei Update"
|
137 |
|
138 |
msgid "Support Forum"
|
139 |
msgstr "Hilfe Forum"
|
140 |
|
141 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424
|
142 |
+
msgid "Report a Bug"
|
143 |
+
msgstr "Fehler berichten"
|
144 |
+
|
145 |
msgid "Donate with PayPal"
|
146 |
msgstr "Mit PayPal spenden"
|
147 |
|
261 |
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."
|
262 |
msgstr "Die Inhalte der Sitemap haben sich <strong>nicht geändert</strong> seit dem letzten mal, daher wurden keine Dateien geschrieben oder Suchmaschinen informiert."
|
263 |
|
264 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586
|
265 |
+
msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed."
|
266 |
+
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."
|
267 |
+
|
268 |
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>"
|
269 |
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>"
|
270 |
|
499 |
msgid "Include homepage"
|
500 |
msgstr "Startseite"
|
501 |
|
502 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:1013
|
503 |
+
msgid "Include all pages of multi-page posts (<!--nextpage-->)"
|
504 |
+
msgstr "Folgeseiten von Beiträgen (<!--nextpage-->)"
|
505 |
+
|
506 |
msgid "Include posts"
|
507 |
msgstr "Beiträge"
|
508 |
|
569 |
msgid "Reset options"
|
570 |
msgstr "Einstellungen zurücksetzten"
|
571 |
|
572 |
+
msgid "XML-Sitemap Generator"
|
573 |
+
msgstr "XML-Sitemap Generator"
|
574 |
+
|
575 |
+
msgid "XML-Sitemap"
|
576 |
+
msgstr "XML-Sitemap"
|
577 |
+
|
sitemap-es_ES.mo → lang/sitemap-es_ES.mo
RENAMED
File without changes
|
sitemap-es_ES.po → lang/sitemap-es_ES.po
RENAMED
@@ -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
|
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 46706 2008-05-18 23:26:44Z arnee $
|
6 |
#
|
7 |
msgid ""
|
8 |
msgstr ""
|
sitemap-fr_FR.mo → lang/sitemap-fr_FR.mo
RENAMED
File without changes
|
sitemap-fr_FR.po → lang/sitemap-fr_FR.po
RENAMED
File without changes
|
sitemap-hu_HU.mo → lang/sitemap-hu_HU.mo
RENAMED
File without changes
|
sitemap-hu_HU.po → lang/sitemap-hu_HU.po
RENAMED
File without changes
|
sitemap-it_IT.mo → lang/sitemap-it_IT.mo
RENAMED
File without changes
|
sitemap-it_IT.po → lang/sitemap-it_IT.po
RENAMED
File without changes
|
sitemap-ja_EUC.mo → lang/sitemap-ja_EUC.mo
RENAMED
File without changes
|
sitemap-ja_EUC.po → lang/sitemap-ja_EUC.po
RENAMED
File without changes
|
sitemap-ja_JP.UTF-8.mo → lang/sitemap-ja_JP.UTF-8.mo
RENAMED
File without changes
|
sitemap-ja_JP.UTF-8.po → lang/sitemap-ja_JP.UTF-8.po
RENAMED
File without changes
|
sitemap-ja_SJIS.mo → lang/sitemap-ja_SJIS.mo
RENAMED
File without changes
|
sitemap-ja_SJIS.po → lang/sitemap-ja_SJIS.po
RENAMED
File without changes
|
sitemap-ja_UTF.mo → lang/sitemap-ja_UTF.mo
RENAMED
File without changes
|
sitemap-ja_UTF.po → lang/sitemap-ja_UTF.po
RENAMED
File without changes
|
sitemap-ko_KR.mo → lang/sitemap-ko_KR.mo
RENAMED
File without changes
|
sitemap-ko_KR.po → lang/sitemap-ko_KR.po
RENAMED
File without changes
|
lang/sitemap-nl_NL.mo
ADDED
Binary file
|
lang/sitemap-nl_NL.po
ADDED
@@ -0,0 +1,505 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: sitemap\n"
|
4 |
+
"POT-Creation-Date: \n"
|
5 |
+
"PO-Revision-Date: 2008-03-15 10:27+0100\n"
|
6 |
+
"Last-Translator: forkless <forkless@gmail.com>\n"
|
7 |
+
"Language-Team: Arne Brachhold <himself@arnebrachhold.de>\n"
|
8 |
+
"MIME-Version: 1.0\n"
|
9 |
+
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
+
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"X-Poedit-Language: German\n"
|
12 |
+
"X-Poedit-Country: GERMANY\n"
|
13 |
+
|
14 |
+
msgid "Comment Count"
|
15 |
+
msgstr "Aantal Reacties"
|
16 |
+
|
17 |
+
msgid "Uses the number of comments of the post to calculate the priority"
|
18 |
+
msgstr "Gebruikt het aantal reacties van het bericht om de prioriteit te berekenen"
|
19 |
+
|
20 |
+
msgid "Comment Average"
|
21 |
+
msgstr "Reactie Gemiddelde"
|
22 |
+
|
23 |
+
msgid "Uses the average comment count to calculate the priority"
|
24 |
+
msgstr "Gebruik het reactie gemiddelde om de prioriteit te berekenen"
|
25 |
+
|
26 |
+
msgid "Popularity Contest"
|
27 |
+
msgstr "Popularity Contest"
|
28 |
+
|
29 |
+
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>"
|
30 |
+
msgstr "Gebruikt het geactiveerde <a href=\"%1\">Popularity Contest Plugin</a> van <a href=\"%2\">Alex King</a>. Zie <a href=\"%3\">instellingen</a> en <a href=\"%4\">meest populaire berichten</a>"
|
31 |
+
|
32 |
+
msgid "XML-Sitemap Generator"
|
33 |
+
msgstr "XML-Sitemap Generator"
|
34 |
+
|
35 |
+
msgid "XML-Sitemap"
|
36 |
+
msgstr "XML-Sitemap"
|
37 |
+
|
38 |
+
msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!"
|
39 |
+
msgstr "Hartelijke dank voor je donatie! Je helpt hierbij deze gratis plugin te ondersteunen en verder te ontwikkelen!"
|
40 |
+
|
41 |
+
msgid "Hide this notice"
|
42 |
+
msgstr "Deze melding verbergen"
|
43 |
+
|
44 |
+
msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one 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>"
|
45 |
+
msgstr "Bedankt voor het gebruiken van deze plugin! Je hebt deze plugin meer dan een maand geleden geinstalleerd. Wanneer het naar behoren werkt en je met het resultaat tevreden bent is het dan niet minsten één dollar waard? <a href=\"%s\">Donaties</a> helpen mij deze diese <i>gratis</i> software te ondersteunen en verder te ontwikkelen! <a href=\"%s\">Natuurlijk, geen probleem!</a> "
|
46 |
+
|
47 |
+
msgid "No thanks, please don't bug me anymore!"
|
48 |
+
msgstr "Nee dankjewel, val me hier niet meer mee lastig! "
|
49 |
+
|
50 |
+
msgid "XML Sitemap Generator for WordPress"
|
51 |
+
msgstr "XML Sitemap Generator voor WordPress"
|
52 |
+
|
53 |
+
msgid "Configuration updated"
|
54 |
+
msgstr "De instellingen zijn opgeslagen"
|
55 |
+
|
56 |
+
msgid "Error while saving options"
|
57 |
+
msgstr "Bij het opslaan van de instellingen is een fout opgetreden."
|
58 |
+
|
59 |
+
msgid "Pages saved"
|
60 |
+
msgstr "Pagina's opgeslagen"
|
61 |
+
|
62 |
+
msgid "Error while saving pages"
|
63 |
+
msgstr "Bij het opslaan van de pagina's is een fout opgetreden"
|
64 |
+
|
65 |
+
msgid "<a href=\"%s\">Robots.txt</a> file saved"
|
66 |
+
msgstr "<a href=\"%s\">Robots.txt</a> bestand opgeslagen"
|
67 |
+
|
68 |
+
msgid "Error while saving Robots.txt file"
|
69 |
+
msgstr "Er is een fout opgetreden tijdens het opslaan van robots.txt"
|
70 |
+
|
71 |
+
msgid "The default configuration was restored."
|
72 |
+
msgstr "De standaard instellingen zijn weer hersteld."
|
73 |
+
|
74 |
+
msgid "open"
|
75 |
+
msgstr "openen"
|
76 |
+
|
77 |
+
msgid "close"
|
78 |
+
msgstr "sluiten"
|
79 |
+
|
80 |
+
msgid "click-down and drag to move this box"
|
81 |
+
msgstr "Klik en sleep om dit venster te verplaatsen"
|
82 |
+
|
83 |
+
msgid "click to %toggle% this box"
|
84 |
+
msgstr "Klik om dit venster te %toggle%"
|
85 |
+
|
86 |
+
msgid "use the arrow keys to move this box"
|
87 |
+
msgstr "gebruik de cursor toetsen om dit venster te verplaatsen"
|
88 |
+
|
89 |
+
msgid ", or press the enter key to %toggle% it"
|
90 |
+
msgstr ", of druk op de enter toets om het te %toggle%"
|
91 |
+
|
92 |
+
msgid "About this Plugin:"
|
93 |
+
msgstr "Over deze plugin:"
|
94 |
+
|
95 |
+
msgid "Plugin Homepage"
|
96 |
+
msgstr "Plugin homepage"
|
97 |
+
|
98 |
+
msgid "Notify List"
|
99 |
+
msgstr "E-Mail wanneer er een update is"
|
100 |
+
|
101 |
+
msgid "Support Forum"
|
102 |
+
msgstr "Support Forum"
|
103 |
+
|
104 |
+
msgid "Donate with PayPal"
|
105 |
+
msgstr "Met PayPal doneren"
|
106 |
+
|
107 |
+
msgid "My Amazon Wish List"
|
108 |
+
msgstr "Amazon wensenlijst"
|
109 |
+
|
110 |
+
msgid "translator_name"
|
111 |
+
msgstr "Mark Peters"
|
112 |
+
|
113 |
+
msgid "translator_url"
|
114 |
+
msgstr "http://www.zinloosverteld.nl"
|
115 |
+
|
116 |
+
msgid "Sitemap Resources:"
|
117 |
+
msgstr "Sitemap informatie:"
|
118 |
+
|
119 |
+
msgid "Webmaster Tools"
|
120 |
+
msgstr "Webmaster Tools"
|
121 |
+
|
122 |
+
msgid "Webmaster Blog"
|
123 |
+
msgstr "Webmaster Blog"
|
124 |
+
|
125 |
+
msgid "Site Explorer"
|
126 |
+
msgstr "Site Explorer"
|
127 |
+
|
128 |
+
msgid "Search Blog"
|
129 |
+
msgstr "Doorzoek Blog"
|
130 |
+
|
131 |
+
msgid "Webmaster Center Blog"
|
132 |
+
msgstr "Webmaster Center Blog"
|
133 |
+
|
134 |
+
msgid "Sitemaps Protocol"
|
135 |
+
msgstr "Sitemaps Protocol"
|
136 |
+
|
137 |
+
msgid "Official Sitemaps FAQ"
|
138 |
+
msgstr "Officiële Sitemaps FAQ"
|
139 |
+
|
140 |
+
msgid "My Sitemaps FAQ"
|
141 |
+
msgstr "Mijn Sitemaps FAQ"
|
142 |
+
|
143 |
+
msgid "Recent Donations:"
|
144 |
+
msgstr "Recente Donaties:"
|
145 |
+
|
146 |
+
msgid "List of the donors"
|
147 |
+
msgstr "Lijst van donateurs"
|
148 |
+
|
149 |
+
msgid "Hide this list"
|
150 |
+
msgstr "Lijst verbergen"
|
151 |
+
|
152 |
+
msgid "Thanks for your support!"
|
153 |
+
msgstr "Bedankt voor je support!"
|
154 |
+
|
155 |
+
msgid "Status"
|
156 |
+
msgstr "Status"
|
157 |
+
|
158 |
+
msgid "The sitemap wasn't built yet. <a href=\"%s\">Click here</a> to build it the first time."
|
159 |
+
msgstr "De sitemap is nog niet gegenereerd. <a href=\"%s\">Klik hier</a> om deze voor de eerste keer aan te maken."
|
160 |
+
|
161 |
+
msgid "Your <a href=\"%url%\">sitemap</a> was last built on <b>%date%</b>."
|
162 |
+
msgstr "Jouw <a href=\"%url%\">Sitemap</a> werd voor het laatst op <b>%date%</b> gegenereerd."
|
163 |
+
|
164 |
+
msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. <a href=\"%url%\">Learn more</a"
|
165 |
+
msgstr "Er was een probleem met het opslaan van je sitemap bestand. Controleer of het bestand bestaat en de juiste bestandspermissies heeft. <a href=\"%url%\">Meer informatie</a"
|
166 |
+
|
167 |
+
msgid "Your sitemap (<a href=\"%url%\">zipped</a>) was last built on <b>%date%</b>."
|
168 |
+
msgstr "Jouw (<a href=\"%url%\">gezipt</a>) sitemap werd voor het laatst op <b>%date%</b> gegenereerd."
|
169 |
+
|
170 |
+
msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. <a href=\"%url%\">Learn more</a"
|
171 |
+
msgstr "Er was een probleem met het opslaan van het gezipte sitemap bestand. Controleer of het bestand bestand en de juiste bestandspermissies heeft. <a href=\"%url%\">Meer informatie</a"
|
172 |
+
|
173 |
+
msgid "Google was <b>successfully notified</b> about changes."
|
174 |
+
msgstr "Google is <b>succesvol</b> op de hoogte gesteld van de veranderingen."
|
175 |
+
|
176 |
+
msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time."
|
177 |
+
msgstr "Het duurde %time% seconden om Google op de hoogte te stellen. Misschien wil je deze optie deactiveren om de doorlooptijd van de sitemap generatie te verkorten?"
|
178 |
+
|
179 |
+
msgid "There was a problem while notifying Google. <a href=\"%s\">View result</a>"
|
180 |
+
msgstr "Er was een probleem bij het informeren van Google. <a href=\"%s\">Resultaat weergeven</a>"
|
181 |
+
|
182 |
+
msgid "YAHOO was <b>successfully notified</b> about changes."
|
183 |
+
msgstr "Yahoo is <b>succesvol</b> op de hoogte gesteld van de veranderingen."
|
184 |
+
|
185 |
+
msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time."
|
186 |
+
msgstr "Het duurde %time% seconden om Yahoo op de hoogte te stellen. Misschien wil je deze optie deactiveren om de doorlooptijd van de sitemap generatie te verkorten?"
|
187 |
+
|
188 |
+
msgid "There was a problem while notifying YAHOO. <a href=\"%s\">View result</a>"
|
189 |
+
msgstr "Er was een probleem bij het informeren van Yahoo. <a href=\"%s\">Resultaat weergeven</a>"
|
190 |
+
|
191 |
+
msgid "MSN was <b>successfully notified</b> about changes."
|
192 |
+
msgstr "MSN.com is <b>succesvol</b> op de hoogte gesteld van de veranderingen."
|
193 |
+
|
194 |
+
msgid "It took %time% seconds to notify MSN.com, maybe you want to disable this feature to reduce the building time."
|
195 |
+
msgstr "Het duurde %time% seconden om MSN.com op de hoogte te stellen. Misschien wil je deze optie deactiveren om de doorlooptijd van de sitemap generatie te verkorten?"
|
196 |
+
|
197 |
+
msgid "There was a problem while notifying MSN.com. <a href=\"%s\">View result</a>"
|
198 |
+
msgstr "Er was een probleem bij het informeren van MSN.com. <a href=\"%s\">Resultaat weergeven</a>"
|
199 |
+
|
200 |
+
msgid "Ask.com was <b>successfully notified</b> about changes."
|
201 |
+
msgstr "Ask.com is <b>succesvol</b> op de hoogte gesteld van de veranderingen."
|
202 |
+
|
203 |
+
msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time."
|
204 |
+
msgstr "Het duurde %time% seconden om Ask.com op de hoogte te stellen. Misschien wil je deze optie deactiveren om de doorlooptijd van de sitemap generatie te verkorten?"
|
205 |
+
|
206 |
+
msgid "There was a problem while notifying Ask.com. <a href=\"%s\">View result</a>"
|
207 |
+
msgstr "Er was een probleem bij het informeren van Ask.com. <a href=\"%s\">Resultaat weergeven</a>"
|
208 |
+
|
209 |
+
msgid "The building process took about <b>%time% seconds</b> to complete and used %memory% MB of memory."
|
210 |
+
msgstr "Het sitemap genereren duurde <b>%time% seconden</b> en gebruikte %memory%MB geheugen."
|
211 |
+
|
212 |
+
msgid "The building process took about <b>%time% seconds</b> to complete."
|
213 |
+
msgstr "Het sitemap genereren duurde <b>%time% seconden</b>."
|
214 |
+
|
215 |
+
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."
|
216 |
+
msgstr "De inhoud van de sitemap heeft zich <strong>niet gewijzigd</strong> sinds de laatste keer, als gevolgd zijn er geen bestanden weggeschreven en zijn de zoekmachines niet op de hoogte gesteld."
|
217 |
+
|
218 |
+
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>"
|
219 |
+
msgstr "De laatste generatie van de sitemap is niet afgesloten! Het kan helpen de geheugenlimiet voor PHP scripts te verhogen. <a href=\"%url%\">Meer informatie</a>"
|
220 |
+
|
221 |
+
msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%."
|
222 |
+
msgstr "Het laatst bekende geheugengebruik van het script lag op %memused%MB, het limiet voor PHP scripts op deze server is %memlimit%."
|
223 |
+
|
224 |
+
msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds."
|
225 |
+
msgstr "De laatst bekende doorlooptijd lag op %timeused% seconden, het limiet voor PHP scripts voor deze server is %timelimit% seconden."
|
226 |
+
|
227 |
+
msgid "The script stopped around post number %lastpost% (+/- 100)"
|
228 |
+
msgstr "Het script is ongeveer gestopt bij bericht nummer %lastpost% (+/- 100)"
|
229 |
+
|
230 |
+
msgid "If you changed something on your server or blog, you should <a href=\"%s\">rebuild the sitemap</a> manually."
|
231 |
+
msgstr "Wanneer er iets gewijzigd is op de server of aan het Blog, dan kan men de sitemap met de hand opnieuw <a href=\"%s\">genereren</a>."
|
232 |
+
|
233 |
+
msgid "If you encounter any problems with the build process you can use the <a href=\"%d\">debug function</a> to get more information."
|
234 |
+
msgstr "Indien er bij het genereren van de sitemap problemen zijn kan men de <a href=\"%d\">Debug Functie</a> gebruiken om meer informatie over de opgetreden fout te achterhalen."
|
235 |
+
|
236 |
+
msgid "Basic Options"
|
237 |
+
msgstr "Basisinstellingen"
|
238 |
+
|
239 |
+
msgid "Sitemap files:"
|
240 |
+
msgstr "Sitemap bestanden:"
|
241 |
+
|
242 |
+
msgid "Learn more"
|
243 |
+
msgstr "Meer informatie"
|
244 |
+
|
245 |
+
msgid "Write a normal XML file (your filename)"
|
246 |
+
msgstr "Sitemap als XML bestand aanmaken (bestandsnaam)"
|
247 |
+
|
248 |
+
msgid "Write a gzipped file (your filename + .gz)"
|
249 |
+
msgstr "Gezipte sitemap aanmaken (bestandsnaam + .gz)"
|
250 |
+
|
251 |
+
msgid "Building mode:"
|
252 |
+
msgstr "Generatie mode::"
|
253 |
+
|
254 |
+
msgid "Rebuild sitemap if you change the content of your blog"
|
255 |
+
msgstr "Sitemap opnieuw genereren wanneer je de inhoud van je Blog wijzigt"
|
256 |
+
|
257 |
+
msgid "Enable manual sitemap building via GET Request"
|
258 |
+
msgstr "Handmatig genereren van de sitemap via GET aanvragen toestaan"
|
259 |
+
|
260 |
+
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 logfile above to see if sitemap was successfully built."
|
261 |
+
msgstr "Hiermee kun je je sitemap opnieuw genereren indien een externe tool in de database van WordPress geschreven heeft zonder gebruik te maken van de API. Gebruik de volgende URL om het process te starten: <a href=\"%1\">%1</a> Controleer het logbestand hierboven om te kijken of de sitemap succesvol is gegenereerd."
|
262 |
+
|
263 |
+
msgid "Update notification:"
|
264 |
+
msgstr "Wijzigings notificatie:"
|
265 |
+
|
266 |
+
msgid "Notify Google about updates of your Blog"
|
267 |
+
msgstr "Google YAHOO op de hoogte stellen van de Blog wijzigingen"
|
268 |
+
|
269 |
+
msgid "No registration required, but you can join the <a href=\"%s\">Google Webmaster Tools</a> to check crawling statistics."
|
270 |
+
msgstr "Registratie niet noodzakelijk, maar je kunt je optioneel aanmelden bij de <a href=\"%s\">Google Webmaster Tools</a> om de indexeringsstatistieken van de site te bekijken."
|
271 |
+
|
272 |
+
msgid "Notify MSN Live Search about updates of your Blog"
|
273 |
+
msgstr "MSN Live Search op de hoogte stellen van de Blog wijzigingen"
|
274 |
+
|
275 |
+
msgid "No registration required, but you can join the <a href=\"%s\">MSN Live Webmaster Tools</a> to check crawling statistics."
|
276 |
+
msgstr "Registratie niet noodzakelijk, maar je kunt je optioneel aanmelden bij de <a href=\"%s\">MSN Live Webmaster Tools</a> om de indexeringsstatistieken van de site te bekijken."
|
277 |
+
|
278 |
+
msgid "Notify Ask.com about updates of your Blog"
|
279 |
+
msgstr "Ask.com YAHOO op de hoogte stellen van de Blog wijzigingen"
|
280 |
+
|
281 |
+
msgid "No registration required."
|
282 |
+
msgstr "Geen registratie noodzakelijk"
|
283 |
+
|
284 |
+
msgid "Notify YAHOO about updates of your Blog"
|
285 |
+
msgstr "YAHOO op de hoogte stellen van de Blog wijzigingen"
|
286 |
+
|
287 |
+
msgid "Your Application ID:"
|
288 |
+
msgstr "Jouw Application ID:"
|
289 |
+
|
290 |
+
msgid "Don't you have such a key? <a href=\"%s1\">Request one here</a>!</a> %s2"
|
291 |
+
msgstr "Nog geen key? <a href=\"%s1\">Hier aanvragen</a>!</a> %s2"
|
292 |
+
|
293 |
+
msgid "Modify or create %s file in blog root which contains the sitemap location."
|
294 |
+
msgstr "Maak of wijzig het %s bestand in de root directory van je Blog."
|
295 |
+
|
296 |
+
msgid "File permissions: "
|
297 |
+
msgstr "Bestands permissies:"
|
298 |
+
|
299 |
+
msgid "OK, robots.txt is writable."
|
300 |
+
msgstr "OK, robots.txt kan weggeschreven worden."
|
301 |
+
|
302 |
+
msgid "Error, robots.txt is not writable."
|
303 |
+
msgstr "Error, robots.txt kan niet weggeschreven worden."
|
304 |
+
|
305 |
+
msgid "OK, robots.txt doesn't exist but the directory is writable."
|
306 |
+
msgstr "OK, robots.txt bestaat nog niet, maar de directory kan beschreven worden."
|
307 |
+
|
308 |
+
msgid "Error, robots.txt doesn't exist and the directory is not writable"
|
309 |
+
msgstr "Error, robots.txt bestaat niet en de directory is niet beschrijfbaar"
|
310 |
+
|
311 |
+
msgid "Advanced options:"
|
312 |
+
msgstr "Uitgebreide instellingen"
|
313 |
+
|
314 |
+
msgid "Limit the number of posts in the sitemap:"
|
315 |
+
msgstr "Het aantal berichten in de sitemap limiteren:"
|
316 |
+
|
317 |
+
msgid "Newer posts will be included first"
|
318 |
+
msgstr "Nieuwe berichten worden het eerst opgenomen"
|
319 |
+
|
320 |
+
msgid "Try to increase the memory limit to:"
|
321 |
+
msgstr "Probeer de geheugenlimiet te verhogen naar: "
|
322 |
+
|
323 |
+
msgid "e.g. \"4M\", \"16M\""
|
324 |
+
msgstr "bijv. \"4M\", \"16M\""
|
325 |
+
|
326 |
+
msgid "Try to increase the execution time limit to:"
|
327 |
+
msgstr "Probeer de tijdslimiet van de generatie aan te passen naar:"
|
328 |
+
|
329 |
+
msgid "in seconds, e.g. \"60\" or \"0\" for unlimited"
|
330 |
+
msgstr "in seconden, bijv. \"60\" of \"0\" voor geen limiet"
|
331 |
+
|
332 |
+
msgid "Include a XSLT stylesheet:"
|
333 |
+
msgstr "XSLT stylesheet toevoegen:"
|
334 |
+
|
335 |
+
msgid "Use Default"
|
336 |
+
msgstr "Gebruik de standaard"
|
337 |
+
|
338 |
+
msgid "Full or relative URL to your .xsl file"
|
339 |
+
msgstr "Volledige of relatieve pad naar het .xsl bestand"
|
340 |
+
|
341 |
+
msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)"
|
342 |
+
msgstr "MySQL standaard mode activeren. Gebruik deze optie indien MYSQL fouten optreden (gebruikt meer geheugen!)"
|
343 |
+
|
344 |
+
msgid "Build the sitemap in a background process (You don't have to wait when you save a post)"
|
345 |
+
msgstr "Genereer de sitemap in de achtergrond (Hierdoor is er geen wachttijd wanneer er een bericht wordt geplaatst)"
|
346 |
+
|
347 |
+
msgid "Exclude the following posts or pages:"
|
348 |
+
msgstr "Volgende berichten of pagina's uitsluiten:"
|
349 |
+
|
350 |
+
msgid "List of IDs, separated by comma"
|
351 |
+
msgstr "Lijst van de IDs, gescheiden door komma"
|
352 |
+
|
353 |
+
msgid "Additional pages"
|
354 |
+
msgstr "Addtionele pagina's"
|
355 |
+
|
356 |
+
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"
|
357 |
+
msgstr "Hier kunnen de bestanden of URLHier 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."
|
358 |
+
|
359 |
+
msgid "Note"
|
360 |
+
msgstr "Notitie"
|
361 |
+
|
362 |
+
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 "Location of your sitemap file" section on this page)!"
|
363 |
+
msgstr "Indien het Blog in een subdirectory staat en je wilt pagina's toevoegen die NIET in de Blog of onderliggende directories liggen, dan MOET je je sitemap bestand in de root direcotry van de webserver plaatsten. (Kijk naar de "Locatie van het sitemap bestand" sectiew op deze pagina)!"
|
364 |
+
|
365 |
+
msgid "URL to the page"
|
366 |
+
msgstr "URL naar de pagina"
|
367 |
+
|
368 |
+
msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home "
|
369 |
+
msgstr "Vul hier de URL naar de pagina in. Voorbeeld: http://www.zinloosverteld.nl of http://www.zinloosverteld.nl/blog"
|
370 |
+
|
371 |
+
msgid "Priority"
|
372 |
+
msgstr "Prioriteit"
|
373 |
+
|
374 |
+
msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint."
|
375 |
+
msgstr "Kies hier de prioriteit van de pagina relatief ten opzichte van andere pagina's. Bijvoorbeeld, de homepage heeft een hogere prioriteit dan een colofon pagina."
|
376 |
+
|
377 |
+
msgid "Last Changed"
|
378 |
+
msgstr "Laatste wijziging"
|
379 |
+
|
380 |
+
msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)."
|
381 |
+
msgstr "Voer hier de laatste wijziging in in het formaat JJJJ-MM-DD (bijv. 2005-12-31). Dit veld is optioneel en hoeft niet ingevuld te worden."
|
382 |
+
|
383 |
+
msgid "Change Frequency"
|
384 |
+
msgstr "Wijzigingsfrequentie"
|
385 |
+
|
386 |
+
msgid "#"
|
387 |
+
msgstr "#"
|
388 |
+
|
389 |
+
msgid "No pages defined."
|
390 |
+
msgstr "Er zijn geen pagina's gedefiniëerd."
|
391 |
+
|
392 |
+
msgid "Add new page"
|
393 |
+
msgstr "Nieuwe pagina toevoegen"
|
394 |
+
|
395 |
+
msgid "Post Priority"
|
396 |
+
msgstr "Bericht prioriteit"
|
397 |
+
|
398 |
+
msgid "Please select how the priority of each post should be calculated:"
|
399 |
+
msgstr "Kies hier de berekeningsmethode voor de prioriteit van de berichten."
|
400 |
+
|
401 |
+
msgid "Do not use automatic priority calculation"
|
402 |
+
msgstr "Geen automatische prioriteitsberekening gebruiken"
|
403 |
+
|
404 |
+
msgid "All posts will have the same priority which is defined in "Priorities""
|
405 |
+
msgstr "Alle berichten hebben dezelfde prioriteit die onder "Prioriteiten" is ingesteld."
|
406 |
+
|
407 |
+
msgid "Location of your sitemap file"
|
408 |
+
msgstr "Locatie van het sitemap bestand"
|
409 |
+
|
410 |
+
msgid "Automatic detection"
|
411 |
+
msgstr "Automatische herkenning"
|
412 |
+
|
413 |
+
msgid "Filename of the sitemap file"
|
414 |
+
msgstr "Bestandsnaam van de sitemap"
|
415 |
+
|
416 |
+
msgid "Detected Path"
|
417 |
+
msgstr "Herkend pad"
|
418 |
+
|
419 |
+
msgid "Detected URL"
|
420 |
+
msgstr "Herkende URL"
|
421 |
+
|
422 |
+
msgid "Custom location"
|
423 |
+
msgstr "Handmatig ingesteld pad"
|
424 |
+
|
425 |
+
msgid "Absolute or relative path to the sitemap file, including name."
|
426 |
+
msgstr "Absoluut of relatief pad naar het sitemap bestand inclusief bestandsnaam."
|
427 |
+
|
428 |
+
msgid "Example"
|
429 |
+
msgstr "Voorbeeld"
|
430 |
+
|
431 |
+
msgid "Complete URL to the sitemap file, including name."
|
432 |
+
msgstr "Absolute URL naar het sitemap bestand inclusief de bestandsnaam."
|
433 |
+
|
434 |
+
msgid "Sitemap Content"
|
435 |
+
msgstr "Sitemap inhoud"
|
436 |
+
|
437 |
+
msgid "Include homepage"
|
438 |
+
msgstr "Bevat homepage"
|
439 |
+
|
440 |
+
msgid "Include posts"
|
441 |
+
msgstr "Bevat berichten"
|
442 |
+
|
443 |
+
msgid "Include static pages"
|
444 |
+
msgstr "Bevat statische pagina's"
|
445 |
+
|
446 |
+
msgid "Include categories"
|
447 |
+
msgstr "Bevat categorieën"
|
448 |
+
|
449 |
+
msgid "Include archives"
|
450 |
+
msgstr "Bevat archieven"
|
451 |
+
|
452 |
+
msgid "Include tag pages"
|
453 |
+
msgstr "Bevag tag pagina's"
|
454 |
+
|
455 |
+
msgid "Include author pages"
|
456 |
+
msgstr "Bevat auteur pagina's"
|
457 |
+
|
458 |
+
msgid "Change frequencies"
|
459 |
+
msgstr "Wijzigingsfrequentie"
|
460 |
+
|
461 |
+
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."
|
462 |
+
msgstr "Let er op dat de waarde van deze tag als tip gezien wordt en niet als commando. Zoekmachines kunnen deze tip oppakken, echter hoeven zij zich er niet aan te houden. Ze kunnen pagina's per \"Hourly\" gemarkeerd minder bezoeken. En pagina's gemarkeerd \"Yearly\" kunnen frequentere controles krijgen. Ook pagina's gemarkeerd \"Never\" kunnen worden bezocht om zo onverwachte veranderingen op te pakken."
|
463 |
+
|
464 |
+
msgid "Homepage"
|
465 |
+
msgstr "Homepage"
|
466 |
+
|
467 |
+
msgid "Posts"
|
468 |
+
msgstr "Berichten"
|
469 |
+
|
470 |
+
msgid "Static pages"
|
471 |
+
msgstr "Statische pagina's"
|
472 |
+
|
473 |
+
msgid "Categories"
|
474 |
+
msgstr "Categorieën"
|
475 |
+
|
476 |
+
msgid "The current archive of this month (Should be the same like your homepage)"
|
477 |
+
msgstr "Het archief van de huidige maand (Zou hetzelfde moeten zijn als de homepage)"
|
478 |
+
|
479 |
+
msgid "Older archives (Changes only if you edit an old post)"
|
480 |
+
msgstr "Archieven van voorgaande maanden"
|
481 |
+
|
482 |
+
msgid "Tag pages"
|
483 |
+
msgstr "Tag pagina's"
|
484 |
+
|
485 |
+
msgid "Author pages"
|
486 |
+
msgstr "Auteur pagina's"
|
487 |
+
|
488 |
+
msgid "Priorities"
|
489 |
+
msgstr "Prioriteiten"
|
490 |
+
|
491 |
+
msgid "Posts (If auto calculation is disabled)"
|
492 |
+
msgstr "Berichten (Wanneer automatische berekening is geactiveerd)"
|
493 |
+
|
494 |
+
msgid "Minimum post priority (Even if auto calculation is enabled)"
|
495 |
+
msgstr "Minimale prioriteit voor berichten (ook wanneer de automatische berekening is geactiveerd)"
|
496 |
+
|
497 |
+
msgid "Archives"
|
498 |
+
msgstr "Archieven"
|
499 |
+
|
500 |
+
msgid "Update options"
|
501 |
+
msgstr "Instellingen opslaan"
|
502 |
+
|
503 |
+
msgid "Reset options"
|
504 |
+
msgstr "Instellingen herstellen"
|
505 |
+
|
sitemap-pl_PL.mo → lang/sitemap-pl_PL.mo
RENAMED
File without changes
|
sitemap-pl_PL.po → lang/sitemap-pl_PL.po
RENAMED
File without changes
|
sitemap-pt_BR.mo → lang/sitemap-pt_BR.mo
RENAMED
File without changes
|
sitemap-pt_BR.po → lang/sitemap-pt_BR.po
RENAMED
File without changes
|
sitemap-ru_RU.mo → lang/sitemap-ru_RU.mo
RENAMED
File without changes
|
sitemap-ru_RU.po → lang/sitemap-ru_RU.po
RENAMED
File without changes
|
sitemap-sl_SI.mo → lang/sitemap-sl_SI.mo
RENAMED
File without changes
|
sitemap-sl_SI.po → lang/sitemap-sl_SI.po
RENAMED
File without changes
|
sitemap-sv_SE.mo → lang/sitemap-sv_SE.mo
RENAMED
File without changes
|
sitemap-sv_SE.po → lang/sitemap-sv_SE.po
RENAMED
File without changes
|
sitemap-tr_TR.mo → lang/sitemap-tr_TR.mo
RENAMED
File without changes
|
sitemap-tr_TR.po → lang/sitemap-tr_TR.po
RENAMED
File without changes
|
lang/sitemap-zh_CN.mo
ADDED
Binary file
|
lang/sitemap-zh_CN.po
ADDED
@@ -0,0 +1,706 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: sitemap\n"
|
4 |
+
"POT-Creation-Date: \n"
|
5 |
+
"PO-Revision-Date: 2008-03-31 04:52+0800\n"
|
6 |
+
"Last-Translator: dupola <dupola.com@gmail.com>\n"
|
7 |
+
"Language-Team: dupola <dupola.com@gmail.com>\n"
|
8 |
+
"MIME-Version: 1.0\n"
|
9 |
+
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
+
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"X-Poedit-Language: Chinese\n"
|
12 |
+
"X-Poedit-Country: China\n"
|
13 |
+
"X-Poedit-Basepath: D:\\usr\\www\\wp-content\\plugins\\sitemap\n"
|
14 |
+
"X-Poedit-KeywordsList: _e;__\n"
|
15 |
+
"X-Poedit-SearchPath-0: D:\\usr\\www\\wp-content\\plugins\\sitemap\n"
|
16 |
+
|
17 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846
|
18 |
+
msgid "Comment Count"
|
19 |
+
msgstr "评论数量"
|
20 |
+
|
21 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858
|
22 |
+
msgid "Uses the number of comments of the post to calculate the priority"
|
23 |
+
msgstr "通过文章评论数量的多少来决定优先"
|
24 |
+
|
25 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918
|
26 |
+
msgid "Comment Average"
|
27 |
+
msgstr "评论平均"
|
28 |
+
|
29 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930
|
30 |
+
msgid "Uses the average comment count to calculate the priority"
|
31 |
+
msgstr "通过评论平均来决定计算优先"
|
32 |
+
|
33 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993
|
34 |
+
msgid "Popularity Contest"
|
35 |
+
msgstr "热门内容"
|
36 |
+
|
37 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005
|
38 |
+
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>"
|
39 |
+
msgstr "使用已经激活的 <a href=\"%2\">Alex King</a> 的 <a href=\"%1\">热门日志插件</a>。 查看 <a href=\"%3\">设置</a> and <a href=\"%4\">最流行日志</a>"
|
40 |
+
|
41 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415
|
42 |
+
msgid "XML-Sitemap Generator"
|
43 |
+
msgstr "XML-Sitemap 生成器"
|
44 |
+
|
45 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415
|
46 |
+
msgid "XML-Sitemap"
|
47 |
+
msgstr "XML-Sitemap"
|
48 |
+
|
49 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600
|
50 |
+
msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!"
|
51 |
+
msgstr "非常感谢你的捐赠,你的帮助可以使我继续开发该这个和其他项目!"
|
52 |
+
|
53 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600
|
54 |
+
msgid "Hide this notice"
|
55 |
+
msgstr "隐藏提示"
|
56 |
+
|
57 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657
|
58 |
+
#, php-format
|
59 |
+
msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one 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>"
|
60 |
+
msgstr "感谢你使用这个插件!你已经启用这个插件一个多月了。运行得很不错,你觉得它值不值1美元?<a href=\"%s\">捐赠</a> 帮助我继续开发这个 <i>免费</i> 软件! <a href=\"%s\">当然,没问题!</a>"
|
61 |
+
|
62 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657
|
63 |
+
msgid "No thanks, please don't bug me anymore!"
|
64 |
+
msgstr "不,请别再再骚扰我啦!"
|
65 |
+
|
66 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635
|
67 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835
|
68 |
+
msgid "XML Sitemap Generator for WordPress"
|
69 |
+
msgstr "XML 地图生成器"
|
70 |
+
|
71 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740
|
72 |
+
msgid "Configuration updated"
|
73 |
+
msgstr "配置已更新"
|
74 |
+
|
75 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741
|
76 |
+
msgid "Error while saving options"
|
77 |
+
msgstr "保存设置时出错"
|
78 |
+
|
79 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743
|
80 |
+
msgid "Pages saved"
|
81 |
+
msgstr "页面已保存"
|
82 |
+
|
83 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744
|
84 |
+
msgid "Error while saving pages"
|
85 |
+
msgstr "保存页面时出错"
|
86 |
+
|
87 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2748
|
88 |
+
#, php-format
|
89 |
+
msgid "<a href=\"%s\">Robots.txt</a> file saved"
|
90 |
+
msgstr "<a href=\"%s\">Robots.txt</a> 文件已保存"
|
91 |
+
|
92 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2750
|
93 |
+
msgid "Error while saving Robots.txt file"
|
94 |
+
msgstr "保存 Robots.txt 文件时出错"
|
95 |
+
|
96 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758
|
97 |
+
msgid "The default configuration was restored."
|
98 |
+
msgstr "默认结构已经被修复。"
|
99 |
+
|
100 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851
|
101 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868
|
102 |
+
msgid "open"
|
103 |
+
msgstr "打开"
|
104 |
+
|
105 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852
|
106 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869
|
107 |
+
msgid "close"
|
108 |
+
msgstr "关闭"
|
109 |
+
|
110 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853
|
111 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870
|
112 |
+
msgid "click-down and drag to move this box"
|
113 |
+
msgstr "点击并拖动它到这个区域"
|
114 |
+
|
115 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854
|
116 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871
|
117 |
+
msgid "click to %toggle% this box"
|
118 |
+
msgstr "点击并 %toggle% 这个区域"
|
119 |
+
|
120 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855
|
121 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872
|
122 |
+
msgid "use the arrow keys to move this box"
|
123 |
+
msgstr "使用箭头指向来移动这个区块"
|
124 |
+
|
125 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856
|
126 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873
|
127 |
+
msgid ", or press the enter key to %toggle% it"
|
128 |
+
msgstr ",或者按这里to %toggle% it"
|
129 |
+
|
130 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884
|
131 |
+
msgid "About this Plugin:"
|
132 |
+
msgstr "关于这个插件:"
|
133 |
+
|
134 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886
|
135 |
+
msgid "Plugin Homepage"
|
136 |
+
msgstr "插件主页"
|
137 |
+
|
138 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887
|
139 |
+
msgid "Notify List"
|
140 |
+
msgstr "通告列表"
|
141 |
+
|
142 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888
|
143 |
+
msgid "Support Forum"
|
144 |
+
msgstr "支持论坛"
|
145 |
+
|
146 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889
|
147 |
+
msgid "Donate with PayPal"
|
148 |
+
msgstr "通过 PayPal 捐赠"
|
149 |
+
|
150 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890
|
151 |
+
msgid "My Amazon Wish List"
|
152 |
+
msgstr "我想要的东西(Amazon)"
|
153 |
+
|
154 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891
|
155 |
+
msgid "translator_name"
|
156 |
+
msgstr "简体中文(dupola)"
|
157 |
+
|
158 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891
|
159 |
+
msgid "translator_url"
|
160 |
+
msgstr "http://dupola.com"
|
161 |
+
|
162 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895
|
163 |
+
msgid "Sitemap Resources:"
|
164 |
+
msgstr "Sitemap Resources:"
|
165 |
+
|
166 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897
|
167 |
+
msgid "Webmaster Tools"
|
168 |
+
msgstr "管理员工具"
|
169 |
+
|
170 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898
|
171 |
+
msgid "Webmaster Blog"
|
172 |
+
msgstr "管理员 Blog"
|
173 |
+
|
174 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900
|
175 |
+
msgid "Site Explorer"
|
176 |
+
msgstr "Site Explorer"
|
177 |
+
|
178 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901
|
179 |
+
msgid "Search Blog"
|
180 |
+
msgstr "Search Blog"
|
181 |
+
|
182 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010
|
183 |
+
msgid "Webmaster Center Blog"
|
184 |
+
msgstr "Webmaster Center Blog"
|
185 |
+
|
186 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903
|
187 |
+
msgid "Sitemaps Protocol"
|
188 |
+
msgstr "Sitemaps 协议"
|
189 |
+
|
190 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904
|
191 |
+
msgid "Official Sitemaps FAQ"
|
192 |
+
msgstr "通用 Sitemaps FAQ"
|
193 |
+
|
194 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905
|
195 |
+
msgid "My Sitemaps FAQ"
|
196 |
+
msgstr "我的 Sitemaps FAQ"
|
197 |
+
|
198 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910
|
199 |
+
msgid "Recent Donations:"
|
200 |
+
msgstr "最近捐赠者:"
|
201 |
+
|
202 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914
|
203 |
+
msgid "List of the donors"
|
204 |
+
msgstr "捐赠者列表"
|
205 |
+
|
206 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916
|
207 |
+
msgid "Hide this list"
|
208 |
+
msgstr "隐藏这个列表"
|
209 |
+
|
210 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919
|
211 |
+
msgid "Thanks for your support!"
|
212 |
+
msgstr "谢谢支持!"
|
213 |
+
|
214 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931
|
215 |
+
msgid "Status"
|
216 |
+
msgstr "统计"
|
217 |
+
|
218 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941
|
219 |
+
#, php-format
|
220 |
+
msgid "The sitemap wasn't built yet. <a href=\"%s\">Click here</a> to build it the first time."
|
221 |
+
msgstr "sitemap 还没建立,<a href=\"%s\">点击这里</a>建立。"
|
222 |
+
|
223 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947
|
224 |
+
msgid "Your <a href=\"%url%\">sitemap</a> was last built on <b>%date%</b>."
|
225 |
+
msgstr "你的 <a href=\"%url%\">sitemap</a> 上一次建立是在<b>%date%</b>。"
|
226 |
+
|
227 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949
|
228 |
+
msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. <a href=\"%url%\">Learn more</a"
|
229 |
+
msgstr "写入 sitemap 文件时发生错误。保证这个文件存在并且可写。<a href=\"%url%\">学习更多</a>"
|
230 |
+
|
231 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956
|
232 |
+
msgid "Your sitemap (<a href=\"%url%\">zipped</a>) was last built on <b>%date%</b>."
|
233 |
+
msgstr "你的 sitemap (<a href=\"%url%\">zipped</a>) 上一次建立是在 <b>%date%</b>."
|
234 |
+
|
235 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958
|
236 |
+
msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. <a href=\"%url%\">Learn more</a"
|
237 |
+
msgstr "在创建 zipped sitemap 文件时发生了错误。保证这个文件存在并且可写。<a href=\"%url%\">学习更多</a>"
|
238 |
+
|
239 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964
|
240 |
+
msgid "Google was <b>successfully notified</b> about changes."
|
241 |
+
msgstr "更新已经成功通知 Google。"
|
242 |
+
|
243 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967
|
244 |
+
msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time."
|
245 |
+
msgstr "通知 Google 用了%time% ,也许你应该禁用这一功能以减少创建时间。"
|
246 |
+
|
247 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011
|
248 |
+
#, php-format
|
249 |
+
msgid "There was a problem while notifying Google. <a href=\"%s\">View result</a>"
|
250 |
+
msgstr "在通知 Google 时发生错误,<a href=\"%s\">查看结果</a>"
|
251 |
+
|
252 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976
|
253 |
+
msgid "YAHOO was <b>successfully notified</b> about changes."
|
254 |
+
msgstr "更新已经成功通知 YAHOO。"
|
255 |
+
|
256 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979
|
257 |
+
msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time."
|
258 |
+
msgstr "通知 YAHOO 用了 %time% ,也许你应该禁用这项功能以减少建立时间。"
|
259 |
+
|
260 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023
|
261 |
+
#, php-format
|
262 |
+
msgid "There was a problem while notifying YAHOO. <a href=\"%s\">View result</a>"
|
263 |
+
msgstr "通知 YAHOO 时出错。<a href=\"%s\">查看结果</a>"
|
264 |
+
|
265 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3097
|
266 |
+
msgid "MSN was <b>successfully notified</b> about changes."
|
267 |
+
msgstr "更新已经成功通知 MSN。"
|
268 |
+
|
269 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3100
|
270 |
+
msgid "It took %time% seconds to notify MSN.com, maybe you want to disable this feature to reduce the building time."
|
271 |
+
msgstr "通知 MSN.com 用了%time% ,也许你应该禁用这一功能以减少创建时间。"
|
272 |
+
|
273 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3103
|
274 |
+
#, php-format
|
275 |
+
msgid "There was a problem while notifying MSN.com. <a href=\"%s\">View result</a>"
|
276 |
+
msgstr "通知 MSN.com 时出错。<a href=\"%s\">查看结果</a>"
|
277 |
+
|
278 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988
|
279 |
+
msgid "Ask.com was <b>successfully notified</b> about changes."
|
280 |
+
msgstr "更新已经成功通知 Ask.com。"
|
281 |
+
|
282 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991
|
283 |
+
msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time."
|
284 |
+
msgstr "通知 Ask.com 用了%time% ,也许你应该禁用这一功能以减少创建时间。"
|
285 |
+
|
286 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035
|
287 |
+
#, php-format
|
288 |
+
msgid "There was a problem while notifying Ask.com. <a href=\"%s\">View result</a>"
|
289 |
+
msgstr "通知 MSN.com 时出错。<a href=\"%s\">查看结果</a>"
|
290 |
+
|
291 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002
|
292 |
+
msgid "The building process took about <b>%time% seconds</b> to complete and used %memory% MB of memory."
|
293 |
+
msgstr "此次建立大约用了 <b>%time% seconds</b> 完成,使用了 %memory% MB 内存。"
|
294 |
+
|
295 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004
|
296 |
+
msgid "The building process took about <b>%time% seconds</b> to complete."
|
297 |
+
msgstr "此次建立用了大约 <b>%time% seconds</b> 完成。"
|
298 |
+
|
299 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008
|
300 |
+
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."
|
301 |
+
msgstr "从上次这个文件不可写以后,你的 sitemap 就没有<strong>更新</strong> ,并且也没有通知任何搜索引擎。"
|
302 |
+
|
303 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012
|
304 |
+
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>"
|
305 |
+
msgstr "上次运行没有完成!你应该为 PHP scripts 增加内存或时间限制。<a href=\"%url%\">学习更多</a>"
|
306 |
+
|
307 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014
|
308 |
+
msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%."
|
309 |
+
msgstr "上次执行用了 was %memused%MB, 你的服务器限制是 %memlimit%。"
|
310 |
+
|
311 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018
|
312 |
+
msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds."
|
313 |
+
msgstr "上次执行时间 %timeused% 秒,你的服务器限制是 %timelimit% 秒."
|
314 |
+
|
315 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022
|
316 |
+
msgid "The script stopped around post number %lastpost% (+/- 100)"
|
317 |
+
msgstr "The script stopped around post number %lastpost% (+/- 100)"
|
318 |
+
|
319 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025
|
320 |
+
#, php-format
|
321 |
+
msgid "If you changed something on your server or blog, you should <a href=\"%s\">rebuild the sitemap</a> manually."
|
322 |
+
msgstr "如果你 Blog 或服务器更新了某些东西,你应该手动 <a href=\"%s\">重建 sitemap</a>。"
|
323 |
+
|
324 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027
|
325 |
+
#, php-format
|
326 |
+
msgid "If you encounter any problems with the build process you can use the <a href=\"%d\">debug function</a> to get more information."
|
327 |
+
msgstr "如果在执行建立程序时遇到问题,你可以使用 <a href=\"%d\">debug function</a>来获取更多信息。"
|
328 |
+
|
329 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040
|
330 |
+
msgid "Basic Options"
|
331 |
+
msgstr "基本设置"
|
332 |
+
|
333 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044
|
334 |
+
msgid "Sitemap files:"
|
335 |
+
msgstr "sitemap 文件"
|
336 |
+
|
337 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044
|
338 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059
|
339 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079
|
340 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104
|
341 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121
|
342 |
+
msgid "Learn more"
|
343 |
+
msgstr "学习更多"
|
344 |
+
|
345 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049
|
346 |
+
msgid "Write a normal XML file (your filename)"
|
347 |
+
msgstr "创建一个 XML 文件 (你的文件名)"
|
348 |
+
|
349 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055
|
350 |
+
msgid "Write a gzipped file (your filename + .gz)"
|
351 |
+
msgstr "创建一个 gzipped 文件 (你的文件名 + .gz)"
|
352 |
+
|
353 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059
|
354 |
+
msgid "Building mode:"
|
355 |
+
msgstr "建立模式:"
|
356 |
+
|
357 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064
|
358 |
+
msgid "Rebuild sitemap if you change the content of your blog"
|
359 |
+
msgstr "在你更改了 Blog 内容后重建 sitemap"
|
360 |
+
|
361 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071
|
362 |
+
msgid "Enable manual sitemap building via GET Request"
|
363 |
+
msgstr "通过 GET Request 启用手动建立 sitemap"
|
364 |
+
|
365 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075
|
366 |
+
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 logfile above to see if sitemap was successfully built."
|
367 |
+
msgstr "这将允许你刷新你的 sitemap,如果外部工具不是通过 WordPress API写入 WordPress 数据。使用下面这个链接开始运行:<a href=\"%1\">%1</a> 请检查上面的日志文件,看看 sitemap 有没有成功建立。"
|
368 |
+
|
369 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079
|
370 |
+
msgid "Update notification:"
|
371 |
+
msgstr "更新通知:"
|
372 |
+
|
373 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083
|
374 |
+
msgid "Notify Google about updates of your Blog"
|
375 |
+
msgstr "通知 Google 关于你 Blog 的更新"
|
376 |
+
|
377 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084
|
378 |
+
#, php-format
|
379 |
+
msgid "No registration required, but you can join the <a href=\"%s\">Google Webmaster Tools</a> to check crawling statistics."
|
380 |
+
msgstr "非必须注册,不过你可以使用<a href=\"%s\">Google 管理员工具</a>查看爬虫统计。"
|
381 |
+
|
382 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3209
|
383 |
+
msgid "Notify MSN Live Search about updates of your Blog"
|
384 |
+
msgstr "通知 MSN Live Search 关于你 Blog 的更新"
|
385 |
+
|
386 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3210
|
387 |
+
#, php-format
|
388 |
+
msgid "No registration required, but you can join the <a href=\"%s\">MSN Live Webmaster Tools</a> to check crawling statistics."
|
389 |
+
msgstr "非必须注册,不过你可以加入<a href=\"%s\">MSN Live 管理员工具</a>以检查爬虫统计。"
|
390 |
+
|
391 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088
|
392 |
+
msgid "Notify Ask.com about updates of your Blog"
|
393 |
+
msgstr "提醒 Ask.com 关于你 Blog 的更新"
|
394 |
+
|
395 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089
|
396 |
+
msgid "No registration required."
|
397 |
+
msgstr "非必须注册。"
|
398 |
+
|
399 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093
|
400 |
+
msgid "Notify YAHOO about updates of your Blog"
|
401 |
+
msgstr "提醒 Yahoo 关于你 Blog 的更新"
|
402 |
+
|
403 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154
|
404 |
+
msgid "Your Application ID:"
|
405 |
+
msgstr "你的 Application ID:"
|
406 |
+
|
407 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155
|
408 |
+
#, php-format
|
409 |
+
msgid "Don't you have such a key? <a href=\"%s1\">Request one here</a>!</a> %s2"
|
410 |
+
msgstr "没有 key?<a href=\"%s1\">点这里申请一个</a>!</a> %s2"
|
411 |
+
|
412 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3099
|
413 |
+
#, php-format
|
414 |
+
msgid "Modify or create %s file in blog root which contains the sitemap location."
|
415 |
+
msgstr "在 阻止 sitemap 的 blog 目录修改或建立 %s 文件。"
|
416 |
+
|
417 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3102
|
418 |
+
msgid "File permissions: "
|
419 |
+
msgstr "文件权限:"
|
420 |
+
|
421 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3107
|
422 |
+
msgid "OK, robots.txt is writable."
|
423 |
+
msgstr "不错,robots.txt 可写。"
|
424 |
+
|
425 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3109
|
426 |
+
msgid "Error, robots.txt is not writable."
|
427 |
+
msgstr "错误,robots.txt 不可写。"
|
428 |
+
|
429 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3113
|
430 |
+
msgid "OK, robots.txt doesn't exist but the directory is writable."
|
431 |
+
msgstr "不错,robots.txt 不存在,但这个目录是可写的。"
|
432 |
+
|
433 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3115
|
434 |
+
msgid "Error, robots.txt doesn't exist and the directory is not writable"
|
435 |
+
msgstr "错误,robots.txt 不存在并且这个目录不可写。"
|
436 |
+
|
437 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121
|
438 |
+
msgid "Advanced options:"
|
439 |
+
msgstr "高级设置:"
|
440 |
+
|
441 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124
|
442 |
+
msgid "Limit the number of posts in the sitemap:"
|
443 |
+
msgstr "sitemap 里日志数量的限制:"
|
444 |
+
|
445 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124
|
446 |
+
msgid "Newer posts will be included first"
|
447 |
+
msgstr "较早的日志将首先被包含进来"
|
448 |
+
|
449 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127
|
450 |
+
msgid "Try to increase the memory limit to:"
|
451 |
+
msgstr "增加内存限制到:"
|
452 |
+
|
453 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127
|
454 |
+
msgid "e.g. \"4M\", \"16M\""
|
455 |
+
msgstr "e.g. \"4M\", \"16M\""
|
456 |
+
|
457 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130
|
458 |
+
msgid "Try to increase the execution time limit to:"
|
459 |
+
msgstr "增加执行时间限制到:"
|
460 |
+
|
461 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130
|
462 |
+
msgid "in seconds, e.g. \"60\" or \"0\" for unlimited"
|
463 |
+
msgstr "按秒计算,比如 \"60\" or \"0\" 没有限制"
|
464 |
+
|
465 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133
|
466 |
+
msgid "Include a XSLT stylesheet:"
|
467 |
+
msgstr "包含一个 XSLT 清单"
|
468 |
+
|
469 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133
|
470 |
+
msgid "Use Default"
|
471 |
+
msgstr "使用默认的"
|
472 |
+
|
473 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133
|
474 |
+
msgid "Full or relative URL to your .xsl file"
|
475 |
+
msgstr "你的 .xsl 文件的绝对或相对路径"
|
476 |
+
|
477 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152
|
478 |
+
msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)"
|
479 |
+
msgstr "启用 MySQL 标准模式。仅在 MySQL 发生错误的时候使用。(Needs much more memory!)"
|
480 |
+
|
481 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166
|
482 |
+
msgid "Build the sitemap in a background process (You don't have to wait when you save a post)"
|
483 |
+
msgstr "在后台建立 sitemap(你不需要在保存日志时等待)"
|
484 |
+
|
485 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206
|
486 |
+
msgid "Exclude the following posts or pages:"
|
487 |
+
msgstr "不包括下面的日志或页面:"
|
488 |
+
|
489 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206
|
490 |
+
msgid "List of IDs, separated by comma"
|
491 |
+
msgstr "ID 列表,用英文逗号隔开"
|
492 |
+
|
493 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144
|
494 |
+
msgid "Additional pages"
|
495 |
+
msgstr "附加页面"
|
496 |
+
|
497 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149
|
498 |
+
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"
|
499 |
+
msgstr "在这里你可以为 sitemap 加入一些特殊的但并不存在于你 Blog/WordPress 的地址。比如,如果你的域名是 www.dupola.com,你的blog在 www.dupola.com/blog 上,你可以加入你的首页 www.dupola.com"
|
500 |
+
|
501 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151
|
502 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462
|
503 |
+
msgid "Note"
|
504 |
+
msgstr "注意"
|
505 |
+
|
506 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152
|
507 |
+
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 "Location of your sitemap file" section on this page)!"
|
508 |
+
msgstr "如果你的 blog 在子目录里,你要添加 blog 目录或下级目录没有的页面,你必须将 sitemap 文件放到这个目录里(Look at the "Location of your sitemap file" section on this page)!"
|
509 |
+
|
510 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154
|
511 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300
|
512 |
+
msgid "URL to the page"
|
513 |
+
msgstr "这个页面的 URL"
|
514 |
+
|
515 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155
|
516 |
+
msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home "
|
517 |
+
msgstr "输入这个页面的地址,比如:http://dupola.com/dreamhost 或 www.dupola.com/google"
|
518 |
+
|
519 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157
|
520 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301
|
521 |
+
msgid "Priority"
|
522 |
+
msgstr "优先"
|
523 |
+
|
524 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158
|
525 |
+
msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint."
|
526 |
+
msgstr "选择该页面的相关页面的优先权。比如,你的主页应该拥有一个更高的优先权。"
|
527 |
+
|
528 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160
|
529 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303
|
530 |
+
msgid "Last Changed"
|
531 |
+
msgstr "最近更改"
|
532 |
+
|
533 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161
|
534 |
+
msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)."
|
535 |
+
msgstr "输入最后更改的日期,格式为 YYYY-MM-DD (例如 2005-12-31) (可选的l)."
|
536 |
+
|
537 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302
|
538 |
+
msgid "Change Frequency"
|
539 |
+
msgstr "更改频率"
|
540 |
+
|
541 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304
|
542 |
+
msgid "#"
|
543 |
+
msgstr "#"
|
544 |
+
|
545 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309
|
546 |
+
msgid "No pages defined."
|
547 |
+
msgstr "没有页面"
|
548 |
+
|
549 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314
|
550 |
+
msgid "Add new page"
|
551 |
+
msgstr "增加一个新的页面"
|
552 |
+
|
553 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325
|
554 |
+
msgid "Post Priority"
|
555 |
+
msgstr "日志优先"
|
556 |
+
|
557 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329
|
558 |
+
msgid "Please select how the priority of each post should be calculated:"
|
559 |
+
msgstr "请选择每篇日志可预设的优先权:"
|
560 |
+
|
561 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331
|
562 |
+
msgid "Do not use automatic priority calculation"
|
563 |
+
msgstr "不要使用默认优先计算"
|
564 |
+
|
565 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331
|
566 |
+
msgid "All posts will have the same priority which is defined in "Priorities""
|
567 |
+
msgstr "所有日志都将拥有 "优先权" 设定中设置的那样的优先权"
|
568 |
+
|
569 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348
|
570 |
+
msgid "Location of your sitemap file"
|
571 |
+
msgstr "你的 sitemap 文件的位置"
|
572 |
+
|
573 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353
|
574 |
+
msgid "Automatic detection"
|
575 |
+
msgstr "自动检查"
|
576 |
+
|
577 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357
|
578 |
+
msgid "Filename of the sitemap file"
|
579 |
+
msgstr "sitemap 文件的名字"
|
580 |
+
|
581 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360
|
582 |
+
msgid "Detected Path"
|
583 |
+
msgstr "检查路径"
|
584 |
+
|
585 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360
|
586 |
+
msgid "Detected URL"
|
587 |
+
msgstr "检查地址"
|
588 |
+
|
589 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365
|
590 |
+
msgid "Custom location"
|
591 |
+
msgstr "自定义设置"
|
592 |
+
|
593 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369
|
594 |
+
msgid "Absolute or relative path to the sitemap file, including name."
|
595 |
+
msgstr "sitemap 的绝对或相对路径,包括名字。"
|
596 |
+
|
597 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371
|
598 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380
|
599 |
+
msgid "Example"
|
600 |
+
msgstr "例如"
|
601 |
+
|
602 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378
|
603 |
+
msgid "Complete URL to the sitemap file, including name."
|
604 |
+
msgstr "sitemap 文件的完全地址,包括名字。"
|
605 |
+
|
606 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397
|
607 |
+
msgid "Sitemap Content"
|
608 |
+
msgstr "sitemap 内容"
|
609 |
+
|
610 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405
|
611 |
+
msgid "Include homepage"
|
612 |
+
msgstr "包含首页"
|
613 |
+
|
614 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411
|
615 |
+
msgid "Include posts"
|
616 |
+
msgstr "包含日志"
|
617 |
+
|
618 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417
|
619 |
+
msgid "Include static pages"
|
620 |
+
msgstr "包含统计页面"
|
621 |
+
|
622 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423
|
623 |
+
msgid "Include categories"
|
624 |
+
msgstr "包含分类"
|
625 |
+
|
626 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429
|
627 |
+
msgid "Include archives"
|
628 |
+
msgstr "包含存档页面"
|
629 |
+
|
630 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436
|
631 |
+
msgid "Include tag pages"
|
632 |
+
msgstr "包含 Tag 页面"
|
633 |
+
|
634 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443
|
635 |
+
msgid "Include author pages"
|
636 |
+
msgstr "包含作者页面"
|
637 |
+
|
638 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457
|
639 |
+
msgid "Change frequencies"
|
640 |
+
msgstr "更改频率"
|
641 |
+
|
642 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463
|
643 |
+
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."
|
644 |
+
msgstr "请注意,这些值仅仅是参考建立而并非是准确无误的。 "
|
645 |
+
|
646 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469
|
647 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535
|
648 |
+
msgid "Homepage"
|
649 |
+
msgstr "首页"
|
650 |
+
|
651 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475
|
652 |
+
msgid "Posts"
|
653 |
+
msgstr "日志"
|
654 |
+
|
655 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481
|
656 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553
|
657 |
+
msgid "Static pages"
|
658 |
+
msgstr "统计页面"
|
659 |
+
|
660 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487
|
661 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559
|
662 |
+
msgid "Categories"
|
663 |
+
msgstr "分类"
|
664 |
+
|
665 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493
|
666 |
+
msgid "The current archive of this month (Should be the same like your homepage)"
|
667 |
+
msgstr "这个月的存档(应该和你的首页保持一致)"
|
668 |
+
|
669 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499
|
670 |
+
msgid "Older archives (Changes only if you edit an old post)"
|
671 |
+
msgstr "较早的存档(只在你编辑了旧日志后才更新)"
|
672 |
+
|
673 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506
|
674 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572
|
675 |
+
msgid "Tag pages"
|
676 |
+
msgstr "Tag页"
|
677 |
+
|
678 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513
|
679 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579
|
680 |
+
msgid "Author pages"
|
681 |
+
msgstr "作者页"
|
682 |
+
|
683 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527
|
684 |
+
msgid "Priorities"
|
685 |
+
msgstr "优先权"
|
686 |
+
|
687 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541
|
688 |
+
msgid "Posts (If auto calculation is disabled)"
|
689 |
+
msgstr "日志(如果自动计算已禁用)"
|
690 |
+
|
691 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547
|
692 |
+
msgid "Minimum post priority (Even if auto calculation is enabled)"
|
693 |
+
msgstr "日志最小优先(即使自动计算已经开启)"
|
694 |
+
|
695 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565
|
696 |
+
msgid "Archives"
|
697 |
+
msgstr "存档"
|
698 |
+
|
699 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590
|
700 |
+
msgid "Update options"
|
701 |
+
msgstr "更新设置"
|
702 |
+
|
703 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591
|
704 |
+
msgid "Reset options"
|
705 |
+
msgstr "重置设置"
|
706 |
+
|
sitemap-zh_TW.mo → lang/sitemap-zh_TW.mo
RENAMED
File without changes
|
sitemap-zh_TW.po → lang/sitemap-zh_TW.po
RENAMED
File without changes
|
sitemap.pot → lang/sitemap.pot
RENAMED
@@ -1,711 +1,764 @@
|
|
1 |
-
# [Countryname] Language File for sitemap (sitemap-[localname].po)
|
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
|
6 |
-
#
|
7 |
-
msgid ""
|
8 |
-
msgstr ""
|
9 |
-
"Project-Id-Version: sitemap\n"
|
10 |
-
"Report-Msgid-Bugs-To: <[mail-address]>\n"
|
11 |
-
"POT-Creation-Date: 2005-06-15 00:00+0000\n"
|
12 |
-
"PO-Revision-Date:
|
13 |
-
"Last-Translator: Arne Brachhold <http://www.arnebrachhold.de>\n"
|
14 |
-
"MIME-Version: 1.0\n"
|
15 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
16 |
-
"Content-Transfer-Encoding: 8bit\n"
|
17 |
-
"Language-Team: \n"
|
18 |
-
"X-Poedit-KeywordsList: _e;__\n"
|
19 |
-
"X-Poedit-Basepath: .\n"
|
20 |
-
"X-Poedit-SearchPath-0: C:\\Inetpub\\wwwroot\\wp\\wp-content\\plugins\\sitemap_beta\n"
|
21 |
-
|
22 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846
|
23 |
-
msgid "Comment Count"
|
24 |
-
msgstr ""
|
25 |
-
|
26 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858
|
27 |
-
msgid "Uses the number of comments of the post to calculate the priority"
|
28 |
-
msgstr ""
|
29 |
-
|
30 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918
|
31 |
-
msgid "Comment Average"
|
32 |
-
msgstr ""
|
33 |
-
|
34 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930
|
35 |
-
msgid "Uses the average comment count to calculate the priority"
|
36 |
-
msgstr ""
|
37 |
-
|
38 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993
|
39 |
-
msgid "Popularity Contest"
|
40 |
-
msgstr ""
|
41 |
-
|
42 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005
|
43 |
-
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>"
|
44 |
-
msgstr ""
|
45 |
-
|
46 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
47 |
-
msgid "
|
48 |
-
msgstr ""
|
49 |
-
|
50 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
51 |
-
msgid "
|
52 |
-
msgstr ""
|
53 |
-
|
54 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
55 |
-
msgid "
|
56 |
-
msgstr ""
|
57 |
-
|
58 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
59 |
-
msgid "
|
60 |
-
msgstr ""
|
61 |
-
|
62 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
102 |
-
msgid "
|
103 |
-
msgstr ""
|
104 |
-
|
105 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
127 |
-
msgid "
|
128 |
-
msgstr ""
|
129 |
-
|
130 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
136 |
-
msgid "
|
137 |
-
msgstr ""
|
138 |
-
|
139 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
156 |
-
msgid "
|
157 |
-
msgstr ""
|
158 |
-
|
159 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
msgid "
|
226 |
-
msgstr ""
|
227 |
-
|
228 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
229 |
-
msgid "
|
230 |
-
msgstr ""
|
231 |
-
|
232 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
233 |
-
msgid "
|
234 |
-
msgstr ""
|
235 |
-
|
236 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
237 |
-
msgid "
|
238 |
-
msgstr ""
|
239 |
-
|
240 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
241 |
-
msgid "
|
242 |
-
msgstr ""
|
243 |
-
|
244 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
245 |
-
msgid "
|
246 |
-
msgstr ""
|
247 |
-
|
248 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
249 |
-
msgid "
|
250 |
-
msgstr ""
|
251 |
-
|
252 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
msgid "
|
263 |
-
msgstr ""
|
264 |
-
|
265 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
msgid "
|
318 |
-
msgstr ""
|
319 |
-
|
320 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
321 |
-
msgid "
|
322 |
-
msgstr ""
|
323 |
-
|
324 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
msgid "
|
368 |
-
msgstr ""
|
369 |
-
|
370 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
388 |
-
msgid "
|
389 |
-
msgstr ""
|
390 |
-
|
391 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
msgid "
|
456 |
-
msgstr ""
|
457 |
-
|
458 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
508 |
-
msgid "
|
509 |
-
msgstr ""
|
510 |
-
|
511 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
512 |
-
msgid "
|
513 |
-
msgstr ""
|
514 |
-
|
515 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
567 |
-
msgid "
|
568 |
-
msgstr ""
|
569 |
-
|
570 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
571 |
-
msgid "
|
572 |
-
msgstr ""
|
573 |
-
|
574 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
604 |
-
msgid "
|
605 |
-
msgstr ""
|
606 |
-
|
607 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
608 |
-
msgid "
|
609 |
-
msgstr ""
|
610 |
-
|
611 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
612 |
-
msgid "
|
613 |
-
msgstr ""
|
614 |
-
|
615 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
616 |
-
msgid "
|
617 |
-
msgstr ""
|
618 |
-
|
619 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
620 |
-
msgid "
|
621 |
-
msgstr ""
|
622 |
-
|
623 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
624 |
-
msgid "
|
625 |
-
msgstr ""
|
626 |
-
|
627 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
628 |
-
msgid "
|
629 |
-
msgstr ""
|
630 |
-
|
631 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
632 |
-
msgid "
|
633 |
-
msgstr ""
|
634 |
-
|
635 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
636 |
-
msgid "
|
637 |
-
msgstr ""
|
638 |
-
|
639 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
640 |
-
msgid "
|
641 |
-
msgstr ""
|
642 |
-
|
643 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
653 |
-
msgid "
|
654 |
-
msgstr ""
|
655 |
-
|
656 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
657 |
-
msgid "
|
658 |
-
msgstr ""
|
659 |
-
|
660 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
685 |
-
msgid "
|
686 |
-
msgstr ""
|
687 |
-
|
688 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
689 |
-
msgid "
|
690 |
-
msgstr ""
|
691 |
-
|
692 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
693 |
-
msgid "
|
694 |
-
msgstr ""
|
695 |
-
|
696 |
-
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# [Countryname] Language File for sitemap (sitemap-[localname].po)
|
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 46706 2008-05-18 23:26:44Z arnee $
|
6 |
+
#
|
7 |
+
msgid ""
|
8 |
+
msgstr ""
|
9 |
+
"Project-Id-Version: sitemap\n"
|
10 |
+
"Report-Msgid-Bugs-To: <[mail-address]>\n"
|
11 |
+
"POT-Creation-Date: 2005-06-15 00:00+0000\n"
|
12 |
+
"PO-Revision-Date: 2008-05-18 22:59+0100\n"
|
13 |
+
"Last-Translator: Arne Brachhold <http://www.arnebrachhold.de>\n"
|
14 |
+
"MIME-Version: 1.0\n"
|
15 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
16 |
+
"Content-Transfer-Encoding: 8bit\n"
|
17 |
+
"Language-Team: \n"
|
18 |
+
"X-Poedit-KeywordsList: _e;__\n"
|
19 |
+
"X-Poedit-Basepath: .\n"
|
20 |
+
"X-Poedit-SearchPath-0: C:\\Inetpub\\wwwroot\\wp\\wp-content\\plugins\\sitemap_beta\n"
|
21 |
+
|
22 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846
|
23 |
+
msgid "Comment Count"
|
24 |
+
msgstr ""
|
25 |
+
|
26 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858
|
27 |
+
msgid "Uses the number of comments of the post to calculate the priority"
|
28 |
+
msgstr ""
|
29 |
+
|
30 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918
|
31 |
+
msgid "Comment Average"
|
32 |
+
msgstr ""
|
33 |
+
|
34 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930
|
35 |
+
msgid "Uses the average comment count to calculate the priority"
|
36 |
+
msgstr ""
|
37 |
+
|
38 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993
|
39 |
+
msgid "Popularity Contest"
|
40 |
+
msgstr ""
|
41 |
+
|
42 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005
|
43 |
+
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>"
|
44 |
+
msgstr ""
|
45 |
+
|
46 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118
|
47 |
+
msgid "Always"
|
48 |
+
msgstr ""
|
49 |
+
|
50 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119
|
51 |
+
msgid "Hourly"
|
52 |
+
msgstr ""
|
53 |
+
|
54 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120
|
55 |
+
msgid "Daily"
|
56 |
+
msgstr ""
|
57 |
+
|
58 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121
|
59 |
+
msgid "Weekly"
|
60 |
+
msgstr ""
|
61 |
+
|
62 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122
|
63 |
+
msgid "Monthly"
|
64 |
+
msgstr ""
|
65 |
+
|
66 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123
|
67 |
+
msgid "Yearly"
|
68 |
+
msgstr ""
|
69 |
+
|
70 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124
|
71 |
+
msgid "Never"
|
72 |
+
msgstr ""
|
73 |
+
|
74 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600
|
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 ""
|
77 |
+
|
78 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600
|
79 |
+
msgid "Hide this notice"
|
80 |
+
msgstr ""
|
81 |
+
|
82 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657
|
83 |
+
#, php-format
|
84 |
+
msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one 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 ""
|
86 |
+
|
87 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657
|
88 |
+
msgid "No thanks, please don't bug me anymore!"
|
89 |
+
msgstr ""
|
90 |
+
|
91 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67
|
92 |
+
msgid "Your sitemap is beeing refreshed at the moment. Depending on your blog size this might take some time!"
|
93 |
+
msgstr ""
|
94 |
+
|
95 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69
|
96 |
+
#, php-format
|
97 |
+
msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!"
|
98 |
+
msgstr ""
|
99 |
+
|
100 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635
|
101 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835
|
102 |
+
msgid "XML Sitemap Generator for WordPress"
|
103 |
+
msgstr ""
|
104 |
+
|
105 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740
|
106 |
+
msgid "Configuration updated"
|
107 |
+
msgstr ""
|
108 |
+
|
109 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741
|
110 |
+
msgid "Error while saving options"
|
111 |
+
msgstr ""
|
112 |
+
|
113 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743
|
114 |
+
msgid "Pages saved"
|
115 |
+
msgstr ""
|
116 |
+
|
117 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744
|
118 |
+
msgid "Error while saving pages"
|
119 |
+
msgstr ""
|
120 |
+
|
121 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2748
|
122 |
+
#, php-format
|
123 |
+
msgid "<a href=\"%s\">Robots.txt</a> file saved"
|
124 |
+
msgstr ""
|
125 |
+
|
126 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2750
|
127 |
+
msgid "Error while saving Robots.txt file"
|
128 |
+
msgstr ""
|
129 |
+
|
130 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758
|
131 |
+
msgid "The default configuration was restored."
|
132 |
+
msgstr ""
|
133 |
+
|
134 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851
|
135 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868
|
136 |
+
msgid "open"
|
137 |
+
msgstr ""
|
138 |
+
|
139 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852
|
140 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869
|
141 |
+
msgid "close"
|
142 |
+
msgstr ""
|
143 |
+
|
144 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853
|
145 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870
|
146 |
+
msgid "click-down and drag to move this box"
|
147 |
+
msgstr ""
|
148 |
+
|
149 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854
|
150 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871
|
151 |
+
msgid "click to %toggle% this box"
|
152 |
+
msgstr ""
|
153 |
+
|
154 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855
|
155 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872
|
156 |
+
msgid "use the arrow keys to move this box"
|
157 |
+
msgstr ""
|
158 |
+
|
159 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856
|
160 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873
|
161 |
+
msgid ", or press the enter key to %toggle% it"
|
162 |
+
msgstr ""
|
163 |
+
|
164 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884
|
165 |
+
msgid "About this Plugin:"
|
166 |
+
msgstr ""
|
167 |
+
|
168 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886
|
169 |
+
msgid "Plugin Homepage"
|
170 |
+
msgstr ""
|
171 |
+
|
172 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421
|
173 |
+
msgid "Suggest a Feature"
|
174 |
+
msgstr ""
|
175 |
+
|
176 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887
|
177 |
+
msgid "Notify List"
|
178 |
+
msgstr ""
|
179 |
+
|
180 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888
|
181 |
+
msgid "Support Forum"
|
182 |
+
msgstr ""
|
183 |
+
|
184 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424
|
185 |
+
msgid "Report a Bug"
|
186 |
+
msgstr ""
|
187 |
+
|
188 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889
|
189 |
+
msgid "Donate with PayPal"
|
190 |
+
msgstr ""
|
191 |
+
|
192 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890
|
193 |
+
msgid "My Amazon Wish List"
|
194 |
+
msgstr ""
|
195 |
+
|
196 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891
|
197 |
+
msgid "translator_name"
|
198 |
+
msgstr ""
|
199 |
+
|
200 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891
|
201 |
+
msgid "translator_url"
|
202 |
+
msgstr ""
|
203 |
+
|
204 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895
|
205 |
+
msgid "Sitemap Resources:"
|
206 |
+
msgstr ""
|
207 |
+
|
208 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897
|
209 |
+
msgid "Webmaster Tools"
|
210 |
+
msgstr ""
|
211 |
+
|
212 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898
|
213 |
+
msgid "Webmaster Blog"
|
214 |
+
msgstr ""
|
215 |
+
|
216 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900
|
217 |
+
msgid "Site Explorer"
|
218 |
+
msgstr ""
|
219 |
+
|
220 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901
|
221 |
+
msgid "Search Blog"
|
222 |
+
msgstr ""
|
223 |
+
|
224 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010
|
225 |
+
msgid "Webmaster Center Blog"
|
226 |
+
msgstr ""
|
227 |
+
|
228 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903
|
229 |
+
msgid "Sitemaps Protocol"
|
230 |
+
msgstr ""
|
231 |
+
|
232 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904
|
233 |
+
msgid "Official Sitemaps FAQ"
|
234 |
+
msgstr ""
|
235 |
+
|
236 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905
|
237 |
+
msgid "My Sitemaps FAQ"
|
238 |
+
msgstr ""
|
239 |
+
|
240 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910
|
241 |
+
msgid "Recent Donations:"
|
242 |
+
msgstr ""
|
243 |
+
|
244 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914
|
245 |
+
msgid "List of the donors"
|
246 |
+
msgstr ""
|
247 |
+
|
248 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916
|
249 |
+
msgid "Hide this list"
|
250 |
+
msgstr ""
|
251 |
+
|
252 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919
|
253 |
+
msgid "Thanks for your support!"
|
254 |
+
msgstr ""
|
255 |
+
|
256 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931
|
257 |
+
msgid "Status"
|
258 |
+
msgstr ""
|
259 |
+
|
260 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941
|
261 |
+
#, php-format
|
262 |
+
msgid "The sitemap wasn't built yet. <a href=\"%s\">Click here</a> to build it the first time."
|
263 |
+
msgstr ""
|
264 |
+
|
265 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947
|
266 |
+
msgid "Your <a href=\"%url%\">sitemap</a> was last built on <b>%date%</b>."
|
267 |
+
msgstr ""
|
268 |
+
|
269 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949
|
270 |
+
msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. <a href=\"%url%\">Learn more</a"
|
271 |
+
msgstr ""
|
272 |
+
|
273 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956
|
274 |
+
msgid "Your sitemap (<a href=\"%url%\">zipped</a>) was last built on <b>%date%</b>."
|
275 |
+
msgstr ""
|
276 |
+
|
277 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958
|
278 |
+
msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. <a href=\"%url%\">Learn more</a"
|
279 |
+
msgstr ""
|
280 |
+
|
281 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964
|
282 |
+
msgid "Google was <b>successfully notified</b> about changes."
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967
|
286 |
+
msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time."
|
287 |
+
msgstr ""
|
288 |
+
|
289 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011
|
290 |
+
#, php-format
|
291 |
+
msgid "There was a problem while notifying Google. <a href=\"%s\">View result</a>"
|
292 |
+
msgstr ""
|
293 |
+
|
294 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976
|
295 |
+
msgid "YAHOO was <b>successfully notified</b> about changes."
|
296 |
+
msgstr ""
|
297 |
+
|
298 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979
|
299 |
+
msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time."
|
300 |
+
msgstr ""
|
301 |
+
|
302 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023
|
303 |
+
#, php-format
|
304 |
+
msgid "There was a problem while notifying YAHOO. <a href=\"%s\">View result</a>"
|
305 |
+
msgstr ""
|
306 |
+
|
307 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3097
|
308 |
+
msgid "MSN was <b>successfully notified</b> about changes."
|
309 |
+
msgstr ""
|
310 |
+
|
311 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3100
|
312 |
+
msgid "It took %time% seconds to notify MSN.com, maybe you want to disable this feature to reduce the building time."
|
313 |
+
msgstr ""
|
314 |
+
|
315 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3103
|
316 |
+
#, php-format
|
317 |
+
msgid "There was a problem while notifying MSN.com. <a href=\"%s\">View result</a>"
|
318 |
+
msgstr ""
|
319 |
+
|
320 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988
|
321 |
+
msgid "Ask.com was <b>successfully notified</b> about changes."
|
322 |
+
msgstr ""
|
323 |
+
|
324 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991
|
325 |
+
msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time."
|
326 |
+
msgstr ""
|
327 |
+
|
328 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035
|
329 |
+
#, php-format
|
330 |
+
msgid "There was a problem while notifying Ask.com. <a href=\"%s\">View result</a>"
|
331 |
+
msgstr ""
|
332 |
+
|
333 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002
|
334 |
+
msgid "The building process took about <b>%time% seconds</b> to complete and used %memory% MB of memory."
|
335 |
+
msgstr ""
|
336 |
+
|
337 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004
|
338 |
+
msgid "The building process took about <b>%time% seconds</b> to complete."
|
339 |
+
msgstr ""
|
340 |
+
|
341 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008
|
342 |
+
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."
|
343 |
+
msgstr ""
|
344 |
+
|
345 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586
|
346 |
+
msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed."
|
347 |
+
msgstr ""
|
348 |
+
|
349 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012
|
350 |
+
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>"
|
351 |
+
msgstr ""
|
352 |
+
|
353 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014
|
354 |
+
msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%."
|
355 |
+
msgstr ""
|
356 |
+
|
357 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018
|
358 |
+
msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds."
|
359 |
+
msgstr ""
|
360 |
+
|
361 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022
|
362 |
+
msgid "The script stopped around post number %lastpost% (+/- 100)"
|
363 |
+
msgstr ""
|
364 |
+
|
365 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025
|
366 |
+
#, php-format
|
367 |
+
msgid "If you changed something on your server or blog, you should <a href=\"%s\">rebuild the sitemap</a> manually."
|
368 |
+
msgstr ""
|
369 |
+
|
370 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027
|
371 |
+
#, php-format
|
372 |
+
msgid "If you encounter any problems with the build process you can use the <a href=\"%d\">debug function</a> to get more information."
|
373 |
+
msgstr ""
|
374 |
+
|
375 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040
|
376 |
+
msgid "Basic Options"
|
377 |
+
msgstr ""
|
378 |
+
|
379 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044
|
380 |
+
msgid "Sitemap files:"
|
381 |
+
msgstr ""
|
382 |
+
|
383 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044
|
384 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059
|
385 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079
|
386 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104
|
387 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121
|
388 |
+
msgid "Learn more"
|
389 |
+
msgstr ""
|
390 |
+
|
391 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049
|
392 |
+
msgid "Write a normal XML file (your filename)"
|
393 |
+
msgstr ""
|
394 |
+
|
395 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055
|
396 |
+
msgid "Write a gzipped file (your filename + .gz)"
|
397 |
+
msgstr ""
|
398 |
+
|
399 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059
|
400 |
+
msgid "Building mode:"
|
401 |
+
msgstr ""
|
402 |
+
|
403 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064
|
404 |
+
msgid "Rebuild sitemap if you change the content of your blog"
|
405 |
+
msgstr ""
|
406 |
+
|
407 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071
|
408 |
+
msgid "Enable manual sitemap building via GET Request"
|
409 |
+
msgstr ""
|
410 |
+
|
411 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075
|
412 |
+
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 logfile above to see if sitemap was successfully built."
|
413 |
+
msgstr ""
|
414 |
+
|
415 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079
|
416 |
+
msgid "Update notification:"
|
417 |
+
msgstr ""
|
418 |
+
|
419 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083
|
420 |
+
msgid "Notify Google about updates of your Blog"
|
421 |
+
msgstr ""
|
422 |
+
|
423 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084
|
424 |
+
#, php-format
|
425 |
+
msgid "No registration required, but you can join the <a href=\"%s\">Google Webmaster Tools</a> to check crawling statistics."
|
426 |
+
msgstr ""
|
427 |
+
|
428 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3209
|
429 |
+
msgid "Notify MSN Live Search about updates of your Blog"
|
430 |
+
msgstr ""
|
431 |
+
|
432 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3210
|
433 |
+
#, php-format
|
434 |
+
msgid "No registration required, but you can join the <a href=\"%s\">MSN Live Webmaster Tools</a> to check crawling statistics."
|
435 |
+
msgstr ""
|
436 |
+
|
437 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088
|
438 |
+
msgid "Notify Ask.com about updates of your Blog"
|
439 |
+
msgstr ""
|
440 |
+
|
441 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089
|
442 |
+
msgid "No registration required."
|
443 |
+
msgstr ""
|
444 |
+
|
445 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093
|
446 |
+
msgid "Notify YAHOO about updates of your Blog"
|
447 |
+
msgstr ""
|
448 |
+
|
449 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154
|
450 |
+
msgid "Your Application ID:"
|
451 |
+
msgstr ""
|
452 |
+
|
453 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155
|
454 |
+
#, php-format
|
455 |
+
msgid "Don't you have such a key? <a href=\"%s1\">Request one here</a>!</a> %s2"
|
456 |
+
msgstr ""
|
457 |
+
|
458 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3099
|
459 |
+
#, php-format
|
460 |
+
msgid "Modify or create %s file in blog root which contains the sitemap location."
|
461 |
+
msgstr ""
|
462 |
+
|
463 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3102
|
464 |
+
msgid "File permissions: "
|
465 |
+
msgstr ""
|
466 |
+
|
467 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3107
|
468 |
+
msgid "OK, robots.txt is writable."
|
469 |
+
msgstr ""
|
470 |
+
|
471 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3109
|
472 |
+
msgid "Error, robots.txt is not writable."
|
473 |
+
msgstr ""
|
474 |
+
|
475 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3113
|
476 |
+
msgid "OK, robots.txt doesn't exist but the directory is writable."
|
477 |
+
msgstr ""
|
478 |
+
|
479 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3115
|
480 |
+
msgid "Error, robots.txt doesn't exist and the directory is not writable"
|
481 |
+
msgstr ""
|
482 |
+
|
483 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121
|
484 |
+
msgid "Advanced options:"
|
485 |
+
msgstr ""
|
486 |
+
|
487 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124
|
488 |
+
msgid "Limit the number of posts in the sitemap:"
|
489 |
+
msgstr ""
|
490 |
+
|
491 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124
|
492 |
+
msgid "Newer posts will be included first"
|
493 |
+
msgstr ""
|
494 |
+
|
495 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127
|
496 |
+
msgid "Try to increase the memory limit to:"
|
497 |
+
msgstr ""
|
498 |
+
|
499 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127
|
500 |
+
msgid "e.g. \"4M\", \"16M\""
|
501 |
+
msgstr ""
|
502 |
+
|
503 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130
|
504 |
+
msgid "Try to increase the execution time limit to:"
|
505 |
+
msgstr ""
|
506 |
+
|
507 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130
|
508 |
+
msgid "in seconds, e.g. \"60\" or \"0\" for unlimited"
|
509 |
+
msgstr ""
|
510 |
+
|
511 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133
|
512 |
+
msgid "Include a XSLT stylesheet:"
|
513 |
+
msgstr ""
|
514 |
+
|
515 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133
|
516 |
+
msgid "Use Default"
|
517 |
+
msgstr ""
|
518 |
+
|
519 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133
|
520 |
+
msgid "Full or relative URL to your .xsl file"
|
521 |
+
msgstr ""
|
522 |
+
|
523 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152
|
524 |
+
msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)"
|
525 |
+
msgstr ""
|
526 |
+
|
527 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166
|
528 |
+
msgid "Build the sitemap in a background process (You don't have to wait when you save a post)"
|
529 |
+
msgstr ""
|
530 |
+
|
531 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206
|
532 |
+
msgid "Exclude the following posts or pages:"
|
533 |
+
msgstr ""
|
534 |
+
|
535 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206
|
536 |
+
msgid "List of IDs, separated by comma"
|
537 |
+
msgstr ""
|
538 |
+
|
539 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144
|
540 |
+
msgid "Additional pages"
|
541 |
+
msgstr ""
|
542 |
+
|
543 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149
|
544 |
+
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"
|
545 |
+
msgstr ""
|
546 |
+
|
547 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151
|
548 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462
|
549 |
+
msgid "Note"
|
550 |
+
msgstr ""
|
551 |
+
|
552 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152
|
553 |
+
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 "Location of your sitemap file" section on this page)!"
|
554 |
+
msgstr ""
|
555 |
+
|
556 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154
|
557 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300
|
558 |
+
msgid "URL to the page"
|
559 |
+
msgstr ""
|
560 |
+
|
561 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155
|
562 |
+
msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home "
|
563 |
+
msgstr ""
|
564 |
+
|
565 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157
|
566 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301
|
567 |
+
msgid "Priority"
|
568 |
+
msgstr ""
|
569 |
+
|
570 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158
|
571 |
+
msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint."
|
572 |
+
msgstr ""
|
573 |
+
|
574 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160
|
575 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303
|
576 |
+
msgid "Last Changed"
|
577 |
+
msgstr ""
|
578 |
+
|
579 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161
|
580 |
+
msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)."
|
581 |
+
msgstr ""
|
582 |
+
|
583 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302
|
584 |
+
msgid "Change Frequency"
|
585 |
+
msgstr ""
|
586 |
+
|
587 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304
|
588 |
+
msgid "#"
|
589 |
+
msgstr ""
|
590 |
+
|
591 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309
|
592 |
+
msgid "No pages defined."
|
593 |
+
msgstr ""
|
594 |
+
|
595 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314
|
596 |
+
msgid "Add new page"
|
597 |
+
msgstr ""
|
598 |
+
|
599 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325
|
600 |
+
msgid "Post Priority"
|
601 |
+
msgstr ""
|
602 |
+
|
603 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329
|
604 |
+
msgid "Please select how the priority of each post should be calculated:"
|
605 |
+
msgstr ""
|
606 |
+
|
607 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331
|
608 |
+
msgid "Do not use automatic priority calculation"
|
609 |
+
msgstr ""
|
610 |
+
|
611 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331
|
612 |
+
msgid "All posts will have the same priority which is defined in "Priorities""
|
613 |
+
msgstr ""
|
614 |
+
|
615 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348
|
616 |
+
msgid "Location of your sitemap file"
|
617 |
+
msgstr ""
|
618 |
+
|
619 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353
|
620 |
+
msgid "Automatic detection"
|
621 |
+
msgstr ""
|
622 |
+
|
623 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357
|
624 |
+
msgid "Filename of the sitemap file"
|
625 |
+
msgstr ""
|
626 |
+
|
627 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360
|
628 |
+
msgid "Detected Path"
|
629 |
+
msgstr ""
|
630 |
+
|
631 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360
|
632 |
+
msgid "Detected URL"
|
633 |
+
msgstr ""
|
634 |
+
|
635 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365
|
636 |
+
msgid "Custom location"
|
637 |
+
msgstr ""
|
638 |
+
|
639 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369
|
640 |
+
msgid "Absolute or relative path to the sitemap file, including name."
|
641 |
+
msgstr ""
|
642 |
+
|
643 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371
|
644 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380
|
645 |
+
msgid "Example"
|
646 |
+
msgstr ""
|
647 |
+
|
648 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378
|
649 |
+
msgid "Complete URL to the sitemap file, including name."
|
650 |
+
msgstr ""
|
651 |
+
|
652 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397
|
653 |
+
msgid "Sitemap Content"
|
654 |
+
msgstr ""
|
655 |
+
|
656 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405
|
657 |
+
msgid "Include homepage"
|
658 |
+
msgstr ""
|
659 |
+
|
660 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:1013
|
661 |
+
msgid "Include all pages of multi-page posts (<!--nextpage-->)"
|
662 |
+
msgstr ""
|
663 |
+
|
664 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411
|
665 |
+
msgid "Include posts"
|
666 |
+
msgstr ""
|
667 |
+
|
668 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417
|
669 |
+
msgid "Include static pages"
|
670 |
+
msgstr ""
|
671 |
+
|
672 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423
|
673 |
+
msgid "Include categories"
|
674 |
+
msgstr ""
|
675 |
+
|
676 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429
|
677 |
+
msgid "Include archives"
|
678 |
+
msgstr ""
|
679 |
+
|
680 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436
|
681 |
+
msgid "Include tag pages"
|
682 |
+
msgstr ""
|
683 |
+
|
684 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443
|
685 |
+
msgid "Include author pages"
|
686 |
+
msgstr ""
|
687 |
+
|
688 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457
|
689 |
+
msgid "Change frequencies"
|
690 |
+
msgstr ""
|
691 |
+
|
692 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463
|
693 |
+
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."
|
694 |
+
msgstr ""
|
695 |
+
|
696 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469
|
697 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535
|
698 |
+
msgid "Homepage"
|
699 |
+
msgstr ""
|
700 |
+
|
701 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475
|
702 |
+
msgid "Posts"
|
703 |
+
msgstr ""
|
704 |
+
|
705 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481
|
706 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553
|
707 |
+
msgid "Static pages"
|
708 |
+
msgstr ""
|
709 |
+
|
710 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487
|
711 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559
|
712 |
+
msgid "Categories"
|
713 |
+
msgstr ""
|
714 |
+
|
715 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493
|
716 |
+
msgid "The current archive of this month (Should be the same like your homepage)"
|
717 |
+
msgstr ""
|
718 |
+
|
719 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499
|
720 |
+
msgid "Older archives (Changes only if you edit an old post)"
|
721 |
+
msgstr ""
|
722 |
+
|
723 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506
|
724 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572
|
725 |
+
msgid "Tag pages"
|
726 |
+
msgstr ""
|
727 |
+
|
728 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513
|
729 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579
|
730 |
+
msgid "Author pages"
|
731 |
+
msgstr ""
|
732 |
+
|
733 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527
|
734 |
+
msgid "Priorities"
|
735 |
+
msgstr ""
|
736 |
+
|
737 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541
|
738 |
+
msgid "Posts (If auto calculation is disabled)"
|
739 |
+
msgstr ""
|
740 |
+
|
741 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547
|
742 |
+
msgid "Minimum post priority (Even if auto calculation is enabled)"
|
743 |
+
msgstr ""
|
744 |
+
|
745 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565
|
746 |
+
msgid "Archives"
|
747 |
+
msgstr ""
|
748 |
+
|
749 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590
|
750 |
+
msgid "Update options"
|
751 |
+
msgstr ""
|
752 |
+
|
753 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591
|
754 |
+
msgid "Reset options"
|
755 |
+
msgstr ""
|
756 |
+
|
757 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415
|
758 |
+
msgid "XML-Sitemap Generator"
|
759 |
+
msgstr ""
|
760 |
+
|
761 |
+
# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415
|
762 |
+
msgid "XML-Sitemap"
|
763 |
+
msgstr ""
|
764 |
+
|
sitemap-core.php
ADDED
@@ -0,0 +1,2446 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
|
4 |
+
$Id: sitemap-core.php 47406 2008-05-22 17:20:35Z 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 |
+
#region PHP5 compat functions
|
14 |
+
if (!function_exists('file_get_contents')) {
|
15 |
+
/**
|
16 |
+
* Replace file_get_contents()
|
17 |
+
*
|
18 |
+
* @category PHP
|
19 |
+
* @package PHP_Compat
|
20 |
+
* @link http://php.net/function.file_get_contents
|
21 |
+
* @author Aidan Lister <aidan - php - net>
|
22 |
+
* @version $Revision: 1.21 $
|
23 |
+
* @internal resource_context is not supported
|
24 |
+
* @since PHP 5
|
25 |
+
*/
|
26 |
+
function file_get_contents($filename, $incpath = false, $resource_context = null) {
|
27 |
+
if (false === $fh = fopen($filename, 'rb', $incpath)) {
|
28 |
+
user_error('file_get_contents() failed to open stream: No such file or directory', E_USER_WARNING);
|
29 |
+
return false;
|
30 |
+
}
|
31 |
+
|
32 |
+
clearstatcache();
|
33 |
+
if ($fsize = @filesize($filename)) {
|
34 |
+
$data = fread($fh, $fsize);
|
35 |
+
} else {
|
36 |
+
$data = '';
|
37 |
+
while (!feof($fh)) {
|
38 |
+
$data .= fread($fh, 8192);
|
39 |
+
}
|
40 |
+
}
|
41 |
+
|
42 |
+
fclose($fh);
|
43 |
+
return $data;
|
44 |
+
}
|
45 |
+
}
|
46 |
+
|
47 |
+
|
48 |
+
if(!function_exists('file_put_contents')) {
|
49 |
+
|
50 |
+
if (!defined('FILE_USE_INCLUDE_PATH')) {
|
51 |
+
define('FILE_USE_INCLUDE_PATH', 1);
|
52 |
+
}
|
53 |
+
|
54 |
+
if (!defined('LOCK_EX')) {
|
55 |
+
define('LOCK_EX', 2);
|
56 |
+
}
|
57 |
+
|
58 |
+
if (!defined('FILE_APPEND')) {
|
59 |
+
define('FILE_APPEND', 8);
|
60 |
+
}
|
61 |
+
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Replace file_put_contents()
|
65 |
+
*
|
66 |
+
* @category PHP
|
67 |
+
* @package PHP_Compat
|
68 |
+
* @link http://php.net/function.file_put_contents
|
69 |
+
* @author Aidan Lister <aidan - php - net>
|
70 |
+
* @version $Revision: 1.25 $
|
71 |
+
* @internal resource_context is not supported
|
72 |
+
* @since PHP 5
|
73 |
+
* @require PHP 4.0.0 (user_error)
|
74 |
+
*/
|
75 |
+
function file_put_contents($filename, $content, $flags = null, $resource_context = null) {
|
76 |
+
// If $content is an array, convert it to a string
|
77 |
+
if (is_array($content)) {
|
78 |
+
$content = implode('', $content);
|
79 |
+
}
|
80 |
+
|
81 |
+
// If we don't have a string, throw an error
|
82 |
+
if (!is_scalar($content)) {
|
83 |
+
user_error('file_put_contents() The 2nd parameter should be either a string or an array',E_USER_WARNING);
|
84 |
+
return false;
|
85 |
+
}
|
86 |
+
|
87 |
+
// Get the length of data to write
|
88 |
+
$length = strlen($content);
|
89 |
+
|
90 |
+
// Check what mode we are using
|
91 |
+
$mode = ($flags & FILE_APPEND)?'a':'wb';
|
92 |
+
|
93 |
+
// Check if we're using the include path
|
94 |
+
$use_inc_path = ($flags & FILE_USE_INCLUDE_PATH)?true:false;
|
95 |
+
|
96 |
+
// Open the file for writing
|
97 |
+
if (($fh = @fopen($filename, $mode, $use_inc_path)) === false) {
|
98 |
+
user_error('file_put_contents() failed to open stream: Permission denied',E_USER_WARNING);
|
99 |
+
return false;
|
100 |
+
}
|
101 |
+
|
102 |
+
// Attempt to get an exclusive lock
|
103 |
+
$use_lock = ($flags & LOCK_EX) ? true : false ;
|
104 |
+
if ($use_lock === true) {
|
105 |
+
if (!flock($fh, LOCK_EX)) {
|
106 |
+
return false;
|
107 |
+
}
|
108 |
+
}
|
109 |
+
|
110 |
+
// Write to the file
|
111 |
+
$bytes = 0;
|
112 |
+
if (($bytes = @fwrite($fh, $content)) === false) {
|
113 |
+
$errormsg = sprintf('file_put_contents() Failed to write %d bytes to %s',$length,$filename);
|
114 |
+
user_error($errormsg, E_USER_WARNING);
|
115 |
+
return false;
|
116 |
+
}
|
117 |
+
|
118 |
+
// Close the handle
|
119 |
+
@fclose($fh);
|
120 |
+
|
121 |
+
// Check all the data was written
|
122 |
+
if ($bytes != $length) {
|
123 |
+
$errormsg = sprintf('file_put_contents() Only %d of %d bytes written, possibly out of free disk space.',$bytes,$length);
|
124 |
+
user_error($errormsg, E_USER_WARNING);
|
125 |
+
return false;
|
126 |
+
}
|
127 |
+
|
128 |
+
// Return length
|
129 |
+
return $bytes;
|
130 |
+
}
|
131 |
+
|
132 |
+
}
|
133 |
+
#endregion
|
134 |
+
|
135 |
+
/**
|
136 |
+
* Represents the status (success and failures) of a building process
|
137 |
+
* @author Arne Brachhold
|
138 |
+
* @package sitemap
|
139 |
+
* @since 3.0b5
|
140 |
+
*/
|
141 |
+
class GoogleSitemapGeneratorStatus {
|
142 |
+
|
143 |
+
function GoogleSitemapGeneratorStatus() {
|
144 |
+
$this->_startTime = $this->GetMicrotimeFloat();
|
145 |
+
|
146 |
+
$exists = get_option("sm_status");
|
147 |
+
|
148 |
+
if($exists === false) add_option("sm_status","","Status","no");
|
149 |
+
|
150 |
+
$this->Save();
|
151 |
+
}
|
152 |
+
|
153 |
+
function Save() {
|
154 |
+
update_option("sm_status",$this);
|
155 |
+
}
|
156 |
+
|
157 |
+
function Load() {
|
158 |
+
$status = @get_option("sm_status");
|
159 |
+
if(is_a($status,"GoogleSitemapGeneratorStatus")) return $status;
|
160 |
+
else return null;
|
161 |
+
}
|
162 |
+
|
163 |
+
/**
|
164 |
+
* @var float $_startTime The start time of the building process
|
165 |
+
* @access private
|
166 |
+
*/
|
167 |
+
var $_startTime = 0;
|
168 |
+
|
169 |
+
/**
|
170 |
+
* @var float $_endTime The end time of the building process
|
171 |
+
* @access private
|
172 |
+
*/
|
173 |
+
var $_endTime = 0;
|
174 |
+
|
175 |
+
/**
|
176 |
+
* @var bool $$_hasChanged Indicates if the sitemap content has changed
|
177 |
+
* @access private
|
178 |
+
*/
|
179 |
+
var $_hasChanged = true;
|
180 |
+
|
181 |
+
/**
|
182 |
+
* @var int $_memoryUsage The amount of memory used in bytes
|
183 |
+
* @access private
|
184 |
+
*/
|
185 |
+
var $_memoryUsage = 0;
|
186 |
+
|
187 |
+
/**
|
188 |
+
* @var int $_lastPost The number of posts processed. This value is updated every 50 posts.
|
189 |
+
* @access private
|
190 |
+
*/
|
191 |
+
var $_lastPost = 0;
|
192 |
+
|
193 |
+
/**
|
194 |
+
* @var int $_lastTime The time when the last step-update occured. This value is updated every 50 posts.
|
195 |
+
* @access private
|
196 |
+
*/
|
197 |
+
var $_lastTime = 0;
|
198 |
+
|
199 |
+
function End($hasChanged = true) {
|
200 |
+
$this->_endTime = $this->GetMicrotimeFloat();
|
201 |
+
|
202 |
+
$this->SetMemoryUsage();
|
203 |
+
|
204 |
+
$this->_hasChanged = $hasChanged;
|
205 |
+
|
206 |
+
$this->Save();
|
207 |
+
}
|
208 |
+
|
209 |
+
function SetMemoryUsage() {
|
210 |
+
if(function_exists("memory_get_peak_usage")) {
|
211 |
+
$this->_memoryUsage = memory_get_peak_usage(true);
|
212 |
+
} else if(function_exists("memory_get_usage")) {
|
213 |
+
$this->_memoryUsage = memory_get_usage(true);
|
214 |
+
}
|
215 |
+
}
|
216 |
+
|
217 |
+
function GetMemoryUsage() {
|
218 |
+
return round($this->_memoryUsage / 1024 / 1024,2);
|
219 |
+
}
|
220 |
+
|
221 |
+
function SaveStep($postCount) {
|
222 |
+
$this->SetMemoryUsage();
|
223 |
+
$this->_lastPost = $postCount;
|
224 |
+
$this->_lastTime = $this->GetMicrotimeFloat();
|
225 |
+
|
226 |
+
$this->Save();
|
227 |
+
}
|
228 |
+
|
229 |
+
function GetTime() {
|
230 |
+
return round($this->_endTime - $this->_startTime,2);
|
231 |
+
}
|
232 |
+
|
233 |
+
function GetStartTime() {
|
234 |
+
return round($this->_startTime, 2);
|
235 |
+
}
|
236 |
+
|
237 |
+
function GetLastTime() {
|
238 |
+
return round($this->_lastTime - $this->_startTime,2);
|
239 |
+
}
|
240 |
+
|
241 |
+
function GetLastPost() {
|
242 |
+
return $this->_lastPost;
|
243 |
+
}
|
244 |
+
|
245 |
+
var $_usedXml = false;
|
246 |
+
var $_xmlSuccess = false;
|
247 |
+
var $_xmlPath = '';
|
248 |
+
var $_xmlUrl = '';
|
249 |
+
|
250 |
+
function StartXml($path,$url) {
|
251 |
+
$this->_usedXml = true;
|
252 |
+
$this->_xmlPath = $path;
|
253 |
+
$this->_xmlUrl = $url;
|
254 |
+
|
255 |
+
$this->Save();
|
256 |
+
}
|
257 |
+
|
258 |
+
function EndXml($success) {
|
259 |
+
$this->_xmlSuccess = $success;
|
260 |
+
|
261 |
+
$this->Save();
|
262 |
+
}
|
263 |
+
|
264 |
+
|
265 |
+
var $_usedZip = false;
|
266 |
+
var $_zipSuccess = false;
|
267 |
+
var $_zipPath = '';
|
268 |
+
var $_zipUrl = '';
|
269 |
+
|
270 |
+
function StartZip($path,$url) {
|
271 |
+
$this->_usedZip = true;
|
272 |
+
$this->_zipPath = $path;
|
273 |
+
$this->_zipUrl = $url;
|
274 |
+
|
275 |
+
$this->Save();
|
276 |
+
}
|
277 |
+
|
278 |
+
function EndZip($success) {
|
279 |
+
$this->_zipSuccess = $success;
|
280 |
+
|
281 |
+
$this->Save();
|
282 |
+
}
|
283 |
+
|
284 |
+
var $_usedGoogle = false;
|
285 |
+
var $_googleUrl = '';
|
286 |
+
var $_gooogleSuccess = false;
|
287 |
+
var $_googleStartTime = 0;
|
288 |
+
var $_googleEndTime = 0;
|
289 |
+
|
290 |
+
function StartGooglePing($url) {
|
291 |
+
$this->_googleUrl = true;
|
292 |
+
$this->_usedGoogle = true;
|
293 |
+
$this->_googleStartTime = $this->GetMicrotimeFloat();
|
294 |
+
|
295 |
+
$this->Save();
|
296 |
+
}
|
297 |
+
|
298 |
+
function EndGooglePing($success) {
|
299 |
+
$this->_googleEndTime = $this->GetMicrotimeFloat();
|
300 |
+
$this->_gooogleSuccess = $success;
|
301 |
+
|
302 |
+
$this->Save();
|
303 |
+
}
|
304 |
+
|
305 |
+
function GetGoogleTime() {
|
306 |
+
return round($this->_googleEndTime - $this->_googleStartTime,2);
|
307 |
+
}
|
308 |
+
|
309 |
+
var $_usedYahoo = false;
|
310 |
+
var $_yahooUrl = '';
|
311 |
+
var $_yahooSuccess = false;
|
312 |
+
var $_yahooStartTime = 0;
|
313 |
+
var $_yahooEndTime = 0;
|
314 |
+
|
315 |
+
function StartYahooPing($url) {
|
316 |
+
$this->_yahooUrl = $url;
|
317 |
+
$this->_usedYahoo = true;
|
318 |
+
$this->_yahooStartTime = $this->GetMicrotimeFloat();
|
319 |
+
|
320 |
+
$this->Save();
|
321 |
+
}
|
322 |
+
|
323 |
+
function EndYahooPing($success) {
|
324 |
+
$this->_yahooEndTime = $this->GetMicrotimeFloat();
|
325 |
+
$this->_yahooSuccess = $success;
|
326 |
+
|
327 |
+
$this->Save();
|
328 |
+
}
|
329 |
+
|
330 |
+
function GetYahooTime() {
|
331 |
+
return round($this->_yahooEndTime - $this->_yahooStartTime,2);
|
332 |
+
}
|
333 |
+
|
334 |
+
var $_usedAsk = false;
|
335 |
+
var $_askUrl = '';
|
336 |
+
var $_askSuccess = false;
|
337 |
+
var $_askStartTime = 0;
|
338 |
+
var $_askEndTime = 0;
|
339 |
+
|
340 |
+
function StartAskPing($url) {
|
341 |
+
$this->_usedAsk = true;
|
342 |
+
$this->_askUrl = $url;
|
343 |
+
$this->_askStartTime = $this->GetMicrotimeFloat();
|
344 |
+
|
345 |
+
$this->Save();
|
346 |
+
}
|
347 |
+
|
348 |
+
function EndAskPing($success) {
|
349 |
+
$this->_askEndTime = $this->GetMicrotimeFloat();
|
350 |
+
$this->_askSuccess = $success;
|
351 |
+
|
352 |
+
$this->Save();
|
353 |
+
}
|
354 |
+
|
355 |
+
function GetAskTime() {
|
356 |
+
return round($this->_askEndTime - $this->_askStartTime,2);
|
357 |
+
}
|
358 |
+
|
359 |
+
var $_usedMsn = false;
|
360 |
+
var $_msnUrl = '';
|
361 |
+
var $_msnSuccess = false;
|
362 |
+
var $_msnStartTime = 0;
|
363 |
+
var $_msnEndTime = 0;
|
364 |
+
|
365 |
+
function StartMsnPing($url) {
|
366 |
+
$this->_usedMsn = true;
|
367 |
+
$this->_msnUrl = $url;
|
368 |
+
$this->_msnStartTime = $this->GetMicrotimeFloat();
|
369 |
+
|
370 |
+
$this->Save();
|
371 |
+
}
|
372 |
+
|
373 |
+
function EndMsnPing($success) {
|
374 |
+
$this->_msnEndTime = $this->GetMicrotimeFloat();
|
375 |
+
$this->_msnSuccess = $success;
|
376 |
+
|
377 |
+
$this->Save();
|
378 |
+
}
|
379 |
+
|
380 |
+
function GetMsnTime() {
|
381 |
+
return round($this->_msnEndTime - $this->_msnStartTime,2);
|
382 |
+
}
|
383 |
+
|
384 |
+
function GetMicrotimeFloat() {
|
385 |
+
list($usec, $sec) = explode(" ", microtime());
|
386 |
+
return ((float)$usec + (float)$sec);
|
387 |
+
}
|
388 |
+
}
|
389 |
+
|
390 |
+
/**
|
391 |
+
* Represents an item in the page list
|
392 |
+
* @author Arne Brachhold
|
393 |
+
* @package sitemap
|
394 |
+
* @since 3.0
|
395 |
+
*/
|
396 |
+
class GoogleSitemapGeneratorPage {
|
397 |
+
|
398 |
+
/**
|
399 |
+
* @var string $_url Sets the URL or the relative path to the blog dir of the page
|
400 |
+
* @access private
|
401 |
+
*/
|
402 |
+
var $_url;
|
403 |
+
|
404 |
+
/**
|
405 |
+
* @var float $_priority Sets the priority of this page
|
406 |
+
* @access private
|
407 |
+
*/
|
408 |
+
var $_priority;
|
409 |
+
|
410 |
+
/**
|
411 |
+
* @var string $_changeFreq Sets the chanfe frequency of the page. I want Enums!
|
412 |
+
* @access private
|
413 |
+
*/
|
414 |
+
var $_changeFreq;
|
415 |
+
|
416 |
+
/**
|
417 |
+
* @var int $_lastMod Sets the lastMod date as a UNIX timestamp.
|
418 |
+
* @access private
|
419 |
+
*/
|
420 |
+
var $_lastMod;
|
421 |
+
|
422 |
+
/**
|
423 |
+
* Initialize a new page object
|
424 |
+
*
|
425 |
+
* @since 3.0
|
426 |
+
* @access public
|
427 |
+
* @author Arne Brachhold
|
428 |
+
* @param bool $enabled Should this page be included in thesitemap
|
429 |
+
* @param string $url The URL or path of the file
|
430 |
+
* @param float $priority The Priority of the page 0.0 to 1.0
|
431 |
+
* @param string $changeFreq The change frequency like daily, hourly, weekly
|
432 |
+
* @param int $lastMod The last mod date as a unix timestamp
|
433 |
+
*/
|
434 |
+
function GoogleSitemapGeneratorPage($url="",$priority=0.0,$changeFreq="never",$lastMod=0) {
|
435 |
+
$this->SetUrl($url);
|
436 |
+
$this->SetProprity($priority);
|
437 |
+
$this->SetChangeFreq($changeFreq);
|
438 |
+
$this->SetLastMod($lastMod);
|
439 |
+
}
|
440 |
+
|
441 |
+
/**
|
442 |
+
* Returns the URL of the page
|
443 |
+
*
|
444 |
+
* @return string The URL
|
445 |
+
*/
|
446 |
+
function GetUrl() {
|
447 |
+
return $this->_url;
|
448 |
+
}
|
449 |
+
|
450 |
+
/**
|
451 |
+
* Sets the URL of the page
|
452 |
+
*
|
453 |
+
* @param string $url The new URL
|
454 |
+
*/
|
455 |
+
function SetUrl($url) {
|
456 |
+
$this->_url=(string) $url;
|
457 |
+
}
|
458 |
+
|
459 |
+
/**
|
460 |
+
* Returns the priority of this page
|
461 |
+
*
|
462 |
+
* @return float the priority, from 0.0 to 1.0
|
463 |
+
*/
|
464 |
+
function GetPriority() {
|
465 |
+
return $this->_priority;
|
466 |
+
}
|
467 |
+
|
468 |
+
/**
|
469 |
+
* Sets the priority of the page
|
470 |
+
*
|
471 |
+
* @param float $priority The new priority from 0.1 to 1.0
|
472 |
+
*/
|
473 |
+
function SetProprity($priority) {
|
474 |
+
$this->_priority=floatval($priority);
|
475 |
+
}
|
476 |
+
|
477 |
+
/**
|
478 |
+
* Returns the change frequency of the page
|
479 |
+
*
|
480 |
+
* @return string The change frequncy like hourly, weekly, monthly etc.
|
481 |
+
*/
|
482 |
+
function GetChangeFreq() {
|
483 |
+
return $this->_changeFreq;
|
484 |
+
}
|
485 |
+
|
486 |
+
/**
|
487 |
+
* Sets the change frequency of the page
|
488 |
+
*
|
489 |
+
* @param string $changeFreq The new change frequency
|
490 |
+
*/
|
491 |
+
function SetChangeFreq($changeFreq) {
|
492 |
+
$this->_changeFreq=(string) $changeFreq;
|
493 |
+
}
|
494 |
+
|
495 |
+
/**
|
496 |
+
* Returns the last mod of the page
|
497 |
+
*
|
498 |
+
* @return int The lastmod value in seconds
|
499 |
+
*/
|
500 |
+
function GetLastMod() {
|
501 |
+
return $this->_lastMod;
|
502 |
+
}
|
503 |
+
|
504 |
+
/**
|
505 |
+
* Sets the last mod of the page
|
506 |
+
*
|
507 |
+
* @param int $lastMod The lastmod of the page
|
508 |
+
*/
|
509 |
+
function SetLastMod($lastMod) {
|
510 |
+
$this->_lastMod=intval($lastMod);
|
511 |
+
}
|
512 |
+
|
513 |
+
function Render() {
|
514 |
+
|
515 |
+
if($this->_url == "/" || empty($this->_url)) return '';
|
516 |
+
|
517 |
+
$r="";
|
518 |
+
$r.= "\t<url>\n";
|
519 |
+
$r.= "\t\t<loc>" . $this->EscapeXML($this->_url) . "</loc>\n";
|
520 |
+
if($this->_lastMod>0) $r.= "\t\t<lastmod>" . date('Y-m-d\TH:i:s+00:00',$this->_lastMod) . "</lastmod>\n";
|
521 |
+
if(!empty($this->_changeFreq)) $r.= "\t\t<changefreq>" . $this->_changeFreq . "</changefreq>\n";
|
522 |
+
if($this->_priority!==false && $this->_priority!=="") $r.= "\t\t<priority>" . number_format($this->_priority,1) . "</priority>\n";
|
523 |
+
$r.= "\t</url>\n";
|
524 |
+
return $r;
|
525 |
+
}
|
526 |
+
|
527 |
+
function EscapeXML($string) {
|
528 |
+
return str_replace ( array ( '&', '"', "'", '<', '>'), array ( '&' , '"', ''' , '<' , '>'), $string);
|
529 |
+
}
|
530 |
+
}
|
531 |
+
|
532 |
+
class GoogleSitemapGeneratorXmlEntry {
|
533 |
+
|
534 |
+
var $_xml;
|
535 |
+
|
536 |
+
function GoogleSitemapGeneratorXmlEntry($xml) {
|
537 |
+
$this->_xml = $xml;
|
538 |
+
}
|
539 |
+
|
540 |
+
function Render() {
|
541 |
+
return $this->_xml;
|
542 |
+
}
|
543 |
+
}
|
544 |
+
|
545 |
+
class GoogleSitemapGeneratorDebugEntry extends GoogleSitemapGeneratorXmlEntry {
|
546 |
+
|
547 |
+
function Render() {
|
548 |
+
return "<!-- " . $this->_xml . " -->";
|
549 |
+
}
|
550 |
+
}
|
551 |
+
|
552 |
+
/**
|
553 |
+
* Base class for all priority providers
|
554 |
+
* @author Arne Brachhold
|
555 |
+
* @package sitemap
|
556 |
+
* @since 3.0
|
557 |
+
*/
|
558 |
+
class GoogleSitemapGeneratorPrioProviderBase {
|
559 |
+
|
560 |
+
/**
|
561 |
+
* @var int $_totalComments The total number of comments of all posts
|
562 |
+
* @access protected
|
563 |
+
*/
|
564 |
+
var $_totalComments=0;
|
565 |
+
|
566 |
+
/**
|
567 |
+
* @var int $_totalComments The total number of posts
|
568 |
+
* @access protected
|
569 |
+
*/
|
570 |
+
var $_totalPosts=0;
|
571 |
+
|
572 |
+
/**
|
573 |
+
* Returns the (translated) name of this priority provider
|
574 |
+
*
|
575 |
+
* @since 3.0
|
576 |
+
* @access public
|
577 |
+
* @author Arne Brachhold
|
578 |
+
* @return string The translated name
|
579 |
+
*/
|
580 |
+
function GetName() {
|
581 |
+
return "";
|
582 |
+
}
|
583 |
+
|
584 |
+
/**
|
585 |
+
* Returns the (translated) description of this priority provider
|
586 |
+
*
|
587 |
+
* @since 3.0
|
588 |
+
* @access public
|
589 |
+
* @author Arne Brachhold
|
590 |
+
* @return string The translated description
|
591 |
+
*/
|
592 |
+
function GetDescription() {
|
593 |
+
return "";
|
594 |
+
}
|
595 |
+
|
596 |
+
/**
|
597 |
+
* Initializes a new priority provider
|
598 |
+
*
|
599 |
+
* @param $totalComments int The total number of comments of all posts
|
600 |
+
* @param $totalPosts int The total number of posts
|
601 |
+
* @since 3.0
|
602 |
+
* @access public
|
603 |
+
* @author Arne Brachhold
|
604 |
+
*/
|
605 |
+
function GoogleSitemapGeneratorPrioProviderBase($totalComments,$totalPosts) {
|
606 |
+
$this->_totalComments=$totalComments;
|
607 |
+
$this->_totalPosts=$totalPosts;
|
608 |
+
|
609 |
+
}
|
610 |
+
|
611 |
+
/**
|
612 |
+
* Returns the priority for a specified post
|
613 |
+
*
|
614 |
+
* @param $postID int The ID of the post
|
615 |
+
* @param $commentCount int The number of comments for this post
|
616 |
+
* @since 3.0
|
617 |
+
* @access public
|
618 |
+
* @author Arne Brachhold
|
619 |
+
* @return int The calculated priority
|
620 |
+
*/
|
621 |
+
function GetPostPriority($postID,$commentCount) {
|
622 |
+
return 0;
|
623 |
+
}
|
624 |
+
}
|
625 |
+
|
626 |
+
/**
|
627 |
+
* Priority Provider which calculates the priority based on the number of comments
|
628 |
+
* @author Arne Brachhold
|
629 |
+
* @package sitemap
|
630 |
+
* @since 3.0
|
631 |
+
*/
|
632 |
+
class GoogleSitemapGeneratorPrioByCountProvider extends GoogleSitemapGeneratorPrioProviderBase {
|
633 |
+
|
634 |
+
/**
|
635 |
+
* Returns the (translated) name of this priority provider
|
636 |
+
*
|
637 |
+
* @since 3.0
|
638 |
+
* @access public
|
639 |
+
* @author Arne Brachhold
|
640 |
+
* @return string The translated name
|
641 |
+
*/
|
642 |
+
function GetName() {
|
643 |
+
return __("Comment Count",'sitemap');
|
644 |
+
}
|
645 |
+
|
646 |
+
/**
|
647 |
+
* Returns the (translated) description of this priority provider
|
648 |
+
*
|
649 |
+
* @since 3.0
|
650 |
+
* @access public
|
651 |
+
* @author Arne Brachhold
|
652 |
+
* @return string The translated description
|
653 |
+
*/
|
654 |
+
function GetDescription() {
|
655 |
+
return __("Uses the number of comments of the post to calculate the priority",'sitemap');
|
656 |
+
}
|
657 |
+
|
658 |
+
/**
|
659 |
+
* Initializes a new priority provider which calculates the post priority based on the number of comments
|
660 |
+
*
|
661 |
+
* @param $totalComments int The total number of comments of all posts
|
662 |
+
* @param $totalPosts int The total number of posts
|
663 |
+
* @since 3.0
|
664 |
+
* @access public
|
665 |
+
* @author Arne Brachhold
|
666 |
+
*/
|
667 |
+
function GoogleSitemapGeneratorPrioByCountProvider($totalComments,$totalPosts) {
|
668 |
+
parent::GoogleSitemapGeneratorPrioProviderBase($totalComments,$totalPosts);
|
669 |
+
}
|
670 |
+
|
671 |
+
/**
|
672 |
+
* Returns the priority for a specified post
|
673 |
+
*
|
674 |
+
* @param $postID int The ID of the post
|
675 |
+
* @param $commentCount int The number of comments for this post
|
676 |
+
* @since 3.0
|
677 |
+
* @access public
|
678 |
+
* @author Arne Brachhold
|
679 |
+
* @return int The calculated priority
|
680 |
+
*/
|
681 |
+
function GetPostPriority($postID,$commentCount) {
|
682 |
+
$prio=0;
|
683 |
+
if($this->_totalComments>0 && $commentCount>0) {
|
684 |
+
$prio = round(($commentCount*100/$this->_totalComments)/100,1);
|
685 |
+
} else {
|
686 |
+
$prio = 0;
|
687 |
+
}
|
688 |
+
return $prio;
|
689 |
+
}
|
690 |
+
}
|
691 |
+
|
692 |
+
/**
|
693 |
+
* Priority Provider which calculates the priority based on the average number of comments
|
694 |
+
* @author Arne Brachhold
|
695 |
+
* @package sitemap
|
696 |
+
* @since 3.0
|
697 |
+
*/
|
698 |
+
class GoogleSitemapGeneratorPrioByAverageProvider extends GoogleSitemapGeneratorPrioProviderBase {
|
699 |
+
|
700 |
+
/**
|
701 |
+
* @var int $_average The average number of comments per post
|
702 |
+
* @access protected
|
703 |
+
*/
|
704 |
+
var $_average=0.0;
|
705 |
+
|
706 |
+
/**
|
707 |
+
* Returns the (translated) name of this priority provider
|
708 |
+
*
|
709 |
+
* @since 3.0
|
710 |
+
* @access public
|
711 |
+
* @author Arne Brachhold
|
712 |
+
* @return string The translated name
|
713 |
+
*/
|
714 |
+
function GetName() {
|
715 |
+
return __("Comment Average",'sitemap');
|
716 |
+
}
|
717 |
+
|
718 |
+
/**
|
719 |
+
* Returns the (translated) description of this priority provider
|
720 |
+
*
|
721 |
+
* @since 3.0
|
722 |
+
* @access public
|
723 |
+
* @author Arne Brachhold
|
724 |
+
* @return string The translated description
|
725 |
+
*/
|
726 |
+
function GetDescription() {
|
727 |
+
return __("Uses the average comment count to calculate the priority",'sitemap');
|
728 |
+
}
|
729 |
+
|
730 |
+
/**
|
731 |
+
* Initializes a new priority provider which calculates the post priority based on the average number of comments
|
732 |
+
*
|
733 |
+
* @param $totalComments int The total number of comments of all posts
|
734 |
+
* @param $totalPosts int The total number of posts
|
735 |
+
* @since 3.0
|
736 |
+
* @access public
|
737 |
+
* @author Arne Brachhold
|
738 |
+
*/
|
739 |
+
function GoogleSitemapGeneratorPrioByAverageProvider($totalComments,$totalPosts) {
|
740 |
+
parent::GoogleSitemapGeneratorPrioProviderBase($totalComments,$totalPosts);
|
741 |
+
|
742 |
+
if($this->_totalComments>0 && $this->_totalPosts>0) {
|
743 |
+
$this->_average= (double) $this->_totalComments / $this->_totalPosts;
|
744 |
+
}
|
745 |
+
}
|
746 |
+
|
747 |
+
/**
|
748 |
+
* Returns the priority for a specified post
|
749 |
+
*
|
750 |
+
* @param $postID int The ID of the post
|
751 |
+
* @param $commentCount int The number of comments for this post
|
752 |
+
* @since 3.0
|
753 |
+
* @access public
|
754 |
+
* @author Arne Brachhold
|
755 |
+
* @return int The calculated priority
|
756 |
+
*/
|
757 |
+
function GetPostPriority($postID,$commentCount) {
|
758 |
+
$prio = 0;
|
759 |
+
//Do not divide by zero!
|
760 |
+
if($this->_average==0) {
|
761 |
+
if($commentCount>0) $prio = 1;
|
762 |
+
else $prio = 0;
|
763 |
+
} else {
|
764 |
+
$prio = $commentCount/$this->_average;
|
765 |
+
if($prio>1) $prio = 1;
|
766 |
+
else if($prio<0) $prio = 0;
|
767 |
+
}
|
768 |
+
|
769 |
+
return round($prio,1);
|
770 |
+
}
|
771 |
+
}
|
772 |
+
|
773 |
+
/**
|
774 |
+
* Priority Provider which calculates the priority based on the popularity by the PopularityContest Plugin
|
775 |
+
* @author Arne Brachhold
|
776 |
+
* @package sitemap
|
777 |
+
* @since 3.0
|
778 |
+
*/
|
779 |
+
class GoogleSitemapGeneratorPrioByPopularityContestProvider extends GoogleSitemapGeneratorPrioProviderBase {
|
780 |
+
|
781 |
+
/**
|
782 |
+
* Returns the (translated) name of this priority provider
|
783 |
+
*
|
784 |
+
* @since 3.0
|
785 |
+
* @access public
|
786 |
+
* @author Arne Brachhold
|
787 |
+
* @return string The translated name
|
788 |
+
*/
|
789 |
+
function GetName() {
|
790 |
+
return __("Popularity Contest",'sitemap');
|
791 |
+
}
|
792 |
+
|
793 |
+
/**
|
794 |
+
* Returns the (translated) description of this priority provider
|
795 |
+
*
|
796 |
+
* @since 3.0
|
797 |
+
* @access public
|
798 |
+
* @author Arne Brachhold
|
799 |
+
* @return string The translated description
|
800 |
+
*/
|
801 |
+
function GetDescription() {
|
802 |
+
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')))));
|
803 |
+
}
|
804 |
+
|
805 |
+
/**
|
806 |
+
* Initializes a new priority provider which calculates the post priority based on the popularity by the PopularityContest Plugin
|
807 |
+
*
|
808 |
+
* @param $totalComments int The total number of comments of all posts
|
809 |
+
* @param $totalPosts int The total number of posts
|
810 |
+
* @since 3.0
|
811 |
+
* @access public
|
812 |
+
* @author Arne Brachhold
|
813 |
+
*/
|
814 |
+
function GoogleSitemapGeneratorPrioByPopularityContestProvider($totalComments,$totalPosts) {
|
815 |
+
parent::GoogleSitemapGeneratorPrioProviderBase($totalComments,$totalPosts);
|
816 |
+
}
|
817 |
+
|
818 |
+
/**
|
819 |
+
* Returns the priority for a specified post
|
820 |
+
*
|
821 |
+
* @param $postID int The ID of the post
|
822 |
+
* @param $commentCount int The number of comments for this post
|
823 |
+
* @since 3.0
|
824 |
+
* @access public
|
825 |
+
* @author Arne Brachhold
|
826 |
+
* @return int The calculated priority
|
827 |
+
*/
|
828 |
+
function GetPostPriority($postID,$commentCount) {
|
829 |
+
//$akpc is the global instance of the Popularity Contest Plugin
|
830 |
+
global $akpc,$posts;
|
831 |
+
|
832 |
+
$res=0;
|
833 |
+
//Better check if its there
|
834 |
+
if(!empty($akpc) && is_object($akpc)) {
|
835 |
+
//Is the method we rely on available?
|
836 |
+
if(method_exists($akpc,"get_post_rank")) {
|
837 |
+
if(!is_array($posts) || !$posts) $posts = array();
|
838 |
+
if(!isset($posts[$postID])) $posts[$postID] = get_post($postID);
|
839 |
+
//popresult comes as a percent value
|
840 |
+
$popresult=$akpc->get_post_rank($postID);
|
841 |
+
if(!empty($popresult) && strpos($popresult,"%")!==false) {
|
842 |
+
//We need to parse it to get the priority as an int (percent)
|
843 |
+
$matches=null;
|
844 |
+
preg_match("/([0-9]{1,3})\%/si",$popresult,$matches);
|
845 |
+
if(!empty($matches) && is_array($matches) && count($matches)==2) {
|
846 |
+
//Divide it so 100% = 1, 10% = 0.1
|
847 |
+
$res=round(intval($matches[1])/100,1);
|
848 |
+
}
|
849 |
+
}
|
850 |
+
}
|
851 |
+
}
|
852 |
+
return $res;
|
853 |
+
}
|
854 |
+
}
|
855 |
+
|
856 |
+
/**
|
857 |
+
* Class to generate a sitemaps.org Sitemaps compliant sitemap of a WordPress blog.
|
858 |
+
*
|
859 |
+
* @package sitemap
|
860 |
+
* @author Arne Brachhold
|
861 |
+
* @since 3.0
|
862 |
+
*/
|
863 |
+
class GoogleSitemapGenerator {
|
864 |
+
/**
|
865 |
+
* @var Version of the generator in SVN
|
866 |
+
*/
|
867 |
+
var $_svnVersion = '$Id: sitemap-core.php 47406 2008-05-22 17:20:35Z arnee $';
|
868 |
+
|
869 |
+
/**
|
870 |
+
* @var array The unserialized array with the stored options
|
871 |
+
*/
|
872 |
+
var $_options = array();
|
873 |
+
|
874 |
+
/**
|
875 |
+
* @var array The saved additional pages
|
876 |
+
*/
|
877 |
+
var $_pages = array();
|
878 |
+
|
879 |
+
/**
|
880 |
+
* @var array The values and names of the change frequencies
|
881 |
+
*/
|
882 |
+
var $_freqNames = array();
|
883 |
+
|
884 |
+
/**
|
885 |
+
* @var array A list of class names which my be called for priority calculation
|
886 |
+
*/
|
887 |
+
var $_prioProviders = array();
|
888 |
+
|
889 |
+
/**
|
890 |
+
* @var bool True if init complete (options loaded etc)
|
891 |
+
*/
|
892 |
+
var $_initiated = false;
|
893 |
+
|
894 |
+
/**
|
895 |
+
* @var string Holds the last error if one occurs when writing the files
|
896 |
+
*/
|
897 |
+
var $_lastError=null;
|
898 |
+
|
899 |
+
/**
|
900 |
+
* @var int The last handled post ID
|
901 |
+
*/
|
902 |
+
var $_lastPostID = 0;
|
903 |
+
|
904 |
+
/**
|
905 |
+
* @var bool Defines if the sitemap building process is active at the moment
|
906 |
+
*/
|
907 |
+
var $_isActive = false;
|
908 |
+
|
909 |
+
/**
|
910 |
+
* @var bool Defines if the sitemap building process has been scheduled via Wp cron
|
911 |
+
*/
|
912 |
+
var $_isScheduled = false;
|
913 |
+
|
914 |
+
/**
|
915 |
+
* @var object The file handle which is used to write the sitemap file
|
916 |
+
*/
|
917 |
+
var $_fileHandle = null;
|
918 |
+
|
919 |
+
/**
|
920 |
+
* @var object The file handle which is used to write the zipped sitemap file
|
921 |
+
*/
|
922 |
+
var $_fileZipHandle = null;
|
923 |
+
|
924 |
+
/**
|
925 |
+
* Returns the path to the blog directory
|
926 |
+
*
|
927 |
+
* @since 3.0
|
928 |
+
* @access private
|
929 |
+
* @author Arne Brachhold
|
930 |
+
* @return string The full path to the blog directory
|
931 |
+
*/
|
932 |
+
function GetHomePath() {
|
933 |
+
|
934 |
+
$res="";
|
935 |
+
//Check if we are in the admin area -> get_home_path() is avaiable
|
936 |
+
if(function_exists("get_home_path")) {
|
937 |
+
$res = get_home_path();
|
938 |
+
} else {
|
939 |
+
//get_home_path() is not available, but we can't include the admin
|
940 |
+
//libraries because many plugins check for the "check_admin_referer"
|
941 |
+
//function to detect if you are on an admin page. So we have to copy
|
942 |
+
//the get_home_path function in our own...
|
943 |
+
$home = get_option( 'home' );
|
944 |
+
if ( $home != '' && $home != get_option( 'siteurl' ) ) {
|
945 |
+
$home_path = parse_url( $home );
|
946 |
+
$home_path = $home_path['path'];
|
947 |
+
$root = str_replace( $_SERVER["PHP_SELF"], '', $_SERVER["SCRIPT_FILENAME"] );
|
948 |
+
$home_path = trailingslashit( $root.$home_path );
|
949 |
+
} else {
|
950 |
+
$home_path = ABSPATH;
|
951 |
+
}
|
952 |
+
|
953 |
+
$res = $home_path;
|
954 |
+
}
|
955 |
+
return $res;
|
956 |
+
}
|
957 |
+
|
958 |
+
/**
|
959 |
+
* Returns the path to the directory where the plugin file is located
|
960 |
+
* @since 3.0b5
|
961 |
+
* @access private
|
962 |
+
* @author Arne Brachhold
|
963 |
+
* @return string The path to the plugin directory
|
964 |
+
*/
|
965 |
+
function GetPluginPath() {
|
966 |
+
$path = dirname(__FILE__);
|
967 |
+
return trailingslashit(str_replace("\\","/",$path));
|
968 |
+
}
|
969 |
+
|
970 |
+
/**
|
971 |
+
* Returns the URL to the directory where the plugin file is located
|
972 |
+
* @since 3.0b5
|
973 |
+
* @access private
|
974 |
+
* @author Arne Brachhold
|
975 |
+
* @return string The URL to the plugin directory
|
976 |
+
*/
|
977 |
+
function GetPluginUrl() {
|
978 |
+
$path = dirname(__FILE__);
|
979 |
+
$path = str_replace("\\","/",$path);
|
980 |
+
$path = trailingslashit(get_bloginfo('wpurl')) . trailingslashit(substr($path,strpos($path,"wp-content/")));
|
981 |
+
return $path;
|
982 |
+
}
|
983 |
+
|
984 |
+
/**
|
985 |
+
* Returns the URL to default XSLT style if it exists
|
986 |
+
* @since 3.0b5
|
987 |
+
* @access private
|
988 |
+
* @author Arne Brachhold
|
989 |
+
* @return string The URL to the default stylesheet, empry string if not available.
|
990 |
+
*/
|
991 |
+
function GetDefaultStyle() {
|
992 |
+
$p = $this->GetPluginPath();
|
993 |
+
if(file_exists($p . "sitemap.xsl")) {
|
994 |
+
return $this->GetPluginUrl() . 'sitemap.xsl';
|
995 |
+
}
|
996 |
+
return '';
|
997 |
+
}
|
998 |
+
|
999 |
+
/**
|
1000 |
+
* Returns the path to the robots.txt file in the blog root
|
1001 |
+
*
|
1002 |
+
* @since 3.0b8
|
1003 |
+
* @access private
|
1004 |
+
* @author Arne Brachhold
|
1005 |
+
* @return The full path to the robots.txt file
|
1006 |
+
*/
|
1007 |
+
function GetRobotsFilePath() {
|
1008 |
+
return trailingslashit($this->GetHomePath()) . 'robots.txt';
|
1009 |
+
}
|
1010 |
+
|
1011 |
+
/**
|
1012 |
+
* Returns the URL to the robots.txt file in the blog root
|
1013 |
+
*
|
1014 |
+
* @since 3.0b8
|
1015 |
+
* @access private
|
1016 |
+
* @author Arne Brachhold
|
1017 |
+
* @return The full URL to the robots.txt file
|
1018 |
+
*/
|
1019 |
+
function GetRobotsFileUrl() {
|
1020 |
+
return trailingslashit(get_bloginfo('siteurl')) . 'robots.txt';
|
1021 |
+
}
|
1022 |
+
|
1023 |
+
/**
|
1024 |
+
* Sets up the default configuration
|
1025 |
+
*
|
1026 |
+
* @since 3.0
|
1027 |
+
* @access private
|
1028 |
+
* @author Arne Brachhold
|
1029 |
+
*/
|
1030 |
+
function InitOptions() {
|
1031 |
+
|
1032 |
+
$this->_options=array();
|
1033 |
+
$this->_options["sm_b_prio_provider"]="GoogleSitemapGeneratorPrioByCountProvider"; //Provider for automatic priority calculation
|
1034 |
+
$this->_options["sm_b_filename"]="sitemap.xml"; //Name of the Sitemap file
|
1035 |
+
$this->_options["sm_b_debug"]=true; //Write debug messages in the xml file
|
1036 |
+
$this->_options["sm_b_xml"]=true; //Create a .xml file
|
1037 |
+
$this->_options["sm_b_gzip"]=true; //Create a gzipped .xml file(.gz) file
|
1038 |
+
$this->_options["sm_b_ping"]=true; //Auto ping Google
|
1039 |
+
$this->_options["sm_b_pingyahoo"]=false; //Auto ping YAHOO
|
1040 |
+
$this->_options["sm_b_yahookey"]=''; //YAHOO Application Key
|
1041 |
+
$this->_options["sm_b_pingask"]=true; //Auto ping Ask.com
|
1042 |
+
$this->_options["sm_b_pingmsn"]=true; //Auto ping MSN
|
1043 |
+
$this->_options["sm_b_manual_enabled"]=false; //Allow manual creation of the sitemap via GET request
|
1044 |
+
$this->_options["sm_b_auto_enabled"]=true; //Rebuild sitemap when content is changed
|
1045 |
+
$this->_options["sm_b_auto_delay"]=true; //Use WP Cron to execute the building process in the background
|
1046 |
+
$this->_options["sm_b_manual_key"]=md5(microtime());//The secret key to build the sitemap via GET request
|
1047 |
+
$this->_options["sm_b_memory"] = ''; //Set Memory Limit (e.g. 16M)
|
1048 |
+
$this->_options["sm_b_time"] = -1; //Set time limit in seconds, 0 for unlimited, -1 for disabled
|
1049 |
+
$this->_options["sm_b_max_posts"] = -1; //Maximum number of posts, <= 0 for all
|
1050 |
+
$this->_options["sm_b_safemode"] = false; //Enable MySQL Safe Mode (doesn't use unbuffered results)
|
1051 |
+
$this->_options["sm_b_style"] = $this->GetDefaultStyle(); //Include a stylesheet in the XML
|
1052 |
+
$this->_options["sm_b_robots"] = false; //Modify or create robots.txt file in blog root which contains the sitemap location
|
1053 |
+
$this->_options["sm_b_exclude"] = array(); //List of post / page IDs to exclude
|
1054 |
+
$this->_options["sm_b_location_mode"]="auto"; //Mode of location, auto or manual
|
1055 |
+
$this->_options["sm_b_filename_manual"]=""; //Manuel filename
|
1056 |
+
$this->_options["sm_b_fileurl_manual"]=""; //Manuel fileurl
|
1057 |
+
|
1058 |
+
$this->_options["sm_in_home"]=true; //Include homepage
|
1059 |
+
$this->_options["sm_in_posts"]=true; //Include posts
|
1060 |
+
$this->_options["sm_in_posts_sub"]=false; //Include post pages (<!--nextpage--> tag)
|
1061 |
+
$this->_options["sm_in_pages"]=true; //Include static pages
|
1062 |
+
$this->_options["sm_in_cats"]=false; //Include categories
|
1063 |
+
$this->_options["sm_in_arch"]=false; //Include archives
|
1064 |
+
$this->_options["sm_in_auth"]=false; //Include author pages
|
1065 |
+
$this->_options["sm_in_tags"]=false; //Include tag pages
|
1066 |
+
|
1067 |
+
$this->_options["sm_cf_home"]="daily"; //Change frequency of the homepage
|
1068 |
+
$this->_options["sm_cf_posts"]="monthly"; //Change frequency of posts
|
1069 |
+
$this->_options["sm_cf_pages"]="weekly"; //Change frequency of static pages
|
1070 |
+
$this->_options["sm_cf_cats"]="weekly"; //Change frequency of categories
|
1071 |
+
$this->_options["sm_cf_auth"]="weekly"; //Change frequency of author pages
|
1072 |
+
$this->_options["sm_cf_arch_curr"]="daily"; //Change frequency of the current archive (this month)
|
1073 |
+
$this->_options["sm_cf_arch_old"]="yearly"; //Change frequency of older archives
|
1074 |
+
$this->_options["sm_cf_tags"]="weekly"; //Change frequency of tags
|
1075 |
+
|
1076 |
+
$this->_options["sm_pr_home"]=1.0; //Priority of the homepage
|
1077 |
+
$this->_options["sm_pr_posts"]=0.6; //Priority of posts (if auto prio is disabled)
|
1078 |
+
$this->_options["sm_pr_posts_min"]=0.2; //Minimum Priority of posts, even if autocalc is enabled
|
1079 |
+
$this->_options["sm_pr_pages"]=0.6; //Priority of static pages
|
1080 |
+
$this->_options["sm_pr_cats"]=0.3; //Priority of categories
|
1081 |
+
$this->_options["sm_pr_arch"]=0.3; //Priority of archives
|
1082 |
+
$this->_options["sm_pr_auth"]=0.3; //Priority of author pages
|
1083 |
+
$this->_options["sm_pr_tags"]=0.3; //Priority of tags
|
1084 |
+
|
1085 |
+
$this->_options["sm_i_donated"]=false; //Did you donate? Thank you! :)
|
1086 |
+
$this->_options["sm_i_hide_donated"]=false; //And hide the thank you..
|
1087 |
+
$this->_options["sm_i_install_date"]=time(); //The installation date
|
1088 |
+
$this->_options["sm_i_hide_note"]=false; //Hide the note which appears after 30 days
|
1089 |
+
$this->_options["sm_i_hide_donors"]=false; //Hide the list of donations
|
1090 |
+
}
|
1091 |
+
|
1092 |
+
/**
|
1093 |
+
* Loads the configuration from the database
|
1094 |
+
*
|
1095 |
+
* @since 3.0
|
1096 |
+
* @access private
|
1097 |
+
* @author Arne Brachhold
|
1098 |
+
*/
|
1099 |
+
function LoadOptions() {
|
1100 |
+
|
1101 |
+
$this->InitOptions();
|
1102 |
+
|
1103 |
+
//First init default values, then overwrite it with stored values so we can add default
|
1104 |
+
//values with an update which get stored by the next edit.
|
1105 |
+
$storedoptions=get_option("sm_options");
|
1106 |
+
if($storedoptions && is_array($storedoptions)) {
|
1107 |
+
foreach($storedoptions AS $k=>$v) {
|
1108 |
+
$this->_options[$k]=$v;
|
1109 |
+
}
|
1110 |
+
} else update_option("sm_options",$this->_options); //First time use, store default values
|
1111 |
+
}
|
1112 |
+
|
1113 |
+
/**
|
1114 |
+
* Initializes a new Google Sitemap Generator
|
1115 |
+
*
|
1116 |
+
* @since 3.0
|
1117 |
+
* @access private
|
1118 |
+
* @author Arne Brachhold
|
1119 |
+
*/
|
1120 |
+
function GoogleSitemapGenerator() {
|
1121 |
+
|
1122 |
+
$this->_freqNames = array(
|
1123 |
+
"always"=>__("Always","sitemap"),
|
1124 |
+
"hourly"=>__("Hourly","sitemap"),
|
1125 |
+
"daily"=>__("Daily","sitemap"),
|
1126 |
+
"weekly"=>__("Weekly","sitemap"),
|
1127 |
+
"monthly"=>__("Monthly","sitemap"),
|
1128 |
+
"yearly"=>__("Yearly","sitemap"),
|
1129 |
+
"never"=>__("Never","sitemap")
|
1130 |
+
);
|
1131 |
+
|
1132 |
+
|
1133 |
+
}
|
1134 |
+
|
1135 |
+
/**
|
1136 |
+
* Returns the version of the generator
|
1137 |
+
*
|
1138 |
+
* @since 3.0
|
1139 |
+
* @access public
|
1140 |
+
* @author Arne Brachhold
|
1141 |
+
* @return int The version
|
1142 |
+
*/
|
1143 |
+
function GetVersion() {
|
1144 |
+
return GoogleSitemapGeneratorLoader::GetVersion();
|
1145 |
+
}
|
1146 |
+
|
1147 |
+
/**
|
1148 |
+
* Returns all parent classes of a class
|
1149 |
+
*
|
1150 |
+
* @param $className string The name of the class
|
1151 |
+
*
|
1152 |
+
* @since 3.0
|
1153 |
+
* @access private
|
1154 |
+
* @author Arne Brachhold
|
1155 |
+
* @return array An array which contains the names of the parent classes
|
1156 |
+
*/
|
1157 |
+
function GetParentClasses($classname) {
|
1158 |
+
$parent = get_parent_class($classname);
|
1159 |
+
$parents = array();
|
1160 |
+
if (!empty($parent)) {
|
1161 |
+
$parents = $this->GetParentClasses($parent);
|
1162 |
+
$parents[] = strtolower($parent);
|
1163 |
+
}
|
1164 |
+
return $parents;
|
1165 |
+
}
|
1166 |
+
|
1167 |
+
/**
|
1168 |
+
* Returns if a class is a subclass of another class
|
1169 |
+
*
|
1170 |
+
* @param $className string The name of the class
|
1171 |
+
* @param $$parentName string The name of the parent class
|
1172 |
+
*
|
1173 |
+
* @since 3.0
|
1174 |
+
* @access private
|
1175 |
+
* @author Arne Brachhold
|
1176 |
+
* @return bool true if the given class is a subclass of the other one
|
1177 |
+
*/
|
1178 |
+
function IsSubclassOf($className, $parentName) {
|
1179 |
+
|
1180 |
+
$className = strtolower($className);
|
1181 |
+
$parentName = strtolower($parentName);
|
1182 |
+
|
1183 |
+
if(empty($className) || empty($parentName) || !class_exists($className) || !class_exists($parentName)) return false;
|
1184 |
+
|
1185 |
+
$parents=$this->GetParentClasses($className);
|
1186 |
+
|
1187 |
+
return in_array($parentName,$parents);
|
1188 |
+
}
|
1189 |
+
|
1190 |
+
/**
|
1191 |
+
* Loads up the configuration and validates the prioity providers
|
1192 |
+
*
|
1193 |
+
* This method is only called if the sitemaps needs to be build or the admin page is displayed.
|
1194 |
+
*
|
1195 |
+
* @since 3.0
|
1196 |
+
* @access private
|
1197 |
+
* @author Arne Brachhold
|
1198 |
+
*/
|
1199 |
+
function Initate() {
|
1200 |
+
if(!$this->_initiated) {
|
1201 |
+
|
1202 |
+
//Loading language file...
|
1203 |
+
//load_plugin_textdomain('sitemap');
|
1204 |
+
//Hmm, doesn't work if the plugin file has its own directory.
|
1205 |
+
//Let's make it our way... load_plugin_textdomain() searches only in the wp-content/plugins dir.
|
1206 |
+
$currentLocale = get_locale();
|
1207 |
+
if(!empty($currentLocale)) {
|
1208 |
+
$moFile = dirname(__FILE__) . "/lang/sitemap-" . $currentLocale . ".mo";
|
1209 |
+
if(@file_exists($moFile) && is_readable($moFile)) load_textdomain('sitemap', $moFile);
|
1210 |
+
}
|
1211 |
+
|
1212 |
+
$this->LoadOptions();
|
1213 |
+
$this->LoadPages();
|
1214 |
+
|
1215 |
+
//Register our own priority providers
|
1216 |
+
add_filter("sm_add_prio_provider",array(&$this, 'AddDefaultPrioProviders'));
|
1217 |
+
|
1218 |
+
//Let other plugins register their providers
|
1219 |
+
$r = apply_filters("sm_add_prio_provider",$this->_prioProviders);
|
1220 |
+
|
1221 |
+
//Check if no plugin return null
|
1222 |
+
if($r != null) $this->_prioProviders = $r;
|
1223 |
+
|
1224 |
+
$this->ValidatePrioProviders();
|
1225 |
+
|
1226 |
+
$this->_initiated = true;
|
1227 |
+
}
|
1228 |
+
}
|
1229 |
+
|
1230 |
+
/**
|
1231 |
+
* Returns the instance of the Sitemap Generator
|
1232 |
+
*
|
1233 |
+
* @since 3.0
|
1234 |
+
* @access public
|
1235 |
+
* @return GoogleSitemapGenerator The instance or null if not available.
|
1236 |
+
* @author Arne Brachhold
|
1237 |
+
*/
|
1238 |
+
function &GetInstance() {
|
1239 |
+
if(isset($GLOBALS["sm_instance"])) {
|
1240 |
+
return $GLOBALS["sm_instance"];
|
1241 |
+
} else return null;
|
1242 |
+
}
|
1243 |
+
|
1244 |
+
/**
|
1245 |
+
* Returns if the sitemap building process is currently active
|
1246 |
+
*
|
1247 |
+
* @since 3.0
|
1248 |
+
* @access public
|
1249 |
+
* @return bool true if active
|
1250 |
+
* @author Arne Brachhold
|
1251 |
+
*/
|
1252 |
+
function IsActive() {
|
1253 |
+
$inst = &GoogleSitemapGenerator::GetInstance();
|
1254 |
+
return ($inst != null && $inst->_isActive);
|
1255 |
+
}
|
1256 |
+
|
1257 |
+
/**
|
1258 |
+
* Returns if the compressed sitemap was activated
|
1259 |
+
*
|
1260 |
+
* @since 3.0b8
|
1261 |
+
* @access private
|
1262 |
+
* @author Arne Brachhold
|
1263 |
+
* @return true if compressed
|
1264 |
+
*/
|
1265 |
+
function IsGzipEnabled() {
|
1266 |
+
return ($this->GetOption("b_gzip")===true && function_exists("gzwrite"));
|
1267 |
+
}
|
1268 |
+
|
1269 |
+
/**
|
1270 |
+
* Returns if this version of WordPress supports the new taxonomy system
|
1271 |
+
*
|
1272 |
+
* @since 3.0b8
|
1273 |
+
* @access private
|
1274 |
+
* @author Arne Brachhold
|
1275 |
+
* @return true if supported
|
1276 |
+
*/
|
1277 |
+
function IsTaxonomySupported() {
|
1278 |
+
return (function_exists("get_taxonomy") && function_exists("get_terms"));
|
1279 |
+
}
|
1280 |
+
|
1281 |
+
/**
|
1282 |
+
* Enables the Google Sitemap Generator and registers the WordPress hooks
|
1283 |
+
*
|
1284 |
+
* @since 3.0
|
1285 |
+
* @access public
|
1286 |
+
* @author Arne Brachhold
|
1287 |
+
*/
|
1288 |
+
function Enable() {
|
1289 |
+
if(!isset($GLOBALS["sm_instance"])) {
|
1290 |
+
$GLOBALS["sm_instance"]=new GoogleSitemapGenerator();
|
1291 |
+
}
|
1292 |
+
}
|
1293 |
+
|
1294 |
+
/**
|
1295 |
+
* Checks if sitemap building after content changed is enabled and rebuild the sitemap
|
1296 |
+
*
|
1297 |
+
* @param int $postID The ID of the post to handle. Used to avoid double rebuilding if more than one hook was fired.
|
1298 |
+
* @since 3.0
|
1299 |
+
* @access public
|
1300 |
+
* @author Arne Brachhold
|
1301 |
+
*/
|
1302 |
+
function CheckForAutoBuild($postID) {
|
1303 |
+
$this->Initate();
|
1304 |
+
//Build one time per post and if not importing.
|
1305 |
+
if($this->GetOption("b_auto_enabled")===true && $this->_lastPostID != $postID && (!defined('WP_IMPORTING') || WP_IMPORTING != true)) {
|
1306 |
+
$this->_lastPostID = $postID;
|
1307 |
+
|
1308 |
+
//Build the sitemap directly or schedule it with WP cron
|
1309 |
+
if($this->GetOption("b_auto_delay")==true) {
|
1310 |
+
if(!$this->_isScheduled) {
|
1311 |
+
//Schedule in 15 seconds, this should be enough to catch all changes.
|
1312 |
+
//Clear all other existing hooks, so the sitemap is only built once.
|
1313 |
+
wp_clear_scheduled_hook('sm_build_cron');
|
1314 |
+
wp_schedule_single_event(time()+15,'sm_build_cron');
|
1315 |
+
$this->_isScheduled = true;
|
1316 |
+
}
|
1317 |
+
} else {
|
1318 |
+
$this->BuildSitemap();
|
1319 |
+
}
|
1320 |
+
}
|
1321 |
+
}
|
1322 |
+
|
1323 |
+
/**
|
1324 |
+
* Checks if the rebuild request was send and starts to rebuilt the sitemap
|
1325 |
+
*
|
1326 |
+
* @since 3.0
|
1327 |
+
* @access public
|
1328 |
+
* @author Arne Brachhold
|
1329 |
+
*/
|
1330 |
+
function CheckForManualBuild() {
|
1331 |
+
if(!empty($_GET["sm_command"]) && !empty($_GET["sm_key"])) {
|
1332 |
+
$this->Initate();
|
1333 |
+
if($this->GetOption("b_manual_enabled")===true && $_GET["sm_command"]=="build" && $_GET["sm_key"]==$this->GetOption("b_manual_key")) {
|
1334 |
+
$this->BuildSitemap();
|
1335 |
+
echo "DONE";
|
1336 |
+
exit;
|
1337 |
+
}
|
1338 |
+
}
|
1339 |
+
}
|
1340 |
+
|
1341 |
+
/**
|
1342 |
+
* Validates all given Priority Providers by checking them for required methods and existence
|
1343 |
+
*
|
1344 |
+
* @since 3.0
|
1345 |
+
* @access private
|
1346 |
+
* @author Arne Brachhold
|
1347 |
+
*/
|
1348 |
+
function ValidatePrioProviders() {
|
1349 |
+
$validProviders=array();
|
1350 |
+
|
1351 |
+
for($i=0; $i<count($this->_prioProviders); $i++) {
|
1352 |
+
if(class_exists($this->_prioProviders[$i])) {
|
1353 |
+
if($this->IsSubclassOf($this->_prioProviders[$i],"GoogleSitemapGeneratorPrioProviderBase")) {
|
1354 |
+
array_push($validProviders,$this->_prioProviders[$i]);
|
1355 |
+
}
|
1356 |
+
}
|
1357 |
+
}
|
1358 |
+
$this->_prioProviders=$validProviders;
|
1359 |
+
|
1360 |
+
if(!$this->GetOption("b_prio_provider")) {
|
1361 |
+
if(!in_array($this->GetOption("b_prio_provider"),$this->_prioProviders,true)) {
|
1362 |
+
$this->SetOption("b_prio_provider","");
|
1363 |
+
}
|
1364 |
+
}
|
1365 |
+
}
|
1366 |
+
|
1367 |
+
/**
|
1368 |
+
* Adds the default Priority Providers to the provider list
|
1369 |
+
*
|
1370 |
+
* @since 3.0
|
1371 |
+
* @access private
|
1372 |
+
* @author Arne Brachhold
|
1373 |
+
*/
|
1374 |
+
function AddDefaultPrioProviders($providers) {
|
1375 |
+
array_push($providers,"GoogleSitemapGeneratorPrioByCountProvider");
|
1376 |
+
array_push($providers,"GoogleSitemapGeneratorPrioByAverageProvider");
|
1377 |
+
if(class_exists("ak_popularity_contest")) {
|
1378 |
+
array_push($providers,"GoogleSitemapGeneratorPrioByPopularityContestProvider");
|
1379 |
+
}
|
1380 |
+
return $providers;
|
1381 |
+
}
|
1382 |
+
|
1383 |
+
/**
|
1384 |
+
* Loads the stored pages from the database
|
1385 |
+
*
|
1386 |
+
* @since 3.0
|
1387 |
+
* @access private
|
1388 |
+
* @author Arne Brachhold
|
1389 |
+
*/
|
1390 |
+
function LoadPages() {
|
1391 |
+
global $wpdb;
|
1392 |
+
|
1393 |
+
$needsUpdate=false;
|
1394 |
+
|
1395 |
+
$pagesString=$wpdb->get_var("SELECT option_value FROM $wpdb->options WHERE option_name = 'sm_cpages'");
|
1396 |
+
|
1397 |
+
//Class sm_page was renamed with 3.0 -> rename it in serialized value for compatibility
|
1398 |
+
if(!empty($pagesString) && strpos($pagesString,"sm_page")!==false) {
|
1399 |
+
$pagesString = str_replace("O:7:\"sm_page\"","O:26:\"GoogleSitemapGeneratorPage\"",$pagesString);
|
1400 |
+
$needsUpdate=true;
|
1401 |
+
}
|
1402 |
+
|
1403 |
+
if(!empty($pagesString)) {
|
1404 |
+
$storedpages=unserialize($pagesString);
|
1405 |
+
$this->_pages=$storedpages;
|
1406 |
+
} else {
|
1407 |
+
$this->_pages=array();
|
1408 |
+
}
|
1409 |
+
|
1410 |
+
if($needsUpdate) $this->SavePages();
|
1411 |
+
}
|
1412 |
+
|
1413 |
+
/**
|
1414 |
+
* Saved the additional pages back to the database
|
1415 |
+
*
|
1416 |
+
* @since 3.0
|
1417 |
+
* @access private
|
1418 |
+
* @author Arne Brachhold
|
1419 |
+
* @return true on success
|
1420 |
+
*/
|
1421 |
+
function SavePages() {
|
1422 |
+
$oldvalue = get_option("sm_cpages");
|
1423 |
+
if($oldvalue == $this->_pages) {
|
1424 |
+
return true;
|
1425 |
+
} else {
|
1426 |
+
delete_option("sm_cpages");
|
1427 |
+
//Add the option, Note the autoload=false because when the autoload happens, our class GoogleSitemapGeneratorPage doesn't exist
|
1428 |
+
add_option("sm_cpages",$this->_pages,"Storage for custom pages of the sitemap plugin","no");
|
1429 |
+
return true;
|
1430 |
+
}
|
1431 |
+
}
|
1432 |
+
|
1433 |
+
|
1434 |
+
/**
|
1435 |
+
* Returns the URL for the sitemap file
|
1436 |
+
*
|
1437 |
+
* @since 3.0
|
1438 |
+
* @access private
|
1439 |
+
* @author Arne Brachhold
|
1440 |
+
* @param bool $forceAuto Force the return value to the autodetected value.
|
1441 |
+
* @return The URL to the Sitemap file
|
1442 |
+
*/
|
1443 |
+
function GetXmlUrl($forceAuto=false) {
|
1444 |
+
|
1445 |
+
if(!$forceAuto && $this->GetOption("b_location_mode")=="manual") {
|
1446 |
+
return $this->GetOption("b_fileurl_manual");
|
1447 |
+
} else {
|
1448 |
+
return trailingslashit(get_bloginfo('siteurl')). $this->GetOption("b_filename");
|
1449 |
+
}
|
1450 |
+
}
|
1451 |
+
|
1452 |
+
/**
|
1453 |
+
* Returns the URL for the gzipped sitemap file
|
1454 |
+
*
|
1455 |
+
* @since 3.0
|
1456 |
+
* @access private
|
1457 |
+
* @author Arne Brachhold
|
1458 |
+
* @param bool $forceAuto Force the return value to the autodetected value.
|
1459 |
+
* @return The URL to the gzipped Sitemap file
|
1460 |
+
*/
|
1461 |
+
function GetZipUrl($forceAuto=false) {
|
1462 |
+
return $this->GetXmlUrl($forceAuto) . ".gz";
|
1463 |
+
}
|
1464 |
+
|
1465 |
+
/**
|
1466 |
+
* Returns the file system path to the sitemap file
|
1467 |
+
*
|
1468 |
+
* @since 3.0
|
1469 |
+
* @access private
|
1470 |
+
* @author Arne Brachhold
|
1471 |
+
* @param bool $forceAuto Force the return value to the autodetected value.
|
1472 |
+
* @return The file system path;
|
1473 |
+
*/
|
1474 |
+
function GetXmlPath($forceAuto=false) {
|
1475 |
+
if(!$forceAuto && $this->GetOption("b_location_mode")=="manual") {
|
1476 |
+
return $this->GetOption("b_filename_manual");
|
1477 |
+
} else {
|
1478 |
+
return $this->GetHomePath() . $this->GetOption("b_filename");
|
1479 |
+
}
|
1480 |
+
}
|
1481 |
+
|
1482 |
+
/**
|
1483 |
+
* Returns the file system path to the gzipped sitemap file
|
1484 |
+
*
|
1485 |
+
* @since 3.0
|
1486 |
+
* @access private
|
1487 |
+
* @author Arne Brachhold
|
1488 |
+
* @param bool $forceAuto Force the return value to the autodetected value.
|
1489 |
+
* @return The file system path;
|
1490 |
+
*/
|
1491 |
+
function GetZipPath($forceAuto=false) {
|
1492 |
+
return $this->GetXmlPath($forceAuto) . ".gz";
|
1493 |
+
}
|
1494 |
+
|
1495 |
+
/**
|
1496 |
+
* Returns the option value for the given key
|
1497 |
+
* Alias for getOption
|
1498 |
+
*
|
1499 |
+
* @since 3.0
|
1500 |
+
* @access private
|
1501 |
+
* @author Arne Brachhold
|
1502 |
+
* @param $key string The Configuration Key
|
1503 |
+
* @return mixed The value
|
1504 |
+
*/
|
1505 |
+
function Go($key) {
|
1506 |
+
return $this->getOption($key);
|
1507 |
+
}
|
1508 |
+
|
1509 |
+
/**
|
1510 |
+
* Returns the option value for the given key
|
1511 |
+
*
|
1512 |
+
* @since 3.0
|
1513 |
+
* @access private
|
1514 |
+
* @author Arne Brachhold
|
1515 |
+
* @param $key string The Configuration Key
|
1516 |
+
* @return mixed The value
|
1517 |
+
*/
|
1518 |
+
function GetOption($key) {
|
1519 |
+
if(strpos($key,"sm_")!==0) $key="sm_" . $key;
|
1520 |
+
if(array_key_exists($key,$this->_options)) {
|
1521 |
+
return $this->_options[$key];
|
1522 |
+
} else return null;
|
1523 |
+
}
|
1524 |
+
|
1525 |
+
/**
|
1526 |
+
* Sets an option to a new value
|
1527 |
+
*
|
1528 |
+
* @since 3.0
|
1529 |
+
* @access private
|
1530 |
+
* @author Arne Brachhold
|
1531 |
+
* @param $key string The configuration key
|
1532 |
+
* @param $value mixed The new object
|
1533 |
+
*/
|
1534 |
+
function SetOption($key,$value) {
|
1535 |
+
if(strstr($key,"sm_")!==0) $key="sm_" . $key;
|
1536 |
+
|
1537 |
+
$this->_options[$key]=$value;
|
1538 |
+
}
|
1539 |
+
|
1540 |
+
/**
|
1541 |
+
* Saves the options back to the database
|
1542 |
+
*
|
1543 |
+
* @since 3.0
|
1544 |
+
* @access private
|
1545 |
+
* @author Arne Brachhold
|
1546 |
+
* @return bool true on success
|
1547 |
+
*/
|
1548 |
+
function SaveOptions() {
|
1549 |
+
$oldvalue = get_option("sm_options");
|
1550 |
+
if($oldvalue == $this->_options) {
|
1551 |
+
return true;
|
1552 |
+
} else return update_option("sm_options",$this->_options);
|
1553 |
+
}
|
1554 |
+
|
1555 |
+
/**
|
1556 |
+
* Retrieves the number of comments of a post in a asso. array
|
1557 |
+
* The key is the postID, the value the number of comments
|
1558 |
+
*
|
1559 |
+
* @since 3.0
|
1560 |
+
* @access private
|
1561 |
+
* @author Arne Brachhold
|
1562 |
+
* @return array An array with postIDs and their comment count
|
1563 |
+
*/
|
1564 |
+
function GetComments() {
|
1565 |
+
global $wpdb;
|
1566 |
+
$comments=array();
|
1567 |
+
|
1568 |
+
//Query comments and add them into the array
|
1569 |
+
$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`");
|
1570 |
+
if($commentRes) {
|
1571 |
+
foreach($commentRes as $comment) {
|
1572 |
+
$comments[$comment->post_id]=$comment->comment_count;
|
1573 |
+
}
|
1574 |
+
}
|
1575 |
+
return $comments;
|
1576 |
+
}
|
1577 |
+
|
1578 |
+
/**
|
1579 |
+
* Calculates the full number of comments from an sm_getComments() generated array
|
1580 |
+
*
|
1581 |
+
* @since 3.0
|
1582 |
+
* @access private
|
1583 |
+
* @author Arne Brachhold
|
1584 |
+
* @param $comments array The Array with posts and c0mment count
|
1585 |
+
* @see sm_getComments
|
1586 |
+
* @return The full number of comments
|
1587 |
+
*/
|
1588 |
+
function GetCommentCount($comments) {
|
1589 |
+
$commentCount=0;
|
1590 |
+
foreach($comments AS $k=>$v) {
|
1591 |
+
$commentCount+=$v;
|
1592 |
+
}
|
1593 |
+
return $commentCount;
|
1594 |
+
}
|
1595 |
+
|
1596 |
+
/**
|
1597 |
+
* Adds a url to the sitemap. You can use this method or call AddElement directly.
|
1598 |
+
*
|
1599 |
+
* @since 3.0
|
1600 |
+
* @access public
|
1601 |
+
* @author Arne Brachhold
|
1602 |
+
* @param $loc string The location (url) of the page
|
1603 |
+
* @param $lastMod int The last Modification time as a UNIX timestamp
|
1604 |
+
* @param $changeFreq string The change frequenty of the page, Valid values are "always", "hourly", "daily", "weekly", "monthly", "yearly" and "never".
|
1605 |
+
* @param $priorty float The priority of the page, between 0.0 and 1.0
|
1606 |
+
* @see AddElement
|
1607 |
+
* @return string The URL node
|
1608 |
+
*/
|
1609 |
+
function AddUrl($loc,$lastMod=0,$changeFreq="monthly",$priority=0.5) {
|
1610 |
+
$page = new GoogleSitemapGeneratorPage($loc,$priority,$changeFreq,$lastMod);
|
1611 |
+
|
1612 |
+
$this->AddElement($page);
|
1613 |
+
}
|
1614 |
+
|
1615 |
+
/**
|
1616 |
+
* Adds an element to the sitemap
|
1617 |
+
*
|
1618 |
+
* @since 3.0
|
1619 |
+
* @access private
|
1620 |
+
* @author Arne Brachhold
|
1621 |
+
* @param $page The element
|
1622 |
+
*/
|
1623 |
+
function AddElement(&$page) {
|
1624 |
+
if(empty($page)) return;
|
1625 |
+
|
1626 |
+
$s = $page->Render();
|
1627 |
+
|
1628 |
+
if($this->_fileZipHandle && $this->IsGzipEnabled()) {
|
1629 |
+
gzwrite($this->_fileZipHandle,$s);
|
1630 |
+
}
|
1631 |
+
|
1632 |
+
if($this->_fileHandle && $this->GetOption("b_xml")) {
|
1633 |
+
fwrite($this->_fileHandle,$s);
|
1634 |
+
}
|
1635 |
+
}
|
1636 |
+
|
1637 |
+
/**
|
1638 |
+
* Checks if a file is writable and tries to make it if not.
|
1639 |
+
*
|
1640 |
+
* @since 3.05b
|
1641 |
+
* @access private
|
1642 |
+
* @author VJTD3 <http://www.VJTD3.com>
|
1643 |
+
* @return bool true if writable
|
1644 |
+
*/
|
1645 |
+
function IsFileWritable($filename) {
|
1646 |
+
//can we write?
|
1647 |
+
if(!is_writable($filename)) {
|
1648 |
+
//no we can't.
|
1649 |
+
if(!@chmod($filename, 0666)) {
|
1650 |
+
$pathtofilename = dirname($filename);
|
1651 |
+
//Lets check if parent directory is writable.
|
1652 |
+
if(!is_writable($pathtofilename)) {
|
1653 |
+
//it's not writeable too.
|
1654 |
+
if(!@chmod($pathtoffilename, 0666)) {
|
1655 |
+
//darn couldn't fix up parrent directory this hosting is foobar.
|
1656 |
+
//Lets error because of the permissions problems.
|
1657 |
+
return false;
|
1658 |
+
}
|
1659 |
+
}
|
1660 |
+
}
|
1661 |
+
}
|
1662 |
+
//we can write, return 1/true/happy dance.
|
1663 |
+
return true;
|
1664 |
+
}
|
1665 |
+
|
1666 |
+
/**
|
1667 |
+
* Creates or opens the robots.txt in blog root and inserts the sitemap location
|
1668 |
+
*
|
1669 |
+
* @since 3.0b8
|
1670 |
+
* @access private
|
1671 |
+
* @author Arne Brachhold
|
1672 |
+
* @return true on success
|
1673 |
+
*/
|
1674 |
+
function WriteRobotsFile() {
|
1675 |
+
$file = $this->GetRobotsFilePath();
|
1676 |
+
|
1677 |
+
$marker = 'XML-SITEMAP-PLUGIN';
|
1678 |
+
|
1679 |
+
$current = extract_from_markers($file,$marker);
|
1680 |
+
if(is_array($current)) $current = $current[0];
|
1681 |
+
|
1682 |
+
$smUrl = $this->GetXmlUrl();
|
1683 |
+
if($this->IsGzipEnabled()) {
|
1684 |
+
$smUrl = $this->GetZipUrl();
|
1685 |
+
}
|
1686 |
+
|
1687 |
+
$new = "Sitemap: " . $smUrl;
|
1688 |
+
|
1689 |
+
if($current != $new) {
|
1690 |
+
if($this->IsFileWritable($file)) return insert_with_markers($file,$marker,array($new));
|
1691 |
+
else return false;
|
1692 |
+
}
|
1693 |
+
return true;
|
1694 |
+
}
|
1695 |
+
|
1696 |
+
/**
|
1697 |
+
* Builds the sitemap and writes it into a xml file.
|
1698 |
+
*
|
1699 |
+
* @since 3.0
|
1700 |
+
* @access public
|
1701 |
+
* @author Arne Brachhold <himself [at] arnebrachhold [dot] de>
|
1702 |
+
* @return array An array with messages such as failed writes etc.
|
1703 |
+
*/
|
1704 |
+
function BuildSitemap() {
|
1705 |
+
global $wpdb, $posts, $wp_version;
|
1706 |
+
$this->Initate();
|
1707 |
+
|
1708 |
+
if($this->GetOption("b_memory")!='') {
|
1709 |
+
@ini_set("memory_limit",$this->GetOption("b_memory"));
|
1710 |
+
}
|
1711 |
+
|
1712 |
+
if($this->GetOption("sm_b_time")!=-1) {
|
1713 |
+
@set_time_limit($this->GetOption("sm_b_time"));
|
1714 |
+
}
|
1715 |
+
|
1716 |
+
//This object saves the status information of the script directly to the database
|
1717 |
+
$status = new GoogleSitemapGeneratorStatus();
|
1718 |
+
|
1719 |
+
//Other plugins can detect if the building process is active
|
1720 |
+
$this->_isActive = true;
|
1721 |
+
|
1722 |
+
//$this->AddElement(new GoogleSitemapGeneratorXmlEntry());
|
1723 |
+
|
1724 |
+
//Debug mode?
|
1725 |
+
$debug=$this->GetOption("b_debug");
|
1726 |
+
|
1727 |
+
|
1728 |
+
if($this->GetOption("b_xml")) {
|
1729 |
+
$fileName = $this->GetXmlPath();
|
1730 |
+
$status->StartXml($this->GetXmlPath(),$this->GetXmlUrl());
|
1731 |
+
|
1732 |
+
if($this->IsFileWritable($fileName)) {
|
1733 |
+
|
1734 |
+
$this->_fileHandle = fopen($fileName,"w");
|
1735 |
+
if(!$this->_fileHandle) $status->EndXml(false,"Not openable");
|
1736 |
+
|
1737 |
+
} else $status->EndXml(false,"not writable");
|
1738 |
+
}
|
1739 |
+
|
1740 |
+
//Write gzipped sitemap file
|
1741 |
+
if($this->IsGzipEnabled()) {
|
1742 |
+
$fileName = $this->GetZipPath();
|
1743 |
+
$status->StartZip($this->GetZipPath(),$this->GetZipUrl());
|
1744 |
+
|
1745 |
+
if($this->IsFileWritable($fileName)) {
|
1746 |
+
|
1747 |
+
$this->_fileZipHandle = gzopen($fileName,"w1");
|
1748 |
+
if(!$this->_fileZipHandle) $status->EndZip(false,"Not openable");
|
1749 |
+
|
1750 |
+
} else $status->EndZip(false,"not writable");
|
1751 |
+
}
|
1752 |
+
|
1753 |
+
if(!$this->_fileHandle && !$this->_fileZipHandle) {
|
1754 |
+
$status->End();
|
1755 |
+
return;
|
1756 |
+
}
|
1757 |
+
|
1758 |
+
|
1759 |
+
//Content of the XML file
|
1760 |
+
$this->AddElement(new GoogleSitemapGeneratorXmlEntry('<?xml version="1.0" encoding="UTF-8"' . '?' . '>'));
|
1761 |
+
|
1762 |
+
if($this->GetOption("b_style")!='') {
|
1763 |
+
$this->AddElement(new GoogleSitemapGeneratorXmlEntry('<' . '?xml-stylesheet type="text/xsl" href="' . $this->GetOption("b_style") . '"?' . '>'));
|
1764 |
+
}
|
1765 |
+
|
1766 |
+
$this->AddElement(new GoogleSitemapGeneratorDebugEntry("generator=\"wordpress/" . get_bloginfo('version') . "\""));
|
1767 |
+
$this->AddElement(new GoogleSitemapGeneratorDebugEntry("sitemap-generator-url=\"http://www.arnebrachhold.de\" sitemap-generator-version=\"" . $this->GetVersion() . "\""));
|
1768 |
+
$this->AddElement(new GoogleSitemapGeneratorDebugEntry("generated-on=\"" . date(get_option("date_format") . " " . get_option("time_format")) . "\""));
|
1769 |
+
|
1770 |
+
//All comments as an asso. Array (postID=>commentCount)
|
1771 |
+
$comments=($this->GetOption("b_prio_provider")!=""?$this->GetComments():array());
|
1772 |
+
|
1773 |
+
//Full number of comments
|
1774 |
+
$commentCount=(count($comments)>0?$this->GetCommentCount($comments):0);
|
1775 |
+
|
1776 |
+
if($debug && $this->GetOption("b_prio_provider")!="") {
|
1777 |
+
$this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Total comment count: " . $commentCount));
|
1778 |
+
}
|
1779 |
+
|
1780 |
+
//Go XML!
|
1781 |
+
$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">'));
|
1782 |
+
|
1783 |
+
$home = get_bloginfo('url');
|
1784 |
+
|
1785 |
+
//Add the home page (WITH a slash!)
|
1786 |
+
if($this->GetOption("in_home")) {
|
1787 |
+
$this->AddUrl(trailingslashit($home),$this->GetTimestampFromMySql(get_lastpostmodified('GMT')),$this->GetOption("cf_home"),$this->GetOption("pr_home"));
|
1788 |
+
}
|
1789 |
+
|
1790 |
+
//Add the posts
|
1791 |
+
if($this->GetOption("in_posts") || $this->GetOption("in_pages")) {
|
1792 |
+
|
1793 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Postings"));
|
1794 |
+
|
1795 |
+
//Pre 2.1 compatibility. 2.1 introduced 'future' as post_status so we don't need to check post_date
|
1796 |
+
$wpCompat = (floatval($wp_version) < 2.1);
|
1797 |
+
|
1798 |
+
$postPageStmt = '';
|
1799 |
+
|
1800 |
+
$inSubPages = ($this->GetOption('sm_in_posts_sub')===true || 1==1);
|
1801 |
+
|
1802 |
+
if($inSubPages && $this->GetOption('in_posts')===true) {
|
1803 |
+
$pageDivider='<!--nextpage-->';
|
1804 |
+
$postPageStmt = ", (character_length(`post_content`) - character_length(REPLACE(`post_content`, '$pageDivider', ''))) / " . strlen($pageDivider) . " as postPages";
|
1805 |
+
}
|
1806 |
+
|
1807 |
+
$sql="SELECT `ID`, `post_author`, `post_date`, `post_date_gmt`, `post_status`, `post_name`, `post_modified`, `post_modified_gmt`, `post_parent`, `post_type` $postPageStmt FROM `" . $wpdb->posts . "` WHERE ";
|
1808 |
+
|
1809 |
+
$where = '(';
|
1810 |
+
|
1811 |
+
if($this->GetOption('in_posts')) {
|
1812 |
+
//WP < 2.1: posts are post_status = publish
|
1813 |
+
//WP >= 2.1: post_type must be 'post', no date check required because future posts are post_status='future'
|
1814 |
+
if($wpCompat) $where.="(post_status = 'publish' AND post_date_gmt <= '" . gmdate('Y-m-d H:i:59') . "')";
|
1815 |
+
else $where.=" (post_status = 'publish' AND (post_type = 'post' OR post_type = '')) ";
|
1816 |
+
}
|
1817 |
+
|
1818 |
+
if($this->GetOption('in_pages')) {
|
1819 |
+
if($this->GetOption('in_posts')) {
|
1820 |
+
$where.=" OR ";
|
1821 |
+
}
|
1822 |
+
if($wpCompat) {
|
1823 |
+
//WP < 2.1: posts have post_status = published, pages have post_status = static
|
1824 |
+
$where.=" post_status='static' ";
|
1825 |
+
} else {
|
1826 |
+
//WP >= 2.1: posts have post_type = 'post' and pages have post_type = 'page'. Both must be published.
|
1827 |
+
$where.=" (post_status = 'publish' AND post_type = 'page') ";
|
1828 |
+
}
|
1829 |
+
}
|
1830 |
+
|
1831 |
+
$where.=") ";
|
1832 |
+
|
1833 |
+
$excludes = $this->GetOption('b_exclude');
|
1834 |
+
|
1835 |
+
if(is_array($excludes) && count($excludes)>0) {
|
1836 |
+
$where.=" AND ID NOT IN ('" . implode("','",$excludes) . "')";
|
1837 |
+
}
|
1838 |
+
|
1839 |
+
$where.=" AND post_password='' ORDER BY post_modified DESC";
|
1840 |
+
|
1841 |
+
$sql .= $where;
|
1842 |
+
|
1843 |
+
if($this->GetOption("sm_b_max_posts")>0) {
|
1844 |
+
$sql.=" LIMIT 0," . $this->GetOption("sm_b_max_posts");
|
1845 |
+
}
|
1846 |
+
|
1847 |
+
$postCount = intval($wpdb->get_var("SELECT COUNT(*) AS cnt FROM `" . $wpdb->posts . "` WHERE ". $where,0,0));
|
1848 |
+
|
1849 |
+
//Create a new connection because we are using mysql_unbuffered_query and don't want to disturb the WP connection
|
1850 |
+
//Safe Mode for other plugins which use mysql_query() without a connection handler and will destroy our resultset :(
|
1851 |
+
$con = $postRes = null;
|
1852 |
+
if($this->GetOption("b_safemode")===true) {
|
1853 |
+
$postRes = mysql_query($sql,$wpdb->dbh);
|
1854 |
+
if(!$postRes) {
|
1855 |
+
trigger_error("MySQL query failed: " . mysql_error(),E_USER_NOTICE); //E_NOTE will be displayed on our debug mode
|
1856 |
+
return;
|
1857 |
+
}
|
1858 |
+
} else {
|
1859 |
+
$con = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD,true);
|
1860 |
+
if(!$con) {
|
1861 |
+
trigger_error("MySQL Connection failed: " . mysql_error(),E_USER_NOTICE);
|
1862 |
+
return;
|
1863 |
+
}
|
1864 |
+
if(!mysql_select_db(DB_NAME,$con)) {
|
1865 |
+
trigger_error("MySQL DB Select failed: " . mysql_error(),E_USER_NOTICE);
|
1866 |
+
return;
|
1867 |
+
}
|
1868 |
+
$postRes = mysql_unbuffered_query($sql,$con);
|
1869 |
+
|
1870 |
+
if(!$postRes) {
|
1871 |
+
trigger_error("MySQL unbuffered query failed: " . mysql_error(),E_USER_NOTICE);
|
1872 |
+
return;
|
1873 |
+
}
|
1874 |
+
}
|
1875 |
+
|
1876 |
+
if($postRes) {
|
1877 |
+
|
1878 |
+
//#type $prioProvider GoogleSitemapGeneratorPrioProviderBase
|
1879 |
+
$prioProvider=NULL;
|
1880 |
+
|
1881 |
+
if($this->GetOption("b_prio_provider") != '') {
|
1882 |
+
$providerClass=$this->GetOption('b_prio_provider');
|
1883 |
+
$prioProvider = new $providerClass($commentCount,$postCount);
|
1884 |
+
}
|
1885 |
+
|
1886 |
+
//$posts is used by Alex King's Popularity Contest plugin
|
1887 |
+
//if($posts == null || !is_array($posts)) {
|
1888 |
+
// $posts = &$postRes;
|
1889 |
+
//}
|
1890 |
+
|
1891 |
+
$z = 1;
|
1892 |
+
$zz = 1;
|
1893 |
+
|
1894 |
+
//Default priorities
|
1895 |
+
$default_prio_posts = $this->GetOption('pr_posts');
|
1896 |
+
$default_prio_pages = $this->GetOption('pr_pages');
|
1897 |
+
|
1898 |
+
//Change frequencies
|
1899 |
+
$cf_pages = $this->GetOption('sm_cf_pages');
|
1900 |
+
$cf_posts = $this->GetOption('sm_cf_posts');
|
1901 |
+
|
1902 |
+
$minPrio=$this->GetOption('pr_posts_min');
|
1903 |
+
|
1904 |
+
$useQTransLate = false; //function_exists('qtrans_convertURL'); Not ready yet
|
1905 |
+
|
1906 |
+
//Cycle through all posts and add them
|
1907 |
+
while($post = mysql_fetch_object($postRes)) {
|
1908 |
+
|
1909 |
+
//Fill the cache with our DB result. Since it's incomplete (no text-content for example), we will clean it later.
|
1910 |
+
$cache = array(&$post);
|
1911 |
+
update_post_cache($cache);
|
1912 |
+
|
1913 |
+
$permalink = get_permalink($post->ID);
|
1914 |
+
if($permalink != $home) {
|
1915 |
+
|
1916 |
+
$isPage = false;
|
1917 |
+
if($wpCompat) {
|
1918 |
+
$isPage = ($post->post_status == 'static');
|
1919 |
+
} else {
|
1920 |
+
$isPage = ($post->post_type == 'page');
|
1921 |
+
}
|
1922 |
+
|
1923 |
+
//Set the current working post
|
1924 |
+
$GLOBALS['post'] = &$post;
|
1925 |
+
|
1926 |
+
//Default Priority if auto calc is disabled
|
1927 |
+
$prio = 0;
|
1928 |
+
|
1929 |
+
if($isPage) {
|
1930 |
+
//Priority for static pages
|
1931 |
+
$prio = $default_prio_pages;
|
1932 |
+
} else {
|
1933 |
+
//Priority for normal posts
|
1934 |
+
$prio = $default_prio_posts;
|
1935 |
+
}
|
1936 |
+
|
1937 |
+
//If priority calc. is enabled, calculate (but only for posts, not pages)!
|
1938 |
+
if($prioProvider !== null && !$isPage) {
|
1939 |
+
|
1940 |
+
//Comment count for this post
|
1941 |
+
$cmtcnt = (isset($comments[$post->ID])?$comments[$post->ID]:0);
|
1942 |
+
$prio = $prioProvider->GetPostPriority($post->ID,$cmtcnt);
|
1943 |
+
|
1944 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry('Debug: Priority report of postID ' . $post->ID . ': Comments: ' . $cmtcnt . ' of ' . $commentCount . ' = ' . $prio . ' points'));
|
1945 |
+
}
|
1946 |
+
|
1947 |
+
if(!$isPage && $minPrio>0 && $prio<$minPrio) {
|
1948 |
+
$prio = $minPrio;
|
1949 |
+
}
|
1950 |
+
|
1951 |
+
//Add it
|
1952 |
+
$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);
|
1953 |
+
|
1954 |
+
if($inSubPages) {
|
1955 |
+
$subPage = '';
|
1956 |
+
for($p =1; $p<=$post->postPages; $p++) {
|
1957 |
+
if(get_option('permalink_structure') == '') {
|
1958 |
+
$subPage = $permalink . '&page=' . $p;
|
1959 |
+
} else {
|
1960 |
+
$subPage = trailingslashit($permalink) . user_trailingslashit($p, 'single_paged');
|
1961 |
+
}
|
1962 |
+
|
1963 |
+
$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);
|
1964 |
+
}
|
1965 |
+
}
|
1966 |
+
|
1967 |
+
|
1968 |
+
// Multilingual Support with qTranslate, thanks to Qian Qin
|
1969 |
+
if($useQTransLate) {
|
1970 |
+
global $q_config;
|
1971 |
+
foreach($q_config['enabled_languages'] as $language) {
|
1972 |
+
if($language != $q_config['default_language']) {
|
1973 |
+
$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);
|
1974 |
+
}
|
1975 |
+
}
|
1976 |
+
}
|
1977 |
+
}
|
1978 |
+
|
1979 |
+
//Update the status every 100 posts and at the end.
|
1980 |
+
//If the script breaks because of memory or time limit,
|
1981 |
+
//we have a "last reponded" value which can be compared to the server settings
|
1982 |
+
if($zz==100 || $z == $postCount) {
|
1983 |
+
$status->SaveStep($z);
|
1984 |
+
$zz=0;
|
1985 |
+
} else $zz++;
|
1986 |
+
|
1987 |
+
$z++;
|
1988 |
+
|
1989 |
+
//Clean cache because it's incomplete
|
1990 |
+
if(version_compare($wp_version,"2.5",">=")) {
|
1991 |
+
//WP 2.5 makes a mysql query for every clean_post_cache to clear the child cache
|
1992 |
+
//so I've vopied the function here until a patch arrives...
|
1993 |
+
wp_cache_delete($post->ID, 'posts');
|
1994 |
+
wp_cache_delete($post->ID, 'post_meta');
|
1995 |
+
clean_object_term_cache($post->ID, 'post');
|
1996 |
+
} else {
|
1997 |
+
clean_post_cache($post->ID);
|
1998 |
+
}
|
1999 |
+
}
|
2000 |
+
unset($postRes);
|
2001 |
+
unset($prioProvider);
|
2002 |
+
|
2003 |
+
if($this->GetOption("b_safemode")!==true && $con) mysql_close($con);
|
2004 |
+
}
|
2005 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Postings"));
|
2006 |
+
}
|
2007 |
+
|
2008 |
+
//Add the cats
|
2009 |
+
if($this->GetOption("in_cats")) {
|
2010 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Cats"));
|
2011 |
+
|
2012 |
+
if(!$this->IsTaxonomySupported()) {
|
2013 |
+
|
2014 |
+
$catsRes=$wpdb->get_results("
|
2015 |
+
SELECT
|
2016 |
+
c.cat_ID AS ID,
|
2017 |
+
MAX(p.post_modified_gmt) AS last_mod
|
2018 |
+
FROM
|
2019 |
+
`" . $wpdb->categories . "` c,
|
2020 |
+
`" . $wpdb->post2cat . "` pc,
|
2021 |
+
`" . $wpdb->posts . "` p
|
2022 |
+
WHERE
|
2023 |
+
pc.category_id = c.cat_ID
|
2024 |
+
AND p.ID = pc.post_id
|
2025 |
+
AND p.post_status = 'publish'
|
2026 |
+
AND p.post_type='post'
|
2027 |
+
GROUP
|
2028 |
+
BY c.cat_id
|
2029 |
+
");
|
2030 |
+
if($catsRes) {
|
2031 |
+
foreach($catsRes as $cat) {
|
2032 |
+
if($cat && $cat->ID && $cat->ID>0) {
|
2033 |
+
if($debug) if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Cat-ID:" . $cat->ID));
|
2034 |
+
$this->AddUrl(get_category_link($cat->ID),$this->GetTimestampFromMySql($cat->last_mod),$this->GetOption("cf_cats"),$this->GetOption("pr_cats"));
|
2035 |
+
}
|
2036 |
+
}
|
2037 |
+
}
|
2038 |
+
} else {
|
2039 |
+
$cats = get_terms("category",array("hide_empty"=>true,"hierarchical"=>false));
|
2040 |
+
if($cats && is_array($cats) && count($cats)>0) {
|
2041 |
+
foreach($cats AS $cat) {
|
2042 |
+
$this->AddUrl(get_category_link($cat->term_id),0,$this->GetOption("cf_cats"),$this->GetOption("pr_cats"));
|
2043 |
+
}
|
2044 |
+
}
|
2045 |
+
}
|
2046 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Cats"));
|
2047 |
+
}
|
2048 |
+
|
2049 |
+
//Add the archives
|
2050 |
+
if($this->GetOption("in_arch")) {
|
2051 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Archive"));
|
2052 |
+
$now = current_time('mysql');
|
2053 |
+
|
2054 |
+
//WP2.1 introduced post_status='future', for earlier WP versions we need to check the post_date_gmt
|
2055 |
+
$arcresults = $wpdb->get_results("
|
2056 |
+
SELECT DISTINCT
|
2057 |
+
YEAR(post_date_gmt) AS `year`,
|
2058 |
+
MONTH(post_date_gmt) AS `month`,
|
2059 |
+
MAX(post_date_gmt) as last_mod,
|
2060 |
+
count(ID) as posts
|
2061 |
+
FROM
|
2062 |
+
$wpdb->posts
|
2063 |
+
WHERE
|
2064 |
+
post_date < '$now'
|
2065 |
+
AND post_status = 'publish'
|
2066 |
+
AND post_type = 'post'
|
2067 |
+
" . (floatval($wp_version) < 2.1?"AND {$wpdb->posts}.post_date_gmt <= '" . gmdate('Y-m-d H:i:59') . "'":"") . "
|
2068 |
+
GROUP BY
|
2069 |
+
YEAR(post_date_gmt),
|
2070 |
+
MONTH(post_date_gmt)
|
2071 |
+
ORDER BY
|
2072 |
+
post_date_gmt DESC");
|
2073 |
+
if ($arcresults) {
|
2074 |
+
foreach ($arcresults as $arcresult) {
|
2075 |
+
|
2076 |
+
$url = get_month_link($arcresult->year, $arcresult->month);
|
2077 |
+
$changeFreq="";
|
2078 |
+
|
2079 |
+
//Archive is the current one
|
2080 |
+
if($arcresult->month==date("n") && $arcresult->year==date("Y")) {
|
2081 |
+
$changeFreq=$this->GetOption("cf_arch_curr");
|
2082 |
+
} else { // Archive is older
|
2083 |
+
$changeFreq=$this->GetOption("cf_arch_old");
|
2084 |
+
}
|
2085 |
+
|
2086 |
+
$this->AddUrl($url,$this->GetTimestampFromMySql($arcresult->last_mod),$changeFreq,$this->GetOption("pr_arch"));
|
2087 |
+
}
|
2088 |
+
}
|
2089 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Archive"));
|
2090 |
+
}
|
2091 |
+
|
2092 |
+
//Add the author pages
|
2093 |
+
if($this->GetOption("in_auth")) {
|
2094 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Author pages"));
|
2095 |
+
|
2096 |
+
$linkFunc = null;
|
2097 |
+
|
2098 |
+
//get_author_link is deprecated in WP 2.1, try to use get_author_posts_url first.
|
2099 |
+
if(function_exists('get_author_posts_url')) {
|
2100 |
+
$linkFunc = 'get_author_posts_url';
|
2101 |
+
} else if(function_exists('get_author_link')) {
|
2102 |
+
$linkFunc = 'get_author_link';
|
2103 |
+
}
|
2104 |
+
|
2105 |
+
//Who knows what happens in later WP versions, so check again if it worked
|
2106 |
+
if($linkFunc !== null) {
|
2107 |
+
//Unfortunately there is no API function to get all authors, so we have to do it the dirty way...
|
2108 |
+
//We retrieve only users with published and not password protected posts (and not pages)
|
2109 |
+
//WP2.1 introduced post_status='future', for earlier WP versions we need to check the post_date_gmt
|
2110 |
+
$sql = "SELECT DISTINCT
|
2111 |
+
{$wpdb->users}.ID,
|
2112 |
+
{$wpdb->users}.user_nicename,
|
2113 |
+
MAX({$wpdb->posts}.post_modified_gmt) AS last_post
|
2114 |
+
FROM
|
2115 |
+
{$wpdb->users},
|
2116 |
+
{$wpdb->posts}
|
2117 |
+
WHERE
|
2118 |
+
{$wpdb->posts}.post_author = {$wpdb->users}.ID
|
2119 |
+
AND {$wpdb->posts}.post_status = 'publish'
|
2120 |
+
AND {$wpdb->posts}.post_type = 'post'
|
2121 |
+
AND {$wpdb->posts}.post_password = ''
|
2122 |
+
" . (floatval($wp_version) < 2.1?"AND {$wpdb->posts}.post_date_gmt <= '" . gmdate('Y-m-d H:i:59') . "'":"") . "
|
2123 |
+
GROUP BY
|
2124 |
+
{$wpdb->users}.ID,
|
2125 |
+
{$wpdb->users}.user_nicename";
|
2126 |
+
|
2127 |
+
$authors = $wpdb->get_results($sql);
|
2128 |
+
|
2129 |
+
if($authors && is_array($authors)) {
|
2130 |
+
foreach($authors as $author) {
|
2131 |
+
if($debug) if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Author-ID:" . $author->ID));
|
2132 |
+
$url = ($linkFunc=='get_author_posts_url'?get_author_posts_url($author->ID,$author->user_nicename):get_author_link(false,$author->ID,$author->user_nicename));
|
2133 |
+
$this->AddUrl($url,$this->GetTimestampFromMySql($author->last_post),$this->GetOption("cf_auth"),$this->GetOption("pr_auth"));
|
2134 |
+
}
|
2135 |
+
}
|
2136 |
+
} else {
|
2137 |
+
//Too bad, no author pages for you :(
|
2138 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: No valid author link function found"));
|
2139 |
+
}
|
2140 |
+
|
2141 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Author pages"));
|
2142 |
+
}
|
2143 |
+
|
2144 |
+
//Add tag pages
|
2145 |
+
if($this->GetOption("in_tags") && $this->IsTaxonomySupported()) {
|
2146 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Tags"));
|
2147 |
+
$tags = get_terms("post_tag",array("hide_empty"=>true,"hierarchical"=>false));
|
2148 |
+
if($tags && is_array($tags) && count($tags)>0) {
|
2149 |
+
foreach($tags AS $tag) {
|
2150 |
+
$this->AddUrl(get_tag_link($tag->term_id),0,$this->GetOption("cf_tags"),$this->GetOption("pr_tags"));
|
2151 |
+
}
|
2152 |
+
}
|
2153 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Tags"));
|
2154 |
+
}
|
2155 |
+
|
2156 |
+
//Add the custom pages
|
2157 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Custom Pages"));
|
2158 |
+
if($this->_pages && is_array($this->_pages) && count($this->_pages)>0) {
|
2159 |
+
//#type $page GoogleSitemapGeneratorPage
|
2160 |
+
foreach($this->_pages AS $page) {
|
2161 |
+
$this->AddUrl($page->GetUrl(),$page->getLastMod(),$page->getChangeFreq(),$page->getPriority());
|
2162 |
+
}
|
2163 |
+
}
|
2164 |
+
|
2165 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Custom Pages"));
|
2166 |
+
|
2167 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start additional URLs"));
|
2168 |
+
|
2169 |
+
do_action("sm_buildmap");
|
2170 |
+
|
2171 |
+
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End additional URLs"));
|
2172 |
+
|
2173 |
+
$this->AddElement(new GoogleSitemapGeneratorXmlEntry("</urlset>"));
|
2174 |
+
|
2175 |
+
|
2176 |
+
$pingUrl='';
|
2177 |
+
|
2178 |
+
if($this->GetOption("b_xml")) {
|
2179 |
+
if($this->_fileHandle && fclose($this->_fileHandle)) {
|
2180 |
+
$this->_fileHandle = null;
|
2181 |
+
$status->EndXml(true);
|
2182 |
+
$pingUrl=$this->GetXmlUrl();
|
2183 |
+
} else $status->EndXml(false,"Could not close the sitemap file.");
|
2184 |
+
}
|
2185 |
+
|
2186 |
+
if($this->IsGzipEnabled()) {
|
2187 |
+
if($this->_fileZipHandle && fclose($this->_fileZipHandle)) {
|
2188 |
+
$this->_fileZipHandle = null;
|
2189 |
+
$status->EndZip(true);
|
2190 |
+
$pingUrl=$this->GetZipUrl();
|
2191 |
+
} else $status->EndZip(false,"Could not close the zipped sitemap file");
|
2192 |
+
}
|
2193 |
+
|
2194 |
+
//Ping Google
|
2195 |
+
if($this->GetOption("b_ping") && !empty($pingUrl)) {
|
2196 |
+
$sPingUrl="http://www.google.com/webmasters/sitemaps/ping?sitemap=" . urlencode($pingUrl);
|
2197 |
+
$status->StartGooglePing($sPingUrl);
|
2198 |
+
$pingres=$this->RemoteOpen($sPingUrl);
|
2199 |
+
|
2200 |
+
if($pingres==NULL || $pingres===false) {
|
2201 |
+
$status->EndGooglePing(false,$this->_lastError);
|
2202 |
+
} else {
|
2203 |
+
$status->EndGooglePing(true);
|
2204 |
+
}
|
2205 |
+
}
|
2206 |
+
|
2207 |
+
//Ping Ask.com
|
2208 |
+
if($this->GetOption("b_pingask") && !empty($pingUrl)) {
|
2209 |
+
$sPingUrl="http://submissions.ask.com/ping?sitemap=" . urlencode($pingUrl);
|
2210 |
+
$status->StartAskPing($sPingUrl);
|
2211 |
+
$pingres=$this->RemoteOpen($sPingUrl);
|
2212 |
+
|
2213 |
+
if($pingres==NULL || $pingres===false || strpos($pingres,"successfully received and added")===false) { //Ask.com returns 200 OK even if there was an error, so we need to check the content.
|
2214 |
+
$status->EndAskPing(false,$this->_lastError);
|
2215 |
+
} else {
|
2216 |
+
$status->EndAskPing(true);
|
2217 |
+
}
|
2218 |
+
}
|
2219 |
+
|
2220 |
+
//Ping YAHOO
|
2221 |
+
if($this->GetOption("sm_b_pingyahoo")===true && $this->GetOption("sm_b_yahookey")!="" && !empty($pingUrl)) {
|
2222 |
+
$sPingUrl="http://search.yahooapis.com/SiteExplorerService/V1/updateNotification?appid=" . $this->GetOption("sm_b_yahookey") . "&url=" . urlencode($pingUrl);
|
2223 |
+
$status->StartYahooPing($sPingUrl);
|
2224 |
+
$pingres=$this->RemoteOpen($sPingUrl);
|
2225 |
+
|
2226 |
+
if($pingres==NULL || $pingres===false || strpos(strtolower($pingres),"success")===false) {
|
2227 |
+
$status->EndYahooPing(false,$this->_lastError);
|
2228 |
+
} else {
|
2229 |
+
$status->EndYahooPing(true);
|
2230 |
+
}
|
2231 |
+
}
|
2232 |
+
|
2233 |
+
//Ping MSN
|
2234 |
+
if($this->GetOption("b_pingmsn") && !empty($pingUrl)) {
|
2235 |
+
$sPingUrl="http://webmaster.live.com/ping.aspx?siteMap=" . urlencode($pingUrl);
|
2236 |
+
$status->StartMsnPing($sPingUrl);
|
2237 |
+
$pingres=$this->RemoteOpen($sPingUrl);
|
2238 |
+
|
2239 |
+
if($pingres==NULL || $pingres===false || strpos($pingres,"Thanks for submitting your sitemap")===false) {
|
2240 |
+
$status->EndMsnPing(false,$this->_lastError);
|
2241 |
+
} else {
|
2242 |
+
$status->EndMsnPing(true);
|
2243 |
+
}
|
2244 |
+
}
|
2245 |
+
|
2246 |
+
$status->End();
|
2247 |
+
|
2248 |
+
|
2249 |
+
$this->_isActive = false;
|
2250 |
+
|
2251 |
+
//done...
|
2252 |
+
return $status;
|
2253 |
+
}
|
2254 |
+
|
2255 |
+
function RemoteOpen($url) {
|
2256 |
+
$res = null;
|
2257 |
+
|
2258 |
+
if(file_exists(ABSPATH . 'wp-includes/class-snoopy.php')) {
|
2259 |
+
require_once( ABSPATH . 'wp-includes/class-snoopy.php');
|
2260 |
+
|
2261 |
+
$s = new Snoopy();
|
2262 |
+
$s->fetch($url);
|
2263 |
+
|
2264 |
+
if($s->status == 200) {
|
2265 |
+
$res = $s->results;
|
2266 |
+
}
|
2267 |
+
} else {
|
2268 |
+
$res = wp_remote_fopen($url);
|
2269 |
+
}
|
2270 |
+
return $res;
|
2271 |
+
}
|
2272 |
+
|
2273 |
+
/**
|
2274 |
+
* Tracks the last error (gets called by PHP)
|
2275 |
+
*
|
2276 |
+
* @since 3.0
|
2277 |
+
* @access private
|
2278 |
+
* @author Arne Brachhold
|
2279 |
+
*/
|
2280 |
+
function TrackError($log_level, $log_text, $error_file, $error_line) {
|
2281 |
+
$this->_lastError = $log_text;
|
2282 |
+
}
|
2283 |
+
|
2284 |
+
/**
|
2285 |
+
* Echos option fields for an select field containing the valid change frequencies
|
2286 |
+
*
|
2287 |
+
* @since 3.0
|
2288 |
+
* @access private
|
2289 |
+
* @author Arne Brachhold
|
2290 |
+
* @param $currentVal The value which should be selected
|
2291 |
+
* @return all valid change frequencies as html option fields
|
2292 |
+
*/
|
2293 |
+
function HtmlGetFreqNames($currentVal) {
|
2294 |
+
|
2295 |
+
foreach($this->_freqNames AS $k=>$v) {
|
2296 |
+
echo "<option value=\"$k\" " . $this->HtmlGetSelected($k,$currentVal) .">" . $v . "</option>";
|
2297 |
+
}
|
2298 |
+
}
|
2299 |
+
|
2300 |
+
/**
|
2301 |
+
* Echos option fields for an select field containing the valid priorities (0- 1.0)
|
2302 |
+
*
|
2303 |
+
* @since 3.0
|
2304 |
+
* @access private
|
2305 |
+
* @author Arne Brachhold
|
2306 |
+
* @param $currentVal string The value which should be selected
|
2307 |
+
* @return 0.0 - 1.0 as html option fields
|
2308 |
+
*/
|
2309 |
+
function HtmlGetPriorityValues($currentVal) {
|
2310 |
+
$currentVal=(float) $currentVal;
|
2311 |
+
for($i=0.0; $i<=1.0; $i+=0.1) {
|
2312 |
+
echo "<option value=\"$i\" " . $this->HtmlGetSelected("$i","$currentVal") .">";
|
2313 |
+
_e(strval($i));
|
2314 |
+
echo "</option>";
|
2315 |
+
}
|
2316 |
+
}
|
2317 |
+
|
2318 |
+
/**
|
2319 |
+
* Returns the checked attribute if the given values match
|
2320 |
+
*
|
2321 |
+
* @since 3.0
|
2322 |
+
* @access private
|
2323 |
+
* @author Arne Brachhold
|
2324 |
+
* @param $val string The current value
|
2325 |
+
* @param $equals string The value to match
|
2326 |
+
* @return The checked attribute if the given values match, an empty string if not
|
2327 |
+
*/
|
2328 |
+
function HtmlGetChecked($val,$equals) {
|
2329 |
+
if($val==$equals) return $this->HtmlGetAttribute("checked");
|
2330 |
+
else return "";
|
2331 |
+
}
|
2332 |
+
|
2333 |
+
/**
|
2334 |
+
* Returns the selected attribute if the given values match
|
2335 |
+
*
|
2336 |
+
* @since 3.0
|
2337 |
+
* @access private
|
2338 |
+
* @author Arne Brachhold
|
2339 |
+
* @param $val string The current value
|
2340 |
+
* @param $equals string The value to match
|
2341 |
+
* @return The selected attribute if the given values match, an empty string if not
|
2342 |
+
*/
|
2343 |
+
function HtmlGetSelected($val,$equals) {
|
2344 |
+
if($val==$equals) return $this->HtmlGetAttribute("selected");
|
2345 |
+
else return "";
|
2346 |
+
}
|
2347 |
+
|
2348 |
+
/**
|
2349 |
+
* Returns an formatted attribute. If the value is NULL, the name will be used.
|
2350 |
+
*
|
2351 |
+
* @since 3.0
|
2352 |
+
* @access private
|
2353 |
+
* @author Arne Brachhold
|
2354 |
+
* @param $attr string The attribute name
|
2355 |
+
* @param $value string The attribute value
|
2356 |
+
* @return The formatted attribute
|
2357 |
+
*/
|
2358 |
+
function HtmlGetAttribute($attr,$value=NULL) {
|
2359 |
+
if($value==NULL) $value=$attr;
|
2360 |
+
return " " . $attr . "=\"" . $value . "\" ";
|
2361 |
+
}
|
2362 |
+
|
2363 |
+
/**
|
2364 |
+
* Returns an array with GoogleSitemapGeneratorPage objects which is generated from POST values
|
2365 |
+
*
|
2366 |
+
* @since 3.0
|
2367 |
+
* @see GoogleSitemapGeneratorPage
|
2368 |
+
* @access private
|
2369 |
+
* @author Arne Brachhold
|
2370 |
+
* @return array An array with GoogleSitemapGeneratorPage objects
|
2371 |
+
*/
|
2372 |
+
function HtmlApplyPages() {
|
2373 |
+
// Array with all page URLs
|
2374 |
+
$pages_ur=(!isset($_POST["sm_pages_ur"]) || !is_array($_POST["sm_pages_ur"])?array():$_POST["sm_pages_ur"]);
|
2375 |
+
|
2376 |
+
//Array with all priorities
|
2377 |
+
$pages_pr=(!isset($_POST["sm_pages_pr"]) || !is_array($_POST["sm_pages_pr"])?array():$_POST["sm_pages_pr"]);
|
2378 |
+
|
2379 |
+
//Array with all change frequencies
|
2380 |
+
$pages_cf=(!isset($_POST["sm_pages_cf"]) || !is_array($_POST["sm_pages_cf"])?array():$_POST["sm_pages_cf"]);
|
2381 |
+
|
2382 |
+
//Array with all lastmods
|
2383 |
+
$pages_lm=(!isset($_POST["sm_pages_lm"]) || !is_array($_POST["sm_pages_lm"])?array():$_POST["sm_pages_lm"]);
|
2384 |
+
|
2385 |
+
//Array where the new pages are stored
|
2386 |
+
$pages=array();
|
2387 |
+
|
2388 |
+
//Loop through all defined pages and set their properties into an object
|
2389 |
+
if(isset($_POST["sm_pages_mark"]) && is_array($_POST["sm_pages_mark"])) {
|
2390 |
+
for($i=0; $i<count($_POST["sm_pages_mark"]); $i++) {
|
2391 |
+
//Create new object
|
2392 |
+
$p=new GoogleSitemapGeneratorPage();
|
2393 |
+
if(substr($pages_ur[$i],0,4)=="www.") $pages_ur[$i]="http://" . $pages_ur[$i];
|
2394 |
+
$p->SetUrl($pages_ur[$i]);
|
2395 |
+
$p->SetProprity($pages_pr[$i]);
|
2396 |
+
$p->SetChangeFreq($pages_cf[$i]);
|
2397 |
+
//Try to parse last modified, if -1 (note ===) automatic will be used (0)
|
2398 |
+
$lm=(!empty($pages_lm[$i])?strtotime($pages_lm[$i],time()):-1);
|
2399 |
+
if($lm===-1) $p->setLastMod(0);
|
2400 |
+
else $p->setLastMod($lm);
|
2401 |
+
|
2402 |
+
//Add it to the array
|
2403 |
+
array_push($pages,$p);
|
2404 |
+
}
|
2405 |
+
}
|
2406 |
+
return $pages;
|
2407 |
+
}
|
2408 |
+
|
2409 |
+
function GetTimestampFromMySql($mysqlDateTime) {
|
2410 |
+
list($date, $hours) = split(' ', $mysqlDateTime);
|
2411 |
+
list($year,$month,$day) = split('-',$date);
|
2412 |
+
list($hour,$min,$sec) = split(':',$hours);
|
2413 |
+
return mktime($hour, $min, $sec, $month, $day, $year);
|
2414 |
+
}
|
2415 |
+
|
2416 |
+
|
2417 |
+
function GetResourceLink($resourceID) {
|
2418 |
+
return trailingslashit(get_bloginfo('siteurl')) . '?res=' . $resourceID;
|
2419 |
+
}
|
2420 |
+
|
2421 |
+
function GetRedirectLink($redir) {
|
2422 |
+
return trailingslashit("http://www.arnebrachhold.de/redir/" . $redir);
|
2423 |
+
}
|
2424 |
+
|
2425 |
+
function GetBackLink() {
|
2426 |
+
$page = basename(__FILE__);
|
2427 |
+
if(isset($_GET['page']) && !empty($_GET['page'])) {
|
2428 |
+
$page = preg_replace('[^a-zA-Z0-9\.\_\-]','',$_GET['page']);
|
2429 |
+
}
|
2430 |
+
return $_SERVER['PHP_SELF'] . "?page=" . $page;
|
2431 |
+
}
|
2432 |
+
|
2433 |
+
function HtmlShowOptionsPage() {
|
2434 |
+
if(!class_exists("GoogleSitemapGeneratorUI")) {
|
2435 |
+
|
2436 |
+
$path = trailingslashit(dirname(__FILE__));
|
2437 |
+
|
2438 |
+
if(!file_exists( $path . 'sitemap-ui.php')) return false;
|
2439 |
+
require_once($path. 'sitemap-ui.php');
|
2440 |
+
}
|
2441 |
+
|
2442 |
+
$ui = new GoogleSitemapGeneratorUI($this);
|
2443 |
+
$ui->HtmlShowOptionsPage();
|
2444 |
+
return true;
|
2445 |
+
}
|
2446 |
+
}
|
sitemap-de_DE.mo
DELETED
Binary file
|
sitemap-ui.php
ADDED
@@ -0,0 +1,1224 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
|
4 |
+
$Id: sitemap-ui.php 46829 2008-05-19 20:02:22Z arnee $
|
5 |
+
|
6 |
+
*/
|
7 |
+
|
8 |
+
class GoogleSitemapGeneratorUI {
|
9 |
+
|
10 |
+
var $sg = null;
|
11 |
+
|
12 |
+
function GoogleSitemapGeneratorUI($sitemapBuilder) {
|
13 |
+
$this->sg = $sitemapBuilder;
|
14 |
+
}
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Displays the option page
|
18 |
+
*
|
19 |
+
* @since 3.0
|
20 |
+
* @access public
|
21 |
+
* @author Arne Brachhold
|
22 |
+
*/
|
23 |
+
function HtmlShowOptionsPage() {
|
24 |
+
global $wp_version;
|
25 |
+
$this->sg->Initate();
|
26 |
+
|
27 |
+
//All output should go in this var which get printed at the end
|
28 |
+
$message="";
|
29 |
+
|
30 |
+
if(isset($_GET['sm_hidedonate'])) {
|
31 |
+
$this->sg->SetOption('i_hide_donated',true);
|
32 |
+
$this->sg->SaveOptions();
|
33 |
+
}
|
34 |
+
if(isset($_GET['sm_donated'])) {
|
35 |
+
$this->sg->SetOption('i_donated',true);
|
36 |
+
$this->sg->SaveOptions();
|
37 |
+
}
|
38 |
+
if(isset($_GET['sm_hide_note'])) {
|
39 |
+
$this->sg->SetOption('i_hide_note',true);
|
40 |
+
$this->sg->SaveOptions();
|
41 |
+
}
|
42 |
+
if(isset($_GET['sm_hidedonors'])) {
|
43 |
+
$this->sg->SetOption('i_hide_donors',true);
|
44 |
+
$this->sg->SaveOptions();
|
45 |
+
}
|
46 |
+
|
47 |
+
if(isset($_GET['sm_donated']) || ($this->sg->GetOption('i_donated')===true && $this->sg->GetOption('i_hide_donated')!==true)) {
|
48 |
+
?>
|
49 |
+
<div class="updated">
|
50 |
+
<strong><p><?php _e('Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!','sitemap'); ?> <a href="<?php echo $this->sg->GetBackLink() . "&sm_hidedonate=true"; ?>"><small style="font-weight:normal;"><?php _e('Hide this notice', 'sitemap'); ?></small></a></p></strong>
|
51 |
+
</div>
|
52 |
+
<?php
|
53 |
+
} else if($this->sg->GetOption('i_donated') !== true && $this->sg->GetOption('i_install_date')>0 && $this->sg->GetOption('i_hide_note')!==true && time() > ($this->sg->GetOption('i_install_date') + (60*60*24*30))) {
|
54 |
+
?>
|
55 |
+
<div class="updated">
|
56 |
+
<strong><p><?php echo str_replace("%s",$this->sg->GetRedirectLink("sitemap-donate-note"),__('Thanks for using this plugin! You\'ve installed this plugin over a month ago. If it works and your are satisfied with the results, isn\'t it worth at least one 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>','sitemap')); ?> <a href="<?php echo $this->sg->GetBackLink() . "&sm_hide_note=true"; ?>" style="float:right; display:block; border:none;"><small style="font-weight:normal; "><?php _e('No thanks, please don\'t bug me anymore!', 'sitemap'); ?></small></a></p></strong>
|
57 |
+
<div style="clear:right;"></div>
|
58 |
+
</div>
|
59 |
+
<?php
|
60 |
+
}
|
61 |
+
|
62 |
+
if(function_exists("wp_next_scheduled")) {
|
63 |
+
$next = wp_next_scheduled('sm_build_cron');
|
64 |
+
if($next) {
|
65 |
+
$diff = (time()-$next)*-1;
|
66 |
+
if($diff <= 0) {
|
67 |
+
$diffMsg = __('Your sitemap is beeing refreshed at the moment. Depending on your blog size this might take some time!','sitemap');
|
68 |
+
} else {
|
69 |
+
$diffMsg = str_replace("%s",$diff,__('Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!','sitemap'));
|
70 |
+
}
|
71 |
+
?>
|
72 |
+
<div class="updated">
|
73 |
+
<strong><p><?php echo $diffMsg ?></p></strong>
|
74 |
+
<div style="clear:right;"></div>
|
75 |
+
</div>
|
76 |
+
<?php
|
77 |
+
}
|
78 |
+
}
|
79 |
+
|
80 |
+
if(!empty($_REQUEST["sm_rebuild"])) { //Pressed Button: Rebuild Sitemap
|
81 |
+
check_admin_referer('sitemap');
|
82 |
+
if(isset($_GET["sm_do_debug"]) && $_GET["sm_do_debug"]=="true") {
|
83 |
+
|
84 |
+
//Check again, just for the case that something went wrong before
|
85 |
+
if(!current_user_can("administrator")) {
|
86 |
+
echo '<p>Please log in as admin</p>';
|
87 |
+
return;
|
88 |
+
}
|
89 |
+
|
90 |
+
$oldErr = error_reporting(E_ALL);
|
91 |
+
$oldIni = ini_set("display_errors",1);
|
92 |
+
|
93 |
+
echo '<div class="wrap">';
|
94 |
+
echo '<h2>' . __('XML Sitemap Generator for WordPress', 'sitemap') . " " . $this->sg->GetVersion(). '</h2>';
|
95 |
+
echo '<p>This is the debug mode of the XML Sitemap Generator. It will show all PHP notices and warnings as well as the internal logs, messages and configuration.</p>';
|
96 |
+
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>';
|
97 |
+
echo "<h3>WordPress and PHP Information</h3>";
|
98 |
+
echo '<p>WordPress ' . $GLOBALS['wp_version'] . ' with ' . ' DB ' . $GLOBALS['wp_db_version'] . ' on PHP ' . phpversion() . '</p>';
|
99 |
+
echo '<p>Plugin version: ' . $this->sg->GetVersion() . ' (' . $this->sg->_svnVersion . ')';
|
100 |
+
echo '<h4>Environment</h4>';
|
101 |
+
echo "<pre>";
|
102 |
+
$sc = $_SERVER;
|
103 |
+
unset($sc["HTTP_COOKIE"]);
|
104 |
+
print_r($sc);
|
105 |
+
echo "</pre>";
|
106 |
+
echo "<h4>WordPress Config</h4>";
|
107 |
+
echo "<pre>";
|
108 |
+
$opts = wp_load_alloptions();
|
109 |
+
$popts = array();
|
110 |
+
foreach($opts as $k=>$v) {
|
111 |
+
//Try to filter out passwords etc...
|
112 |
+
if(preg_match("/(pass|login|pw|secret|user|usr)/si",$v)) continue;
|
113 |
+
$popts[$k] = htmlspecialchars($v);
|
114 |
+
}
|
115 |
+
print_r($popts);
|
116 |
+
echo "</pre>";
|
117 |
+
echo '<h4>Sitemap Config</h4>';
|
118 |
+
echo "<pre>";
|
119 |
+
print_r($this->sg->_options);
|
120 |
+
echo "</pre>";
|
121 |
+
echo '<h3>Errors, Warnings, Notices</h3>';
|
122 |
+
echo '<div>';
|
123 |
+
$status = $this->sg->BuildSitemap();
|
124 |
+
echo '</div>';
|
125 |
+
echo '<h3>MySQL Queries</h3>';
|
126 |
+
if(defined('SAVEQUERIES') && SAVEQUERIES) {
|
127 |
+
echo '<pre>';
|
128 |
+
var_dump($GLOBALS['wpdb']->queries);
|
129 |
+
echo '</pre>';
|
130 |
+
|
131 |
+
$total = 0;
|
132 |
+
foreach($GLOBALS['wpdb']->queries as $q) {
|
133 |
+
$total+=$q[1];
|
134 |
+
}
|
135 |
+
echo '<h4>Total Query Time</h4>';
|
136 |
+
echo '<pre>' . count($GLOBALS['wpdb']->queries) . ' queries in ' . round($total,2) . ' seconds.</pre>';
|
137 |
+
} else {
|
138 |
+
echo '<p>Please edit wp-db.inc.php in wp-includes and set SAVEQUERIES to true if you want to see the queries.</p>';
|
139 |
+
}
|
140 |
+
echo "<h3>Build Process Results</h3>";
|
141 |
+
echo "<pre>";
|
142 |
+
print_r($status);
|
143 |
+
echo "</pre>";
|
144 |
+
echo '<p>Done. <a href="' . wp_nonce_url($this->sg->GetBackLink() . "&sm_rebuild=true&sm_do_debug=true",'sitemap') . '">Rebuild</a> or <a href="' . $this->sg->GetBackLink() . '">Return</a></p>';
|
145 |
+
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>';
|
146 |
+
echo '</div>';
|
147 |
+
@error_reporting($oldErr);
|
148 |
+
@ini_set("display_errors",$oldIni);
|
149 |
+
return;
|
150 |
+
} else {
|
151 |
+
$this->sg->BuildSitemap();
|
152 |
+
//Redirect so the sm_rebuild GET parameter no longer exists.
|
153 |
+
@header("location: " . $this->sg->GetBackLink());
|
154 |
+
//If there was already any other output, the header redirect will fail
|
155 |
+
echo '<script type="text/javascript">location.replace("' . $this->sg->GetBackLink() . '");</script>';
|
156 |
+
echo '<noscript><a href="' . $this->sg->GetBackLink() . '">Click here to continue</a></noscript>';
|
157 |
+
exit;
|
158 |
+
}
|
159 |
+
} else if (!empty($_POST['sm_update'])) { //Pressed Button: Update Config
|
160 |
+
check_admin_referer('sitemap');
|
161 |
+
foreach($this->sg->_options as $k=>$v) {
|
162 |
+
//Check vor values and convert them into their types, based on the category they are in
|
163 |
+
if(!isset($_POST[$k])) $_POST[$k]=""; // Empty string will get false on 2bool and 0 on 2float
|
164 |
+
//Options of the category "Basic Settings" are boolean, except the filename and the autoprio provider
|
165 |
+
if(substr($k,0,5)=="sm_b_") {
|
166 |
+
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_yahookey" || $k == "sm_b_style" || $k == "sm_b_memory") {
|
167 |
+
if($k=="sm_b_filename_manual" && strpos($_POST[$k],"\\")!==false){
|
168 |
+
$_POST[$k]=stripslashes($_POST[$k]);
|
169 |
+
}
|
170 |
+
$this->sg->_options[$k]=(string) $_POST[$k];
|
171 |
+
} else if($k=="sm_b_location_mode") {
|
172 |
+
$tmp=(string) $_POST[$k];
|
173 |
+
$tmp=strtolower($tmp);
|
174 |
+
if($tmp=="auto" || $tmp="manual") $this->sg->_options[$k]=$tmp;
|
175 |
+
else $this->sg->_options[$k]="auto";
|
176 |
+
} else if($k == "sm_b_time" || $k=="sm_b_max_posts") {
|
177 |
+
if($_POST[$k]=='') $_POST[$k] = -1;
|
178 |
+
$this->sg->_options[$k] = intval($_POST[$k]);
|
179 |
+
} else if($k== "sm_i_install_date") {
|
180 |
+
if($this->sg->GetOption('i_install_date')<=0) $this->sg->_options[$k] = time();
|
181 |
+
} else if($k=="sm_b_exclude") {
|
182 |
+
$IDss = array();
|
183 |
+
$IDs = explode(",",$_POST[$k]);
|
184 |
+
for($x = 0; $x<count($IDs); $x++) {
|
185 |
+
$ID = intval(trim($IDs[$x]));
|
186 |
+
if($ID>0) $IDss[] = $ID;
|
187 |
+
}
|
188 |
+
$this->sg->_options[$k] = $IDss;
|
189 |
+
} else {
|
190 |
+
$this->sg->_options[$k]=(bool) $_POST[$k];
|
191 |
+
}
|
192 |
+
//Options of the category "Includes" are boolean
|
193 |
+
} else if(substr($k,0,6)=="sm_in_") {
|
194 |
+
$this->sg->_options[$k]=(bool) $_POST[$k];
|
195 |
+
//Options of the category "Change frequencies" are string
|
196 |
+
} else if(substr($k,0,6)=="sm_cf_") {
|
197 |
+
$this->sg->_options[$k]=(string) $_POST[$k];
|
198 |
+
//Options of the category "Priorities" are float
|
199 |
+
} else if(substr($k,0,6)=="sm_pr_") {
|
200 |
+
$this->sg->_options[$k]=(float) $_POST[$k];
|
201 |
+
}
|
202 |
+
}
|
203 |
+
|
204 |
+
//Apply page changes from POST
|
205 |
+
$this->sg->_pages=$this->sg->HtmlApplyPages();
|
206 |
+
|
207 |
+
if($this->sg->SaveOptions()) $message.=__('Configuration updated', 'sitemap') . "<br />";
|
208 |
+
else $message.=__('Error while saving options', 'sitemap') . "<br />";
|
209 |
+
|
210 |
+
if($this->sg->SavePages()) $message.=__("Pages saved",'sitemap') . "<br />";
|
211 |
+
else $message.=__('Error while saving pages', 'sitemap'). "<br />";
|
212 |
+
|
213 |
+
if($this->sg->GetOption('sm_b_robots')===true) {
|
214 |
+
if($this->sg->WriteRobotsFile()) {
|
215 |
+
$message.=str_replace("%s",$this->sg->GetRobotsFileUrl(),__("<a href=\"%s\">Robots.txt</a> file saved",'sitemap')) . "<br />";
|
216 |
+
} else {
|
217 |
+
$message.=__("Error while saving Robots.txt file",'sitemap') . "<br />";
|
218 |
+
}
|
219 |
+
}
|
220 |
+
|
221 |
+
} else if(!empty($_POST["sm_reset_config"])) { //Pressed Button: Reset Config
|
222 |
+
check_admin_referer('sitemap');
|
223 |
+
$this->sg->InitOptions();
|
224 |
+
$this->sg->SaveOptions();
|
225 |
+
|
226 |
+
$message.=__('The default configuration was restored.','sitemap');
|
227 |
+
}
|
228 |
+
|
229 |
+
//Print out the message to the user, if any
|
230 |
+
if($message!="") {
|
231 |
+
?>
|
232 |
+
<div class="updated"><strong><p><?php
|
233 |
+
echo $message;
|
234 |
+
?></p></strong></div><?php
|
235 |
+
}
|
236 |
+
?>
|
237 |
+
|
238 |
+
<style type="text/css">
|
239 |
+
|
240 |
+
li.sm_hint {
|
241 |
+
color:green;
|
242 |
+
}
|
243 |
+
|
244 |
+
li.sm_optimize {
|
245 |
+
color:orange;
|
246 |
+
}
|
247 |
+
|
248 |
+
li.sm_error {
|
249 |
+
color:red;
|
250 |
+
}
|
251 |
+
|
252 |
+
input.sm_warning:hover {
|
253 |
+
background: #ce0000;
|
254 |
+
color: #fff;
|
255 |
+
}
|
256 |
+
|
257 |
+
a.sm_button {
|
258 |
+
padding:4px;
|
259 |
+
display:block;
|
260 |
+
padding-left:25px;
|
261 |
+
background-repeat:no-repeat;
|
262 |
+
background-position:5px 50%;
|
263 |
+
text-decoration:none;
|
264 |
+
border:none;
|
265 |
+
}
|
266 |
+
|
267 |
+
a.sm_button:hover {
|
268 |
+
border-bottom-width:1px;
|
269 |
+
}
|
270 |
+
|
271 |
+
a.sm_donatePayPal {
|
272 |
+
background-image:url(<?php echo $this->sg->GetPluginUrl(); ?>/img/icon-paypal.gif);
|
273 |
+
}
|
274 |
+
|
275 |
+
a.sm_donateAmazon {
|
276 |
+
background-image:url(<?php echo $this->sg->GetPluginUrl(); ?>/img/icon-amazon.gif);
|
277 |
+
}
|
278 |
+
|
279 |
+
a.sm_pluginHome {
|
280 |
+
background-image:url(<?php echo $this->sg->GetPluginUrl(); ?>/img/icon-arne.gif);
|
281 |
+
}
|
282 |
+
|
283 |
+
a.sm_pluginList {
|
284 |
+
background-image:url(<?php echo $this->sg->GetPluginUrl(); ?>/img/icon-email.gif);
|
285 |
+
}
|
286 |
+
|
287 |
+
a.sm_pluginSupport {
|
288 |
+
background-image:url(<?php echo $this->sg->GetPluginUrl(); ?>/img/icon-wordpress.gif);
|
289 |
+
}
|
290 |
+
|
291 |
+
a.sm_pluginBugs {
|
292 |
+
background-image:url(<?php echo $this->sg->GetPluginUrl(); ?>/img/icon-trac.gif);
|
293 |
+
}
|
294 |
+
|
295 |
+
a.sm_resGoogle {
|
296 |
+
background-image:url(<?php echo $this->sg->GetPluginUrl(); ?>/img/icon-google.gif);
|
297 |
+
}
|
298 |
+
|
299 |
+
a.sm_resYahoo {
|
300 |
+
background-image:url(<?php echo $this->sg->GetPluginUrl(); ?>/img/icon-yahoo.gif);
|
301 |
+
}
|
302 |
+
|
303 |
+
a.sm_resLive {
|
304 |
+
background-image:url(<?php echo $this->sg->GetPluginUrl(); ?>/img/icon-live.gif);
|
305 |
+
}
|
306 |
+
|
307 |
+
div.sm-update-nag p {
|
308 |
+
margin:5px;
|
309 |
+
}
|
310 |
+
|
311 |
+
</style>
|
312 |
+
|
313 |
+
<?php
|
314 |
+
if(version_compare($wp_version,"2.5",">=")) {
|
315 |
+
?>
|
316 |
+
<style type="text/css">
|
317 |
+
div#moremeta {
|
318 |
+
float:right;
|
319 |
+
width:200px;
|
320 |
+
margin-left:10px;
|
321 |
+
}
|
322 |
+
div#advancedstuff {
|
323 |
+
width:770px;
|
324 |
+
}
|
325 |
+
div#poststuff {
|
326 |
+
margin-top:10px;
|
327 |
+
}
|
328 |
+
fieldset.dbx-box {
|
329 |
+
margin-bottom:5px;
|
330 |
+
}
|
331 |
+
|
332 |
+
div.sm-update-nag {
|
333 |
+
margin-top:10px!important;
|
334 |
+
}
|
335 |
+
|
336 |
+
</style>
|
337 |
+
<!--[if lt IE 7]>
|
338 |
+
<style type="text/css">
|
339 |
+
div#advancedstuff {
|
340 |
+
width:735px;
|
341 |
+
}
|
342 |
+
</style>
|
343 |
+
<![endif]-->
|
344 |
+
|
345 |
+
<?php
|
346 |
+
} else { ?>
|
347 |
+
<style type="text/css">
|
348 |
+
div.updated-message {
|
349 |
+
margin-left:0; margin-right:0;
|
350 |
+
}
|
351 |
+
</style>
|
352 |
+
<?php }
|
353 |
+
?>
|
354 |
+
|
355 |
+
|
356 |
+
|
357 |
+
|
358 |
+
|
359 |
+
<div class="wrap" id="sm_div">
|
360 |
+
<form method="post" action="<?php echo $this->sg->GetBackLink() ?>">
|
361 |
+
<h2><?php _e('XML Sitemap Generator for WordPress', 'sitemap'); echo " " . $this->sg->GetVersion() ?> </h2>
|
362 |
+
<?php
|
363 |
+
if(function_exists("wp_update_plugins") && (!defined('SM_NO_UPDATE') || SM_NO_UPDATE == false)) {
|
364 |
+
wp_update_plugins();
|
365 |
+
|
366 |
+
$file = GoogleSitemapGeneratorLoader::GetBaseName();
|
367 |
+
|
368 |
+
$plugin_data = get_plugin_data(GoogleSitemapGeneratorLoader::GetPluginFile());
|
369 |
+
$current = get_option( 'update_plugins' );
|
370 |
+
if(isset($current->response[$file])) {
|
371 |
+
$r = $current->response[$file];
|
372 |
+
?><div id="update-nag" class="sm-update-nag"><?php
|
373 |
+
if ( !current_user_can('edit_plugins') || version_compare($wp_version,"2.5","<") )
|
374 |
+
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);
|
375 |
+
else if ( empty($r->package) )
|
376 |
+
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);
|
377 |
+
else
|
378 |
+
printf( __('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>.','default'), $plugin_data['Name'], $r->url, $r->new_version, wp_nonce_url("update.php?action=upgrade-plugin&plugin=$file", 'upgrade-plugin_' . $file) );
|
379 |
+
|
380 |
+
?></div><?php
|
381 |
+
}
|
382 |
+
}
|
383 |
+
?>
|
384 |
+
|
385 |
+
<?php if(version_compare($wp_version,"2.5","<")): ?>
|
386 |
+
<script type="text/javascript" src="../wp-includes/js/dbx.js"></script>
|
387 |
+
<script type="text/javascript">
|
388 |
+
//<![CDATA[
|
389 |
+
addLoadEvent( function() {
|
390 |
+
var manager = new dbxManager('sm_sitemap_meta_33');
|
391 |
+
|
392 |
+
//create new docking boxes group
|
393 |
+
var meta = new dbxGroup(
|
394 |
+
'grabit', // container ID [/-_a-zA-Z0-9/]
|
395 |
+
'vertical', // orientation ['vertical'|'horizontal']
|
396 |
+
'10', // drag threshold ['n' pixels]
|
397 |
+
'no', // restrict drag movement to container axis ['yes'|'no']
|
398 |
+
'10', // animate re-ordering [frames per transition, or '0' for no effect]
|
399 |
+
'yes', // include open/close toggle buttons ['yes'|'no']
|
400 |
+
'open', // default state ['open'|'closed']
|
401 |
+
<?php echo "'" . js_escape(__('open')); ?>', // word for "open", as in "open this box"
|
402 |
+
<?php echo "'" . js_escape(__('close')); ?>', // word for "close", as in "close this box"
|
403 |
+
<?php echo "'" . js_escape(__('click-down and drag to move this box')); ?>', // sentence for "move this box" by mouse
|
404 |
+
<?php echo "'" . js_escape(__('click to %toggle% this box')); ?>', // pattern-match sentence for "(open|close) this box" by mouse
|
405 |
+
<?php echo "'" . js_escape(__('use the arrow keys to move this box')); ?>', // sentence for "move this box" by keyboard
|
406 |
+
<?php echo "'" . js_escape(__(', or press the enter key to %toggle% it')); ?>', // pattern-match sentence-fragment for "(open|close) this box" by keyboard
|
407 |
+
'%mytitle% [%dbxtitle%]' // pattern-match syntax for title-attribute conflicts
|
408 |
+
);
|
409 |
+
|
410 |
+
var advanced = new dbxGroup(
|
411 |
+
'advancedstuff', // container ID [/-_a-zA-Z0-9/]
|
412 |
+
'vertical', // orientation ['vertical'|'horizontal']
|
413 |
+
'10', // drag threshold ['n' pixels]
|
414 |
+
'yes', // restrict drag movement to container axis ['yes'|'no']
|
415 |
+
'10', // animate re-ordering [frames per transition, or '0' for no effect]
|
416 |
+
'yes', // include open/close toggle buttons ['yes'|'no']
|
417 |
+
'open', // default state ['open'|'closed']
|
418 |
+
<?php echo "'" . js_escape(__('open')); ?>', // word for "open", as in "open this box"
|
419 |
+
<?php echo "'" . js_escape(__('close')); ?>', // word for "close", as in "close this box"
|
420 |
+
<?php echo "'" . js_escape(__('click-down and drag to move this box')); ?>', // sentence for "move this box" by mouse
|
421 |
+
<?php echo "'" . js_escape(__('click to %toggle% this box')); ?>', // pattern-match sentence for "(open|close) this box" by mouse
|
422 |
+
<?php echo "'" . js_escape(__('use the arrow keys to move this box')); ?>', // sentence for "move this box" by keyboard
|
423 |
+
<?php echo "'" . js_escape(__(', or press the enter key to %toggle% it')); ?>', // pattern-match sentence-fragment for "(open|close) this box" by keyboard
|
424 |
+
'%mytitle% [%dbxtitle%]' // pattern-match syntax for title-attribute conflicts
|
425 |
+
);
|
426 |
+
});
|
427 |
+
//]]>
|
428 |
+
</script>
|
429 |
+
<?php endif; ?>
|
430 |
+
|
431 |
+
<div id="poststuff">
|
432 |
+
<div id="moremeta">
|
433 |
+
<div id="grabit" class="dbx-group">
|
434 |
+
<fieldset id="sm_pnres" class="dbx-box">
|
435 |
+
<h3 class="dbx-handle"><?php _e('About this Plugin:','sitemap'); ?></h3>
|
436 |
+
<div class="dbx-content">
|
437 |
+
<a class="sm_button sm_pluginHome" href="<?php echo $this->sg->GetRedirectLink('sitemap-home'); ?>"><?php _e('Plugin Homepage','sitemap'); ?></a>
|
438 |
+
<a class="sm_button sm_pluginHome" href="<?php echo $this->sg->GetRedirectLink('sitemap-feedback'); ?>"><?php _e('Suggest a Feature','sitemap'); ?></a>
|
439 |
+
<a class="sm_button sm_pluginList" href="<?php echo $this->sg->GetRedirectLink('sitemap-list'); ?>"><?php _e('Notify List','sitemap'); ?></a>
|
440 |
+
<a class="sm_button sm_pluginSupport" href="<?php echo $this->sg->GetRedirectLink('sitemap-support'); ?>"><?php _e('Support Forum','sitemap'); ?></a>
|
441 |
+
<a class="sm_button sm_pluginBugs" href="<?php echo $this->sg->GetRedirectLink('sitemap-bugs'); ?>"><?php _e('Report a Bug','sitemap'); ?></a>
|
442 |
+
|
443 |
+
<a class="sm_button sm_donatePayPal" href="<?php echo $this->sg->GetRedirectLink('sitemap-paypal'); ?>"><?php _e('Donate with PayPal','sitemap'); ?></a>
|
444 |
+
<a class="sm_button sm_donateAmazon" href="<?php echo $this->sg->GetRedirectLink('sitemap-amazon'); ?>"><?php _e('My Amazon Wish List','sitemap'); ?></a>
|
445 |
+
<?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 } ?>
|
446 |
+
</div>
|
447 |
+
</fieldset>
|
448 |
+
<fieldset id="sm_smres" class="dbx-box">
|
449 |
+
<h3 class="dbx-handle"><?php _e('Sitemap Resources:','sitemap'); ?></h3>
|
450 |
+
<div class="dbx-content">
|
451 |
+
<a class="sm_button sm_resGoogle" href="<?php echo $this->sg->GetRedirectLink('sitemap-gwt'); ?>"><?php _e('Webmaster Tools','sitemap'); ?></a>
|
452 |
+
<a class="sm_button sm_resGoogle" href="<?php echo $this->sg->GetRedirectLink('sitemap-gwb'); ?>"><?php _e('Webmaster Blog','sitemap'); ?></a>
|
453 |
+
|
454 |
+
<a class="sm_button sm_resYahoo" href="<?php echo $this->sg->GetRedirectLink('sitemap-yse'); ?>"><?php _e('Site Explorer','sitemap'); ?></a>
|
455 |
+
<a class="sm_button sm_resYahoo" href="<?php echo $this->sg->GetRedirectLink('sitemap-ywb'); ?>"><?php _e('Search Blog','sitemap'); ?></a>
|
456 |
+
|
457 |
+
<a class="sm_button sm_resLive" href="<?php echo $this->sg->GetRedirectLink('sitemap-lwt'); ?>"><?php _e('Webmaster Tools','sitemap'); ?></a>
|
458 |
+
<a class="sm_button sm_resLive" href="<?php echo $this->sg->GetRedirectLink('sitemap-lswcb'); ?>"><?php _e('Webmaster Center Blog','sitemap'); ?></a>
|
459 |
+
<br />
|
460 |
+
<a class="sm_button sm_resGoogle" href="<?php echo $this->sg->GetRedirectLink('sitemap-prot'); ?>"><?php _e('Sitemaps Protocol','sitemap'); ?></a>
|
461 |
+
<a class="sm_button sm_resGoogle" href="<?php echo $this->sg->GetRedirectLink('sitemap-ofaq'); ?>"><?php _e('Official Sitemaps FAQ','sitemap'); ?></a>
|
462 |
+
<a class="sm_button sm_pluginHome" href="<?php echo $this->sg->GetRedirectLink('sitemap-afaq'); ?>"><?php _e('My Sitemaps FAQ','sitemap'); ?></a>
|
463 |
+
</div>
|
464 |
+
</fieldset>
|
465 |
+
|
466 |
+
<fieldset id="dm_donations" class="dbx-box">
|
467 |
+
<h3 class="dbx-handle"><?php _e('Recent Donations:','sitemap'); ?></h3>
|
468 |
+
<div class="dbx-content">
|
469 |
+
<?php if($this->sg->GetOption('i_hide_donors')!==true) { ?>
|
470 |
+
<iframe border="0" frameborder="0" scrolling="no" allowtransparency="yes" style="width:100%; height:80px;" src="<?php echo $this->sg->GetRedirectLink('sitemap-donorlist'); ?>">
|
471 |
+
<?php _e('List of the donors','sitemap'); ?>
|
472 |
+
</iframe><br />
|
473 |
+
<a href="<?php echo $this->sg->GetBackLink() . "&sm_hidedonors=true"; ?>"><small><?php _e('Hide this list','sitemap'); ?></small></a><br /><br />
|
474 |
+
<?php } ?>
|
475 |
+
<a style="float:left; margin-right:5px; border:none;" href="javascript:document.getElementById('sm_donate_form').submit();"><img style="vertical-align:middle; border:none; margin-top:2px;" src="<?php echo $this->sg->GetPluginUrl(); ?>/img/icon-donate.gif" border="0" alt="PayPal" title="Help me to continue support of this plugin :)" /></a>
|
476 |
+
<span><small><?php _e('Thanks for your support!','sitemap'); ?></small></span>
|
477 |
+
</div>
|
478 |
+
</fieldset>
|
479 |
+
</div>
|
480 |
+
</div>
|
481 |
+
|
482 |
+
<div id="advancedstuff" class="dbx-group" >
|
483 |
+
|
484 |
+
<!-- Rebuild Area -->
|
485 |
+
<div class="dbx-b-ox-wrapper">
|
486 |
+
<fieldset id="sm_rebuild" class="dbx-box">
|
487 |
+
<div class="dbx-h-andle-wrapper">
|
488 |
+
<h3 class="dbx-handle"><?php _e('Status', 'sitemap') ?></h3>
|
489 |
+
</div>
|
490 |
+
<div class="dbx-c-ontent-wrapper">
|
491 |
+
<div class="dbx-content">
|
492 |
+
<ul>
|
493 |
+
<?php
|
494 |
+
|
495 |
+
//#type $status GoogleSitemapGeneratorStatus
|
496 |
+
$status = GoogleSitemapGeneratorStatus::Load();
|
497 |
+
if($status == null) {
|
498 |
+
|
499 |
+
echo "<li>" . str_replace("%s",wp_nonce_url($this->sg->GetBackLink() . "&sm_rebuild=true",'sitemap'),__('The sitemap wasn\'t built yet. <a href="%s">Click here</a> to build it the first time.','sitemap')) . "</li>";
|
500 |
+
} else {
|
501 |
+
if($status->_endTime !== 0) {
|
502 |
+
if($status->_usedXml) {
|
503 |
+
if($status->_xmlSuccess) {
|
504 |
+
$ft = filemtime($status->_xmlPath);
|
505 |
+
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>";
|
506 |
+
} else {
|
507 |
+
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>";
|
508 |
+
}
|
509 |
+
}
|
510 |
+
|
511 |
+
if($status->_usedZip) {
|
512 |
+
if($status->_zipSuccess) {
|
513 |
+
$ft = filemtime($status->_zipPath);
|
514 |
+
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>";
|
515 |
+
} else {
|
516 |
+
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>";
|
517 |
+
}
|
518 |
+
}
|
519 |
+
|
520 |
+
if($status->_usedGoogle) {
|
521 |
+
if($status->_gooogleSuccess) {
|
522 |
+
echo "<li>" .__("Google was <b>successfully notified</b> about changes.",'sitemap'). "</li>";
|
523 |
+
$gt = $status->GetGoogleTime();
|
524 |
+
if($gt>4) {
|
525 |
+
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>";
|
526 |
+
}
|
527 |
+
} else {
|
528 |
+
echo "<li class=\"sm_error\">" . str_replace("%s",$status->_googleUrl,__('There was a problem while notifying Google. <a href="%s">View result</a>','sitemap')) . "</li>";
|
529 |
+
}
|
530 |
+
}
|
531 |
+
|
532 |
+
if($status->_usedYahoo) {
|
533 |
+
if($status->_yahooSuccess) {
|
534 |
+
echo "<li>" .__("YAHOO was <b>successfully notified</b> about changes.",'sitemap'). "</li>";
|
535 |
+
$yt = $status->GetYahooTime();
|
536 |
+
if($yt>4) {
|
537 |
+
echo "<li class=\sm_optimize\">" . str_replace("%time%",$yt,__("It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time.",'sitemap')) . "</li>";
|
538 |
+
}
|
539 |
+
} else {
|
540 |
+
echo "<li class=\"sm_error\">" . str_replace("%s",$status->_yahooUrl,__('There was a problem while notifying YAHOO. <a href="%s">View result</a>','sitemap')) . "</li>";
|
541 |
+
}
|
542 |
+
}
|
543 |
+
|
544 |
+
if($status->_usedMsn) {
|
545 |
+
if($status->_msnSuccess) {
|
546 |
+
echo "<li>" .__("MSN was <b>successfully notified</b> about changes.",'sitemap'). "</li>";
|
547 |
+
$at = $status->GetMsnTime();
|
548 |
+
if($at>4) {
|
549 |
+
echo "<li class=\sm_optimize\">" . str_replace("%time%",$at,__("It took %time% seconds to notify MSN.com, maybe you want to disable this feature to reduce the building time.",'sitemap')) . "</li>";
|
550 |
+
}
|
551 |
+
} else {
|
552 |
+
echo "<li class=\"sm_error\">" . str_replace("%s",$status->_msnUrl,__('There was a problem while notifying MSN.com. <a href="%s">View result</a>','sitemap')) . "</li>";
|
553 |
+
}
|
554 |
+
}
|
555 |
+
|
556 |
+
if($status->_usedAsk) {
|
557 |
+
if($status->_askSuccess) {
|
558 |
+
echo "<li>" .__("Ask.com was <b>successfully notified</b> about changes.",'sitemap'). "</li>";
|
559 |
+
$at = $status->GetAskTime();
|
560 |
+
if($at>4) {
|
561 |
+
echo "<li class=\sm_optimize\">" . str_replace("%time%",$at,__("It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time.",'sitemap')) . "</li>";
|
562 |
+
}
|
563 |
+
} else {
|
564 |
+
echo "<li class=\"sm_error\">" . str_replace("%s",$status->_askUrl,__('There was a problem while notifying Ask.com. <a href="%s">View result</a>','sitemap')) . "</li>";
|
565 |
+
}
|
566 |
+
}
|
567 |
+
|
568 |
+
$et = $status->GetTime();
|
569 |
+
$mem = $status->GetMemoryUsage();
|
570 |
+
|
571 |
+
if($mem > 0) {
|
572 |
+
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>";
|
573 |
+
} else {
|
574 |
+
echo "<li>" .str_replace("%time%",$et,__("The building process took about <b>%time% seconds</b> to complete.",'sitemap')). "</li>";
|
575 |
+
}
|
576 |
+
|
577 |
+
if(!$status->_hasChanged) {
|
578 |
+
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>";
|
579 |
+
}
|
580 |
+
|
581 |
+
} else {
|
582 |
+
if($this->sg->GetOption("sm_b_auto_delay")) {
|
583 |
+
$st = ($status->GetStartTime() - time()) * -1;
|
584 |
+
//If the building process runs in background and was started within the last 45 seconds, the sitemap might not be completed yet...
|
585 |
+
if($st < 45) {
|
586 |
+
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>';
|
587 |
+
}
|
588 |
+
}
|
589 |
+
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>';
|
590 |
+
if($status->_memoryUsage > 0) {
|
591 |
+
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>';
|
592 |
+
}
|
593 |
+
|
594 |
+
if($status->_lastTime > 0) {
|
595 |
+
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>';
|
596 |
+
}
|
597 |
+
|
598 |
+
if($status->GetLastPost() > 0) {
|
599 |
+
echo '<li class="sm_optimize">'. str_replace("%lastpost%",$status->GetLastPost(),__("The script stopped around post number %lastpost% (+/- 100)",'sitemap')) . '</li>';
|
600 |
+
}
|
601 |
+
}
|
602 |
+
echo "<li>" . str_replace("%s",wp_nonce_url($this->sg->GetBackLink() . "&sm_rebuild=true",'sitemap'),__('If you changed something on your server or blog, you should <a href="%s">rebuild the sitemap</a> manually.','sitemap')) . "</li>";
|
603 |
+
}
|
604 |
+
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>";
|
605 |
+
?>
|
606 |
+
|
607 |
+
</ul>
|
608 |
+
</div>
|
609 |
+
</div>
|
610 |
+
</fieldset>
|
611 |
+
</div>
|
612 |
+
|
613 |
+
<!-- Basic Options -->
|
614 |
+
<div class="dbx-b-ox-wrapper">
|
615 |
+
<fieldset id="sm_basic_options" class="dbx-box">
|
616 |
+
<div class="dbx-h-andle-wrapper">
|
617 |
+
<h3 class="dbx-handle"><?php _e('Basic Options', 'sitemap') ?></h3>
|
618 |
+
</div>
|
619 |
+
<div class="dbx-c-ontent-wrapper">
|
620 |
+
<div class="dbx-content">
|
621 |
+
<b><?php _e('Sitemap files:','sitemap'); ?></b> <a href="<?php echo $this->sg->GetRedirectLink('sitemap-help-options-files'); ?>"><?php _e('Learn more','sitemap'); ?></a>
|
622 |
+
<ul>
|
623 |
+
<li>
|
624 |
+
<label for="sm_b_xml">
|
625 |
+
<input type="checkbox" id="sm_b_xml" name="sm_b_xml" <?php echo ($this->sg->GetOption("b_xml")==true?"checked=\"checked\"":"") ?> />
|
626 |
+
<?php _e('Write a normal XML file (your filename)', 'sitemap') ?>
|
627 |
+
</label>
|
628 |
+
</li>
|
629 |
+
<li>
|
630 |
+
<label for="sm_b_gzip">
|
631 |
+
<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\""; ?> />
|
632 |
+
<?php _e('Write a gzipped file (your filename + .gz)', 'sitemap') ?>
|
633 |
+
</label>
|
634 |
+
</li>
|
635 |
+
</ul>
|
636 |
+
<b><?php _e('Building mode:','sitemap'); ?></b> <a href="<?php echo $this->sg->GetRedirectLink('sitemap-help-options-process'); ?>"><?php _e('Learn more','sitemap'); ?></a>
|
637 |
+
<ul>
|
638 |
+
<li>
|
639 |
+
<label for="sm_b_auto_enabled">
|
640 |
+
<input type="checkbox" id="sm_b_auto_enabled" name="sm_b_auto_enabled" <?php echo ($this->sg->GetOption("sm_b_auto_enabled")==true?"checked=\"checked\"":""); ?> />
|
641 |
+
<?php _e('Rebuild sitemap if you change the content of your blog', 'sitemap') ?>
|
642 |
+
</label>
|
643 |
+
</li>
|
644 |
+
<li>
|
645 |
+
<label for="sm_b_manual_enabled">
|
646 |
+
<input type="hidden" name="sm_b_manual_key" value="<?php echo $this->sg->GetOption("b_manual_key"); ?>" />
|
647 |
+
<input type="checkbox" id="sm_b_manual_enabled" name="sm_b_manual_enabled" <?php echo ($this->sg->GetOption("b_manual_enabled")==true?"checked=\"checked\"":"") ?> />
|
648 |
+
<?php _e('Enable manual sitemap building via GET Request', 'sitemap') ?>
|
649 |
+
</label>
|
650 |
+
<a href="javascript:void(document.getElementById('sm_manual_help').style.display='');">[?]</a>
|
651 |
+
<span id="sm_manual_help" style="display:none;"><br />
|
652 |
+
<?php echo str_replace("%1",trailingslashit(get_bloginfo('siteurl')) . "?sm_command=build&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 logfile above to see if sitemap was successfully built.', 'sitemap')); ?>
|
653 |
+
</span>
|
654 |
+
</li>
|
655 |
+
</ul>
|
656 |
+
<b><?php _e('Update notification:','sitemap'); ?></b> <a href="<?php echo $this->sg->GetRedirectLink('sitemap-help-options-ping'); ?>"><?php _e('Learn more','sitemap'); ?></a>
|
657 |
+
<ul>
|
658 |
+
<li>
|
659 |
+
<input type="checkbox" id="sm_b_ping" name="sm_b_ping" <?php echo ($this->sg->GetOption("b_ping")==true?"checked=\"checked\"":"") ?> />
|
660 |
+
<label for="sm_b_ping"><?php _e('Notify Google about updates of your Blog', 'sitemap') ?></label><br />
|
661 |
+
<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>
|
662 |
+
</li>
|
663 |
+
<li>
|
664 |
+
<input type="checkbox" id="sm_b_pingmsn" name="sm_b_pingmsn" <?php echo ($this->sg->GetOption("b_pingmsn")==true?"checked=\"checked\"":"") ?> />
|
665 |
+
<label for="sm_b_pingmsn"><?php _e('Notify MSN Live Search about updates of your Blog', 'sitemap') ?></label><br />
|
666 |
+
<small><?php echo str_replace("%s",$this->sg->GetRedirectLink('sitemap-lwt'),__('No registration required, but you can join the <a href="%s">MSN Live Webmaster Tools</a> to check crawling statistics.','sitemap')); ?></small>
|
667 |
+
</li>
|
668 |
+
<li>
|
669 |
+
<input type="checkbox" id="sm_b_pingask" name="sm_b_pingask" <?php echo ($this->sg->GetOption("b_pingask")==true?"checked=\"checked\"":"") ?> />
|
670 |
+
<label for="sm_b_pingask"><?php _e('Notify Ask.com about updates of your Blog', 'sitemap') ?></label><br />
|
671 |
+
<small><?php _e('No registration required.','sitemap'); ?></small>
|
672 |
+
</li>
|
673 |
+
<li>
|
674 |
+
<input type="checkbox" id="sm_b_pingyahoo" name="sm_b_pingyahoo" <?php echo ($this->sg->GetOption("sm_b_pingyahoo")==true?"checked=\"checked\"":"") ?> />
|
675 |
+
<label for="sm_b_pingyahoo"><?php _e('Notify YAHOO about updates of your Blog', 'sitemap') ?></label><br />
|
676 |
+
<label for="sm_b_yahookey"><?php _e('Your Application ID:', 'sitemap') ?> <input type="text" name="sm_b_yahookey" id="sm_b_yahookey" value="<?php echo $this->sg->GetOption("sm_b_yahookey"); ?>" /></label><br />
|
677 |
+
<small><?php echo str_replace(array("%s1","%s2"),array($this->sg->GetRedirectLink('sitemap-ykr'),' (<a href="http://developer.yahoo.net/about/">Web Services by Yahoo!</a>)'),__('Don\'t you have such a key? <a href="%s1">Request one here</a>!</a> %s2','sitemap')); ?></small>
|
678 |
+
|
679 |
+
|
680 |
+
</li>
|
681 |
+
<li>
|
682 |
+
|
683 |
+
<input type="checkbox" id="sm_b_robots" name="sm_b_robots" <?php echo ($this->sg->GetOption("sm_b_robots")==true?"checked=\"checked\"":"") ?> />
|
684 |
+
<?php echo str_replace('%s',(file_exists($this->sg->GetRobotsFilePath())?'<a href="' . $this->sg->GetRobotsFileUrl() . '">robots.txt</a>':'robots.txt'),__("Modify or create %s file in blog root which contains the sitemap location.",'sitemap')); ?>
|
685 |
+
|
686 |
+
<br />
|
687 |
+
<?php _e("File permissions: ",'sitemap');
|
688 |
+
$f = $this->sg->GetRobotsFilePath();
|
689 |
+
$link = ' <a href="' . $this->sg->GetRedirectLink("sitemap-help-options-robots",'sitemap') . '">' . __("Learn more",'sitemap') . '</a>';
|
690 |
+
if(file_exists($f)) {
|
691 |
+
if(is_writable($f)) {
|
692 |
+
_e("OK, robots.txt is writable.",'sitemap');
|
693 |
+
} else {
|
694 |
+
echo __("Error, robots.txt is not writable.",'sitemap') . $link;
|
695 |
+
}
|
696 |
+
} else {
|
697 |
+
if(is_writable(dirname($f))) {
|
698 |
+
_e("OK, robots.txt doesn't exist but the directory is writable.",'sitemap');
|
699 |
+
} else {
|
700 |
+
echo __("Error, robots.txt doesn't exist and the directory is not writable",'sitemap') . $link;
|
701 |
+
}
|
702 |
+
}
|
703 |
+
?>
|
704 |
+
</li>
|
705 |
+
</ul>
|
706 |
+
<b><?php _e('Advanced options:','sitemap'); ?></b> <a href="<?php echo $this->sg->GetRedirectLink('sitemap-help-options-adv'); ?>"><?php _e('Learn more','sitemap'); ?></a>
|
707 |
+
<ul>
|
708 |
+
<li>
|
709 |
+
<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("sm_b_max_posts")<=0?"":$this->sg->GetOption("sm_b_max_posts")); ?>" /></label> (<?php echo __('Newer posts will be included first', 'sitemap'); ?>)
|
710 |
+
</li>
|
711 |
+
<li>
|
712 |
+
<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("sm_b_memory"); ?>" /></label> (<?php echo htmlspecialchars(__('e.g. "4M", "16M"', 'sitemap')); ?>)
|
713 |
+
</li>
|
714 |
+
<li>
|
715 |
+
<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("sm_b_time")===-1?'':$this->sg->GetOption("sm_b_time")); ?>" /></label> (<?php echo htmlspecialchars(__('in seconds, e.g. "60" or "0" for unlimited', 'sitemap')) ?>)
|
716 |
+
</li>
|
717 |
+
<li>
|
718 |
+
<label for="sm_b_style"><?php _e('Include a XSLT stylesheet:', 'sitemap') ?> <input type="text" name="sm_b_style" id="sm_b_style" value="<?php echo $this->sg->GetOption("sm_b_style"); ?>" /></label> <?php if($this->sg->GetDefaultStyle()) { echo ' <a href="javascript:void(0);" onclick="document.getElementById(\'sm_b_style\').value=\'' . $this->sg->GetDefaultStyle() . '\';">' . __('Use Default','sitemap') . '</a>'; } ?> (<?php _e('Full or relative URL to your .xsl file', 'sitemap') ?>)
|
719 |
+
</li>
|
720 |
+
<li>
|
721 |
+
<label for="sm_b_safemode">
|
722 |
+
<input type="checkbox" id="sm_b_safemode" name="sm_b_safemode" <?php echo ($this->sg->GetOption("sm_b_safemode")==true?"checked=\"checked\"":""); ?> />
|
723 |
+
<?php _e('Enable MySQL standard mode. Use this only if you\'re getting MySQL errors. (Needs much more memory!)', 'sitemap') ?>
|
724 |
+
</label>
|
725 |
+
</li>
|
726 |
+
<li>
|
727 |
+
<label for="sm_b_auto_delay">
|
728 |
+
<input type="checkbox" id="sm_b_auto_delay" name="sm_b_auto_delay" <?php echo ($this->sg->GetOption("sm_b_auto_delay")==true?"checked=\"checked\"":""); ?> />
|
729 |
+
<?php _e('Build the sitemap in a background process (You don\'t have to wait when you save a post)', 'sitemap') ?>
|
730 |
+
</label>
|
731 |
+
</li>
|
732 |
+
<li>
|
733 |
+
<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 />
|
734 |
+
<input name="sm_b_exclude" id="sm_b_exclude" type="text" style="width:400px;" value="<?php echo implode(",",$this->sg->GetOption("sm_b_exclude")); ?>" /></label>
|
735 |
+
</li>
|
736 |
+
</ul>
|
737 |
+
</div>
|
738 |
+
</div>
|
739 |
+
</fieldset>
|
740 |
+
</div>
|
741 |
+
|
742 |
+
<div class="dbx-b-ox-wrapper">
|
743 |
+
<fieldset id="sm_pages" class="dbx-box">
|
744 |
+
<div class="dbx-h-andle-wrapper">
|
745 |
+
<h3 class="dbx-handle"><?php _e('Additional pages', 'sitemap') ?></h3>
|
746 |
+
</div>
|
747 |
+
<div class="dbx-c-ontent-wrapper">
|
748 |
+
<div class="dbx-content">
|
749 |
+
<?php
|
750 |
+
_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');
|
751 |
+
echo "<ul><li>";
|
752 |
+
echo "<strong>" . __('Note','sitemap'). "</strong>: ";
|
753 |
+
_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 "Location of your sitemap file" section on this page)!",'sitemap');
|
754 |
+
echo "</li><li>";
|
755 |
+
echo "<strong>" . __('URL to the page','sitemap'). "</strong>: ";
|
756 |
+
_e("Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home ",'sitemap');
|
757 |
+
echo "</li><li>";
|
758 |
+
echo "<strong>" . __('Priority','sitemap') . "</strong>: ";
|
759 |
+
_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');
|
760 |
+
echo "</li><li>";
|
761 |
+
echo "<strong>" . __('Last Changed','sitemap'). "</strong>: ";
|
762 |
+
_e("Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional).",'sitemap');
|
763 |
+
|
764 |
+
echo "</li></ul>";
|
765 |
+
|
766 |
+
|
767 |
+
?>
|
768 |
+
<script type="text/javascript">
|
769 |
+
//<![CDATA[
|
770 |
+
<?php
|
771 |
+
$freqVals = "'" . implode("','",$this->sg->_freqNames). "'";
|
772 |
+
$transUpper = create_function('&$s',' return ucfirst(__($s,"sitemap"));');
|
773 |
+
|
774 |
+
$freqNamesArr = array_map($transUpper,$this->sg->_freqNames);
|
775 |
+
$freqNames = "'" . implode("','",$freqNamesArr). "'";
|
776 |
+
?>
|
777 |
+
|
778 |
+
var changeFreqVals = new Array( <?php echo $freqVals; ?> );
|
779 |
+
var changeFreqNames= new Array( <?php echo $freqNames; ?> );
|
780 |
+
|
781 |
+
var priorities= new Array(0 <?php for($i=0.1; $i<1; $i+=0.1) { echo "," . $i; } ?>);
|
782 |
+
|
783 |
+
var pages = [ <?php
|
784 |
+
if(count($this->sg->_pages)>0) {
|
785 |
+
for($i=0; $i<count($this->sg->_pages); $i++) {
|
786 |
+
$v=&$this->sg->_pages[$i];
|
787 |
+
if($i>0) echo ",";
|
788 |
+
echo '{url:"' . $v->getUrl() . '", priority:"' . $v->getPriority() . '", changeFreq:"' . $v->getChangeFreq() . '", lastChanged:"' . ($v!=null && $v->getLastMod()>0?date("Y-m-d",$v->getLastMod()):"") . '"}';
|
789 |
+
}
|
790 |
+
}
|
791 |
+
?> ];
|
792 |
+
|
793 |
+
function sm_addPage(url,priority,changeFreq,lastChanged) {
|
794 |
+
|
795 |
+
var table = document.getElementById('sm_pageTable').getElementsByTagName('TBODY')[0];
|
796 |
+
var ce = function(ele) { return document.createElement(ele) };
|
797 |
+
var tr = ce('TR');
|
798 |
+
|
799 |
+
var td = ce('TD');
|
800 |
+
var iUrl = ce('INPUT');
|
801 |
+
iUrl.type="text";
|
802 |
+
iUrl.style.width='95%';
|
803 |
+
iUrl.name="sm_pages_ur[]";
|
804 |
+
if(url) iUrl.value=url;
|
805 |
+
td.appendChild(iUrl);
|
806 |
+
tr.appendChild(td);
|
807 |
+
|
808 |
+
td = ce('TD');
|
809 |
+
td.style.width='150px';
|
810 |
+
var iPrio = ce('SELECT');
|
811 |
+
iPrio.style.width='95%';
|
812 |
+
iPrio.name="sm_pages_pr[]";
|
813 |
+
for(var i=0; i <priorities.length; i++) {
|
814 |
+
var op = ce('OPTION');
|
815 |
+
op.text = priorities[i];
|
816 |
+
op.value = priorities[i];
|
817 |
+
try {
|
818 |
+
iPrio.add(op, null); // standards compliant; doesn't work in IE
|
819 |
+
} catch(ex) {
|
820 |
+
iPrio.add(op); // IE only
|
821 |
+
}
|
822 |
+
if(priority && priority == op.value) {
|
823 |
+
iPrio.selectedIndex = i;
|
824 |
+
}
|
825 |
+
}
|
826 |
+
td.appendChild(iPrio);
|
827 |
+
tr.appendChild(td);
|
828 |
+
|
829 |
+
td = ce('TD');
|
830 |
+
td.style.width='150px';
|
831 |
+
var iFreq = ce('SELECT');
|
832 |
+
iFreq.name="sm_pages_cf[]";
|
833 |
+
iFreq.style.width='95%';
|
834 |
+
for(var i=0; i<changeFreqVals.length; i++) {
|
835 |
+
var op = ce('OPTION');
|
836 |
+
op.text = changeFreqNames[i];
|
837 |
+
op.value = changeFreqVals[i];
|
838 |
+
try {
|
839 |
+
iFreq.add(op, null); // standards compliant; doesn't work in IE
|
840 |
+
} catch(ex) {
|
841 |
+
iFreq.add(op); // IE only
|
842 |
+
}
|
843 |
+
|
844 |
+
if(changeFreq && changeFreq == op.value) {
|
845 |
+
iFreq.selectedIndex = i;
|
846 |
+
}
|
847 |
+
}
|
848 |
+
td.appendChild(iFreq);
|
849 |
+
tr.appendChild(td);
|
850 |
+
|
851 |
+
var td = ce('TD');
|
852 |
+
td.style.width='150px';
|
853 |
+
var iChanged = ce('INPUT');
|
854 |
+
iChanged.type="text";
|
855 |
+
iChanged.name="sm_pages_lm[]";
|
856 |
+
iChanged.style.width='95%';
|
857 |
+
if(lastChanged) iChanged.value=lastChanged;
|
858 |
+
td.appendChild(iChanged);
|
859 |
+
tr.appendChild(td);
|
860 |
+
|
861 |
+
var td = ce('TD');
|
862 |
+
td.style.textAlign="center";
|
863 |
+
td.style.width='5px';
|
864 |
+
var iAction = ce('A');
|
865 |
+
iAction.innerHTML = 'X';
|
866 |
+
iAction.href="javascript:void(0);"
|
867 |
+
iAction.onclick = function() { table.removeChild(tr); };
|
868 |
+
td.appendChild(iAction);
|
869 |
+
tr.appendChild(td);
|
870 |
+
|
871 |
+
var mark = ce('INPUT');
|
872 |
+
mark.type="hidden";
|
873 |
+
mark.name="sm_pages_mark[]";
|
874 |
+
mark.value="true";
|
875 |
+
tr.appendChild(mark);
|
876 |
+
|
877 |
+
|
878 |
+
var firstRow = table.getElementsByTagName('TR')[1];
|
879 |
+
if(firstRow) {
|
880 |
+
var firstCol = (firstRow.childNodes[1]?firstRow.childNodes[1]:firstRow.childNodes[0]);
|
881 |
+
if(firstCol.colSpan>1) {
|
882 |
+
firstRow.parentNode.removeChild(firstRow);
|
883 |
+
}
|
884 |
+
}
|
885 |
+
var cnt = table.getElementsByTagName('TR').length;
|
886 |
+
if(cnt%2) tr.className="alternate";
|
887 |
+
|
888 |
+
table.appendChild(tr);
|
889 |
+
}
|
890 |
+
|
891 |
+
function sm_loadPages() {
|
892 |
+
for(var i=0; i<pages.length; i++) {
|
893 |
+
sm_addPage(pages[i].url,pages[i].priority,pages[i].changeFreq,pages[i].lastChanged);
|
894 |
+
}
|
895 |
+
}
|
896 |
+
|
897 |
+
//]]>
|
898 |
+
</script>
|
899 |
+
<table width="100%" cellpadding="3" cellspacing="3" id="sm_pageTable">
|
900 |
+
<tr>
|
901 |
+
<th scope="col"><?php _e('URL to the page','sitemap'); ?></th>
|
902 |
+
<th scope="col"><?php _e('Priority','sitemap'); ?></th>
|
903 |
+
<th scope="col"><?php _e('Change Frequency','sitemap'); ?></th>
|
904 |
+
<th scope="col"><?php _e('Last Changed','sitemap'); ?></th>
|
905 |
+
<th scope="col"><?php _e('#','sitemap'); ?></th>
|
906 |
+
</tr>
|
907 |
+
<?php
|
908 |
+
if(count($this->sg->_pages)<=0) { ?>
|
909 |
+
<tr>
|
910 |
+
<td colspan="5" align="center"><?php _e('No pages defined.','sitemap') ?></td>
|
911 |
+
</tr><?php
|
912 |
+
}
|
913 |
+
?>
|
914 |
+
</table>
|
915 |
+
<a href="javascript:void(0);" onclick="sm_addPage();"><?php _e("Add new page",'sitemap'); ?></a>
|
916 |
+
</div>
|
917 |
+
</div>
|
918 |
+
</fieldset>
|
919 |
+
</div>
|
920 |
+
|
921 |
+
|
922 |
+
<!-- AutoPrio Options -->
|
923 |
+
<div class="dbx-b-ox-wrapper">
|
924 |
+
<fieldset id="sm_postprio" class="dbx-box">
|
925 |
+
<div class="dbx-h-andle-wrapper">
|
926 |
+
<h3 class="dbx-handle"><?php _e('Post Priority', 'sitemap') ?></h3>
|
927 |
+
</div>
|
928 |
+
<div class="dbx-c-ontent-wrapper">
|
929 |
+
<div class="dbx-content">
|
930 |
+
<p><?php _e('Please select how the priority of each post should be calculated:', 'sitemap') ?></p>
|
931 |
+
<ul>
|
932 |
+
<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 "Priorities"', 'sitemap') ?></p></li>
|
933 |
+
<?php
|
934 |
+
for($i=0; $i<count($this->sg->_prioProviders); $i++) {
|
935 |
+
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>";
|
936 |
+
}
|
937 |
+
?>
|
938 |
+
</ul>
|
939 |
+
</div>
|
940 |
+
</div>
|
941 |
+
</fieldset>
|
942 |
+
</div>
|
943 |
+
|
944 |
+
|
945 |
+
<!-- Location Options -->
|
946 |
+
<div class="dbx-b-ox-wrapper">
|
947 |
+
<fieldset id="sm_location" class="dbx-box">
|
948 |
+
<div class="dbx-h-andle-wrapper">
|
949 |
+
<h3 class="dbx-handle"><?php _e('Location of your sitemap file', 'sitemap') ?></h3>
|
950 |
+
</div>
|
951 |
+
<div class="dbx-c-ontent-wrapper">
|
952 |
+
<div class="dbx-content">
|
953 |
+
<div>
|
954 |
+
<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>
|
955 |
+
<ul>
|
956 |
+
<li>
|
957 |
+
<label for="sm_b_filename">
|
958 |
+
<?php _e('Filename of the sitemap file', 'sitemap') ?>
|
959 |
+
<input type="text" id="sm_b_filename" name="sm_b_filename" value="<?php echo $this->sg->GetOption("b_filename"); ?>" />
|
960 |
+
</label><br />
|
961 |
+
<?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>
|
962 |
+
</li>
|
963 |
+
</ul>
|
964 |
+
</div>
|
965 |
+
<div>
|
966 |
+
<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>
|
967 |
+
<ul>
|
968 |
+
<li>
|
969 |
+
<label for="sm_b_filename_manual">
|
970 |
+
<?php _e('Absolute or relative path to the sitemap file, including name.','sitemap');
|
971 |
+
echo "<br />";
|
972 |
+
_e('Example','sitemap');
|
973 |
+
echo ": /var/www/htdocs/wordpress/sitemap.xml"; ?><br />
|
974 |
+
<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")); ?>" />
|
975 |
+
</label>
|
976 |
+
</li>
|
977 |
+
<li>
|
978 |
+
<label for="sm_b_fileurl_manual">
|
979 |
+
<?php _e('Complete URL to the sitemap file, including name.','sitemap');
|
980 |
+
echo "<br />";
|
981 |
+
_e('Example','sitemap');
|
982 |
+
echo ": http://www.yourdomain.com/sitemap.xml"; ?><br />
|
983 |
+
<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")); ?>" />
|
984 |
+
</label>
|
985 |
+
</li>
|
986 |
+
</ul>
|
987 |
+
</div>
|
988 |
+
</div>
|
989 |
+
</div>
|
990 |
+
</fieldset>
|
991 |
+
</div>
|
992 |
+
|
993 |
+
|
994 |
+
<!-- Includes -->
|
995 |
+
<div class="dbx-b-ox-wrapper">
|
996 |
+
<fieldset id="sm_includes" class="dbx-box">
|
997 |
+
<div class="dbx-h-andle-wrapper">
|
998 |
+
<h3 class="dbx-handle"><?php _e('Sitemap Content', 'sitemap') ?></h3>
|
999 |
+
</div>
|
1000 |
+
<div class="dbx-c-ontent-wrapper">
|
1001 |
+
<div class="dbx-content">
|
1002 |
+
<ul>
|
1003 |
+
<li>
|
1004 |
+
<label for="sm_in_home">
|
1005 |
+
<input type="checkbox" id="sm_in_home" name="sm_in_home" <?php echo ($this->sg->GetOption("in_home")==true?"checked=\"checked\"":"") ?> />
|
1006 |
+
<?php _e('Include homepage', 'sitemap') ?>
|
1007 |
+
</label>
|
1008 |
+
</li>
|
1009 |
+
<!--
|
1010 |
+
<li>
|
1011 |
+
<label for="sm_in_posts_sub">
|
1012 |
+
<input type="checkbox" id="sm_in_posts_sub" name="sm_in_posts_sub" <?php echo ($this->sg->GetOption("sm_in_posts_sub")==true?"checked=\"checked\"":"") ?> />
|
1013 |
+
<?php _e('Include all pages of multi-page posts (<!--nextpage-->)', 'sitemap') ?>
|
1014 |
+
</label>
|
1015 |
+
</li>
|
1016 |
+
-->
|
1017 |
+
<li>
|
1018 |
+
<label for="sm_in_posts">
|
1019 |
+
<input type="checkbox" id="sm_in_posts" name="sm_in_posts" <?php echo ($this->sg->GetOption("in_posts")==true?"checked=\"checked\"":"") ?> />
|
1020 |
+
<?php _e('Include posts', 'sitemap') ?>
|
1021 |
+
</label>
|
1022 |
+
</li>
|
1023 |
+
<li>
|
1024 |
+
<label for="sm_in_pages">
|
1025 |
+
<input type="checkbox" id="sm_in_pages" name="sm_in_pages" <?php echo ($this->sg->GetOption("in_pages")==true?"checked=\"checked\"":"") ?> />
|
1026 |
+
<?php _e('Include static pages', 'sitemap') ?>
|
1027 |
+
</label>
|
1028 |
+
</li>
|
1029 |
+
<li>
|
1030 |
+
<label for="sm_in_cats">
|
1031 |
+
<input type="checkbox" id="sm_in_cats" name="sm_in_cats" <?php echo ($this->sg->GetOption("in_cats")==true?"checked=\"checked\"":"") ?> />
|
1032 |
+
<?php _e('Include categories', 'sitemap') ?>
|
1033 |
+
</label>
|
1034 |
+
</li>
|
1035 |
+
<li>
|
1036 |
+
<label for="sm_in_arch">
|
1037 |
+
<input type="checkbox" id="sm_in_arch" name="sm_in_arch" <?php echo ($this->sg->GetOption("in_arch")==true?"checked=\"checked\"":"") ?> />
|
1038 |
+
<?php _e('Include archives', 'sitemap') ?>
|
1039 |
+
</label>
|
1040 |
+
</li>
|
1041 |
+
<?php if($this->sg->IsTaxonomySupported()): ?>
|
1042 |
+
<li>
|
1043 |
+
<label for="sm_in_tags">
|
1044 |
+
<input type="checkbox" id="sm_in_tags" name="sm_in_tags" <?php echo ($this->sg->GetOption("in_tags")==true?"checked=\"checked\"":"") ?> />
|
1045 |
+
<?php _e('Include tag pages', 'sitemap') ?>
|
1046 |
+
</label>
|
1047 |
+
</li>
|
1048 |
+
<?php endif; ?>
|
1049 |
+
<li>
|
1050 |
+
<label for="sm_in_auth">
|
1051 |
+
<input type="checkbox" id="sm_in_auth" name="sm_in_auth" <?php echo ($this->sg->GetOption("in_auth")==true?"checked=\"checked\"":"") ?> />
|
1052 |
+
<?php _e('Include author pages', 'sitemap') ?>
|
1053 |
+
</label>
|
1054 |
+
</li>
|
1055 |
+
</ul>
|
1056 |
+
</div>
|
1057 |
+
</div>
|
1058 |
+
</fieldset>
|
1059 |
+
</div>
|
1060 |
+
|
1061 |
+
|
1062 |
+
<!-- Change frequencies -->
|
1063 |
+
<div class="dbx-b-ox-wrapper">
|
1064 |
+
<fieldset id="sm_change_frequencies" class="dbx-box">
|
1065 |
+
<div class="dbx-h-andle-wrapper">
|
1066 |
+
<h3 class="dbx-handle"><?php _e('Change frequencies', 'sitemap') ?></h3>
|
1067 |
+
</div>
|
1068 |
+
<div class="dbx-c-ontent-wrapper">
|
1069 |
+
<div class="dbx-content">
|
1070 |
+
<p>
|
1071 |
+
<b><?php _e('Note', 'sitemap') ?>:</b>
|
1072 |
+
<?php _e('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.', 'sitemap') ?>
|
1073 |
+
</p>
|
1074 |
+
<ul>
|
1075 |
+
<li>
|
1076 |
+
<label for="sm_cf_home">
|
1077 |
+
<select id="sm_cf_home" name="sm_cf_home"><?php $this->sg->HtmlGetFreqNames($this->sg->GetOption("cf_home")); ?></select>
|
1078 |
+
<?php _e('Homepage', 'sitemap') ?>
|
1079 |
+
</label>
|
1080 |
+
</li>
|
1081 |
+
<li>
|
1082 |
+
<label for="sm_cf_posts">
|
1083 |
+
<select id="sm_cf_posts" name="sm_cf_posts"><?php $this->sg->HtmlGetFreqNames($this->sg->GetOption("cf_posts")); ?></select>
|
1084 |
+
<?php _e('Posts', 'sitemap') ?>
|
1085 |
+
</label>
|
1086 |
+
</li>
|
1087 |
+
<li>
|
1088 |
+
<label for="sm_cf_pages">
|
1089 |
+
<select id="sm_cf_pages" name="sm_cf_pages"><?php $this->sg->HtmlGetFreqNames($this->sg->GetOption("cf_pages")); ?></select>
|
1090 |
+
<?php _e('Static pages', 'sitemap') ?>
|
1091 |
+
</label>
|
1092 |
+
</li>
|
1093 |
+
<li>
|
1094 |
+
<label for="sm_cf_cats">
|
1095 |
+
<select id="sm_cf_cats" name="sm_cf_cats"><?php $this->sg->HtmlGetFreqNames($this->sg->GetOption("cf_cats")); ?></select>
|
1096 |
+
<?php _e('Categories', 'sitemap') ?>
|
1097 |
+
</label>
|
1098 |
+
</li>
|
1099 |
+
<li>
|
1100 |
+
<label for="sm_cf_arch_curr">
|
1101 |
+
<select id="sm_cf_arch_curr" name="sm_cf_arch_curr"><?php $this->sg->HtmlGetFreqNames($this->sg->GetOption("cf_arch_curr")); ?></select>
|
1102 |
+
<?php _e('The current archive of this month (Should be the same like your homepage)', 'sitemap') ?>
|
1103 |
+
</label>
|
1104 |
+
</li>
|
1105 |
+
<li>
|
1106 |
+
<label for="sm_cf_arch_old">
|
1107 |
+
<select id="sm_cf_arch_old" name="sm_cf_arch_old"><?php $this->sg->HtmlGetFreqNames($this->sg->GetOption("cf_arch_old")); ?></select>
|
1108 |
+
<?php _e('Older archives (Changes only if you edit an old post)', 'sitemap') ?>
|
1109 |
+
</label>
|
1110 |
+
</li>
|
1111 |
+
<?php if($this->sg->IsTaxonomySupported()): ?>
|
1112 |
+
<li>
|
1113 |
+
<label for="sm_cf_tags">
|
1114 |
+
<select id="sm_cf_tags" name="sm_cf_tags"><?php $this->sg->HtmlGetFreqNames($this->sg->GetOption("cf_tags")); ?></select>
|
1115 |
+
<?php _e('Tag pages', 'sitemap') ?>
|
1116 |
+
</label>
|
1117 |
+
</li>
|
1118 |
+
<?php endif; ?>
|
1119 |
+
<li>
|
1120 |
+
<label for="sm_cf_auth">
|
1121 |
+
<select id="sm_cf_auth" name="sm_cf_auth"><?php $this->sg->HtmlGetFreqNames($this->sg->GetOption("cf_auth")); ?></select>
|
1122 |
+
<?php _e('Author pages', 'sitemap') ?>
|
1123 |
+
</label>
|
1124 |
+
</li>
|
1125 |
+
</ul>
|
1126 |
+
</div>
|
1127 |
+
</div>
|
1128 |
+
</fieldset>
|
1129 |
+
</div>
|
1130 |
+
|
1131 |
+
|
1132 |
+
<!-- Priorities -->
|
1133 |
+
<div class="dbx-b-ox-wrapper">
|
1134 |
+
<fieldset id="sm_priorities" class="dbx-box">
|
1135 |
+
<div class="dbx-h-andle-wrapper">
|
1136 |
+
<h3 class="dbx-handle"><?php _e('Priorities', 'sitemap') ?></h3>
|
1137 |
+
</div>
|
1138 |
+
<div class="dbx-c-ontent-wrapper">
|
1139 |
+
<div class="dbx-content">
|
1140 |
+
<ul>
|
1141 |
+
<li>
|
1142 |
+
<label for="sm_pr_home">
|
1143 |
+
<select id="sm_pr_home" name="sm_pr_home"><?php $this->sg->HtmlGetPriorityValues($this->sg->GetOption("pr_home")); ?></select>
|
1144 |
+
<?php _e('Homepage', 'sitemap') ?>
|
1145 |
+
</label>
|
1146 |
+
</li>
|
1147 |
+
<li>
|
1148 |
+
<label for="sm_pr_posts">
|
1149 |
+
<select id="sm_pr_posts" name="sm_pr_posts"><?php $this->sg->HtmlGetPriorityValues($this->sg->GetOption("pr_posts")); ?></select>
|
1150 |
+
<?php _e('Posts (If auto calculation is disabled)', 'sitemap') ?>
|
1151 |
+
</label>
|
1152 |
+
</li>
|
1153 |
+
<li>
|
1154 |
+
<label for="sm_pr_posts_min">
|
1155 |
+
<select id="sm_pr_posts_min" name="sm_pr_posts_min"><?php $this->sg->HtmlGetPriorityValues($this->sg->GetOption("pr_posts_min")); ?></select>
|
1156 |
+
<?php _e('Minimum post priority (Even if auto calculation is enabled)', 'sitemap') ?>
|
1157 |
+
</label>
|
1158 |
+
</li>
|
1159 |
+
<li>
|
1160 |
+
<label for="sm_pr_pages">
|
1161 |
+
<select id="sm_pr_pages" name="sm_pr_pages"><?php $this->sg->HtmlGetPriorityValues($this->sg->GetOption("pr_pages")); ?></select>
|
1162 |
+
<?php _e('Static pages', 'sitemap'); ?>
|
1163 |
+
</label>
|
1164 |
+
</li>
|
1165 |
+
<li>
|
1166 |
+
<label for="sm_pr_cats">
|
1167 |
+
<select id="sm_pr_cats" name="sm_pr_cats"><?php $this->sg->HtmlGetPriorityValues($this->sg->GetOption("pr_cats")); ?></select>
|
1168 |
+
<?php _e('Categories', 'sitemap') ?>
|
1169 |
+
</label>
|
1170 |
+
</li>
|
1171 |
+
<li>
|
1172 |
+
<label for="sm_pr_arch">
|
1173 |
+
<select id="sm_pr_arch" name="sm_pr_arch"><?php $this->sg->HtmlGetPriorityValues($this->sg->GetOption("pr_arch")); ?></select>
|
1174 |
+
<?php _e('Archives', 'sitemap') ?>
|
1175 |
+
</label>
|
1176 |
+
</li>
|
1177 |
+
<?php if($this->sg->IsTaxonomySupported()): ?>
|
1178 |
+
<li>
|
1179 |
+
<label for="sm_pr_tags">
|
1180 |
+
<select id="sm_pr_tags" name="sm_pr_tags"><?php $this->sg->HtmlGetPriorityValues($this->sg->GetOption("pr_tags")); ?></select>
|
1181 |
+
<?php _e('Tag pages', 'sitemap') ?>
|
1182 |
+
</label>
|
1183 |
+
</li>
|
1184 |
+
<?php endif; ?>
|
1185 |
+
<li>
|
1186 |
+
<label for="sm_pr_auth">
|
1187 |
+
<select id="sm_pr_auth" name="sm_pr_auth"><?php $this->sg->HtmlGetPriorityValues($this->sg->GetOption("pr_auth")); ?></select>
|
1188 |
+
<?php _e('Author pages', 'sitemap') ?>
|
1189 |
+
</label>
|
1190 |
+
</li>
|
1191 |
+
</ul>
|
1192 |
+
</div>
|
1193 |
+
</div>
|
1194 |
+
</fieldset>
|
1195 |
+
</div>
|
1196 |
+
</div>
|
1197 |
+
<div>
|
1198 |
+
<p class="submit">
|
1199 |
+
<?php wp_nonce_field('sitemap') ?>
|
1200 |
+
<input type="submit" name="sm_update" value="<?php _e('Update options', 'sitemap'); ?>" />
|
1201 |
+
<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'); ?>" />
|
1202 |
+
</p>
|
1203 |
+
</div>
|
1204 |
+
</div>
|
1205 |
+
<script type="text/javascript">if(typeof(sm_loadPages)=='function') addLoadEvent(sm_loadPages); </script>
|
1206 |
+
</form>
|
1207 |
+
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="sm_donate_form">
|
1208 |
+
<input type="hidden" name="cmd" value="_xclick" />
|
1209 |
+
<input type="hidden" name="business" value="<?php echo "donate" /* N O S P A M */ . "@" . "arnebra" . "chhold.de"; ?>" />
|
1210 |
+
<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." />
|
1211 |
+
<input type="hidden" name="no_shipping" value="1" />
|
1212 |
+
<input type="hidden" name="return" value="<?php echo 'http://' . $_SERVER['HTTP_HOST'] . $this->sg->GetBackLink(); ?>&sm_donated=true" />
|
1213 |
+
<input type="hidden" name="item_number" value="0001" />
|
1214 |
+
<input type="hidden" name="currency_code" value="USD" />
|
1215 |
+
<input type="hidden" name="bn" value="PP-BuyNowBF" />
|
1216 |
+
<input type="hidden" name="rm" value="2" />
|
1217 |
+
<input type="hidden" name="on0" value="Your Website" />
|
1218 |
+
<input type="hidden" name="os0" value="<?php echo get_bloginfo("home"); ?>"/>
|
1219 |
+
</form>
|
1220 |
+
</div>
|
1221 |
+
<?php
|
1222 |
+
}
|
1223 |
+
}
|
1224 |
+
|
sitemap-zh_CN.mo
DELETED
Binary file
|
sitemap-zh_CN.po
DELETED
@@ -1,323 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: sitemap\n"
|
4 |
-
"POT-Creation-Date: \n"
|
5 |
-
"PO-Revision-Date: 2005-07-15 11:05+0800\n"
|
6 |
-
"Last-Translator: june6th <june6th@gmail.com>\n"
|
7 |
-
"Language-Team: Kirin Lin <kirin.lin@gmail.com>\n"
|
8 |
-
"MIME-Version: 1.0\n"
|
9 |
-
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
-
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"X-Poedit-Language: Chinese\n"
|
12 |
-
"X-Poedit-Country: TAIWAN\n"
|
13 |
-
|
14 |
-
#: sitemap.php:375
|
15 |
-
msgid "always"
|
16 |
-
msgstr "总是"
|
17 |
-
|
18 |
-
msgid "hourly"
|
19 |
-
msgstr "每小时"
|
20 |
-
|
21 |
-
msgid "daily"
|
22 |
-
msgstr "每日"
|
23 |
-
|
24 |
-
msgid "weekly"
|
25 |
-
msgstr "每周"
|
26 |
-
|
27 |
-
msgid "monthly"
|
28 |
-
msgstr "每月"
|
29 |
-
|
30 |
-
msgid "yearly"
|
31 |
-
msgstr "每年"
|
32 |
-
|
33 |
-
msgid "never"
|
34 |
-
msgstr "从不"
|
35 |
-
|
36 |
-
msgid "Detected Path"
|
37 |
-
msgstr "监测到的路径"
|
38 |
-
|
39 |
-
msgid "Example"
|
40 |
-
msgstr "示例"
|
41 |
-
|
42 |
-
msgid "Absolute or relative path to the sitemap file, including name."
|
43 |
-
msgstr "站点地图的绝对或相对路径,包括文件名。"
|
44 |
-
|
45 |
-
msgid "Complete URL to the sitemap file, including name."
|
46 |
-
msgstr "站点地图的完成地址,包括文件名。"
|
47 |
-
|
48 |
-
msgid "Automatic location"
|
49 |
-
msgstr "自动位置"
|
50 |
-
|
51 |
-
msgid "Manual location"
|
52 |
-
msgstr "手动位置"
|
53 |
-
|
54 |
-
msgid "OR"
|
55 |
-
msgstr "或"
|
56 |
-
|
57 |
-
msgid "Location of your sitemap file"
|
58 |
-
msgstr "站点地图的位置"
|
59 |
-
|
60 |
-
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 "Location of your sitemap file" section on this page)!"
|
61 |
-
msgstr "如果您的网志是在子目录下而您想要增加的页面并<strong>不在</strong>网志的目录下面,您<strong>必须</strong>将您的站点地图放到您站点的的根目录下。(参见本页 "站点地图的位置" 小节)!"
|
62 |
-
|
63 |
-
#: sitemap.php:512
|
64 |
-
msgid "Configuration updated"
|
65 |
-
msgstr "配置已更新"
|
66 |
-
|
67 |
-
#: sitemap.php:513
|
68 |
-
msgid "Error"
|
69 |
-
msgstr "错误"
|
70 |
-
|
71 |
-
#: sitemap.php:521
|
72 |
-
msgid "A new page was added. Click on "Save page changes" to save your changes."
|
73 |
-
msgstr "已新增页面。请选择"保存页面更改" 将更改保存。"
|
74 |
-
|
75 |
-
#: sitemap.php:527
|
76 |
-
msgid "Pages saved"
|
77 |
-
msgstr "页面已保存"
|
78 |
-
|
79 |
-
#: sitemap.php:528
|
80 |
-
msgid "Error while saving pages"
|
81 |
-
msgstr "保存页面时发生错误"
|
82 |
-
|
83 |
-
#: sitemap.php:539
|
84 |
-
msgid "The page was deleted. Click on "Save page changes" to save your changes."
|
85 |
-
msgstr "该页面已经删除。请选择"保存页面更改" 将更改保存。"
|
86 |
-
|
87 |
-
#: sitemap.php:542
|
88 |
-
msgid "You changes have been cleared."
|
89 |
-
msgstr "您已经放弃更改。"
|
90 |
-
|
91 |
-
#: sitemap.php:555
|
92 |
-
msgid "Sitemap Generator"
|
93 |
-
msgstr "站点地图生成器"
|
94 |
-
|
95 |
-
#: sitemap.php:558
|
96 |
-
msgid "Manual rebuild"
|
97 |
-
msgstr "手动重建"
|
98 |
-
|
99 |
-
#: sitemap.php:559
|
100 |
-
msgid "If you want to build the sitemap without editing a post, click on here!"
|
101 |
-
msgstr "如果您不想通过编辑文章來生成站点地图,请点击此处!"
|
102 |
-
|
103 |
-
#: sitemap.php:560
|
104 |
-
msgid "Rebuild Sitemap"
|
105 |
-
msgstr "重建站点地图"
|
106 |
-
|
107 |
-
#: sitemap.php:564
|
108 |
-
msgid "Additional pages"
|
109 |
-
msgstr "其他的页面"
|
110 |
-
|
111 |
-
#: sitemap.php:566
|
112 |
-
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"
|
113 |
-
msgstr "您可以在此指定那些应被纳入站点地图的文件或者网址(URL),但是不属于您的网志(Blog/WordPress)。<br />比如,如果您的网志是 www.foo.com/blog,而您想要将您 www.foo.com 下的网页纳入此站点地图。"
|
114 |
-
|
115 |
-
#: sitemap.php:568
|
116 |
-
msgid "URL to the page"
|
117 |
-
msgstr "页面 URL"
|
118 |
-
|
119 |
-
#: sitemap.php:569
|
120 |
-
msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home "
|
121 |
-
msgstr "输入页面的URL。例如:http://www.foo.com/index.html 或者 www.foo.com/home "
|
122 |
-
|
123 |
-
#: sitemap.php:571
|
124 |
-
msgid "Priority"
|
125 |
-
msgstr "优先级"
|
126 |
-
|
127 |
-
#: sitemap.php:572
|
128 |
-
msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint."
|
129 |
-
msgstr "选择该页面的优先级(相对其他页面而言)。例如:您的首页或许会比版权声明的优先级要高。"
|
130 |
-
|
131 |
-
#: sitemap.php:574
|
132 |
-
msgid "Last Changed"
|
133 |
-
msgstr "最近更改"
|
134 |
-
|
135 |
-
#: sitemap.php:575
|
136 |
-
msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)."
|
137 |
-
msgstr "输入最近更改的日期,格式为 YYYY-MM-DD (例如:2005-12-31)(非必要)"
|
138 |
-
|
139 |
-
#: sitemap.php:583
|
140 |
-
msgid "Change Frequency"
|
141 |
-
msgstr "设定更新频率"
|
142 |
-
|
143 |
-
#: sitemap.php:585
|
144 |
-
msgid "#"
|
145 |
-
msgstr "#"
|
146 |
-
|
147 |
-
#: sitemap.php:609
|
148 |
-
msgid "No pages defined."
|
149 |
-
msgstr "还沒有页面已被设定"
|
150 |
-
|
151 |
-
#: sitemap.php:616
|
152 |
-
msgid "Add new page"
|
153 |
-
msgstr "新增页面"
|
154 |
-
|
155 |
-
# sitemap.php:617:
|
156 |
-
#: sitemap.php:617
|
157 |
-
msgid "Save page changes"
|
158 |
-
msgstr "保存页面更改"
|
159 |
-
|
160 |
-
# sitemap.php:618:
|
161 |
-
#: sitemap.php:618
|
162 |
-
msgid "Undo all page changes"
|
163 |
-
msgstr "取消所有更改"
|
164 |
-
|
165 |
-
# sitemap.php:621:
|
166 |
-
#: sitemap.php:621
|
167 |
-
msgid "Delete marked page"
|
168 |
-
msgstr "删除选取的页面"
|
169 |
-
|
170 |
-
# msgid "Rebuild Sitemap"
|
171 |
-
# msgstr ""
|
172 |
-
#: sitemap.php:627
|
173 |
-
msgid "Basic Options"
|
174 |
-
msgstr "基本设定"
|
175 |
-
|
176 |
-
#: sitemap.php:632
|
177 |
-
msgid "Enable automatic priority calculation for posts based on comment count"
|
178 |
-
msgstr "开启文章的自动优先级别计算(以留言数量为主)"
|
179 |
-
|
180 |
-
#: sitemap.php:638
|
181 |
-
msgid "Write debug comments"
|
182 |
-
msgstr "写入调试信息"
|
183 |
-
|
184 |
-
#: sitemap.php:643
|
185 |
-
msgid "Filename of the sitemap file"
|
186 |
-
msgstr "站点地图的文件名"
|
187 |
-
|
188 |
-
#: sitemap.php:650
|
189 |
-
msgid "Write a normal XML file (your filename)"
|
190 |
-
msgstr "写入XML文件 (文件名称)"
|
191 |
-
|
192 |
-
#: sitemap.php:652
|
193 |
-
msgid "Detected URL"
|
194 |
-
msgstr "检测到的网址"
|
195 |
-
|
196 |
-
#: sitemap.php:657
|
197 |
-
msgid "Write a gzipped file (your filename + .gz)"
|
198 |
-
msgstr "写入压缩文件 (文件名称 + .gz)"
|
199 |
-
|
200 |
-
#: sitemap.php:664
|
201 |
-
msgid "Auto-Ping Google Sitemaps"
|
202 |
-
msgstr "自动通知 Google Sitemap"
|
203 |
-
|
204 |
-
#: sitemap.php:665
|
205 |
-
msgid "This option will automatically tell Google about changes."
|
206 |
-
msgstr "该选项会自动通知 Google 相关的更新。"
|
207 |
-
|
208 |
-
#: sitemap.php:672
|
209 |
-
msgid "Includings"
|
210 |
-
msgstr "包含"
|
211 |
-
|
212 |
-
#: sitemap.php:677
|
213 |
-
msgid "Include homepage"
|
214 |
-
msgstr "包含首页"
|
215 |
-
|
216 |
-
#: sitemap.php:683
|
217 |
-
msgid "Include posts"
|
218 |
-
msgstr "包含文章"
|
219 |
-
|
220 |
-
#: sitemap.php:689
|
221 |
-
msgid "Include static pages"
|
222 |
-
msgstr "包含静态页面"
|
223 |
-
|
224 |
-
#: sitemap.php:695
|
225 |
-
msgid "Include categories"
|
226 |
-
msgstr "包含分类"
|
227 |
-
|
228 |
-
#: sitemap.php:701
|
229 |
-
msgid "Include archives"
|
230 |
-
msgstr "包含存档"
|
231 |
-
|
232 |
-
#: sitemap.php:708
|
233 |
-
msgid "Change frequencies"
|
234 |
-
msgstr "更新频率设置"
|
235 |
-
|
236 |
-
#: sitemap.php:709
|
237 |
-
msgid "Note"
|
238 |
-
msgstr "注意"
|
239 |
-
|
240 |
-
#: sitemap.php:710
|
241 |
-
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."
|
242 |
-
msgstr "请注意下列各设定值仅被作为提示而非命令。虽然搜索引擎抓取器会考虑这个信息做出決定,他们也许会较少抓取被标记为\"每小时\"的页面,或者更加频繁地抓取被标记为\"每年\" 的頁面。搜索引擎抓取机制会周期性地抓取被标记为\"从不\"的页面,以便他们能处理那些页面不希望的更改。"
|
243 |
-
|
244 |
-
#: sitemap.php:715
|
245 |
-
msgid "Homepage"
|
246 |
-
msgstr "首页"
|
247 |
-
|
248 |
-
#: sitemap.php:721
|
249 |
-
msgid "Posts"
|
250 |
-
msgstr "文章"
|
251 |
-
|
252 |
-
#: sitemap.php:727
|
253 |
-
msgid "Static pages"
|
254 |
-
msgstr "静态页面"
|
255 |
-
|
256 |
-
#: sitemap.php:733
|
257 |
-
msgid "Categories"
|
258 |
-
msgstr "分类"
|
259 |
-
|
260 |
-
#: sitemap.php:739
|
261 |
-
msgid "The current archive of this month (Should be the same like your homepage)"
|
262 |
-
msgstr "现有的每月归档(应与您的首页相同)"
|
263 |
-
|
264 |
-
#: sitemap.php:745
|
265 |
-
msgid "Older archives (Changes only if you edit an old post)"
|
266 |
-
msgstr "较旧的存档(只有在您修改旧文章的时候才会改变)"
|
267 |
-
|
268 |
-
#: sitemap.php:752
|
269 |
-
msgid "Priorities"
|
270 |
-
msgstr "优先级"
|
271 |
-
|
272 |
-
#: sitemap.php:763
|
273 |
-
msgid "Posts (If auto calculation is disabled)"
|
274 |
-
msgstr "文章(如果自动计算没有打开)"
|
275 |
-
|
276 |
-
#: sitemap.php:769
|
277 |
-
msgid "Minimum post priority (Even if auto calculation is enabled)"
|
278 |
-
msgstr "优先级中 (如果自动计算没有打开)"
|
279 |
-
|
280 |
-
#: sitemap.php:787
|
281 |
-
msgid "Archives"
|
282 |
-
msgstr "存档"
|
283 |
-
|
284 |
-
#: sitemap.php:793
|
285 |
-
msgid "Informations and support"
|
286 |
-
msgstr "信息和支持"
|
287 |
-
|
288 |
-
#: sitemap.php:794
|
289 |
-
msgid "Check %s for updates and comment there if you have any problems / questions / suggestions."
|
290 |
-
msgstr "如果您有任何问题以及建议或者想知道本插件最近的更新以及回应,请点击 %s。"
|
291 |
-
|
292 |
-
#: sitemap.php:797
|
293 |
-
msgid "Update options"
|
294 |
-
msgstr "更新选项"
|
295 |
-
|
296 |
-
#: sitemap.php:1033
|
297 |
-
msgid "URL:"
|
298 |
-
msgstr "网址:"
|
299 |
-
|
300 |
-
#: sitemap.php:1034
|
301 |
-
msgid "Path:"
|
302 |
-
msgstr "路径:"
|
303 |
-
|
304 |
-
#: sitemap.php:1037
|
305 |
-
msgid "Could not write into %s"
|
306 |
-
msgstr "无法写入 %s"
|
307 |
-
|
308 |
-
#: sitemap.php:1048
|
309 |
-
msgid "Successfully built sitemap file:"
|
310 |
-
msgstr "成功地建立站点地图文件:"
|
311 |
-
|
312 |
-
#: sitemap.php:1048
|
313 |
-
msgid "Successfully built gzipped sitemap file:"
|
314 |
-
msgstr "成功地建立压缩的站点地图文件:"
|
315 |
-
|
316 |
-
#: sitemap.php:1062
|
317 |
-
msgid "Could not ping to Google at %s"
|
318 |
-
msgstr "无法通知 Google: %s "
|
319 |
-
|
320 |
-
#: sitemap.php:1064
|
321 |
-
msgid "Successfully pinged Google at %s"
|
322 |
-
msgstr "成功地通知 Google: %s "
|
323 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sitemap.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
-
<?php
|
|
|
2 |
/*
|
3 |
-
|
4 |
-
$Id: sitemap.php 43482 2008-04-29 21:35:04Z arnee $
|
5 |
|
6 |
Google XML Sitemaps Generator for WordPress
|
7 |
==============================================================================
|
@@ -12,3923 +12,113 @@
|
|
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 |
|
18 |
Have fun!
|
19 |
Arne
|
20 |
-
|
21 |
-
|
22 |
-
==============================================================================
|
23 |
-
1. Upload the full directory into your wp-content/plugins directory
|
24 |
-
2. Make your blog directory writeable OR create two files called sitemap.xml
|
25 |
-
and sitemap.xml.gz and make them writeable via CHMOD In most cases, your blog directory is already writeable.
|
26 |
-
2. Activate it in the Plugin options
|
27 |
-
3. Edit or publish a post or click on Rebuild Sitemap on the Sitemap Administration Interface
|
28 |
-
|
29 |
-
|
30 |
Info for WordPress:
|
31 |
==============================================================================
|
32 |
Plugin Name: Google XML Sitemaps
|
33 |
Plugin URI: http://www.arnebrachhold.de/redir/sitemap-home/
|
34 |
Description: This plugin will generate a sitemaps.org compatible sitemap of your WordPress blog which is supported by Ask.com, Google, MSN Search and YAHOO. <a href="options-general.php?page=sitemap.php">Configuration Page</a>
|
35 |
-
Version: 3.
|
36 |
Author: Arne Brachhold
|
37 |
Author URI: http://www.arnebrachhold.de/
|
38 |
-
|
39 |
-
|
40 |
-
Contributors:
|
41 |
-
==============================================================================
|
42 |
-
Basic Idea Michael Nguyen http://www.socialpatterns.com/
|
43 |
-
SQL Improvements Rodney Shupe http://www.shupe.ca/
|
44 |
-
Japanse Lang. File Hirosama http://hiromasa.zone.ne.jp/
|
45 |
-
Spanish lang. File C�sar G�mez Mart�n http://www.cesargomez.org/
|
46 |
-
Italian lang. File Stefano Aglietti http://wordpress-it.it/
|
47 |
-
Trad.Chinese File Kirin Lin http://kirin-lin.idv.tw/
|
48 |
-
Simpl.Chinese File june6 http://www.june6.cn/
|
49 |
-
Swedish Lang. File Tobias Bergius http://tobiasbergius.se/
|
50 |
-
Czech Lang. File Peter Kahoun http://kahi.cz
|
51 |
-
Ping Code Template 1 James http://www.adlards.com/
|
52 |
-
Ping Code Template 2 John http://www.jonasblog.com/
|
53 |
-
Bug Report Brad http://h3h.net/
|
54 |
-
Bug Report Christian Aust http://publicvoidblog.de/
|
55 |
-
Bug Report Joseph Abboud
|
56 |
-
Bug Report Mike http://baptiste.us/
|
57 |
-
Bug Report Peter http://fastagent.de/
|
58 |
-
Bug Report Glenn http://publicityship.com.au/
|
59 |
-
Bug Report froosh
|
60 |
-
File Handling VJTD3 http://www.vjtd3.com/
|
61 |
-
|
62 |
-
Code, Documentation, Hosting and all other Stuff:
|
63 |
-
Arne Brachhold http://www.arnebrachhold.de/
|
64 |
-
|
65 |
-
Thanks to all contributors and bug reporters! :)
|
66 |
-
|
67 |
-
|
68 |
-
Release History:
|
69 |
-
==============================================================================
|
70 |
-
2005-06-05 1.0 First release
|
71 |
-
2005-06-05 1.1 Added archive support
|
72 |
-
2005-06-05 1.2 Added category support
|
73 |
-
2005-06-05 2.0a Beta: Real Plugin! Static file generation, Admin UI
|
74 |
-
2005-06-05 2.0 Various fixes, more help, more comments, configurable filename
|
75 |
-
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 < ?
|
76 |
-
Thanks to Christian Aust for reporting this :)
|
77 |
-
2005-06-07 2.1 Correct usage of last modification date for cats and archives (thx to Rodney Shupe (http://www.shupe.ca/))
|
78 |
-
Added support for .gz generation
|
79 |
-
Fixed bug which ignored different post/page priorities
|
80 |
-
Should support now different wordpress/admin directories
|
81 |
-
2005-06-07 2.11 Fixed bug with hardcoded table table names instead of the $wpd vars
|
82 |
-
2005-06-07 2.12 Changed SQL Statement of the categories to get it work on MySQL 3
|
83 |
-
2005-06-08 2.2 Added language file support:
|
84 |
-
- Japanese Language Files and code modifications by hiromasa (http://hiromasa.zone.ne.jp/)
|
85 |
-
- German Language File by Arne Brachhold (http://www.arnebrachhold.de)
|
86 |
-
2005-06-14 2.5 Added support for external pages
|
87 |
-
Added support for Google Ping
|
88 |
-
Added the minimum Post Priority option
|
89 |
-
Added Spanish Language File by C�sar G�mez Mart�n (http://www.cesargomez.org/)
|
90 |
-
Added Italian Language File by Stefano Aglietti (http://wordpress-it.it/)
|
91 |
-
Added Traditional Chine Language File by Kirin Lin (http://kirin-lin.idv.tw/)
|
92 |
-
2005-07-03 2.6 Added support to store the files at a custom location
|
93 |
-
Changed the home URL to have a slash at the end
|
94 |
-
Required admin-functions.php so the script will work with external calls, wp-mail for example
|
95 |
-
Added support for other plugins to add content to the sitemap via add_filter()
|
96 |
-
2005-07-20 2.7 Fixed wrong date format in additional pages
|
97 |
-
Added Simplified Chinese Language Files by june6 (http://www.june6.cn/)
|
98 |
-
Added Swedish Language File by Tobias Bergius (http://tobiasbergius.se/)
|
99 |
-
2006-01-07 3.0b Added different priority calculation modes and introduced an API to create custom ones
|
100 |
-
Added support to use the Popularity Contest plugin by Alex King to calculate post priority
|
101 |
-
Added Button to restore default configuration
|
102 |
-
Added several links to homepage and support
|
103 |
-
Added option to exclude password protected posts
|
104 |
-
Added function to start sitemap creation via GET and a secret key
|
105 |
-
Posts and pages marked for publish with a date in the future won't be included
|
106 |
-
Improved compatiblity with other plugins
|
107 |
-
Improved speed and optimized settings handling
|
108 |
-
Improved user-interface
|
109 |
-
Recoded plugin architecture which is now fully OOP
|
110 |
-
2006-01-07 3.0b1 Changed the way for hook support to be PHP5 and PHP4 compatible
|
111 |
-
Readded support for tools like w.Bloggar
|
112 |
-
Fixed "doubled-content" bug with WP2
|
113 |
-
Added xmlns to enable validation
|
114 |
-
2006-03-01 3.0b3 More performance
|
115 |
-
More caching
|
116 |
-
Better support for Popularity Contest and WP 2.x
|
117 |
-
2006-11-16 3.0b4 Fixed bug with option SELECTS
|
118 |
-
Decreased memory usage which should solve timeout and memory problems
|
119 |
-
Updated namespace to support YAHOO and MSN
|
120 |
-
2007-01-19 3.0b5 Javascripted page editor
|
121 |
-
WP 2 Design
|
122 |
-
YAHOO notification
|
123 |
-
New status report, removed ugly logfiles
|
124 |
-
Better Popularity Contest Support
|
125 |
-
Fixed double backslashes on windows systems
|
126 |
-
Added option to specify time limit and memory limit
|
127 |
-
Added option to define a XSLT stylesheet and added a default one
|
128 |
-
Fixed bug with sub-pages. Thanks to:
|
129 |
-
- Mike Baptiste (http://baptiste.us),
|
130 |
-
- Peter Claus Lamprecht (http://fastagent.de)
|
131 |
-
- Glenn Nicholas (http://publicityship.com.au)
|
132 |
-
Improved file handling, thanks to VJTD3 (http://www.VJTD3.com)
|
133 |
-
WP 2.1 improvements
|
134 |
-
2007-01-23 3.0b6 Use memory_get_peak_usage instead of memory_get_usage if available
|
135 |
-
Removed the usage of REQUEST_URI since it not correct in all environments
|
136 |
-
Fixed that sitemap.xml.gz was not compressed
|
137 |
-
Added compat function "stripos" for PHP4 (Thanks to Joseph Abboud!)
|
138 |
-
Streamlined some code
|
139 |
-
2007-05-17 3.0b7 Added option to include the author pages like /author/john
|
140 |
-
Small enhancements, removed stripos dependency and the added compat function
|
141 |
-
Added check to not build the sitemap if importing posts
|
142 |
-
Fixed missing domain parameter for translator name
|
143 |
-
Fixed WP 2.1 / Pre 2.1 post / pages database changes
|
144 |
-
Fixed wrong XSLT location (Thanks froosh)
|
145 |
-
Added Ask.com notification
|
146 |
-
Removed unused javascript
|
147 |
-
2007-07-22 3.0b8 Changed category SQL to prevent unused cats from beeing included
|
148 |
-
Plugin will be loaded on "init" instead of direclty after the file has been loaded.
|
149 |
-
Added support for robots.txt modification
|
150 |
-
Switched YAHOO ping API from YAHOO Web Services to the "normal" ping service which doesn't require an app id
|
151 |
-
Search engines will only be pinged if the sitemap file has changed
|
152 |
-
2007-09-02 3.0b9 Added tag support for WordPress 2.3
|
153 |
-
Now using post_date_gmt instead of post_date everywhere
|
154 |
-
Fixed archive bug with static pages (Thanks to Peter Claus Lamprecht)
|
155 |
-
Fixed some missing translation domains, thanks to Kirin Lin!
|
156 |
-
Added Czech translation files for 2.7.1, thanks to Peter Kahoun (http://kahi.cz)
|
157 |
-
2007-09-04 3.0b10 Added category support for WordPress 2.3
|
158 |
-
Fixed bug with empty URLs in sitemap
|
159 |
-
Repaired GET building
|
160 |
-
Added more info on debug mode
|
161 |
-
2007-09-23 3.0b11 Changed mysql queries to unbuffered queries
|
162 |
-
Uses MUCH less memory
|
163 |
-
Fixed really stupid bug with search engine pings
|
164 |
-
Option to set how many posts will be included
|
165 |
-
2007-09-24 3.0 Yeah, 3.0 Final after one and a half year ;)
|
166 |
-
Removed useless functions
|
167 |
-
2007-11-03 3.0.1 Using the Snoopy HTTP client for ping requests instead of wp_remote_fopen
|
168 |
-
Fixed undefined translation strings
|
169 |
-
Added "safemode" for SQL which doesn't use unbuffered results (old style)
|
170 |
-
Added option to run the building process in background using wp-cron
|
171 |
-
Removed unnecessary function_exists, Thanks to user00265
|
172 |
-
Added links to test the ping if it failed.
|
173 |
-
2007-11-25 3.0.2 Fixed bug which caused that some settings were not saved correctly
|
174 |
-
Added option to exclude pages or post by ID
|
175 |
-
Restored YAHOO ping service with API key since the other one is to unreliable. (see 3.0b8)
|
176 |
-
2007-11-28 3.0.2.1 Fixed wrong XML Schema Location (Thanks to Emanuele Tessore)
|
177 |
-
Added Russian Language files by Sergey http://ryvkin.ru
|
178 |
-
2007-12-30 3.0.3 Added Live Search Ping
|
179 |
-
Removed some hooks which rebuilt the sitemap with every comment
|
180 |
-
2008-03-30 3.0.3.1 Added compatibility CSS for WP 2.5
|
181 |
-
2008-04-28 3.0.3.2 Improved WP 2.5 handling
|
182 |
-
2008-04-29 3.0.3.3 Fixed author pages
|
183 |
-
Enhanced background building and increased delay to 15 seconds
|
184 |
-
Background building is enabled by default
|
185 |
-
|
186 |
-
Maybe Todo:
|
187 |
-
==============================================================================
|
188 |
-
- Your wishes :)
|
189 |
-
|
190 |
-
|
191 |
-
License:
|
192 |
-
==============================================================================
|
193 |
-
Copyright 2005, 2006, 2007 ARNE BRACHHOLD (email : himself - arnebrachhold - de)
|
194 |
-
|
195 |
-
This program is free software; you can redistribute it and/or modify
|
196 |
-
it under the terms of the GNU General Public License as published by
|
197 |
-
the Free Software Foundation; either version 2 of the License, or
|
198 |
-
(at your option) any later version.
|
199 |
-
|
200 |
-
This program is distributed in the hope that it will be useful,
|
201 |
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
202 |
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
203 |
-
GNU General Public License for more details.
|
204 |
-
|
205 |
-
You should have received a copy of the GNU General Public License
|
206 |
-
along with this program; if not, write to the Free Software
|
207 |
-
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
208 |
-
|
209 |
-
|
210 |
-
Developer Documentation
|
211 |
-
==============================================================================
|
212 |
-
|
213 |
-
Adding other pages to the sitemap via other plugins
|
214 |
-
|
215 |
-
This plugin uses the action system of WordPress to allow other plugins
|
216 |
-
to add urls to the sitemap. Simply add your function with add_action to
|
217 |
-
the list and the plugin will execute yours every time the sitemap is build.
|
218 |
-
Use the static method "GetInstance" to get the generator and AddUrl method
|
219 |
-
to add your content.
|
220 |
-
|
221 |
-
Sample:
|
222 |
-
function your_pages() {
|
223 |
-
$generatorObject = &GoogleSitemapGenerator::GetInstance(); //Please note the "&" sign!
|
224 |
-
if($generatorObject!=null) $generatorObject->AddUrl("http://blog.uri/tags/hello/",time(),"daily",0.5);
|
225 |
-
}
|
226 |
-
add_action("sm_buildmap","your_pages");
|
227 |
-
|
228 |
-
Parameters:
|
229 |
-
- The URL to the page
|
230 |
-
- The last modified data, as a UNIX timestamp (optional)
|
231 |
-
- The Change Frequency (daily, hourly, weekly and so on) (optional)
|
232 |
-
- The priority 0.0 to 1.0 (optional)
|
233 |
-
|
234 |
-
===============================================
|
235 |
-
|
236 |
-
Adding additional PriorityProviders
|
237 |
-
|
238 |
-
This plugin uses several classes to calculate the post priority.
|
239 |
-
You can register your own provider and choose it at the options screen.
|
240 |
-
|
241 |
-
Your class has to extend the GoogleSitemapGeneratorPrioProviderBase class
|
242 |
-
which has a default constructor and a method called GetPostPriority
|
243 |
-
which you can override.
|
244 |
-
|
245 |
-
Look at the GoogleSitemapGeneratorPrioByPopularityContestProvider class
|
246 |
-
for an example.
|
247 |
-
|
248 |
-
To register your provider to the sitemap generator, use the following filter:
|
249 |
-
|
250 |
-
add_filter("sm_add_prio_provider","AddMyProvider");
|
251 |
-
|
252 |
-
Your function could look like this:
|
253 |
-
|
254 |
-
function AddMyProvider($providers) {
|
255 |
-
array_push($providers,"MyProviderClass");
|
256 |
-
return $providers;
|
257 |
-
}
|
258 |
-
|
259 |
-
Note that you have to return the modified list!
|
260 |
*/
|
261 |
|
262 |
-
|
263 |
-
|
264 |
-
//ini_set("display_errors",1);
|
265 |
-
|
266 |
-
|
267 |
-
#region PHP5 compat functions
|
268 |
-
if (!function_exists('file_get_contents')) {
|
269 |
-
/**
|
270 |
-
* Replace file_get_contents()
|
271 |
-
*
|
272 |
-
* @category PHP
|
273 |
-
* @package PHP_Compat
|
274 |
-
* @link http://php.net/function.file_get_contents
|
275 |
-
* @author Aidan Lister <aidan - php - net>
|
276 |
-
* @version $Revision: 1.21 $
|
277 |
-
* @internal resource_context is not supported
|
278 |
-
* @since PHP 5
|
279 |
-
*/
|
280 |
-
function file_get_contents($filename, $incpath = false, $resource_context = null) {
|
281 |
-
if (false === $fh = fopen($filename, 'rb', $incpath)) {
|
282 |
-
user_error('file_get_contents() failed to open stream: No such file or directory', E_USER_WARNING);
|
283 |
-
return false;
|
284 |
-
}
|
285 |
-
|
286 |
-
clearstatcache();
|
287 |
-
if ($fsize = @filesize($filename)) {
|
288 |
-
$data = fread($fh, $fsize);
|
289 |
-
} else {
|
290 |
-
$data = '';
|
291 |
-
while (!feof($fh)) {
|
292 |
-
$data .= fread($fh, 8192);
|
293 |
-
}
|
294 |
-
}
|
295 |
|
296 |
-
|
297 |
-
|
298 |
-
}
|
299 |
-
}
|
300 |
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
define('LOCK_EX', 2);
|
310 |
-
}
|
311 |
-
|
312 |
-
if (!defined('FILE_APPEND')) {
|
313 |
-
define('FILE_APPEND', 8);
|
314 |
-
}
|
315 |
-
|
316 |
-
|
317 |
-
/**
|
318 |
-
* Replace file_put_contents()
|
319 |
-
*
|
320 |
-
* @category PHP
|
321 |
-
* @package PHP_Compat
|
322 |
-
* @link http://php.net/function.file_put_contents
|
323 |
-
* @author Aidan Lister <aidan - php - net>
|
324 |
-
* @version $Revision: 1.25 $
|
325 |
-
* @internal resource_context is not supported
|
326 |
-
* @since PHP 5
|
327 |
-
* @require PHP 4.0.0 (user_error)
|
328 |
-
*/
|
329 |
-
function file_put_contents($filename, $content, $flags = null, $resource_context = null) {
|
330 |
-
// If $content is an array, convert it to a string
|
331 |
-
if (is_array($content)) {
|
332 |
-
$content = implode('', $content);
|
333 |
-
}
|
334 |
-
|
335 |
-
// If we don't have a string, throw an error
|
336 |
-
if (!is_scalar($content)) {
|
337 |
-
user_error('file_put_contents() The 2nd parameter should be either a string or an array',E_USER_WARNING);
|
338 |
-
return false;
|
339 |
-
}
|
340 |
-
|
341 |
-
// Get the length of data to write
|
342 |
-
$length = strlen($content);
|
343 |
-
|
344 |
-
// Check what mode we are using
|
345 |
-
$mode = ($flags & FILE_APPEND)?'a':'wb';
|
346 |
-
|
347 |
-
// Check if we're using the include path
|
348 |
-
$use_inc_path = ($flags & FILE_USE_INCLUDE_PATH)?true:false;
|
349 |
-
|
350 |
-
// Open the file for writing
|
351 |
-
if (($fh = @fopen($filename, $mode, $use_inc_path)) === false) {
|
352 |
-
user_error('file_put_contents() failed to open stream: Permission denied',E_USER_WARNING);
|
353 |
-
return false;
|
354 |
-
}
|
355 |
-
|
356 |
-
// Attempt to get an exclusive lock
|
357 |
-
$use_lock = ($flags & LOCK_EX) ? true : false ;
|
358 |
-
if ($use_lock === true) {
|
359 |
-
if (!flock($fh, LOCK_EX)) {
|
360 |
-
return false;
|
361 |
-
}
|
362 |
-
}
|
363 |
-
|
364 |
-
// Write to the file
|
365 |
-
$bytes = 0;
|
366 |
-
if (($bytes = @fwrite($fh, $content)) === false) {
|
367 |
-
$errormsg = sprintf('file_put_contents() Failed to write %d bytes to %s',$length,$filename);
|
368 |
-
user_error($errormsg, E_USER_WARNING);
|
369 |
-
return false;
|
370 |
-
}
|
371 |
-
|
372 |
-
// Close the handle
|
373 |
-
@fclose($fh);
|
374 |
|
375 |
-
|
376 |
-
|
377 |
-
$errormsg = sprintf('file_put_contents() Only %d of %d bytes written, possibly out of free disk space.',$bytes,$length);
|
378 |
-
user_error($errormsg, E_USER_WARNING);
|
379 |
-
return false;
|
380 |
}
|
381 |
-
|
382 |
-
// Return length
|
383 |
-
return $bytes;
|
384 |
}
|
385 |
-
|
386 |
-
}
|
387 |
-
#endregion
|
388 |
|
389 |
-
|
390 |
-
* Represents the status (success and failures) of a building process
|
391 |
-
* @author Arne Brachhold
|
392 |
-
* @package sitemap
|
393 |
-
* @since 3.0b5
|
394 |
-
*/
|
395 |
-
class GoogleSitemapGeneratorStatus {
|
396 |
-
|
397 |
-
function GoogleSitemapGeneratorStatus() {
|
398 |
-
$this->_startTime = $this->GetMicrotimeFloat();
|
399 |
-
|
400 |
-
$exists = get_option("sm_status");
|
401 |
-
|
402 |
-
if($exists === false) add_option("sm_status","","Status","no");
|
403 |
|
404 |
-
|
|
|
|
|
405 |
}
|
406 |
|
407 |
-
function
|
408 |
-
|
|
|
|
|
|
|
409 |
}
|
410 |
|
411 |
-
function
|
412 |
-
|
413 |
-
|
414 |
-
|
|
|
415 |
}
|
416 |
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
/**
|
424 |
-
* @var float $_endTime The end time of the building process
|
425 |
-
* @access private
|
426 |
-
*/
|
427 |
-
var $_endTime = 0;
|
428 |
-
|
429 |
-
/**
|
430 |
-
* @var bool $$_hasChanged Indicates if the sitemap content has changed
|
431 |
-
* @access private
|
432 |
-
*/
|
433 |
-
var $_hasChanged = true;
|
434 |
-
|
435 |
-
/**
|
436 |
-
* @var int $_memoryUsage The amount of memory used in bytes
|
437 |
-
* @access private
|
438 |
-
*/
|
439 |
-
var $_memoryUsage = 0;
|
440 |
-
|
441 |
-
/**
|
442 |
-
* @var int $_lastPost The number of posts processed. This value is updated every 50 posts.
|
443 |
-
* @access private
|
444 |
-
*/
|
445 |
-
var $_lastPost = 0;
|
446 |
-
|
447 |
-
/**
|
448 |
-
* @var int $_lastTime The time when the last step-update occured. This value is updated every 50 posts.
|
449 |
-
* @access private
|
450 |
-
*/
|
451 |
-
var $_lastTime = 0;
|
452 |
-
|
453 |
-
function End($hasChanged = true) {
|
454 |
-
$this->_endTime = $this->GetMicrotimeFloat();
|
455 |
-
|
456 |
-
$this->SetMemoryUsage();
|
457 |
-
|
458 |
-
$this->_hasChanged = $hasChanged;
|
459 |
-
|
460 |
-
$this->Save();
|
461 |
}
|
462 |
|
463 |
-
function
|
464 |
-
|
465 |
-
$
|
466 |
-
|
467 |
-
$this->_memoryUsage = memory_get_usage(true);
|
468 |
}
|
469 |
}
|
470 |
|
471 |
-
function
|
472 |
-
return round($this->_memoryUsage / 1024 / 1024,2);
|
473 |
-
}
|
474 |
-
|
475 |
-
function SaveStep($postCount) {
|
476 |
-
$this->SetMemoryUsage();
|
477 |
-
$this->_lastPost = $postCount;
|
478 |
-
$this->_lastTime = $this->GetMicrotimeFloat();
|
479 |
-
|
480 |
-
$this->Save();
|
481 |
-
}
|
482 |
-
|
483 |
-
function GetTime() {
|
484 |
-
return round($this->_endTime - $this->_startTime,2);
|
485 |
-
}
|
486 |
-
|
487 |
-
function GetLastTime() {
|
488 |
-
return round($this->_lastTime - $this->_startTime,2);
|
489 |
-
}
|
490 |
-
|
491 |
-
function GetLastPost() {
|
492 |
-
return $this->_lastPost;
|
493 |
-
}
|
494 |
-
|
495 |
-
var $_usedXml = false;
|
496 |
-
var $_xmlSuccess = false;
|
497 |
-
var $_xmlPath = '';
|
498 |
-
var $_xmlUrl = '';
|
499 |
-
|
500 |
-
function StartXml($path,$url) {
|
501 |
-
$this->_usedXml = true;
|
502 |
-
$this->_xmlPath = $path;
|
503 |
-
$this->_xmlUrl = $url;
|
504 |
-
|
505 |
-
$this->Save();
|
506 |
-
}
|
507 |
-
|
508 |
-
function EndXml($success) {
|
509 |
-
$this->_xmlSuccess = $success;
|
510 |
-
|
511 |
-
$this->Save();
|
512 |
-
}
|
513 |
-
|
514 |
-
|
515 |
-
var $_usedZip = false;
|
516 |
-
var $_zipSuccess = false;
|
517 |
-
var $_zipPath = '';
|
518 |
-
var $_zipUrl = '';
|
519 |
-
|
520 |
-
function StartZip($path,$url) {
|
521 |
-
$this->_usedZip = true;
|
522 |
-
$this->_zipPath = $path;
|
523 |
-
$this->_zipUrl = $url;
|
524 |
-
|
525 |
-
$this->Save();
|
526 |
-
}
|
527 |
-
|
528 |
-
function EndZip($success) {
|
529 |
-
$this->_zipSuccess = $success;
|
530 |
-
|
531 |
-
$this->Save();
|
532 |
-
}
|
533 |
-
|
534 |
-
var $_usedGoogle = false;
|
535 |
-
var $_googleUrl = '';
|
536 |
-
var $_gooogleSuccess = false;
|
537 |
-
var $_googleStartTime = 0;
|
538 |
-
var $_googleEndTime = 0;
|
539 |
-
|
540 |
-
function StartGooglePing($url) {
|
541 |
-
$this->_googleUrl = true;
|
542 |
-
$this->_usedGoogle = true;
|
543 |
-
$this->_googleStartTime = $this->GetMicrotimeFloat();
|
544 |
-
|
545 |
-
$this->Save();
|
546 |
-
}
|
547 |
-
|
548 |
-
function EndGooglePing($success) {
|
549 |
-
$this->_googleEndTime = $this->GetMicrotimeFloat();
|
550 |
-
$this->_gooogleSuccess = $success;
|
551 |
-
|
552 |
-
$this->Save();
|
553 |
-
}
|
554 |
-
|
555 |
-
function GetGoogleTime() {
|
556 |
-
return round($this->_googleEndTime - $this->_googleStartTime,2);
|
557 |
-
}
|
558 |
-
|
559 |
-
var $_usedYahoo = false;
|
560 |
-
var $_yahooUrl = '';
|
561 |
-
var $_yahooSuccess = false;
|
562 |
-
var $_yahooStartTime = 0;
|
563 |
-
var $_yahooEndTime = 0;
|
564 |
-
|
565 |
-
function StartYahooPing($url) {
|
566 |
-
$this->_yahooUrl = $url;
|
567 |
-
$this->_usedYahoo = true;
|
568 |
-
$this->_yahooStartTime = $this->GetMicrotimeFloat();
|
569 |
-
|
570 |
-
$this->Save();
|
571 |
-
}
|
572 |
-
|
573 |
-
function EndYahooPing($success) {
|
574 |
-
$this->_yahooEndTime = $this->GetMicrotimeFloat();
|
575 |
-
$this->_yahooSuccess = $success;
|
576 |
-
|
577 |
-
$this->Save();
|
578 |
-
}
|
579 |
-
|
580 |
-
function GetYahooTime() {
|
581 |
-
return round($this->_yahooEndTime - $this->_yahooStartTime,2);
|
582 |
-
}
|
583 |
-
|
584 |
-
var $_usedAsk = false;
|
585 |
-
var $_askUrl = '';
|
586 |
-
var $_askSuccess = false;
|
587 |
-
var $_askStartTime = 0;
|
588 |
-
var $_askEndTime = 0;
|
589 |
-
|
590 |
-
function StartAskPing($url) {
|
591 |
-
$this->_usedAsk = true;
|
592 |
-
$this->_askUrl = $url;
|
593 |
-
$this->_askStartTime = $this->GetMicrotimeFloat();
|
594 |
-
|
595 |
-
$this->Save();
|
596 |
-
}
|
597 |
-
|
598 |
-
function EndAskPing($success) {
|
599 |
-
$this->_askEndTime = $this->GetMicrotimeFloat();
|
600 |
-
$this->_askSuccess = $success;
|
601 |
-
|
602 |
-
$this->Save();
|
603 |
-
}
|
604 |
-
|
605 |
-
function GetAskTime() {
|
606 |
-
return round($this->_askEndTime - $this->_askStartTime,2);
|
607 |
-
}
|
608 |
-
|
609 |
-
var $_usedMsn = false;
|
610 |
-
var $_msnUrl = '';
|
611 |
-
var $_msnSuccess = false;
|
612 |
-
var $_msnStartTime = 0;
|
613 |
-
var $_msnEndTime = 0;
|
614 |
-
|
615 |
-
function StartMsnPing($url) {
|
616 |
-
$this->_usedMsn = true;
|
617 |
-
$this->_msnUrl = $url;
|
618 |
-
$this->_msnStartTime = $this->GetMicrotimeFloat();
|
619 |
-
|
620 |
-
$this->Save();
|
621 |
-
}
|
622 |
-
|
623 |
-
function EndMsnPing($success) {
|
624 |
-
$this->_msnEndTime = $this->GetMicrotimeFloat();
|
625 |
-
$this->_msnSuccess = $success;
|
626 |
-
|
627 |
-
$this->Save();
|
628 |
-
}
|
629 |
-
|
630 |
-
function GetMsnTime() {
|
631 |
-
return round($this->_msnEndTime - $this->_msnStartTime,2);
|
632 |
-
}
|
633 |
-
|
634 |
-
function GetMicrotimeFloat() {
|
635 |
-
list($usec, $sec) = explode(" ", microtime());
|
636 |
-
return ((float)$usec + (float)$sec);
|
637 |
-
}
|
638 |
-
}
|
639 |
-
|
640 |
-
/**
|
641 |
-
* Represents an item in the page list
|
642 |
-
* @author Arne Brachhold
|
643 |
-
* @package sitemap
|
644 |
-
* @since 3.0
|
645 |
-
*/
|
646 |
-
class GoogleSitemapGeneratorPage {
|
647 |
-
|
648 |
-
/**
|
649 |
-
* @var string $_url Sets the URL or the relative path to the blog dir of the page
|
650 |
-
* @access private
|
651 |
-
*/
|
652 |
-
var $_url;
|
653 |
-
|
654 |
-
/**
|
655 |
-
* @var float $_priority Sets the priority of this page
|
656 |
-
* @access private
|
657 |
-
*/
|
658 |
-
var $_priority;
|
659 |
-
|
660 |
-
/**
|
661 |
-
* @var string $_changeFreq Sets the chanfe frequency of the page. I want Enums!
|
662 |
-
* @access private
|
663 |
-
*/
|
664 |
-
var $_changeFreq;
|
665 |
-
|
666 |
-
/**
|
667 |
-
* @var int $_lastMod Sets the lastMod date as a UNIX timestamp.
|
668 |
-
* @access private
|
669 |
-
*/
|
670 |
-
var $_lastMod;
|
671 |
-
|
672 |
-
/**
|
673 |
-
* Initialize a new page object
|
674 |
-
*
|
675 |
-
* @since 3.0
|
676 |
-
* @access public
|
677 |
-
* @author Arne Brachhold
|
678 |
-
* @param bool $enabled Should this page be included in thesitemap
|
679 |
-
* @param string $url The URL or path of the file
|
680 |
-
* @param float $priority The Priority of the page 0.0 to 1.0
|
681 |
-
* @param string $changeFreq The change frequency like daily, hourly, weekly
|
682 |
-
* @param int $lastMod The last mod date as a unix timestamp
|
683 |
-
*/
|
684 |
-
function GoogleSitemapGeneratorPage($url="",$priority=0.0,$changeFreq="never",$lastMod=0) {
|
685 |
-
$this->SetUrl($url);
|
686 |
-
$this->SetProprity($priority);
|
687 |
-
$this->SetChangeFreq($changeFreq);
|
688 |
-
$this->SetLastMod($lastMod);
|
689 |
-
}
|
690 |
-
|
691 |
-
/**
|
692 |
-
* Returns the URL of the page
|
693 |
-
*
|
694 |
-
* @return string The URL
|
695 |
-
*/
|
696 |
-
function GetUrl() {
|
697 |
-
return $this->_url;
|
698 |
-
}
|
699 |
-
|
700 |
-
/**
|
701 |
-
* Sets the URL of the page
|
702 |
-
*
|
703 |
-
* @param string $url The new URL
|
704 |
-
*/
|
705 |
-
function SetUrl($url) {
|
706 |
-
$this->_url=(string) $url;
|
707 |
-
}
|
708 |
-
|
709 |
-
/**
|
710 |
-
* Returns the priority of this page
|
711 |
-
*
|
712 |
-
* @return float the priority, from 0.0 to 1.0
|
713 |
-
*/
|
714 |
-
function GetPriority() {
|
715 |
-
return $this->_priority;
|
716 |
-
}
|
717 |
-
|
718 |
-
/**
|
719 |
-
* Sets the priority of the page
|
720 |
-
*
|
721 |
-
* @param float $priority The new priority from 0.1 to 1.0
|
722 |
-
*/
|
723 |
-
function SetProprity($priority) {
|
724 |
-
$this->_priority=floatval($priority);
|
725 |
-
}
|
726 |
-
|
727 |
-
/**
|
728 |
-
* Returns the change frequency of the page
|
729 |
-
*
|
730 |
-
* @return string The change frequncy like hourly, weekly, monthly etc.
|
731 |
-
*/
|
732 |
-
function GetChangeFreq() {
|
733 |
-
return $this->_changeFreq;
|
734 |
-
}
|
735 |
-
|
736 |
-
/**
|
737 |
-
* Sets the change frequency of the page
|
738 |
-
*
|
739 |
-
* @param string $changeFreq The new change frequency
|
740 |
-
*/
|
741 |
-
function SetChangeFreq($changeFreq) {
|
742 |
-
$this->_changeFreq=(string) $changeFreq;
|
743 |
-
}
|
744 |
-
|
745 |
-
/**
|
746 |
-
* Returns the last mod of the page
|
747 |
-
*
|
748 |
-
* @return int The lastmod value in seconds
|
749 |
-
*/
|
750 |
-
function GetLastMod() {
|
751 |
-
return $this->_lastMod;
|
752 |
-
}
|
753 |
-
|
754 |
-
/**
|
755 |
-
* Sets the last mod of the page
|
756 |
-
*
|
757 |
-
* @param int $lastMod The lastmod of the page
|
758 |
-
*/
|
759 |
-
function SetLastMod($lastMod) {
|
760 |
-
$this->_lastMod=intval($lastMod);
|
761 |
-
}
|
762 |
-
|
763 |
-
function Render() {
|
764 |
-
|
765 |
-
if($this->_url == "/" || empty($this->_url)) return '';
|
766 |
-
|
767 |
-
$r="";
|
768 |
-
$r.= "\t<url>\n";
|
769 |
-
$r.= "\t\t<loc>" . $this->EscapeXML($this->_url) . "</loc>\n";
|
770 |
-
if($this->_lastMod>0) $r.= "\t\t<lastmod>" . date('Y-m-d\TH:i:s+00:00',$this->_lastMod) . "</lastmod>\n";
|
771 |
-
if(!empty($this->_changeFreq)) $r.= "\t\t<changefreq>" . $this->_changeFreq . "</changefreq>\n";
|
772 |
-
if($this->_priority!==false && $this->_priority!=="") $r.= "\t\t<priority>" . number_format($this->_priority,1) . "</priority>\n";
|
773 |
-
$r.= "\t</url>\n";
|
774 |
-
return $r;
|
775 |
-
}
|
776 |
-
|
777 |
-
function EscapeXML($string) {
|
778 |
-
return str_replace ( array ( '&', '"', "'", '<', '>'), array ( '&' , '"', ''' , '<' , '>'), $string);
|
779 |
-
}
|
780 |
-
}
|
781 |
-
|
782 |
-
class GoogleSitemapGeneratorXmlEntry {
|
783 |
-
|
784 |
-
var $_xml;
|
785 |
-
|
786 |
-
function GoogleSitemapGeneratorXmlEntry($xml) {
|
787 |
-
$this->_xml = $xml;
|
788 |
-
}
|
789 |
-
|
790 |
-
function Render() {
|
791 |
-
return $this->_xml;
|
792 |
-
}
|
793 |
-
}
|
794 |
-
|
795 |
-
class GoogleSitemapGeneratorDebugEntry extends GoogleSitemapGeneratorXmlEntry {
|
796 |
-
|
797 |
-
function Render() {
|
798 |
-
return "<!-- " . $this->_xml . " -->";
|
799 |
-
}
|
800 |
-
}
|
801 |
-
|
802 |
-
/**
|
803 |
-
* Base class for all priority providers
|
804 |
-
* @author Arne Brachhold
|
805 |
-
* @package sitemap
|
806 |
-
* @since 3.0
|
807 |
-
*/
|
808 |
-
class GoogleSitemapGeneratorPrioProviderBase {
|
809 |
-
|
810 |
-
/**
|
811 |
-
* @var int $_totalComments The total number of comments of all posts
|
812 |
-
* @access protected
|
813 |
-
*/
|
814 |
-
var $_totalComments=0;
|
815 |
-
|
816 |
-
/**
|
817 |
-
* @var int $_totalComments The total number of posts
|
818 |
-
* @access protected
|
819 |
-
*/
|
820 |
-
var $_totalPosts=0;
|
821 |
-
|
822 |
-
/**
|
823 |
-
* Returns the (translated) name of this priority provider
|
824 |
-
*
|
825 |
-
* @since 3.0
|
826 |
-
* @access public
|
827 |
-
* @author Arne Brachhold
|
828 |
-
* @return string The translated name
|
829 |
-
*/
|
830 |
-
function GetName() {
|
831 |
-
return "";
|
832 |
-
}
|
833 |
-
|
834 |
-
/**
|
835 |
-
* Returns the (translated) description of this priority provider
|
836 |
-
*
|
837 |
-
* @since 3.0
|
838 |
-
* @access public
|
839 |
-
* @author Arne Brachhold
|
840 |
-
* @return string The translated description
|
841 |
-
*/
|
842 |
-
function GetDescription() {
|
843 |
-
return "";
|
844 |
-
}
|
845 |
-
|
846 |
-
/**
|
847 |
-
* Initializes a new priority provider
|
848 |
-
*
|
849 |
-
* @param $totalComments int The total number of comments of all posts
|
850 |
-
* @param $totalPosts int The total number of posts
|
851 |
-
* @since 3.0
|
852 |
-
* @access public
|
853 |
-
* @author Arne Brachhold
|
854 |
-
*/
|
855 |
-
function GoogleSitemapGeneratorPrioProviderBase($totalComments,$totalPosts) {
|
856 |
-
$this->_totalComments=$totalComments;
|
857 |
-
$this->_totalPosts=$totalPosts;
|
858 |
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
* @since 3.0
|
867 |
-
* @access public
|
868 |
-
* @author Arne Brachhold
|
869 |
-
* @return int The calculated priority
|
870 |
-
*/
|
871 |
-
function GetPostPriority($postID,$commentCount) {
|
872 |
-
return 0;
|
873 |
-
}
|
874 |
-
}
|
875 |
-
|
876 |
-
/**
|
877 |
-
* Priority Provider which calculates the priority based on the number of comments
|
878 |
-
* @author Arne Brachhold
|
879 |
-
* @package sitemap
|
880 |
-
* @since 3.0
|
881 |
-
*/
|
882 |
-
class GoogleSitemapGeneratorPrioByCountProvider extends GoogleSitemapGeneratorPrioProviderBase {
|
883 |
-
|
884 |
-
/**
|
885 |
-
* Returns the (translated) name of this priority provider
|
886 |
-
*
|
887 |
-
* @since 3.0
|
888 |
-
* @access public
|
889 |
-
* @author Arne Brachhold
|
890 |
-
* @return string The translated name
|
891 |
-
*/
|
892 |
-
function GetName() {
|
893 |
-
return __("Comment Count",'sitemap');
|
894 |
-
}
|
895 |
-
|
896 |
-
/**
|
897 |
-
* Returns the (translated) description of this priority provider
|
898 |
-
*
|
899 |
-
* @since 3.0
|
900 |
-
* @access public
|
901 |
-
* @author Arne Brachhold
|
902 |
-
* @return string The translated description
|
903 |
-
*/
|
904 |
-
function GetDescription() {
|
905 |
-
return __("Uses the number of comments of the post to calculate the priority",'sitemap');
|
906 |
-
}
|
907 |
-
|
908 |
-
/**
|
909 |
-
* Initializes a new priority provider which calculates the post priority based on the number of comments
|
910 |
-
*
|
911 |
-
* @param $totalComments int The total number of comments of all posts
|
912 |
-
* @param $totalPosts int The total number of posts
|
913 |
-
* @since 3.0
|
914 |
-
* @access public
|
915 |
-
* @author Arne Brachhold
|
916 |
-
*/
|
917 |
-
function GoogleSitemapGeneratorPrioByCountProvider($totalComments,$totalPosts) {
|
918 |
-
parent::GoogleSitemapGeneratorPrioProviderBase($totalComments,$totalPosts);
|
919 |
-
}
|
920 |
-
|
921 |
-
/**
|
922 |
-
* Returns the priority for a specified post
|
923 |
-
*
|
924 |
-
* @param $postID int The ID of the post
|
925 |
-
* @param $commentCount int The number of comments for this post
|
926 |
-
* @since 3.0
|
927 |
-
* @access public
|
928 |
-
* @author Arne Brachhold
|
929 |
-
* @return int The calculated priority
|
930 |
-
*/
|
931 |
-
function GetPostPriority($postID,$commentCount) {
|
932 |
-
$prio=0;
|
933 |
-
if($this->_totalComments>0 && $commentCount>0) {
|
934 |
-
$prio = round(($commentCount*100/$this->_totalComments)/100,1);
|
935 |
-
} else {
|
936 |
-
$prio = 0;
|
937 |
-
}
|
938 |
-
return $prio;
|
939 |
-
}
|
940 |
-
}
|
941 |
|
942 |
-
|
943 |
-
|
944 |
-
* @author Arne Brachhold
|
945 |
-
* @package sitemap
|
946 |
-
* @since 3.0
|
947 |
-
*/
|
948 |
-
class GoogleSitemapGeneratorPrioByAverageProvider extends GoogleSitemapGeneratorPrioProviderBase {
|
949 |
-
|
950 |
-
/**
|
951 |
-
* @var int $_average The average number of comments per post
|
952 |
-
* @access protected
|
953 |
-
*/
|
954 |
-
var $_average=0.0;
|
955 |
-
|
956 |
-
/**
|
957 |
-
* Returns the (translated) name of this priority provider
|
958 |
-
*
|
959 |
-
* @since 3.0
|
960 |
-
* @access public
|
961 |
-
* @author Arne Brachhold
|
962 |
-
* @return string The translated name
|
963 |
-
*/
|
964 |
-
function GetName() {
|
965 |
-
return __("Comment Average",'sitemap');
|
966 |
}
|
967 |
|
968 |
-
|
969 |
-
|
970 |
-
*
|
971 |
-
* @since 3.0
|
972 |
-
* @access public
|
973 |
-
* @author Arne Brachhold
|
974 |
-
* @return string The translated description
|
975 |
-
*/
|
976 |
-
function GetDescription() {
|
977 |
-
return __("Uses the average comment count to calculate the priority",'sitemap');
|
978 |
}
|
979 |
|
980 |
-
|
981 |
-
|
982 |
-
*
|
983 |
-
* @param $totalComments int The total number of comments of all posts
|
984 |
-
* @param $totalPosts int The total number of posts
|
985 |
-
* @since 3.0
|
986 |
-
* @access public
|
987 |
-
* @author Arne Brachhold
|
988 |
-
*/
|
989 |
-
function GoogleSitemapGeneratorPrioByAverageProvider($totalComments,$totalPosts) {
|
990 |
-
parent::GoogleSitemapGeneratorPrioProviderBase($totalComments,$totalPosts);
|
991 |
-
|
992 |
-
if($this->_totalComments>0 && $this->_totalPosts>0) {
|
993 |
-
$this->_average= (double) $this->_totalComments / $this->_totalPosts;
|
994 |
-
}
|
995 |
}
|
996 |
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
|
1002 |
-
* @since 3.0
|
1003 |
-
* @access public
|
1004 |
-
* @author Arne Brachhold
|
1005 |
-
* @return int The calculated priority
|
1006 |
-
*/
|
1007 |
-
function GetPostPriority($postID,$commentCount) {
|
1008 |
-
$prio = 0;
|
1009 |
-
//Do not divide by zero!
|
1010 |
-
if($this->_average==0) {
|
1011 |
-
if($commentCount>0) $prio = 1;
|
1012 |
-
else $prio = 0;
|
1013 |
-
} else {
|
1014 |
-
$prio = $commentCount/$this->_average;
|
1015 |
-
if($prio>1) $prio = 1;
|
1016 |
-
else if($prio<0) $prio = 0;
|
1017 |
}
|
1018 |
-
|
1019 |
-
return
|
1020 |
-
}
|
1021 |
-
}
|
1022 |
-
|
1023 |
-
/**
|
1024 |
-
* Priority Provider which calculates the priority based on the popularity by the PopularityContest Plugin
|
1025 |
-
* @author Arne Brachhold
|
1026 |
-
* @package sitemap
|
1027 |
-
* @since 3.0
|
1028 |
-
*/
|
1029 |
-
class GoogleSitemapGeneratorPrioByPopularityContestProvider extends GoogleSitemapGeneratorPrioProviderBase {
|
1030 |
-
|
1031 |
-
/**
|
1032 |
-
* Returns the (translated) name of this priority provider
|
1033 |
-
*
|
1034 |
-
* @since 3.0
|
1035 |
-
* @access public
|
1036 |
-
* @author Arne Brachhold
|
1037 |
-
* @return string The translated name
|
1038 |
-
*/
|
1039 |
-
function GetName() {
|
1040 |
-
return __("Popularity Contest",'sitemap');
|
1041 |
-
}
|
1042 |
-
|
1043 |
-
/**
|
1044 |
-
* Returns the (translated) description of this priority provider
|
1045 |
-
*
|
1046 |
-
* @since 3.0
|
1047 |
-
* @access public
|
1048 |
-
* @author Arne Brachhold
|
1049 |
-
* @return string The translated description
|
1050 |
-
*/
|
1051 |
-
function GetDescription() {
|
1052 |
-
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')))));
|
1053 |
}
|
1054 |
-
|
1055 |
-
/**
|
1056 |
-
* Initializes a new priority provider which calculates the post priority based on the popularity by the PopularityContest Plugin
|
1057 |
-
*
|
1058 |
-
* @param $totalComments int The total number of comments of all posts
|
1059 |
-
* @param $totalPosts int The total number of posts
|
1060 |
-
* @since 3.0
|
1061 |
-
* @access public
|
1062 |
-
* @author Arne Brachhold
|
1063 |
-
*/
|
1064 |
-
function GoogleSitemapGeneratorPrioByPopularityContestProvider($totalComments,$totalPosts) {
|
1065 |
-
parent::GoogleSitemapGeneratorPrioProviderBase($totalComments,$totalPosts);
|
1066 |
-
}
|
1067 |
-
|
1068 |
-
/**
|
1069 |
-
* Returns the priority for a specified post
|
1070 |
-
*
|
1071 |
-
* @param $postID int The ID of the post
|
1072 |
-
* @param $commentCount int The number of comments for this post
|
1073 |
-
* @since 3.0
|
1074 |
-
* @access public
|
1075 |
-
* @author Arne Brachhold
|
1076 |
-
* @return int The calculated priority
|
1077 |
-
*/
|
1078 |
-
function GetPostPriority($postID,$commentCount) {
|
1079 |
-
//$akpc is the global instance of the Popularity Contest Plugin
|
1080 |
-
global $akpc,$posts;
|
1081 |
-
|
1082 |
-
$res=0;
|
1083 |
-
//Better check if its there
|
1084 |
-
if(!empty($akpc) && is_object($akpc)) {
|
1085 |
-
//Is the method we rely on available?
|
1086 |
-
if(method_exists($akpc,"get_post_rank")) {
|
1087 |
-
if(!is_array($posts) || !$posts) $posts = array();
|
1088 |
-
if(!isset($posts[$postID])) $posts[$postID] = get_post($postID);
|
1089 |
-
//popresult comes as a percent value
|
1090 |
-
$popresult=$akpc->get_post_rank($postID);
|
1091 |
-
if(!empty($popresult) && strpos($popresult,"%")!==false) {
|
1092 |
-
//We need to parse it to get the priority as an int (percent)
|
1093 |
-
$matches=null;
|
1094 |
-
preg_match("/([0-9]{1,3})\%/si",$popresult,$matches);
|
1095 |
-
if(!empty($matches) && is_array($matches) && count($matches)==2) {
|
1096 |
-
//Divide it so 100% = 1, 10% = 0.1
|
1097 |
-
$res=round(intval($matches[1])/100,1);
|
1098 |
-
}
|
1099 |
-
}
|
1100 |
-
}
|
1101 |
-
}
|
1102 |
-
return $res;
|
1103 |
-
}
|
1104 |
}
|
1105 |
|
1106 |
-
/**
|
1107 |
-
* Class to generate a sitemaps.org Sitemaps compliant sitemap of a WordPress blog.
|
1108 |
-
*
|
1109 |
-
* @package sitemap
|
1110 |
-
* @author Arne Brachhold
|
1111 |
-
* @since 3.0
|
1112 |
-
*/
|
1113 |
-
class GoogleSitemapGenerator {
|
1114 |
-
/**
|
1115 |
-
* @var Version of the generator
|
1116 |
-
*/
|
1117 |
-
var $_version = "3.0.3.3";
|
1118 |
-
|
1119 |
-
/**
|
1120 |
-
* @var Version of the generator in SVN
|
1121 |
-
*/
|
1122 |
-
var $_svnVersion = '$Id: sitemap.php 43482 2008-04-29 21:35:04Z arnee $';
|
1123 |
-
|
1124 |
-
/**
|
1125 |
-
* @var string The full path to the blog directory
|
1126 |
-
*/
|
1127 |
-
var $_homePath = "";
|
1128 |
-
|
1129 |
-
/**
|
1130 |
-
* @var array The unserialized array with the stored options
|
1131 |
-
*/
|
1132 |
-
var $_options = array();
|
1133 |
-
|
1134 |
-
/**
|
1135 |
-
* @var array The saved additional pages
|
1136 |
-
*/
|
1137 |
-
var $_pages = array();
|
1138 |
-
|
1139 |
-
/**
|
1140 |
-
* @var array A list of available freuency names
|
1141 |
-
*/
|
1142 |
-
var $_freqNames = array();
|
1143 |
-
|
1144 |
-
/**
|
1145 |
-
* @var array A list of class names which my be called for priority calculation
|
1146 |
-
*/
|
1147 |
-
var $_prioProviders = array();
|
1148 |
-
|
1149 |
-
/**
|
1150 |
-
* @var bool True if init complete (options loaded etc)
|
1151 |
-
*/
|
1152 |
-
var $_initiated = false;
|
1153 |
-
|
1154 |
-
/**
|
1155 |
-
* @var string Holds the last error if one occurs when writing the files
|
1156 |
-
*/
|
1157 |
-
var $_lastError=null;
|
1158 |
-
|
1159 |
-
/**
|
1160 |
-
* @var array Contains the elements of the sitemap
|
1161 |
-
*/
|
1162 |
-
var $_content = array();
|
1163 |
-
|
1164 |
-
/**
|
1165 |
-
* @var int The last handled post ID
|
1166 |
-
*/
|
1167 |
-
var $_lastPostID = 0;
|
1168 |
-
|
1169 |
-
/**
|
1170 |
-
* @var bool Defines if the sitemap building process is active at the moment
|
1171 |
-
*/
|
1172 |
-
var $_isActive = false;
|
1173 |
-
|
1174 |
-
/**
|
1175 |
-
* @var bool Defines if the sitemap building process has been scheduled via Wp cron
|
1176 |
-
*/
|
1177 |
-
var $_isScheduled = false;
|
1178 |
-
|
1179 |
-
/**
|
1180 |
-
* @var object The file handle which is used to write the sitemap file
|
1181 |
-
*/
|
1182 |
-
var $_fileHandle = null;
|
1183 |
-
|
1184 |
-
/**
|
1185 |
-
* @var object The file handle which is used to write the zipped sitemap file
|
1186 |
-
*/
|
1187 |
-
var $_fileZipHandle = null;
|
1188 |
-
|
1189 |
-
/**
|
1190 |
-
* Returns the path to the blog directory
|
1191 |
-
*
|
1192 |
-
* @since 3.0
|
1193 |
-
* @access private
|
1194 |
-
* @author Arne Brachhold
|
1195 |
-
* @return string The full path to the blog directory
|
1196 |
-
*/
|
1197 |
-
function GetHomePath() {
|
1198 |
-
|
1199 |
-
$res="";
|
1200 |
-
//Check if we are in the admin area -> get_home_path() is avaiable
|
1201 |
-
if(function_exists("get_home_path")) {
|
1202 |
-
$res = get_home_path();
|
1203 |
-
} else {
|
1204 |
-
//get_home_path() is not available, but we can't include the admin
|
1205 |
-
//libraries because many plugins check for the "check_admin_referer"
|
1206 |
-
//function to detect if you are on an admin page. So we have to copy
|
1207 |
-
//the get_home_path function in our own...
|
1208 |
-
$home = get_option( 'home' );
|
1209 |
-
if ( $home != '' && $home != get_option( 'siteurl' ) ) {
|
1210 |
-
$home_path = parse_url( $home );
|
1211 |
-
$home_path = $home_path['path'];
|
1212 |
-
$root = str_replace( $_SERVER["PHP_SELF"], '', $_SERVER["SCRIPT_FILENAME"] );
|
1213 |
-
$home_path = trailingslashit( $root.$home_path );
|
1214 |
-
} else {
|
1215 |
-
$home_path = ABSPATH;
|
1216 |
-
}
|
1217 |
-
|
1218 |
-
$res = $home_path;
|
1219 |
-
}
|
1220 |
-
return $res;
|
1221 |
-
}
|
1222 |
-
|
1223 |
-
/**
|
1224 |
-
* Returns the path to the directory where the plugin file is located
|
1225 |
-
* @since 3.0b5
|
1226 |
-
* @access private
|
1227 |
-
* @author Arne Brachhold
|
1228 |
-
* @return string The path to the plugin directory
|
1229 |
-
*/
|
1230 |
-
function GetPluginPath() {
|
1231 |
-
$path = dirname(__FILE__);
|
1232 |
-
return trailingslashit(str_replace("\\","/",$path));
|
1233 |
-
}
|
1234 |
-
|
1235 |
-
/**
|
1236 |
-
* Returns the URL to the directory where the plugin file is located
|
1237 |
-
* @since 3.0b5
|
1238 |
-
* @access private
|
1239 |
-
* @author Arne Brachhold
|
1240 |
-
* @return string The URL to the plugin directory
|
1241 |
-
*/
|
1242 |
-
function GetPluginUrl() {
|
1243 |
-
$path = dirname(__FILE__);
|
1244 |
-
$path = str_replace("\\","/",$path);
|
1245 |
-
$path = trailingslashit(get_bloginfo('wpurl')) . trailingslashit(substr($path,strpos($path,"wp-content/")));
|
1246 |
-
return $path;
|
1247 |
-
}
|
1248 |
-
|
1249 |
-
/**
|
1250 |
-
* Returns the URL to default XSLT style if it exists
|
1251 |
-
* @since 3.0b5
|
1252 |
-
* @access private
|
1253 |
-
* @author Arne Brachhold
|
1254 |
-
* @return string The URL to the default stylesheet, empry string if not available.
|
1255 |
-
*/
|
1256 |
-
function GetDefaultStyle() {
|
1257 |
-
$p = $this->GetPluginPath();
|
1258 |
-
if(file_exists($p . "sitemap.xsl")) {
|
1259 |
-
return $this->GetPluginUrl() . 'sitemap.xsl';
|
1260 |
-
}
|
1261 |
-
return '';
|
1262 |
-
}
|
1263 |
-
|
1264 |
-
/**
|
1265 |
-
* Returns the path to the robots.txt file in the blog root
|
1266 |
-
*
|
1267 |
-
* @since 3.0b8
|
1268 |
-
* @access private
|
1269 |
-
* @author Arne Brachhold
|
1270 |
-
* @return The full path to the robots.txt file
|
1271 |
-
*/
|
1272 |
-
function GetRobotsFilePath() {
|
1273 |
-
return trailingslashit($this->GetHomePath()) . 'robots.txt';
|
1274 |
-
}
|
1275 |
-
|
1276 |
-
/**
|
1277 |
-
* Returns the URL to the robots.txt file in the blog root
|
1278 |
-
*
|
1279 |
-
* @since 3.0b8
|
1280 |
-
* @access private
|
1281 |
-
* @author Arne Brachhold
|
1282 |
-
* @return The full URL to the robots.txt file
|
1283 |
-
*/
|
1284 |
-
function GetRobotsFileUrl() {
|
1285 |
-
return trailingslashit(get_bloginfo('siteurl')) . 'robots.txt';
|
1286 |
-
}
|
1287 |
-
|
1288 |
-
/**
|
1289 |
-
* Sets up the default configuration
|
1290 |
-
*
|
1291 |
-
* @since 3.0
|
1292 |
-
* @access private
|
1293 |
-
* @author Arne Brachhold
|
1294 |
-
*/
|
1295 |
-
function InitOptions() {
|
1296 |
-
|
1297 |
-
$this->_options=array();
|
1298 |
-
$this->_options["sm_b_prio_provider"]="GoogleSitemapGeneratorPrioByCountProvider"; //Provider for automatic priority calculation
|
1299 |
-
$this->_options["sm_b_filename"]="sitemap.xml"; //Name of the Sitemap file
|
1300 |
-
$this->_options["sm_b_debug"]=true; //Write debug messages in the xml file
|
1301 |
-
$this->_options["sm_b_xml"]=true; //Create a .xml file
|
1302 |
-
$this->_options["sm_b_gzip"]=true; //Create a gzipped .xml file(.gz) file
|
1303 |
-
$this->_options["sm_b_ping"]=true; //Auto ping Google
|
1304 |
-
$this->_options["sm_b_pingyahoo"]=false; //Auto ping YAHOO
|
1305 |
-
$this->_options["sm_b_yahookey"]=''; //YAHOO Application Key
|
1306 |
-
$this->_options["sm_b_pingask"]=true; //Auto ping Ask.com
|
1307 |
-
$this->_options["sm_b_pingmsn"]=true; //Auto ping MSN
|
1308 |
-
$this->_options["sm_b_manual_enabled"]=false; //Allow manual creation of the sitemap via GET request
|
1309 |
-
$this->_options["sm_b_auto_enabled"]=true; //Rebuild sitemap when content is changed
|
1310 |
-
$this->_options["sm_b_auto_delay"]=true; //Use WP Cron to execute the building process in the background
|
1311 |
-
$this->_options["sm_b_manual_key"]=md5(microtime());//The secret key to build the sitemap via GET request
|
1312 |
-
$this->_options["sm_b_memory"] = ''; //Set Memory Limit (e.g. 16M)
|
1313 |
-
$this->_options["sm_b_time"] = -1; //Set time limit in seconds, 0 for unlimited, -1 for disabled
|
1314 |
-
$this->_options["sm_b_max_posts"] = -1; //Maximum number of posts, <= 0 for all
|
1315 |
-
$this->_options["sm_b_safemode"] = false; //Enable MySQL Safe Mode (doesn't use unbuffered results)
|
1316 |
-
$this->_options["sm_b_style"] = $this->GetDefaultStyle(); //Include a stylesheet in the XML
|
1317 |
-
$this->_options["sm_b_robots"] = false; //Modify or create robots.txt file in blog root which contains the sitemap location
|
1318 |
-
$this->_options["sm_b_exclude"] = array(); //List of post / page IDs to exclude
|
1319 |
-
$this->_options["sm_b_location_mode"]="auto"; //Mode of location, auto or manual
|
1320 |
-
$this->_options["sm_b_filename_manual"]=""; //Manuel filename
|
1321 |
-
$this->_options["sm_b_fileurl_manual"]=""; //Manuel fileurl
|
1322 |
-
|
1323 |
-
$this->_options["sm_in_home"]=true; //Include homepage
|
1324 |
-
$this->_options["sm_in_posts"]=true; //Include posts
|
1325 |
-
$this->_options["sm_in_pages"]=true; //Include static pages
|
1326 |
-
$this->_options["sm_in_cats"]=false; //Include categories
|
1327 |
-
$this->_options["sm_in_arch"]=false; //Include archives
|
1328 |
-
$this->_options["sm_in_auth"]=false; //Include author pages
|
1329 |
-
$this->_options["sm_in_tags"]=false; //Include tag pages
|
1330 |
-
|
1331 |
-
$this->_options["sm_cf_home"]="daily"; //Change frequency of the homepage
|
1332 |
-
$this->_options["sm_cf_posts"]="monthly"; //Change frequency of posts
|
1333 |
-
$this->_options["sm_cf_pages"]="weekly"; //Change frequency of static pages
|
1334 |
-
$this->_options["sm_cf_cats"]="weekly"; //Change frequency of categories
|
1335 |
-
$this->_options["sm_cf_auth"]="weekly"; //Change frequency of author pages
|
1336 |
-
$this->_options["sm_cf_arch_curr"]="daily"; //Change frequency of the current archive (this month)
|
1337 |
-
$this->_options["sm_cf_arch_old"]="yearly"; //Change frequency of older archives
|
1338 |
-
$this->_options["sm_cf_tags"]="weekly"; //Change frequency of tags
|
1339 |
-
|
1340 |
-
$this->_options["sm_pr_home"]=1.0; //Priority of the homepage
|
1341 |
-
$this->_options["sm_pr_posts"]=0.6; //Priority of posts (if auto prio is disabled)
|
1342 |
-
$this->_options["sm_pr_posts_min"]=0.2; //Minimum Priority of posts, even if autocalc is enabled
|
1343 |
-
$this->_options["sm_pr_pages"]=0.6; //Priority of static pages
|
1344 |
-
$this->_options["sm_pr_cats"]=0.3; //Priority of categories
|
1345 |
-
$this->_options["sm_pr_arch"]=0.3; //Priority of archives
|
1346 |
-
$this->_options["sm_pr_auth"]=0.3; //Priority of author pages
|
1347 |
-
$this->_options["sm_pr_tags"]=0.3; //Priority of tags
|
1348 |
-
|
1349 |
-
$this->_options["sm_i_donated"]=false; //Did you donate? Thank you! :)
|
1350 |
-
$this->_options["sm_i_hide_donated"]=false; //And hide the thank you..
|
1351 |
-
$this->_options["sm_i_install_date"]=time(); //The installation date
|
1352 |
-
$this->_options["sm_i_hide_note"]=false; //Hide the note which appears after 30 days
|
1353 |
-
$this->_options["sm_i_hide_donors"]=false; //Hide the list of donations
|
1354 |
-
}
|
1355 |
-
|
1356 |
-
/**
|
1357 |
-
* Loads the configuration from the database
|
1358 |
-
*
|
1359 |
-
* @since 3.0
|
1360 |
-
* @access private
|
1361 |
-
* @author Arne Brachhold
|
1362 |
-
*/
|
1363 |
-
function LoadOptions() {
|
1364 |
-
|
1365 |
-
$this->InitOptions();
|
1366 |
-
|
1367 |
-
//First init default values, then overwrite it with stored values so we can add default
|
1368 |
-
//values with an update which get stored by the next edit.
|
1369 |
-
$storedoptions=get_option("sm_options");
|
1370 |
-
if($storedoptions && is_array($storedoptions)) {
|
1371 |
-
foreach($storedoptions AS $k=>$v) {
|
1372 |
-
$this->_options[$k]=$v;
|
1373 |
-
}
|
1374 |
-
} else update_option("sm_options",$this->_options); //First time use, store default values
|
1375 |
-
}
|
1376 |
-
|
1377 |
-
/**
|
1378 |
-
* Initializes a new Google Sitemap Generator
|
1379 |
-
*
|
1380 |
-
* @since 3.0
|
1381 |
-
* @access private
|
1382 |
-
* @author Arne Brachhold
|
1383 |
-
*/
|
1384 |
-
function GoogleSitemapGenerator() {
|
1385 |
-
$this->_freqNames = array("always", "hourly", "daily", "weekly", "monthly", "yearly","never");
|
1386 |
-
$this->_prioProviders = array();
|
1387 |
-
$this->_homePath = $this->GetHomePath();
|
1388 |
-
}
|
1389 |
-
|
1390 |
-
/**
|
1391 |
-
* Returns the version of the generator
|
1392 |
-
*
|
1393 |
-
* @since 3.0
|
1394 |
-
* @access public
|
1395 |
-
* @author Arne Brachhold
|
1396 |
-
* @return int The version
|
1397 |
-
*/
|
1398 |
-
function GetVersion() {
|
1399 |
-
return $this->_version;
|
1400 |
-
}
|
1401 |
-
|
1402 |
-
/**
|
1403 |
-
* Returns all parent classes of a class
|
1404 |
-
*
|
1405 |
-
* @param $className string The name of the class
|
1406 |
-
*
|
1407 |
-
* @since 3.0
|
1408 |
-
* @access private
|
1409 |
-
* @author Arne Brachhold
|
1410 |
-
* @return array An array which contains the names of the parent classes
|
1411 |
-
*/
|
1412 |
-
function GetParentClasses($classname) {
|
1413 |
-
$parent = get_parent_class($classname);
|
1414 |
-
$parents = array();
|
1415 |
-
if (!empty($parent)) {
|
1416 |
-
$parents = $this->GetParentClasses($parent);
|
1417 |
-
$parents[] = strtolower($parent);
|
1418 |
-
}
|
1419 |
-
return $parents;
|
1420 |
-
}
|
1421 |
-
|
1422 |
-
/**
|
1423 |
-
* Returns if a class is a subclass of another class
|
1424 |
-
*
|
1425 |
-
* @param $className string The name of the class
|
1426 |
-
* @param $$parentName string The name of the parent class
|
1427 |
-
*
|
1428 |
-
* @since 3.0
|
1429 |
-
* @access private
|
1430 |
-
* @author Arne Brachhold
|
1431 |
-
* @return bool true if the given class is a subclass of the other one
|
1432 |
-
*/
|
1433 |
-
function IsSubclassOf($className, $parentName) {
|
1434 |
-
|
1435 |
-
$className = strtolower($className);
|
1436 |
-
$parentName = strtolower($parentName);
|
1437 |
-
|
1438 |
-
if(empty($className) || empty($parentName) || !class_exists($className) || !class_exists($parentName)) return false;
|
1439 |
-
|
1440 |
-
$parents=$this->GetParentClasses($className);
|
1441 |
-
|
1442 |
-
return in_array($parentName,$parents);
|
1443 |
-
}
|
1444 |
-
|
1445 |
-
/**
|
1446 |
-
* Loads up the configuration and validates the prioity providers
|
1447 |
-
*
|
1448 |
-
* This method is only called if the sitemaps needs to be build or the admin page is displayed.
|
1449 |
-
*
|
1450 |
-
* @since 3.0
|
1451 |
-
* @access private
|
1452 |
-
* @author Arne Brachhold
|
1453 |
-
*/
|
1454 |
-
function Initate() {
|
1455 |
-
if(!$this->_initiated) {
|
1456 |
-
|
1457 |
-
//Loading language file...
|
1458 |
-
//load_plugin_textdomain('sitemap');
|
1459 |
-
//Hmm, doesn't work if the plugin file has its own directory.
|
1460 |
-
//Let's make it our way... load_plugin_textdomain() searches only in the wp-content/plugins dir.
|
1461 |
-
$currentLocale = get_locale();
|
1462 |
-
if(!empty($currentLocale)) {
|
1463 |
-
$moFile = dirname(__FILE__) . "/sitemap-" . $currentLocale . ".mo";
|
1464 |
-
if(@file_exists($moFile) && is_readable($moFile)) load_textdomain('sitemap', $moFile);
|
1465 |
-
}
|
1466 |
-
|
1467 |
-
$this->LoadOptions();
|
1468 |
-
$this->LoadPages();
|
1469 |
-
|
1470 |
-
add_filter("sm_add_prio_provider",array(&$this, 'AddDefaultPrioProviders'));
|
1471 |
-
|
1472 |
-
$r = apply_filters("sm_add_prio_provider",$this->_prioProviders);
|
1473 |
-
|
1474 |
-
if($r != null) $this->_prioProviders = $r;
|
1475 |
-
|
1476 |
-
$this->ValidatePrioProviders();
|
1477 |
-
|
1478 |
-
$this->_initiated = true;
|
1479 |
-
}
|
1480 |
-
}
|
1481 |
-
|
1482 |
-
/**
|
1483 |
-
* Returns the instance of the Sitemap Generator
|
1484 |
-
*
|
1485 |
-
* @since 3.0
|
1486 |
-
* @access public
|
1487 |
-
* @return GoogleSitemapGenerator The instance or null if not available.
|
1488 |
-
* @author Arne Brachhold
|
1489 |
-
*/
|
1490 |
-
function &GetInstance() {
|
1491 |
-
if(isset($GLOBALS["sm_instance"])) {
|
1492 |
-
return $GLOBALS["sm_instance"];
|
1493 |
-
} else return null;
|
1494 |
-
}
|
1495 |
-
|
1496 |
-
/**
|
1497 |
-
* Returns if the sitemap building process is currently active
|
1498 |
-
*
|
1499 |
-
* @since 3.0
|
1500 |
-
* @access public
|
1501 |
-
* @return bool true if active
|
1502 |
-
* @author Arne Brachhold
|
1503 |
-
*/
|
1504 |
-
function IsActive() {
|
1505 |
-
$inst = &GoogleSitemapGenerator::GetInstance();
|
1506 |
-
return ($inst != null && $inst->_isActive);
|
1507 |
-
}
|
1508 |
-
|
1509 |
-
/**
|
1510 |
-
* Returns if the compressed sitemap was activated
|
1511 |
-
*
|
1512 |
-
* @since 3.0b8
|
1513 |
-
* @access private
|
1514 |
-
* @author Arne Brachhold
|
1515 |
-
* @return true if compressed
|
1516 |
-
*/
|
1517 |
-
function IsGzipEnabled() {
|
1518 |
-
return ($this->GetOption("b_gzip")===true && function_exists("gzwrite"));
|
1519 |
-
}
|
1520 |
-
|
1521 |
-
/**
|
1522 |
-
* Returns if this version of WordPress supports the new taxonomy system
|
1523 |
-
*
|
1524 |
-
* @since 3.0b8
|
1525 |
-
* @access private
|
1526 |
-
* @author Arne Brachhold
|
1527 |
-
* @return true if supported
|
1528 |
-
*/
|
1529 |
-
function IsTaxonomySupported() {
|
1530 |
-
return (function_exists("get_taxonomy") && function_exists("get_terms"));
|
1531 |
-
}
|
1532 |
-
|
1533 |
-
/**
|
1534 |
-
* Enables the Google Sitemap Generator and registers the WordPress hooks
|
1535 |
-
*
|
1536 |
-
* @since 3.0
|
1537 |
-
* @access public
|
1538 |
-
* @author Arne Brachhold
|
1539 |
-
*/
|
1540 |
-
function Enable() {
|
1541 |
-
|
1542 |
-
if(!isset($GLOBALS["sm_instance"])) {
|
1543 |
-
|
1544 |
-
$GLOBALS["sm_instance"]=new GoogleSitemapGenerator();
|
1545 |
-
|
1546 |
-
//Register the sitemap creator to wordpress...
|
1547 |
-
add_action('admin_menu', array(&$GLOBALS["sm_instance"], 'RegisterAdminPage'));
|
1548 |
-
|
1549 |
-
//Register to various events... @WordPress Dev Team: I wish me a 'public_content_changed' action :)
|
1550 |
-
|
1551 |
-
//Publish + Delete should work in most cases.
|
1552 |
-
|
1553 |
-
//If a new post is saved //Disabled for now...
|
1554 |
-
//add_action('save_post', array(&$GLOBALS["sm_instance"], 'CheckForAutoBuild'),9999,1);
|
1555 |
-
|
1556 |
-
//Existing post gets edited //Disabled for now...
|
1557 |
-
//add_action('edit_post', array(&$GLOBALS["sm_instance"], 'CheckForAutoBuild'),9999,1);
|
1558 |
-
|
1559 |
-
//Existing posts gets deleted
|
1560 |
-
add_action('delete_post', array(&$GLOBALS["sm_instance"], 'CheckForAutoBuild'),9999,1);
|
1561 |
-
|
1562 |
-
//Existing post gets published
|
1563 |
-
add_action('publish_post', array(&$GLOBALS["sm_instance"], 'CheckForAutoBuild'),9999,1);
|
1564 |
-
|
1565 |
-
//WP Cron hook
|
1566 |
-
add_action('sm_build_cron', array(&$GLOBALS["sm_instance"], 'BuildSitemap'),1,0);
|
1567 |
-
|
1568 |
-
//Manual Hook via GET
|
1569 |
-
$GLOBALS["sm_instance"]->CheckForManualBuild();
|
1570 |
-
}
|
1571 |
-
}
|
1572 |
-
|
1573 |
-
/**
|
1574 |
-
* Checks if sitemap building after content changed is enabled and rebuild the sitemap
|
1575 |
-
*
|
1576 |
-
* @param int $postID The ID of the post to handle. Used to avoid double rebuilding if more than one hook was fired.
|
1577 |
-
* @since 3.0
|
1578 |
-
* @access public
|
1579 |
-
* @author Arne Brachhold
|
1580 |
-
*/
|
1581 |
-
function CheckForAutoBuild($postID) {
|
1582 |
-
$this->Initate();
|
1583 |
-
//Build one time per post and if not importing.
|
1584 |
-
if($this->GetOption("b_auto_enabled")===true && $this->_lastPostID != $postID && (!defined('WP_IMPORTING') || WP_IMPORTING != true)) {
|
1585 |
-
$this->_lastPostID = $postID;
|
1586 |
-
|
1587 |
-
//Build the sitemap directly or schedule it with WP cron
|
1588 |
-
if($this->GetOption("b_auto_delay")==true) {
|
1589 |
-
if(!$this->_isScheduled) {
|
1590 |
-
//Schedule in 15 seconds, this should be enough to catch all changes.
|
1591 |
-
//Clear all other existing hooks, so the sitemap is only built once.
|
1592 |
-
wp_clear_scheduled_hook('sm_build_cron');
|
1593 |
-
wp_schedule_single_event(time()+15,'sm_build_cron');
|
1594 |
-
$this->_isScheduled = true;
|
1595 |
-
}
|
1596 |
-
} else {
|
1597 |
-
$this->BuildSitemap();
|
1598 |
-
}
|
1599 |
-
}
|
1600 |
-
}
|
1601 |
-
|
1602 |
-
/**
|
1603 |
-
* Checks if the rebuild request was send and starts to rebuilt the sitemap
|
1604 |
-
*
|
1605 |
-
* @since 3.0
|
1606 |
-
* @access public
|
1607 |
-
* @author Arne Brachhold
|
1608 |
-
*/
|
1609 |
-
function CheckForManualBuild() {
|
1610 |
-
if(!empty($_GET["sm_command"]) && !empty($_GET["sm_key"])) {
|
1611 |
-
$this->Initate();
|
1612 |
-
if($this->GetOption("b_manual_enabled")===true && $_GET["sm_command"]=="build" && $_GET["sm_key"]==$this->GetOption("b_manual_key")) {
|
1613 |
-
$this->BuildSitemap();
|
1614 |
-
exit;
|
1615 |
-
}
|
1616 |
-
}
|
1617 |
-
}
|
1618 |
-
|
1619 |
-
/**
|
1620 |
-
* Validates all given Priority Providers by checking them for required methods and existence
|
1621 |
-
*
|
1622 |
-
* @since 3.0
|
1623 |
-
* @access private
|
1624 |
-
* @author Arne Brachhold
|
1625 |
-
*/
|
1626 |
-
function ValidatePrioProviders() {
|
1627 |
-
$validProviders=array();
|
1628 |
-
|
1629 |
-
for($i=0; $i<count($this->_prioProviders); $i++) {
|
1630 |
-
if(class_exists($this->_prioProviders[$i])) {
|
1631 |
-
if($this->IsSubclassOf($this->_prioProviders[$i],"GoogleSitemapGeneratorPrioProviderBase")) {
|
1632 |
-
array_push($validProviders,$this->_prioProviders[$i]);
|
1633 |
-
}
|
1634 |
-
}
|
1635 |
-
}
|
1636 |
-
$this->_prioProviders=$validProviders;
|
1637 |
-
|
1638 |
-
if(!$this->GetOption("b_prio_provider")) {
|
1639 |
-
if(!in_array($this->GetOption("b_prio_provider"),$this->_prioProviders,true)) {
|
1640 |
-
$this->SetOption("b_prio_provider","");
|
1641 |
-
}
|
1642 |
-
}
|
1643 |
-
}
|
1644 |
-
|
1645 |
-
/**
|
1646 |
-
* Adds the default Priority Providers to the provider list
|
1647 |
-
*
|
1648 |
-
* @since 3.0
|
1649 |
-
* @access private
|
1650 |
-
* @author Arne Brachhold
|
1651 |
-
*/
|
1652 |
-
function AddDefaultPrioProviders($providers) {
|
1653 |
-
array_push($providers,"GoogleSitemapGeneratorPrioByCountProvider");
|
1654 |
-
array_push($providers,"GoogleSitemapGeneratorPrioByAverageProvider");
|
1655 |
-
if(class_exists("ak_popularity_contest")) {
|
1656 |
-
array_push($providers,"GoogleSitemapGeneratorPrioByPopularityContestProvider");
|
1657 |
-
}
|
1658 |
-
return $providers;
|
1659 |
-
}
|
1660 |
-
|
1661 |
-
/**
|
1662 |
-
* Loads the stored pages from the database
|
1663 |
-
*
|
1664 |
-
* @since 3.0
|
1665 |
-
* @access private
|
1666 |
-
* @author Arne Brachhold
|
1667 |
-
*/
|
1668 |
-
function LoadPages() {
|
1669 |
-
global $wpdb;
|
1670 |
-
|
1671 |
-
$needsUpdate=false;
|
1672 |
-
|
1673 |
-
$pagesString=$wpdb->get_var("SELECT option_value FROM $wpdb->options WHERE option_name = 'sm_cpages'");
|
1674 |
-
|
1675 |
-
//Class sm_page was renamed with 3.0 -> rename it in serialized value for compatibility
|
1676 |
-
if(!empty($pagesString) && strpos($pagesString,"sm_page")!==false) {
|
1677 |
-
$pagesString = str_replace("O:7:\"sm_page\"","O:26:\"GoogleSitemapGeneratorPage\"",$pagesString);
|
1678 |
-
$needsUpdate=true;
|
1679 |
-
}
|
1680 |
-
|
1681 |
-
if(!empty($pagesString)) {
|
1682 |
-
$storedpages=unserialize($pagesString);
|
1683 |
-
$this->_pages=$storedpages;
|
1684 |
-
} else {
|
1685 |
-
$this->_pages=array();
|
1686 |
-
}
|
1687 |
-
|
1688 |
-
if($needsUpdate) $this->SavePages();
|
1689 |
-
}
|
1690 |
-
|
1691 |
-
/**
|
1692 |
-
* Saved the additional pages back to the database
|
1693 |
-
*
|
1694 |
-
* @since 3.0
|
1695 |
-
* @access private
|
1696 |
-
* @author Arne Brachhold
|
1697 |
-
* @return true on success
|
1698 |
-
*/
|
1699 |
-
function SavePages() {
|
1700 |
-
$oldvalue = get_option("sm_cpages");
|
1701 |
-
if($oldvalue == $this->_pages) {
|
1702 |
-
return true;
|
1703 |
-
} else {
|
1704 |
-
delete_option("sm_cpages");
|
1705 |
-
//Add the option, Note the autoload=false because when the autoload happens, our class GoogleSitemapGeneratorPage doesn't exist
|
1706 |
-
add_option("sm_cpages",$this->_pages,"Storage for custom pages of the sitemap plugin","no");
|
1707 |
-
return true;
|
1708 |
-
}
|
1709 |
-
}
|
1710 |
-
|
1711 |
-
|
1712 |
-
/**
|
1713 |
-
* Returns the URL for the sitemap file
|
1714 |
-
*
|
1715 |
-
* @since 3.0
|
1716 |
-
* @access private
|
1717 |
-
* @author Arne Brachhold
|
1718 |
-
* @param bool $forceAuto Force the return value to the autodetected value.
|
1719 |
-
* @return The URL to the Sitemap file
|
1720 |
-
*/
|
1721 |
-
function GetXmlUrl($forceAuto=false) {
|
1722 |
-
|
1723 |
-
if(!$forceAuto && $this->GetOption("b_location_mode")=="manual") {
|
1724 |
-
return $this->GetOption("b_fileurl_manual");
|
1725 |
-
} else {
|
1726 |
-
return trailingslashit(get_bloginfo('siteurl')). $this->GetOption("b_filename");
|
1727 |
-
}
|
1728 |
-
}
|
1729 |
-
|
1730 |
-
/**
|
1731 |
-
* Returns the URL for the gzipped sitemap file
|
1732 |
-
*
|
1733 |
-
* @since 3.0
|
1734 |
-
* @access private
|
1735 |
-
* @author Arne Brachhold
|
1736 |
-
* @param bool $forceAuto Force the return value to the autodetected value.
|
1737 |
-
* @return The URL to the gzipped Sitemap file
|
1738 |
-
*/
|
1739 |
-
function GetZipUrl($forceAuto=false) {
|
1740 |
-
return $this->GetXmlUrl($forceAuto) . ".gz";
|
1741 |
-
}
|
1742 |
-
|
1743 |
-
/**
|
1744 |
-
* Returns the file system path to the sitemap file
|
1745 |
-
*
|
1746 |
-
* @since 3.0
|
1747 |
-
* @access private
|
1748 |
-
* @author Arne Brachhold
|
1749 |
-
* @param bool $forceAuto Force the return value to the autodetected value.
|
1750 |
-
* @return The file system path;
|
1751 |
-
*/
|
1752 |
-
function GetXmlPath($forceAuto=false) {
|
1753 |
-
if(!$forceAuto && $this->GetOption("b_location_mode")=="manual") {
|
1754 |
-
return $this->GetOption("b_filename_manual");
|
1755 |
-
} else {
|
1756 |
-
return $this->GetHomePath() . $this->GetOption("b_filename");
|
1757 |
-
}
|
1758 |
-
}
|
1759 |
-
|
1760 |
-
/**
|
1761 |
-
* Returns the file system path to the gzipped sitemap file
|
1762 |
-
*
|
1763 |
-
* @since 3.0
|
1764 |
-
* @access private
|
1765 |
-
* @author Arne Brachhold
|
1766 |
-
* @param bool $forceAuto Force the return value to the autodetected value.
|
1767 |
-
* @return The file system path;
|
1768 |
-
*/
|
1769 |
-
function GetZipPath($forceAuto=false) {
|
1770 |
-
return $this->GetXmlPath($forceAuto) . ".gz";
|
1771 |
-
}
|
1772 |
-
|
1773 |
-
/**
|
1774 |
-
* Returns the option value for the given key
|
1775 |
-
* Alias for getOption
|
1776 |
-
*
|
1777 |
-
* @since 3.0
|
1778 |
-
* @access private
|
1779 |
-
* @author Arne Brachhold
|
1780 |
-
* @param $key string The Configuration Key
|
1781 |
-
* @return mixed The value
|
1782 |
-
*/
|
1783 |
-
function Go($key) {
|
1784 |
-
return $this->getOption($key);
|
1785 |
-
}
|
1786 |
-
|
1787 |
-
/**
|
1788 |
-
* Returns the option value for the given key
|
1789 |
-
*
|
1790 |
-
* @since 3.0
|
1791 |
-
* @access private
|
1792 |
-
* @author Arne Brachhold
|
1793 |
-
* @param $key string The Configuration Key
|
1794 |
-
* @return mixed The value
|
1795 |
-
*/
|
1796 |
-
function GetOption($key) {
|
1797 |
-
if(strpos($key,"sm_")!==0) $key="sm_" . $key;
|
1798 |
-
if(array_key_exists($key,$this->_options)) {
|
1799 |
-
return $this->_options[$key];
|
1800 |
-
} else return null;
|
1801 |
-
}
|
1802 |
-
|
1803 |
-
/**
|
1804 |
-
* Sets an option to a new value
|
1805 |
-
*
|
1806 |
-
* @since 3.0
|
1807 |
-
* @access private
|
1808 |
-
* @author Arne Brachhold
|
1809 |
-
* @param $key string The configuration key
|
1810 |
-
* @param $value mixed The new object
|
1811 |
-
*/
|
1812 |
-
function SetOption($key,$value) {
|
1813 |
-
if(strstr($key,"sm_")!==0) $key="sm_" . $key;
|
1814 |
-
|
1815 |
-
$this->_options[$key]=$value;
|
1816 |
-
}
|
1817 |
-
|
1818 |
-
/**
|
1819 |
-
* Saves the options back to the database
|
1820 |
-
*
|
1821 |
-
* @since 3.0
|
1822 |
-
* @access private
|
1823 |
-
* @author Arne Brachhold
|
1824 |
-
* @return bool true on success
|
1825 |
-
*/
|
1826 |
-
function SaveOptions() {
|
1827 |
-
$oldvalue = get_option("sm_options");
|
1828 |
-
if($oldvalue == $this->_options) {
|
1829 |
-
return true;
|
1830 |
-
} else return update_option("sm_options",$this->_options);
|
1831 |
-
}
|
1832 |
-
|
1833 |
-
/**
|
1834 |
-
* Retrieves the number of comments of a post in a asso. array
|
1835 |
-
* The key is the postID, the value the number of comments
|
1836 |
-
*
|
1837 |
-
* @since 3.0
|
1838 |
-
* @access private
|
1839 |
-
* @author Arne Brachhold
|
1840 |
-
* @return array An array with postIDs and their comment count
|
1841 |
-
*/
|
1842 |
-
function GetComments() {
|
1843 |
-
global $wpdb;
|
1844 |
-
$comments=array();
|
1845 |
-
|
1846 |
-
//Query comments and add them into the array
|
1847 |
-
$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`");
|
1848 |
-
if($commentRes) {
|
1849 |
-
foreach($commentRes as $comment) {
|
1850 |
-
$comments[$comment->post_id]=$comment->comment_count;
|
1851 |
-
}
|
1852 |
-
}
|
1853 |
-
return $comments;
|
1854 |
-
}
|
1855 |
-
|
1856 |
-
/**
|
1857 |
-
* Calculates the full number of comments from an sm_getComments() generated array
|
1858 |
-
*
|
1859 |
-
* @since 3.0
|
1860 |
-
* @access private
|
1861 |
-
* @author Arne Brachhold
|
1862 |
-
* @param $comments array The Array with posts and c0mment count
|
1863 |
-
* @see sm_getComments
|
1864 |
-
* @return The full number of comments
|
1865 |
-
*/
|
1866 |
-
function GetCommentCount($comments) {
|
1867 |
-
$commentCount=0;
|
1868 |
-
foreach($comments AS $k=>$v) {
|
1869 |
-
$commentCount+=$v;
|
1870 |
-
}
|
1871 |
-
return $commentCount;
|
1872 |
-
}
|
1873 |
-
|
1874 |
-
/**
|
1875 |
-
* Adds a url to the sitemap. You can use this method or call AddElement directly.
|
1876 |
-
*
|
1877 |
-
* @since 3.0
|
1878 |
-
* @access public
|
1879 |
-
* @author Arne Brachhold
|
1880 |
-
* @param $loc string The location (url) of the page
|
1881 |
-
* @param $lastMod int The last Modification time as a UNIX timestamp
|
1882 |
-
* @param $changeFreq string The change frequenty of the page, Valid values are "always", "hourly", "daily", "weekly", "monthly", "yearly" and "never".
|
1883 |
-
* @param $priorty float The priority of the page, between 0.0 and 1.0
|
1884 |
-
* @see AddElement
|
1885 |
-
* @return string The URL node
|
1886 |
-
*/
|
1887 |
-
function AddUrl($loc,$lastMod=0,$changeFreq="monthly",$priority=0.5) {
|
1888 |
-
$page = new GoogleSitemapGeneratorPage($loc,$priority,$changeFreq,$lastMod);
|
1889 |
-
|
1890 |
-
$this->AddElement($page);
|
1891 |
-
}
|
1892 |
-
|
1893 |
-
/**
|
1894 |
-
* Adds an element to the sitemap
|
1895 |
-
*
|
1896 |
-
* @since 3.0
|
1897 |
-
* @access private
|
1898 |
-
* @author Arne Brachhold
|
1899 |
-
* @param $page The element
|
1900 |
-
*/
|
1901 |
-
function AddElement(&$page) {
|
1902 |
-
if(empty($page)) return;
|
1903 |
-
|
1904 |
-
$s = $page->Render();
|
1905 |
-
|
1906 |
-
if($this->_fileZipHandle && $this->IsGzipEnabled()) {
|
1907 |
-
gzwrite($this->_fileZipHandle,$s);
|
1908 |
-
}
|
1909 |
-
|
1910 |
-
if($this->_fileHandle && $this->GetOption("b_xml")) {
|
1911 |
-
fwrite($this->_fileHandle,$s);
|
1912 |
-
}
|
1913 |
-
}
|
1914 |
-
|
1915 |
-
/**
|
1916 |
-
* Checks if a file is writable and tries to make it if not.
|
1917 |
-
*
|
1918 |
-
* @since 3.05b
|
1919 |
-
* @access private
|
1920 |
-
* @author VJTD3 <http://www.VJTD3.com>
|
1921 |
-
* @return bool true if writable
|
1922 |
-
*/
|
1923 |
-
function IsFileWritable($filename) {
|
1924 |
-
//can we write?
|
1925 |
-
if(!is_writable($filename)) {
|
1926 |
-
//no we can't.
|
1927 |
-
if(!@chmod($filename, 0666)) {
|
1928 |
-
$pathtofilename = dirname($filename);
|
1929 |
-
//Lets check if parent directory is writable.
|
1930 |
-
if(!is_writable($pathtofilename)) {
|
1931 |
-
//it's not writeable too.
|
1932 |
-
if(!@chmod($pathtoffilename, 0666)) {
|
1933 |
-
//darn couldn't fix up parrent directory this hosting is foobar.
|
1934 |
-
//Lets error because of the permissions problems.
|
1935 |
-
return false;
|
1936 |
-
}
|
1937 |
-
}
|
1938 |
-
}
|
1939 |
-
}
|
1940 |
-
//we can write, return 1/true/happy dance.
|
1941 |
-
return true;
|
1942 |
-
}
|
1943 |
-
|
1944 |
-
/**
|
1945 |
-
* Creates or opens the robots.txt in blog root and inserts the sitemap location
|
1946 |
-
*
|
1947 |
-
* @since 3.0b8
|
1948 |
-
* @access private
|
1949 |
-
* @author Arne Brachhold
|
1950 |
-
* @return true on success
|
1951 |
-
*/
|
1952 |
-
function WriteRobotsFile() {
|
1953 |
-
$file = $this->GetRobotsFilePath();
|
1954 |
-
|
1955 |
-
$marker = 'XML-SITEMAP-PLUGIN';
|
1956 |
-
|
1957 |
-
$current = extract_from_markers($file,$marker);
|
1958 |
-
if(is_array($current)) $current = $current[0];
|
1959 |
-
|
1960 |
-
$smUrl = $this->GetXmlUrl();
|
1961 |
-
if($this->IsGzipEnabled()) {
|
1962 |
-
$smUrl = $this->GetZipUrl();
|
1963 |
-
}
|
1964 |
-
|
1965 |
-
$new = "Sitemap: " . $smUrl;
|
1966 |
-
|
1967 |
-
if($current != $new) {
|
1968 |
-
if($this->IsFileWritable($file)) return insert_with_markers($file,$marker,array($new));
|
1969 |
-
else return false;
|
1970 |
-
}
|
1971 |
-
return true;
|
1972 |
-
}
|
1973 |
-
|
1974 |
-
/**
|
1975 |
-
* Builds the sitemap and writes it into a xml file.
|
1976 |
-
*
|
1977 |
-
* @since 3.0
|
1978 |
-
* @access public
|
1979 |
-
* @author Arne Brachhold <himself [at] arnebrachhold [dot] de>
|
1980 |
-
* @return array An array with messages such as failed writes etc.
|
1981 |
-
*/
|
1982 |
-
function BuildSitemap() {
|
1983 |
-
global $wpdb, $posts, $wp_version;
|
1984 |
-
$this->Initate();
|
1985 |
-
|
1986 |
-
if($this->GetOption("b_memory")!='') {
|
1987 |
-
@ini_set("memory_limit",$this->GetOption("b_memory"));
|
1988 |
-
}
|
1989 |
-
|
1990 |
-
if($this->GetOption("sm_b_time")!=-1) {
|
1991 |
-
@set_time_limit($this->GetOption("sm_b_time"));
|
1992 |
-
}
|
1993 |
-
|
1994 |
-
//This object saves the status information of the script directly to the database
|
1995 |
-
$status = new GoogleSitemapGeneratorStatus();
|
1996 |
-
|
1997 |
-
//Other plugins can detect if the building process is active
|
1998 |
-
$this->_isActive = true;
|
1999 |
-
|
2000 |
-
//$this->AddElement(new GoogleSitemapGeneratorXmlEntry());
|
2001 |
-
|
2002 |
-
//Debug mode?
|
2003 |
-
$debug=$this->GetOption("b_debug");
|
2004 |
-
|
2005 |
-
|
2006 |
-
if($this->GetOption("b_xml")) {
|
2007 |
-
$fileName = $this->GetXmlPath();
|
2008 |
-
$status->StartXml($this->GetXmlPath(),$this->GetXmlUrl());
|
2009 |
-
|
2010 |
-
if($this->IsFileWritable($fileName)) {
|
2011 |
-
|
2012 |
-
$this->_fileHandle = fopen($fileName,"w");
|
2013 |
-
if(!$this->_fileHandle) $status->EndXml(false,"Not openable");
|
2014 |
-
|
2015 |
-
} else $status->EndXml(false,"not writable");
|
2016 |
-
}
|
2017 |
-
|
2018 |
-
//Write gzipped sitemap file
|
2019 |
-
if($this->IsGzipEnabled()) {
|
2020 |
-
$fileName = $this->GetZipPath();
|
2021 |
-
$status->StartZip($this->GetZipPath(),$this->GetZipUrl());
|
2022 |
-
|
2023 |
-
if($this->IsFileWritable($fileName)) {
|
2024 |
-
|
2025 |
-
$this->_fileZipHandle = gzopen($fileName,"w1");
|
2026 |
-
if(!$this->_fileZipHandle) $status->EndZip(false,"Not openable");
|
2027 |
-
|
2028 |
-
} else $status->EndZip(false,"not writable");
|
2029 |
-
}
|
2030 |
-
|
2031 |
-
if(!$this->_fileHandle && !$this->_fileZipHandle) {
|
2032 |
-
$status->End();
|
2033 |
-
return;
|
2034 |
-
}
|
2035 |
-
|
2036 |
-
|
2037 |
-
//Content of the XML file
|
2038 |
-
$this->AddElement(new GoogleSitemapGeneratorXmlEntry('<?xml version="1.0" encoding="UTF-8"' . '?' . '>'));
|
2039 |
-
|
2040 |
-
if($this->GetOption("b_style")!='') {
|
2041 |
-
$this->AddElement(new GoogleSitemapGeneratorXmlEntry('<' . '?xml-stylesheet type="text/xsl" href="' . $this->GetOption("b_style") . '"?' . '>'));
|
2042 |
-
}
|
2043 |
-
|
2044 |
-
$this->AddElement(new GoogleSitemapGeneratorDebugEntry("generator=\"wordpress/" . get_bloginfo('version') . "\""));
|
2045 |
-
$this->AddElement(new GoogleSitemapGeneratorDebugEntry("sitemap-generator-url=\"http://www.arnebrachhold.de\" sitemap-generator-version=\"" . $this->GetVersion() . "\""));
|
2046 |
-
$this->AddElement(new GoogleSitemapGeneratorDebugEntry("generated-on=\"" . date(get_option("date_format") . " " . get_option("time_format")) . "\""));
|
2047 |
-
|
2048 |
-
//All comments as an asso. Array (postID=>commentCount)
|
2049 |
-
$comments=($this->GetOption("b_prio_provider")!=""?$this->GetComments():array());
|
2050 |
-
|
2051 |
-
//Full number of comments
|
2052 |
-
$commentCount=(count($comments)>0?$this->GetCommentCount($comments):0);
|
2053 |
-
|
2054 |
-
if($debug && $this->GetOption("b_prio_provider")!="") {
|
2055 |
-
$this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Total comment count: " . $commentCount));
|
2056 |
-
}
|
2057 |
-
|
2058 |
-
//Go XML!
|
2059 |
-
$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">'));
|
2060 |
-
|
2061 |
-
$home = get_bloginfo('url');
|
2062 |
-
|
2063 |
-
//Add the home page (WITH a slash!)
|
2064 |
-
if($this->GetOption("in_home")) {
|
2065 |
-
$this->AddUrl(trailingslashit($home),$this->GetTimestampFromMySql(get_lastpostmodified('GMT')),$this->GetOption("cf_home"),$this->GetOption("pr_home"));
|
2066 |
-
}
|
2067 |
-
|
2068 |
-
//Add the posts
|
2069 |
-
if($this->GetOption("in_posts") || $this->GetOption("in_pages")) {
|
2070 |
-
|
2071 |
-
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Postings"));
|
2072 |
-
|
2073 |
-
//Pre 2.1 compatibility. 2.1 introduced 'future' as post_status so we don't need to check post_date
|
2074 |
-
$wpCompat = (floatval($wp_version) < 2.1);
|
2075 |
-
|
2076 |
-
$sql="SELECT `ID`, `post_author`, `post_date`, `post_date_gmt`, `post_status`, `post_name`, `post_modified`, `post_modified_gmt`, `post_parent`, `post_type` FROM `" . $wpdb->posts . "` WHERE ";
|
2077 |
-
|
2078 |
-
$where = '(';
|
2079 |
-
|
2080 |
-
if($this->GetOption('in_posts')) {
|
2081 |
-
//WP < 2.1: posts are post_status = publish
|
2082 |
-
//WP >= 2.1: post_type must be 'post', no date check required because future posts are post_status='future'
|
2083 |
-
if($wpCompat) $where.="(post_status = 'publish' AND post_date_gmt <= '" . gmdate('Y-m-d H:i:59') . "')";
|
2084 |
-
else $where.=" (post_status = 'publish' AND (post_type = 'post' OR post_type = '')) ";
|
2085 |
-
}
|
2086 |
-
|
2087 |
-
if($this->GetOption('in_pages')) {
|
2088 |
-
if($this->GetOption('in_posts')) {
|
2089 |
-
$where.=" OR ";
|
2090 |
-
}
|
2091 |
-
if($wpCompat) {
|
2092 |
-
//WP < 2.1: posts have post_status = published, pages have post_status = static
|
2093 |
-
$where.=" post_status='static' ";
|
2094 |
-
} else {
|
2095 |
-
//WP >= 2.1: posts have post_type = 'post' and pages have post_type = 'page'. Both must be published.
|
2096 |
-
$where.=" (post_status = 'publish' AND post_type = 'page') ";
|
2097 |
-
}
|
2098 |
-
}
|
2099 |
-
|
2100 |
-
$where.=") ";
|
2101 |
-
|
2102 |
-
$excludes = $this->GetOption('b_exclude');
|
2103 |
-
|
2104 |
-
if(is_array($excludes) && count($excludes)>0) {
|
2105 |
-
$where.=" AND ID NOT IN ('" . implode("','",$excludes) . "')";
|
2106 |
-
}
|
2107 |
-
|
2108 |
-
$where.=" AND post_password='' ORDER BY post_modified DESC";
|
2109 |
-
|
2110 |
-
$sql .= $where;
|
2111 |
-
|
2112 |
-
if($this->GetOption("sm_b_max_posts")>0) {
|
2113 |
-
$sql.=" LIMIT 0," . $this->GetOption("sm_b_max_posts");
|
2114 |
-
}
|
2115 |
-
|
2116 |
-
$postCount = intval($wpdb->get_var("SELECT COUNT(*) AS cnt FROM `" . $wpdb->posts . "` WHERE ". $where,0,0));
|
2117 |
-
|
2118 |
-
//Create a new connection because we are using mysql_unbuffered_query and don't want to disturb the WP connection
|
2119 |
-
//Safe Mode for other plugins which use mysql_query() without a connection handler and will destroy our resultset :(
|
2120 |
-
$con = $postRes = null;
|
2121 |
-
if($this->GetOption("b_safemode")===true) {
|
2122 |
-
$postRes = mysql_query($sql,$wpdb->dbh);
|
2123 |
-
if(!$postRes) {
|
2124 |
-
trigger_error("MySQL query failed: " . mysql_error(),E_USER_NOTICE); //E_NOTE will be displayed on our debug mode
|
2125 |
-
return;
|
2126 |
-
}
|
2127 |
-
} else {
|
2128 |
-
$con = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD,true);
|
2129 |
-
if(!$con) {
|
2130 |
-
trigger_error("MySQL Connection failed: " . mysql_error(),E_USER_NOTICE);
|
2131 |
-
return;
|
2132 |
-
}
|
2133 |
-
if(!mysql_select_db(DB_NAME,$con)) {
|
2134 |
-
trigger_error("MySQL DB Select failed: " . mysql_error(),E_USER_NOTICE);
|
2135 |
-
return;
|
2136 |
-
}
|
2137 |
-
$postRes = mysql_unbuffered_query($sql,$con);
|
2138 |
-
|
2139 |
-
if(!$postRes) {
|
2140 |
-
trigger_error("MySQL unbuffered query failed: " . mysql_error(),E_USER_NOTICE);
|
2141 |
-
return;
|
2142 |
-
}
|
2143 |
-
}
|
2144 |
-
|
2145 |
-
if($postRes) {
|
2146 |
-
|
2147 |
-
//#type $prioProvider GoogleSitemapGeneratorPrioProviderBase
|
2148 |
-
$prioProvider=NULL;
|
2149 |
-
|
2150 |
-
if($this->GetOption("b_prio_provider") != '') {
|
2151 |
-
$providerClass=$this->GetOption('b_prio_provider');
|
2152 |
-
$prioProvider = new $providerClass($commentCount,$postCount);
|
2153 |
-
}
|
2154 |
-
|
2155 |
-
//$posts is used by Alex King's Popularity Contest plugin
|
2156 |
-
//if($posts == null || !is_array($posts)) {
|
2157 |
-
// $posts = &$postRes;
|
2158 |
-
//}
|
2159 |
-
|
2160 |
-
$z = 1;
|
2161 |
-
$zz = 1;
|
2162 |
-
|
2163 |
-
//Default priorities
|
2164 |
-
$default_prio_posts = $this->GetOption('pr_posts');
|
2165 |
-
$default_prio_pages = $this->GetOption('pr_pages');
|
2166 |
-
|
2167 |
-
//Change frequencies
|
2168 |
-
$cf_pages = $this->GetOption('sm_cf_pages');
|
2169 |
-
$cf_posts = $this->GetOption('sm_cf_posts');
|
2170 |
-
|
2171 |
-
$minPrio=$this->GetOption('pr_posts_min');
|
2172 |
-
|
2173 |
-
|
2174 |
-
//Cycle through all posts and add them
|
2175 |
-
while($post = mysql_fetch_object($postRes)) {
|
2176 |
-
|
2177 |
-
//Fill the cache with our DB result. Since it's incomplete (no text-content for example), we will clean it later.
|
2178 |
-
$cache = array(&$post);
|
2179 |
-
update_post_cache($cache);
|
2180 |
-
|
2181 |
-
$permalink = get_permalink($post->ID);
|
2182 |
-
if($permalink != $home) {
|
2183 |
-
|
2184 |
-
$isPage = false;
|
2185 |
-
if($wpCompat) {
|
2186 |
-
$isPage = ($post->post_status == 'static');
|
2187 |
-
} else {
|
2188 |
-
$isPage = ($post->post_type == 'page');
|
2189 |
-
}
|
2190 |
-
|
2191 |
-
//Set the current working post
|
2192 |
-
$GLOBALS['post'] = &$post;
|
2193 |
-
|
2194 |
-
//Default Priority if auto calc is disabled
|
2195 |
-
$prio = 0;
|
2196 |
-
|
2197 |
-
if($isPage) {
|
2198 |
-
//Priority for static pages
|
2199 |
-
$prio = $default_prio_pages;
|
2200 |
-
} else {
|
2201 |
-
//Priority for normal posts
|
2202 |
-
$prio = $default_prio_posts;
|
2203 |
-
}
|
2204 |
-
|
2205 |
-
//If priority calc. is enabled, calculate (but only for posts, not pages)!
|
2206 |
-
if($prioProvider !== null && !$isPage) {
|
2207 |
-
|
2208 |
-
//Comment count for this post
|
2209 |
-
$cmtcnt = (isset($comments[$post->ID])?$comments[$post->ID]:0);
|
2210 |
-
$prio = $prioProvider->GetPostPriority($post->ID,$cmtcnt);
|
2211 |
-
|
2212 |
-
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry('Debug: Priority report of postID ' . $post->ID . ': Comments: ' . $cmtcnt . ' of ' . $commentCount . ' = ' . $prio . ' points'));
|
2213 |
-
}
|
2214 |
-
|
2215 |
-
if(!$isPage && $minPrio>0 && $prio<$minPrio) {
|
2216 |
-
$prio = $minPrio;
|
2217 |
-
}
|
2218 |
-
|
2219 |
-
//Add it
|
2220 |
-
$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);
|
2221 |
-
}
|
2222 |
-
|
2223 |
-
//Update the status every 100 posts and at the end.
|
2224 |
-
//If the script breaks because of memory or time limit,
|
2225 |
-
//we have a "last reponded" value which can be compared to the server settings
|
2226 |
-
if($zz==100 || $z == $postCount) {
|
2227 |
-
$status->SaveStep($z);
|
2228 |
-
$zz=0;
|
2229 |
-
} else $zz++;
|
2230 |
-
|
2231 |
-
$z++;
|
2232 |
-
|
2233 |
-
//Clean cache because it's incomplete
|
2234 |
-
if(version_compare($wp_version,"2.5",">=")) {
|
2235 |
-
//WP 2.5 makes a mysql query for every clean_post_cache to clear the child cache
|
2236 |
-
wp_cache_delete($post->ID, 'posts');
|
2237 |
-
wp_cache_delete($post->ID, 'post_meta');
|
2238 |
-
clean_object_term_cache($post->ID, 'post');
|
2239 |
-
} else {
|
2240 |
-
clean_post_cache($post->ID);
|
2241 |
-
}
|
2242 |
-
}
|
2243 |
-
unset($postRes);
|
2244 |
-
unset($prioProvider);
|
2245 |
-
|
2246 |
-
if($this->GetOption("b_safemode")!==true && $con) mysql_close($con);
|
2247 |
-
}
|
2248 |
-
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Postings"));
|
2249 |
-
}
|
2250 |
-
|
2251 |
-
//Add the cats
|
2252 |
-
if($this->GetOption("in_cats")) {
|
2253 |
-
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Cats"));
|
2254 |
-
|
2255 |
-
if(!$this->IsTaxonomySupported()) {
|
2256 |
-
|
2257 |
-
$catsRes=$wpdb->get_results("
|
2258 |
-
SELECT
|
2259 |
-
c.cat_ID AS ID,
|
2260 |
-
MAX(p.post_modified_gmt) AS last_mod
|
2261 |
-
FROM
|
2262 |
-
`" . $wpdb->categories . "` c,
|
2263 |
-
`" . $wpdb->post2cat . "` pc,
|
2264 |
-
`" . $wpdb->posts . "` p
|
2265 |
-
WHERE
|
2266 |
-
pc.category_id = c.cat_ID
|
2267 |
-
AND p.ID = pc.post_id
|
2268 |
-
AND p.post_status = 'publish'
|
2269 |
-
AND p.post_type='post'
|
2270 |
-
GROUP
|
2271 |
-
BY c.cat_id
|
2272 |
-
");
|
2273 |
-
if($catsRes) {
|
2274 |
-
foreach($catsRes as $cat) {
|
2275 |
-
if($cat && $cat->ID && $cat->ID>0) {
|
2276 |
-
if($debug) if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Cat-ID:" . $cat->ID));
|
2277 |
-
$this->AddUrl(get_category_link($cat->ID),$this->GetTimestampFromMySql($cat->last_mod),$this->GetOption("cf_cats"),$this->GetOption("pr_cats"));
|
2278 |
-
}
|
2279 |
-
}
|
2280 |
-
}
|
2281 |
-
} else {
|
2282 |
-
$cats = get_terms("category",array("hide_empty"=>true,"hierarchical"=>false));
|
2283 |
-
if($cats && is_array($cats) && count($cats)>0) {
|
2284 |
-
foreach($cats AS $cat) {
|
2285 |
-
$this->AddUrl(get_category_link($cat->term_id),0,$this->GetOption("cf_cats"),$this->GetOption("pr_cats"));
|
2286 |
-
}
|
2287 |
-
}
|
2288 |
-
}
|
2289 |
-
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Cats"));
|
2290 |
-
}
|
2291 |
-
|
2292 |
-
//Add the archives
|
2293 |
-
if($this->GetOption("in_arch")) {
|
2294 |
-
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Archive"));
|
2295 |
-
$now = current_time('mysql');
|
2296 |
-
|
2297 |
-
//WP2.1 introduced post_status='future', for earlier WP versions we need to check the post_date_gmt
|
2298 |
-
$arcresults = $wpdb->get_results("
|
2299 |
-
SELECT DISTINCT
|
2300 |
-
YEAR(post_date_gmt) AS `year`,
|
2301 |
-
MONTH(post_date_gmt) AS `month`,
|
2302 |
-
MAX(post_date_gmt) as last_mod,
|
2303 |
-
count(ID) as posts
|
2304 |
-
FROM
|
2305 |
-
$wpdb->posts
|
2306 |
-
WHERE
|
2307 |
-
post_date < '$now'
|
2308 |
-
AND post_status = 'publish'
|
2309 |
-
AND post_type = 'post'
|
2310 |
-
" . (floatval($wp_version) < 2.1?"AND {$wpdb->posts}.post_date_gmt <= '" . gmdate('Y-m-d H:i:59') . "'":"") . "
|
2311 |
-
GROUP BY
|
2312 |
-
YEAR(post_date_gmt),
|
2313 |
-
MONTH(post_date_gmt)
|
2314 |
-
ORDER BY
|
2315 |
-
post_date_gmt DESC");
|
2316 |
-
if ($arcresults) {
|
2317 |
-
foreach ($arcresults as $arcresult) {
|
2318 |
-
|
2319 |
-
$url = get_month_link($arcresult->year, $arcresult->month);
|
2320 |
-
$changeFreq="";
|
2321 |
-
|
2322 |
-
//Archive is the current one
|
2323 |
-
if($arcresult->month==date("n") && $arcresult->year==date("Y")) {
|
2324 |
-
$changeFreq=$this->GetOption("cf_arch_curr");
|
2325 |
-
} else { // Archive is older
|
2326 |
-
$changeFreq=$this->GetOption("cf_arch_old");
|
2327 |
-
}
|
2328 |
-
|
2329 |
-
$this->AddUrl($url,$this->GetTimestampFromMySql($arcresult->last_mod),$changeFreq,$this->GetOption("pr_arch"));
|
2330 |
-
}
|
2331 |
-
}
|
2332 |
-
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Archive"));
|
2333 |
-
}
|
2334 |
-
|
2335 |
-
//Add the author pages
|
2336 |
-
if($this->GetOption("in_auth")) {
|
2337 |
-
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Author pages"));
|
2338 |
-
|
2339 |
-
$linkFunc = null;
|
2340 |
-
|
2341 |
-
//get_author_link is deprecated in WP 2.1, try to use get_author_posts_url first.
|
2342 |
-
if(function_exists('get_author_posts_url')) {
|
2343 |
-
$linkFunc = 'get_author_posts_url';
|
2344 |
-
} else if(function_exists('get_author_link')) {
|
2345 |
-
$linkFunc = 'get_author_link';
|
2346 |
-
}
|
2347 |
-
|
2348 |
-
//Who knows what happens in later WP versions, so check again if it worked
|
2349 |
-
if($linkFunc !== null) {
|
2350 |
-
//Unfortunately there is no API function to get all authors, so we have to do it the dirty way...
|
2351 |
-
//We retrieve only users with published and not password protected posts (and not pages)
|
2352 |
-
//WP2.1 introduced post_status='future', for earlier WP versions we need to check the post_date_gmt
|
2353 |
-
$sql = "SELECT DISTINCT
|
2354 |
-
{$wpdb->users}.ID,
|
2355 |
-
{$wpdb->users}.user_nicename,
|
2356 |
-
MAX({$wpdb->posts}.post_modified_gmt) AS last_post
|
2357 |
-
FROM
|
2358 |
-
{$wpdb->users},
|
2359 |
-
{$wpdb->posts}
|
2360 |
-
WHERE
|
2361 |
-
{$wpdb->posts}.post_author = {$wpdb->users}.ID
|
2362 |
-
AND {$wpdb->posts}.post_status = 'publish'
|
2363 |
-
AND {$wpdb->posts}.post_type = 'post'
|
2364 |
-
AND {$wpdb->posts}.post_password = ''
|
2365 |
-
" . (floatval($wp_version) < 2.1?"AND {$wpdb->posts}.post_date_gmt <= '" . gmdate('Y-m-d H:i:59') . "'":"") . "
|
2366 |
-
GROUP BY
|
2367 |
-
{$wpdb->users}.ID,
|
2368 |
-
{$wpdb->users}.user_nicename";
|
2369 |
-
$authors = $wpdb->get_results($sql);
|
2370 |
-
|
2371 |
-
if($authors && is_array($authors)) {
|
2372 |
-
foreach($authors as $author) {
|
2373 |
-
if($debug) if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Author-ID:" . $author->ID));
|
2374 |
-
$url = ($linkFunc=='get_author_posts_url'?get_author_posts_url($author->ID,$author->user_nicename):get_author_link(false,$author->ID,$author->user_nicename));
|
2375 |
-
$this->AddUrl($url,$this->GetTimestampFromMySql($author->last_post),$this->GetOption("cf_auth"),$this->GetOption("pr_auth"));
|
2376 |
-
}
|
2377 |
-
}
|
2378 |
-
} else {
|
2379 |
-
//Too bad, no author pages for you :(
|
2380 |
-
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: No valid author link function found"));
|
2381 |
-
}
|
2382 |
-
|
2383 |
-
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Author pages"));
|
2384 |
-
}
|
2385 |
-
|
2386 |
-
//Add tag pages
|
2387 |
-
if($this->GetOption("in_tags") && $this->IsTaxonomySupported()) {
|
2388 |
-
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Tags"));
|
2389 |
-
$tags = get_terms("post_tag",array("hide_empty"=>true,"hierarchical"=>false));
|
2390 |
-
if($tags && is_array($tags) && count($tags)>0) {
|
2391 |
-
foreach($tags AS $tag) {
|
2392 |
-
$this->AddUrl(get_tag_link($tag->term_id),0,$this->GetOption("cf_tags"),$this->GetOption("pr_tags"));
|
2393 |
-
}
|
2394 |
-
}
|
2395 |
-
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Tags"));
|
2396 |
-
}
|
2397 |
-
|
2398 |
-
//Add the custom pages
|
2399 |
-
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start Custom Pages"));
|
2400 |
-
if($this->_pages && is_array($this->_pages) && count($this->_pages)>0) {
|
2401 |
-
//#type $page GoogleSitemapGeneratorPage
|
2402 |
-
foreach($this->_pages AS $page) {
|
2403 |
-
$this->AddUrl($page->GetUrl(),$page->getLastMod(),$page->getChangeFreq(),$page->getPriority());
|
2404 |
-
}
|
2405 |
-
}
|
2406 |
-
|
2407 |
-
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End Custom Pages"));
|
2408 |
-
|
2409 |
-
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: Start additional URLs"));
|
2410 |
-
|
2411 |
-
do_action("sm_buildmap");
|
2412 |
-
|
2413 |
-
if($debug) $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Debug: End additional URLs"));
|
2414 |
-
|
2415 |
-
$this->AddElement(new GoogleSitemapGeneratorXmlEntry("</urlset>"));
|
2416 |
-
|
2417 |
-
|
2418 |
-
$pingUrl='';
|
2419 |
-
|
2420 |
-
if($this->GetOption("b_xml")) {
|
2421 |
-
if($this->_fileHandle && fclose($this->_fileHandle)) {
|
2422 |
-
$this->_fileHandle = null;
|
2423 |
-
$status->EndXml(true);
|
2424 |
-
$pingUrl=$this->GetXmlUrl();
|
2425 |
-
} else $status->EndXml(false,"Could not close the sitemap file.");
|
2426 |
-
}
|
2427 |
-
|
2428 |
-
if($this->IsGzipEnabled()) {
|
2429 |
-
if($this->_fileZipHandle && fclose($this->_fileZipHandle)) {
|
2430 |
-
$this->_fileZipHandle = null;
|
2431 |
-
$status->EndZip(true);
|
2432 |
-
$pingUrl=$this->GetZipUrl();
|
2433 |
-
} else $status->EndZip(false,"Could not close the zipped sitemap file");
|
2434 |
-
}
|
2435 |
-
|
2436 |
-
//Ping Google
|
2437 |
-
if($this->GetOption("b_ping") && !empty($pingUrl)) {
|
2438 |
-
$sPingUrl="http://www.google.com/webmasters/sitemaps/ping?sitemap=" . urlencode($pingUrl);
|
2439 |
-
$status->StartGooglePing($sPingUrl);
|
2440 |
-
$pingres=$this->RemoteOpen($sPingUrl);
|
2441 |
-
|
2442 |
-
if($pingres==NULL || $pingres===false) {
|
2443 |
-
$status->EndGooglePing(false,$this->_lastError);
|
2444 |
-
} else {
|
2445 |
-
$status->EndGooglePing(true);
|
2446 |
-
}
|
2447 |
-
}
|
2448 |
-
|
2449 |
-
//Ping Ask.com
|
2450 |
-
if($this->GetOption("b_pingask") && !empty($pingUrl)) {
|
2451 |
-
$sPingUrl="http://submissions.ask.com/ping?sitemap=" . urlencode($pingUrl);
|
2452 |
-
$status->StartAskPing($sPingUrl);
|
2453 |
-
$pingres=$this->RemoteOpen($sPingUrl);
|
2454 |
-
|
2455 |
-
if($pingres==NULL || $pingres===false || strpos($pingres,"successfully received and added")===false) { //Ask.com returns 200 OK even if there was an error, so we need to check the content.
|
2456 |
-
$status->EndAskPing(false,$this->_lastError);
|
2457 |
-
} else {
|
2458 |
-
$status->EndAskPing(true);
|
2459 |
-
}
|
2460 |
-
}
|
2461 |
-
|
2462 |
-
//Ping YAHOO
|
2463 |
-
if($this->GetOption("sm_b_pingyahoo")===true && $this->GetOption("sm_b_yahookey")!="" && !empty($pingUrl)) {
|
2464 |
-
$sPingUrl="http://search.yahooapis.com/SiteExplorerService/V1/updateNotification?appid=" . $this->GetOption("sm_b_yahookey") . "&url=" . urlencode($pingUrl);
|
2465 |
-
$status->StartYahooPing($sPingUrl);
|
2466 |
-
$pingres=$this->RemoteOpen($sPingUrl);
|
2467 |
-
|
2468 |
-
if($pingres==NULL || $pingres===false || strpos(strtolower($pingres),"success")===false) {
|
2469 |
-
$status->EndYahooPing(false,$this->_lastError);
|
2470 |
-
} else {
|
2471 |
-
$status->EndYahooPing(true);
|
2472 |
-
}
|
2473 |
-
}
|
2474 |
-
|
2475 |
-
//Ping MSN
|
2476 |
-
if($this->GetOption("b_pingmsn") && !empty($pingUrl)) {
|
2477 |
-
$sPingUrl="http://webmaster.live.com/ping.aspx?siteMap=" . urlencode($pingUrl);
|
2478 |
-
$status->StartMsnPing($sPingUrl);
|
2479 |
-
$pingres=$this->RemoteOpen($sPingUrl);
|
2480 |
-
|
2481 |
-
if($pingres==NULL || $pingres===false || strpos($pingres,"Thanks for submitting your sitemap")===false) {
|
2482 |
-
$status->EndMsnPing(false,$this->_lastError);
|
2483 |
-
} else {
|
2484 |
-
$status->EndMsnPing(true);
|
2485 |
-
}
|
2486 |
-
}
|
2487 |
-
|
2488 |
-
$status->End();
|
2489 |
-
|
2490 |
-
|
2491 |
-
$this->_isActive = false;
|
2492 |
-
|
2493 |
-
//done...
|
2494 |
-
return $status;
|
2495 |
-
}
|
2496 |
-
|
2497 |
-
function RemoteOpen($url) {
|
2498 |
-
$res = null;
|
2499 |
-
|
2500 |
-
if(file_exists(ABSPATH . 'wp-includes/class-snoopy.php')) {
|
2501 |
-
require_once( ABSPATH . 'wp-includes/class-snoopy.php');
|
2502 |
-
|
2503 |
-
$s = new Snoopy();
|
2504 |
-
$s->fetch($url);
|
2505 |
-
|
2506 |
-
if($s->status == 200) {
|
2507 |
-
$res = $s->results;
|
2508 |
-
}
|
2509 |
-
} else {
|
2510 |
-
$res = wp_remote_fopen($url);
|
2511 |
-
}
|
2512 |
-
return $res;
|
2513 |
-
}
|
2514 |
-
|
2515 |
-
/**
|
2516 |
-
* Tracks the last error (gets called by PHP)
|
2517 |
-
*
|
2518 |
-
* @since 3.0
|
2519 |
-
* @access private
|
2520 |
-
* @author Arne Brachhold
|
2521 |
-
*/
|
2522 |
-
function TrackError($log_level, $log_text, $error_file, $error_line) {
|
2523 |
-
$this->_lastError = $log_text;
|
2524 |
-
}
|
2525 |
-
|
2526 |
-
/**
|
2527 |
-
* Adds the options page in the admin menu
|
2528 |
-
*
|
2529 |
-
* @since 3.0
|
2530 |
-
* @access public
|
2531 |
-
* @author Arne Brachhold
|
2532 |
-
*/
|
2533 |
-
function RegisterAdminPage() {
|
2534 |
-
if (function_exists('add_options_page')) {
|
2535 |
-
add_options_page(__('XML-Sitemap Generator','sitemap'), __('XML-Sitemap','sitemap'), 'administrator', basename(__FILE__), array(&$this,'HtmlShowOptionsPage'));
|
2536 |
-
}
|
2537 |
-
}
|
2538 |
-
|
2539 |
-
/**
|
2540 |
-
* Echos option fields for an select field containing the valid change frequencies
|
2541 |
-
*
|
2542 |
-
* @since 3.0
|
2543 |
-
* @access private
|
2544 |
-
* @author Arne Brachhold
|
2545 |
-
* @param $currentVal The value which should be selected
|
2546 |
-
* @return all valid change frequencies as html option fields
|
2547 |
-
*/
|
2548 |
-
function HtmlGetFreqNames($currentVal) {
|
2549 |
-
foreach($this->_freqNames AS $v) {
|
2550 |
-
echo "<option value=\"$v\" " . $this->HtmlGetSelected($v,$currentVal) .">";
|
2551 |
-
echo ucfirst(__($v,'sitemap'));
|
2552 |
-
echo "</option>";
|
2553 |
-
}
|
2554 |
-
}
|
2555 |
-
|
2556 |
-
/**
|
2557 |
-
* Echos option fields for an select field containing the valid priorities (0- 1.0)
|
2558 |
-
*
|
2559 |
-
* @since 3.0
|
2560 |
-
* @access private
|
2561 |
-
* @author Arne Brachhold
|
2562 |
-
* @param $currentVal string The value which should be selected
|
2563 |
-
* @return 0.0 - 1.0 as html option fields
|
2564 |
-
*/
|
2565 |
-
function HtmlGetPriorityValues($currentVal) {
|
2566 |
-
$currentVal=(float) $currentVal;
|
2567 |
-
for($i=0.0; $i<=1.0; $i+=0.1) {
|
2568 |
-
echo "<option value=\"$i\" " . $this->HtmlGetSelected("$i","$currentVal") .">";
|
2569 |
-
_e(strval($i));
|
2570 |
-
echo "</option>";
|
2571 |
-
}
|
2572 |
-
}
|
2573 |
-
|
2574 |
-
/**
|
2575 |
-
* Returns the checked attribute if the given values match
|
2576 |
-
*
|
2577 |
-
* @since 3.0
|
2578 |
-
* @access private
|
2579 |
-
* @author Arne Brachhold
|
2580 |
-
* @param $val string The current value
|
2581 |
-
* @param $equals string The value to match
|
2582 |
-
* @return The checked attribute if the given values match, an empty string if not
|
2583 |
-
*/
|
2584 |
-
function HtmlGetChecked($val,$equals) {
|
2585 |
-
if($val==$equals) return $this->HtmlGetAttribute("checked");
|
2586 |
-
else return "";
|
2587 |
-
}
|
2588 |
-
|
2589 |
-
/**
|
2590 |
-
* Returns the selected attribute if the given values match
|
2591 |
-
*
|
2592 |
-
* @since 3.0
|
2593 |
-
* @access private
|
2594 |
-
* @author Arne Brachhold
|
2595 |
-
* @param $val string The current value
|
2596 |
-
* @param $equals string The value to match
|
2597 |
-
* @return The selected attribute if the given values match, an empty string if not
|
2598 |
-
*/
|
2599 |
-
function HtmlGetSelected($val,$equals) {
|
2600 |
-
if($val==$equals) return $this->HtmlGetAttribute("selected");
|
2601 |
-
else return "";
|
2602 |
-
}
|
2603 |
-
|
2604 |
-
/**
|
2605 |
-
* Returns an formatted attribute. If the value is NULL, the name will be used.
|
2606 |
-
*
|
2607 |
-
* @since 3.0
|
2608 |
-
* @access private
|
2609 |
-
* @author Arne Brachhold
|
2610 |
-
* @param $attr string The attribute name
|
2611 |
-
* @param $value string The attribute value
|
2612 |
-
* @return The formatted attribute
|
2613 |
-
*/
|
2614 |
-
function HtmlGetAttribute($attr,$value=NULL) {
|
2615 |
-
if($value==NULL) $value=$attr;
|
2616 |
-
return " " . $attr . "=\"" . $value . "\" ";
|
2617 |
-
}
|
2618 |
-
|
2619 |
-
/**
|
2620 |
-
* Returns an array with GoogleSitemapGeneratorPage objects which is generated from POST values
|
2621 |
-
*
|
2622 |
-
* @since 3.0
|
2623 |
-
* @see GoogleSitemapGeneratorPage
|
2624 |
-
* @access private
|
2625 |
-
* @author Arne Brachhold
|
2626 |
-
* @return array An array with GoogleSitemapGeneratorPage objects
|
2627 |
-
*/
|
2628 |
-
function HtmlApplyPages() {
|
2629 |
-
// Array with all page URLs
|
2630 |
-
$pages_ur=(!isset($_POST["sm_pages_ur"]) || !is_array($_POST["sm_pages_ur"])?array():$_POST["sm_pages_ur"]);
|
2631 |
-
|
2632 |
-
//Array with all priorities
|
2633 |
-
$pages_pr=(!isset($_POST["sm_pages_pr"]) || !is_array($_POST["sm_pages_pr"])?array():$_POST["sm_pages_pr"]);
|
2634 |
-
|
2635 |
-
//Array with all change frequencies
|
2636 |
-
$pages_cf=(!isset($_POST["sm_pages_cf"]) || !is_array($_POST["sm_pages_cf"])?array():$_POST["sm_pages_cf"]);
|
2637 |
-
|
2638 |
-
//Array with all lastmods
|
2639 |
-
$pages_lm=(!isset($_POST["sm_pages_lm"]) || !is_array($_POST["sm_pages_lm"])?array():$_POST["sm_pages_lm"]);
|
2640 |
-
|
2641 |
-
//Array where the new pages are stored
|
2642 |
-
$pages=array();
|
2643 |
-
|
2644 |
-
//Loop through all defined pages and set their properties into an object
|
2645 |
-
if(isset($_POST["sm_pages_mark"]) && is_array($_POST["sm_pages_mark"])) {
|
2646 |
-
for($i=0; $i<count($_POST["sm_pages_mark"]); $i++) {
|
2647 |
-
//Create new object
|
2648 |
-
$p=new GoogleSitemapGeneratorPage();
|
2649 |
-
if(substr($pages_ur[$i],0,4)=="www.") $pages_ur[$i]="http://" . $pages_ur[$i];
|
2650 |
-
$p->SetUrl($pages_ur[$i]);
|
2651 |
-
$p->SetProprity($pages_pr[$i]);
|
2652 |
-
$p->SetChangeFreq($pages_cf[$i]);
|
2653 |
-
//Try to parse last modified, if -1 (note ===) automatic will be used (0)
|
2654 |
-
$lm=(!empty($pages_lm[$i])?strtotime($pages_lm[$i],time()):-1);
|
2655 |
-
if($lm===-1) $p->setLastMod(0);
|
2656 |
-
else $p->setLastMod($lm);
|
2657 |
-
|
2658 |
-
//Add it to the array
|
2659 |
-
array_push($pages,$p);
|
2660 |
-
}
|
2661 |
-
}
|
2662 |
-
return $pages;
|
2663 |
-
}
|
2664 |
-
|
2665 |
-
function GetTimestampFromMySql($mysqlDateTime) {
|
2666 |
-
list($date, $hours) = split(' ', $mysqlDateTime);
|
2667 |
-
list($year,$month,$day) = split('-',$date);
|
2668 |
-
list($hour,$min,$sec) = split(':',$hours);
|
2669 |
-
return mktime($hour, $min, $sec, $month, $day, $year);
|
2670 |
-
}
|
2671 |
-
|
2672 |
-
|
2673 |
-
function GetResourceLink($resourceID) {
|
2674 |
-
return trailingslashit(get_bloginfo('siteurl')) . '?res=' . $resourceID;
|
2675 |
-
}
|
2676 |
-
|
2677 |
-
function GetRedirectLink($redir) {
|
2678 |
-
return trailingslashit("http://www.arnebrachhold.de/redir/" . $redir);
|
2679 |
-
}
|
2680 |
-
|
2681 |
-
function GetBackLink() {
|
2682 |
-
$page = basename(__FILE__);
|
2683 |
-
if(isset($_GET['page']) && !empty($_GET['page'])) {
|
2684 |
-
$page = preg_replace('[^a-zA-Z0-9\.\_\-]','',$_GET['page']);
|
2685 |
-
}
|
2686 |
-
return $_SERVER['PHP_SELF'] . "?page=" . $page;
|
2687 |
-
}
|
2688 |
-
|
2689 |
-
/**
|
2690 |
-
* Displays the option page
|
2691 |
-
*
|
2692 |
-
* @since 3.0
|
2693 |
-
* @access public
|
2694 |
-
* @author Arne Brachhold
|
2695 |
-
*/
|
2696 |
-
function HtmlShowOptionsPage() {
|
2697 |
-
global $wp_version;
|
2698 |
-
$this->Initate();
|
2699 |
-
|
2700 |
-
//All output should go in this var which get printed at the end
|
2701 |
-
$message="";
|
2702 |
-
|
2703 |
-
if(isset($_GET['sm_donated'])) {
|
2704 |
-
$this->SetOption('i_donated',true);
|
2705 |
-
$this->SaveOptions();
|
2706 |
-
}
|
2707 |
-
if(isset($_GET['sm_hide_note'])) {
|
2708 |
-
$this->SetOption('i_hide_note',true);
|
2709 |
-
$this->SaveOptions();
|
2710 |
-
}
|
2711 |
-
|
2712 |
-
if(isset($_GET['sm_hidedonors'])) {
|
2713 |
-
$this->SetOption('i_hide_donors',true);
|
2714 |
-
$this->SaveOptions();
|
2715 |
-
}
|
2716 |
-
|
2717 |
-
if(isset($_GET['sm_donated']) || ($this->GetOption('i_donated')===true && $this->GetOption('i_hide_donated')!==true)) {
|
2718 |
-
?>
|
2719 |
-
<div class="updated">
|
2720 |
-
<strong><p><?php _e('Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!','sitemap'); ?> <a href="<?php echo $this->GetBackLink() . "&sm_hidedonate=true"; ?>"><small style="font-weight:normal;"><?php _e('Hide this notice', 'sitemap'); ?></small></a></p></strong>
|
2721 |
-
</div>
|
2722 |
-
<?php
|
2723 |
-
} else if($this->GetOption('i_donated') !== true && $this->GetOption('i_install_date')>0 && $this->GetOption('i_hide_note')!==true && time() > ($this->GetOption('i_install_date') + (60*60*24*30))) {
|
2724 |
-
?>
|
2725 |
-
<div class="updated">
|
2726 |
-
<strong><p><?php echo str_replace("%s",$this->GetRedirectLink("sitemap-donate-note"),__('Thanks for using this plugin! You\'ve installed this plugin over a month ago. If it works and your are satisfied with the results, isn\'t it worth at least one 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>','sitemap')); ?> <a href="<?php echo $this->GetBackLink() . "&sm_hide_note=true"; ?>" style="float:right; display:block; border:none;"><small style="font-weight:normal; "><?php _e('No thanks, please don\'t bug me anymore!', 'sitemap'); ?></small></a></p></strong>
|
2727 |
-
<div style="clear:right;"></div>
|
2728 |
-
</div>
|
2729 |
-
<?php
|
2730 |
-
}
|
2731 |
-
|
2732 |
-
|
2733 |
-
if(!empty($_REQUEST["sm_rebuild"])) { //Pressed Button: Rebuild Sitemap
|
2734 |
-
if(isset($_GET["sm_do_debug"]) && $_GET["sm_do_debug"]=="true") {
|
2735 |
-
|
2736 |
-
//Check again, just for the case that something went wrong before
|
2737 |
-
if(!current_user_can("administrator")) {
|
2738 |
-
echo '<p>Please log in as admin</p>';
|
2739 |
-
return;
|
2740 |
-
}
|
2741 |
-
|
2742 |
-
$oldErr = error_reporting(E_ALL);
|
2743 |
-
$oldIni = ini_set("display_errors",1);
|
2744 |
-
|
2745 |
-
echo '<div class="wrap">';
|
2746 |
-
echo '<h2>' . __('XML Sitemap Generator for WordPress', 'sitemap') . " " . $this->GetVersion(). '</h2>';
|
2747 |
-
echo '<p>This is the debug mode of the XML Sitemap Generator. It will show all PHP notices and warnings as well as the internal logs, messages and configuration.</p>';
|
2748 |
-
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>';
|
2749 |
-
echo "<h3>WordPress and PHP Information</h3>";
|
2750 |
-
echo '<p>WordPress ' . $GLOBALS['wp_version'] . ' with ' . ' DB ' . $GLOBALS['wp_db_version'] . ' on PHP ' . phpversion() . '</p>';
|
2751 |
-
echo '<p>Plugin version: ' . $this->_version . ' (' . $this->_svnVersion . ')';
|
2752 |
-
echo '<h4>Environment</h4>';
|
2753 |
-
echo "<pre>";
|
2754 |
-
$sc = $_SERVER;
|
2755 |
-
unset($sc["HTTP_COOKIE"]);
|
2756 |
-
print_r($sc);
|
2757 |
-
echo "</pre>";
|
2758 |
-
echo "<h4>WordPress Config</h4>";
|
2759 |
-
echo "<pre>";
|
2760 |
-
$opts = wp_load_alloptions();
|
2761 |
-
$popts = array();
|
2762 |
-
foreach($opts as $k=>$v) {
|
2763 |
-
//Try to filter out passwords etc...
|
2764 |
-
if(preg_match("/(pass|login|pw|secret|user|usr)/si",$v)) continue;
|
2765 |
-
$popts[$k] = htmlspecialchars($v);
|
2766 |
-
}
|
2767 |
-
print_r($popts);
|
2768 |
-
echo "</pre>";
|
2769 |
-
echo '<h4>Sitemap Config</h4>';
|
2770 |
-
echo "<pre>";
|
2771 |
-
print_r($this->_options);
|
2772 |
-
echo "</pre>";
|
2773 |
-
echo '<h3>Errors, Warnings, Notices</h3>';
|
2774 |
-
echo '<div>';
|
2775 |
-
$status = $this->BuildSitemap();
|
2776 |
-
echo '</div>';
|
2777 |
-
echo '<h3>MySQL Queries</h3>';
|
2778 |
-
if(defined('SAVEQUERIES') && SAVEQUERIES) {
|
2779 |
-
echo '<pre>';
|
2780 |
-
var_dump($GLOBALS['wpdb']->queries);
|
2781 |
-
echo '</pre>';
|
2782 |
-
|
2783 |
-
$total = 0;
|
2784 |
-
foreach($GLOBALS['wpdb']->queries as $q) {
|
2785 |
-
$total+=$q[1];
|
2786 |
-
}
|
2787 |
-
echo '<h4>Total Query Time</h4>';
|
2788 |
-
echo '<pre>' . count($GLOBALS['wpdb']->queries) . ' queries in ' . round($total,2) . ' seconds.</pre>';
|
2789 |
-
} else {
|
2790 |
-
echo '<p>Please edit wp-db.inc.php in wp-includes and set SAVEQUERIES to true if you want to see the queries.</p>';
|
2791 |
-
}
|
2792 |
-
echo "<h3>Build Process Results</h3>";
|
2793 |
-
echo "<pre>";
|
2794 |
-
print_r($status);
|
2795 |
-
echo "</pre>";
|
2796 |
-
echo '<p>Done. <a href="' . $this->GetBackLink() . '&sm_rebuild=true&sm_do_debug=true">Rebuild</a> or <a href="' . $this->GetBackLink() . '">Return</a></p>';
|
2797 |
-
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>';
|
2798 |
-
echo '</div>';
|
2799 |
-
@error_reporting($oldErr);
|
2800 |
-
@ini_set("display_errors",$oldIni);
|
2801 |
-
return;
|
2802 |
-
} else {
|
2803 |
-
$this->BuildSitemap();
|
2804 |
-
//Redirect so the sm_rebuild GET parameter no longer exists.
|
2805 |
-
@header("location: " . $this->GetBackLink());
|
2806 |
-
//If there was already any other output, the header redirect will fail
|
2807 |
-
echo '<script type="text/javascript">location.replace("' . $this->GetBackLink() . '");</script>';
|
2808 |
-
echo '<noscript><a href="' . $this->GetBackLink() . '">Click here to continue</a></noscript>';
|
2809 |
-
exit;
|
2810 |
-
}
|
2811 |
-
} else if (!empty($_POST['sm_update'])) { //Pressed Button: Update Config
|
2812 |
-
|
2813 |
-
foreach($this->_options as $k=>$v) {
|
2814 |
-
//Check vor values and convert them into their types, based on the category they are in
|
2815 |
-
if(!isset($_POST[$k])) $_POST[$k]=""; // Empty string will get false on 2bool and 0 on 2float
|
2816 |
-
//Options of the category "Basic Settings" are boolean, except the filename and the autoprio provider
|
2817 |
-
if(substr($k,0,5)=="sm_b_") {
|
2818 |
-
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_yahookey" || $k == "sm_b_style" || $k == "sm_b_memory") {
|
2819 |
-
if($k=="sm_b_filename_manual" && strpos($_POST[$k],"\\")!==false){
|
2820 |
-
$_POST[$k]=stripslashes($_POST[$k]);
|
2821 |
-
}
|
2822 |
-
$this->_options[$k]=(string) $_POST[$k];
|
2823 |
-
} else if($k=="sm_b_location_mode") {
|
2824 |
-
$tmp=(string) $_POST[$k];
|
2825 |
-
$tmp=strtolower($tmp);
|
2826 |
-
if($tmp=="auto" || $tmp="manual") $this->_options[$k]=$tmp;
|
2827 |
-
else $this->_options[$k]="auto";
|
2828 |
-
} else if($k == "sm_b_time" || $k=="sm_b_max_posts") {
|
2829 |
-
if($_POST[$k]=='') $_POST[$k] = -1;
|
2830 |
-
$this->_options[$k] = intval($_POST[$k]);
|
2831 |
-
} else if($k== "sm_i_install_date") {
|
2832 |
-
if($this->GetOption('i_install_date')<=0) $this->_options[$k] = time();
|
2833 |
-
} else if($k=="sm_b_exclude") {
|
2834 |
-
$IDss = array();
|
2835 |
-
$IDs = explode(",",$_POST[$k]);
|
2836 |
-
for($x = 0; $x<count($IDs); $x++) {
|
2837 |
-
$ID = intval(trim($IDs[$x]));
|
2838 |
-
if($ID>0) $IDss[] = $ID;
|
2839 |
-
}
|
2840 |
-
$this->_options[$k] = $IDss;
|
2841 |
-
} else {
|
2842 |
-
$this->_options[$k]=(bool) $_POST[$k];
|
2843 |
-
}
|
2844 |
-
//Options of the category "Includes" are boolean
|
2845 |
-
} else if(substr($k,0,6)=="sm_in_") {
|
2846 |
-
$this->_options[$k]=(bool) $_POST[$k];
|
2847 |
-
//Options of the category "Change frequencies" are string
|
2848 |
-
} else if(substr($k,0,6)=="sm_cf_") {
|
2849 |
-
$this->_options[$k]=(string) $_POST[$k];
|
2850 |
-
//Options of the category "Priorities" are float
|
2851 |
-
} else if(substr($k,0,6)=="sm_pr_") {
|
2852 |
-
$this->_options[$k]=(float) $_POST[$k];
|
2853 |
-
}
|
2854 |
-
}
|
2855 |
-
|
2856 |
-
//Apply page changes from POST
|
2857 |
-
$this->_pages=$this->HtmlApplyPages();
|
2858 |
-
|
2859 |
-
if($this->SaveOptions()) $message.=__('Configuration updated', 'sitemap') . "<br />";
|
2860 |
-
else $message.=__('Error while saving options', 'sitemap') . "<br />";
|
2861 |
-
|
2862 |
-
if($this->SavePages()) $message.=__("Pages saved",'sitemap') . "<br />";
|
2863 |
-
else $message.=__('Error while saving pages', 'sitemap'). "<br />";
|
2864 |
-
|
2865 |
-
if($this->GetOption('sm_b_robots')===true) {
|
2866 |
-
if($this->WriteRobotsFile()) {
|
2867 |
-
$message.=str_replace("%s",$this->GetRobotsFileUrl(),__("<a href=\"%s\">Robots.txt</a> file saved",'sitemap')) . "<br />";
|
2868 |
-
} else {
|
2869 |
-
$message.=__("Error while saving Robots.txt file",'sitemap') . "<br />";
|
2870 |
-
}
|
2871 |
-
}
|
2872 |
-
|
2873 |
-
} else if(!empty($_POST["sm_reset_config"])) { //Pressed Button: Reset Config
|
2874 |
-
$this->InitOptions();
|
2875 |
-
$this->SaveOptions();
|
2876 |
-
|
2877 |
-
$message.=__('The default configuration was restored.','sitemap');
|
2878 |
-
}
|
2879 |
-
|
2880 |
-
//Print out the message to the user, if any
|
2881 |
-
if($message!="") {
|
2882 |
-
?>
|
2883 |
-
<div class="updated"><strong><p><?php
|
2884 |
-
echo $message;
|
2885 |
-
?></p></strong></div><?php
|
2886 |
-
}
|
2887 |
-
?>
|
2888 |
-
|
2889 |
-
<style type="text/css">
|
2890 |
-
|
2891 |
-
li.sm_hint {
|
2892 |
-
color:green;
|
2893 |
-
}
|
2894 |
-
|
2895 |
-
li.sm_optimize {
|
2896 |
-
color:orange;
|
2897 |
-
}
|
2898 |
-
|
2899 |
-
li.sm_error {
|
2900 |
-
color:red;
|
2901 |
-
}
|
2902 |
-
|
2903 |
-
input.sm_warning:hover {
|
2904 |
-
background: #ce0000;
|
2905 |
-
color: #fff;
|
2906 |
-
}
|
2907 |
-
|
2908 |
-
a.sm_button {
|
2909 |
-
padding:4px;
|
2910 |
-
display:block;
|
2911 |
-
padding-left:25px;
|
2912 |
-
background-repeat:no-repeat;
|
2913 |
-
background-position:5px 50%;
|
2914 |
-
text-decoration:none;
|
2915 |
-
border:none;
|
2916 |
-
}
|
2917 |
-
|
2918 |
-
a.sm_button:hover {
|
2919 |
-
border-bottom-width:1px;
|
2920 |
-
}
|
2921 |
-
|
2922 |
-
a.sm_donatePayPal {
|
2923 |
-
background-image:url(<?php echo $this->GetResourceLink("{8C0BAD8C-77FA-4842-956E-CDEF7635F2C7}"); ?>);
|
2924 |
-
}
|
2925 |
-
|
2926 |
-
a.sm_donateAmazon {
|
2927 |
-
background-image:url(<?php echo $this->GetResourceLink("{9866EAFC-3F85-44df-8A72-4CD1566E2D4F}"); ?>);
|
2928 |
-
}
|
2929 |
-
|
2930 |
-
a.sm_pluginHome {
|
2931 |
-
background-image:url(<?php echo $this->GetResourceLink("{AD59B831-BF3D-49b1-A649-9DD8EDA1798A}"); ?>);
|
2932 |
-
}
|
2933 |
-
|
2934 |
-
a.sm_pluginList {
|
2935 |
-
background-image:url(<?php echo $this->GetResourceLink("{FFA3E2B1-D2B1-4c66-B8A4-5F6E7D8781F2}"); ?>);
|
2936 |
-
}
|
2937 |
-
|
2938 |
-
a.sm_pluginSupport {
|
2939 |
-
background-image:url(<?php echo $this->GetResourceLink("{234C74C9-3DF4-4ae2-A12E-C157C67059D8}"); ?>);
|
2940 |
-
}
|
2941 |
-
|
2942 |
-
a.sm_resGoogle {
|
2943 |
-
background-image:url(<?php echo $this->GetResourceLink("{7E5622AF-0DE3-4e43-99F9-33EC61308376}"); ?>);
|
2944 |
-
}
|
2945 |
-
|
2946 |
-
a.sm_resYahoo {
|
2947 |
-
background-image:url(<?php echo $this->GetResourceLink("{BC853F21-410E-47ff-BB6D-2B89C9D7E76B}"); ?>);
|
2948 |
-
}
|
2949 |
-
|
2950 |
-
a.sm_resLive {
|
2951 |
-
background-image:url(<?php echo $this->GetResourceLink("{E36B4B70-BFF0-4792-B08F-3FA90501E8BB}"); ?>);
|
2952 |
-
}
|
2953 |
-
|
2954 |
-
</style>
|
2955 |
-
|
2956 |
-
<?php
|
2957 |
-
if(version_compare($wp_version,"2.5",">=")) {
|
2958 |
-
?>
|
2959 |
-
<style type="text/css">
|
2960 |
-
div#moremeta {
|
2961 |
-
float:right;
|
2962 |
-
width:200px;
|
2963 |
-
margin-left:10px;
|
2964 |
-
}
|
2965 |
-
div#advancedstuff {
|
2966 |
-
width:770px;
|
2967 |
-
}
|
2968 |
-
div#poststuff {
|
2969 |
-
margin-top:10px;
|
2970 |
-
}
|
2971 |
-
fieldset.dbx-box {
|
2972 |
-
margin-bottom:5px;
|
2973 |
-
}
|
2974 |
-
|
2975 |
-
</style>
|
2976 |
-
<!--[if lt IE 7]>
|
2977 |
-
<style type="text/css">
|
2978 |
-
div#advancedstuff {
|
2979 |
-
width:735px;
|
2980 |
-
}
|
2981 |
-
</style>
|
2982 |
-
<![endif]-->
|
2983 |
-
|
2984 |
-
<?php
|
2985 |
-
}
|
2986 |
-
?>
|
2987 |
-
|
2988 |
-
|
2989 |
-
|
2990 |
-
|
2991 |
-
|
2992 |
-
<div class="wrap" id="sm_div">
|
2993 |
-
<form method="post" action="<?php echo $this->GetBackLink() ?>">
|
2994 |
-
<h2><?php _e('XML Sitemap Generator for WordPress', 'sitemap'); echo " " . $this->GetVersion() ?> </h2>
|
2995 |
-
<?php if(version_compare($wp_version,"2.5","<")): ?>
|
2996 |
-
<script type="text/javascript" src="../wp-includes/js/dbx.js"></script>
|
2997 |
-
<script type="text/javascript">
|
2998 |
-
//<![CDATA[
|
2999 |
-
addLoadEvent( function() {
|
3000 |
-
var manager = new dbxManager('sm_sitemap_meta_33');
|
3001 |
-
|
3002 |
-
//create new docking boxes group
|
3003 |
-
var meta = new dbxGroup(
|
3004 |
-
'grabit', // container ID [/-_a-zA-Z0-9/]
|
3005 |
-
'vertical', // orientation ['vertical'|'horizontal']
|
3006 |
-
'10', // drag threshold ['n' pixels]
|
3007 |
-
'no', // restrict drag movement to container axis ['yes'|'no']
|
3008 |
-
'10', // animate re-ordering [frames per transition, or '0' for no effect]
|
3009 |
-
'yes', // include open/close toggle buttons ['yes'|'no']
|
3010 |
-
'open', // default state ['open'|'closed']
|
3011 |
-
<?php echo "'" . js_escape(__('open')); ?>', // word for "open", as in "open this box"
|
3012 |
-
<?php echo "'" . js_escape(__('close')); ?>', // word for "close", as in "close this box"
|
3013 |
-
<?php echo "'" . js_escape(__('click-down and drag to move this box')); ?>', // sentence for "move this box" by mouse
|
3014 |
-
<?php echo "'" . js_escape(__('click to %toggle% this box')); ?>', // pattern-match sentence for "(open|close) this box" by mouse
|
3015 |
-
<?php echo "'" . js_escape(__('use the arrow keys to move this box')); ?>', // sentence for "move this box" by keyboard
|
3016 |
-
<?php echo "'" . js_escape(__(', or press the enter key to %toggle% it')); ?>', // pattern-match sentence-fragment for "(open|close) this box" by keyboard
|
3017 |
-
'%mytitle% [%dbxtitle%]' // pattern-match syntax for title-attribute conflicts
|
3018 |
-
);
|
3019 |
-
|
3020 |
-
var advanced = new dbxGroup(
|
3021 |
-
'advancedstuff', // container ID [/-_a-zA-Z0-9/]
|
3022 |
-
'vertical', // orientation ['vertical'|'horizontal']
|
3023 |
-
'10', // drag threshold ['n' pixels]
|
3024 |
-
'yes', // restrict drag movement to container axis ['yes'|'no']
|
3025 |
-
'10', // animate re-ordering [frames per transition, or '0' for no effect]
|
3026 |
-
'yes', // include open/close toggle buttons ['yes'|'no']
|
3027 |
-
'open', // default state ['open'|'closed']
|
3028 |
-
<?php echo "'" . js_escape(__('open')); ?>', // word for "open", as in "open this box"
|
3029 |
-
<?php echo "'" . js_escape(__('close')); ?>', // word for "close", as in "close this box"
|
3030 |
-
<?php echo "'" . js_escape(__('click-down and drag to move this box')); ?>', // sentence for "move this box" by mouse
|
3031 |
-
<?php echo "'" . js_escape(__('click to %toggle% this box')); ?>', // pattern-match sentence for "(open|close) this box" by mouse
|
3032 |
-
<?php echo "'" . js_escape(__('use the arrow keys to move this box')); ?>', // sentence for "move this box" by keyboard
|
3033 |
-
<?php echo "'" . js_escape(__(', or press the enter key to %toggle% it')); ?>', // pattern-match sentence-fragment for "(open|close) this box" by keyboard
|
3034 |
-
'%mytitle% [%dbxtitle%]' // pattern-match syntax for title-attribute conflicts
|
3035 |
-
);
|
3036 |
-
});
|
3037 |
-
//]]>
|
3038 |
-
</script>
|
3039 |
-
<?php endif; ?>
|
3040 |
-
|
3041 |
-
<div id="poststuff">
|
3042 |
-
<div id="moremeta">
|
3043 |
-
<div id="grabit" class="dbx-group">
|
3044 |
-
<fieldset id="sm_pnres" class="dbx-box">
|
3045 |
-
<h3 class="dbx-handle"><?php _e('About this Plugin:','sitemap'); ?></h3>
|
3046 |
-
<div class="dbx-content">
|
3047 |
-
<a class="sm_button sm_pluginHome" href="<?php echo $this->GetRedirectLink('sitemap-home'); ?>"><?php _e('Plugin Homepage','sitemap'); ?></a>
|
3048 |
-
<a class="sm_button sm_pluginList" href="<?php echo $this->GetRedirectLink('sitemap-list'); ?>"><?php _e('Notify List','sitemap'); ?></a>
|
3049 |
-
<a class="sm_button sm_pluginSupport" href="<?php echo $this->GetRedirectLink('sitemap-support'); ?>"><?php _e('Support Forum','sitemap'); ?></a>
|
3050 |
-
<a class="sm_button sm_donatePayPal" href="<?php echo $this->GetRedirectLink('sitemap-paypal'); ?>"><?php _e('Donate with PayPal','sitemap'); ?></a>
|
3051 |
-
<a class="sm_button sm_donateAmazon" href="<?php echo $this->GetRedirectLink('sitemap-amazon'); ?>"><?php _e('My Amazon Wish List','sitemap'); ?></a>
|
3052 |
-
<?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 } ?>
|
3053 |
-
</div>
|
3054 |
-
</fieldset>
|
3055 |
-
<fieldset id="sm_smres" class="dbx-box">
|
3056 |
-
<h3 class="dbx-handle"><?php _e('Sitemap Resources:','sitemap'); ?></h3>
|
3057 |
-
<div class="dbx-content">
|
3058 |
-
<a class="sm_button sm_resGoogle" href="<?php echo $this->GetRedirectLink('sitemap-gwt'); ?>"><?php _e('Webmaster Tools','sitemap'); ?></a>
|
3059 |
-
<a class="sm_button sm_resGoogle" href="<?php echo $this->GetRedirectLink('sitemap-gwb'); ?>"><?php _e('Webmaster Blog','sitemap'); ?></a>
|
3060 |
-
|
3061 |
-
<a class="sm_button sm_resYahoo" href="<?php echo $this->GetRedirectLink('sitemap-yse'); ?>"><?php _e('Site Explorer','sitemap'); ?></a>
|
3062 |
-
<a class="sm_button sm_resYahoo" href="<?php echo $this->GetRedirectLink('sitemap-ywb'); ?>"><?php _e('Search Blog','sitemap'); ?></a>
|
3063 |
-
|
3064 |
-
<a class="sm_button sm_resLive" href="<?php echo $this->GetRedirectLink('sitemap-lwt'); ?>"><?php _e('Webmaster Tools','sitemap'); ?></a>
|
3065 |
-
<a class="sm_button sm_resLive" href="<?php echo $this->GetRedirectLink('sitemap-lswcb'); ?>"><?php _e('Webmaster Center Blog','sitemap'); ?></a>
|
3066 |
-
<br />
|
3067 |
-
<a class="sm_button sm_resGoogle" href="<?php echo $this->GetRedirectLink('sitemap-prot'); ?>"><?php _e('Sitemaps Protocol','sitemap'); ?></a>
|
3068 |
-
<a class="sm_button sm_resGoogle" href="<?php echo $this->GetRedirectLink('sitemap-ofaq'); ?>"><?php _e('Official Sitemaps FAQ','sitemap'); ?></a>
|
3069 |
-
<a class="sm_button sm_pluginHome" href="<?php echo $this->GetRedirectLink('sitemap-afaq'); ?>"><?php _e('My Sitemaps FAQ','sitemap'); ?></a>
|
3070 |
-
</div>
|
3071 |
-
</fieldset>
|
3072 |
-
|
3073 |
-
<fieldset id="dm_donations" class="dbx-box">
|
3074 |
-
<h3 class="dbx-handle"><?php _e('Recent Donations:','sitemap'); ?></h3>
|
3075 |
-
<div class="dbx-content">
|
3076 |
-
<?php if($this->GetOption('i_hide_donors')!==true) { ?>
|
3077 |
-
<iframe border="0" frameborder="0" scrolling="no" allowtransparency="yes" style="width:100%; height:80px;" src="<?php echo $this->GetRedirectLink('sitemap-donorlist'); ?>">
|
3078 |
-
<?php _e('List of the donors','sitemap'); ?>
|
3079 |
-
</iframe><br />
|
3080 |
-
<a href="<?php echo $this->GetBackLink() . "&sm_hidedonors=true"; ?>"><small><?php _e('Hide this list','sitemap'); ?></small></a><br /><br />
|
3081 |
-
<?php } ?>
|
3082 |
-
<a style="float:left; margin-right:5px; border:none;" href="javascript:document.getElementById('sm_donate_form').submit();"><img style="vertical-align:middle; border:none; margin-top:2px;" src="<?php echo $this->GetResourceLink("{6E89EFD4-A853-4321-B5CF-3E36C60B268D}"); ?>" border="0" alt="PayPal" title="Help me to continue support of this plugin :)" /></a>
|
3083 |
-
<span><small><?php _e('Thanks for your support!','sitemap'); ?></small></span>
|
3084 |
-
</div>
|
3085 |
-
</fieldset>
|
3086 |
-
</div>
|
3087 |
-
</div>
|
3088 |
-
|
3089 |
-
<div id="advancedstuff" class="dbx-group" >
|
3090 |
-
|
3091 |
-
<!-- Rebuild Area -->
|
3092 |
-
<div class="dbx-b-ox-wrapper">
|
3093 |
-
<fieldset id="sm_rebuild" class="dbx-box">
|
3094 |
-
<div class="dbx-h-andle-wrapper">
|
3095 |
-
<h3 class="dbx-handle"><?php _e('Status', 'sitemap') ?></h3>
|
3096 |
-
</div>
|
3097 |
-
<div class="dbx-c-ontent-wrapper">
|
3098 |
-
<div class="dbx-content">
|
3099 |
-
<ul>
|
3100 |
-
<?php
|
3101 |
-
|
3102 |
-
//#type $status GoogleSitemapGeneratorStatus
|
3103 |
-
$status = GoogleSitemapGeneratorStatus::Load();
|
3104 |
-
if($status == null) {
|
3105 |
-
echo "<li>" . str_replace("%s",$this->GetBackLink() . "&sm_rebuild=true",__('The sitemap wasn\'t built yet. <a href="%s">Click here</a> to build it the first time.','sitemap')) . "</li>";
|
3106 |
-
} else {
|
3107 |
-
if($status->_endTime !== 0) {
|
3108 |
-
if($status->_usedXml) {
|
3109 |
-
if($status->_xmlSuccess) {
|
3110 |
-
$ft = filemtime($status->_xmlPath);
|
3111 |
-
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>";
|
3112 |
-
} else {
|
3113 |
-
echo "<li class=\"sm_error\">" . str_replace("%url%",$this->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>";
|
3114 |
-
}
|
3115 |
-
}
|
3116 |
-
|
3117 |
-
if($status->_usedZip) {
|
3118 |
-
if($status->_zipSuccess) {
|
3119 |
-
$ft = filemtime($status->_zipPath);
|
3120 |
-
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>";
|
3121 |
-
} else {
|
3122 |
-
echo "<li class=\"sm_error\">" . str_replace("%url%",$this->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>";
|
3123 |
-
}
|
3124 |
-
}
|
3125 |
-
|
3126 |
-
if($status->_usedGoogle) {
|
3127 |
-
if($status->_gooogleSuccess) {
|
3128 |
-
echo "<li>" .__("Google was <b>successfully notified</b> about changes.",'sitemap'). "</li>";
|
3129 |
-
$gt = $status->GetGoogleTime();
|
3130 |
-
if($gt>4) {
|
3131 |
-
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>";
|
3132 |
-
}
|
3133 |
-
} else {
|
3134 |
-
echo "<li class=\"sm_error\">" . str_replace("%s",$status->_googleUrl,__('There was a problem while notifying Google. <a href="%s">View result</a>','sitemap')) . "</li>";
|
3135 |
-
}
|
3136 |
-
}
|
3137 |
-
|
3138 |
-
if($status->_usedYahoo) {
|
3139 |
-
if($status->_yahooSuccess) {
|
3140 |
-
echo "<li>" .__("YAHOO was <b>successfully notified</b> about changes.",'sitemap'). "</li>";
|
3141 |
-
$yt = $status->GetYahooTime();
|
3142 |
-
if($yt>4) {
|
3143 |
-
echo "<li class=\sm_optimize\">" . str_replace("%time%",$yt,__("It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time.",'sitemap')) . "</li>";
|
3144 |
-
}
|
3145 |
-
} else {
|
3146 |
-
echo "<li class=\"sm_error\">" . str_replace("%s",$status->_yahooUrl,__('There was a problem while notifying YAHOO. <a href="%s">View result</a>','sitemap')) . "</li>";
|
3147 |
-
}
|
3148 |
-
}
|
3149 |
-
|
3150 |
-
if($status->_usedMsn) {
|
3151 |
-
if($status->_msnSuccess) {
|
3152 |
-
echo "<li>" .__("MSN was <b>successfully notified</b> about changes.",'sitemap'). "</li>";
|
3153 |
-
$at = $status->GetMsnTime();
|
3154 |
-
if($at>4) {
|
3155 |
-
echo "<li class=\sm_optimize\">" . str_replace("%time%",$at,__("It took %time% seconds to notify MSN.com, maybe you want to disable this feature to reduce the building time.",'sitemap')) . "</li>";
|
3156 |
-
}
|
3157 |
-
} else {
|
3158 |
-
echo "<li class=\"sm_error\">" . str_replace("%s",$status->_msnUrl,__('There was a problem while notifying MSN.com. <a href="%s">View result</a>','sitemap')) . "</li>";
|
3159 |
-
}
|
3160 |
-
}
|
3161 |
-
|
3162 |
-
if($status->_usedAsk) {
|
3163 |
-
if($status->_askSuccess) {
|
3164 |
-
echo "<li>" .__("Ask.com was <b>successfully notified</b> about changes.",'sitemap'). "</li>";
|
3165 |
-
$at = $status->GetAskTime();
|
3166 |
-
if($at>4) {
|
3167 |
-
echo "<li class=\sm_optimize\">" . str_replace("%time%",$at,__("It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time.",'sitemap')) . "</li>";
|
3168 |
-
}
|
3169 |
-
} else {
|
3170 |
-
echo "<li class=\"sm_error\">" . str_replace("%s",$status->_askUrl,__('There was a problem while notifying Ask.com. <a href="%s">View result</a>','sitemap')) . "</li>";
|
3171 |
-
}
|
3172 |
-
}
|
3173 |
-
|
3174 |
-
$et = $status->GetTime();
|
3175 |
-
$mem = $status->GetMemoryUsage();
|
3176 |
-
|
3177 |
-
if($mem > 0) {
|
3178 |
-
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>";
|
3179 |
-
} else {
|
3180 |
-
echo "<li>" .str_replace("%time%",$et,__("The building process took about <b>%time% seconds</b> to complete.",'sitemap')). "</li>";
|
3181 |
-
}
|
3182 |
-
|
3183 |
-
if(!$status->_hasChanged) {
|
3184 |
-
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>";
|
3185 |
-
}
|
3186 |
-
|
3187 |
-
} else {
|
3188 |
-
echo '<li class="sm_error">'. str_replace("%url%",$this->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>';
|
3189 |
-
if($status->_memoryUsage > 0) {
|
3190 |
-
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>';
|
3191 |
-
}
|
3192 |
-
|
3193 |
-
if($status->_lastTime > 0) {
|
3194 |
-
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>';
|
3195 |
-
}
|
3196 |
-
|
3197 |
-
if($status->GetLastPost() > 0) {
|
3198 |
-
echo '<li class="sm_optimize">'. str_replace("%lastpost%",$status->GetLastPost(),__("The script stopped around post number %lastpost% (+/- 100)",'sitemap')) . '</li>';
|
3199 |
-
}
|
3200 |
-
}
|
3201 |
-
echo "<li>" . str_replace("%s",$this->GetBackLink() . "&sm_rebuild=true",__('If you changed something on your server or blog, you should <a href="%s">rebuild the sitemap</a> manually.','sitemap')) . "</li>";
|
3202 |
-
}
|
3203 |
-
echo "<li>" . str_replace("%d",$this->GetBackLink() . "&sm_rebuild=true&sm_do_debug=true",__('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>";
|
3204 |
-
?>
|
3205 |
-
|
3206 |
-
</ul>
|
3207 |
-
</div>
|
3208 |
-
</div>
|
3209 |
-
</fieldset>
|
3210 |
-
</div>
|
3211 |
-
|
3212 |
-
<!-- Basic Options -->
|
3213 |
-
<div class="dbx-b-ox-wrapper">
|
3214 |
-
<fieldset id="sm_basic_options" class="dbx-box">
|
3215 |
-
<div class="dbx-h-andle-wrapper">
|
3216 |
-
<h3 class="dbx-handle"><?php _e('Basic Options', 'sitemap') ?></h3>
|
3217 |
-
</div>
|
3218 |
-
<div class="dbx-c-ontent-wrapper">
|
3219 |
-
<div class="dbx-content">
|
3220 |
-
<b><?php _e('Sitemap files:','sitemap'); ?></b> <a href="<?php echo $this->GetRedirectLink('sitemap-help-options-files'); ?>"><?php _e('Learn more','sitemap'); ?></a>
|
3221 |
-
<ul>
|
3222 |
-
<li>
|
3223 |
-
<label for="sm_b_xml">
|
3224 |
-
<input type="checkbox" id="sm_b_xml" name="sm_b_xml" <?php echo ($this->GetOption("b_xml")==true?"checked=\"checked\"":"") ?> />
|
3225 |
-
<?php _e('Write a normal XML file (your filename)', 'sitemap') ?>
|
3226 |
-
</label>
|
3227 |
-
</li>
|
3228 |
-
<li>
|
3229 |
-
<label for="sm_b_gzip">
|
3230 |
-
<input type="checkbox" id="sm_b_gzip" name="sm_b_gzip" <?php if(function_exists("gzencode")) { echo ($this->GetOption("b_gzip")==true?"checked=\"checked\"":""); } else echo "disabled=\"disabled\""; ?> />
|
3231 |
-
<?php _e('Write a gzipped file (your filename + .gz)', 'sitemap') ?>
|
3232 |
-
</label>
|
3233 |
-
</li>
|
3234 |
-
</ul>
|
3235 |
-
<b><?php _e('Building mode:','sitemap'); ?></b> <a href="<?php echo $this->GetRedirectLink('sitemap-help-options-process'); ?>"><?php _e('Learn more','sitemap'); ?></a>
|
3236 |
-
<ul>
|
3237 |
-
<li>
|
3238 |
-
<label for="sm_b_auto_enabled">
|
3239 |
-
<input type="checkbox" id="sm_b_auto_enabled" name="sm_b_auto_enabled" <?php echo ($this->GetOption("sm_b_auto_enabled")==true?"checked=\"checked\"":""); ?> />
|
3240 |
-
<?php _e('Rebuild sitemap if you change the content of your blog', 'sitemap') ?>
|
3241 |
-
</label>
|
3242 |
-
</li>
|
3243 |
-
<li>
|
3244 |
-
<label for="sm_b_manual_enabled">
|
3245 |
-
<input type="hidden" name="sm_b_manual_key" value="<?php echo $this->GetOption("b_manual_key"); ?>" />
|
3246 |
-
<input type="checkbox" id="sm_b_manual_enabled" name="sm_b_manual_enabled" <?php echo ($this->GetOption("b_manual_enabled")==true?"checked=\"checked\"":"") ?> />
|
3247 |
-
<?php _e('Enable manual sitemap building via GET Request', 'sitemap') ?>
|
3248 |
-
</label>
|
3249 |
-
<a href="javascript:void(document.getElementById('sm_manual_help').style.display='');">[?]</a>
|
3250 |
-
<span id="sm_manual_help" style="display:none;"><br />
|
3251 |
-
<?php echo str_replace("%1",trailingslashit(get_bloginfo('siteurl')) . "?sm_command=build&sm_key=" . $this->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 logfile above to see if sitemap was successfully built.', 'sitemap')); ?>
|
3252 |
-
</span>
|
3253 |
-
</li>
|
3254 |
-
</ul>
|
3255 |
-
<b><?php _e('Update notification:','sitemap'); ?></b> <a href="<?php echo $this->GetRedirectLink('sitemap-help-options-ping'); ?>"><?php _e('Learn more','sitemap'); ?></a>
|
3256 |
-
<ul>
|
3257 |
-
<li>
|
3258 |
-
<input type="checkbox" id="sm_b_ping" name="sm_b_ping" <?php echo ($this->GetOption("b_ping")==true?"checked=\"checked\"":"") ?> />
|
3259 |
-
<label for="sm_b_ping"><?php _e('Notify Google about updates of your Blog', 'sitemap') ?></label><br />
|
3260 |
-
<small><?php echo str_replace("%s",$this->GetRedirectLink('sitemap-gwt'),__('No registration required, but you can join the <a href="%s">Google Webmaster Tools</a> to check crawling statistics.','sitemap')); ?></small>
|
3261 |
-
</li>
|
3262 |
-
<li>
|
3263 |
-
<input type="checkbox" id="sm_b_pingmsn" name="sm_b_pingmsn" <?php echo ($this->GetOption("b_pingmsn")==true?"checked=\"checked\"":"") ?> />
|
3264 |
-
<label for="sm_b_pingmsn"><?php _e('Notify MSN Live Search about updates of your Blog', 'sitemap') ?></label><br />
|
3265 |
-
<small><?php echo str_replace("%s",$this->GetRedirectLink('sitemap-lwt'),__('No registration required, but you can join the <a href="%s">MSN Live Webmaster Tools</a> to check crawling statistics.','sitemap')); ?></small>
|
3266 |
-
</li>
|
3267 |
-
<li>
|
3268 |
-
<input type="checkbox" id="sm_b_pingask" name="sm_b_pingask" <?php echo ($this->GetOption("b_pingask")==true?"checked=\"checked\"":"") ?> />
|
3269 |
-
<label for="sm_b_pingask"><?php _e('Notify Ask.com about updates of your Blog', 'sitemap') ?></label><br />
|
3270 |
-
<small><?php _e('No registration required.','sitemap'); ?></small>
|
3271 |
-
</li>
|
3272 |
-
<li>
|
3273 |
-
<input type="checkbox" id="sm_b_pingyahoo" name="sm_b_pingyahoo" <?php echo ($this->GetOption("sm_b_pingyahoo")==true?"checked=\"checked\"":"") ?> />
|
3274 |
-
<label for="sm_b_pingyahoo"><?php _e('Notify YAHOO about updates of your Blog', 'sitemap') ?></label><br />
|
3275 |
-
<label for="sm_b_yahookey"><?php _e('Your Application ID:', 'sitemap') ?> <input type="text" name="sm_b_yahookey" id="sm_b_yahookey" value="<?php echo $this->GetOption("sm_b_yahookey"); ?>" /></label><br />
|
3276 |
-
<small><?php echo str_replace(array("%s1","%s2"),array($this->GetRedirectLink('sitemap-ykr'),' (<a href="http://developer.yahoo.net/about/">Web Services by Yahoo!</a>)'),__('Don\'t you have such a key? <a href="%s1">Request one here</a>!</a> %s2','sitemap')); ?></small>
|
3277 |
-
|
3278 |
-
|
3279 |
-
</li>
|
3280 |
-
<li>
|
3281 |
-
|
3282 |
-
<input type="checkbox" id="sm_b_robots" name="sm_b_robots" <?php echo ($this->GetOption("sm_b_robots")==true?"checked=\"checked\"":"") ?> />
|
3283 |
-
<?php echo str_replace('%s',(file_exists($this->GetRobotsFilePath())?'<a href="' . $this->GetRobotsFileUrl() . '">robots.txt</a>':'robots.txt'),__("Modify or create %s file in blog root which contains the sitemap location.",'sitemap')); ?>
|
3284 |
-
|
3285 |
-
<br />
|
3286 |
-
<?php _e("File permissions: ",'sitemap');
|
3287 |
-
$f = $this->GetRobotsFilePath();
|
3288 |
-
$link = ' <a href="' . $this->GetRedirectLink("sitemap-help-options-robots",'sitemap') . '">' . __("Learn more",'sitemap') . '</a>';
|
3289 |
-
if(file_exists($f)) {
|
3290 |
-
if(is_writable($f)) {
|
3291 |
-
_e("OK, robots.txt is writable.",'sitemap');
|
3292 |
-
} else {
|
3293 |
-
echo __("Error, robots.txt is not writable.",'sitemap') . $link;
|
3294 |
-
}
|
3295 |
-
} else {
|
3296 |
-
if(is_writable(dirname($f))) {
|
3297 |
-
_e("OK, robots.txt doesn't exist but the directory is writable.",'sitemap');
|
3298 |
-
} else {
|
3299 |
-
echo __("Error, robots.txt doesn't exist and the directory is not writable",'sitemap') . $link;
|
3300 |
-
}
|
3301 |
-
}
|
3302 |
-
?>
|
3303 |
-
</li>
|
3304 |
-
</ul>
|
3305 |
-
<b><?php _e('Advanced options:','sitemap'); ?></b> <a href="<?php echo $this->GetRedirectLink('sitemap-help-options-adv'); ?>"><?php _e('Learn more','sitemap'); ?></a>
|
3306 |
-
<ul>
|
3307 |
-
<li>
|
3308 |
-
<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->GetOption("sm_b_max_posts")<=0?"":$this->GetOption("sm_b_max_posts")); ?>" /></label> (<?php echo __('Newer posts will be included first', 'sitemap'); ?>)
|
3309 |
-
</li>
|
3310 |
-
<li>
|
3311 |
-
<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->GetOption("sm_b_memory"); ?>" /></label> (<?php echo htmlspecialchars(__('e.g. "4M", "16M"', 'sitemap')); ?>)
|
3312 |
-
</li>
|
3313 |
-
<li>
|
3314 |
-
<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->GetOption("sm_b_time")===-1?'':$this->GetOption("sm_b_time")); ?>" /></label> (<?php echo htmlspecialchars(__('in seconds, e.g. "60" or "0" for unlimited', 'sitemap')) ?>)
|
3315 |
-
</li>
|
3316 |
-
<li>
|
3317 |
-
<label for="sm_b_style"><?php _e('Include a XSLT stylesheet:', 'sitemap') ?> <input type="text" name="sm_b_style" id="sm_b_style" value="<?php echo $this->GetOption("sm_b_style"); ?>" /></label> <?php if($this->GetDefaultStyle()) { echo ' <a href="javascript:void(0);" onclick="document.getElementById(\'sm_b_style\').value=\'' . $this->GetDefaultStyle() . '\';">' . __('Use Default','sitemap') . '</a>'; } ?> (<?php _e('Full or relative URL to your .xsl file', 'sitemap') ?>)
|
3318 |
-
</li>
|
3319 |
-
<li>
|
3320 |
-
<label for="sm_b_safemode">
|
3321 |
-
<input type="checkbox" id="sm_b_safemode" name="sm_b_safemode" <?php echo ($this->GetOption("sm_b_safemode")==true?"checked=\"checked\"":""); ?> />
|
3322 |
-
<?php _e('Enable MySQL standard mode. Use this only if you\'re getting MySQL errors. (Needs much more memory!)', 'sitemap') ?>
|
3323 |
-
</label>
|
3324 |
-
</li>
|
3325 |
-
<li>
|
3326 |
-
<label for="sm_b_auto_delay">
|
3327 |
-
<input type="checkbox" id="sm_b_auto_delay" name="sm_b_auto_delay" <?php echo ($this->GetOption("sm_b_auto_delay")==true?"checked=\"checked\"":""); ?> />
|
3328 |
-
<?php _e('Build the sitemap in a background process (You don\'t have to wait when you save a post)', 'sitemap') ?>
|
3329 |
-
</label>
|
3330 |
-
</li>
|
3331 |
-
<li>
|
3332 |
-
<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 />
|
3333 |
-
<input name="sm_b_exclude" id="sm_b_exclude" type="text" style="width:400px;" value="<?php echo implode(",",$this->GetOption("sm_b_exclude")); ?>" /></label>
|
3334 |
-
</li>
|
3335 |
-
</ul>
|
3336 |
-
</div>
|
3337 |
-
</div>
|
3338 |
-
</fieldset>
|
3339 |
-
</div>
|
3340 |
-
|
3341 |
-
<div class="dbx-b-ox-wrapper">
|
3342 |
-
<fieldset id="sm_pages" class="dbx-box">
|
3343 |
-
<div class="dbx-h-andle-wrapper">
|
3344 |
-
<h3 class="dbx-handle"><?php _e('Additional pages', 'sitemap') ?></h3>
|
3345 |
-
</div>
|
3346 |
-
<div class="dbx-c-ontent-wrapper">
|
3347 |
-
<div class="dbx-content">
|
3348 |
-
<?php
|
3349 |
-
_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');
|
3350 |
-
echo "<ul><li>";
|
3351 |
-
echo "<strong>" . __('Note','sitemap'). "</strong>: ";
|
3352 |
-
_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 "Location of your sitemap file" section on this page)!",'sitemap');
|
3353 |
-
echo "</li><li>";
|
3354 |
-
echo "<strong>" . __('URL to the page','sitemap'). "</strong>: ";
|
3355 |
-
_e("Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home ",'sitemap');
|
3356 |
-
echo "</li><li>";
|
3357 |
-
echo "<strong>" . __('Priority','sitemap') . "</strong>: ";
|
3358 |
-
_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');
|
3359 |
-
echo "</li><li>";
|
3360 |
-
echo "<strong>" . __('Last Changed','sitemap'). "</strong>: ";
|
3361 |
-
_e("Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional).",'sitemap');
|
3362 |
-
|
3363 |
-
echo "</li></ul>";
|
3364 |
-
|
3365 |
-
|
3366 |
-
?>
|
3367 |
-
<script type="text/javascript">
|
3368 |
-
//<![CDATA[
|
3369 |
-
<?php
|
3370 |
-
$freqVals = "'" . implode("','",$this->_freqNames). "'";
|
3371 |
-
$transUpper = create_function('&$s',' return ucfirst(__($s,"sitemap"));');
|
3372 |
-
|
3373 |
-
$freqNamesArr = array_map($transUpper,$this->_freqNames);
|
3374 |
-
$freqNames = "'" . implode("','",$freqNamesArr). "'";
|
3375 |
-
?>
|
3376 |
-
|
3377 |
-
var changeFreqVals = new Array( <?php echo $freqVals; ?> );
|
3378 |
-
var changeFreqNames= new Array( <?php echo $freqNames; ?> );
|
3379 |
-
|
3380 |
-
var priorities= new Array(0 <?php for($i=0.1; $i<1; $i+=0.1) { echo "," . $i; } ?>);
|
3381 |
-
|
3382 |
-
var pages = [ <?php
|
3383 |
-
if(count($this->_pages)>0) {
|
3384 |
-
for($i=0; $i<count($this->_pages); $i++) {
|
3385 |
-
$v=&$this->_pages[$i];
|
3386 |
-
if($i>0) echo ",";
|
3387 |
-
echo '{url:"' . $v->getUrl() . '", priority:"' . $v->getPriority() . '", changeFreq:"' . $v->getChangeFreq() . '", lastChanged:"' . ($v!=null && $v->getLastMod()>0?date("Y-m-d",$v->getLastMod()):"") . '"}';
|
3388 |
-
}
|
3389 |
-
}
|
3390 |
-
?> ];
|
3391 |
-
|
3392 |
-
function sm_addPage(url,priority,changeFreq,lastChanged) {
|
3393 |
-
|
3394 |
-
var table = document.getElementById('sm_pageTable').getElementsByTagName('TBODY')[0];
|
3395 |
-
var ce = function(ele) { return document.createElement(ele) };
|
3396 |
-
var tr = ce('TR');
|
3397 |
-
|
3398 |
-
var td = ce('TD');
|
3399 |
-
var iUrl = ce('INPUT');
|
3400 |
-
iUrl.type="text";
|
3401 |
-
iUrl.style.width='95%';
|
3402 |
-
iUrl.name="sm_pages_ur[]";
|
3403 |
-
if(url) iUrl.value=url;
|
3404 |
-
td.appendChild(iUrl);
|
3405 |
-
tr.appendChild(td);
|
3406 |
-
|
3407 |
-
td = ce('TD');
|
3408 |
-
td.style.width='150px';
|
3409 |
-
var iPrio = ce('SELECT');
|
3410 |
-
iPrio.style.width='95%';
|
3411 |
-
iPrio.name="sm_pages_pr[]";
|
3412 |
-
for(var i=0; i <priorities.length; i++) {
|
3413 |
-
var op = ce('OPTION');
|
3414 |
-
op.text = priorities[i];
|
3415 |
-
op.value = priorities[i];
|
3416 |
-
try {
|
3417 |
-
iPrio.add(op, null); // standards compliant; doesn't work in IE
|
3418 |
-
} catch(ex) {
|
3419 |
-
iPrio.add(op); // IE only
|
3420 |
-
}
|
3421 |
-
if(priority && priority == op.value) {
|
3422 |
-
iPrio.selectedIndex = i;
|
3423 |
-
}
|
3424 |
-
}
|
3425 |
-
td.appendChild(iPrio);
|
3426 |
-
tr.appendChild(td);
|
3427 |
-
|
3428 |
-
td = ce('TD');
|
3429 |
-
td.style.width='150px';
|
3430 |
-
var iFreq = ce('SELECT');
|
3431 |
-
iFreq.name="sm_pages_cf[]";
|
3432 |
-
iFreq.style.width='95%';
|
3433 |
-
for(var i=0; i<changeFreqVals.length; i++) {
|
3434 |
-
var op = ce('OPTION');
|
3435 |
-
op.text = changeFreqNames[i];
|
3436 |
-
op.value = changeFreqVals[i];
|
3437 |
-
try {
|
3438 |
-
iFreq.add(op, null); // standards compliant; doesn't work in IE
|
3439 |
-
} catch(ex) {
|
3440 |
-
iFreq.add(op); // IE only
|
3441 |
-
}
|
3442 |
-
|
3443 |
-
if(changeFreq && changeFreq == op.value) {
|
3444 |
-
iFreq.selectedIndex = i;
|
3445 |
-
}
|
3446 |
-
}
|
3447 |
-
td.appendChild(iFreq);
|
3448 |
-
tr.appendChild(td);
|
3449 |
-
|
3450 |
-
var td = ce('TD');
|
3451 |
-
td.style.width='150px';
|
3452 |
-
var iChanged = ce('INPUT');
|
3453 |
-
iChanged.type="text";
|
3454 |
-
iChanged.name="sm_pages_lm[]";
|
3455 |
-
iChanged.style.width='95%';
|
3456 |
-
if(lastChanged) iChanged.value=lastChanged;
|
3457 |
-
td.appendChild(iChanged);
|
3458 |
-
tr.appendChild(td);
|
3459 |
-
|
3460 |
-
var td = ce('TD');
|
3461 |
-
td.style.textAlign="center";
|
3462 |
-
td.style.width='5px';
|
3463 |
-
var iAction = ce('A');
|
3464 |
-
iAction.innerHTML = 'X';
|
3465 |
-
iAction.href="javascript:void(0);"
|
3466 |
-
iAction.onclick = function() { table.removeChild(tr); };
|
3467 |
-
td.appendChild(iAction);
|
3468 |
-
tr.appendChild(td);
|
3469 |
-
|
3470 |
-
var mark = ce('INPUT');
|
3471 |
-
mark.type="hidden";
|
3472 |
-
mark.name="sm_pages_mark[]";
|
3473 |
-
mark.value="true";
|
3474 |
-
tr.appendChild(mark);
|
3475 |
-
|
3476 |
-
|
3477 |
-
var firstRow = table.getElementsByTagName('TR')[1];
|
3478 |
-
if(firstRow) {
|
3479 |
-
var firstCol = (firstRow.childNodes[1]?firstRow.childNodes[1]:firstRow.childNodes[0]);
|
3480 |
-
if(firstCol.colSpan>1) {
|
3481 |
-
firstRow.parentNode.removeChild(firstRow);
|
3482 |
-
}
|
3483 |
-
}
|
3484 |
-
var cnt = table.getElementsByTagName('TR').length;
|
3485 |
-
if(cnt%2) tr.className="alternate";
|
3486 |
-
|
3487 |
-
table.appendChild(tr);
|
3488 |
-
}
|
3489 |
-
|
3490 |
-
function sm_loadPages() {
|
3491 |
-
for(var i=0; i<pages.length; i++) {
|
3492 |
-
sm_addPage(pages[i].url,pages[i].priority,pages[i].changeFreq,pages[i].lastChanged);
|
3493 |
-
}
|
3494 |
-
}
|
3495 |
-
|
3496 |
-
//]]>
|
3497 |
-
</script>
|
3498 |
-
<table width="100%" cellpadding="3" cellspacing="3" id="sm_pageTable">
|
3499 |
-
<tr>
|
3500 |
-
<th scope="col"><?php _e('URL to the page','sitemap'); ?></th>
|
3501 |
-
<th scope="col"><?php _e('Priority','sitemap'); ?></th>
|
3502 |
-
<th scope="col"><?php _e('Change Frequency','sitemap'); ?></th>
|
3503 |
-
<th scope="col"><?php _e('Last Changed','sitemap'); ?></th>
|
3504 |
-
<th scope="col"><?php _e('#','sitemap'); ?></th>
|
3505 |
-
</tr>
|
3506 |
-
<?php
|
3507 |
-
if(count($this->_pages)<=0) { ?>
|
3508 |
-
<tr>
|
3509 |
-
<td colspan="5" align="center"><?php _e('No pages defined.','sitemap') ?></td>
|
3510 |
-
</tr><?php
|
3511 |
-
}
|
3512 |
-
?>
|
3513 |
-
</table>
|
3514 |
-
<a href="javascript:void(0);" onclick="sm_addPage();"><?php _e("Add new page",'sitemap'); ?></a>
|
3515 |
-
</div>
|
3516 |
-
</div>
|
3517 |
-
</fieldset>
|
3518 |
-
</div>
|
3519 |
-
|
3520 |
-
|
3521 |
-
<!-- AutoPrio Options -->
|
3522 |
-
<div class="dbx-b-ox-wrapper">
|
3523 |
-
<fieldset id="sm_postprio" class="dbx-box">
|
3524 |
-
<div class="dbx-h-andle-wrapper">
|
3525 |
-
<h3 class="dbx-handle"><?php _e('Post Priority', 'sitemap') ?></h3>
|
3526 |
-
</div>
|
3527 |
-
<div class="dbx-c-ontent-wrapper">
|
3528 |
-
<div class="dbx-content">
|
3529 |
-
<p><?php _e('Please select how the priority of each post should be calculated:', 'sitemap') ?></p>
|
3530 |
-
<ul>
|
3531 |
-
<li><p><input type="radio" name="sm_b_prio_provider" id="sm_b_prio_provider__0" value="" <?php echo $this->HtmlGetChecked($this->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 "Priorities"', 'sitemap') ?></p></li>
|
3532 |
-
<?php
|
3533 |
-
for($i=0; $i<count($this->_prioProviders); $i++) {
|
3534 |
-
echo "<li><p><input type=\"radio\" id=\"sm_b_prio_provider_$i\" name=\"sm_b_prio_provider\" value=\"" . $this->_prioProviders[$i] . "\" " . $this->HtmlGetChecked($this->GetOption("b_prio_provider"),$this->_prioProviders[$i]) . " /> <label for=\"sm_b_prio_provider_$i\">" . call_user_func(array(&$this->_prioProviders[$i], 'getName')) . "</label><br />" . call_user_func(array(&$this->_prioProviders[$i], 'getDescription')) . "</p></li>";
|
3535 |
-
}
|
3536 |
-
?>
|
3537 |
-
</ul>
|
3538 |
-
</div>
|
3539 |
-
</div>
|
3540 |
-
</fieldset>
|
3541 |
-
</div>
|
3542 |
-
|
3543 |
-
|
3544 |
-
<!-- Location Options -->
|
3545 |
-
<div class="dbx-b-ox-wrapper">
|
3546 |
-
<fieldset id="sm_location" class="dbx-box">
|
3547 |
-
<div class="dbx-h-andle-wrapper">
|
3548 |
-
<h3 class="dbx-handle"><?php _e('Location of your sitemap file', 'sitemap') ?></h3>
|
3549 |
-
</div>
|
3550 |
-
<div class="dbx-c-ontent-wrapper">
|
3551 |
-
<div class="dbx-content">
|
3552 |
-
<div>
|
3553 |
-
<b><label for="sm_location_useauto"><input type="radio" id="sm_location_useauto" name="sm_b_location_mode" value="auto" <?php echo ($this->GetOption("b_location_mode")=="auto"?"checked=\"checked\"":"") ?> /> <?php _e('Automatic detection','sitemap') ?></label></b>
|
3554 |
-
<ul>
|
3555 |
-
<li>
|
3556 |
-
<label for="sm_b_filename">
|
3557 |
-
<?php _e('Filename of the sitemap file', 'sitemap') ?>
|
3558 |
-
<input type="text" id="sm_b_filename" name="sm_b_filename" value="<?php echo $this->GetOption("b_filename"); ?>" />
|
3559 |
-
</label><br />
|
3560 |
-
<?php _e('Detected Path', 'sitemap') ?>: <?php echo $this->getXmlPath(true); ?><br /><?php _e('Detected URL', 'sitemap') ?>: <a href="<?php echo $this->getXmlUrl(true); ?>"><?php echo $this->getXmlUrl(true); ?></a>
|
3561 |
-
</li>
|
3562 |
-
</ul>
|
3563 |
-
</div>
|
3564 |
-
<div>
|
3565 |
-
<b><label for="sm_location_usemanual"><input type="radio" id="sm_location_usemanual" name="sm_b_location_mode" value="manual" <?php echo ($this->GetOption("b_location_mode")=="manual"?"checked=\"checked\"":"") ?> /> <?php _e('Custom location','sitemap') ?></label></b>
|
3566 |
-
<ul>
|
3567 |
-
<li>
|
3568 |
-
<label for="sm_b_filename_manual">
|
3569 |
-
<?php _e('Absolute or relative path to the sitemap file, including name.','sitemap');
|
3570 |
-
echo "<br />";
|
3571 |
-
_e('Example','sitemap');
|
3572 |
-
echo ": /var/www/htdocs/wordpress/sitemap.xml"; ?><br />
|
3573 |
-
<input style="width:70%" type="text" id="sm_b_filename_manual" name="sm_b_filename_manual" value="<?php echo (!$this->GetOption("b_filename_manual")?$this->getXmlPath():$this->GetOption("b_filename_manual")); ?>" />
|
3574 |
-
</label>
|
3575 |
-
</li>
|
3576 |
-
<li>
|
3577 |
-
<label for="sm_b_fileurl_manual">
|
3578 |
-
<?php _e('Complete URL to the sitemap file, including name.','sitemap');
|
3579 |
-
echo "<br />";
|
3580 |
-
_e('Example','sitemap');
|
3581 |
-
echo ": http://www.yourdomain.com/sitemap.xml"; ?><br />
|
3582 |
-
<input style="width:70%" type="text" id="sm_b_fileurl_manual" name="sm_b_fileurl_manual" value="<?php echo (!$this->GetOption("b_fileurl_manual")?$this->getXmlUrl():$this->GetOption("b_fileurl_manual")); ?>" />
|
3583 |
-
</label>
|
3584 |
-
</li>
|
3585 |
-
</ul>
|
3586 |
-
</div>
|
3587 |
-
</div>
|
3588 |
-
</div>
|
3589 |
-
</fieldset>
|
3590 |
-
</div>
|
3591 |
-
|
3592 |
-
|
3593 |
-
<!-- Includes -->
|
3594 |
-
<div class="dbx-b-ox-wrapper">
|
3595 |
-
<fieldset id="sm_includes" class="dbx-box">
|
3596 |
-
<div class="dbx-h-andle-wrapper">
|
3597 |
-
<h3 class="dbx-handle"><?php _e('Sitemap Content', 'sitemap') ?></h3>
|
3598 |
-
</div>
|
3599 |
-
<div class="dbx-c-ontent-wrapper">
|
3600 |
-
<div class="dbx-content">
|
3601 |
-
<ul>
|
3602 |
-
<li>
|
3603 |
-
<label for="sm_in_home">
|
3604 |
-
<input type="checkbox" id="sm_in_home" name="sm_in_home" <?php echo ($this->GetOption("in_home")==true?"checked=\"checked\"":"") ?> />
|
3605 |
-
<?php _e('Include homepage', 'sitemap') ?>
|
3606 |
-
</label>
|
3607 |
-
</li>
|
3608 |
-
<li>
|
3609 |
-
<label for="sm_in_posts">
|
3610 |
-
<input type="checkbox" id="sm_in_posts" name="sm_in_posts" <?php echo ($this->GetOption("in_posts")==true?"checked=\"checked\"":"") ?> />
|
3611 |
-
<?php _e('Include posts', 'sitemap') ?>
|
3612 |
-
</label>
|
3613 |
-
</li>
|
3614 |
-
<li>
|
3615 |
-
<label for="sm_in_pages">
|
3616 |
-
<input type="checkbox" id="sm_in_pages" name="sm_in_pages" <?php echo ($this->GetOption("in_pages")==true?"checked=\"checked\"":"") ?> />
|
3617 |
-
<?php _e('Include static pages', 'sitemap') ?>
|
3618 |
-
</label>
|
3619 |
-
</li>
|
3620 |
-
<li>
|
3621 |
-
<label for="sm_in_cats">
|
3622 |
-
<input type="checkbox" id="sm_in_cats" name="sm_in_cats" <?php echo ($this->GetOption("in_cats")==true?"checked=\"checked\"":"") ?> />
|
3623 |
-
<?php _e('Include categories', 'sitemap') ?>
|
3624 |
-
</label>
|
3625 |
-
</li>
|
3626 |
-
<li>
|
3627 |
-
<label for="sm_in_arch">
|
3628 |
-
<input type="checkbox" id="sm_in_arch" name="sm_in_arch" <?php echo ($this->GetOption("in_arch")==true?"checked=\"checked\"":"") ?> />
|
3629 |
-
<?php _e('Include archives', 'sitemap') ?>
|
3630 |
-
</label>
|
3631 |
-
</li>
|
3632 |
-
<?php if($this->IsTaxonomySupported()): ?>
|
3633 |
-
<li>
|
3634 |
-
<label for="sm_in_tags">
|
3635 |
-
<input type="checkbox" id="sm_in_tags" name="sm_in_tags" <?php echo ($this->GetOption("in_tags")==true?"checked=\"checked\"":"") ?> />
|
3636 |
-
<?php _e('Include tag pages', 'sitemap') ?>
|
3637 |
-
</label>
|
3638 |
-
</li>
|
3639 |
-
<?php endif; ?>
|
3640 |
-
<li>
|
3641 |
-
<label for="sm_in_auth">
|
3642 |
-
<input type="checkbox" id="sm_in_auth" name="sm_in_auth" <?php echo ($this->GetOption("in_auth")==true?"checked=\"checked\"":"") ?> />
|
3643 |
-
<?php _e('Include author pages', 'sitemap') ?>
|
3644 |
-
</label>
|
3645 |
-
</li>
|
3646 |
-
</ul>
|
3647 |
-
</div>
|
3648 |
-
</div>
|
3649 |
-
</fieldset>
|
3650 |
-
</div>
|
3651 |
-
|
3652 |
-
|
3653 |
-
<!-- Change frequencies -->
|
3654 |
-
<div class="dbx-b-ox-wrapper">
|
3655 |
-
<fieldset id="sm_change_frequencies" class="dbx-box">
|
3656 |
-
<div class="dbx-h-andle-wrapper">
|
3657 |
-
<h3 class="dbx-handle"><?php _e('Change frequencies', 'sitemap') ?></h3>
|
3658 |
-
</div>
|
3659 |
-
<div class="dbx-c-ontent-wrapper">
|
3660 |
-
<div class="dbx-content">
|
3661 |
-
<p>
|
3662 |
-
<b><?php _e('Note', 'sitemap') ?>:</b>
|
3663 |
-
<?php _e('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.', 'sitemap') ?>
|
3664 |
-
</p>
|
3665 |
-
<ul>
|
3666 |
-
<li>
|
3667 |
-
<label for="sm_cf_home">
|
3668 |
-
<select id="sm_cf_home" name="sm_cf_home"><?php $this->HtmlGetFreqNames($this->GetOption("cf_home")); ?></select>
|
3669 |
-
<?php _e('Homepage', 'sitemap') ?>
|
3670 |
-
</label>
|
3671 |
-
</li>
|
3672 |
-
<li>
|
3673 |
-
<label for="sm_cf_posts">
|
3674 |
-
<select id="sm_cf_posts" name="sm_cf_posts"><?php $this->HtmlGetFreqNames($this->GetOption("cf_posts")); ?></select>
|
3675 |
-
<?php _e('Posts', 'sitemap') ?>
|
3676 |
-
</label>
|
3677 |
-
</li>
|
3678 |
-
<li>
|
3679 |
-
<label for="sm_cf_pages">
|
3680 |
-
<select id="sm_cf_pages" name="sm_cf_pages"><?php $this->HtmlGetFreqNames($this->GetOption("cf_pages")); ?></select>
|
3681 |
-
<?php _e('Static pages', 'sitemap') ?>
|
3682 |
-
</label>
|
3683 |
-
</li>
|
3684 |
-
<li>
|
3685 |
-
<label for="sm_cf_cats">
|
3686 |
-
<select id="sm_cf_cats" name="sm_cf_cats"><?php $this->HtmlGetFreqNames($this->GetOption("cf_cats")); ?></select>
|
3687 |
-
<?php _e('Categories', 'sitemap') ?>
|
3688 |
-
</label>
|
3689 |
-
</li>
|
3690 |
-
<li>
|
3691 |
-
<label for="sm_cf_arch_curr">
|
3692 |
-
<select id="sm_cf_arch_curr" name="sm_cf_arch_curr"><?php $this->HtmlGetFreqNames($this->GetOption("cf_arch_curr")); ?></select>
|
3693 |
-
<?php _e('The current archive of this month (Should be the same like your homepage)', 'sitemap') ?>
|
3694 |
-
</label>
|
3695 |
-
</li>
|
3696 |
-
<li>
|
3697 |
-
<label for="sm_cf_arch_old">
|
3698 |
-
<select id="sm_cf_arch_old" name="sm_cf_arch_old"><?php $this->HtmlGetFreqNames($this->GetOption("cf_arch_old")); ?></select>
|
3699 |
-
<?php _e('Older archives (Changes only if you edit an old post)', 'sitemap') ?>
|
3700 |
-
</label>
|
3701 |
-
</li>
|
3702 |
-
<?php if($this->IsTaxonomySupported()): ?>
|
3703 |
-
<li>
|
3704 |
-
<label for="sm_cf_tags">
|
3705 |
-
<select id="sm_cf_tags" name="sm_cf_tags"><?php $this->HtmlGetFreqNames($this->GetOption("cf_tags")); ?></select>
|
3706 |
-
<?php _e('Tag pages', 'sitemap') ?>
|
3707 |
-
</label>
|
3708 |
-
</li>
|
3709 |
-
<?php endif; ?>
|
3710 |
-
<li>
|
3711 |
-
<label for="sm_cf_auth">
|
3712 |
-
<select id="sm_cf_auth" name="sm_cf_auth"><?php $this->HtmlGetFreqNames($this->GetOption("cf_auth")); ?></select>
|
3713 |
-
<?php _e('Author pages', 'sitemap') ?>
|
3714 |
-
</label>
|
3715 |
-
</li>
|
3716 |
-
</ul>
|
3717 |
-
</div>
|
3718 |
-
</div>
|
3719 |
-
</fieldset>
|
3720 |
-
</div>
|
3721 |
-
|
3722 |
-
|
3723 |
-
<!-- Priorities -->
|
3724 |
-
<div class="dbx-b-ox-wrapper">
|
3725 |
-
<fieldset id="sm_priorities" class="dbx-box">
|
3726 |
-
<div class="dbx-h-andle-wrapper">
|
3727 |
-
<h3 class="dbx-handle"><?php _e('Priorities', 'sitemap') ?></h3>
|
3728 |
-
</div>
|
3729 |
-
<div class="dbx-c-ontent-wrapper">
|
3730 |
-
<div class="dbx-content">
|
3731 |
-
<ul>
|
3732 |
-
<li>
|
3733 |
-
<label for="sm_pr_home">
|
3734 |
-
<select id="sm_pr_home" name="sm_pr_home"><?php $this->HtmlGetPriorityValues($this->GetOption("pr_home")); ?></select>
|
3735 |
-
<?php _e('Homepage', 'sitemap') ?>
|
3736 |
-
</label>
|
3737 |
-
</li>
|
3738 |
-
<li>
|
3739 |
-
<label for="sm_pr_posts">
|
3740 |
-
<select id="sm_pr_posts" name="sm_pr_posts"><?php $this->HtmlGetPriorityValues($this->GetOption("pr_posts")); ?></select>
|
3741 |
-
<?php _e('Posts (If auto calculation is disabled)', 'sitemap') ?>
|
3742 |
-
</label>
|
3743 |
-
</li>
|
3744 |
-
<li>
|
3745 |
-
<label for="sm_pr_posts_min">
|
3746 |
-
<select id="sm_pr_posts_min" name="sm_pr_posts_min"><?php $this->HtmlGetPriorityValues($this->GetOption("pr_posts_min")); ?></select>
|
3747 |
-
<?php _e('Minimum post priority (Even if auto calculation is enabled)', 'sitemap') ?>
|
3748 |
-
</label>
|
3749 |
-
</li>
|
3750 |
-
<li>
|
3751 |
-
<label for="sm_pr_pages">
|
3752 |
-
<select id="sm_pr_pages" name="sm_pr_pages"><?php $this->HtmlGetPriorityValues($this->GetOption("pr_pages")); ?></select>
|
3753 |
-
<?php _e('Static pages', 'sitemap'); ?>
|
3754 |
-
</label>
|
3755 |
-
</li>
|
3756 |
-
<li>
|
3757 |
-
<label for="sm_pr_cats">
|
3758 |
-
<select id="sm_pr_cats" name="sm_pr_cats"><?php $this->HtmlGetPriorityValues($this->GetOption("pr_cats")); ?></select>
|
3759 |
-
<?php _e('Categories', 'sitemap') ?>
|
3760 |
-
</label>
|
3761 |
-
</li>
|
3762 |
-
<li>
|
3763 |
-
<label for="sm_pr_arch">
|
3764 |
-
<select id="sm_pr_arch" name="sm_pr_arch"><?php $this->HtmlGetPriorityValues($this->GetOption("pr_arch")); ?></select>
|
3765 |
-
<?php _e('Archives', 'sitemap') ?>
|
3766 |
-
</label>
|
3767 |
-
</li>
|
3768 |
-
<?php if($this->IsTaxonomySupported()): ?>
|
3769 |
-
<li>
|
3770 |
-
<label for="sm_pr_tags">
|
3771 |
-
<select id="sm_pr_tags" name="sm_pr_tags"><?php $this->HtmlGetPriorityValues($this->GetOption("pr_tags")); ?></select>
|
3772 |
-
<?php _e('Tag pages', 'sitemap') ?>
|
3773 |
-
</label>
|
3774 |
-
</li>
|
3775 |
-
<?php endif; ?>
|
3776 |
-
<li>
|
3777 |
-
<label for="sm_pr_auth">
|
3778 |
-
<select id="sm_pr_auth" name="sm_pr_auth"><?php $this->HtmlGetPriorityValues($this->GetOption("pr_auth")); ?></select>
|
3779 |
-
<?php _e('Author pages', 'sitemap') ?>
|
3780 |
-
</label>
|
3781 |
-
</li>
|
3782 |
-
</ul>
|
3783 |
-
</div>
|
3784 |
-
</div>
|
3785 |
-
</fieldset>
|
3786 |
-
</div>
|
3787 |
-
</div>
|
3788 |
-
<div>
|
3789 |
-
<p class="submit">
|
3790 |
-
<input type="submit" name="sm_update" value="<?php _e('Update options', 'sitemap'); ?>" />
|
3791 |
-
<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'); ?>" />
|
3792 |
-
</p>
|
3793 |
-
</div>
|
3794 |
-
</div>
|
3795 |
-
<script type="text/javascript">if(typeof(sm_loadPages)=='function') addLoadEvent(sm_loadPages); </script>
|
3796 |
-
</form>
|
3797 |
-
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="sm_donate_form">
|
3798 |
-
<input type="hidden" name="cmd" value="_xclick" />
|
3799 |
-
<input type="hidden" name="business" value="<?php echo "donate" /* N O S P A M */ . "@" . "arnebra" . "chhold.de"; ?>" />
|
3800 |
-
<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." />
|
3801 |
-
<input type="hidden" name="no_shipping" value="1" />
|
3802 |
-
<input type="hidden" name="return" value="<?php echo 'http://' . $_SERVER['HTTP_HOST'] . $this->GetBackLink(); ?>&sm_donated=true" />
|
3803 |
-
<input type="hidden" name="item_number" value="0001" />
|
3804 |
-
<input type="hidden" name="currency_code" value="USD" />
|
3805 |
-
<input type="hidden" name="bn" value="PP-BuyNowBF" />
|
3806 |
-
<input type="hidden" name="rm" value="2" />
|
3807 |
-
<input type="hidden" name="on0" value="Your Website" />
|
3808 |
-
<input type="hidden" name="os0" value="<?php echo get_bloginfo("home"); ?>"/>
|
3809 |
-
</form>
|
3810 |
-
</div>
|
3811 |
-
<?php
|
3812 |
-
}
|
3813 |
-
}
|
3814 |
-
|
3815 |
-
|
3816 |
-
|
3817 |
-
|
3818 |
-
//Check if ABSPATH and WPINC is defined, this is done in wp-settings.php
|
3819 |
-
//If not defined, we can't guarante that all required functions are available.
|
3820 |
if(defined('ABSPATH') && defined('WPINC')) {
|
3821 |
-
add_action("init",array("
|
3822 |
-
}
|
3823 |
-
|
3824 |
-
#region Embedded resources
|
3825 |
-
if(isset($_GET["res"]) && !empty($_GET["res"])) {
|
3826 |
-
$resources = array(
|
3827 |
-
//PayPal
|
3828 |
-
"{8C0BAD8C-77FA-4842-956E-CDEF7635F2C7}"
|
3829 |
-
=>"R0lGODlhEAAQAMQQANbe5sjT3gAzZpGmvOTp7v///629zYSctK28zbvI1ZKnvfH094SbtHaQrHaRrJ+xxf///wAAAAAAAAAAAAAAAAAAAAAAA"
|
3830 |
-
. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAHoAxAALAAAAAAQABAAQAVZICSOZDkGQqGuBTqUSMqqiTACwqIKgGkKwCDwVRIodkDVwjYSMFSNoCNQIgSugZ6"
|
3831 |
-
. "vBMBetSYCj0UwCA6lgyy4YoqWASRAZSYNZNaA+VxM7B5bEA9CboGGIyEAOw==",
|
3832 |
-
|
3833 |
-
//Amazon
|
3834 |
-
"{9866EAFC-3F85-44df-8A72-4CD1566E2D4F}"
|
3835 |
-
=>"R0lGODlhEAAQAMQGADc1NVBOTmloaERCQl1bW9rZ2f///7Szs8rKyubm5nZ0dJuamvPy8qinp31gOLeDOuWgPPGnPM6SO05DNoKBgY+NjXFZN8"
|
3836 |
-
. "OLOpRuOWZSN0M8NdqZO1pKNqB1OYhnOOrBhSwAAAAAEAAQAEAFeSAgBsIgnqiYGOxaAM4DRZE0AcOCMOyS/hxLR0KLPCaciEOEMCQKLMVPRIgCetPsaYLRXCKaIm3Tu"
|
3837 |
-
. "Z08mhMByjpoAQhE4GrwZaGMBnYq6OkNL1kBCwsUABUDFhcXGDIRGVMTDl8QExsSABcbYjQXkABDIh8XHQ5mWiEAOw==",
|
3838 |
-
|
3839 |
-
//Homepage
|
3840 |
-
"{AD59B831-BF3D-49b1-A649-9DD8EDA1798A}"
|
3841 |
-
=>"R0lGODlhEAAQAPc6AKG82qK72aG62KC52KK52Z+32aG526C315631aK52KG71qC516O62aO82qC42qO63KW83KK72p+41p+415+62KG42J+51K"
|
3842 |
-
. "S72qG62aK526S726O62qW616O92KW52qC41KK61qG51Z230p611aS31ae826O71aa516a72KO416i816K61KO41aC40p+306G21aW41qe62KK30qS51qG20aq+2am61"
|
3843 |
-
. "qi51aa61aW51LHD2aq52Ka306690qi20aa606O402R7nae40rW70bK817C606u507C70a651a6406m506+71a2916KwzVVwm1Fokqa30ai40au51Ka20Ke1z6m50qy4"
|
3844 |
-
. "0qa11Ke30ae41F9xlVlym1Zsk0tsl6O30qS1z6W20qK2z6W1z6O3z6O0zqq60am1z5+uy110ll1zmlNvl09rk1h0nKO00KW20KC0zV52kFV1m1l0n150nVRwl150m1F"
|
3845 |
-
. "zmU9slmp+n560zJ+zzKGyzmF0kk5rlVJymV11mVtzmVhvm0xpkWh4nFJulmR0mGqTwW2Sv2ySv2uOuFtym1pxmldzm2V3nV1xllBvm1hxmlhwkmR4m1x0mGRzmmCHsm"
|
3846 |
-
. "CKtF+FtGSGs1p/rFeBq1d8qVZ7qFt9q1h/qlN8qll5qlV3pFJ0oU90oFFzoVWAq1V9rlWArVZ/rVeCr1Z/q1h+rVR+rleArlN+q1d9rFB6rFN7rFF8qVR6q1F6qFN5q"
|
3847 |
-
. "FJ9qlB7qFJ7p1J7qVR6qVJ4pwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
|
3848 |
-
. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
|
3849 |
-
. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAI/wABBBAwgECAAgYEHBCAIMEABQsYBGjg4AGECAskTABAoYIECwYYXMAgIIMGAQwWCFC5ge"
|
3850 |
-
. "GCBBwYdKjgAcMHECBCiBiRgACJEgxMMDiBIgUHFSZWsGjhQsELGByiwoghI8aJGTBQ0ADxoYaNGzhsqMiBQ8eOGzx6+PgBJAgPIUOIFDFyZAiSJEqWMGni5AmUKFKmU"
|
3851 |
-
. "KliJcqUK1iyaNnCpYuXL2DCiBlDpowQM2fQpFGzhk0bN2DefMkCJ84WOXPo1LFzB0+bPHra7OHTx88fQH0CCRpEqJChQ4gSKVrEqJGjR5DSRJI0iVIlS5cwZdK0iVMn"
|
3852 |
-
. "T59AhRI1ilQpU6dQpSBCpWoVK1anWrlileoVrFiyZtGqRcuVrVu0cNHKpWtXQAA7",
|
3853 |
-
|
3854 |
-
//List
|
3855 |
-
"{FFA3E2B1-D2B1-4c66-B8A4-5F6E7D8781F2}"
|
3856 |
-
=>"R0lGODlhEAAQAJECAAAAAP///////wAAACH5BAHoAwIALAAAAAAQABAAAAIrlI+py50Ao4QIhosvPSD07HmVln3ASIYaqn0rB4InHGOz4da3MP"
|
3857 |
-
. "W7AwwKCwA7",
|
3858 |
-
|
3859 |
-
//Support
|
3860 |
-
"{234C74C9-3DF4-4ae2-A12E-C157C67059D8}"
|
3861 |
-
=>"R0lGODlhEAANALMPAFV3uxFBoCJOpzNcrd3k8Yigz3eSyczW62aFwgAzmURptJmt1qq73bvJ5O7x+P///yH5BAHoAw8ALAAAAAAQAA0AAARaEA"
|
3862 |
-
. "QxSBHUvHcGfkhybEeCbBuREFyibUqAPguAeuiSMPe46Y1NSEEazBwJmyMASDhAi9lD4igYGonC8jnDLgQsyuIkfQQCxEchEfBJDbtUwljmCGYKXn3P7z8iADs=",
|
3863 |
-
|
3864 |
-
//XML Sitemap
|
3865 |
-
"{7428F989-4DE9-4a97-AFF8-9E7E4B2E5BA9}"
|
3866 |
-
=>"R0lGODlhUAAPAJEBAGZmZv////9mAImOeSwAAAAAUAAPAAACn4SPqcvtD0+YtNqLs968myCE4kiWYTCk6sq27gu7wWfWNRrn+s7OAGgLinC8or"
|
3867 |
-
. "FHOw2VTOBwRUnhogMq8Yol5nxOAcg58QK7XpW2ak6bUROpGw3fJpfLL/O5Vset6Km1vcM1Ync3RnIGd6W39zZlJFgYKQa2pvhWBWjpGBc4J2SDeCQq9/MpFDqa2gJpe"
|
3868 |
-
. "qP6CsPVMUtba4sRkau7y6tQAAA7",
|
3869 |
-
|
3870 |
-
//Google
|
3871 |
-
"{7E5622AF-0DE3-4e43-99F9-33EC61308376}"
|
3872 |
-
=>"R0lGODlhEAAQAOYAAERx0ypnuRcvx9waAP/9+dEnKf/6/llutvb9//b/8hc5uik3s0i3T4iP1SYuku3//hll5NocEMrS1CtX1//5+lO2OxpZ9/"
|
3873 |
-
. "/2/+n//8smABVn0Rpf1vr/4dUjG//19dHm/x1Gskq1OhQrpfb7/iNcy02yQ/r7/+X2/vj///v///X/6//9///9/fn9//P///D//+7/9v/z/+f5//3/6f7/9Pr+7ykwd"
|
3874 |
-
. "C23QBxascrq+YGZ38rT8mWF2Hqk1hgiiKq2wv7///z99/fx//L8/eT29vf/7ff/+0+tVd3r/3ec6fj79P/58/z/8wAlvSFY6AQ2sf/x+Bw4jP/1+ur5/9fy/yJg2a/S"
|
3875 |
-
. "+s4SC84UGeHf7MnX/w0Uov/42f/45m+s783c83yPx/D/9/j/5uDm/O/v/AAilv/07Rc7k9IoD7zX/7/e8KOpzQdj6Pv191a2Suj/9mKEqe//8zdb1vz/9v7/9/z//8L"
|
3876 |
-
. "O/vb668Tb4wATVtPZ+cH1//7/4//8/zy1RP///yH5BAAAAAAALAAAAAAQABAAAAf/gGxuIUclDBWGfhUMITd+fhN3f218DyknWS5kLRcUUAUWKCgPVEkHCwJPAV5qCV"
|
3877 |
-
. "0ZGnQwewAKSBh1GFpRNmQxVyR8KDwOU3w1LC19XxIJS2gQIzpneihiYRwJFyZ9CTMZTi5JChcENAYvLx4pNEUGVxMPATgzBAYXfX1SK3MqFBEQHpAA4YnGkAt0CKRYM"
|
3878 |
-
. "YNLgQ0uAJRRwkLIHxdv8OT4sONbFRU9moCBgaIPHTsLRCxoEKSDhT8yBGxJYwSImT4mPvhYwwfLBhocxjjY0kAGkzgPrOT5wSeChhcIEJw44EOEAAUCQMAh8qeDnBh8"
|
3879 |
-
. "/ogdK3ZEnwseOjxay7atnwGBAQAAOw==",
|
3880 |
-
|
3881 |
-
//YAHOO
|
3882 |
-
"{BC853F21-410E-47ff-BB6D-2B89C9D7E76B}"
|
3883 |
-
=>"R0lGODlhEAAQAJEAAAAAAP8AAP///wAAACH5BAAAAAAALAAAAAAQABAAAAIplI+py+0dogwOSADEnEf2kHkfFWUamEzmpZSfmaIHPHrRguUm/f"
|
3884 |
-
. "T+UwAAOw==",
|
3885 |
-
|
3886 |
-
//Live
|
3887 |
-
"{E36B4B70-BFF0-4792-B08F-3FA90501E8BB}"
|
3888 |
-
=>"R0lGODlhEAAQAOYAACqFJv21ONrY1SaX2oS1Rf+4GoWtyf+2DHGVadni1uPcy91MD53FUYa6L2Oz6P/HKd3mxfKPE3ixT8vLyv+kD"
|
3889 |
-
. "MS9rANpuRaS2gCJ1f+7Q//BG0mj4vz8/eJXEf+sDUOGQgB1w+x2EmyqJAB/zM4xCu71+VOezf38++9fCYrALPCrltKcTcjaslqr49"
|
3890 |
-
. "3EnOisOtbVz3SwL8a/tv/QR/+bBACQ3JC/QLvJppm/baOsodM8EPj4+PHXmuNyG+ZuGv+1QXynaLbNmc45KM3isonD7a65lbS/x//"
|
3891 |
-
. "WbP/SUvSZIe10EPB+EiOO0zuQy6bI49RJMbvS4f+vK86xfOXp0Pbpyvnh2sCspMvSyvXCX3iz3aXW9etxSPCGFOHXvvy+VtSRelCQ"
|
3892 |
-
. "OF6Amoe5T+Lp8He86uiJTUSQKVydJFulIz+a2v/AM6CuuMklCNaiTM86EM6ve8GgcuOefv3Wjv/ED+d0F0ii3umAXu+roOdhEOptE"
|
3893 |
-
. "9uQV9vJxv+5SEad2/7+/v///yH5BAAAAAAALAAAAAAQABAAAAfNgH+Cg4SFhHdCbCRudieGgn5PJAsdeB0VQ36QCYJVOh15XEt6Ny"
|
3894 |
-
. "kEOEAfH4IqCyFcET4uQTYNImYACIJbKEpKdD0KOGK1Z2Y5f35fVhN7cWVTYgy1ImAwf2MmAxsOWn4QEmJiMWgImlkYAy1kdQk/PBA"
|
3895 |
-
. "sQUXXfk0jF9x9VFEZfF5Yfgj4U8ICiHRpiMgJcATJgzkvdvxxYnBEjQtQMqiZ8UCDBymCDIRZY8QAkysFOhbwQKECJEIcuhyYSYFG"
|
3896 |
-
. "kgmPBCl402YFHBmacgoNBAA7",
|
3897 |
-
|
3898 |
-
//PayPal
|
3899 |
-
"{6E89EFD4-A853-4321-B5CF-3E36C60B268D}"
|
3900 |
-
=>"R0lGODlhPgAfAMQAADJXgRVBcMHN2k5uktHV2oiguLTE08jT3tfh6QAhWPb4+kRli+fs8KS3yp2wxOPx93CMqeHn7VZ2mHyWsef1+u7x9GiDoi"
|
3901 |
-
. "RIc7u7u+np6QY0ZiI2TZSnvQAAAOr3/P///yH5BAAAAAAALAAAAAA+AB8AAAX/INdwZGmeaKquLFlYQ+HNdG3feK7vNlB8wKBwSCwaj8jhxfK5PZ5Qng4a3T0K2AJn9"
|
3902 |
-
. "sksiYKAZqwJLBxJIuNCHgMmFaNAAwAEAMAK4WubXAyABg4WGhYzFIg8BgEOgQ0QdxQeiJIzEwAVCgMSM3pfQwtMQw2FC3UAMQOqAxAMEqp1RAgBm6cLHJpMCgAceXtM"
|
3903 |
-
. "NQ8BDR8MCwMIHxUXARZZEmOsA4UBEBAXEkAWCwZA085YFmYXvQgaAp2/QwcBBB8GCQloFQE/QgXyHwjxxBEBvQw0JIDgbcAQA2MOfHAQIIgnYDQ4XFCwcAnFA4UkXAD"
|
3904 |
-
. "g7sDADxE0LPCWIJkAVBE+/ygwY2FjNwYBAlCEQePhEBiyACTwYeAAgw8cEhhcJuBDgwQX4gipYAHphJ4/MRr84MOhuhoXfigQIOBRgAT2DnT7IGGnAgXE1ggFckCAgQ"
|
3905 |
-
. "IXEkigGKFBHAdgQQYwUFNdkJBFMZY5NvHDhLW7FgT4qS3AhQnK2NyBluxogDhNuy1K6YvPjAaXgV44gMBDAzwfDjiIM4uhwg9zCgQoas4AAgpzUkbgwJnZz0s1bAaBs"
|
3906 |
-
. "ICBq6mpNaxWcMBng9EaiO2yMAcBA7gOq2WKYIABRgDGFxC06tnDgjYTakDQcIENmQUSAFCcEADBejKcaJBy3KZ/g+B+AUEAV1wpFQQBDjggQNZbB0yggTvmlEOgAJwF"
|
3907 |
-
. "gUCCPU1IIEXkQSTFDbNkVQAAC1Ty4YnCpVEEB6eQmIyKMHbm4Yk01qhDijHmqGMRNtno4499fYJEB0R2EESRQBiZ5JFEJlmkkU8m0eMOHdBQZZUzXInlllZ2mSWKAR6"
|
3908 |
-
. "h5AdQHknmmUo+OeaaTUp5FZVdYunBlVly+eWdc4IppJhIOpmmmWcuKSiZfR4xJZCIngjEBUNl4OijkEYq6aSUVmppBggYsFGmGHTq6aeghirqqKSW2ikHG7S3waqstu"
|
3909 |
-
. "rqq7DGKuusroYAADs="
|
3910 |
-
|
3911 |
-
);
|
3912 |
-
|
3913 |
-
if(array_key_exists($_GET["res"],$resources)) {
|
3914 |
-
$key = $_GET["res"];
|
3915 |
-
$content = base64_decode($resources[$key]);
|
3916 |
-
|
3917 |
-
$lastMod = filemtime(__FILE__);
|
3918 |
-
$client = (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])?$_SERVER['HTTP_IF_MODIFIED_SINCE']:false);
|
3919 |
-
// Checking if the client is validating his cache and if it is current.
|
3920 |
-
if (isset($client) && (strtotime($client) == $lastMod)) {
|
3921 |
-
// Client's cache IS current, so we just respond '304 Not Modified'.
|
3922 |
-
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $lastMod).' GMT', true, 304);
|
3923 |
-
exit;
|
3924 |
-
} else {
|
3925 |
-
// Image not cached or cache outdated, we respond '200 OK' and output the image.
|
3926 |
-
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $lastMod).' GMT', true, 200);
|
3927 |
-
header('Content-Length: '.strlen($content));
|
3928 |
-
header('Content-Type: image/gif');
|
3929 |
-
echo $content;
|
3930 |
-
exit;
|
3931 |
-
}
|
3932 |
-
}
|
3933 |
}
|
3934 |
-
|
1 |
+
<?php
|
2 |
+
|
3 |
/*
|
4 |
+
$Id: sitemap.php 47406 2008-05-22 17:20:35Z arnee $
|
|
|
5 |
|
6 |
Google XML Sitemaps Generator for WordPress
|
7 |
==============================================================================
|
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 sitemaps.org compatible sitemap of your WordPress blog which is supported by Ask.com, Google, MSN Search and YAHOO. <a href="options-general.php?page=sitemap.php">Configuration Page</a>
|
28 |
+
Version: 3.1
|
29 |
Author: Arne Brachhold
|
30 |
Author URI: http://www.arnebrachhold.de/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
*/
|
32 |
|
33 |
+
class GoogleSitemapGeneratorLoader {
|
34 |
+
function Enable() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
|
36 |
+
//Register the sitemap creator to wordpress...
|
37 |
+
add_action('admin_menu', array('GoogleSitemapGeneratorLoader', 'RegisterAdminPage'));
|
|
|
|
|
38 |
|
39 |
+
//Existing posts gets deleted
|
40 |
+
add_action('delete_post', array('GoogleSitemapGeneratorLoader', 'CallCheckForAutoBuild'),9999,1);
|
41 |
+
|
42 |
+
//Existing post gets published
|
43 |
+
add_action('publish_post', array('GoogleSitemapGeneratorLoader', 'CallCheckForAutoBuild'),9999,1);
|
44 |
+
|
45 |
+
//WP Cron hook
|
46 |
+
add_action('sm_build_cron', array('GoogleSitemapGeneratorLoader', 'CallBuildSitemap'),1,0);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
|
48 |
+
if(!empty($_GET["sm_command"]) && !empty($_GET["sm_key"])) {
|
49 |
+
GoogleSitemapGeneratorLoader::CallCheckForManualBuild();
|
|
|
|
|
|
|
50 |
}
|
|
|
|
|
|
|
51 |
}
|
|
|
|
|
|
|
52 |
|
53 |
+
function RegisterAdminPage() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
|
55 |
+
if (function_exists('add_options_page')) {
|
56 |
+
add_options_page(__('XML-Sitemap Generator','sitemap'), __('XML-Sitemap','sitemap'), 10, basename(__FILE__), array('GoogleSitemapGeneratorLoader','CallHtmlShowOptionsPage'));
|
57 |
+
}
|
58 |
}
|
59 |
|
60 |
+
function CallHtmlShowOptionsPage() {
|
61 |
+
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
|
62 |
+
$gs = GoogleSitemapGenerator::GetInstance();
|
63 |
+
$gs->HtmlShowOptionsPage();
|
64 |
+
}
|
65 |
}
|
66 |
|
67 |
+
function CallCheckForAutoBuild($args) {
|
68 |
+
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
|
69 |
+
$gs = GoogleSitemapGenerator::GetInstance();
|
70 |
+
$gs->CheckForAutoBuild($args);
|
71 |
+
}
|
72 |
}
|
73 |
|
74 |
+
function CallBuildSitemap() {
|
75 |
+
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
|
76 |
+
$gs = GoogleSitemapGenerator::GetInstance();
|
77 |
+
$gs->BuildSitemap();
|
78 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
}
|
80 |
|
81 |
+
function CallCheckForManualBuild() {
|
82 |
+
if(GoogleSitemapGeneratorLoader::LoadPlugin()) {
|
83 |
+
$gs = GoogleSitemapGenerator::GetInstance();
|
84 |
+
$gs->CheckForManualBuild();
|
|
|
85 |
}
|
86 |
}
|
87 |
|
88 |
+
function LoadPlugin() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
|
90 |
+
if(!class_exists("GoogleSitemapGenerator")) {
|
91 |
+
|
92 |
+
$path = trailingslashit(dirname(__FILE__));
|
93 |
+
|
94 |
+
if(!file_exists( $path . 'sitemap-core.php')) return false;
|
95 |
+
require_once($path. 'sitemap-core.php');
|
96 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
|
98 |
+
GoogleSitemapGenerator::Enable();
|
99 |
+
return true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
}
|
101 |
|
102 |
+
function GetBaseName() {
|
103 |
+
return plugin_basename(__FILE__);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
}
|
105 |
|
106 |
+
function GetPluginFile() {
|
107 |
+
return __FILE__;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
}
|
109 |
|
110 |
+
function GetVersion() {
|
111 |
+
if(!function_exists('get_plugin_data')) {
|
112 |
+
if(file_exists(ABSPATH . 'wp-admin/includes/plugin.php')) require_once(ABSPATH . 'wp-admin/includes/plugin.php'); //2.3+
|
113 |
+
else if(file_exists(ABSPATH . 'wp-admin/admin-functions.php')) require_once(ABSPATH . 'wp-admin/admin-functions.php'); //2.1
|
114 |
+
else return "0.ERROR";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
}
|
116 |
+
$data = get_plugin_data(__FILE__);
|
117 |
+
return $data['Version'];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
}
|
120 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
if(defined('ABSPATH') && defined('WPINC')) {
|
122 |
+
add_action("init",array("GoogleSitemapGeneratorLoader","Enable"),1000,0);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
}
|
124 |
+
?>
|