diff --git a/pole-sbv-content/plugins/google-sitemap-generator/documentation.txt b/pole-sbv-content/plugins/google-sitemap-generator/documentation.txt deleted file mode 100644 index f07b712e..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/documentation.txt +++ /dev/null @@ -1,410 +0,0 @@ -Google XML Sitemaps Generator for WordPress -============================================================================== - -This generator will create a sitemaps.org compliant sitemap of your WordPress site. -Currently homepage, posts, static pages, categories, archives and author pages are supported. - -The priority of a post depends on its comments. You can choose the way the priority -is calculated in the options screen. - -Feel free to visit my website under www.arnebrachhold.de or contact me at -himself [at] arnebrachhold [dot] de - -Have fun! - Arne - -Installation: -============================================================================== -1. Upload the full directory into your wp-content/plugins directory -2. Activate the plugin at the plugin administration page -3. Open the plugin configuration page, which is located under Settings -> XML-Sitemap and customize settings like priorities and change frequencies. -4. The plugin will automatically update your sitemap of you publish a post, so theres nothing more to do :) - - -Additional contributors: -============================================================================== -Inspiration Michael Nguyen http://www.socialpatterns.com/ -SQL Improvements Rodney Shupe http://www.shupe.ca/ -Japanse Lang. File Hirosama http://hiromasa.zone.ne.jp/ -Spanish lang. File Omi http://equipajedemano.info/ -Italian lang. File Stefano Aglietti http://wordpress-it.it/ -Trad.Chinese File Kirin Lin http://kirin-lin.idv.tw/ -Simpl.Chinese File june6 http://www.june6.cn/ -Swedish Lang. File Tobias Bergius http://tobiasbergius.se/ -Czech Lang. File Peter Kahoun http://kahi.cz -Finnish Lang. File Olli Jarva http://kuvat.blog.olli.jarva.fi/ -Belorussian Lang. File Marcis Gasuns -Bulgarian Lang. File Alexander Dichev http://dichev.com - -Thanks to all contributors and bug reporters! There were much more people involved -in testing this plugin and reporting bugs, either by email or in the WordPress forums. - -Unfortunately I can't maintain a whole list here, but thanks again to everybody not listed here! - - -Release History: -============================================================================== -2005-06-05 1.0 First release -2005-06-05 1.1 Added archive support -2005-06-05 1.2 Added category support -2005-06-05 2.0a Beta: Real Plugin! Static file generation, Admin UI -2005-06-05 2.0 Various fixes, more help, more comments, configurable filename -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 < ? - Thanks to Christian Aust for reporting this :) -2005-06-07 2.1 Correct usage of last modification date for cats and archives (thx to Rodney Shupe (http://www.shupe.ca/)) - Added support for .gz generation - Fixed bug which ignored different post/page priorities - Should support now different wordpress/admin directories -2005-06-07 2.11 Fixed bug with hardcoded table table names instead of the $wpd vars -2005-06-07 2.12 Changed SQL Statement of the categories to get it work on MySQL 3 -2005-06-08 2.2 Added language file support: - - Japanese Language Files and code modifications by hiromasa (http://hiromasa.zone.ne.jp/) - - German Language File by Arne Brachhold (http://www.arnebrachhold.de) -2005-06-14 2.5 Added support for external pages - Added support for Google Ping - Added the minimum Post Priority option - Added Spanish Language File by César Gómez Martín (http://www.cesargomez.org/) - Added Italian Language File by Stefano Aglietti (http://wordpress-it.it/) - Added Traditional Chine Language File by Kirin Lin (http://kirin-lin.idv.tw/) -2005-07-03 2.6 Added support to store the files at a custom location - Changed the home URL to have a slash at the end - Required admin-functions.php so the script will work with external calls, wp-mail for example - Added support for other plugins to add content to the sitemap via add_filter() -2005-07-20 2.7 Fixed wrong date format in additional pages - Added Simplified Chinese Language Files by june6 (http://www.june6.cn/) - Added Swedish Language File by Tobias Bergius (http://tobiasbergius.se/) -2006-01-07 3.0b Added different priority calculation modes and introduced an API to create custom ones - Added support to use the Popularity Contest plugin by Alex King to calculate post priority - Added Button to restore default configuration - Added several links to homepage and support - Added option to exclude password protected posts - Added function to start sitemap creation via GET and a secret key - Posts and pages marked for publish with a date in the future won't be included - Improved compatiblity with other plugins - Improved speed and optimized settings handling - Improved user-interface - Recoded plugin architecture which is now fully OOP -2006-01-07 3.0b1 Changed the way for hook support to be PHP5 and PHP4 compatible - Readded support for tools like w.Bloggar - Fixed "doubled-content" bug with WP2 - Added xmlns to enable validation -2006-03-01 3.0b3 More performance - More caching - Better support for Popularity Contest and WP 2.x -2006-11-16 3.0b4 Fixed bug with option SELECTS - Decreased memory usage which should solve timeout and memory problems - Updated namespace to support YAHOO and MSN -2007-01-19 3.0b5 Javascripted page editor - WP 2 Design - YAHOO notification - New status report, removed ugly logfiles - Better Popularity Contest Support - Fixed double backslashes on windows systems - Added option to specify time limit and memory limit - Added option to define a XSLT stylesheet and added a default one - Fixed bug with sub-pages. Thanks to: - - Mike Baptiste (http://baptiste.us), - - Peter Claus Lamprecht (http://fastagent.de) - - Glenn Nicholas (http://publicityship.com.au) - Improved file handling, thanks to VJTD3 (http://www.VJTD3.com) - WP 2.1 improvements -2007-01-23 3.0b6 Use memory_get_peak_usage instead of memory_get_usage if available - Removed the usage of REQUEST_URI since it not correct in all environments - Fixed that sitemap.xml.gz was not compressed - Added compat function "stripos" for PHP4 (Thanks to Joseph Abboud!) - Streamlined some code -2007-05-17 3.0b7 Added option to include the author pages like /author/john - Small enhancements, removed stripos dependency and the added compat function - Added check to not build the sitemap if importing posts - Fixed missing domain parameter for translator name - Fixed WP 2.1 / Pre 2.1 post / pages database changes - Fixed wrong XSLT location (Thanks froosh) - Added Ask.com notification - Removed unused javascript -2007-07-22 3.0b8 Changed category SQL to prevent unused cats from beeing included - Plugin will be loaded on "init" instead of direclty after the file has been loaded. - Added support for robots.txt modification - Switched YAHOO ping API from YAHOO Web Services to the "normal" ping service which doesn't require an app id - Search engines will only be pinged if the sitemap file has changed -2007-09-02 3.0b9 Added tag support for WordPress 2.3 - Now using post_date_gmt instead of post_date everywhere - Fixed archive bug with static pages (Thanks to Peter Claus Lamprecht) - Fixed some missing translation domains, thanks to Kirin Lin! - Added Czech translation files for 2.7.1, thanks to Peter Kahoun (http://kahi.cz) -2007-09-04 3.0b10 Added category support for WordPress 2.3 - Fixed bug with empty URLs in sitemap - Repaired GET building - Added more info on debug mode -2007-09-23 3.0b11 Changed mysql queries to unbuffered queries - Uses MUCH less memory - Fixed really stupid bug with search engine pings - Option to set how many posts will be included -2007-09-24 3.0 Yeah, 3.0 Final after one and a half year ;) - Removed useless functions -2007-11-03 3.0.1 Using the Snoopy HTTP client for ping requests instead of wp_remote_fopen - Fixed undefined translation strings - Added "safemode" for SQL which doesn't use unbuffered results (old style) - Added option to run the building process in background using wp-cron - Removed unnecessary function_exists, Thanks to user00265 - Added links to test the ping if it failed. -2007-11-25 3.0.2 Fixed bug which caused that some settings were not saved correctly - Added option to exclude pages or post by ID - Restored YAHOO ping service with API key since the other one is to unreliable. (see 3.0b8) -2007-11-28 3.0.2.1 Fixed wrong XML Schema Location (Thanks to Emanuele Tessore) - Added Russian Language files by Sergey http://ryvkin.ru -2007-12-30 3.0.3 Added Live Search Ping - Removed some hooks which rebuilt the sitemap with every comment -2008-03-30 3.0.3.1 Added compatibility CSS for WP 2.5 -2008-04-28 3.0.3.2 Improved WP 2.5 handling -2008-04-29 3.0.3.3 Fixed author pages - Enhanced background building and increased delay to 15 seconds - Background building is enabled by default -2008-04-28 3.1b1 Reorganized files in builder, loader and UI - Added 2 step loader so only code that's needed will be loaded - Improved WP 2.5 handling - Secured all admin actions with nonces -2008-05-18 3.1b2 Fixed critical bug with the build in background option - Added notification if a build is scheduled -2008-05-19 3.1b3 Cleaned up plugin directory and moved asset files to subfolders - Fixed background building bug in WP 2.1 - Removed auto-update plugin link for WP < 2.5 -2008-05-22 3.1 Marked as 3.1 stable, updated documentation -2008-05-27 3.1.0.1 Extracted UI JS to external file - Enabled the option to include following pages of multi-page posts - Script tries to raise memory and time limit if active -2008-12-21 3.1.1 Fixed redirect issue if wp-admin is rewritten via mod_rewrite, thanks to macjoost - Fixed wrong path to assets, thanks PozHonks - Fixed wrong plugin URL if wp-content was renamed / redirected, thanks to wnorris - Updated WP User Interface for 2.7 - Various other small things -2008-12-26 3.1.2 Changed the way the stylesheet is saved (default / custom stylesheet) - Sitemap is now build when page is published - Removed support for static robots.txt files, this is now handled via WordPress - Added compat. exceptions for WP 2.0 and WP 2.1 -2009-06-07 3.1.3 Changed MSN Live Search to Bing - Exclude categories also now exludes the category itself and not only the posts - Pings now use the new WordPress HTTP API instead of Snoopy - Fixed bug that in localized WP installations priorities could not be saved. - The sitemap cron job is now cleared after a manual rebuild or after changing the config - Adjusted style of admin area for WP 2.8 and refreshed icons - Disabled the "Exclude categories" feature for WP 2.5.1, since it doesn't have the required functions yet -2009-06-22 3.1.4 Fixed bug which broke all pings in WP < 2.7 - Added more output in debug mode if pings fail - Moved global post definitions for other plugins - Added small icon for ozh admin menu - Added more help links in UI -2009-08-24 3.1.5 Added option to completely disable the last modification time - Fixed bug regarding the use of the HTTPS url for the XSL stylesheet if the sitemap was build via the admin panel - Improved handling of homepage if a single page was set for it - Fixed mktime warning which appeared sometimes - Fixed bug which caused inf. reloads after rebuilding the sitemap via the admin panel - Improved handling of missing sitemaps files if WP was moved to another location -2009-08-31 3.1.6 Fixed PHP error "Only variables can be passed by reference" - Fixed wrong URLS of multi-page posts (Thanks artstorm!) -2009-10-21 3.1.7 Added support for custom taxonomies (Thanks to Lee!) -2009-11-07 3.1.8 Improved custom taxonomy handling and fixed wrong last modification date - Changed readme and backlinks - Fixed fatal error in WP < 2.3 - Fixed Update Notice in WP 2.8+ - Added warning if blog privacy is activated - Fixed custom URLs priorities were shown as 0 instead of 1 -2009-11-13 3.1.9 Fixed MySQL Error if author pages were included -2009-11-23 3.2 Added function to show the actual results of a ping instead of only linking to the url - Added new hook (sm_rebuild) for third party plugins to start building the sitemap - Fixed bug which showed the wrong URL for the latest Google ping result - Added some missing phpdoc documentation - Removed hardcoded php name for sitemap file for admin urls - Uses KSES for showing ping test results - Ping test fixed for WP < 2.3 -2009-12-16 3.2.1 Notes and update messages could interfere with the redirect after manual build - Help Links in the WP context help were not shown anymore since last update - IE 7 sometimes displayed a cached admin page - Removed invalid link to config page from the plugin description (This resulted in a "Not enough permission error") - Improved performance of getting the current plugin version with caching - Updated Spanish language files -2009-12-19 3.2.2 Fixed PHP4 problems -2010-04-02 3.2.3 Fixed that all pages were not included in the sitemap if the "Uncategorized" category was excluded -2010-05-29 3.2.4 Fixed more deprecated function calls - Added (GMT) to sitemap xslt template to avoid confusion with time zone - Added warning and don't activate plugin if multisite mode is enabled (this mode is NOT tested yet) - Changed get_bloginfo('siteurl') to get_bloginfo('url') to avoid deprecation warning - Changed has_cap(10) to has_cap('level_10') to avoid deprecation warning - Fixed wrong SQL statement for author pages (Ticket #1108), thanks to twoenough -2010-07-11 3.2.5 Backported Bing ping success fix from beta - Added friendly hint to try out the new beta -2010-09-19 3.2.6 Removed YAHOO ping since YAHOO uses bing now - Removed deprecated function call -2012-04-24 3.2.7 Fixed custom post types, thanks to clearsite of the wordpress.org forum! - Fixed broken admin layout on WP 3.4 -2012-08-08 3.2.8 Fixed wrong custom taxonomy URLs, thanks to ramon fincken of the wordpress.org forum! - Removed ASK ping since they shut down their service. - Exclude post_format taxonomy from custom taxonomy list -2013-01-11 3.2.9 Fixed security issue with change frequencies and filename of sitemap file. Exploit was only possible for admin accounts. -2013-09-28 3.3 Fixed problem with file permission checking - Filter out hashs (#) in URLs -2013-11-24 3.4 Fixed deprecation warnings in PHP 5.4, thanks to Dion Hulse! -2014-03-29 4.0 No static files anymore, sitemap is created on the fly - Sitemap is split-up into sub-sitemaps by month, allowing up to 50.000 posts per month - Support for custom post types and custom taxonomis! - 100% Multisite compatible, including by-blog and network activation. - Added support for mu-plugins forced-activation (see sitemap-wpmu.php for details) - Reduced server resource usage due to less content per request. - New API allows other plugins to add their own, separate sitemaps. - Raised min requirements to PHP 5.1 and WordPress 3.3 - Note: This version will try to rename your old sitemap files to *-old.xml. If that doesn’t work, please delete them manually since no static files are needed anymore! - Using only wpdb instead of unbuffered queries anymore - Ping to search engines are done on WP ping - Using PHP5 syntax instead of old PHP4 OOP style - Added pre-loader which checks the requirements - Avoid the main query of WordPress (based on plugin by Michael Adams) - Avoid additional queries in post sitemaps - Added custom post types - Fixed include of static front page in pages index - Do not list "#" permalinks from placeholder plugins - Removed YAHOO pings since YAHOO doesn't have its own ping service anymore. - Sitemap doesn't state it is a feed anymore - Removed Ask.com ping since they shut down their service (who uses Ask anyway?) -2014-03-31 4.0.1 Fixed bug with custom post types including a "-" - Changed rewrite-setup to happen on init and flushing on wp_loaded to better work with other plugins -2014-04-01 4.0.2 Fixed warning if an gzip handler is already active -2014-04-13 4.0.3 Fixed compression if an gzlib handler was already active - Help regarding permalinks for Nginx users - Fix with gzip compression in case there was other output before already - Return 404 for HTML sitemaps if the option has been disabled -2014-04-19 4.0.4 Removed deprecated get_page call - Changed last modification time of sub-sitemaps to the last modification date of the posts instead of the publish date - Removed information window if the statistic option has not been activated - Added link regarding new sitemap format - Updated Portuguese translation, thanks to Pedro Martinho - Updated German translation -2014-05-18 4.0.5 Fixed issue with empty post sitemaps (related to GMT/local time offset) - Fixed some timing issues in archives - Improved check for possible problems before gzipping - Fixed empty Archives and Authors in case there were no posts - Changed content type to text/xml to improve compatibility with caching plugins - Changed query parameters to is_feed=true to improve compatibility with caching plugins - Switched from using WP_Query to load posts to a custom SQL statement to avoid problems with other plugin filters - Fixed bug which caused the Priority Provider to disappear in recent PHP versions - Cleaned up code and renamed variables to be more readable - Added caching of some SQL statements - Added support feed for more help topics - Added support for changing the base of the sitemap url to another URL (for WP installations in sub-folders) - Changed text in XSL template to be more clear about sitemap-index and sub-sitemaps - Added link to new help page - Plugin will also ping with the corresponding sub-sitemap in case a post was modified - Added function to manually start ping for main-sitemap or all sub-sitemaps - Better checking for empty externals - Updated Japanese Translation, thanks to Daisuke Takahashi -2014-06-03 4.0.6 Added option to disable automatic gzipping - Fixed bug with duplicated external sitemap entries - Updated language file template - Don't gzip if behind Varnish - Improved compatibility with caches - Ping on post edit -2014-06-23 4.0.7 Better compatibility with managed GoDaddy hosting (clear alloptions cache when generating the sitemap) - Improved checking if the sitemap should be gzipped or not (depending on ob levels) - Removed WordPress version from the sitemap - Corrected link to WordPress privacy settings - Changed hook which is being used for sitemap pings -2014-09-02 4.0.7.1Added icon for the new WP Add-Plugin page - Changed "Tested up to" to 4.0 -2014-11-15 4.0.8 Fixed bug with excluded categories, thanks to Claus Schöffel! -2017-03-22 4.0.9 Fixed security issue with donation submission. - - - - -Todo: -============================================================================== -- Your wishes :) - - -License: -============================================================================== -Copyright 2005 - 2017 ARNE BRACHHOLD (email : himself - arnebrachhold - de) - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Please see license.txt for the full license. - - -Developer Documentation -============================================================================== - -Adding other pages to the sitemap via other plugins - -This plugin uses the action system of WordPress to allow other plugins -to add urls to the sitemap. Simply add your function with add_action to -the list and the plugin will execute yours every time the sitemap is build. -Use the static method "GetInstance" to get the generator and AddUrl method -to add your content. - -Sample: - -function your_pages() { - $generatorObject = &GoogleSitemapGenerator::GetInstance(); - if($generatorObject!=null) $generatorObject->AddUrl("http://blog.uri/tags/hello/",time(),"daily",0.5); -} -add_action("sm_buildmap", "your_pages"); - -Parameters: -- The URL to the page -- The last modified data, as a UNIX timestamp (optional) -- The Change Frequency (daily, hourly, weekly and so on) (optional) -- The priority 0.0 to 1.0 (optional) - - -Rebuilding the sitemap on request - -If you want to rebuild the sitemap because dynamic content from your plugin has changed, -please use the "sm_rebuild" hook which is available since 3.1.9. -All other methods, like calling the Build method directly are highly unrecommended and might -not work anymore with the next version of the plugin. Using this hook, the sitemap plugin will -take care of everything like loading the required classes and so on. - -Sample: - -do_action("sm_rebuild"); - -The sitemap might not be rebuild immediately, since newer versions use a background WP-Cron -job by default to prevent that the user has to wait and avoid multiple rebuilds within a very short time. -In case the sitemap plugin is not installed, nothing will happen and no errors will be thrown. - -=============================================== - -Adding additional PriorityProviders - -This plugin uses several classes to calculate the post priority. -You can register your own provider and choose it at the options screen. - -Your class has to extend the GoogleSitemapGeneratorPrioProviderBase class -which has a default constructor and a method called GetPostPriority -which you can override. - -Look at the GoogleSitemapGeneratorPrioByPopularityContestProvider class -for an example. - -To register your provider to the sitemap generator, use the following filter: - -add_filter("sm_add_prio_provider","AddMyProvider"); - -Your function could look like this: - -function AddMyProvider($providers) { - array_push($providers,"MyProviderClass"); - return $providers; -} - -Note that you have to return the modified list! \ No newline at end of file diff --git a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-amazon.gif b/pole-sbv-content/plugins/google-sitemap-generator/img/icon-amazon.gif deleted file mode 100644 index b6e497f7..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-amazon.gif and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-arne.gif b/pole-sbv-content/plugins/google-sitemap-generator/img/icon-arne.gif deleted file mode 100644 index c495665b..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-arne.gif and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-bing.gif b/pole-sbv-content/plugins/google-sitemap-generator/img/icon-bing.gif deleted file mode 100644 index 83d621fe..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-bing.gif and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-donate.gif b/pole-sbv-content/plugins/google-sitemap-generator/img/icon-donate.gif deleted file mode 100644 index 2ca03eae..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-donate.gif and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-email.gif b/pole-sbv-content/plugins/google-sitemap-generator/img/icon-email.gif deleted file mode 100644 index 587a3fc2..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-email.gif and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-google.gif b/pole-sbv-content/plugins/google-sitemap-generator/img/icon-google.gif deleted file mode 100644 index 9ca22426..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-google.gif and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-help.png b/pole-sbv-content/plugins/google-sitemap-generator/img/icon-help.png deleted file mode 100644 index bcb34810..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-help.png and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-paypal.gif b/pole-sbv-content/plugins/google-sitemap-generator/img/icon-paypal.gif deleted file mode 100644 index a5470d2e..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-paypal.gif and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-trac.gif b/pole-sbv-content/plugins/google-sitemap-generator/img/icon-trac.gif deleted file mode 100644 index 45174f6d..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-trac.gif and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-wordpress.gif b/pole-sbv-content/plugins/google-sitemap-generator/img/icon-wordpress.gif deleted file mode 100644 index 9935f467..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-wordpress.gif and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-yahoo.gif b/pole-sbv-content/plugins/google-sitemap-generator/img/icon-yahoo.gif deleted file mode 100644 index dc7a8a59..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/img/icon-yahoo.gif and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/img/sitemap.js b/pole-sbv-content/plugins/google-sitemap-generator/img/sitemap.js deleted file mode 100644 index 73d044ff..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/img/sitemap.js +++ /dev/null @@ -1,109 +0,0 @@ -/* - - $Id: sitemap.js 48032 2008-05-27 14:32:06Z arnee $ - -*/ - -function sm_addPage(url,priority,changeFreq,lastChanged) { - - var table = document.getElementById('sm_pageTable').getElementsByTagName('TBODY')[0]; - var ce = function(ele) { return document.createElement(ele) }; - var tr = ce('TR'); - - var td = ce('TD'); - var iUrl = ce('INPUT'); - iUrl.type="text"; - iUrl.style.width='95%'; - iUrl.name="sm_pages_ur[]"; - if(url) iUrl.value=url; - td.appendChild(iUrl); - tr.appendChild(td); - - td = ce('TD'); - td.style.width='150px'; - var iPrio = ce('SELECT'); - iPrio.style.width='95%'; - iPrio.name="sm_pages_pr[]"; - for(var i=0; i 1) { - firstRow.parentNode.removeChild(firstRow); - } - } - var cnt = table.getElementsByTagName('TR').length; - if(cnt%2) tr.className="alternate"; - - table.appendChild(tr); -} - -function sm_loadPages() { - for(var i=0; i, 2005. -# $Id: sitemap.pot 2327 2005-06-19 03:09:59 RedAltExport $ -msgid "" -msgstr "" -"Project-Id-Version: Sitemap v2.7.1 for WP\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-07 01:15+0100\n" -"PO-Revision-Date: 2009-07-15 03:12+0200\n" -"Last-Translator: Hazem Khaled \n" -"Language-Team: Sewar \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Arabic\n" -"X-Poedit-Country: ARABIAN WORLD\n" -"X-Poedit-SourceCharset: utf-8\n" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:642 -msgid "Comment Count" -msgstr "عدد التعليقات" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:654 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "أستخدم عدد التعليقات لحساب الأولوية" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:714 -msgid "Comment Average" -msgstr "متوسط التعليقات" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:726 -msgid "Uses the average comment count to calculate the priority" -msgstr "أستخدم متوسط التعليقات لحساب الأولوية" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:789 -msgid "Popularity Contest" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:801 -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1187 -msgid "Always" -msgstr "دائماً" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1188 -msgid "Hourly" -msgstr "كل ساعة" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1189 -msgid "Daily" -msgstr "يومياً" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1190 -msgid "Weekly" -msgstr "اسبوعياً" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1191 -msgid "Monthly" -msgstr "شهرياً" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1192 -msgid "Yearly" -msgstr "سنوياً" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1193 -msgid "Never" -msgstr "أبداً" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 -msgid "Hide this notice" -msgstr "أخفاء هذا التبليغ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 -#, php-format -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? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "شكراً ﻷستخدامك هذه الأضافة! لقد قمت بتركيب الإضافة من اكثر من شهر. إذا كنت راضي عن النتائج, يمكنك التبرع بدولار واحد على الأقل؟ المتبرعين ساعدوني بدعم وتطوير هذه الأضافة المجانية! أكيد, لا يوجد مشكلة!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 -msgid "No thanks, please don't bug me anymore!" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:119 -msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:121 -#, php-format -msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" -msgstr "" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:146 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:453 -msgid "XML Sitemap Generator for WordPress" -msgstr "صانع خريطة الموقع" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:298 -msgid "Configuration updated" -msgstr "تم تحديث الإعدادات" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:299 -msgid "Error while saving options" -msgstr "حدث خطأ عند حفظ إعدادات الصفحات" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:301 -msgid "Pages saved" -msgstr "تم حفظ إعدادات الصفحات" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:302 -msgid "Error while saving pages" -msgstr "حدث خطأ عند حفظ إعدادات الصفحات" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:309 -msgid "The default configuration was restored." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:466 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here." -msgstr "هناك إصدارة جديدة %1$s متاحة. تحميل الأصدارة %3$s من هنا." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:468 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." -msgstr "هناك إصدارة جديدة %1$s متاحة. تحميل الأصدارة %3$s من هنا. التحديث التلقائي غير متاح في هذه المدونة." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:470 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." -msgstr "هناك إصدارة جديدة %1$s متاحة. تحميل الأصدارة %3$s من هنا او حدث تلقائياً." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:493 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:510 -msgid "open" -msgstr "فتح" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:494 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:511 -msgid "close" -msgstr "أغلاق" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:495 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:512 -msgid "click-down and drag to move this box" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:496 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:513 -msgid "click to %toggle% this box" -msgstr "أضغط لكي %toggle% هذا المربع" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:497 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:514 -msgid "use the arrow keys to move this box" -msgstr "أستخدم السهم لتحريك المربعات" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:515 -msgid ", or press the enter key to %toggle% it" -msgstr ", او أضغط على الزر لـ%toggle%" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 -msgid "About this Plugin:" -msgstr "عن هذه الأضافة" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:141 -msgid "Plugin Homepage" -msgstr "الصفحة الرئيسية" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:535 -msgid "Suggest a Feature" -msgstr "رشح خاصية جديدة" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:536 -msgid "Notify List" -msgstr "قائمة التبليغ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:537 -msgid "Support Forum" -msgstr "منتدى الدعم" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:538 -msgid "Report a Bug" -msgstr "أبلغ عن خطأ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:540 -msgid "Donate with PayPal" -msgstr "تبرع بالباي بال" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:541 -msgid "My Amazon Wish List" -msgstr "قائمة رغباتي بأمازون" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:542 -msgid "translator_name" -msgstr "إعادة الترجمة : حازم خالد" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:542 -msgid "translator_url" -msgstr "http://HazemKhaled.com" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:545 -msgid "Sitemap Resources:" -msgstr "موارد خريطة الموقع:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:546 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:552 -msgid "Webmaster Tools" -msgstr "ادوات مدير الموقع" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:547 -msgid "Webmaster Blog" -msgstr "مدونة مدير الموقع" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:549 -msgid "Site Explorer" -msgstr "متصفح الموقع" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:550 -msgid "Search Blog" -msgstr "بحث المدونة" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:553 -msgid "Webmaster Center Blog" -msgstr "مدونة مركز مدير الموقع" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:555 -msgid "Sitemaps Protocol" -msgstr "بروتوكول خريطة الموقع" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:556 -msgid "Official Sitemaps FAQ" -msgstr "الأسئلة الشائعة الرسمية عن خريطة المواقع" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:557 -msgid "My Sitemaps FAQ" -msgstr "الأسئلة الشائعة عن خريطة الموقع" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:560 -msgid "Recent Donations:" -msgstr "أخر تبرع" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:564 -msgid "List of the donors" -msgstr "قائمة المتبرعين" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:566 -msgid "Hide this list" -msgstr "اخفاء هذه القائمة" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:569 -msgid "Thanks for your support!" -msgstr "شكراً لدعمك" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:587 -msgid "Status" -msgstr "الحالة" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:595 -#, php-format -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:601 -msgid "Your sitemap was last built on %date%." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:603 -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreأعرف المزيد" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:610 -msgid "Your sitemap (zipped) was last built on %date%." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:612 -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreأعرف المزيد" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:618 -msgid "Google was successfully notified about changes." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:621 -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:624 -#, php-format -msgid "There was a problem while notifying Google. View result" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:630 -msgid "YAHOO was successfully notified about changes." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:633 -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:636 -#, php-format -msgid "There was a problem while notifying YAHOO. View result" -msgstr "" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:642 -msgid "Bing was successfully notified about changes." -msgstr "" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:645 -msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." -msgstr "" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:648 -#, php-format -msgid "There was a problem while notifying Bing. View result" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:654 -msgid "Ask.com was successfully notified about changes." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:657 -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:660 -#, php-format -msgid "There was a problem while notifying Ask.com. View result" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:668 -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "تم الأنشاء في حوالي %time% ثانية وأستخدام %memory% MB من الذاكرة." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:670 -msgid "The building process took about %time% seconds to complete." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:674 -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:682 -msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:685 -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:687 -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:691 -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:695 -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:698 -#, php-format -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "إذا تغير شيء على الخادم الخاص بك أو مدونتك, فيجب عليك إعادة غنشاء الخريطة يدوياً" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:700 -#, php-format -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "إذا واجهتك أي مشاكل في عملية انشاء الخريطة فيمكنك أستخدام debug function للحصول على المزيد من المعلومات" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:707 -msgid "Basic Options" -msgstr "إعدادات أساسية" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:709 -msgid "Sitemap files:" -msgstr "ملفات الخريطة" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:709 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 -msgid "Learn more" -msgstr "أعرف المزيد" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:714 -msgid "Write a normal XML file (your filename)" -msgstr "كتابة ملف XML عادي (ملف خريطة الموقع)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:720 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "كتابة ملف XML مضغوط (ملف خريطة الموقع + .gz)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 -msgid "Building mode:" -msgstr "نظام البناء:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:729 -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "اعادة إنشاء الخريطة إذا قمت بتغيير محتوى المدونة" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:736 -msgid "Enable manual sitemap building via GET Request" -msgstr "إتاحة أنشاء الخريطة يدوياً عن طريق طلب GET" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:740 -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: %1 Please check the logfile above to see if sitemap was successfully built." -msgstr "" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 -msgid "Update notification:" -msgstr "تحديث التبليغات:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:748 -msgid "Notify Google about updates of your Blog" -msgstr "تبليغ جوجل عن تحديثات موقعك" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:749 -#, php-format -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "لا يحتاج للتسجيل, ولكن يمكنك التسجيل في Google Webmaster Tools لمتابعة أحصائيات أرشفة موقعك." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:753 -msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" -msgstr "أبلاغ BING (رسمياً MSN Live Search) عن التحديثات بمدونتك" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:754 -#, php-format -msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." -msgstr "لا يحتاج للتسجيل, ولكن يمكنك التسجيل في Bing Webmaster Tools لمتابعة أحصائيات أرشفة موقعك." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:758 -msgid "Notify Ask.com about updates of your Blog" -msgstr "أبلاغ Ask.com عن تحديثات مدونتك" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:759 -msgid "No registration required." -msgstr "لا يحتاج للتسجيل" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:763 -msgid "Notify YAHOO about updates of your Blog" -msgstr "تبليغ YAHOO بتحديثات مدونتك" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:764 -msgid "Your Application ID:" -msgstr "رقم الطلب الخاص بك :" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:765 -#, php-format -msgid "Don't you have such a key? Request one here! %s2" -msgstr "" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:770 -msgid "Add sitemap URL to the virtual robots.txt file." -msgstr "إضافة خريطة الموقع لملف robots.txt" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:774 -msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" -msgstr "ملف robots.txt الأفتراضي الذي تم إنشائه بواسطة WordPress قيد الأستخدام. ملف robots.txt الفعلي يجب أن لا يكون موجود بمجلد المدونة!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 -msgid "Advanced options:" -msgstr "خيارات متقدمة" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 -msgid "Limit the number of posts in the sitemap:" -msgstr "تحديد عدد التدوينات في الخريطة :" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 -msgid "Newer posts will be included first" -msgstr "التدوينة الجديدة ستدرج الأولى" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 -msgid "Try to increase the memory limit to:" -msgstr "حاول تزيد حد الذاكرة إلى:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 -msgid "e.g. \"4M\", \"16M\"" -msgstr "مثال : \"4M\", \"16M\"" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 -msgid "Try to increase the execution time limit to:" -msgstr "حاول زيادة مدة التنفيذ :" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "بالثواني, مثال: \"60\" أو \"0\" للغير نهائي" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:790 -msgid "Include a XSLT stylesheet:" -msgstr "أستخدام ملف تنسيقي XSLT:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 -msgid "Full or relative URL to your .xsl file" -msgstr "الرابط كاملاً ملفم ال .xsl" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 -msgid "Use default" -msgstr "أستخدام الأفتراضي" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:797 -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "تفعيل وضع MySQL القياسي. أستخدها فقط في حالة حدوث اخطاء MySQL. (يحتاج إلى المزيد من الذاكرة!)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:798 -msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" -msgstr "يجب تحديث وردبريس للأصدارة 2.2 لتفعيل وصل أسرع لل MySQL" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:805 -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "بناء خريطة الموقع في كل مرة في الخلفية (لكل لا يأخر عملية حفظ التدوينات)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:806 -msgid "Upgrade WordPress at least to 2.1 to enable background building" -msgstr "يجب تحديث المدونة لإصدارة 2.1 على الأقل لتفعيل العمل في الخلفية" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:813 -msgid "Additional pages" -msgstr "صفحات إضافية" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:816 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "هنا يمكنك تضمين الملفات و الروابط التي يجب أن يتم تضمينها في خريطة الموقع، لكنها لا تتبع ووردبريس .
على سبيل المثال، إذا كان نطاق موقعك www.foo.com و مدونتك موجودة في www.foo.com/blog أنت قد تريد تضمين الصفحة الرئيسية لموقعك في www.foo.com." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:818 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:997 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1011 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1020 -msgid "Note" -msgstr "تنبيه" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:819 -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)!" -msgstr "إذا كانت مدونتك في مجلد فرعي و أردت إضافة صفحات خارج مجلد مدونتك، يجب عليك وضع ملف خريطة موقعك في المجلد الرئيسي لموقعك (انظر فسم "مكان ملف خريطة موقعك" في هذه الصفحة)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:821 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:860 -msgid "URL to the page" -msgstr "رابط الصفحة" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "ضع رابط الصفحة ، مثلاً : http://www.foo.com/index.html أو www.foo.com/home ." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:824 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:861 -msgid "Priority" -msgstr "الأفضلية" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:825 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "إختر أفضلية الصفحة نسبة إلى الصفحات الأخرى ، على سبيل المثال ، صفحتك الرئيسية لربّما يكون لها أفضلية أعلى من سيرتك الذاتية ." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:827 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 -msgid "Last Changed" -msgstr "آخر تعديل" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:828 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "ضع تاريخ آخر تعديل كـ YYYY-MM-DD (مثلاً : 2005-12-31) (اختياري) ." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862 -msgid "Change Frequency" -msgstr "فترة التحديث" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:864 -msgid "#" -msgstr "#" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:869 -msgid "No pages defined." -msgstr "لا يوجد صفحات مضافة ." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:874 -msgid "Add new page" -msgstr "أضف صفحة جديدة" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:879 -msgid "Post Priority" -msgstr "الأفضلية" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:881 -msgid "Please select how the priority of each post should be calculated:" -msgstr "الرجاء اختيار مدى أولوية كل تدوينة :" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:883 -msgid "Do not use automatic priority calculation" -msgstr "لا تستخدم حساب الأولوية تلقائيا" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:883 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "كل المواضيع تحمل نفس الأولوية التي تم تحديدها في "الأولويات"" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:894 -msgid "Location of your sitemap file" -msgstr "مكان ملف خريطة موقعك" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:897 -msgid "Automatic detection" -msgstr "الكشف الآلي" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:901 -msgid "Filename of the sitemap file" -msgstr "اسم ملف خريطة الموقع:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:904 -msgid "Detected Path" -msgstr "مسار الملف" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:904 -msgid "Detected URL" -msgstr "رابط الملف" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:909 -msgid "Custom location" -msgstr "مسار مخصص" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:913 -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "المسار الكامل لملف خريطة الموقع." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:915 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:924 -msgid "Example" -msgstr "مثال" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:922 -msgid "Complete URL to the sitemap file, including name." -msgstr "الرابط الكامل لملف خريطة الموقع." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:935 -msgid "Sitemap Content" -msgstr "محتوى خريطة الموقع" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:941 -msgid "Include homepage" -msgstr "تضمين الصفحة الرئيسية" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:947 -msgid "Include posts" -msgstr "تضمين التدوينات" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:953 -msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" -msgstr "إدراج الصفحات التابعة للمواضيع متعددة الصفحات (يزيد في مدة إنشاء الخيرطة وكمية الذاكرة المستخدمة)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:959 -msgid "Include static pages" -msgstr "تضمين الصفحات" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:965 -msgid "Include categories" -msgstr "تضمين التصنيفات" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:971 -msgid "Include archives" -msgstr "تضمين الأرشيف" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:978 -msgid "Include tag pages" -msgstr "تضمين صفحات التاجات" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:985 -msgid "Include author pages" -msgstr "تضمين صفحات الكتاب" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:993 -msgid "Excluded items" -msgstr "استبعاد عناصر" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:995 -msgid "Excluded categories" -msgstr "استبعاد التصنيفات" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:997 -msgid "Using this feature will increase build time and memory usage!" -msgstr "باستخدام هذه الميزة سوف تزيد من وقت الأنشاء واستخدام ذاكرة اكبر!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1004 -#, php-format -msgid "This feature requires at least WordPress 2.5.1, you are using %s" -msgstr "هذه الخاصية تحتاج لنسخة وردبريس 2.5.1, أنت تستخدم %s" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1007 -msgid "Exclude posts" -msgstr "استبعاد التدوينات" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1009 -msgid "Exclude the following posts or pages:" -msgstr "أستبعاد التدوينات او المواضيع الأتية:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1009 -msgid "List of IDs, separated by comma" -msgstr "ضع الأرقام IDs, وأفصل بينهم بكومة انجليزية" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1011 -msgid "Child posts won't be excluded automatically!" -msgstr "المواضيع التابعة لن تستبعد تلقائيا!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1017 -msgid "Change frequencies" -msgstr "فترة التحديث" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1021 -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." -msgstr "رجاء لاحظ بأنّ قيمة هذه الخاصية هي تلميح معتبر و ليس إجبارياً . بالرغم من أنّ محركات البحث تقرأ هذه الخاصية عندما تبحث ، هي قد تفحص الصفحات التي أشّرت \"كل ساعة\" أقل كثيرا من ذلك ، وهي قد تفحص الصفحات التي أشّرت \"سنوياً\" أكثر من ذلك . هي أيضا من المحتمل تفحص الصفحات التي أشّرت \"أبداً\" بشكل دوري لكي هم يمكن أن يعالجوا التغييرات الغير المتوقّعة في تلك الصفحات ." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1027 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1084 -msgid "Homepage" -msgstr "الصفحة الرئيسية" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1033 -msgid "Posts" -msgstr "التدوينات" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1039 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1102 -msgid "Static pages" -msgstr "الصفحات" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1045 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1108 -msgid "Categories" -msgstr "التصنيفات" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1051 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "أرشيف الشهر الحالي (يفضل أن يكون مثل الصفحة الرئيسية)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1057 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "الأرشيف السابق (يتغير عندما تحرر تدوينة قديمة فقط)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1064 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1121 -msgid "Tag pages" -msgstr "صفحات التاجات" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1071 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1128 -msgid "Author pages" -msgstr "صفحات المؤلفين" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1079 -msgid "Priorities" -msgstr "الأفضليات" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1090 -msgid "Posts (If auto calculation is disabled)" -msgstr "التدوينات (إذا كان الحساب الآلي غير مفعل)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1096 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "أفضلية التدوينة الدنيا (حتى إذا كان الحساب الآلي مفعل)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1114 -msgid "Archives" -msgstr "الأرشيف" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1139 -msgid "Update options" -msgstr "تحديث الإعدادات" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1140 -msgid "Reset options" -msgstr "تصفير الإعدادات" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:84 -msgid "XML-Sitemap Generator" -msgstr "صانع خريطة الموقع" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:84 -msgid "XML-Sitemap" -msgstr "خريطة الموقع" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:142 -msgid "Sitemap FAQ" -msgstr "الأسئلة الشائعة عن خريطة الموقع" - -#~ msgid "Manual location" -#~ msgstr "تحديد الرابط يدوياً" -#~ msgid "OR" -#~ msgstr "أو" -#~ msgid "Error" -#~ msgstr "حصل خطأ" -#~ msgid "" -#~ "A new page was added. Click on "Save page changes" to save your " -#~ "changes." -#~ msgstr "" -#~ "تم إضافة صفحة جديدة ، إضغط على زر "حفظ تغييرات الصفحات" لحفظ " -#~ "تغييراتك ." -#~ msgid "" -#~ "The page was deleted. Click on "Save page changes" to save your " -#~ "changes." -#~ msgstr "تم حذف الصفحة ." -#~ msgid "You changes have been cleared." -#~ msgstr "تم إلغاء تغييراتك ." -#~ msgid "Manual rebuild" -#~ msgstr "إنشاء خريطة الموقع يدوياً" -#~ msgid "" -#~ "If you want to build the sitemap without editing a post, click on here!" -#~ msgstr "" -#~ "إذا كنت تريد إنشاء خريطة الموقع بدون تعديل تدوينة ، إضغط على الزر التالي :" -#~ msgid "Rebuild Sitemap" -#~ msgstr "إعادة إنشاء خريطة الموقع" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-bg_BG.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-bg_BG.mo deleted file mode 100644 index 7fefcb8c..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-bg_BG.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-bg_BG.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-bg_BG.po deleted file mode 100644 index dea81e3a..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-bg_BG.po +++ /dev/null @@ -1,827 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: sitemap 3.1.1\n" -"POT-Creation-Date: \n" -"PO-Revision-Date: 2009-03-02 13:53+0200\n" -"Last-Translator: Alexander Dichev \n" -"Language-Team: Alexander Dichev \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Bulgarian\n" -"X-Poedit-Country: BULGARIA\n" -"X-Poedit-SourceCharset: utf-8\n" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:642 -msgid "Comment Count" -msgstr "Брой Коментари" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:654 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "Използва броя на коментарите при калкулиране на приоритета на поста" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:714 -msgid "Comment Average" -msgstr "Коментари Средно" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:726 -msgid "Uses the average comment count to calculate the priority" -msgstr "Използва средния брой на коментарите при калкулиране на приоритета" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:789 -msgid "Popularity Contest" -msgstr "Popularity Contest" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:801 -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "Използва активиран Popularity Contest Plugin от Alex King. Виж Настройки и Най-популярните постове." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1209 -msgid "Always" -msgstr "Винаги" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1210 -msgid "Hourly" -msgstr "Ежечасно" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1211 -msgid "Daily" -msgstr "Ежедневно" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1212 -msgid "Weekly" -msgstr "Ежеседмично" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1213 -msgid "Monthly" -msgstr "Ежемесечно" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1214 -msgid "Yearly" -msgstr "Ежегодно" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1215 -msgid "Never" -msgstr "Никога" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "Благодаря Ви много за дарението. Вие ми помагате да продължа развитието и поддръжката на този плъгин и на други безплатни приложения и софтуер." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 -msgid "Hide this notice" -msgstr "Скриване на съобщението" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 -#, php-format -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? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "Благодаря Ви, че използвате този плъгин! Вие сте инсталирали и използвате този плъгин повече от месец. Ако работи добре и сте доволни от резултата, не си ли заслужава поне един долар? Даренията ми помагат да продължа развитието и поддръжката на този безплатен софтуер! Разбира се, няма проблеми! " - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 -msgid "No thanks, please don't bug me anymore!" -msgstr "Не благодаря, моля, не ме безпокойте повече!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:119 -msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" -msgstr "Вашата карта на сайта се обновява в момента. В зависимост от големината на блога, това би коствало известно време." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:121 -#, php-format -msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" -msgstr "Вашата карта на сайта ще бъде обновена след %s секунди. В зависимост от големината на блога, това би коствало известно време." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:146 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:441 -msgid "XML Sitemap Generator for WordPress" -msgstr "XML Sitemap Генератор за WordPress" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:278 -msgid "Configuration updated" -msgstr "Конфигурацията е обновена" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:279 -msgid "Error while saving options" -msgstr "Грешка при запазване на настройките" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:281 -msgid "Pages saved" -msgstr "Страниците са запаметени" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:282 -msgid "Error while saving pages" -msgstr "Грешка при запаметяване на страниците" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:286 -#, php-format -msgid "Robots.txt file saved" -msgstr "Файла Robots.txt е запазен" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:288 -msgid "Error while saving Robots.txt file" -msgstr "Грешка при запазването на файла robots.txt" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:297 -msgid "The default configuration was restored." -msgstr "Стандартните настройки са възстановени" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:454 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here." -msgstr "Има нова версия на %1$s. Изтеглете версия %3$s тук." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:456 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." -msgstr "Има нова версия на %1$s. Изтегли версия %3$s тук невъзможно е автоматично обновяване за това разширение." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:458 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." -msgstr "Има нова версия на %1$s. Изтегли версия %3$s тук илиr обнови автоматично." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:481 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498 -msgid "open" -msgstr "отвори" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:482 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:499 -msgid "close" -msgstr "затвори" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:483 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:500 -msgid "click-down and drag to move this box" -msgstr "кликнете с мишката върху кутията и провлачете за да я преместите" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:484 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:501 -msgid "click to %toggle% this box" -msgstr "кликнете за да %toggle% кутията" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:485 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:502 -msgid "use the arrow keys to move this box" -msgstr "използвайте бутоните със стрелките за преместване на кутията" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:486 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:503 -msgid ", or press the enter key to %toggle% it" -msgstr ", или натиснете бутона Enter за да го %toggle%" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:521 -msgid "About this Plugin:" -msgstr "За плъгина:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:522 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:138 -msgid "Plugin Homepage" -msgstr "Страница на плъгина" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:523 -msgid "Suggest a Feature" -msgstr "Предложи Нова Възможност" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:524 -msgid "Notify List" -msgstr "E-Mail абонамент за обновяванията" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:525 -msgid "Support Forum" -msgstr "Форуми за помощ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:526 -msgid "Report a Bug" -msgstr "Докладвай за Бъг" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:528 -msgid "Donate with PayPal" -msgstr "Дарение с PayPal" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:529 -msgid "My Amazon Wish List" -msgstr "Моят списък с желания от Amazon" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:530 -msgid "translator_name" -msgstr "Alexander Dichev" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:530 -msgid "translator_url" -msgstr "http://dichev.com/" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 -msgid "Sitemap Resources:" -msgstr "Sitemap Ресурси:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:540 -msgid "Webmaster Tools" -msgstr "Webmaster Tools" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:535 -msgid "Webmaster Blog" -msgstr "Webmaster Blog" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:537 -msgid "Site Explorer" -msgstr "Site Explorer" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:538 -msgid "Search Blog" -msgstr "Search Blog" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:541 -msgid "Webmaster Center Blog" -msgstr "Webmaster Center Blog" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:543 -msgid "Sitemaps Protocol" -msgstr "Sitemaps Протокол" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:544 -msgid "Official Sitemaps FAQ" -msgstr "Официални Често Задавани Въпроси" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:545 -msgid "My Sitemaps FAQ" -msgstr "Моите Често Задавани Въпроси" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:548 -msgid "Recent Donations:" -msgstr "Последни Дарения;" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:552 -msgid "List of the donors" -msgstr "Списък на дарителите" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:554 -msgid "Hide this list" -msgstr "Скрийте този списък" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:557 -msgid "Thanks for your support!" -msgstr "Благодаря за помощта!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:575 -msgid "Status" -msgstr "Статус" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:583 -#, php-format -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "Все още не е създаден sitemap-файл. От тази връзка генерирайте карта на сайта за първи път." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:589 -msgid "Your sitemap was last built on %date%." -msgstr "Вашият sitemap-файл беше създаден успешно на %date%." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:591 -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreПовече информация." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:598 -msgid "Your sitemap (zipped) was last built on %date%." -msgstr "Вашият архивиран sitemap-файл беше създаден успешно на %date%." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:600 -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreПовече информация." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:606 -msgid "Google was successfully notified about changes." -msgstr "Google беше уведомен успешно за промените в блога." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:609 -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "Отне %time% секунди за уведомяването на Google ако желаете да намалите времето за генериране можете да деактивирате тази функция." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:612 -#, php-format -msgid "There was a problem while notifying Google. View result" -msgstr "Имаше проблем с уведомяването на Google. Виж резултата" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:618 -msgid "YAHOO was successfully notified about changes." -msgstr "YAHOO беше уведомен успешно за промените в блога." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:621 -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "Отне %time% секунди за уведомяването на YAHOO ако желаете да намалите времето за генериране можете да деактивирате тази функция." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:624 -#, php-format -msgid "There was a problem while notifying YAHOO. View result" -msgstr "Имаше проблем с уведомяването на YAHOO. Виж резултата" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:630 -msgid "MSN was successfully notified about changes." -msgstr "MSN беше уведомен успешно за промените в блога." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:633 -msgid "It took %time% seconds to notify MSN.com, maybe you want to disable this feature to reduce the building time." -msgstr "Отне %time% секунди за уведомяването на MSN.com, ако желаете да намалите времето за генериране можете да деактивирате тази функция." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:636 -#, php-format -msgid "There was a problem while notifying MSN.com. View result" -msgstr "Имаше проблем с уведомяването на MSN.com. Виж резултата" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:642 -msgid "Ask.com was successfully notified about changes." -msgstr "Ask.com беше уведомен успешно за промените в блога." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:645 -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "Отне %time% секунди за уведомяването на Ask.com ако желаете да намалите времето за генериране можете да деактивирате тази функция." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:648 -#, php-format -msgid "There was a problem while notifying Ask.com. View result" -msgstr "Имаше проблем с уведомяването на Ask.com. Виж резултата" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:656 -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "Генерирането на sitemap-а отне %time% секунди и беше използвана %memory% MB памет." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:658 -msgid "The building process took about %time% seconds to complete." -msgstr "Процесът на генериране отне %time% секунди." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:662 -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "Съдържанието на картата на сайта Ви не е променено от последния път, затова файлове не бяха създадени и не бяха ping-нати търсачки." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:670 -msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." -msgstr "Възможно е процесът по изграждане все още да не е приключил. Презареди страницата след няколко секунди и провери за промяна." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:673 -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "Последният опит на генериране на карта на сайта приключи неуспешно! Можете да опитате да увеличите максимума използвана памет и лимита за време на изпълнение на PHP-скриптове на Вашия уеб-сървър. Повече информация." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:675 -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "Последното регистрирано количество използвана от скрипта памет е %memused%MB, лимита за използвана памет от PHP-скриптове, зададен в конфигурацията на Вашия уеб-сървър е %memlimit%MB." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:679 -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "Последното регистрирано време за изпълнение на скрипта беше %timeused% секунди, лимита за продължителност на изпълнение на PHP-скриптове зададен в конфигурацията на Вашия уеб-сървър е %timelimit% секунди." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:683 -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "Изпълнението на този скрипт спря около пост номер %lastpost% (+/- 100)." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:686 -#, php-format -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "Ако сте направили някакви промени по сървъра или блога е необходимо да Регенерирате Sitemap-а ръчно." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:688 -#, php-format -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "Ако изпитвате проблеми при създаването на файла можете да активирате Дебъг Функцията за да получите повече информация за грешките." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:695 -msgid "Basic Options" -msgstr "Основни Настройки" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:697 -msgid "Sitemap files:" -msgstr "Sitemap файлове:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:697 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:712 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:732 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:765 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:782 -msgid "Learn more" -msgstr "Повече информация" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:702 -msgid "Write a normal XML file (your filename)" -msgstr "Генерирай нормален XML файл (име на файла)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:708 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "Генерирай архивирана версия (име_на_файла + .gz)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:712 -msgid "Building mode:" -msgstr "Метод на генериране:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:717 -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "Регенерирай sitemap-а при промяна в съдържанието на блога" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 -msgid "Enable manual sitemap building via GET Request" -msgstr "Активиране на ръчно генериране на sitemap-файла чрез изпращане на GET заявка" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:728 -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: %1 Please check the logfile above to see if sitemap was successfully built." -msgstr "Това прави възможно регенериране на sitemap-а ако външен инструмент е внесъл промени в базата данни на WordPress без да изпозва WordPress API. Активирайте процеса от тази връзка: %1. Моля, проверете log-файла по-горе за да разжерете дали sitemap-а е генериран успешно." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:732 -msgid "Update notification:" -msgstr "Уведомяване при обновяване:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:736 -msgid "Notify Google about updates of your Blog" -msgstr "Уведомяване на Google при обновяване на блога Ви" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:737 -#, php-format -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "Не е необходима регистрация, но трябва да се включите в Google Webmaster Tools за да проверите статистиката от посещенията на търсачката на сайта ви." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:741 -msgid "Notify MSN Live Search about updates of your Blog" -msgstr "Уведомяване на MSN Live Search при обновяване на блога Ви" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:742 -#, php-format -msgid "No registration required, but you can join the MSN Live Webmaster Tools to check crawling statistics." -msgstr "Не е необходима регистрация, но трябва да се включите в MSN Live Webmaster Tools за да проверите статистиката от посещенията на търсачката на сайта ви." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:746 -msgid "Notify Ask.com about updates of your Blog" -msgstr "Уведомяване на Ask.com за обновявания на блога Ви" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:747 -msgid "No registration required." -msgstr "Не е необходима регистрация." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:751 -msgid "Notify YAHOO about updates of your Blog" -msgstr "Уведомяване на YAHOO за обновявания на блога Ви" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:752 -msgid "Your Application ID:" -msgstr "Вашето Application ID:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:753 -#, php-format -msgid "Don't you have such a key? Request one here! %s2" -msgstr "Нямате ли ключ? Заявете си от тук! %s2" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:760 -#, php-format -msgid "Modify or create %s file in blog root which contains the sitemap location." -msgstr "Обновяване или създаване на факл %s в главната директория на блога, която се намира местоположението на картата на сайта." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:763 -msgid "File permissions: " -msgstr "Права върху файла:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:768 -msgid "OK, robots.txt is writable." -msgstr "OK, robots.txt е разрешен за промяна." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:770 -msgid "Error, robots.txt is not writable." -msgstr "Грешка, robots.txt е заключен за промяна." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:774 -msgid "OK, robots.txt doesn't exist but the directory is writable." -msgstr "OK, robots.txt не съществува, но директорията е разрешена за писане." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:776 -msgid "Error, robots.txt doesn't exist and the directory is not writable" -msgstr "Грешка, robots.txt не съществува и директорията не е разрешена за писане" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:782 -msgid "Advanced options:" -msgstr "Допълнителни настройки:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:785 -msgid "Limit the number of posts in the sitemap:" -msgstr "Ограничи броя на постовете в sitemap-а:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:785 -msgid "Newer posts will be included first" -msgstr "Новите постове ще бъдат включени първо" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:788 -msgid "Try to increase the memory limit to:" -msgstr "При възможност увеличи лимита на паметта на:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:788 -msgid "e.g. \"4M\", \"16M\"" -msgstr "например \"4M\", \"16M\"" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 -msgid "Try to increase the execution time limit to:" -msgstr "При възможност увеличи времето за изпълнение на:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "секунди, например \"60\" или \"0\" без ограничение" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:795 -msgid "Include a XSLT stylesheet:" -msgstr "Добави XSLT Stylesheet:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:796 -msgid "Full or relative URL to your .xsl file" -msgstr "Абсолютен или относителен URL до Вашия .xsl файл" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:796 -msgid "Use default" -msgstr "Използвай Стандартните" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801 -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "Активиране на MySQL Standard метод. Използва се само при получаване на MySQL грешки. (Използва доста повече памет!)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:807 -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "Генерирай картата на сайта на заден план (Няма да е необходимо да се чака при запазване на пост)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:814 -msgid "Additional pages" -msgstr "Допълнителни страници" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:817 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "Тук можете да определите файлове или URL-и, които да бъдат добавени в картата на сайта, въпреки, че не са част от блога/WordPress.
Например, ако домейнът Ви е www.foo.com и блогът Ви се намира на www.foo.com/blog, може да добавите заглавната страница на сайта си http://www.foo.com" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:819 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:998 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1012 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1021 -msgid "Note" -msgstr "Забележка" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:820 -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)!" -msgstr "Ако блогът Ви се намира в поддиректория и Вие желаете да включите страници, които НЕ са в директорията на блога, вие ТРЯБВА да локализирате Вашия sitemap-файл в главната директория (Виж секцията "Местонахождение на sitemap-файла")!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:861 -msgid "URL to the page" -msgstr "URL на страницата" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:823 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "Въведете URL на страницата. Примери: http://www.foo.com/index.html или www.foo.com/home " - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:825 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862 -msgid "Priority" -msgstr "Приоритет" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:826 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "Изберете приоритета на страницата в зависимост от другите страници. Например, Вашата заглавна страница може да има по-висок приоритет от страницата Ви за контакт." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:828 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:864 -msgid "Last Changed" -msgstr "Последна Промяна" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:829 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "Въведете датата на последното обновяване във вида (например 2005-12-31) (незадължително)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 -msgid "Change Frequency" -msgstr "Честота на Обновяване" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:865 -msgid "#" -msgstr "#" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:870 -msgid "No pages defined." -msgstr "Няма дефинирани страници." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:875 -msgid "Add new page" -msgstr "Добавяне на нова страница" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:880 -msgid "Post Priority" -msgstr "Приоритет на Поста" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:882 -msgid "Please select how the priority of each post should be calculated:" -msgstr "Моля, изберете начин на калкулиране на приоритета на постовете" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:884 -msgid "Do not use automatic priority calculation" -msgstr "Не използвай авто-калкулиране на приоритета" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:884 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "Всички постове ще имат еднакъв приоритет, който е дефиниран в "Приоритети"" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:895 -msgid "Location of your sitemap file" -msgstr "Път до sitemap-файла" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:898 -msgid "Automatic detection" -msgstr "Автоматично разпознаване" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:902 -msgid "Filename of the sitemap file" -msgstr "Име на sitemap-файла" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:905 -msgid "Detected Path" -msgstr "Намерен път" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:905 -msgid "Detected URL" -msgstr "Намерен URL" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:910 -msgid "Custom location" -msgstr "Друго местонахождение" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:914 -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "Абсолютен и относителен път до sitemap-файла, включително името." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:916 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:925 -msgid "Example" -msgstr "Пример" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:923 -msgid "Complete URL to the sitemap file, including name." -msgstr "Абсолютен URL до sitemap-файла, включително името." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:936 -msgid "Sitemap Content" -msgstr "Съдържание на картата на сайта" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:942 -msgid "Include homepage" -msgstr "Включи заглавната страница" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:948 -msgid "Include posts" -msgstr "Включи постове" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:911 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:954 -msgid "Include following pages of multi-page posts (<!--nextpage-->)" -msgstr "Включи следните страници от многостранични статии (<!--nextpage-->)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:960 -msgid "Include static pages" -msgstr "Включи статични страници" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:966 -msgid "Include categories" -msgstr "Включи категории" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:972 -msgid "Include archives" -msgstr "Включи архиви" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:979 -msgid "Include tag pages" -msgstr "Включи страници с тагове" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:986 -msgid "Include author pages" -msgstr "Включи авторски страници" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:994 -msgid "Excluded items" -msgstr "Изключени" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:996 -msgid "Excluded categories" -msgstr "Изключени категории" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:998 -msgid "Using this feature will increase build time and memory usage!" -msgstr "Използването на това ще увеличи времето за създаване и употребата на памет!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1005 -#, php-format -msgid "This feature requires at least WordPress 2.5, you are using %s" -msgstr "Това изисква най-малко WordPress 2.5, Вие използвате %s" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1008 -msgid "Exclude posts" -msgstr "Изключени постове" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010 -msgid "Exclude the following posts or pages:" -msgstr "Не включвай следните постове и/или страници:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010 -msgid "List of IDs, separated by comma" -msgstr "Списък на ID-тата, разделени със запетая" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1012 -msgid "Child posts will not automatically be excluded!" -msgstr "Подстраниците ще бъдат автоматично изключени!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1018 -msgid "Change frequencies" -msgstr "Честота на обновяване" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1022 -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." -msgstr "Моля, обърнете внимание, че стойността на този таг е само подсказка, а не команда. Дори търсачките да се влияят от тази информация при вземане на решенията си, те може да посещават страници, маркирани с \"hourly\" по-рядко от това на всеки час и страници маркирани с \"yearly\" по-често от един път в годината. Приема се, че търсачките периодично посещават страници, маркирани с \"never\" за да могат да отбележат евентуални неочаквани промени в съдържанието им." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1028 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1086 -msgid "Homepage" -msgstr "Заглавна страница" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1034 -msgid "Posts" -msgstr "Постове" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1040 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1104 -msgid "Static pages" -msgstr "Статични страници" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1046 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1110 -msgid "Categories" -msgstr "Категории" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1052 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Настоящ архив за месеца (Трябва да е същия като на заглавната страница)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1058 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Стари архиви (Промяна само при редакция на стар пост)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1065 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1123 -msgid "Tag pages" -msgstr "Страници на тагове" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1072 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1130 -msgid "Author pages" -msgstr "Авторски страници" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1080 -msgid "Priorities" -msgstr "Приоритети" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1092 -msgid "Posts (If auto calculation is disabled)" -msgstr "Постове (Ако авто-калкулиране е неактивно)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1098 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Минимален приоритет на постовете (Важи и при активирано авто-калкулиране)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1116 -msgid "Archives" -msgstr "Архив" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1141 -msgid "Update options" -msgstr "Обновяване на настройките" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1142 -msgid "Reset options" -msgstr "Връщане на вградените настройки" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:81 -msgid "XML-Sitemap Generator" -msgstr "XML-Sitemap Генератор" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:81 -msgid "XML-Sitemap" -msgstr "XML-Sitemap" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:139 -msgid "Sitemap FAQ" -msgstr "Често Задавани Въпроси" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-by_BY.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-by_BY.mo deleted file mode 100644 index 7a399aba..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-by_BY.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-by_BY.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-by_BY.po deleted file mode 100644 index f0ddc054..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-by_BY.po +++ /dev/null @@ -1,685 +0,0 @@ -# [Countryname] Language File for sitemap (sitemap-[localname].po) -# Copyright (C) 2005 [name] : [URL] -# This file is distributed under the same license as the WordPress package. -# [name] <[mail-address]>, 2005. -# $Id: sitemap.pot 24948 2007-11-18 16:37:44Z arnee $ -# -msgid "" -msgstr "" -"Project-Id-Version: sitemap\n" -"Report-Msgid-Bugs-To: <[mail-address]>\n" -"POT-Creation-Date: 2005-06-15 00:00+0000\n" -"PO-Revision-Date: 2009-06-07 02:23+0100\n" -"Last-Translator: Arne Brachhold\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language-Team: \n" -"X-Poedit-KeywordsList: _e;__\n" -"X-Poedit-Basepath: .\n" -"X-Poedit-SearchPath-0: C:\\Inetpub\\wwwroot\\wp\\wp-content\\plugins\\sitemap_beta\n" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 -msgid "Comment Count" -msgstr "Колькасць каментароў" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "Выкарыстае колькасць каментароў да артыкула для вылічэння прыярытэту" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 -msgid "Comment Average" -msgstr "Сярэдняя колькасць каментароў" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 -msgid "Uses the average comment count to calculate the priority" -msgstr "Выкарыстае сярэдняя колькасць каментароў для вылічэння прыярытэту" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 -msgid "Popularity Contest" -msgstr "Папулярнасць дыскусіі" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "Выкарыстайце актываваны Убудова папулярнасці дыскусій ад Alex King. Гл. Налады і Самыя папулярныя запісы" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -msgid "XML-Sitemap Generator" -msgstr "Генератар XML-карты сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -msgid "XML-Sitemap" -msgstr "XML-карта сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "Премного дзякую за ахвяраванні. Вы дапамагаеце мне ў продалжении падтрымкі і распрацоўкі гэтай убудовы і іншага вольнага ПА!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -msgid "Hide this notice" -msgstr "Схаваць гэтую заўвагу" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#, php-format -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? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "Дзякую Вас за выкарыстанне гэтай убудовы! Вы ўсталявалі яго звыш месяца назад. Калі ён працуе і Вы здаволеныя яго вынікамі, вышліце мне хоць бы $1? Ахвяраванні дапамогуць мне ў падтрымцы і распрацоўцы гэтага бясплатнага ПА! Вядома, без праблем!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -msgid "No thanks, please don't bug me anymore!" -msgstr "Не, дзякуй. Прашу мяне больш не турбаваць!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835 -msgid "XML Sitemap Generator for WordPress" -msgstr "Генератар XML-карты сайта для WordPress" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740 -msgid "Configuration updated" -msgstr "Канфігурацыя абноўленая" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741 -msgid "Error while saving options" -msgstr "Памылка пры захаванні параметраў" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743 -msgid "Pages saved" -msgstr "Старонкі захаваныя" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744 -msgid "Error while saving pages" -msgstr "Памылка пры захаванні старонак" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2748 -#, php-format -msgid "Robots.txt file saved" -msgstr "Файл Robots.txt захаваны" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2750 -msgid "Error while saving Robots.txt file" -msgstr "Памылка пры захаванні файла Robots.txt" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 -msgid "The default configuration was restored." -msgstr "Канфігурацыя па змаўчанні адноўленая." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 -msgid "open" -msgstr "адкрыць" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 -msgid "close" -msgstr "зачыніць" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 -msgid "click-down and drag to move this box" -msgstr "Націсніце кнопку мышы і цягнеце для перамяшчэння гэтага блока" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 -msgid "click to %toggle% this box" -msgstr "Націсніце для %toggle% на гэты блок" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 -msgid "use the arrow keys to move this box" -msgstr "выкарыстайце стрэлкі для перамяшчэння гэтага блока" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 -msgid ", or press the enter key to %toggle% it" -msgstr ", або націсніце копку ўвод (enter) для %toggle% яго" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 -msgid "About this Plugin:" -msgstr "Аб гэта ўбудове:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886 -msgid "Plugin Homepage" -msgstr "Хатняя старонка ўбудовы" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 -msgid "Notify List" -msgstr "Спіс напамінку" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -msgid "Support Forum" -msgstr "Форум тэхнічнай падтрымкі" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 -msgid "Donate with PayPal" -msgstr "Ахвяраваць праз PayPal" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 -msgid "My Amazon Wish List" -msgstr "Мой спіс пажаданняў на Amazon" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -msgid "translator_name" -msgstr "Перавёў Сяргей Рывкин" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -msgid "translator_url" -msgstr "http://ryvkin.ru" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895 -msgid "Sitemap Resources:" -msgstr "Рэсурсы карыт сайта:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 -msgid "Webmaster Tools" -msgstr "Прылады вэб-майстра" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -msgid "Webmaster Blog" -msgstr "Дзённік вэб-майстра" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 -msgid "Site Explorer" -msgstr "Прагляд сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 -msgid "Search Blog" -msgstr "Шукаць у дзённіку" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903 -msgid "Sitemaps Protocol" -msgstr "Пратакол выкарыстання карты сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 -msgid "Official Sitemaps FAQ" -msgstr "Афіцыйны ЧАВО па картах сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 -msgid "My Sitemaps FAQ" -msgstr "Мой ЧАВО па картах сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 -msgid "Recent Donations:" -msgstr "Апошнія ахвяраванні:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 -msgid "List of the donors" -msgstr "Спіс спонсараў" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 -msgid "Hide this list" -msgstr "Схаваць гэты спіс" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 -msgid "Thanks for your support!" -msgstr "Дзякуй за Вашу падтрымку!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 -msgid "Status" -msgstr "Статут" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 -#, php-format -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "Карта сайта яшчэ не пабудаваная. Націсніце тут для стварэння яе ўпершыню." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 -msgid "Your sitemap was last built on %date%." -msgstr "Ваша карта сайта апошні раз была пабудаваная: %date%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreПачытаць яшчэ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 -msgid "Your sitemap (zipped) was last built on %date%." -msgstr "Ваша карта сайта (сціснутая) апошні раз была пабудаваная: %date%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreПачытаць яшчэ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 -msgid "Google was successfully notified about changes." -msgstr "Google быў паспяхова паінфармаваны аб зменах." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "%time% секунд заняло інфармаванне Google; магчыма, Вас варта адключыць гэтую функцыю, каб знізіць час пабудовы карты." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 -#, php-format -msgid "There was a problem while notifying Google. View result" -msgstr "Пры інфармаванні Google адбылася памылка. Паглядзець вынік" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 -msgid "YAHOO was successfully notified about changes." -msgstr "YAHOO быў паспяхова паінфармаваны аб зменах." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "%time% секунд заняло інфармаванне YAHOO; магчыма, Вас варта адключыць гэтую функцыю, каб знізіць час пабудовы карты." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 -#, php-format -msgid "There was a problem while notifying YAHOO. View result" -msgstr "Пры інфармаванні YAHOO адбылася памылка. Паглядзець вынік" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 -msgid "Ask.com was successfully notified about changes." -msgstr "Ask.com быў паспяхова паінфармаваны аб зменах." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "%time% секунд заняло інфармаванне Ask.com; магчыма, Вас варта адключыць гэтую функцыю, каб знізіць час пабудовы карты." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 -#, php-format -msgid "There was a problem while notifying Ask.com. View result" -msgstr "Пры інфармаванні Ask.com адбылася памылка. Паглядзець вынік" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "Працэс пабудовы заняў прыкладна %time% секунд і выкарыстаў %memory% MB памяці." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 -msgid "The building process took about %time% seconds to complete." -msgstr "Працэс пабудовы заняў прыкладна %time% секунд." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "Утрыманне Вашай карты сайта не змянялася за апошні час, таму файлы не запісваліся і пошукавыя сістэмы не інфармаваліся." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "Апошні запуск не быў завершаны! Магчыма, Вы перавысілі ліміты памяці або часу выканання. Пачытаць яшчэ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "Апошні раз скрыпт выкарыстаў %memused%MB памяці, ліміт памяці Вашага сервера складае %memlimit%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "Апошні раз скрыпт працаваў %timeused% секунд, абмежаванне часу на Вашым серверы складае %timelimit% секунд." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "Скрыпт спыніўся каля артыкула нумар %lastpost% (+/- 100)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 -#, php-format -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "Калі Вы нешта памянялі на Вашым сервре або ў дзённіку, Вам неабходна зноўку пабудаваць карту сайта уручную." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 -#, php-format -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "Калі Вы сапхнуліся з якія-небудзь праблемамі ў працэсе пабудовы, Вы можаце скарыстацца функцыяй адладкі для атрымання дадатковай інфармацыі." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040 -msgid "Basic Options" -msgstr "Базавыя параметры" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -msgid "Sitemap files:" -msgstr "Файлы карты сайта:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -msgid "Learn more" -msgstr "Пачытаць яшчэ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049 -msgid "Write a normal XML file (your filename)" -msgstr "Запісаць звычайны XML файл (Ваша імя файла)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "Запісаць запакаваны XML файл (Ваша імя файла + .gz)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -msgid "Building mode:" -msgstr "Рэжым пабудовы карты:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "Пабудуйце зноўку карту сайта, калі Вы змянілі ўтрыманне Вашага дзённіка" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 -msgid "Enable manual sitemap building via GET Request" -msgstr "Дазволіць ручную пабудову карты сайта з дапамогай запыту GET" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 -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: %1 Please check the logfile above to see if sitemap was successfully built." -msgstr "Гэта дазволіць Вам абнавіць карту сайта, калі знешняя прылада будзе пісаць у базу WordPress? не выкарыстаючы WordPress API. Выкарыстайце наступны URL для выканання працэсу: %1 Паглядзіце пратакол (гл. вышэй) для праверкі, ці пабудаваная карта сайта." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -msgid "Update notification:" -msgstr "Абнавіць апавяшчэнне:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -msgid "Notify Google about updates of your Blog" -msgstr "Апавясціць Google аб зменах у Вашым дзённіку" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#, php-format -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "Рэгістрацыя не патрабуецца, але Вы можаце далучыцца да Прыладам вэб-майстра Google для прагляду статыстыкі пошукавых робатаў." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 -msgid "Notify Ask.com about updates of your Blog" -msgstr "Апавясціць Asc.com аб зменах у Вашым дзённіку" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 -msgid "No registration required." -msgstr "Рэгістрацыя не патрабуецца." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 -msgid "Notify YAHOO about updates of your Blog" -msgstr "Апавясціць YAHOO аб зменах у Вашым дзённіку" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -msgid "Your Application ID:" -msgstr "Ваш ідэнтыфікатар прыкладання (Application ID):" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 -#, php-format -msgid "Don't you have such a key? Request one here! %s2" -msgstr "У Вас няма такога ключа?? Запытаеце тут! %s2" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3099 -#, php-format -msgid "Modify or create %s file in blog root which contains the sitemap location." -msgstr "Змяніць або стварыць файл %s у дзённіку, які ўтрымоўвае інфармацыю аб размяшчэнні карты сайта." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3102 -msgid "File permissions: " -msgstr "Дазволы на доступ да файлаў: " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3107 -msgid "OK, robots.txt is writable." -msgstr "OK, robots.txt адчынены на запіс." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3109 -msgid "Error, robots.txt is not writable." -msgstr "Памылка, robots.txt не адчынены на запіс." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3113 -msgid "OK, robots.txt doesn't exist but the directory is writable." -msgstr "OK, robots.txt не існуе, але каталог адчынены на запіс." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3115 -msgid "Error, robots.txt doesn't exist and the directory is not writable" -msgstr "Памылка, robots.txt не існуе, і каталог не адчынены на запіс" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -msgid "Advanced options:" -msgstr "Пашыраныя параметры:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -msgid "Limit the number of posts in the sitemap:" -msgstr "Абмежаваць колькасць артыкулаў у карце сайта:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -msgid "Newer posts will be included first" -msgstr "Навейшыя артыкулы будуць уключаныя першымі" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -msgid "Try to increase the memory limit to:" -msgstr "Паспрабаваць павялічыць ліміт памяці да:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -msgid "e.g. \"4M\", \"16M\"" -msgstr "напрыклад, \"4M\", \"16M\"" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -msgid "Try to increase the execution time limit to:" -msgstr "Паспрабаваць павялічыць абмежаванне часу выканання да:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "у секундах, напрыклад, \"60\" або \"0\" для неабмежаванага часу" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Include a XSLT stylesheet:" -msgstr "Уключыць табліцу стыляў XSLT:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Use Default" -msgstr "Выкарыстаць значэнне па змаўчанні" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Full or relative URL to your .xsl file" -msgstr "Поўны або адносны URL да Вашага файла .xsl" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "Дазволіць стандартны рэжым MySQL. Выкарыстаць толькі ў выпадку памылак MySQL. (Патрабуе нашмат больш памяці!)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "Будаваць карту сайта ў фонавым працэсе (Вам не трэба чакаць захаванні артыкула)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -msgid "Exclude the following posts or pages:" -msgstr "Выключыць наступныя артыкулы або старонкі:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -msgid "List of IDs, separated by comma" -msgstr "Спіс ідэнтыфікатараў (ID), падзеленых коскамі" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144 -msgid "Additional pages" -msgstr "Дадатковыя старонкі" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "Тут Вы можаце паказаць файлы або URL, якія павінны быць уключаныя ў карту сайта, але не прыналежныя Вашаму дзённіку/WordPress.
Напрыклад,калі Ваш дамен www.foo.com, а Ваш дзённік размешчаны ў www.foo.com/blog, Вам можа спатрэбіцца дадаць хатнюю старонку з www.foo.com" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 -msgid "Note" -msgstr "Заўвага" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -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)!" -msgstr "Калі Ваш дзённік размешчаны ў падкаталогу, і Вы жадаеце дадаць старонкі, якія знаходзяцца ВЫШЭЙ у структуры каталогаў, Вам НЕАБХОДНА змясціць карту сайта ў каранёвы каталог (Гл. секцыю "Размяшчэнне файла з картай сайта" на гэтай старонцы)!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300 -msgid "URL to the page" -msgstr "URL старонкі" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "Увядзіце URL гэтай старонкі. Прыклады: http://www.foo.com/index.html або www.foo.com/home " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301 -msgid "Priority" -msgstr "Прыярытэт" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "Вылучыце прыярытэт гэтай старонкі адносна іншых старонак. Напрыклад, Ваша галоўная старонка можа мець больш высокі прыярытэт, чым старонка з інфармацыяй аб сайце." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303 -msgid "Last Changed" -msgstr "Апошні раз змянялася" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "Увядзіце дату апошняй змены ў фармаце YYYY-MM-DD (2005-12-31, напрыклад) (не абавязкова)." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302 -msgid "Change Frequency" -msgstr "Частата змен" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304 -msgid "#" -msgstr "№" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309 -msgid "No pages defined." -msgstr "Няма старонак." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314 -msgid "Add new page" -msgstr "Дадаць новую старонку" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325 -msgid "Post Priority" -msgstr "Прыярытэт артыкула" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 -msgid "Please select how the priority of each post should be calculated:" -msgstr "Вылучыце, як будзе вылічацца прыярытэт кожнага артыкула:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -msgid "Do not use automatic priority calculation" -msgstr "Не выкарыстаць аўтаматычнае вылічэнне прыярытэту" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "Усе артыкулы будуць мець аднолькавы прыярытэт, які вызначаны ў "Прыярытэтах"" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348 -msgid "Location of your sitemap file" -msgstr "Размяшчэнне Вашага файла з картай сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353 -msgid "Automatic detection" -msgstr "Аўтаматычнае азначэнне" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357 -msgid "Filename of the sitemap file" -msgstr "Імя файла з картай сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 -msgid "Detected Path" -msgstr "Выяўлены шлях" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 -msgid "Detected URL" -msgstr "Выяўлены URL" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365 -msgid "Custom location" -msgstr "Карыстацкае размяшчэнне" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369 -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "Абсалютны або адносны шлях да файла з картай сайта, уключаючы імя файла." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380 -msgid "Example" -msgstr "Прыклад" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378 -msgid "Complete URL to the sitemap file, including name." -msgstr "Запоўніце URL да файла з картай сайта, уключаючы імя файла." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397 -msgid "Sitemap Content" -msgstr "Утрыманне карты сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405 -msgid "Include homepage" -msgstr "Уключыць хатнюю старонку" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 -msgid "Include posts" -msgstr "Уключыць артыкулы" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417 -msgid "Include static pages" -msgstr "Уключыць статычныя старонкі" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 -msgid "Include categories" -msgstr "Уключыць катэгорыі" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429 -msgid "Include archives" -msgstr "Уключыць архівы" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 -msgid "Include tag pages" -msgstr "Уключыць старонкі пазанак" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443 -msgid "Include author pages" -msgstr "Уключыць старонкі аўтараў" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457 -msgid "Change frequencies" -msgstr "Змяніць частоты" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463 -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." -msgstr "Звернеце ўвагу, што значэнне гэтай пазнакі лічыцца рэкамендацыяй і не з'яўляецца камандай. Нават калі пошукавыя робаты бяруць гэтую інфармацыю да ўвагі для прыняцця рашэнняў, яны могуць аглядаць старонкі, пазначаныя \"раз у гадзіну\" радзей, чым запытана, і яны могуць аглядаць старонкі, пазначаныя як \"раз у год\" гушчару, чым запытана. Таксама бывае, што пошукавыя робаты аглядаюць старонкі, пазначаныя як \"ніколі\", адзначаючы не прадугледжаныя змены на гэтых старонках." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535 -msgid "Homepage" -msgstr "Галоўная старонка" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475 -msgid "Posts" -msgstr "Артыкулы" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 -msgid "Static pages" -msgstr "Статычныя старонкі" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559 -msgid "Categories" -msgstr "Катэгорыі" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Бягучы архіў за гэты месяц (Павінен быць тым жа, што і Галоўная старонка)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Старыя архівы (Змяняюцца толькі ў выпадку, калі Вы рэдагуеце старыя артыкулы)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572 -msgid "Tag pages" -msgstr "Старонкі пазанак" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579 -msgid "Author pages" -msgstr "Старонкі аўтараў" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527 -msgid "Priorities" -msgstr "Прыярытэты" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541 -msgid "Posts (If auto calculation is disabled)" -msgstr "Артыкулы (Калі аўтаматычнае вылічэнне забароненае)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Мінімальны прыярытэт артыкула (Нават калі аўтаматычнае вылічэнне дазволена)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565 -msgid "Archives" -msgstr "Архівы" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 -msgid "Update options" -msgstr "Абнавіць параметры" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591 -msgid "Reset options" -msgstr "Вярнуць зыходныя значэнні" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-cs_CZ.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-cs_CZ.mo deleted file mode 100644 index a53aaeab..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-cs_CZ.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-cs_CZ.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-cs_CZ.po deleted file mode 100644 index 56367296..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-cs_CZ.po +++ /dev/null @@ -1,604 +0,0 @@ -# [Countryname] Language File for sitemap (sitemap-[localname].po) -# Copyright (C) 2005 [name] : [URL] -# This file is distributed under the same license as the WordPress package. -# [name] <[mail-address]>, 2005. -# $Id: sitemap.pot 2502 2005-07-03 20:50:38Z arnee $ -# -msgid "" -msgstr "" -"Project-Id-Version: sitemap\n" -"Report-Msgid-Bugs-To: <[mail-address]>\n" -"POT-Creation-Date: 2005-06-15 00:00+0000\n" -"PO-Revision-Date: 2007-11-21 20:50+0100\n" -"Last-Translator: Peter Kahoun \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language-Team: \n" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 -msgid "Comment Count" -msgstr "Počet komentářů" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "K vypočítání priority se využívá počet komentářů" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 -msgid "Comment Average" -msgstr "Průměrný počet komentářů" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 -msgid "Uses the average comment count to calculate the priority" -msgstr "K vypočítání priority se využívá průměrného počtu komentářů" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 -msgid "Popularity Contest" -msgstr "Soutěž popularity" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "Využívá se pluginu Soutěž popularity (Popularity contest) od Alexe Kinga. Viz Nastavení a Nejpopulárnější příspěvky" - -msgid "XML-Sitemap Generator" -msgstr "Generátor XML-Sitemapy" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -msgid "XML-Sitemap" -msgstr "XML-Sitemap" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "Děkuji vám mockrát za vaše příspěvky. Pomáháte tím pokračovat v podpoře a vývoji tohoto pluginu a dalšího nekomerčního softwaru!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -msgid "Hide this notice" -msgstr "Skrýt toto oznámení" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#, php-format -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? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "Díky za používání tohoto pluginu! Už je to více než měsíc, co jste ho naistalovali. Pokud funguje k vaší spokojenosti, není hoden alespoň toho jednoho dolaru? Peněžní příspěvky mi pomáhají pokračovat v podpoře a vývoji tohoto nekomerčního softwaru! Ovšem, žádný problém!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -msgid "No thanks, please don't bug me anymore!" -msgstr "Ne, díky, už mě prosím neotravuj!" - -msgid "XML Sitemap Generator for WordPress" -msgstr "Generátor XML Sitemap" - -msgid "Configuration updated" -msgstr "Nastavení aktualizováno" - -msgid "Error while saving options" -msgstr "Při ukládání nastavení nastala chyba" - -msgid "Pages saved" -msgstr "Stránka uložena" - -msgid "Error while saving pages" -msgstr "Při ukládání stránek nastala chyba" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2748 -#, php-format -msgid "Robots.txt file saved" -msgstr "Soubor robots.txt uložen" - -msgid "Error while saving Robots.txt file" -msgstr "Při ukládání souboru robots.txt nastala chyba" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 -msgid "The default configuration was restored." -msgstr "Výchozí nastavení bylo obnoveno." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 -msgid "open" -msgstr "otevřít" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 -msgid "close" -msgstr "zavřít" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 -msgid "click-down and drag to move this box" -msgstr "Podržte tlačítko myši a táhněte tento box dolů" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 -msgid "click to %toggle% this box" -msgstr "klikněte k přepnutí viditelnosti tohoto boxu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 -msgid "use the arrow keys to move this box" -msgstr "k přesunutí tohoto boxu použijte šipky na klávesnici" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 -msgid ", or press the enter key to %toggle% it" -msgstr ", anebo stiskněte Enter k přepnutí viditelnosti" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 -msgid "About this Plugin:" -msgstr "O tomto pluginu:" - -msgid "Plugin Homepage" -msgstr "Domovská stránka pluginu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 -msgid "Notify List" -msgstr "Oznamovatel novinek" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -msgid "Support Forum" -msgstr "Podpora (fórum)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 -msgid "Donate with PayPal" -msgstr "Přispějte přes PayPal" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 -msgid "My Amazon Wish List" -msgstr "Můj WishList na Amazonu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -msgid "translator_name" -msgstr "Peter \"Kahi\" Kahoun" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -msgid "translator_url" -msgstr "http://kahi.cz/wordpress" - -msgid "Sitemap Resources:" -msgstr "Zdroje:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 -msgid "Webmaster Tools" -msgstr "Webmaster Tools" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -msgid "Webmaster Blog" -msgstr "Webmaster Blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 -msgid "Site Explorer" -msgstr "Site Explorer" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 -msgid "Search Blog" -msgstr "Search Blog" - -msgid "Sitemaps Protocol" -msgstr "Sitemaps protokol" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 -msgid "Official Sitemaps FAQ" -msgstr "Oficiální Sitemaps FAQ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 -msgid "My Sitemaps FAQ" -msgstr "Mé Sitemaps FAQ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 -msgid "Recent Donations:" -msgstr "Poslední příspěvky:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 -msgid "List of the donors" -msgstr "Seznam dárců" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 -msgid "Hide this list" -msgstr "Skrýt seznam" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 -msgid "Thanks for your support!" -msgstr "Díky za vaši podporu!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 -msgid "Status" -msgstr "Stav" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 -#, php-format -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "Sitemapa ještě nebyla vytvořena. Klikněte sem pro první vytvoření." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 -msgid "Your sitemap was last built on %date%." -msgstr "Vaše sitemapa byla naposledy aktualizována %date%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreDozvědět se víc" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 -msgid "Your sitemap (zipped) was last built on %date%." -msgstr "Vaše zazipovaná sitemapa byla naposledy aktualizována %date%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreDozvědět se víc" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 -msgid "Google was successfully notified about changes." -msgstr "Google byl úspěšně upozorněn na změny." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "Oznámení Googlu zabralo %time% sekund, možná budete chtít deaktivovat tuto funkci pro snížení potřebného času k vytváření sitemapy." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 -#, php-format -msgid "There was a problem while notifying Google. View result" -msgstr "Vyskytl se problém při oznamování změn Googlu. Prohlédnout výsledek" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 -msgid "YAHOO was successfully notified about changes." -msgstr "Yahoo byl úspěšně upozorněn na změny." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "Oznámení Yahoo zabralo %time% sekund, možná budete chtít deaktivovat tuto funkci pro snížení potřebného času k vytváření sitemapy." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 -#, php-format -msgid "There was a problem while notifying YAHOO. View result" -msgstr "Vyskytl se problém při oznamování změn Yahoo. Prohlédnout výsledek" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 -msgid "Ask.com was successfully notified about changes." -msgstr "Ask.com byl úspěšně upozorněn na změny." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "Oznámení Ask.com zabralo %time% sekund, možná budete chtít deaktivovat tuto funkci pro snížení potřebného času k vytváření sitemapy." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 -#, php-format -msgid "There was a problem while notifying Ask.com. View result" -msgstr "Vyskytl se problém při oznamování změn Ask.com. Prohlédnout výsledek" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "Proces vytváření zabral kolem %time% seconds a spotřeboval %memory% MB paměti." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 -msgid "The building process took about %time% seconds to complete." -msgstr "Proces vytváření zabral kolem %time% sekund." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "Obsah vaší sitemapy se nezměnil od posledního vytváření, takže soubory nebyly aktualizovány a vyhledávače nebyly upozorňovány na změny." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "Poslední běh neproběhl do konce! Možná byste mohli navýšit limit paměti či maximálního času pro PHP skripty. Dozvědět se víc" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "Poslední známé využití paměti bylo %memused%MB, limit vašeho serveru je %memlimit%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "Poslední známý čas trvání skriptu byl %timeused% sekund, limit vašeho serveru je %timelimit% sekund." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "Skript byl zastaven kolem příspěvku číslo %lastpost% (+/- 100)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 -#, php-format -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "Pokud bylo něco na vašem serveru nebo blogu změněno, měli byste aktualizovat sitemapu ručně." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 -#, php-format -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "Pokud zaregistrujete jakékoli problémy při procesu aktualizace sitemapy, k získání více informací můžete použít ladící funkci." - -msgid "Basic Options" -msgstr "Základní možnosti" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -msgid "Sitemap files:" -msgstr "Soubory sitemapy:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -msgid "Learn more" -msgstr "Dozvědět se víc" - -msgid "Write a normal XML file (your filename)" -msgstr "Ukládat normální XML soubor (jméno vašeho souboru)" - -msgid "Write a gzipped file (your filename + .gz)" -msgstr "Ukládat komprimovaný (gzip) soubor (jméno vašeho souboru + .gz)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -msgid "Building mode:" -msgstr "Mód aktualizace:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "Aktualizovat sitemapu při každé změně v obsahu vašeho blogu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 -msgid "Enable manual sitemap building via GET Request" -msgstr "Povolit ruční aktualizaci sitemapy pomocí GET dotazu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 -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: %1 Please check the logfile above to see if sitemap was successfully built." -msgstr "Toto umožní aktualizovat vaši sitemapu, pokud do databáze Wordpressu zapíše data nějaký externí nástroj bez využití WordPress API. Použijte tuto URL ke spuštění procesu: %1. Prosím zkontrolujte log-soubor výše, jestli byla sitemapa aktualizována úspěšně." - -msgid "Update notification:" -msgstr "Oznámení o aktualizaci:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -msgid "Notify Google about updates of your Blog" -msgstr "Oznamovat Googlu změny na vašem blogu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#, php-format -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "Registrace není vyžadována, ale může se připojit k Google Webmaster Tools kvůli kontrole statistik návštěv vyhledávače." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 -msgid "Notify Ask.com about updates of your Blog" -msgstr "Oznamovat Ask.com změny na vašem blogu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 -msgid "No registration required." -msgstr "Registrace není vyžadována." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 -msgid "Notify YAHOO about updates of your Blog" -msgstr "Oznamovat Yahoo změny na vašem blogu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3094 -#, php-format -msgid "No registration required, but you can sign up for the YAHOO Site Explorer to view the crawling progress." -msgstr "Registrace není vyžadována, ale můžete se přihlásit do YAHOO Site Explorer kvůli prohlížení postupu návštěv vyhledávače." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3099 -#, php-format -msgid "Modify or create %s file in blog root which contains the sitemap location." -msgstr "Upravit nebo vytvořit %s soubor v kořeni blogu, který obsahuje adresu sitemapy." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3102 -msgid "File permissions: " -msgstr "Oprávnění k souboru:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3107 -msgid "OK, robots.txt is writable." -msgstr "V pořádku, je možné zapisovat do robots.txt." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3109 -msgid "Error, robots.txt is not writable." -msgstr "Chyba, není možné zapisovat do robots.txt." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3113 -msgid "OK, robots.txt doesn't exist but the directory is writable." -msgstr "V pořádku, robots.txt neexistuje, ale zápis do adresáře je povolen." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3115 -msgid "Error, robots.txt doesn't exist and the directory is not writable" -msgstr "Chyba, robots.txt neexistuje a zápis do adresáře není povolen." - -msgid "Advanced options:" -msgstr "Pokročilé možnosti:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -msgid "Limit the number of posts in the sitemap:" -msgstr "Omezit počet příspěvků v sitemapě:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -msgid "Newer posts will be included first" -msgstr "Novější příspěvky budou zahrnuty nejdříve" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -msgid "Try to increase the memory limit to:" -msgstr "Zkuste navýšit limit paměti na:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -msgid "e.g. \"4M\", \"16M\"" -msgstr "např: \"4M\", \"16M\"" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -msgid "Try to increase the execution time limit to:" -msgstr "Zkuste navýšit maximální čas provádění skriptu na:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "v sekundách, např. \"60\" anebo \"0\" pro nekonečno" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Include a XSLT stylesheet:" -msgstr "Připojit XSLT stylopis:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Use Default" -msgstr "Použít výchozí" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Full or relative URL to your .xsl file" -msgstr "Adresa k vašemu .xsl souboru" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "Povolit standardní mód MySQL. Toto používejte jedině když se zobrazují MySQL chyby - vyžaduje to mnohem víc paměti!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "Vytvářet sitemapu v pozadí (Tzn. nebudete muset čekat při ukládání příspěvku)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -msgid "Exclude the following posts or pages:" -msgstr "Vyřadit tyto příspěvky či stránky:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -msgid "List of IDs, separated by comma" -msgstr "Seznam ID oddělených čárkou" - -msgid "Additional pages" -msgstr "Stránky navíc" - -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "Zde můžete nastavit URL adresy, které mají být zahrnuty do sitemapy, ale nenáleží k blogu/WordPressu.
Například, pokud vaše doména je www.něco.cz a váš blog se nachází na www.něco.cz/blog, možná byste chtěli zahrnout i www.něco.cz" - -msgid "Note" -msgstr "Poznámka" - -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)!" -msgstr "Je-li váš blog v podsložce a chcete-li přidat stránky, které NEJSOU v adresáři blogu (anebo v podadresářích), MUSÍTE umístit vaši sitemapu do kořenové složky (Viz sekce "Umístění vaší sitemapy" na této stránce)!" - -msgid "URL to the page" -msgstr "URL stránky" - -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "Vložte URL (adresu) stránky. Příklady: http://www.něco.cz/index.html nebo www.něco.cz/home " - -msgid "Priority" -msgstr "Priorita" - -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "Vyberte prioritu stránky relativně k ostatním stránkám. Například, vaše titulní stránka by měla mít vyšší prioritu než stránka O mně." - -msgid "Last Changed" -msgstr "Naposledy změněno" - -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "Vložte datum poslední změny ve formátu RRRR-MM-DD (například 2007-08-12) (nepovinné)." - -msgid "Change Frequency" -msgstr "Nastavit frekvenci" - -msgid "#" -msgstr "#" - -msgid "No pages defined." -msgstr "Nejsou definovány žádné stránky." - -msgid "Add new page" -msgstr "Přidat novou stránku" - -msgid "Post Priority" -msgstr "Priorita příspěvků" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 -msgid "Please select how the priority of each post should be calculated:" -msgstr "Vyberte prosím způsob, kterým má být priorita každého z příspěvků vypočítávána." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -msgid "Do not use automatic priority calculation" -msgstr "Nepoužívat automatický výpočet priority" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "Všechny příspěvky budou mít stejnou prioritu, která je definována v "Prioritách"" - -msgid "Location of your sitemap file" -msgstr "Umístění vaší sitemapy" - -msgid "Automatic detection" -msgstr "Automatická detekce" - -msgid "Filename of the sitemap file" -msgstr "Jméno souboru sitemapy" - -msgid "Detected Path" -msgstr "Zjištěná cesta" - -msgid "Detected URL" -msgstr "Zjištěná URL" - -msgid "Custom location" -msgstr "Vlastní umístění" - -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "Absolutní nebo relativní cesta k sitemapě, včetně jména souboru." - -msgid "Example" -msgstr "Příklad" - -msgid "Complete URL to the sitemap file, including name." -msgstr "Celá URL k sitemapě, včetně jména." - -msgid "Sitemap Content" -msgstr "Obsah sitemapy" - -msgid "Include homepage" -msgstr "Zahrnout titulní stránku" - -msgid "Include posts" -msgstr "Zahrnout příspěvky" - -msgid "Include static pages" -msgstr "Zahrnout statické stránky" - -msgid "Include categories" -msgstr "Zahrnout rubriky" - -msgid "Include archives" -msgstr "Zahrnout archivy" - -msgid "Include tag pages" -msgstr "Zahrnout stránky štítků" - -msgid "Include author pages" -msgstr "Zahrnout stránky autorů" - -msgid "Change frequencies" -msgstr "Nastavení frekvence" - -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." -msgstr "Berte prosím na vědomí, že hodnota tohoto štítku je jen zvažována \"jako náznak\", není to příkaz. Přestože vyhledávací roboti berou při rozhodování tuto hodnotu na vědomí, přesto mohou navštěvovat stránky označené jako \"každou hodinu\" méně často, a také mohou stránky označené jako \"ročně\" navštěvovat častěji. Rovněž je pravděpodobné, že roboti budou naštěvovat i stránky označené jako \"nikdy\" aby se mohli vypořádat s nečekanými změnami na těchto stránkách." - -msgid "Homepage" -msgstr "Titulní stránka" - -msgid "Posts" -msgstr "Příspěvky" - -msgid "Static pages" -msgstr "Statické stránky" - -msgid "Categories" -msgstr "Rubriky" - -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Stávající archiv tohoto měsíce (Měl by být stejný jako vaše titulní stránka)" - -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Starší archivy (Mění se jen když upravíte starý příspěvek)" - -msgid "Tag pages" -msgstr "Stránky štítků" - -msgid "Author pages" -msgstr "Stránky autorů" - -msgid "Priorities" -msgstr "Priority" - -msgid "Posts (If auto calculation is disabled)" -msgstr "Příspěvky (Když je automatický výpočet vypnutý)" - -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Minimální priorita příspěvku (I když je povolený automatický výpočet)" - -msgid "Archives" -msgstr "Archivy" - -msgid "Update options" -msgstr "Aktualizovat možnosti" - -msgid "Reset options" -msgstr "Vynulovat možnosti" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-da_DK.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-da_DK.mo deleted file mode 100644 index 855c9751..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-da_DK.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-da_DK.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-da_DK.po deleted file mode 100644 index 7afe2438..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-da_DK.po +++ /dev/null @@ -1,594 +0,0 @@ -# [Countryname] Language File for sitemap (sitemap-[localname].po) -# Copyright (C) 2005 [name] : [URL] -# This file is distributed under the same license as the WordPress package. -# [name] <[mail-address]>, 2005. -# $Id: sitemap.pot 2502 2005-07-03 20:50:38Z arnee $ -# -msgid "" -msgstr "" -"Project-Id-Version: sitemap\n" -"Report-Msgid-Bugs-To: <[mail-address]>\n" -"POT-Creation-Date: 2005-06-15 00:00+0000\n" -"PO-Revision-Date: 2007-11-25 01:16+0100\n" -"Last-Translator: Arne Brachhold \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language-Team: \n" - -msgid "Comment Count" -msgstr "Antal kommentar" - -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "Brug antallet af kommentarer til indlægget til at udregne prioriteten" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 -msgid "Comment Average" -msgstr "Kommentar gennemsnit" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 -msgid "Uses the average comment count to calculate the priority" -msgstr "Bruger det gennemsnitlige antal kommentarer til at udregne prioriteten" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 -msgid "Popularity Contest" -msgstr "Popularitets konkurrence" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "Bruger det aktiveret Popularity Contest Plugin fra Alex King. Se indstillinger og Mest populære indlæg" - -msgid "XML-Sitemap Generator" -msgstr "XML-Sitemap Generator" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -msgid "XML-Sitemap" -msgstr "XML-Sitemap" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "Mange tak for din donation. Du hjælper mig med at fortsætte support og udvikling af dette plugin og andet gratis software!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -msgid "Hide this notice" -msgstr "Skjul denne meddelelse" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2606 -#, php-format -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? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "Tak fordi du bruger dette plugin! Du installerede dette plugin over en månede siden. Hvis det virker og du er tilfreds, er det så ikke bare en enkel dollar værd? Donationer hjælper mig med at fortsætte support og udvikling af dette gratis stykke software! Selvfølgelig, ingen problem!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2606 -msgid "No thanks, please don't bug me anymore!" -msgstr "Nej tak, lad venligst være med at forstyrre mig igen!" - -msgid "XML Sitemap Generator for WordPress" -msgstr "XML-Sitemap Generator til Wordpress" - -msgid "Configuration updated" -msgstr "Indstillingerne blev opdateret" - -msgid "Error while saving options" -msgstr "Der forekom en fejl da indstilingerne skulle gemmes" - -msgid "Pages saved" -msgstr "Sider gemt" - -msgid "Error while saving pages" -msgstr "Der opstod en fejl da siderne skulle gemmes" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2748 -#, php-format -msgid "Robots.txt file saved" -msgstr "Robots.txt er gemt" - -msgid "Error while saving Robots.txt file" -msgstr "Der forekom en fejl da Robots.txt filen skulle gemmes" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 -msgid "The default configuration was restored." -msgstr "Standard indstillingerne er gendannet." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 -msgid "open" -msgstr "Åben" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 -msgid "close" -msgstr "Luk" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 -msgid "click-down and drag to move this box" -msgstr "tryk og træk for at flytte denne boks" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 -msgid "click to %toggle% this box" -msgstr "klik for at %toggle% denne boks" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 -msgid "use the arrow keys to move this box" -msgstr "brug piltasterne for at flytte denne boks" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 -msgid ", or press the enter key to %toggle% it" -msgstr ", eller tryk på enter tasten for at %toggle% den" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 -msgid "About this Plugin:" -msgstr "Om dette plugin:" - -msgid "Plugin Homepage" -msgstr "Plugin hjemmeside" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 -msgid "Notify List" -msgstr "Informer liste" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -msgid "Support Forum" -msgstr "Support forum" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 -msgid "Donate with PayPal" -msgstr "Donere via PayPal" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 -msgid "My Amazon Wish List" -msgstr "Min Amazon ønskeliste" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -msgid "translator_name" -msgstr "translator_name" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -msgid "translator_url" -msgstr "translator_url" - -msgid "Sitemap Resources:" -msgstr "Sitemap ressourcer:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 -msgid "Webmaster Tools" -msgstr "Webmaster Tools" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -msgid "Webmaster Blog" -msgstr "Webmaster Blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 -msgid "Site Explorer" -msgstr "Site Explorer" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 -msgid "Search Blog" -msgstr "Search Blog" - -msgid "Sitemaps Protocol" -msgstr "Sitemap protocol" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 -msgid "Official Sitemaps FAQ" -msgstr "Officiel Sitemap FAQ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 -msgid "My Sitemaps FAQ" -msgstr "Dette Sitemaps FAQ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 -msgid "Recent Donations:" -msgstr "Seneste donationer:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 -msgid "List of the donors" -msgstr "Liste over donationsgivere" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 -msgid "Hide this list" -msgstr "Skjul denne liste" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 -msgid "Thanks for your support!" -msgstr "Tak for din support!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 -msgid "Status" -msgstr "Status" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 -#, php-format -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "Dette Sitemap er ikke bygget endnu. Klik her for at bygge det for første gang." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 -msgid "Your sitemap was last built on %date%." -msgstr "Dit sitemap blev sidst bygget den %date%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreLær mere" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 -msgid "Your sitemap (zipped) was last built on %date%." -msgstr "Dit sitemap (gzipped) blev bygget sidst den %date%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreLær mere" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 -msgid "Google was successfully notified about changes." -msgstr "Google blev informeret korrekt omkring ændringerne." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "Det tog %time% sekunder at informerer google, måske skulle du deaktivere denn funktion for at reducerer bygge tiden." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2970 -#, php-format -msgid "There was a problem while notifying Google. View result" -msgstr "Der opstod et problem under kommunikationen med Google. Se resultat" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 -msgid "YAHOO was successfully notified about changes." -msgstr "Yahoo blev informeret korrekt omkring ændringerne." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "Det tog %time% sekunder at informerer Yahoo, måske skulle du deaktivere denn funktion for at reducerer bygge tiden." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2982 -#, php-format -msgid "There was a problem while notifying YAHOO. View result" -msgstr "Der opstod et problem under kommunikationen med YAHOO. Se resultat" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 -msgid "Ask.com was successfully notified about changes." -msgstr "Ask.com blev informeret korrekt omkring ændringerne." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "Det tog %time% sekunder at informerer Ask.com, måske skulle du deaktivere denn funktion for at reducerer bygge tiden." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2994 -#, php-format -msgid "There was a problem while notifying Ask.com. View result" -msgstr "Der opstod et problem under kommunikationen med Ask.com. Se resultat" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "Bygge processen tog omkring %time% sekunder for at fuldføre og bruge %memory% MB hukommelse." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 -msgid "The building process took about %time% seconds to complete." -msgstr "Bygge processen tog omkring %time% sekunder for at fuldføre." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "Indholdet af dit sitemap har ikke ændret sig siden sidst. Derfor blev der ikke ikke skrevet til nogle filer og ikke kommunikeret med nogle søgemaskiner." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "Sidste forsøg blev ikke færdigt! Måske skal du hæve hukommelses begrænsningen for PHP scripts. Lær mere" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "Det sidst kendte forbrug af hukommelse af dette script var %memused%MB, begrænsningen på din server er %memlimit%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "Den sidste kendte eksekverings tid for dette script var %timeused% sekunder, begrænsningen på din server er %timelimit% sekunder." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "Scriptet stoppede omkring indlæg nummer %lastpost% (+/-100)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 -#, php-format -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "Hvis du ændre noget på din server eller blog, burde du opdatere dit sitemap manuelt." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 -#, php-format -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "Hvis du støder på problemer under bygge processen, kan du bruge debug funktionen for at få flere informationer." - -msgid "Basic Options" -msgstr "Basis indstillinger" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -msgid "Sitemap files:" -msgstr "Sitemap filer:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -msgid "Learn more" -msgstr "Lær mere" - -msgid "Write a normal XML file (your filename)" -msgstr "Lav en normal XML fil (Dit filnavn)" - -msgid "Write a gzipped file (your filename + .gz)" -msgstr "Lav en gzipped fil (Dit filnavn + .gz" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -msgid "Building mode:" -msgstr "Bygge metode:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "Opdater dit sitemap hvis der sker ændringer i indholdet på din blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 -msgid "Enable manual sitemap building via GET Request" -msgstr "Aktiverer manuel bygning af sitemap via GET Request" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 -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: %1 Please check the logfile above to see if sitemap was successfully built." -msgstr "Dette vil tillade dig at opdatere dit sitemap hvis et eksternt værktøj skrev til Wordpress databasen uden at bruge Wordpress API'et. Brug følgende URL til at starte processen: %1 Tjek venligst logfilen ovenover, for at se om dit sitemap blev bygget korrekt." - -msgid "Update notification:" -msgstr "Opdaterings meddelelser:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -msgid "Notify Google about updates of your Blog" -msgstr "Informer Google om opdateringer på din blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#, php-format -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "Registrering er ikke påkrævet, men du kan tilmelde dig Google Webmaster Tools for at tjekke \"crawling\" statistikker." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 -msgid "Notify Ask.com about updates of your Blog" -msgstr "Informer Ask.com om opdateringer på din blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 -msgid "No registration required." -msgstr "Registrering ikke påkrævet." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 -msgid "Notify YAHOO about updates of your Blog" -msgstr "Informer Yahoo om opdateringer på din blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3094 -#, php-format -msgid "No registration required, but you can sign up for the YAHOO Site Explorer to view the crawling progress." -msgstr "Registrering er ikke påkrævet, men du kan tilmelde dig YAHOO Site Explorer for at tjekke \"crawling\" statistikker." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3099 -#, php-format -msgid "Modify or create %s file in blog root which contains the sitemap location." -msgstr "Ændre eller opret %s i blog \"root\", som indeholder sitemap placeringen." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3102 -msgid "File permissions: " -msgstr "Fil rettigheder: " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3107 -msgid "OK, robots.txt is writable." -msgstr "OK, robots.txt er skrivbar." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3109 -msgid "Error, robots.txt is not writable." -msgstr "Fejl, robots.txt er ikke skrivbar." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3113 -msgid "OK, robots.txt doesn't exist but the directory is writable." -msgstr "OK, robots.txt eksisterer ikke, men mappen er skrivbar." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3115 -msgid "Error, robots.txt doesn't exist and the directory is not writable" -msgstr "Fejl, robots.txt eksisterer ikke og mappen er ikke skrivbar." - -msgid "Advanced options:" -msgstr "Avanceret indstillinger" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -msgid "Limit the number of posts in the sitemap:" -msgstr "Begræns antallet af indlæg i dit sitemap:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -msgid "Newer posts will be included first" -msgstr "Nyeste indlæg vil blive inkluderet først" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -msgid "Try to increase the memory limit to:" -msgstr "Prøv at forøg hukommelses begrænsningen til:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -msgid "e.g. \"4M\", \"16M\"" -msgstr "f.eks. \"4M\", \"16M\"" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -msgid "Try to increase the execution time limit to:" -msgstr "Prøv at forøg eksekverings tids begrænsningen til:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "i sekunder, f.eks. \"60\" eller \"0\" for ubegrænset" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Include a XSLT stylesheet:" -msgstr "Inkluderer et XSLT stylesheet:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Use Default" -msgstr "Brug standard" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Full or relative URL to your .xsl file" -msgstr "Fuld eller relativ URL til din .xsl fil" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "Aktiver MySQL standard mode. Brug kun dette hvis du får MySQL fejl. (Bruger meget mere hukommelse!)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "Byg dit sitemap i en baggrundsprocess (Du behøver ikke at vente når du gemmer et indlæg)" - -msgid "Additional pages" -msgstr "Ekstra sider" - -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "Her kan du specificere filer og URLs, der skal inkluderes i dit sitemap, som ikke tilhører din side.
F.eks. hvis dit domæne er www.minside.dk og din side er placeret i en under mappe (www.minside.dk/blog), så vil du måske inkludere www.minside.dk" - -msgid "Note" -msgstr "Note" - -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)!" -msgstr "Hvis din blog er i en undermappe og du vil tilføje sider, som IKKE er i blog mappen eller en mappe under, SKAL du placerer din sitemap fil i "root mappen" (Se "Stien til din sitemap fil" sektionen på denne side)." - -msgid "URL to the page" -msgstr "URL til siden" - -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "Indtast URL'en til siden. F.eks.: http://www.minside.dk/index.html ellerhttp://www.minside.dk/forside" - -msgid "Priority" -msgstr "Prioritet" - -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "Vælg sidens prioritet i forhold til de andre sider." - -msgid "Last Changed" -msgstr "Ændret sidst" - -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "Indtast datoen for den sidste ændret, som YYYY-MM-DD (F.eks. 2005-12-31) (Valgfri)" - -msgid "Change Frequency" -msgstr "Skift frekvens" - -msgid "#" -msgstr "#" - -msgid "No pages defined." -msgstr "Ingen sider defineret" - -msgid "Add new page" -msgstr "Tilføj ny side" - -msgid "Post Priority" -msgstr "Indlægs prioritet" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 -msgid "Please select how the priority of each post should be calculated:" -msgstr "Vælg venligst hvordan prioriteten af hver enkelt indlæg skal udregnes:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -msgid "Do not use automatic priority calculation" -msgstr "Brug ikke automatisk prioritets udregning" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "Alle indlæg vil have den samme prioritet som er defineret under "Prioritet"" - -msgid "Location of your sitemap file" -msgstr "Stien til din sitemap fil" - -msgid "Automatic detection" -msgstr "Find Automatisk " - -msgid "Filename of the sitemap file" -msgstr "Sitemap filnavn" - -msgid "Detected Path" -msgstr "Fundet sti" - -msgid "Detected URL" -msgstr "Fundet URL" - -msgid "Custom location" -msgstr "Brugerdefineret sti" - -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "Absolut eller relativ sti til sitemap filen, inklusiv filnavn." - -msgid "Example" -msgstr "Eksempel" - -msgid "Complete URL to the sitemap file, including name." -msgstr "Fuldstændig URL til sitemap filen, inklusiv filnavn" - -msgid "Sitemap Content" -msgstr "Sitemap indhold" - -msgid "Include homepage" -msgstr "Inkluder hjemmeside" - -msgid "Include posts" -msgstr "Inkluder indlæg" - -msgid "Include static pages" -msgstr "Inkluder statiske sider" - -msgid "Include categories" -msgstr "Inkluder kategorier" - -msgid "Include archives" -msgstr "Inkluder arkiver" - -msgid "Include tag pages" -msgstr "Inkluder tag sider" - -msgid "Include author pages" -msgstr "Inkluder forfatter sider" - -msgid "Change frequencies" -msgstr "Ændre frekvenser" - -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." -msgstr "Bemærk venligst at værdien af dette \"tag\" anses for at være et hint og ikke en kommando. Selvom søgemaskine crawlers tager denne information i betrægtning, kan de crawle sider markeret \"pr. time\" færre gange og sider markeret \"årlig\" oftere. Det er også sandsynligt at crawlere periodisk vil crawle sider makeret \"aldrig\", så de kan håndtere uforventet ændringer på disse sider." - -msgid "Homepage" -msgstr "Hjemmeside" - -msgid "Posts" -msgstr "Indlæg" - -msgid "Static pages" -msgstr "Statiske sider" - -msgid "Categories" -msgstr "Kategorier" - -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Arkivet for denne måned (Burde være den som på din hjemmeside)" - -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Ældre arkiver (Ændre sig kun hvis du redigere et gammelt indlæg" - -msgid "Tag pages" -msgstr "Tag sider" - -msgid "Author pages" -msgstr "Forfatter sider" - -msgid "Priorities" -msgstr "Prioriteter" - -msgid "Posts (If auto calculation is disabled)" -msgstr "Indlæg (Hvis auto-udregn er deaktiveret)" - -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Minimum indlægs prioritet (Selvom auto-udregn er aktiveret)" - -msgid "Archives" -msgstr "Arkiver" - -msgid "Update options" -msgstr "Opdater indstillinger" - -msgid "Reset options" -msgstr "Nulstil indstillinger" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-de_DE.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-de_DE.mo deleted file mode 100644 index a79167f3..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-de_DE.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-de_DE.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-de_DE.po deleted file mode 100644 index a8c7d136..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-de_DE.po +++ /dev/null @@ -1,1179 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: sitemap\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-05-21 19:54+0100\n" -"PO-Revision-Date: 2014-05-21 19:55+0100\n" -"Last-Translator: Arne Brachhold \n" -"Language-Team: \n" -"Language: de_DE\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.6.4\n" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:547 -msgid "Comment Count" -msgstr "Anzahl der Kommentare" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:557 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "" -"Verwendet die Anzahl der Kommentare um die Priorität der Beiträge zu " -"berechnen" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:608 -msgid "Comment Average" -msgstr "Durchschnittliche Anzahl der Kommentare" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:618 -msgid "Uses the average comment count to calculate the priority" -msgstr "" -"Verwendet die durchschnittliche Anzahl der Kommentare um die Priorität der " -"Beiträge zu berechnen." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:778 -msgid "Always" -msgstr "Immer" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:779 -msgid "Hourly" -msgstr "Stündlich" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:780 -msgid "Daily" -msgstr "Täglich" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:781 -msgid "Weekly" -msgstr "Wöchentlich" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:782 -msgid "Monthly" -msgstr "Monatlich" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:783 -msgid "Yearly" -msgstr "Jährlich" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:784 -msgid "Never" -msgstr "Nie" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:233 -msgid "XML-Sitemap Generator" -msgstr "XML-Sitemap Generator" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:233 -msgid "XML-Sitemap" -msgstr "XML-Sitemap" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:260 -msgid "Settings" -msgstr "Einstellungen" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:261 -msgid "FAQ" -msgstr "FAQ" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:262 -msgid "Support" -msgstr "Support" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:263 -msgid "Donate" -msgstr "Spenden" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:181 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:663 -msgid "XML Sitemap Generator for WordPress" -msgstr "XML Sitemap Generator für WordPress" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:368 -msgid "Configuration updated" -msgstr "Die Konfiguration wurde gespeichert." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:369 -msgid "Error while saving options" -msgstr "Beim Speichern der Seiten ist ein Fehler aufgetreten" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:372 -msgid "Pages saved" -msgstr "Ihre Seiten wurden gespeichert." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:373 -msgid "Error while saving pages" -msgstr "Beim Speichern der Seiten ist ein Fehler aufgetreten" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:381 -msgid "The default configuration was restored." -msgstr "Die Standard Konfiguration wurde wieder hergestellt." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:391 -msgid "" -"The old files could NOT be deleted. Please use an FTP program and delete " -"them by yourself." -msgstr "" -"Die alten Sitemap-Dateien konnten NICHT gelöscht werden. Bitte verwenden Sie " -"ein FTP-Programm um diese zu löschen." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:393 -msgid "The old files were successfully deleted." -msgstr "Die alten Dateien wurden erfolgreich gelöscht." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:430 -msgid "Notify Search Engines about all sitemaps" -msgstr "Suchmaschienen über alle Sitemaps benachrichtigen" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:431 -msgid "" -"The plugin is notifying the selected search engines about your main sitemap " -"and all sub-sitemaps. This might take a minute or two." -msgstr "" -"Das plugin benachrichtigt die ausgewählten Suchmaschienen über die Haupt-" -"Sitemap und alle Unter-Sitemaps. Dies kann kurz dauern." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:453 -msgid "All done!" -msgstr "Fertig!" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:470 -msgid "Ping was executed, please see below for the result." -msgstr "Ping wurde ausgeführt, das Ergebnis wird unten angezeigt." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:513 -msgid "" -"Thank you very much for your donation. You help me to continue support and " -"development of this plugin and other free software!" -msgstr "" -"Vielen Dank für Deine Spende! Du hilfst mir damit diese kostenlose Software " -"zu unterstützen und weiterzuentwickeln!" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:513 -msgid "Hide this notice" -msgstr "Diesen Hinweis verstecken" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:519 -#, php-format -msgid "" -"Thanks for using this plugin! You've installed this plugin over a month ago. " -"If it works and you are satisfied with the results, isn't it worth at least " -"a few dollar? Donations help me to continue support and " -"development of this free software! Sure, no problem!" -msgstr "" -"Danke dass Du dieses Plugin benutzt! Du hast dieses Plugin vor mehr als " -"einem Monat installiert. Wenn es funktioniert und zu mit dem Ergebnis " -"zufrieden bist, ist es nicht mindestens ein paar Euro Wert? Spenden helfen mir diese kostenlose Software zu unterstützen " -"und weiterzuentwickeln! Klar, kein Problem! " - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:519 -msgid "Sure, but I already did!" -msgstr "Klar, hab ich schon gemacht!" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:519 -msgid "No thanks, please don't bug me anymore!" -msgstr "Nein danke, bitte nicht mehr nerven! " - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:526 -#, php-format -msgid "" -"Thanks for using this plugin! You've installed this plugin some time ago. If " -"it works and your are satisfied, why not rate it and recommend it to others? :-)" -msgstr "" -"Danke dass Du dieses Plugin benutzt! Du hast dieses Plugin vor mehr als " -"einem Monat installiert. Wenn es funktioniert und zu mit dem Ergebnis " -"zufrieden bist, würde ich mich freuen wenn Du es bewerten " -"und weiterempfehlen würdest." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:526 -msgid "Don't show this anymore" -msgstr "Diesen Hinweis nicht mehr zeigen" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:679 -#, php-format -msgid "" -"There is a new version of %1$s available. Download version " -"%3$s here." -msgstr "" -"Es gibt eine Version von %1$s. Version %3$s hier " -"downloaden." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:681 -#, php-format -msgid "" -"There is a new version of %1$s available. Download version " -"%3$s here automatic upgrade unavailable for this plugin." -msgstr "" -"Es gibt eine Version von %1$s. Version %3$s hier " -"downloaden Automatisches Upgraden ist für dieses Plugin nicht " -"möglich." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:683 -#, php-format -msgid "" -"There is a new version of %1$s available. Download version " -"%3$s here or upgrade automatically." -msgstr "" -"Es gibt eine Version von %1$s. Version %3$s hier " -"downloaden oder automatisch upgraden." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:691 -#, php-format -msgid "" -"Your blog is currently blocking search engines! Visit the privacy settings to change this." -msgstr "" -"Dein Blog blockiert zur Zeit Suchmaschienen! Unter den Eistellungen zur Privatsphäre lässt sich dies ändern." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:706 -msgid "About this Plugin:" -msgstr "Über dieses Plugin:" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:707 -msgid "Plugin Homepage" -msgstr "Plugin Startseite" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:708 -msgid "Suggest a Feature" -msgstr "Funktion vorschlagen" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:709 -msgid "Help / FAQ" -msgstr "Hilfe / FAQ" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:710 -msgid "Notify List" -msgstr "E-Mail bei Update" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:711 -msgid "Support Forum" -msgstr "Hilfe Forum" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:712 -msgid "Report a Bug" -msgstr "Fehler berichten" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:714 -msgid "Donate with PayPal" -msgstr "Mit PayPal spenden" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:715 -msgid "My Amazon Wish List" -msgstr "Amazon Wunschliste" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:716 -msgid "translator_name" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:716 -msgid "translator_url" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:719 -msgid "Sitemap Resources:" -msgstr "Sitemap Informationen" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:720 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:725 -msgid "Webmaster Tools" -msgstr "Webmaster Tools" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:721 -msgid "Webmaster Blog" -msgstr "Webmaster Blog" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:723 -msgid "Search Blog" -msgstr "Search Blog" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:726 -msgid "Webmaster Center Blog" -msgstr "Webmaster Center Blog" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:728 -msgid "Sitemaps Protocol" -msgstr "Sitemaps Protokoll" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:729 -msgid "Official Sitemaps FAQ" -msgstr "Offizielle Sitemaps FAQ" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:730 -msgid "My Sitemaps FAQ" -msgstr "Meine Sitemaps FAQ" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:733 -msgid "Recent Donations:" -msgstr "Aktuelle Spenden:" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:736 -msgid "List of the donors" -msgstr "Liste der Spender" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:738 -msgid "Hide this list" -msgstr "Liste ausblenden" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:741 -msgid "Thanks for your support!" -msgstr "Danke für Deine Unterstützung!" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:761 -msgid "Search engines haven't been notified yet" -msgstr "Die Suchmaschinen wurden bisher noch nicht benachrichtigt." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:765 -msgid "Result of the last ping, started on %date%." -msgstr "Ergebnisse des letzten Pins, gestartet am %date%." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:772 -msgid "Recent Support Topics / News" -msgstr "Aktuelle Support-Themen / News" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:776 -msgid "Disable" -msgstr "Deaktivieren" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:794 -msgid "No support topics available or an error occurred while fetching them." -msgstr "" -"Es gibt zur Zeit keine Support-Themen oder es trat ein Fehler beim Abruf auf." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:797 -msgid "" -"Support Topics have been disabled. Enable them to see useful information " -"regarding this plugin. No Ads or Spam!" -msgstr "" -"Support-Themen wurden deaktiviert. Bitte aktivieren um nützliche " -"Informationen zu diesem Plugin zu sehen. Keine Werbung oder Spam!" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:797 -msgid "Enable" -msgstr "Aktivieren" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:808 -#, php-format -msgid "" -"There is still a sitemap.xml or sitemap.xml.gz file in your blog directory. " -"Please delete them as no static files are used anymore or try " -"to delete them automatically." -msgstr "" -"Im Blog-Verzeichnis gibt es immer noch eine sitemap.xml oder sitemap.xml.gz " -"Datei. Bitte löschen Sie diese, da sie nicht mehr benötigt werden oder versuchen Sie diese automatisch zu löschen." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:811 -#, php-format -msgid "The URL to your sitemap index file is: %s." -msgstr "Die URL zu Ihrer Sitemap Index-Datei lautet: %s." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:814 -msgid "" -"Search engines haven't been notified yet. Write a post to let them know " -"about your sitemap." -msgstr "" -"Die Suchmaschinen wurden bisher noch nicht benachrichtigt. Schreiben Sie " -"einen Beitrag um diese über Ihre Sitemap zu informieren." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:823 -#, php-format -msgid "%s was successfully notified about changes." -msgstr "" -"%s wurde erfolgreich über die Änderungen benachrichtigt." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:826 -msgid "" -"It took %time% seconds to notify %name%, maybe you want to disable this " -"feature to reduce the building time." -msgstr "" -"Es hat %time% Sekunden gedauert %name% zu benachrichtigen. Vielleicht " -"möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-Generierung " -"zu verkürzen?" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:829 -msgid "" -"There was a problem while notifying %name%. View result" -msgstr "" -"Leider gab es beim Versuch %name% zu benachrichtigen ein Problem. Ergebnis anzeigen" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:841 -#, php-format -msgid "" -"If you encounter any problems with your sitemap you can use the debug function to get more information." -msgstr "" -"Falls es beim Generieren der Sitemap Probleme gibt, kannst Du die Debug Funktion verwenden um mehr über die auftretenden Fehler zu " -"erfahren." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:845 -#, php-format -msgid "" -"If you like the plugin, please rate it 5 " -"stars or donate via PayPal! I'm supporting this " -"plugin since over 9 years! Thanks a lot! :)" -msgstr "" -"Wenn Ihnen dieses Plugin gefällt,, bewerten Sie es bitte mit 5 Sternen oder spenden Sie via " -"PayPal! Ich unterstütze dieses Plugin seit über 9 Jahren! Vielen Dank :)" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:853 -msgid "Webserver Configuration" -msgstr "Webserver Konfiguration" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:854 -msgid "" -"Since you are using Nginx as your web-server, please configure the following " -"rewrite rules in case you get 404 Not Found errors for your sitemap:" -msgstr "" -"Da ein NginX Web-Server verwendet wird, müssen eventuell die folgenden " -"Rewrite-Rules konfiguriert werden falls die Sitemap nicht gefunden werden " -"kann:" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:870 -msgid "Basic Options" -msgstr "Allgemeine Einstellungen" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:872 -msgid "Update notification:" -msgstr "Benachrichtigung über Änderungen" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:872 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:895 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:917 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:929 -msgid "Learn more" -msgstr "Mehr Infos" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:876 -msgid "Notify Google about updates of your Blog" -msgstr "Google über Änderungen benachrichtigen" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:877 -#, php-format -msgid "" -"No registration required, but you can join the Google " -"Webmaster Tools to check crawling statistics." -msgstr "" -"Keine Registrierung erforderlich, aber Du kannst Dich bei den Google Webmaster Tools anmelden, um Indexierungs-Statistiken zu " -"Deiner Website zu sehen." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:881 -msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" -msgstr "Bing (vormals MSN Live Search) über Änderungen benachrichtigen" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:882 -#, php-format -msgid "" -"No registration required, but you can join the Bing Webmaster " -"Tools to check crawling statistics." -msgstr "" -"Keine Registrierung erforderlich, aber Du kannst Dich bei den Bing Webmaster Tools anmelden, um Indexierungs-Statistiken zu Deiner " -"Website zu sehen." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:887 -msgid "Add sitemap URL to the virtual robots.txt file." -msgstr "Die Sitemap zur virtuellen robots hinzufügen." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:891 -msgid "" -"The virtual robots.txt generated by WordPress is used. A real robots.txt " -"file must NOT exist in the blog directory!" -msgstr "" -"Es wird die von WordPress generierte virtuelle robots.txt verwendet. Es darf " -"keine robots.txt Datei im Blog Verzeichnis liegen!" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:895 -msgid "Advanced options:" -msgstr "Erweiterte Einstellungen" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:898 -msgid "Try to increase the memory limit to:" -msgstr "Versuchen, das Speicherlimit zu erhöhen auf: " - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:898 -msgid "e.g. \"4M\", \"16M\"" -msgstr "z.B. \"4M\", \"16M\"" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:901 -msgid "Try to increase the execution time limit to:" -msgstr "Versuchen, das Zeit Limit zu erhöhen auf: " - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:901 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "in Sekunden, z.B. \"60\" oder \"0\" für unendlich" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:906 -msgid "" -"Try to automatically compress the sitemap if the requesting client supports " -"it." -msgstr "" -"Die Sitemap automatisch komprimieren, sofern der Client dies unterstützt." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:908 -msgid "" -"Disable this option if you get garbled content or encoding errors in your " -"sitemap." -msgstr "" -"Deaktivieren Sie diese Option falls Ihre Sitemap kaputt aussieht oder Sie " -"Content-Encoding Fehler erhalten." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:912 -msgid "Include a XSLT stylesheet:" -msgstr "Ein XSLT-Stylesheet einbinden:" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:913 -msgid "Full or relative URL to your .xsl file" -msgstr "Kompletter oder relativer Pfad zur .xsl Datei" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:913 -msgid "Use default" -msgstr "Standard verwenden" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:916 -msgid "Override the base URL of the sitemap:" -msgstr "Die Basis-URL zur Sitemap überschreiben:" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:917 -msgid "" -"Use this if your blog is in a sub-directory, but you want the sitemap be " -"located in the root. Requires .htaccess modification." -msgstr "" -"Benutzen Sie diese Funktion falls Ihr Blog in einem Unterordner installiert " -"ist, Sie die Sitemap aber im Root Ihrer Domain speichern möchten. Benötigt " -"eine Änderung der .htaccess Datei." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:922 -msgid "Include sitemap in HTML format" -msgstr "Einbindung der Sitemap im HTML-Format" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:922 -msgid "(The required PHP XSL Module is not installed)" -msgstr "(Das benötigte PHP XSL Modul ist nicht installiert)" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:928 -msgid "Allow anonymous statistics (no personal information)" -msgstr "" -"Erlaube anonyme Statistiken (es werden keine persönlichen Information " -"gesendet)." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:937 -msgid "Additional pages" -msgstr "Zusätzliche Seiten" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:940 -msgid "" -"Here you can specify files or URLs which should be included in the sitemap, " -"but do not belong to your Blog/WordPress.
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" -msgstr "" -"Hier können Sie zusätzliche Seiten in Form von URLs angeben, welche mit in " -"Ihre Sitemap aufgenommen werden sollen, aber nicht von WordPress erzeugt " -"werden. Falls Sie z.B. Ihre Homepage auf www.beispiel.com haben, Ihr Blog " -"aber unter www.beispiel.com/blog zu erreichen ist, tragen Sie Ihre Homepage " -"als http://www.beispiel.com hier ein." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:942 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1156 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1165 -msgid "Note" -msgstr "Hinweis" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:943 -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)!" -msgstr "" -"Falls Dein Blog in einem Unterverzeichnis liegt und Du Seiten hinzufügen " -"möchtest die nicht in deinem Blogverzeichnis oder einem tieferen Verzeichnis " -"liegen, musst Du seine Seite ins Stammverzeichnis legen. (Schau Dir den " -"Punkt "Pfad zur Sitemap Datei" weiter unten an)!" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:945 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:984 -msgid "URL to the page" -msgstr "URL zur Seite" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:946 -msgid "" -"Enter the URL to the page. Examples: http://www.foo.com/index.html or www." -"foo.com/home " -msgstr "" -"Geben Sie hier die URL Ihrer Seite an. Beispiele: www.foo.com oder http://" -"www.nic.de/index.html" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:948 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:985 -msgid "Priority" -msgstr "Priorität" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:949 -msgid "" -"Choose the priority of the page relative to the other pages. For example, " -"your homepage might have a higher priority than your imprint." -msgstr "" -"Wählen Sie hier die Priorität der Seite relativ zu den anderen Seiten. Ihre " -"Homepage könnte z.B. eine höhere Priorität besitzen als das Impressum. " - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:951 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:987 -msgid "Last Changed" -msgstr "Letzte Änderung" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:952 -msgid "" -"Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) " -"(optional)." -msgstr "" -"Tragen Sie hier das Datum der letzten Änderung im Format JJJJ-MM-TT (z.B. " -"2005-12-31). Dieses Feld ist optional und muss nicht ausgefüllt werden." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:986 -msgid "Change Frequency" -msgstr "Änderungshäufigkeit" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:988 -msgid "#" -msgstr "#" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:993 -msgid "No pages defined." -msgstr "Bisher keine Seiten eingetragen." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:998 -msgid "Add new page" -msgstr "Neue Seite hinzufügen" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1004 -msgid "Post Priority" -msgstr "Priorität der Beiträge" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1006 -msgid "Please select how the priority of each post should be calculated:" -msgstr "" -"Bitte wähle wie die Priorität der einzelnen Beiträge berechnet werden soll." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1008 -msgid "Do not use automatic priority calculation" -msgstr "Keine automatische Prioritätsberechung verwenden" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1008 -msgid "" -"All posts will have the same priority which is defined in "" -"Priorities"" -msgstr "" -"Alle Beiträge haben dieselbe Priorität welche unter "Prioritäten" " -"eingestellt ist." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1019 -msgid "Sitemap Content" -msgstr "Inhalt der Sitemap" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1020 -msgid "WordPress standard content" -msgstr "Standard WordPress Inhalte" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1025 -msgid "Include homepage" -msgstr "Startseite" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1031 -msgid "Include posts" -msgstr "Beiträge" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1037 -msgid "Include static pages" -msgstr "Statische Seiten" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1043 -msgid "Include categories" -msgstr "Kategorien" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1049 -msgid "Include archives" -msgstr "Archive" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1055 -msgid "Include author pages" -msgstr "Autoren Seiten" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1062 -msgid "Include tag pages" -msgstr "Tag Seiten " - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1076 -msgid "Custom taxonomies" -msgstr "Eigene Taxonomies" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1087 -#, php-format -msgid "Include taxonomy pages for %s" -msgstr "Taxonomy Seiten für %s einbinden" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1105 -msgid "Custom post types" -msgstr "Eigene Post-Types" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1116 -#, php-format -msgid "Include custom post type %s" -msgstr "Eigene Post-Types Seiten für %s einbinden" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1128 -msgid "Further options" -msgstr "Weitere Optionen" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1133 -msgid "Include the last modification time." -msgstr "Letztes Änderungsdatum mit einbeziehen" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1135 -msgid "" -"This is highly recommended and helps the search engines to know when your " -"content has changed. This option affects all sitemap entries." -msgstr "" -"Dies ist äußerst empfohel und hilft den Suchmaschienen zu wissen wann Ihr " -"Inhalt geändert wurde. Diese Einstellungen betrifft alle Einträge der " -"Sitemap." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1142 -msgid "Excluded items" -msgstr "Seiten ausschließen" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1144 -msgid "Excluded categories" -msgstr "Kategorien ausschließen" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1152 -msgid "Exclude posts" -msgstr "Beiträge ausschließen" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1154 -msgid "Exclude the following posts or pages:" -msgstr "Folgende Beiträge oder Seiten ausschließen:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1154 -msgid "List of IDs, separated by comma" -msgstr "Liste der IDs, getrennt mit Komma" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1156 -msgid "Child posts won't be excluded automatically!" -msgstr "Unterseiten werden nicht automatisch ausgeschlossen!" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1162 -msgid "Change frequencies" -msgstr "Änderungsfrequenz" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1166 -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." -msgstr "" -"Bitte beachten Sie dass diese Einstellung nur als Tipp und nicht als " -"Kommando gesehen wird. Suchmaschinen könnten diesen Tipp beachten, müssen " -"sich aber nicht daran halten. Sie können Seiten die als stündlich markiert " -"wurden weniger häufig besuchen und Seiten die als niemals markiert wurden " -"trotzdem überprüfen." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1172 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1229 -msgid "Homepage" -msgstr "Startseite" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1178 -msgid "Posts" -msgstr "Beiträge" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1184 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1247 -msgid "Static pages" -msgstr "Statische Seiten" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1190 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1253 -msgid "Categories" -msgstr "Kategorien" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1196 -msgid "" -"The current archive of this month (Should be the same like your homepage)" -msgstr "" -"Das Archive des aktuellen Monats (Sollte den gleichen Wert haben wie Ihre " -"Startseite)" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1202 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Archive der vergangenen Monate" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1209 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1266 -msgid "Tag pages" -msgstr "Tag Seiten" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1216 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1273 -msgid "Author pages" -msgstr "Autoren Seiten" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1224 -msgid "Priorities" -msgstr "Prioritäten" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1235 -msgid "Posts (If auto calculation is disabled)" -msgstr "Beiträge (wenn automatische Berechnung deaktiviert wurde)" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1241 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "" -"Minimale Priorität für Beiträge (auch wenn automatische Berechnung aktiviert " -"wurde)" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1259 -msgid "Archives" -msgstr "Archive" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1284 -msgid "Update options" -msgstr "Änderungen speichern" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1285 -msgid "Reset options" -msgstr "Einstellungen zurücksetzten" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap.php:85 -msgid "Your WordPress version is too old for XML Sitemaps." -msgstr "Ihre WordPress-Version ist zu alt für XML-Sitemaps." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap.php:85 -#, php-format -msgid "" -"Unfortunately this release of Google XML Sitemaps requires at least " -"WordPress %4$s. You are using Wordpress %2$s, which is out-dated and " -"insecure. Please upgrade or go to active plugins and " -"deactivate the Google XML Sitemaps plugin to hide this message. You can " -"download an older version of this plugin from the plugin " -"website." -msgstr "" -"Leider benötigt die aktuelle Version des XML-Sitemaps Plugins mindestens " -"WordPress %4$s. Sie verwenden Wordpress %2$s, was veraltet und eventuell " -"unsicher ist. Bitte aktualisieren Sie WordPress oder gehen Sie zu den aktiven Plugins und deaktivieren Sie das Google XML " -"Sitemaps Plugin um diesen Hinweis zu verbergen. Sie können auch eine ältere " -"Version dieses Plugins auf der plugin website " -"herunterladen." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap.php:95 -msgid "Your PHP version is too old for XML Sitemaps." -msgstr "Ihre PHP-Version ist zu alt für XML-Sitemaps." - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap.php:95 -#, php-format -msgid "" -"Unfortunately this release of Google XML Sitemaps requires at least PHP " -"%4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask " -"your web host to update your PHP installation or go to active plugins and deactivate the Google XML Sitemaps plugin to hide " -"this message. You can download an older version of this plugin from the plugin website." -msgstr "" -"Leider benötigt die aktuelle Version des XML-Sitemaps Plugins mindestens PHP " -"%4$s. Sie verwenden PHP %2$s, was veraltet und eventuell unsicher ist. Bitte " -"aktualisieren Sie PHP oder gehen Sie zu den aktiven " -"Plugins und deaktivieren Sie das Google XML Sitemaps Plugin um diesen " -"Hinweis zu verbergen. Sie können auch eine ältere Version dieses Plugins auf " -"der plugin website herunterladen." - -#~ msgid "Using this feature will increase build time and memory usage!" -#~ msgstr "" -#~ "Die Verwendung dieser Funktion wird die Erstelldauer sowie den " -#~ "Speicherverbrauch erhöhen!" - -#~ msgid "Popularity Contest" -#~ msgstr "Popularity Contest" - -#~ msgid "" -#~ "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -#~ msgstr "" -#~ "Verwendet das aktivierte Popularity Contest Plugin von " -#~ "Alex King. Siehe Einstellungen und " -#~ "wichtigste Beiträge" - -#~ msgid "Notify Ask.com about updates of your Blog" -#~ msgstr "Ask.com über Änderungen benachrichtigen" - -#~ msgid "No registration required." -#~ msgstr "Keine Registrierung erforderlich" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 -#~ msgid "" -#~ "Your sitemap is being refreshed at the moment. Depending on your blog " -#~ "size this might take some time!" -#~ msgstr "" -#~ "Die Sietemap wird im Moment neu erzeugt. Abhängig von der Anzahl Ihrer " -#~ "Beiträge kann dies einige Sekunden dauern. " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 -#~ msgid "" -#~ "Your sitemap will be refreshed in %s seconds. Depending on your blog size " -#~ "this might take some time!" -#~ msgstr "" -#~ "Die Sietemap wird in %s Sekunden neu erzeugt. Abhängig von der Anzahl " -#~ "Ihrer Beiträge kann dies einige Sekunden dauern." - -#~ msgid "open" -#~ msgstr "öffnen" - -#~ msgid "close" -#~ msgstr "schließen" - -#~ msgid "click-down and drag to move this box" -#~ msgstr "Klicken und ziehen um diese Box zu verschieben" - -#~ msgid "click to %toggle% this box" -#~ msgstr "Klicken um diese box zu %toggle%" - -#~ msgid "use the arrow keys to move this box" -#~ msgstr "Benutze die Pfeiltaste um diese box zu verschieben" - -#~ msgid ", or press the enter key to %toggle% it" -#~ msgstr ", oder drück Enter um sie zu %toggle%" - -#~ msgid "Site Explorer" -#~ msgstr "Site Explorer" - -#~ msgid "The sitemap wasn't generated yet." -#~ msgstr "Die Sitemap wurde bisher noch nicht erzeugt." - -#~ msgid "" -#~ "The sitemap wasn't built yet. Click here to build it " -#~ "the first time." -#~ msgstr "" -#~ "Die Sitemap wurde noch nicht erstellt. Klick hier um " -#~ "sie das erste mal zu erstellen." - -#~ msgid "Your sitemap was last built on %date%." -#~ msgstr "" -#~ "Deine Sitemap wurde zuletzt am %date% " -#~ "erstellt." - -#~ msgid "" -#~ "The last build succeeded, but the file was deleted later or can't be " -#~ "accessed anymore. Did you move your blog to another server or domain?" -#~ msgstr "" -#~ "Die letzte Sitemap wurde erzeugt, jedoch kann sie nicht mehr gelesen " -#~ "werden oder wurde gelöscht. Haben Sie das Blog auf einen anderen Server " -#~ "verschoben?" - -#, fuzzy -#~ msgid "" -#~ "There was a problem writing your sitemap file. Make sure the file exists " -#~ "and is writable. Learn more" -#~ msgstr "" -#~ "Leider gab es ein Problem beim Schreiben der Sitemap. Bitte vergewisser " -#~ "dich dass die Datei exisitert und beschreibbar ist. Mehr infoszipped) was last built on %date%." -#~ msgstr "" -#~ "Deine Sitemap (gezippt) wurde zuletzt am %date% erstellt." - -#~ msgid "" -#~ "The last zipped build succeeded, but the file was deleted later or can't " -#~ "be accessed anymore. Did you move your blog to another server or domain?" -#~ msgstr "" -#~ "Die letzte gezippte Sitemap wurde erzeugt, jedoch kann sie nicht mehr " -#~ "gelesen werden oder wurde gelöscht. Haben Sie das Blog auf einen anderen " -#~ "Server verschoben?" - -#, fuzzy -#~ msgid "" -#~ "There was a problem writing your zipped sitemap file. Make sure the file " -#~ "exists and is writable. Learn more" -#~ msgstr "" -#~ "Leider gab es ein Problem beim Schreiben der gezippten Sitemap. Bitte " -#~ "vergewisser dich dass die Datei exisitert und beschreibbar ist. Mehr infossuccessfully notified about changes." -#~ msgstr "" -#~ "Google wurde erfolgreich über die Änderungen benachrichtigt." - -#~ msgid "" -#~ "It took %time% seconds to notify Google, maybe you want to disable this " -#~ "feature to reduce the building time." -#~ msgstr "" -#~ "Es hat %time% Sekunden gedauert Google zu benachrichtigen. Vielleicht " -#~ "möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-" -#~ "Generierung zu verkürzen?" - -#~ msgid "" -#~ "There was a problem while notifying Google. View result" -#~ msgstr "" -#~ "Leider gab es beim Versuch Google zu benachrichtigen ein Problem. Ergebnis anzeigen" - -#~ msgid "YAHOO was successfully notified about changes." -#~ msgstr "" -#~ "YAHOO wurde erfolgreich über die Änderungen benachrichtigt." - -#~ msgid "" -#~ "It took %time% seconds to notify YAHOO, maybe you want to disable this " -#~ "feature to reduce the building time." -#~ msgstr "" -#~ "Es hat %time% Sekunden gedauert YAHOO zu benachrichtigen. Vielleicht " -#~ "möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-" -#~ "Generierung zu verkürzen?" - -#~ msgid "" -#~ "There was a problem while notifying YAHOO. View result" -#~ msgstr "" -#~ "Leider gab es beim Versuch YAHOO zu benachrichtigen ein Problem. Ergebnis anzeigen" - -#~ msgid "Ask.com was successfully notified about changes." -#~ msgstr "" -#~ "Ask.com wurde erfolgreich über die Änderungen benachrichtigt." - -#~ msgid "" -#~ "It took %time% seconds to notify Ask.com, maybe you want to disable this " -#~ "feature to reduce the building time." -#~ msgstr "" -#~ "Es hat %time% Sekunden gedauert Ask.com zu benachrichtigen. Vielleicht " -#~ "möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-" -#~ "Generierung zu verkürzen?" - -#~ msgid "" -#~ "There was a problem while notifying Ask.com. View result" -#~ msgstr "" -#~ "Leider gab es beim Versuch Ask.com zu benachrichtigen ein Problem. Ergebnis anzeigen" - -#~ msgid "" -#~ "The building process took about %time% seconds to complete and " -#~ "used %memory% MB of memory." -#~ msgstr "" -#~ "Die Sitemap-Generierung dauerte %time% sekunden und verwendete " -#~ "%memory% MB Speicher." - -#~ msgid "The building process took about %time% seconds to complete." -#~ msgstr "Die Sitemap-Generierung dauerte %time% sekunden." - -#~ msgid "" -#~ "The content of your sitemap didn't change since the last " -#~ "time so the files were not written and no search engine was pinged." -#~ msgstr "" -#~ "Die Inhalte der Sitemap haben sich nicht geändert seit " -#~ "dem letzten mal, daher wurden keine Dateien geschrieben oder " -#~ "Suchmaschinen informiert." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 -#~ msgid "" -#~ "The building process might still be active! Reload the page in a few " -#~ "seconds and check if something has changed." -#~ 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." - -#~ msgid "" -#~ "The last run didn't finish! Maybe you can raise the memory or time limit " -#~ "for PHP scripts. Learn more" -#~ msgstr "" -#~ "Die letzte Generierung der Sitemap wurde nicht abgeschlossen. Eventuell " -#~ "hilft es das Speicherlimit für PHP Skripte zu erhöhen. Mehr Infos" - -#~ msgid "" -#~ "The last known memory usage of the script was %memused%MB, the limit of " -#~ "your server is %memlimit%." -#~ msgstr "" -#~ "Der zuletzt bekannte Speicherverauch lag bei %memused%MB, das Limit für " -#~ "PHP Skripte ist %memlimit%." - -#~ msgid "" -#~ "The last known execution time of the script was %timeused% seconds, the " -#~ "limit of your server is %timelimit% seconds." -#~ msgstr "" -#~ "Die zuletzt bekannte Ausührungszeit lag bei %timeused% Sekunden, das " -#~ "Limit für PHP Skripe ist %timelimit% Sekunden." - -#~ msgid "The script stopped around post number %lastpost% (+/- 100)" -#~ msgstr "Das Script hat bei dem %lastpost% Beitrag abgebrochen. (+/- 100)" - -#~ msgid "" -#~ "If you changed something on your server or blog, you should rebuild the sitemap manually." -#~ msgstr "" -#~ "Falls Du etwas am Server oder am Blog geändert hast, solltest Du die " -#~ "Sitemap von Hand neu erstellen." - -#~ msgid "Sitemap files:" -#~ msgstr "Sitemap Dateien:" - -#~ msgid "Write a normal XML file (your filename)" -#~ msgstr "Sitemap als XML Datei erzeugen" - -#~ msgid "Write a gzipped file (your filename + .gz)" -#~ msgstr "Gezippte Sitemap erzeugen (Dateiname + .gz)" - -#~ msgid "Building mode:" -#~ msgstr "Erstellungsmodus:" - -#~ msgid "Rebuild sitemap if you change the content of your blog" -#~ msgstr "Sitemap neu generieren wenn Du den Inhalt Deines Blogs änderst" - -#~ msgid "Enable manual sitemap building via GET Request" -#~ msgstr "Manuelles Generieren der Sitemap über GET Anfrage erlauben" - -#, fuzzy -#~ 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: %1 Please check " -#~ "the result box above to see if sitemap was successfully built." -#~ msgstr "" -#~ "Dies erlaubt Dir die Sitemao zu aktualisieren falls ein externes Programm " -#~ "in die WordPress Datenbank geschrieben hat ohne die API zu verwenden. " -#~ "Verwende folgende URL um die Generierung zu starten: %1 Bitte überpüf die Logdatei um zu sehen ob die Generirung erfolgreich " -#~ "war." - -#~ msgid "Notify YAHOO about updates of your Blog" -#~ msgstr "YAHOO über Änderungen benachrichtigen" diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-es_ES.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-es_ES.mo deleted file mode 100644 index cbeb47c1..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-es_ES.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-es_ES.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-es_ES.po deleted file mode 100644 index c5568506..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-es_ES.po +++ /dev/null @@ -1,1030 +0,0 @@ -# [Countryname] Language File for sitemap (sitemap-[localname].po) -# Copyright (C) 2005 [name] : [URL] -# This file is distributed under the same license as the WordPress package. -# [name] <[mail-address]>, 2005. -# $Id: sitemap-es_ES.po 183255 2009-12-15 22:14:37Z arnee $ -# -msgid "" -msgstr "" -"Project-Id-Version: Google Sitemap Generator 3.2\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-11-20 22:53+0100\n" -"PO-Revision-Date: 2009-11-23 10:01+0100\n" -"Last-Translator: Omi \n" -"Language-Team: Omi | http://equipajedemano.info/ \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Poedit-Language: Spanish\n" -"X-Poedit-Country: Spain\n" -"X-Poedit-SourceCharset: utf-8\n" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:525 -msgid "Comment Count" -msgstr "Contador de comentarios" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:537 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "Utiliza la cantidad de comentarios en un artículo para calcular su prioridad" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:597 -msgid "Comment Average" -msgstr "Promedio de comentarios" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:609 -msgid "Uses the average comment count to calculate the priority" -msgstr "Utiliza el promedio de comentarios para calcular la prioridad" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:672 -msgid "Popularity Contest" -msgstr "Concurso de popularidad" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:684 -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "Utilizará el plugin Popularity Contest de Alex King. Revise Configuraciones y Artículos más populares" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1084 -msgid "Always" -msgstr "Siempre" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1085 -msgid "Hourly" -msgstr "Cada hora" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1086 -msgid "Daily" -msgstr "Diariamente" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1087 -msgid "Weekly" -msgstr "Semanalmente" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1088 -msgid "Monthly" -msgstr "Mensualmente" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1089 -msgid "Yearly" -msgstr "Anualmente" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1090 -msgid "Never" -msgstr "Nunca" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:107 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "Muchas gracias por su donación. ¡Su ayuda me permite seguir ofreciendo soporte y desarrollo para este plugin y para otros programas gratuitos!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:107 -msgid "Hide this notice" -msgstr "Ocultar esta notificación" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113 -#, php-format -msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and you are satisfied with the results, isn't it worth at least a few dollar? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "¡Gracias por utilizar este plugin! Ha pasado más de un mes desde que lo instaló. Si funciona bien y está contento con los resultados, ¿no merece la pena donar aunque sea un euro? Las donaciones me ayudan a seguir ofreciendo soporte y desarrollo para este software gratuito Claro, ¡sin problemas!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113 -msgid "Sure, but I already did!" -msgstr "Claro, ¡pero ya lo hice!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113 -msgid "No thanks, please don't bug me anymore!" -msgstr "No gracias. ¡No me moleste más por favor!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:120 -#, php-format -msgid "Thanks for using this plugin! You've installed this plugin some time ago. If it works and your are satisfied, why not rate it and recommend it to others? :-)" -msgstr "¡Gracias por utilizar este plugin! Ya ha pasado algún tiempo desde que lo instaló. Si todo funciona correctamente y está satisfecho con su rendimiento, ¿qué tal si vota por el y se lo recomienda a otros? :-)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:120 -msgid "Don't show this anymore" -msgstr "No mostrar esto más" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:132 -msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" -msgstr "Su sitemap está siendo actualizado en este momento. Dependiendo del tamaño de su blog esto podría llevar algún tiempo." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:134 -#, php-format -msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" -msgstr "Su sitemap se actualizará en %s segundos. Dependiendo del tamaño de su blog esto podría llevar algún tiempo." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:163 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:480 -msgid "XML Sitemap Generator for WordPress" -msgstr "XML Sitemap Generator para WordPress" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:323 -msgid "Configuration updated" -msgstr "Configuración actualizada" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:324 -msgid "Error while saving options" -msgstr "Error mientras se guardaban las opciones" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:326 -msgid "Pages saved" -msgstr "Páginas guardadas" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:327 -msgid "Error while saving pages" -msgstr "Error mientras se guardaban las páginas" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:334 -msgid "The default configuration was restored." -msgstr "Se restauró la configuración por defecto." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:496 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here." -msgstr "Hay una nueva versión disponible de %1$s. Descargue la versión %3$s desde aquí." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." -msgstr "Hay una nueva versión disponible de %1$s. Descargue la versión %3$s desde aquí la actualización automática no está disponible para este plugin." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:500 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." -msgstr "Hay una nueva versión disponbile de %1$s. Descargue la versión %3$s desde aquí o actualice automáticamente." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:508 -#, php-format -msgid "Your blog is currently blocking search engines! Visit the privacy settings to change this." -msgstr "¡Su blog está actualmente bloqueando a los motores de búsqueda! Revise la configuración de privacidad para cambiar esto." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:529 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:546 -msgid "open" -msgstr "abrir" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:530 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:547 -msgid "close" -msgstr "cerrar" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:531 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:548 -msgid "click-down and drag to move this box" -msgstr "pinche y arrastre para mover este cuadro" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:532 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:549 -msgid "click to %toggle% this box" -msgstr "pinche para %toggle% este cuadro" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:550 -msgid "use the arrow keys to move this box" -msgstr "utilice las teclas de dirección para mover este cuadro" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:551 -msgid ", or press the enter key to %toggle% it" -msgstr ", o pulse la tecla Enter para %toggle%lo" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:580 -msgid "About this Plugin:" -msgstr "Acerca de este plugin:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:581 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:181 -msgid "Plugin Homepage" -msgstr "Web principal del plugin" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:582 -msgid "Suggest a Feature" -msgstr "Solicitar nuevas características" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:583 -msgid "Notify List" -msgstr "Lista de notificaciones" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:584 -msgid "Support Forum" -msgstr "Foro de soporte" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:585 -msgid "Report a Bug" -msgstr "Comunicar un fallo" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:587 -msgid "Donate with PayPal" -msgstr "Donar usando PayPal" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:588 -msgid "My Amazon Wish List" -msgstr "Mi lista de deseos en Amazon" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:589 -msgid "translator_name" -msgstr "Traducido por: Omi" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:589 -msgid "translator_url" -msgstr "http://equipajedemano.info" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:593 -msgid "Sitemap Resources:" -msgstr "Recursos sobre sitemap:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:594 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:600 -msgid "Webmaster Tools" -msgstr "Herramientas para Webmasters" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:595 -msgid "Webmaster Blog" -msgstr "El blog del Webmaster" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:597 -msgid "Site Explorer" -msgstr "Explorador de sitios" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:598 -msgid "Search Blog" -msgstr "Blog del buscador" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:601 -msgid "Webmaster Center Blog" -msgstr "El blog del Webmaster" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:603 -msgid "Sitemaps Protocol" -msgstr "Protocolo sitemap" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:604 -msgid "Official Sitemaps FAQ" -msgstr "FAQ oficial de Sitemaps" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:605 -msgid "My Sitemaps FAQ" -msgstr "Mi FAQ de Sitemaps" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:608 -msgid "Recent Donations:" -msgstr "Donaciones recientes:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:611 -msgid "List of the donors" -msgstr "Listado de donantes" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:613 -msgid "Hide this list" -msgstr "Ocultar esta lista" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:616 -msgid "Thanks for your support!" -msgstr "¡Gracias por su colaboración!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:638 -msgid "The sitemap wasn't generated yet." -msgstr "El sitemap todavía no se ha generado." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:641 -msgid "Result of the last build process, started on %date%." -msgstr "Resultados del último proceso de creación (fecha y hora de inicio: %date%)." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:650 -#, php-format -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "El sitemap todavía no se ha creado. Pinche aquí para crearlo por primera vez" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:656 -msgid "Your sitemap was last built on %date%." -msgstr "Su sitemap se creó por última vez el %date%." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:657 -msgid "The last build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?" -msgstr "La última creación se realizó con éxito, pero el archivo ha sido posteriormente borrado o bien no puede accederse a el. ¿Ha movido su blog a otro servidor o dominio?" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:659 -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn more" -msgstr "Hubo un problema creando su archivo sitemap. Asegúrese de que el fichero existe y de que dispone de permisos de escritura. Más información" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:666 -msgid "Your sitemap (zipped) was last built on %date%." -msgstr "Su sitemap (comprimido) se creó por última vez el %date%." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:667 -msgid "The last zipped build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?" -msgstr "La última creación comprimida se realizó con éxito, pero el archivo ha sido posteriormente borrado o bien no puede accederse a el. ¿Ha movido su blog a otro servidor o dominio?" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:669 -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn more" -msgstr "Hubo un problema creando su archivo sitemap comprimido. Asegúrese de que el fichero existe y de que dispone de permisos de escritura. Más información" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:675 -msgid "Google was successfully notified about changes." -msgstr "Google ha sido correctamente notificado sobre los cambios." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:678 -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "Llevó %time% segundos notificar a Google. Quizás quiera desactivar esta característica para reducir el tiempo de creación." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:681 -#, php-format -msgid "There was a problem while notifying Google. View result" -msgstr "Hubo un problema notificando a Google. Ver resultado" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:687 -msgid "YAHOO was successfully notified about changes." -msgstr "Yahoo ha sido correctamente notificado sobre los cambios." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:690 -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "Llevó %time% segundos notificar a Yahoo. Quizás quiera desactivar esta característica para reducir el tiempo de creación." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:693 -#, php-format -msgid "There was a problem while notifying YAHOO. View result" -msgstr "Hubo un problema notificando a Yahoo. Ver resultado" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:699 -msgid "Bing was successfully notified about changes." -msgstr "Bing ha sido correctamente notificado sobre los cambios." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:702 -msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." -msgstr "Llevó %time% segundos notificar a Bing. Quizás quiera desactivar esta característica para reducir el tiempo de creación." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:705 -#, php-format -msgid "There was a problem while notifying Bing. View result" -msgstr "Hubo un problema notificando a Bing. Ver resultado" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:711 -msgid "Ask.com was successfully notified about changes." -msgstr "Ask.com ha sido correctamente notificado sobre los cambios." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:714 -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "Llevó %time% segundos notificar a Ask.com. Quizás quiera desactivar esta característica para reducir el tiempo de creación." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:717 -#, php-format -msgid "There was a problem while notifying Ask.com. View result" -msgstr "Hubo un problema notificando a Ask.com. Ver resultado" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:725 -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "El proceso de creación tardó aproximadamente %time% segundos en completarse y utilizó %memory% MB de memoria." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:727 -msgid "The building process took about %time% seconds to complete." -msgstr "El proceso de creación tardó aproximadamente %time% segundos en completarse." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:731 -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "El contenido de su archivo sitemap no ha cambiado desde la última vez, por lo que no se han creado nuevos ficheros ni se ha notificado a los buscadores." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:739 -msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." -msgstr "¡El proceso de construcción todavía podría estar activo! Recargue la página dentro de unos segundos y compruebe si algo ha cambiado." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:742 -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "¡La última ejecución no logró terminar! Quizás pueda elevar la memoria o el límite de tiempo para los scripts de PHP. Más información" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "El último uso de memoria por el script fue de %memused%MB; el límite de su servidor es de %memlimit%MB." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:748 -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "El último tiempo de ejecución por el script fue de %timeused% segundos; el límite de su servidor está en %timelimit% segundos." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:752 -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "El scripts se detuvo sobre el artículo número %lastpost% (+/- 100)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:755 -#, php-format -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "Si ha cambiado algo en su servidor o blog debería crear el sitemap manualmente." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:757 -#, php-format -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "Si encuentra algún problema durante el proceso de creación, puede utilizar la función de depuración para obtener más información." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:764 -msgid "Basic Options" -msgstr "Opciones básicas" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:766 -msgid "Sitemap files:" -msgstr "Archivos sitemap:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:766 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:781 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:834 -msgid "Learn more" -msgstr "Más información" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:771 -msgid "Write a normal XML file (your filename)" -msgstr "Escribir un fichero XML normal (nombre_fichero)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "Escribir un fichero comprimido con gzip (nombre_fichero+.gz)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:781 -msgid "Building mode:" -msgstr "Modo de creación:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "Volver a crear el sitemap si ha cambiado el contenido de su blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:793 -msgid "Enable manual sitemap building via GET Request" -msgstr "Permitir la creación manual del sitemap mediante peticiones GET" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:797 -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: %1 Please check the result box above to see if sitemap was successfully built." -msgstr "Esto le permitirá actualizar su sitemap si utiliza una herramienta externa, que no usa la API de WordPress, para escribir en la base de datos. Utilice la siguiente URL para iniciar el proceso: %1 Por favor, compruebe el resultado en el cuadro de texto superior para observar si el sitemap se ha creado correctamente." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801 -msgid "Update notification:" -msgstr "Notificación de actualización" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:805 -msgid "Notify Google about updates of your Blog" -msgstr "Notificar a Google sobre cambios en su blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:806 -#, php-format -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "No es necesario registrarse, pero puede unirse a las herramientas de Google para webmasters para revisar sus estadísticas." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:810 -msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" -msgstr "Notificar a Bing (anteriormente MSN Live Search) sobre cambios en su blog" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:811 -#, php-format -msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." -msgstr "No es necesario registrarse, pero puede unirse a las herramientas de Bing para webmasters para revisar sus estadísticas." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:815 -msgid "Notify Ask.com about updates of your Blog" -msgstr "Notificar a Ask.com sobre cambios en su blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:816 -msgid "No registration required." -msgstr "No es necesario registrarse." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:820 -msgid "Notify YAHOO about updates of your Blog" -msgstr "Notificar a Yahoo sobre cambios en su blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:821 -msgid "Your Application ID:" -msgstr "Su Id de aplicación:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 -#, php-format -msgid "Don't you have such a key? Request one here! %s2" -msgstr "¿No tiene esa identificación? Puede solicitar una aquí! %s2" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:827 -msgid "Add sitemap URL to the virtual robots.txt file." -msgstr "Añadir la URL del sitemap al archivo robots.txt virtual" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:831 -msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" -msgstr "Se utiliza el archivo robots.txt virtual generado por WordPress. ¡NO debe existir un fichero real robots.txt dentro del directorio del blog!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:834 -msgid "Advanced options:" -msgstr "Opciones avanzadas:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:837 -msgid "Limit the number of posts in the sitemap:" -msgstr "Limitar el número de artículos en el sitemap:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:837 -msgid "Newer posts will be included first" -msgstr "Los artículos más recientes se incluiran primero" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:840 -msgid "Try to increase the memory limit to:" -msgstr "Tratar de incrementar el límite de memoria a:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:840 -msgid "e.g. \"4M\", \"16M\"" -msgstr "ej.: \"4M\", \"16M\"" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:843 -msgid "Try to increase the execution time limit to:" -msgstr "Tratar de incrementar el límite de tiempo de ejecución a:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:843 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "en segundos, ej.: \"60\" o \"0\" para ilimitado" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:847 -msgid "Include a XSLT stylesheet:" -msgstr "Incluir una hoja de estilos XSLT" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:848 -msgid "Full or relative URL to your .xsl file" -msgstr "URL completa o relativa hacia su fichero .xsl" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:848 -msgid "Use default" -msgstr "Utilizar el predeterminado" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:854 -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "Activar el modo estándar de MySQL. Sólo deberá utilizarlo si está padeciendo errores de MySQL (¡necesita mucha memoria!)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:855 -msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" -msgstr "Actualice, como mínimo, a WordPress 2.2 para activar el acceso rápido a MySQL" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862 -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "Crear el sitemap en segundo plano (así no tendrá que esperar cuando grabe un artículo)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 -msgid "Upgrade WordPress at least to 2.1 to enable background building" -msgstr "Actualice, como mínimo, a WordPress 2.1 para activar la creación en segundo plano" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:870 -msgid "Additional pages" -msgstr "Páginas adicionales" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:873 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "Aquí puede especificar los ficheros o URLs que deben incluirse en el sitemap, pero que no pertenecen a su blog/WordPress.
Por ejemplo: si su dominio es www.foo.com y su blog está en www.foo.com/blog, quizás quiera incluir su página de inicio de www.foo.com" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:875 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1083 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1097 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1106 -msgid "Note" -msgstr "Nota" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:876 -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)!" -msgstr "¡Si su blog está en un subdirectorio y quiere añadir páginas que NO están en el directorio de su blog o por debajo del mismo, DEBE colocar su fichero sitemap en el directorio raíz (Mire la sección \"Localización de su fichero sitemap\" en esta página)!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:878 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:917 -msgid "URL to the page" -msgstr "URL de la página" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:879 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "URL de la página. Ejemplos: http://www.foo.com/index.html o www.foo.com/home" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:881 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:918 -msgid "Priority" -msgstr "Prioridad" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:882 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "Escoja la prioridad relativa de la página comparándola con la de las otras páginas. Por ejemplo, su página de inicio debe tener una mayor prioridad que sus datos personales." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:884 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:920 -msgid "Last Changed" -msgstr "Últimos cambios" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:885 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "Introduzca la fecha del último cambio como AAAA-MM-DD (por ejemplo: 2005-12-31) (opcional)." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:919 -msgid "Change Frequency" -msgstr "Frecuencia de cambios" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:921 -msgid "#" -msgstr "#" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:926 -msgid "No pages defined." -msgstr "Ninguna página definida" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:931 -msgid "Add new page" -msgstr "Añadir una nueva página" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:936 -msgid "Post Priority" -msgstr "Prioridad del artículo" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:938 -msgid "Please select how the priority of each post should be calculated:" -msgstr "Por favor, seleccione como se calculará la prioridad de cada artículo:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:940 -msgid "Do not use automatic priority calculation" -msgstr "No utilizar el cálculo de prioridad automático" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:940 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "Todos los artículos tendrán la misma prioridad según se haya definido en "prioridades"" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:951 -msgid "Location of your sitemap file" -msgstr "Localización de su fichero sitemap" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:954 -msgid "Automatic detection" -msgstr "Detección automática" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:958 -msgid "Filename of the sitemap file" -msgstr "Nombre de fichero para el archivo sitemap" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:961 -msgid "Detected Path" -msgstr "Ruta detectada" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:961 -msgid "Detected URL" -msgstr "URL detectada" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:966 -msgid "Custom location" -msgstr "Localización automática" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:970 -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "Ruta absoluta o relativa al fichero sitemap, incluyendo el nombre." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:972 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:981 -msgid "Example" -msgstr "Ejemplo" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:979 -msgid "Complete URL to the sitemap file, including name." -msgstr "URL completa del fichero sitemap, incluyendo el nombre." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:992 -msgid "Sitemap Content" -msgstr "Contenido del sitemap" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:998 -msgid "Include homepage" -msgstr "Incluir página principal" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1004 -msgid "Include posts" -msgstr "Incluir artículos" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010 -msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" -msgstr "Incluir las páginas subsiguientes de los artículos multipágina (¡aumenta el tiempo de creación y el uso de memoria!)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1016 -msgid "Include static pages" -msgstr "Incluir páginas estáticas" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1022 -msgid "Include categories" -msgstr "Incluir categorías" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1028 -msgid "Include archives" -msgstr "Incluir archivos" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1035 -msgid "Include tag pages" -msgstr "Incluir páginas de etiquetas" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1051 -#, php-format -msgid "Include taxonomy pages for %s" -msgstr "Incluir páginas de taxonomía para %s" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1061 -msgid "Include author pages" -msgstr "Incluir páginas de autor" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1065 -msgid "Further options" -msgstr "Más opciones" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1070 -msgid "Include the last modification time." -msgstr "Incluir la fecha de última modificación" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1072 -msgid "This is highly recommended and helps the search engines to know when your content has changed. This option affects all sitemap entries." -msgstr "Altamente recomendado, ya que ayuda a los buscadores a saber cuando ha cambiado el contenido. Esta opción afecta a todas las entradas del sitemap." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1079 -msgid "Excluded items" -msgstr "Elementos excluidos" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1081 -msgid "Excluded categories" -msgstr "Categorías excluidas" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1083 -msgid "Using this feature will increase build time and memory usage!" -msgstr "¡Utilizar esta función incrementará el tiempo de creación y el uso de memoria!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1090 -#, php-format -msgid "This feature requires at least WordPress 2.5.1, you are using %s" -msgstr "Esta característica requiere de, al menos, WordPress 2.5.1. y Vd. está utilizando la versión %s" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1093 -msgid "Exclude posts" -msgstr "Artículos excluidos" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1095 -msgid "Exclude the following posts or pages:" -msgstr "Excluir los siguientes artículos o páginas:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1095 -msgid "List of IDs, separated by comma" -msgstr "Indique los ID, separados por coma" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1097 -msgid "Child posts won't be excluded automatically!" -msgstr "¡Los artículos anidados no se excluirán automáticamente!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1103 -msgid "Change frequencies" -msgstr "Frecuencias de cambio" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1107 -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." -msgstr "Por favor, tenga en cuenta que el valor de esta etiqueta es considerado como un consejo, no como una orden. Incluso aunque los rastreadores tengan en cuenta esto a la hora de decidir, puede que rastreen páginas marcadas como \"cada hora\" con menos frecuencia que la indicada, y puede que rastreen páginas marcadas como \"anualmente\" con más frecuencia que esta. También podría ocurrir que los rastreadores revisen periódicamente páginas marcadas como \"nunca\" por si ha habido cambios inesperados en dichas páginas." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1113 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1170 -msgid "Homepage" -msgstr "Página principal" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1119 -msgid "Posts" -msgstr "Artículos" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1125 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1188 -msgid "Static pages" -msgstr "Páginas estáticas" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1131 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1194 -msgid "Categories" -msgstr "Categorías" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1137 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "El archivo de este mes (Debe ser igual al de su página principal)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1143 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Archivos obsoletos (Sólo cambia si edita un artículo antiguo)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1150 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1207 -msgid "Tag pages" -msgstr "Páginas de etiquetas" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1157 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1214 -msgid "Author pages" -msgstr "Páginas de autor" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1165 -msgid "Priorities" -msgstr "Prioridades" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1176 -msgid "Posts (If auto calculation is disabled)" -msgstr "Artículos (Si el cálculo automático está deshabilitado)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1182 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Prioridad mínima para artículos (Incluso aunque el cálculo automático esté activo)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1200 -msgid "Archives" -msgstr "Archivos" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1225 -msgid "Update options" -msgstr "Grabar cambios" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1226 -msgid "Reset options" -msgstr "Reestablecer configuración" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:95 -msgid "XML-Sitemap Generator" -msgstr "XML-Sitemap Generator" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:95 -msgid "XML-Sitemap" -msgstr "Sitemap XML" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:109 -msgid "Settings" -msgstr "Configuraciones" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:110 -msgid "FAQ" -msgstr "FAQ" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:111 -msgid "Support" -msgstr "Soporte" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:112 -msgid "Donate" -msgstr "Dona" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:182 -msgid "Sitemap FAQ" -msgstr "FAQ sitemap" - -#~ msgid "Manual location" -#~ msgstr "Localización manual" -#~ msgid "OR" -#~ msgstr "O" -#~ msgid "Error" -#~ msgstr "Error" -#~ msgid "" -#~ "A new page was added. Click on "Save page changes" to save your " -#~ "changes." -#~ msgstr "" -#~ "Una nueva página fue añadida. Haga click en \"Guardar cambios\" para " -#~ "guardar sus cambios." -#~ msgid "" -#~ "The page was deleted. Click on "Save page changes" to save your " -#~ "changes." -#~ msgstr "" -#~ "La página fue borrada. Haga click en \"Guardar cambios\" para guardar sus " -#~ "cambios." -#~ msgid "You changes have been cleared." -#~ msgstr "Sus cambios se han deshecho." -#~ msgid "Manual rebuild" -#~ msgstr "Reconstrucción manual" -#~ msgid "" -#~ "If you want to build the sitemap without editing a post, click on here!" -#~ msgstr "" -#~ "Si quieres construir el sitemap sin editar ningún artículo, ¡pulse aquí!" -#~ msgid "Rebuild Sitemap" -#~ msgstr "Reconstruir Sitemap" -#~ msgid "Save page changes" -#~ msgstr "Guardar los cambios de la página" -#~ msgid "Undo all page changes" -#~ msgstr "Deshacer todos los cambios de la página" -#~ msgid "Delete marked page" -#~ msgstr "Borrar página marcada" -#~ msgid "" -#~ "Enable automatic priority calculation for posts based on comment count" -#~ msgstr "" -#~ "Activar cálculo automático de prioridades para artículos basándose en el " -#~ "número de comentarios" -#~ msgid "Write debug comments" -#~ msgstr "Escribir comentarios de depuración" -#~ msgid "Auto-Ping Google Sitemaps" -#~ msgstr "Ping automático a Google Sitemaps" -#~ msgid "This option will automatically tell Google about changes." -#~ msgstr "" -#~ "Esta opción indicará automáticamente a Google que ha habido cambios." -#~ msgid "Includings" -#~ msgstr "Inclusiones" -#~ msgid "Informations and support" -#~ msgstr "Información y soporte" -#~ msgid "" -#~ "Check %s for updates and comment there if you have any problems / " -#~ "questions / suggestions." -#~ msgstr "" -#~ "Compruebe %s para actualizaciones, comentarios, problemas, cuestiones y " -#~ "sugerencias." -#~ msgid "URL:" -#~ msgstr "URL:" -#~ msgid "Path:" -#~ msgstr "Ruta:" -#~ msgid "Could not write into %s" -#~ msgstr "No puedo escribir en %s" -#~ msgid "Successfully built sitemap file:" -#~ msgstr "Fichero sitemap correctamente construido:" -#~ msgid "Successfully built gzipped sitemap file:" -#~ msgstr "Fichero sitemap comprimido correctamente construido:" -#~ msgid "Could not ping to Google at %s" -#~ msgstr "No pude hacer ping a Google en %s" -#~ msgid "Successfully pinged Google at %s" -#~ msgstr "Ping a Google realizado correctamente en %s" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-fi_FI.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-fi_FI.mo deleted file mode 100644 index 955b6779..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-fi_FI.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-fi_FI.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-fi_FI.po deleted file mode 100644 index 97932ad0..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-fi_FI.po +++ /dev/null @@ -1,1005 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: Sitemaps for WordPress\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-12-23 10:32+0800\n" -"PO-Revision-Date: \n" -"Last-Translator: Olli Jarva \n" -"Language-Team: Olli Jarva \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Finnish\n" -"X-Poedit-Country: FINLAND\n" -"X-Poedit-SourceCharset: utf-8\n" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:642 -msgid "Comment Count" -msgstr "Kommenttien lukumäärä" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:654 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "Käytetään kommenttien määrää prioriteetin laskemiseen" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:714 -msgid "Comment Average" -msgstr "Kommenttien keskiarvo" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:726 -msgid "Uses the average comment count to calculate the priority" -msgstr "Käytetään keskimääräistä kommenttien määrää prioriteetin laskemiseen" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:789 -msgid "Popularity Contest" -msgstr "Suosituimmuuskilpailu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:801 -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "Käyttää aktivoitua Popularity Contest Plugin-lisäosaa, jonka on tehnyt Alex King. Katso asetukset ja suosituimmat merkinnät" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1209 -msgid "Always" -msgstr "Aina" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1210 -msgid "Hourly" -msgstr "Tunnittain" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1211 -msgid "Daily" -msgstr "Päivittäin" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1212 -msgid "Weekly" -msgstr "Viikottain" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1213 -msgid "Monthly" -msgstr "Kuukausittain" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1214 -msgid "Yearly" -msgstr "Vuosittain" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1215 -msgid "Never" -msgstr "Ei ikinä" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "Kiitos lahjoituksesta! Autat tämän lisäosan ja muiden vapaiden ohjelmien tukemisessa ja kehittämisessä!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 -msgid "Hide this notice" -msgstr "Piilota tämä huomautus" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 -#, php-format -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? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "Kiitos lisäosan käyttämisestä! Olet asentanut lisäosan yli kuukausi sitten. Jos se toimii ja olet tyytyväinen tuloksiin, eikö se ole edes yhden dollarin arvoinen? Lahjoitukset auttavat tämän vapaan ohjelman kehittämisessä! Toki, ei ongelmaa!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 -msgid "No thanks, please don't bug me anymore!" -msgstr "Ei kiitos, älä häiritse minua enää!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:119 -msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" -msgstr "Sivustokarttaa päivitetään. Blogin koosta riippuen päivittäminen voi kestää jonkin aikaa." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:121 -#, php-format -msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" -msgstr "Sivustokartta päivitetään %s sekunnin kuluttua. Blogin koosta riippuen päivittäminen voi kestää jonkin aikaa." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:146 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:441 -msgid "XML Sitemap Generator for WordPress" -msgstr "XML-sivustokarttojen luontityökalu WordPressiin" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:278 -msgid "Configuration updated" -msgstr "Asetukset päivitetty" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:279 -msgid "Error while saving options" -msgstr "Virhe asetusten tallentamisessa" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:281 -msgid "Pages saved" -msgstr "Sivut tallennettu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:282 -msgid "Error while saving pages" -msgstr "Virhe sivujen tallentamisessa" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2748 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:286 -#, php-format -msgid "Robots.txt file saved" -msgstr "Robots.txt tallennettu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2750 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:288 -msgid "Error while saving Robots.txt file" -msgstr "Virhe robots.txt:n tallentamisessa" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:297 -msgid "The default configuration was restored." -msgstr "Oletusasetukset on palautettu." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:454 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here." -msgstr "Uusi versio (%1$s) on saatavilla. Lataa versio %3$s." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:456 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." -msgstr "Uusi versio (%1$s) on saatavilla. Lataa versio %3$s. Automaattinen päivitys ei ole käytössä tälle lisäosalle." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:458 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." -msgstr "Uusi versio (%1$s) on saatavilla. Lataa versio %3$s tai päivitä automaattisesti." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:481 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498 -msgid "open" -msgstr "avaa" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:482 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:499 -msgid "close" -msgstr "sulje" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:483 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:500 -msgid "click-down and drag to move this box" -msgstr "liikuta tätä laatikkoa vetämällä ja pudottamalla" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:484 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:501 -msgid "click to %toggle% this box" -msgstr "klikkaa %toggle% laatikko" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:485 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:502 -msgid "use the arrow keys to move this box" -msgstr "käytä nuolinäppäimiä liikkumiseen" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:486 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:503 -msgid ", or press the enter key to %toggle% it" -msgstr "tai paina enter-näppäintä vaihtaaksesi (%toggle%)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:521 -msgid "About this Plugin:" -msgstr "Tietoja lisäosasta:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:522 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:138 -msgid "Plugin Homepage" -msgstr "Lisäosan kotisivu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:523 -msgid "Suggest a Feature" -msgstr "Ehdota ominaisuutta" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:524 -msgid "Notify List" -msgstr "Tiedotuslista" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:525 -msgid "Support Forum" -msgstr "Tukifoorumit" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:526 -msgid "Report a Bug" -msgstr "Raportoi virhe" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:528 -msgid "Donate with PayPal" -msgstr "Lahjoita PayPalilla" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:529 -msgid "My Amazon Wish List" -msgstr "Amazonin toivelista" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:530 -msgid "translator_name" -msgstr "translator_name" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:530 -msgid "translator_url" -msgstr "translator_url" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 -msgid "Sitemap Resources:" -msgstr "Sivustokarttaresurssit:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:540 -msgid "Webmaster Tools" -msgstr "Ylläpitäjän työkalut" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:535 -msgid "Webmaster Blog" -msgstr "Ylläpitäjän blogi" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:537 -msgid "Site Explorer" -msgstr "Sivustoselain" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:538 -msgid "Search Blog" -msgstr "Hakukoneblogi" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:541 -msgid "Webmaster Center Blog" -msgstr "Ylläpitäjäkeskuksen blogi" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:543 -msgid "Sitemaps Protocol" -msgstr "Sivustokartta-protokolla" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:544 -msgid "Official Sitemaps FAQ" -msgstr "Virallinen sivustokartta-FAQ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:545 -msgid "My Sitemaps FAQ" -msgstr "Sivustokartta-FAQ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:548 -msgid "Recent Donations:" -msgstr "Äskettäin lahjoittaneet:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:552 -msgid "List of the donors" -msgstr "Lahjoittajalista" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:554 -msgid "Hide this list" -msgstr "Piilota tämä lista" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:557 -msgid "Thanks for your support!" -msgstr "Kiitos tuestasi!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:575 -msgid "Status" -msgstr "Tila" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:583 -#, php-format -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "Sivustokarttaa ei ole luotu. Luo sivustokartta ensimmäisen kerran." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:589 -msgid "Your sitemap was last built on %date%." -msgstr "Sivustokartta on päivitetty edellisen kerran %date%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:591 -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreLue lisää" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:598 -msgid "Your sitemap (zipped) was last built on %date%." -msgstr "Sivustokartta (pakattu) on päivitetty edellisen kerran %date%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:600 -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreLue lisääsuccessfully notified
about changes." -msgstr "Googlea tiedotettiin onnistuneesti päivityksistä." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:609 -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "Kesti %time% sekuntia huomauttaa Googlea päivityksistä. Saatat haluta poistaa käytöstä tämän ominaisuuden nopeuttaaksesi sivustokartan luomista." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:612 -#, php-format -msgid "There was a problem while notifying Google. View result" -msgstr "Virhe Googlen huomauttamisessa. Katso tulokset" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:618 -msgid "YAHOO was successfully notified about changes." -msgstr "Yahoota tiedotettiin onnistuneesti päivityksistä." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:621 -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "Kesti %time% sekuntia huomauttaa Yahoota päivityksistä. Saatat haluta poistaa käytöstä tämän ominaisuuden nopeuttaaksesi sivustokartan luomista." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:624 -#, php-format -msgid "There was a problem while notifying YAHOO. View result" -msgstr "Virhe Yahoon huomauttamisessa. Katso tulokset" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3097 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:630 -msgid "MSN was successfully notified about changes." -msgstr "MSN:ää tiedotettiin onnistuneesti päivityksistä." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3100 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:633 -msgid "It took %time% seconds to notify MSN.com, maybe you want to disable this feature to reduce the building time." -msgstr "Kesti %time% sekuntia huomauttaa MSN.comia päivityksistä. Saatat haluta poistaa käytöstä tämän ominaisuuden nopeuttaaksesi sivustokartan luomista." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3103 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:636 -#, php-format -msgid "There was a problem while notifying MSN.com. View result" -msgstr "Virhe MSN.comin huomauttamisessa. Katso tulokset" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:642 -msgid "Ask.com was successfully notified about changes." -msgstr "Ask.comia tiedotettiin onnistuneesti päivityksistä." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:645 -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "Kesti %time% sekuntia huomauttaa Ask.comia päivityksistä. Saatat haluta poistaa käytöstä tämän ominaisuuden nopeuttaaksesi sivustokartan luomista." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:648 -#, php-format -msgid "There was a problem while notifying Ask.com. View result" -msgstr "Virhe Ask.comin huomauttamisessa. Katso tulokset" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:656 -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "Luominen kesti noin %time% sekuntia ja käytti %memory% MB muistia." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:658 -msgid "The building process took about %time% seconds to complete." -msgstr "Luominen kesti noin %time% sekuntia." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:662 -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "Sivustokartan sisältö ei vaihtunut edellisestä päivityksestä, joten tiedostoja ei kirjoitettu ja hakukoneita ei huomautettu päivityksistä." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:670 -msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." -msgstr "Luomisprosessi saattaa olla yhä aktiivinen! Lataa sivu uudelleen muutaman sekunnin kuluttua." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:673 -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "Edellinen päivitys ei valmistunut! Muisti- tai aikarajoitusten kasvattaminen saattaa auttaa. Lue lisää" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:675 -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "Edellinen tunnettu muistin käyttö oli %memused%MB, palvelimen rajoitus on %memlimit%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:679 -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "Edellinen tunnettu ajoaika oli %timeused% sekuntia, palvelimen rajoitus on %timelimit% sekuntia." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:683 -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "Ohjelma lopetti merkinnässä numero %lastpost% (+/- 100)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:686 -#, php-format -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "Jos jotain on muuttunut palvelimella tai blogissa, saatat haluta luoda sivustokartan uudelleen manuaalisesti." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:688 -#, php-format -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "Jos sivustokartan luomisprosessissa oli ongelmia, voit käyttää virheenetsintätilaa lisätietojen saamiseksi." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:695 -msgid "Basic Options" -msgstr "Perusasetukset" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:697 -msgid "Sitemap files:" -msgstr "Sivustokarttatiedostot:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:697 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:712 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:732 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:765 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:782 -msgid "Learn more" -msgstr "Lue lisää" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:702 -msgid "Write a normal XML file (your filename)" -msgstr "Luo normaali XML-tiedosto (tiedostonimi)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:708 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "Luo pakattu (gzip) tiedosto (tiedostonimi + .gz)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:712 -msgid "Building mode:" -msgstr "Luomisasetukset:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:717 -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "Luo sivustokartta uudelleen, jos blogin sisältöä on muutettu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 -msgid "Enable manual sitemap building via GET Request" -msgstr "Salli manuaalinen sivustokartan luominen GET-pyynnöllä" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:728 -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: %1 Please check the logfile above to see if sitemap was successfully built." -msgstr "Tämä sallii sivustokartan päivittämisen, jos työkalu kirjoittaa WordPressin tietokantaan käyttämättä WordPressin API:a. Käytä seuraavaa osoitetta päivittämiseen: %1 . Tarkista lokitiedostosta, päivitettiinkö sivustokartta onnistuneesti." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:732 -msgid "Update notification:" -msgstr "Päivityshuomautukset:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:736 -msgid "Notify Google about updates of your Blog" -msgstr "Ilmoita Googlelle päivityksistä blogissa" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:737 -#, php-format -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "Rekisteröintiä ei vaadita, mutta Googlen verkkoylläpitäjän työkalut kertovat tietoja sivuston indeksoinnista." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3209 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:741 -msgid "Notify MSN Live Search about updates of your Blog" -msgstr "Ilmoita MSN Live Searchille päivityksistä blogissa" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3210 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:742 -#, php-format -msgid "No registration required, but you can join the MSN Live Webmaster Tools to check crawling statistics." -msgstr "Rekisteröintiä ei vaadita, mutta MSN Liven verkkoylläpitäjän työkalut kertovat tietoja sivuston indeksoinnista." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:746 -msgid "Notify Ask.com about updates of your Blog" -msgstr "Ilmoita Ask.comille päivityksistä blogissa" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:747 -msgid "No registration required." -msgstr "Rekisteröintiä ei vaadita" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:751 -msgid "Notify YAHOO about updates of your Blog" -msgstr "Ilmoita Yahoolle päivityksistä blogissa" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:752 -msgid "Your Application ID:" -msgstr "ID:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:753 -#, php-format -msgid "Don't you have such a key? Request one here! %s2" -msgstr "Ei avainta? Hae omasi täältä! %s2" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3099 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:760 -#, php-format -msgid "Modify or create %s file in blog root which contains the sitemap location." -msgstr "Muokkaa tai luo tiedosto %s blogin juurihakemistoon" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3102 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:763 -msgid "File permissions: " -msgstr "Tiedoston oikeudet:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3107 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:768 -msgid "OK, robots.txt is writable." -msgstr "OK, robots.txt:hen on kirjoitusoikeudet." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3109 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:770 -msgid "Error, robots.txt is not writable." -msgstr "Virhe: robots.txt-tiedostoon ei voi kirjoittaa." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3113 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:774 -msgid "OK, robots.txt doesn't exist but the directory is writable." -msgstr "Ok, robots.txt:tä ei ole ja kansioon voi kirjoittaa." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3115 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:776 -msgid "Error, robots.txt doesn't exist and the directory is not writable" -msgstr "Virhe: robots.txt:tä ei ole ja kansioon ei voi kirjoittaa" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:782 -msgid "Advanced options:" -msgstr "Lisäasetukset:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:785 -msgid "Limit the number of posts in the sitemap:" -msgstr "Rajoita sivustokartan merkintöjen lukumäärää:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:785 -msgid "Newer posts will be included first" -msgstr "Uusimmat merkinnät listataan ensimmäisinä" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:788 -msgid "Try to increase the memory limit to:" -msgstr "Yritä lisätä muistirajoitusta:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:788 -msgid "e.g. \"4M\", \"16M\"" -msgstr "esim. \"4M\", \"16M\"" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 -msgid "Try to increase the execution time limit to:" -msgstr "Yritä lisätä ajoajan rajoitusta:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "sekunneissa, esim. \"60\" tai \"0\" rajoittamattomaan" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:795 -msgid "Include a XSLT stylesheet:" -msgstr "Ota mukaan XSLT-tyylitiedosto:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:796 -msgid "Full or relative URL to your .xsl file" -msgstr "Kokonainen tai suhteellinen .xsl-tiedoston URL" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:796 -msgid "Use default" -msgstr "Käytä oletuksia" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801 -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "Ota käyttöön MySQL:n standarditila. Käytä tätä vain jos saat MySQL-virheitä (tarvitsee huomattavasti enemmän muistia)." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:807 -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "Luo sivustokartta taustaprosessissa (Ei viiveitä merkintöjä luodessa)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:814 -msgid "Additional pages" -msgstr "Lisäsivut" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:817 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "Voit määrittää tiedostot tai osoitteet jotka lisätään sivustokarttaan, mutta jotka eivät ole WordPressissä.
Esimerkiksi jos domain on www.example.com ja blogi on osoitteessa www.example.com/blog, saatat haluta lisätä etusivun www.example.com sivustokarttaan" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:819 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:998 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1012 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1021 -msgid "Note" -msgstr "Huom" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:820 -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)!" -msgstr "Jos blogi on alihakemistossa ja haluat lisätä sivuja jotka EIVÄT ole blogin hakemistossa tai alikansioissa, sivustokartta TÄYTYY laittaa juurihakemistoon. Katso "Sivustokartan sijainti"-osiota tällä sivulla." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:861 -msgid "URL to the page" -msgstr "Sivun URL" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:823 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "Kirjoita sivun osoite. Esimerkiksi http://example.com/index.html tai www.example.com/home" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:825 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862 -msgid "Priority" -msgstr "Prioriteetti" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:826 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "Valitse prioriteetti suhteessa muihin sivuihin. Esimerkiksi etusivu voi olla korkeammalla prioriteetilla kuin vanhat arkistosivut." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:828 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:864 -msgid "Last Changed" -msgstr "Viimeinen muutos" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:829 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "Kirjoita edellisen muutoksen päiväys muodossa YYYY-MM-DD (esim. 2009-05-13) (ei pakollinen)." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 -msgid "Change Frequency" -msgstr "Muutostiheys" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:865 -msgid "#" -msgstr "#" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:870 -msgid "No pages defined." -msgstr "Ei sivuja määritetty." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:875 -msgid "Add new page" -msgstr "Lisää uusi sivu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:880 -msgid "Post Priority" -msgstr "Merkinnän prioriteetti" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:882 -msgid "Please select how the priority of each post should be calculated:" -msgstr "Valitse, miten merkintöjen prioriteetti lasketaan:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:884 -msgid "Do not use automatic priority calculation" -msgstr "Älä käytä automaattista prioriteetin laskemista" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:884 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "Kaikilla merkinnöillä on prioriteetit-kohdassa määritetty prioriteetti" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:895 -msgid "Location of your sitemap file" -msgstr "Sivustokartan sijainti" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:898 -msgid "Automatic detection" -msgstr "Automaattinen tunnistus" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:902 -msgid "Filename of the sitemap file" -msgstr "Sivustokartan tiedostonimi" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:905 -msgid "Detected Path" -msgstr "Tunnistettu polku" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:905 -msgid "Detected URL" -msgstr "Tunnistettu URL" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:910 -msgid "Custom location" -msgstr "Muokattu sijainti" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:914 -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "Absoluuttinen tai suhteellinen sivustokartan osoite, myös tiedostonimi." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:916 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:925 -msgid "Example" -msgstr "Esimerkki" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:923 -msgid "Complete URL to the sitemap file, including name." -msgstr "Koko URL sivustokarttatiedostoon, myös nimi." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:936 -msgid "Sitemap Content" -msgstr "Sivustokartan sisältö" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:942 -msgid "Include homepage" -msgstr "Ota mukaan etusivu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:948 -msgid "Include posts" -msgstr "Ota mukaan merkinnät" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:911 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:954 -msgid "Include following pages of multi-page posts (<!--nextpage-->)" -msgstr "Ota mukaan kaikki sivut monisivuisista merkinnöistä (<!--nextpage-->)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:960 -msgid "Include static pages" -msgstr "Ota mukaan staattiset sivut" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:966 -msgid "Include categories" -msgstr "Ota mukaan luokat" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:972 -msgid "Include archives" -msgstr "Ota mukaan arkistosivut" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:979 -msgid "Include tag pages" -msgstr "Ota mukaan avainsanasivut" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:986 -msgid "Include author pages" -msgstr "Ota mukaan tekijäsivut" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:994 -msgid "Excluded items" -msgstr "Jätä huomiotta" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:996 -msgid "Excluded categories" -msgstr "Jätä huomiotta luokkia" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:998 -msgid "Using this feature will increase build time and memory usage!" -msgstr "Tämän ominaisuuden käyttö lisää luomisaikaa ja muistinkäyttöä!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1005 -#, php-format -msgid "This feature requires at least WordPress 2.5, you are using %s" -msgstr "Ominaisuus vaatii vähintään WordPress 2.5:n, sinulla on %s" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1008 -msgid "Exclude posts" -msgstr "Jätä huomiotta merkintöjä" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010 -msgid "Exclude the following posts or pages:" -msgstr "Jätä huomiotta seuraavat merkinnät tai sivut:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010 -msgid "List of IDs, separated by comma" -msgstr "Lista ID:istä, pilkulla eroteltuna" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1012 -msgid "Child posts will not automatically be excluded!" -msgstr "Alimerkintöjä ei jätetä automaattisesti huomiotta!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1018 -msgid "Change frequencies" -msgstr "Päivitystiheydet" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1022 -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." -msgstr "Huomioi että tämä avainsana on vihje, ei komento. Vaikka osa hakukoneista ottaa avainsanan huomioon päätöksiä tehdessä, tunneittain päivittyviksi merkittyjä sivuja saatetaan hakea harvemmin. Vastaavasti vuosittain päivittyviä sivuja haetaan mahdollisesti useammin. Lisäksi osa hakukoneista hakee säännöllisesti sivuja, joiden päivittymistiheydeksi on merkitty \"ei koskaan\", jotta odottamattomat muutokset päivittyvät." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1028 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1086 -msgid "Homepage" -msgstr "Etusivu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1034 -msgid "Posts" -msgstr "Merkinnät" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1040 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1104 -msgid "Static pages" -msgstr "Staattiset sivut" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1046 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1110 -msgid "Categories" -msgstr "Kategoriat" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1052 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Tämän kuun arkistosivu (yleensä blogin etusivu)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1058 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Vanhat arkistosivut (vaihtuvat vain kun muokkaat vanhaa merkintää)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1065 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1123 -msgid "Tag pages" -msgstr "Avainsanasivut" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1072 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1130 -msgid "Author pages" -msgstr "Tekijän sivut" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1080 -msgid "Priorities" -msgstr "Prioriteetit" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1092 -msgid "Posts (If auto calculation is disabled)" -msgstr "Merkinnät (jos automaattinen laskenta on poistettu käytöstä)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1098 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Merkintöjen minimiprioriteetti (vaikka automaattinen laskenta olisi käytössä)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1116 -msgid "Archives" -msgstr "Arkistot" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1141 -msgid "Update options" -msgstr "Päivitä asetukset" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1142 -msgid "Reset options" -msgstr "Nollaa asetukset" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:81 -msgid "XML-Sitemap Generator" -msgstr "XML-sivustokartan luontityökalu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:81 -msgid "XML-Sitemap" -msgstr "XML-Sivustokartta" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:139 -msgid "Sitemap FAQ" -msgstr "Sivustokartta-FAQ" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-fr_FR.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-fr_FR.mo deleted file mode 100644 index cfd231d0..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-fr_FR.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-fr_FR.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-fr_FR.po deleted file mode 100644 index c7e71671..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-fr_FR.po +++ /dev/null @@ -1,1230 +0,0 @@ -# This file is distributed under the same license as the WordPress package. -# [name] <[mail-address]>, 2005. -# $Id: sitemap.pot 2502 2005-07-03 20:50:38Z arnee $ -# -msgid "" -msgstr "" -"Project-Id-Version: sitemap 3.1.2\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-05-05 20:24+0100\n" -"PO-Revision-Date: 2014-04-10 10:46+0100\n" -"Last-Translator: kalyx \n" -"Language-Team: Serge Rauber \n" -"Language: fr_FR\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e\n" -"X-Poedit-Basepath: .\n" -"X-Generator: Poedit 1.5.4\n" -"X-Poedit-SearchPath-0: .\n" -"X-Poedit-SearchPath-1: ..\n" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:527 -msgid "Comment Count" -msgstr "Nombre de commentaires" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:537 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "Utilise le nombre de commentaires pour calculer la priorité" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:590 -msgid "Comment Average" -msgstr "Moyenne des commentaires" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:600 -msgid "Uses the average comment count to calculate the priority" -msgstr "Utilise la moyenne des commentaires pour calculer la priorité" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:661 -msgid "Popularity Contest" -msgstr "Popularity Contest" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:671 -msgid "" -"Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "" -"Utiliser le plugin Popularity Contest d'Alex King. Voir Réglages et Articles les plus populaires" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:840 -msgid "Always" -msgstr "Toujours" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:841 -msgid "Hourly" -msgstr "Une fois par heure" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:842 -msgid "Daily" -msgstr "Une fois par jour" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:843 -msgid "Weekly" -msgstr "une fois par semaine" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:844 -msgid "Monthly" -msgstr "une fois par mois" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:845 -msgid "Yearly" -msgstr "une fois par an" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:846 -msgid "Never" -msgstr "Jamais" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:212 -msgid "XML-Sitemap Generator" -msgstr "XML-Sitemap Generator" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:212 -msgid "XML-Sitemap" -msgstr "XML-Sitemap" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:239 -msgid "Settings" -msgstr "Réglages" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:240 -msgid "FAQ" -msgstr "FAQ" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:241 -msgid "Support" -msgstr "Aide" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:242 -msgid "Donate" -msgstr "Donation" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:328 -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:630 -msgid "Plugin Homepage" -msgstr "Page du plugin" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:329 -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:652 -msgid "My Sitemaps FAQ" -msgstr "Ma FAQ" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:198 -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:585 -msgid "XML Sitemap Generator for WordPress" -msgstr "Générateur de sitemap xml pour WordPress" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:374 -msgid "Configuration updated" -msgstr "Configuration mise à jour" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:375 -msgid "Error while saving options" -msgstr "Erreur lors de la sauvegarde des options" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:378 -msgid "Pages saved" -msgstr "Pages enregistrées" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:379 -msgid "Error while saving pages" -msgstr "Erreur durant l'enregistrement des pages" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:387 -msgid "The default configuration was restored." -msgstr "Configuration par défaut restaurée." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:397 -msgid "" -"The old files could NOT be deleted. Please use an FTP program and delete " -"them by yourself." -msgstr "" -"Les anciens fichiers n'ont pu être effacés. Veuillez utiliser un logiciel " -"FTP et les supprimer vous même." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:399 -msgid "The old files were successfully deleted." -msgstr "LEs anciens fichiers ont bien été effacés." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:439 -msgid "" -"Thank you very much for your donation. You help me to continue support and " -"development of this plugin and other free software!" -msgstr "" -"Merci beaucoup pour votre don, ça m'aide à continuer de développer ce plugin " -"et d'autres softwares!" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:439 -msgid "Hide this notice" -msgstr "Masquer" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:445 -#, php-format -msgid "" -"Thanks for using this plugin! You've installed this plugin over a month ago. " -"If it works and you are satisfied with the results, isn't it worth at least " -"a few dollar? Donations help me to continue support and " -"development of this free software! Sure, no problem!" -msgstr "" -"Merci d'utiliser ce plugin! Vous l'avez installé il y a un mois. S'il " -"fonctionne bien et que vous en êtes satisfait, est-ce trop de donner un " -"petit dollar?Les dons me permettent de continuer à " -"développer ce plugin libre et gratuit ! Je t'aide, pas " -"de problème!" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:445 -msgid "Sure, but I already did!" -msgstr "Oui, mais je l'ai déjà fait!" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:445 -msgid "No thanks, please don't bug me anymore!" -msgstr "Non merci, ne plus me le rappeler!" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:452 -#, php-format -msgid "" -"Thanks for using this plugin! You've installed this plugin some time ago. If " -"it works and your are satisfied, why not rate it and recommend it to others? :-)" -msgstr "" -"Merci d'utiliser ce plugin! Vous l'avez installé il y a quelques temps. S'il " -"fonctionne bien et que vous en êtes satisfait, pourquoi pas voter pour lui et le recommander aux autres? :-)" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:452 -msgid "Don't show this anymore" -msgstr "Ne plus jamais afficher" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:601 -#, php-format -msgid "" -"There is a new version of %1$s available. Download version " -"%3$s here." -msgstr "" -"Une nouvelle version de %1$s est disponible. Télécharger la " -"version %3$s ici." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:603 -#, php-format -msgid "" -"There is a new version of %1$s available. Download version " -"%3$s here automatic upgrade unavailable for this plugin." -msgstr "" -"Une nouvelle version de %1$s est disponible. Télécharger la " -"version %3$s ici.mise à jour automatique non disponible pour ce " -"plugin" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:605 -#, php-format -msgid "" -"There is a new version of %1$s available. Download version " -"%3$s here or upgrade automatically." -msgstr "" -"Une nouvelle version de %1$s est disponible. Télécharger la " -"version %3$s ici ou Mettre à jour automatiquement." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:613 -#, php-format -msgid "" -"Your blog is currently blocking search engines! Visit the privacy settings to change this." -msgstr "" -"Votre site bloque actuellement les moteurs de recherche! Allez sur Réglages -> Lecture pour changer." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:629 -msgid "About this Plugin:" -msgstr "A propos" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:631 -msgid "Suggest a Feature" -msgstr "Suggestion" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:632 -msgid "Notify List" -msgstr "S'abonner" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:633 -msgid "Support Forum" -msgstr "Forum" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:634 -msgid "Report a Bug" -msgstr "Signaler un bug" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:636 -msgid "Donate with PayPal" -msgstr "Don PayPal" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:637 -msgid "My Amazon Wish List" -msgstr "Ma liste Amazon" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:638 -msgid "translator_name" -msgstr "Traduit par Serge" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:638 -msgid "translator_url" -msgstr "http://wp.kalyxstudio.com" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:641 -msgid "Sitemap Resources:" -msgstr "Ressources" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:642 -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:647 -msgid "Webmaster Tools" -msgstr "Webmaster Tools" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:643 -msgid "Webmaster Blog" -msgstr "Webmaster Blog" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:645 -msgid "Search Blog" -msgstr "Search Blog" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:648 -msgid "Webmaster Center Blog" -msgstr "Webmaster Center Blog" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:650 -msgid "Sitemaps Protocol" -msgstr "Sitemaps Protocol" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:651 -msgid "Official Sitemaps FAQ" -msgstr "Official Sitemaps FAQ" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:655 -msgid "Recent Donations:" -msgstr "Dons récents:" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:658 -msgid "List of the donors" -msgstr "Liste des donateurs" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:660 -msgid "Hide this list" -msgstr "Masquer" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:663 -msgid "Thanks for your support!" -msgstr "Merci de votre aide!" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:683 -msgid "Search engines haven't been notified yet" -msgstr "Les moteurs de recherche n'ont pas encore été notifiés." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:687 -msgid "Result of the last ping, started on %date%." -msgstr "Résultat du dernier ping, démarré le %date%." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:702 -#, php-format -msgid "" -"There is still a sitemap.xml or sitemap.xml.gz file in your blog directory. " -"Please delete them as no static files are used anymore or try " -"to delete them automatically." -msgstr "" -"Il y a encore un fichier sitemap.xml ou sitemap.xml.gz dans le répertoire de " -"votre site. Veuillez les supprimer car ces fichiers ne sont plus utilisés ou " -"essayez de les supprimer automatiquement." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:705 -#, php-format -msgid "The URL to your sitemap index file is: %s." -msgstr "L'URL de l'index de votre sitemap est : %s." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:708 -msgid "" -"Search engines haven't been notified yet. Write a post to let them know " -"about your sitemap." -msgstr "" -"Les moteurs de recherche n'ont pas encore été notifiés. Publiez un article " -"pour les notifier de votre sitemap." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:717 -#, php-format -msgid "%s was successfully notified about changes." -msgstr "%s a été informé des changements." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:720 -msgid "" -"It took %time% seconds to notify %name%, maybe you want to disable this " -"feature to reduce the building time." -msgstr "" -"Il a fallu %time% secondes pour informer %name%, vous pouvez désactivez " -"cette fonction pour réduire la durée du processus." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:723 -msgid "" -"There was a problem while notifying %name%. View result" -msgstr "" -"Problème de notification avec %name%.Voir le résultat" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:727 -#, php-format -msgid "" -"If you encounter any problems with your sitemap you can use the debug function to get more information." -msgstr "" -"Si vous rencontrez un problème avec votre sitemap, vous pouvez utiliser la " -"fonction de débogage pour avoir plus d'infos." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:735 -msgid "Basic Options" -msgstr "Options de base" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:737 -msgid "Update notification:" -msgstr "Notifications:" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:737 -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:765 -msgid "Learn more" -msgstr "En savoir plus" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:741 -msgid "Notify Google about updates of your Blog" -msgstr "Informer Google des mises à jour du blog" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:742 -#, php-format -msgid "" -"No registration required, but you can join the Google " -"Webmaster Tools to check crawling statistics." -msgstr "" -"Pas d'inscription nécessaire, mais vous pouvez vous inscrire sur Google Webmaster Tools pour connaître les statistiques de passage de " -"google" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:746 -msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" -msgstr "Informer Bing (MSN Live Search) des mises à jour du blog" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:747 -#, php-format -msgid "" -"No registration required, but you can join the Bing Webmaster " -"Tools to check crawling statistics." -msgstr "" -"Pas d'inscription nécessaire, mais vous pouvez vous inscrire sur bing Webmaster Tools pour connaître les statistiques de passage de " -"Bing" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:751 -msgid "Notify Ask.com about updates of your Blog" -msgstr "Informer Ask.com des mises à jour du blog" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:752 -msgid "No registration required." -msgstr "Inscription non requise." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:757 -msgid "Add sitemap URL to the virtual robots.txt file." -msgstr "Ajouter l'URL du sitemap au fichier virtuel robots.txt" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:761 -msgid "" -"The virtual robots.txt generated by WordPress is used. A real robots.txt " -"file must NOT exist in the blog directory!" -msgstr "" -"Le fichier virtuel robots.txt de WordPress est utilisé. Il NE DOIT PAS y " -"avoir de vrai fichier robots.txt dans le répertoire du blog!" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:765 -msgid "Advanced options:" -msgstr "Options avancées:" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:768 -msgid "Try to increase the memory limit to:" -msgstr "Essayer d'augmenter la quantité de mémoire alouée:" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:768 -msgid "e.g. \"4M\", \"16M\"" -msgstr "ex: \"4M\", \"16M\"" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:771 -msgid "Try to increase the execution time limit to:" -msgstr "Essayer d'augmenter la durée limite d'éxécution du script : " - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:771 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "en secondes, ex: \"60\" ou \"0\" pour illimité" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:775 -msgid "Include a XSLT stylesheet:" -msgstr "Feuille de style XSLT:" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:776 -msgid "Full or relative URL to your .xsl file" -msgstr "Adresse complète ou relative du fichier .xsl" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:776 -msgid "Use default" -msgstr "par défaut" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:781 -msgid "Include sitemap in HTML format" -msgstr "INclure un sitemap au format HTML" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:790 -msgid "Additional pages" -msgstr "Pages supplémentaires" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:793 -msgid "" -"Here you can specify files or URLs which should be included in the sitemap, " -"but do not belong to your Blog/WordPress.
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" -msgstr "" -"Vous pouvez préciser ici des adresses à inclure dans le sitemap, qui " -"n'appartiennent pas à votre Blog/WordPress.
Par exemple, si votre " -"domaine est www.truc.com et que votre blog est situé sur www.truc.com/blog, " -"vous pouvez choisir d'inclure la page d'accueil www.truc.com" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:795 -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:998 -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1009 -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1018 -msgid "Note" -msgstr "Remarque" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:796 -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)!" -msgstr "" -"Si votre weblog est dans un sous-repertoire et que vous voulez ajouter des " -"pages qui ne sont PAS situées dans le répertoire du blog ou un répertoire en " -"dessous, vous DEVEZ placer votre fichier sitemap dans le répertoire racine " -"(voir la section "Emplacement de votre fichier sitemap" de cette " -"page)!" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:798 -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:836 -msgid "URL to the page" -msgstr "URL de la page" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:799 -msgid "" -"Enter the URL to the page. Examples: http://www.foo.com/index.html or www." -"foo.com/home " -msgstr "" -"Indiquez l'URL de la page. Examples: http://www.foo.com/index.html ou www." -"foo.com/home " - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:801 -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:837 -msgid "Priority" -msgstr "Priorité" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:802 -msgid "" -"Choose the priority of the page relative to the other pages. For example, " -"your homepage might have a higher priority than your imprint." -msgstr "" -"Définissez la priorité de la page par rapport aux autres pages. Par exemple, " -"votre page d'accueil peut avoir une priorité supérieure à celle des autres " -"pages." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:804 -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:839 -msgid "Last Changed" -msgstr "Dernière modification" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:805 -msgid "" -"Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) " -"(optional)." -msgstr "" -"Entrez la date de dernière modification au format AAAA-MM-JJ (2005-12-31 par " -"exemple) (facultatif)." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:838 -msgid "Change Frequency" -msgstr "Modifier la fréquence" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:840 -msgid "#" -msgstr "#" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:845 -msgid "No pages defined." -msgstr "Aucune page définie." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:850 -msgid "Add new page" -msgstr "Ajouter une nouvelle page" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:856 -msgid "Post Priority" -msgstr "Priorité de l'article" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:858 -msgid "Please select how the priority of each post should be calculated:" -msgstr "Choisissez comment la priorité de l'article est calculée:" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:860 -msgid "Do not use automatic priority calculation" -msgstr "ne pas faire de calcul automatique" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:860 -msgid "" -"All posts will have the same priority which is defined in "" -"Priorities"" -msgstr "Tous les articles auront la même priorité" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:871 -msgid "Sitemap Content" -msgstr "Contenu du sitemap" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:872 -msgid "WordPress standard content" -msgstr "Contenu standard de WordPress" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:877 -msgid "Include homepage" -msgstr "Inclure la page d'accueil" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:883 -msgid "Include posts" -msgstr "Inclure les articles" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:889 -msgid "Include static pages" -msgstr "Inclure les pages statiques" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:895 -msgid "Include categories" -msgstr "Inclure les catégories" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:901 -msgid "Include archives" -msgstr "Inclure les archives" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:907 -msgid "Include author pages" -msgstr "Inclure les pages Auteur" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:914 -msgid "Include tag pages" -msgstr "Inclure les pages tags" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:928 -msgid "Custom taxonomies" -msgstr "Taxonomies" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:939 -#, php-format -msgid "Include taxonomy pages for %s" -msgstr "Inclure les pages %s" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:957 -msgid "Custom post types" -msgstr "Autres types d'article" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:968 -#, php-format -msgid "Include custom post type %s" -msgstr "Inclure les articles de type %s" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:980 -msgid "Further options" -msgstr "Options supplémentaires" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:985 -msgid "Include the last modification time." -msgstr "Inclure la date de dernière modification" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:987 -msgid "" -"This is highly recommended and helps the search engines to know when your " -"content has changed. This option affects all sitemap entries." -msgstr "" -"Ceci est fortement recommandé et aide les moteurs de recherche à savoir " -"lorsque vote contenu à changer. Cette option affecte toutes les donnéesdu sitemap." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:994 -msgid "Excluded items" -msgstr "Données à exclure" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:996 -msgid "Excluded categories" -msgstr "Catégories exclues" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:998 -msgid "Using this feature will increase build time and memory usage!" -msgstr "" -"L'utilisation de cette fonction augmente la durée et la mémoire utilisée!" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1005 -msgid "Exclude posts" -msgstr "EXclure des articles" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1007 -msgid "Exclude the following posts or pages:" -msgstr "Exclure les articles ou pages suivants:" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1007 -msgid "List of IDs, separated by comma" -msgstr "liste d'ID, séparés par une virgule" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1009 -msgid "Child posts won't be excluded automatically!" -msgstr "Les sous-pages ne seront pas automatiquement exclus!" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1015 -msgid "Change frequencies" -msgstr "Modifier les fréquences" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1019 -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." -msgstr "" -"Veuillez noter que la valeur de ce champ est considérée comme un indice et " -"non une commande. Même si les robots de moteurs de recherche prennent en " -"compte cette information, il peuvent parcourir les pages marquées "" -"toutes les heures" moins fréquemment que cela, et peuvent parcourir les " -"pages marquées "une fois par an" plus fréquemment que cela. Il est " -"aussi probable que les robots parcourent de façon périodique les pages " -"marquées "jamais" afin de prendre en compte les modifications " -"inattendues de ces pages." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1025 -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1082 -msgid "Homepage" -msgstr "Page d'accueil" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1031 -msgid "Posts" -msgstr "Articles" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1037 -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1100 -msgid "Static pages" -msgstr "Pages statiques" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1043 -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1106 -msgid "Categories" -msgstr "Catégories" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1049 -msgid "" -"The current archive of this month (Should be the same like your homepage)" -msgstr "" -"L'archive du mois en cours (devrait correspondre à votre page d'accueil)" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1055 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "" -"Archives antérieures (ne change que lorsque vous modifier un ancien article)" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1062 -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1119 -msgid "Tag pages" -msgstr "Pages Tag" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1069 -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1126 -msgid "Author pages" -msgstr "Pages Auteur" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1077 -msgid "Priorities" -msgstr "Priorités" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1088 -msgid "Posts (If auto calculation is disabled)" -msgstr "Articles (si le calcul automatique est désactivé)" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1094 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "" -"Priorité minimum des articles (Même si le calcul automatique est activé)" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1112 -msgid "Archives" -msgstr "Archives" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1137 -msgid "Update options" -msgstr "Enregistrer les changements" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1138 -msgid "Reset options" -msgstr "Réinitialiser les options" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap.php:82 -msgid "Your WordPress version is too old for XML Sitemaps." -msgstr "Votre version de WordPress est trop ancienne pour XML Sitemaps" - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap.php:82 -#, php-format -msgid "" -"Unfortunately this release of Google XML Sitemaps requires at least " -"WordPress %4$s. You are using Wordpress %2$s, which is out-dated and " -"insecure. Please upgrade or go to active plugins and " -"deactivate the Google XML Sitemaps plugin to hide this message. You can " -"download an older version of this plugin from the plugin " -"website." -msgstr "" -"Cette version de Google XML Sitemaps nécessite au moins WordPress %4$s. Vous " -"utilisez Wordpress %2$s, qui est ancien et vulnérable. Mettez à jour ou " -"allez sur Extensions installées et désactiver cette " -"ectension. Vous pouvez télécharger l'ancienne version de cette extension sur " -"mon site." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap.php:92 -msgid "Your PHP version is too old for XML Sitemaps." -msgstr "Votre version de PHP est trop ancienne pour XML Sitemaps." - -#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap.php:92 -#, php-format -msgid "" -"Unfortunately this release of Google XML Sitemaps requires at least PHP " -"%4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask " -"your web host to update your PHP installation or go to active plugins and deactivate the Google XML Sitemaps plugin to hide " -"this message. You can download an older version of this plugin from the plugin website." -msgstr "" -"Cette version de Google XML Sitemaps nécessite au moins PHP %4$s. Vous " -"utilisez PHP %2$s, qui est ancien et vulnérable. Demandez à votre hébergeur " -"de mettre à jour PHP sur votre serveur ou allez sur Extensions installées et désactiver cette ectension. Vous pouvez " -"télécharger l'ancienne version de cette extension sur mon " -"site." - -#~ msgid "" -#~ "Your sitemap is being refreshed at the moment. Depending on your blog " -#~ "size this might take some time!" -#~ msgstr "" -#~ "Mise à jour du sitemap en cours. En fonction de la taille de votre blog, " -#~ "ça peut prendre un certain temps!" - -#~ msgid "" -#~ "Your sitemap will be refreshed in %s seconds. Depending on your blog size " -#~ "this might take some time!" -#~ msgstr "" -#~ "La mise à jour du sitemap devrait prendre %s secondes. En fonction de la " -#~ "taille de votre blog, ça peut prendre un certain temps!" - -#~ msgid "open" -#~ msgstr "ouvrir" - -#~ msgid "close" -#~ msgstr "fermer" - -#~ msgid "click-down and drag to move this box" -#~ msgstr "Faites un glisser/déposer pour déplacer cette boite." - -#~ msgid "click to %toggle% this box" -#~ msgstr "Cliquez pour %inverser% cette case" - -#~ msgid "use the arrow keys to move this box" -#~ msgstr "Utilisez les touches fléchées pour déplacer cette boite" - -#~ msgid ", or press the enter key to %toggle% it" -#~ msgstr ", ou appuyez sur la touche Entrée pour l'%inverser%." - -#~ msgid "Site Explorer" -#~ msgstr "Site Explorer" - -#~ msgid "Status" -#~ msgstr "Statuts" - -#~ msgid "" -#~ "The sitemap wasn't built yet. Click here to build it " -#~ "the first time." -#~ msgstr "Cliquez ici pour générer votre premier sitemap." - -#~ msgid "Your sitemap was last built on %date%." -#~ msgstr "Dernier sitemap généré le %date%." - -#~ msgid "" -#~ "There was a problem writing your sitemap file. Make sure the file exists " -#~ "and is writable. Learn moreen savoir " -#~ "pluszipped) was last built on %date%." -#~ msgstr "" -#~ "Dernier sitemap (zip) généré le %date%." - -#~ msgid "" -#~ "There was a problem writing your zipped sitemap file. Make sure the file " -#~ "exists and is writable. Learn moreen savoir " -#~ "plussuccessfully notified about changes." -#~ msgstr "Google a été informé des changements." - -#~ msgid "" -#~ "It took %time% seconds to notify Google, maybe you want to disable this " -#~ "feature to reduce the building time." -#~ msgstr "" -#~ "Il a fallu %time% secondes pour informer Google, vous pouvez désactivez " -#~ "cette fonction pour réduire la durée du processus." - -#~ msgid "" -#~ "There was a problem while notifying Google. View result" -#~ msgstr "Problème pour informer Google.Voir le résultat" - -#~ msgid "YAHOO was successfully notified about changes." -#~ msgstr "Yahoo a été informé des changements." - -#~ msgid "" -#~ "It took %time% seconds to notify YAHOO, maybe you want to disable this " -#~ "feature to reduce the building time." -#~ msgstr "" -#~ "Il a fallu %time% secondes pour informer Yahoo, vous pouvez désactivez " -#~ "cette fonction pour réduire la durée du processus." - -#~ msgid "" -#~ "There was a problem while notifying YAHOO. View result" -#~ msgstr "Problème pour informer Yahoo.Voir le résultat" - -#~ msgid "Ask.com was successfully notified about changes." -#~ msgstr "Ask.com a été informé des changements." - -#~ msgid "" -#~ "It took %time% seconds to notify Ask.com, maybe you want to disable this " -#~ "feature to reduce the building time." -#~ msgstr "" -#~ "Il a fallu %time% secondes pour informer Ask.com, vous pouvez désactivez " -#~ "cette fonction pour réduire la durée du processus." - -#~ msgid "" -#~ "There was a problem while notifying Ask.com. View result" -#~ msgstr "Problème pour informer Ask.com.Voir le résultat" - -#~ msgid "" -#~ "The building process took about %time% seconds to complete and " -#~ "used %memory% MB of memory." -#~ msgstr "" -#~ "Le processus a mis environ %time% secondes et utilisé %memory% MB " -#~ "de mémoire." - -#~ msgid "The building process took about %time% seconds to complete." -#~ msgstr "Le processus a mis environ %time% secondes." - -#~ msgid "" -#~ "The content of your sitemap didn't change since the last " -#~ "time so the files were not written and no search engine was pinged." -#~ msgstr "" -#~ "Le contenu de votre sitemap n'a pas changé depuis la " -#~ "dernière fois. Les fichiers n'ont pas été modifié, et les moteurs de " -#~ "recherche n'ont pas été informé." - -#~ msgid "" -#~ "The building process might still be active! Reload the page in a few " -#~ "seconds and check if something has changed." -#~ msgstr "" -#~ "Le processus est encore en cours! Rechargez la page dans quelques " -#~ "secondes et vérifiez si quelque chose a changé." - -#~ msgid "" -#~ "The last run didn't finish! Maybe you can raise the memory or time limit " -#~ "for PHP scripts. Learn more" -#~ msgstr "" -#~ "Le dernier processus a échoué! Essayez d'augmenter le mémoire alouée ou " -#~ "la durée limite des scripts PHP En savoir plus" - -#~ msgid "" -#~ "The last known memory usage of the script was %memused%MB, the limit of " -#~ "your server is %memlimit%." -#~ msgstr "" -#~ "Mémoire utilisée la dernière fois : %memused%MB (limite du serveur : " -#~ "%memlimit%)" - -#~ msgid "" -#~ "The last known execution time of the script was %timeused% seconds, the " -#~ "limit of your server is %timelimit% seconds." -#~ msgstr "" -#~ "Temps d'éxécution la dernière fois : %timeused% secondes (limite du " -#~ "serveur : %timelimit%)" - -#~ msgid "The script stopped around post number %lastpost% (+/- 100)" -#~ msgstr "Le script s'est arrêté vers l'article numéro %lastpost% (+/- 100)" - -#~ msgid "" -#~ "If you changed something on your server or blog, you should rebuild the sitemap manually." -#~ msgstr "" -#~ "Si vous changez quelquechose sur votre serveur ou sur votre blog, vous " -#~ "devez reconstruire le sitemap manuellement." - -#~ msgid "Sitemap files:" -#~ msgstr "Type de fichiers:" - -#~ msgid "Write a normal XML file (your filename)" -#~ msgstr "Ecrire un fichier XML normal (nom de fichier)" - -#~ msgid "Write a gzipped file (your filename + .gz)" -#~ msgstr "Ecrire un fichier gzippé (votre nom de fichier + .gz)" - -#~ msgid "Building mode:" -#~ msgstr "Mode de construction:" - -#~ msgid "Rebuild sitemap if you change the content of your blog" -#~ msgstr "Générer le sitemap lorsque le contenu du blog change" - -#~ msgid "Enable manual sitemap building via GET Request" -#~ msgstr "Activer la génération manuel du sitemap par requête GET" - -#~ 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: %1 Please check " -#~ "the logfile above to see if sitemap was successfully built." -#~ msgstr "" -#~ "Ceci vous permet de mettre à jour votre sitemap si vous utilisez un outil " -#~ "externe de publication. Utilisez l'adresse suivante pour lancer le " -#~ "processus %1. Vérifiez dans le fichier log que le " -#~ "processus a bien fonctionné." - -#~ msgid "Notify YAHOO about updates of your Blog" -#~ msgstr "Informer Yahoo des mises à jour du blog" - -#~ msgid "Your Application ID:" -#~ msgstr "Yahoo ID:" - -#~ msgid "Don't you have such a key? Request one here! %s2" -#~ msgstr "" -#~ "Vous n'avez pas de clé Yahoo ?Demandez en une ici! %s2" - -#~ msgid "Limit the number of posts in the sitemap:" -#~ msgstr "Limiter le nombre d'articles dans le sitemap:" - -#~ msgid "Newer posts will be included first" -#~ msgstr "Les nouveaux articles seront ajoutés au début" - -#~ msgid "" -#~ "Enable MySQL standard mode. Use this only if you're getting MySQL errors. " -#~ "(Needs much more memory!)" -#~ msgstr "" -#~ "Active le mode MySQL standard. A n'utiliser que si vous avez des erreurs " -#~ "MySQL. (utilise plus de mémoire!)" - -#~ msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" -#~ msgstr "" -#~ "Passez au moins à la version 2.2 de WordPress pour activer l'accès MySQL " -#~ "rapide" - -#~ msgid "" -#~ "Build the sitemap in a background process (You don't have to wait when " -#~ "you save a post)" -#~ msgstr "" -#~ "Générer le sitemap en arrière-plan (pas d'attente lors de la sauvegarde " -#~ "d'un article)" - -#~ msgid "Upgrade WordPress at least to 2.1 to enable background building" -#~ msgstr "Passez au moins à la version 2.1 pour utiliser la tâche de fond." - -#~ msgid "Location of your sitemap file" -#~ msgstr "Emplacement de votre fichier sitemap" - -#~ msgid "Automatic detection" -#~ msgstr "Détection automatique" - -#~ msgid "Filename of the sitemap file" -#~ msgstr "Nom du fichier sitemap" - -#~ msgid "Detected Path" -#~ msgstr "Répertoire détecté" - -#~ msgid "Detected URL" -#~ msgstr "URL détecté" - -#~ msgid "Absolute or relative path to the sitemap file, including name." -#~ msgstr "Chemin absolu ou relatif vers le fichier sitemap, nom inclus." - -#~ msgid "Example" -#~ msgstr "Exemple" - -#~ msgid "Complete URL to the sitemap file, including name." -#~ msgstr "URL complet du fichier sitemap, nom inclus." - -#~ msgid "" -#~ "Include following pages of multi-page posts (Increases build time and " -#~ "memory usage!)" -#~ msgstr "" -#~ "Inclure les pages suivantes d'article multi-page (augmente la durée du " -#~ "processus et l'usage de la mémoire)" - -#~ msgid "This feature requires at least WordPress 2.5.1, you are using %s" -#~ msgstr "Cette fonction requiert au moins WordPress 2.5.1, vous utilisez %s" - -#~ msgid "" -#~ "It took %time% seconds to notify MSN.com, maybe you want to disable this " -#~ "feature to reduce the building time." -#~ msgstr "" -#~ "Il a fallu %time% secondes pour informer MSN, vous pouvez désactivez " -#~ "cette fonction pour réduire la durée du processus." - -#~ msgid "" -#~ "There was a problem while notifying MSN.com. View result" -#~ msgstr "Problème pour informer MSN.Voir le résultat" - -#~ msgid "" -#~ "No registration required, but you can join the MSN Live " -#~ "Webmaster Tools to check crawling statistics." -#~ msgstr "" -#~ "Pas d'inscription nécessaire, mais vous pouvez vous inscrire sur MSN Live Webmaster Tools pour connaître les statistiques de " -#~ "passage de google" - -#~ msgid "Sitemap FAQ" -#~ msgstr "Ma FAQ" - -#~ msgid "Robots.txt file saved" -#~ msgstr "Robots.txt sauvegardé" - -#~ msgid "Error while saving Robots.txt file" -#~ msgstr "Erreur lors de l'enregistrement du fichier robots.txt" - -#~ msgid "" -#~ "Modify or create %s file in blog root which contains the sitemap location." -#~ msgstr "" -#~ "Modifier ou créer le fichier %s à la racine du blog qui contient " -#~ "l'adresse du sitemap" - -#~ msgid "File permissions: " -#~ msgstr "Permission :" - -#~ msgid "OK, robots.txt is writable." -#~ msgstr "OK, robots.txt est en écriture" - -#~ msgid "Error, robots.txt is not writable." -#~ msgstr "Erreur, robots.txt n'est pas en écriture" - -#~ msgid "OK, robots.txt doesn't exist but the directory is writable." -#~ msgstr "OK, robots.txt n'existe pas mais peut être créé" - -#~ msgid "Error, robots.txt doesn't exist and the directory is not writable" -#~ msgstr "Erreur, robots.txt n'existe pas et ne peut être créé." - -#~ msgid "Manual location" -#~ msgstr "Emplacement manuel" - -#~ msgid "OR" -#~ msgstr "OU" - -#~ msgid "Error" -#~ msgstr "Erreur" - -#~ msgid "" -#~ "A new page was added. Click on "Save page changes" to save your " -#~ "changes." -#~ msgstr "" -#~ "Une nouvelle page a été ajoutée. Cliquez sur "Enregistrer les " -#~ "modifications" pour enregistrer vos modifications" - -#~ msgid "" -#~ "The page was deleted. Click on "Save page changes" to save your " -#~ "changes." -#~ msgstr "" -#~ "La page a été effacée. Cliquez sur "Entregistrer les " -#~ "modifications" pour enregistrer vos modifications." - -#~ msgid "You changes have been cleared." -#~ msgstr "Vos modifications ont été remises à zero." - -#~ msgid "Manual rebuild" -#~ msgstr "Reconstruction manuelle" - -#~ msgid "" -#~ "If you want to build the sitemap without editing a post, click on here!" -#~ msgstr "" -#~ "Si vous voulez construire le fichier sitemap sans modifier un article, " -#~ "cliquez ici!" - -#~ msgid "Rebuild Sitemap" -#~ msgstr "Reconstruire le fichier Sitemap" - -#~ msgid "Save page changes" -#~ msgstr "Enregistrer les modifications de page" - -#~ msgid "Undo all page changes" -#~ msgstr "Annuler toutes les modifications de page" - -#~ msgid "Delete marked page" -#~ msgstr "Effacer la page marquée" - -#~ msgid "" -#~ "Enable automatic priority calculation for posts based on comment count" -#~ msgstr "" -#~ "Autoriser le calcul de priorité automatique pour les articles en fonction " -#~ "du nombre de commentaires" - -#~ msgid "Write debug comments" -#~ msgstr "Ecrire des commentaires de debug" - -#~ msgid "Auto-Ping Google Sitemaps" -#~ msgstr "Effectuer un ping automatique de Google Sitemaps" - -#~ msgid "This option will automatically tell Google about changes." -#~ msgstr "" -#~ "Cette option préviendra automatiquement Google lors de modifications." - -#~ msgid "Includings" -#~ msgstr "Inclusions" - -#~ msgid "Informations and support" -#~ msgstr "Informations et support" - -#~ msgid "" -#~ "Check %s for updates and comment there if you have any problems / " -#~ "questions / suggestions." -#~ msgstr "" -#~ "Allez sur %s pour les mises à jour et pour poster un commentaire en cas " -#~ "de probleme / question / suggestion." - -#~ msgid "URL:" -#~ msgstr "URL:" - -#~ msgid "Path:" -#~ msgstr "Chemin:" - -#~ msgid "Could not write into %s" -#~ msgstr "Impossible d'écrire dans %s" - -#~ msgid "Successfully built sitemap file:" -#~ msgstr "Sitemap généré avec succès:" - -#~ msgid "Successfully built gzipped sitemap file:" -#~ msgstr "Sitemap gzippé généré avec succès:" - -#~ msgid "Could not ping to Google at %s" -#~ msgstr "Ping de Google impossible à %s" - -#~ msgid "Successfully pinged Google at %s" -#~ msgstr "Ping de Google réussi à %s" diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-hi_IN.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-hi_IN.mo deleted file mode 100644 index 97c7241d..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-hi_IN.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-hi_IN.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-hi_IN.po deleted file mode 100644 index b76e666d..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-hi_IN.po +++ /dev/null @@ -1,1030 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: google-sitemap\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-11-20 22:53+0100\n" -"PO-Revision-Date: \n" -"Last-Translator: Ashish \n" -"Language-Team: Outshine Solutions \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Hindi\n" -"X-Poedit-Country: INDIA\n" -"X-Poedit-SourceCharset: utf-8\n" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:525 -msgid "Comment Count" -msgstr "टिप्पणी गिनती" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:537 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "पद की टिप्पणियों की संख्या का उपयोग करते हुए प्राथमिकता की गणना करो " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:597 -msgid "Comment Average" -msgstr "टिप्पणी औसत" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:609 -msgid "Uses the average comment count to calculate the priority" -msgstr "औसत टिप्पणी गिनती का उपयोग प्राथमिकता की गणना के लिए करो. " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:672 -msgid "Popularity Contest" -msgstr "लोकप्रियता प्रतियोगिता" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:684 -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "सक्रिय का उपयोग करता है लोकप्रियता प्रतियोगिता प्लगइन से एलेक्स राजा . देखे सेटिंग्स और सर्वाधिक लोकप्रिय डाक" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1084 -msgid "Always" -msgstr "हमेशा" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1085 -msgid "Hourly" -msgstr "प्रति घंटा" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1086 -msgid "Daily" -msgstr "दैनिक" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1087 -msgid "Weekly" -msgstr "साप्ताहिक" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1088 -msgid "Monthly" -msgstr "मासिक" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1089 -msgid "Yearly" -msgstr "वार्षिक" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1090 -msgid "Never" -msgstr "कभी नहीं" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:107 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "आपको अपने दान के लिए बहुत बहुत धन्यवाद. तुम मेरी समर्थन और इस प्लगइन और अन्य मुक्त सॉफ्टवेयर के विकास को जारी रखने के लिए मदद करो !" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:107 -msgid "Hide this notice" -msgstr "नोटिस छुपाएँ" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113 -#, php-format -msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and you are satisfied with the results, isn't it worth at least a few dollar? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "इस प्लगइन का उपयोग करने के लिए धन्यवाद! तुम एक महीने पहले इस प्लगइन को स्थापित चुके हो. अगर यह काम करता है और तुम परिणाम से संतुष्ट हो, दान समर्थन और इस का विकास जारी रखने के लिए मेरी मदद करो free सॉफ्टवेयर! बेशक, कोई समस्या नहीं है! " - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113 -msgid "Sure, but I already did!" -msgstr "यकीन है, लेकिन मैं इसे पहले ही कर चूका हु!." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113 -msgid "No thanks, please don't bug me anymore!" -msgstr "नहीं, धन्यवाद,, कृपया मुझे अब और परेशान नहीं करो!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:120 -#, php-format -msgid "Thanks for using this plugin! You've installed this plugin some time ago. If it works and your are satisfied, why not rate it and recommend it to others? :-)" -msgstr "इस प्लगइन का उपयोग करने के लिए धन्यवाद! आप इस प्लगइन को कुछ समय पहले स्थापित कर चुके हो.अगर यह काम करता है और आपके संतुष्ट करता है, क्यों नहीं यह दर और यह अनुशंसा to others? :-)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:120 -msgid "Don't show this anymore" -msgstr "अब यह मत दिखाओ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:132 -msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" -msgstr "आपका साइटमैप पल में ताजा किया जा रहा है. निरभर है अपने ब्लॉग के आकार पर यह कुछ समय ले सकता है!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:134 -#, php-format -msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" -msgstr "साइटमैप ताजा हो जाएगा %s सेकंड में, यह कुछ समय ले सकता है! निरभर है आपके ब्लॉग के आकार पर !" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:163 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:480 -msgid "XML Sitemap Generator for WordPress" -msgstr "XML साइटमैप WordPress के लिए जेनरेटर है " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:323 -msgid "Configuration updated" -msgstr "विन्यास नवनिर्मित " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:324 -msgid "Error while saving options" -msgstr "विकल्प बचाते समय त्रुटि आई " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:326 -msgid "Pages saved" -msgstr "पृष्ठों सुरक्षित " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:327 -msgid "Error while saving pages" -msgstr "पन्ने बचाते समय त्रुटि आई " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:334 -msgid "The default configuration was restored." -msgstr "डिफ़ॉल्ट कॉन्फ़िगरेशन बहाल कर दी गई." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:496 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here." -msgstr "वहाँ एक नया संस्करण %1$s उपलब्ध है. डाउनलोड संस्करण %3$s here." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." -msgstr "वहाँ एक नया संस्करण %1$s उपलब्ध है. डाउनलोड संस्करण %3$s hereस्वत: उन्नयन इस प्लगइन के लिए अनुपलब्ध ." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:500 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." -msgstr "वहाँ एक नया संस्करण %1$s उपलब्ध है. डाउनलोड संस्करण %3$s here या स्वतः उन्नत." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:508 -#, php-format -msgid "Your blog is currently blocking search engines! Visit the privacy settings to change this." -msgstr "वर्तमान में आपके ब्लॉग खोज इंजन बाधा डाल रही है! गोपनीयता सेटिंग्स इसे बदलते हैं." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:529 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:546 -msgid "open" -msgstr "खुला होना" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:530 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:547 -msgid "close" -msgstr "खुला होना" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:531 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:548 -msgid "click-down and drag to move this box" -msgstr "नीचे क्लिक करें और इस को बॉक्स ड्रैग करे. " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:532 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:549 -msgid "click to %toggle% this box" -msgstr "क्लिक करे %toggle%इस बॉक्स पर " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:550 -msgid "use the arrow keys to move this box" -msgstr "तीर कुंजी का उपयोग इस बॉक्स पर करे. " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:551 -msgid ", or press the enter key to %toggle% it" -msgstr ", या इंटर के दबाये %टॉगल % करने में " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:580 -msgid "About this Plugin:" -msgstr "इस प्लगइन के बारे में:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:581 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:181 -msgid "Plugin Homepage" -msgstr "प्लगइन मुखपृष्ठ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:582 -msgid "Suggest a Feature" -msgstr "एक फीचर का सुझाव है" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:583 -msgid "Notify List" -msgstr "सूचित सूची" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:584 -msgid "Support Forum" -msgstr "समर्थन फोरम" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:585 -msgid "Report a Bug" -msgstr "एक बग रिपोर्ट" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:587 -msgid "Donate with PayPal" -msgstr "पेपैल के साथ दान" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:588 -msgid "My Amazon Wish List" -msgstr "मेरे अमेज़न इच्छा सूची" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:589 -msgid "translator_name" -msgstr "Outshine Solutions" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:589 -msgid "translator_url" -msgstr "http://outshinesolutions.com" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:593 -msgid "Sitemap Resources:" -msgstr "साइटमैप संसाधन:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:594 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:600 -msgid "Webmaster Tools" -msgstr "वेबमास्टर उपकरण" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:595 -msgid "Webmaster Blog" -msgstr "वेबमास्टर ब्लॉग" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:597 -msgid "Site Explorer" -msgstr "साइट एक्सप्लोरर" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:598 -msgid "Search Blog" -msgstr "खोज ब्लॉग" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:601 -msgid "Webmaster Center Blog" -msgstr "वेबमास्टर केंद्र ब्लॉग" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:603 -msgid "Sitemaps Protocol" -msgstr "साइटमैप प्रोटोकॉल" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:604 -msgid "Official Sitemaps FAQ" -msgstr "सरकारी साइटमैप फैक्स" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:605 -msgid "My Sitemaps FAQ" -msgstr "मेरा साइटमैप फैक्स " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:608 -msgid "Recent Donations:" -msgstr "हाल ही में दान" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:611 -msgid "List of the donors" -msgstr "दानदाताओं की सूची" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:613 -msgid "Hide this list" -msgstr "सूची छिपाएँ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:616 -msgid "Thanks for your support!" -msgstr "आपके समर्थन के लिए धन्यवाद!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:638 -msgid "The sitemap wasn't generated yet." -msgstr "साइटमैप अभी तक सृजित नहीं किया गया." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:641 -msgid "Result of the last build process, started on %date%." -msgstr "पिछले निर्माण प्रक्रिया के परिणाम, शुरू में % तिथि%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:650 -#, php-format -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "साइटमैप अभी तक नहीं बनाई गई थी. यहां क्लिक करें पहली बार निर्माण करने में " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:656 -msgid "Your sitemap was last built on %date%." -msgstr "आपका साइटमैप पिछले पर बनाया गया था %तिथि ." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:657 -msgid "The last build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?" -msgstr "पिछले सफल बनाने, लेकिन बाद में नष्ट कर दिया फ़ाइल या अब तक पहुँचा नहीं जा सकता था. क्या तुम एक सर्वर या डोमेन को अपने ब्लॉग में ला सकते हो?" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:659 -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn more" -msgstr "वहाँ एक अपने साइटमैप फ़ाइल लेखन समस्या थी. सुनिश्चित करें कि फ़ाइल मौजूद है और लिखने योग्य है.अधिक जानें" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:666 -msgid "Your sitemap (zipped) was last built on %date%." -msgstr "आपका साइटमैप(zipped) पिछले पर बनाया गया था %तिथि%." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:667 -msgid "The last zipped build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?" -msgstr "पिछले ज़िपित सफल बनी, लेकिन बाद में फ़ाइल नष्ट कर दिया या अब तक पहुँचा नहीं जा सकता था." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:669 -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn more" -msgstr "वहाँ एक ज़िपित साइटमैप फ़ाइल लेखन में समस्या थी. सुनिश्चित करें कि फ़ाइल मौजूद है और लिखने योग्य है. अधिक जानें" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:675 -msgid "Google was successfully notified about changes." -msgstr "गूगल थी सफलतापूर्वक अधिसूचित परिवर्तन के बारे में." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:678 -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "इसे लेकर % समय% सेकंड के लिए Google को सूचित करे,शायद आप इस सुविधा को अक्षम करने का निर्माण समय को कम के लिए करे." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:681 -#, php-format -msgid "There was a problem while notifying Google. View result" -msgstr "वहाँ थोड़ी देर के लिए गूगल सूचित समस्या थी. देखें परिणाम" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:687 -msgid "YAHOO was successfully notified about changes." -msgstr "याहू परिवर्तन के बारे में सफलतापूर्वक अधिसूचित था" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:690 -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "यह याहू %समय% सेकंड में सूचित करे,शायद आप इस सुविधा को अक्षम करने का निर्माण समय को कम करने के लिए करे." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:693 -#, php-format -msgid "There was a problem while notifying YAHOO. View result" -msgstr "यहाँ याहू को सूचित करने में समस्या थी, देखें परिणाम " - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:699 -msgid "Bing was successfully notified about changes." -msgstr "बिंग सफलतापूर्वक / b> परिवर्तन के बारे में <अधिसूचित था." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:702 -msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." -msgstr "यह बिंग को %समय% सेकंड में सूचित करे,शायद आप इस सुविधा को अक्षम करने का निर्माण समय को कम करने के लिए करे." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:705 -#, php-format -msgid "There was a problem while notifying Bing. View result" -msgstr "यहाँ बिंग को सूचित करने में समस्या थी, देखें परिणाम " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:711 -msgid "Ask.com was successfully notified about changes." -msgstr "अश्क.कॉम सफलतापूर्वक / b> परिवर्तन के बारे में <अधिसूचित था." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:714 -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "यह अश्क.कॉम को %समय% सेकंड में सूचित करे,शायद आप इस सुविधा को अक्षम करने का निर्माण समय को कम करने के लिए करे." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:717 -#, php-format -msgid "There was a problem while notifying Ask.com. View result" -msgstr "यहाँ अश्क.कॉम को सूचित करने में समस्या थी, देखें परिणाम " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:725 -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "निर्माण की प्रक्रिया % समय% सेकंड लेगी पूरी तरह पूरा करने में और इस्तेमाल% स्मृति % MB स्मृति करेगी. " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:727 -msgid "The building process took about %time% seconds to complete." -msgstr "निर्माण की प्रक्रिया % समय% सेकंड लेगी पूरी तरह पूरा करने में" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:731 -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "आपके साइटमैप की सामग्री नहीं बदल पिछली बार के बाद से तो फाइल लिखा नहीं खोज इंजन pinged नहीं था और थे." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:739 -msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." -msgstr "निर्माण की प्रक्रिया अब भी सक्रिय हो सकती है! कुछ ही सेकंड में पृष्ठ पुनः लोड करे और जांच करे अगर कुछ बदल गया है." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:742 -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "पिछले भाग समाप्त नहीं किया! यद तुम्हें याद हो या समय PHP लिपियों के लिए सीमा बढ़ा सकते हैं अधिक जानें" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "स्क्रिप्ट थी की अंतिम ज्ञात मेमोरी उपयोग %memused%MB,पने सर्वर की सीमा% memlimit% है." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:748 -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "स्क्रिप्ट की अंतिम ज्ञात निष्पादन समय %timeused% seconds, अपने सर्वर की सीमा% timelimit% सेकंड है." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:752 -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "स्क्रिप्ट के बाद आसपास की संख्या रोका %lastpost% (+/- 100)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:755 -#, php-format -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "यदि सर्वर या ब्लॉग पर कुछ बदल गया है ,आपका <साइटमैप पुनर्निर्माण / a> मैन्युअल रूप से होना चाहिए." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:757 -#, php-format -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "यदि आप किसी भी समस्याओं का सामना प्रक्रिया बनाने के साथ सकते हैं आप उपयोग कर सकते हैं समारोह डिबग के बारे में अधिक जानकारी पाने के लिए." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:764 -msgid "Basic Options" -msgstr "मूलभूत विकल्प" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:766 -msgid "Sitemap files:" -msgstr "साइटमैप फ़ाइलें हैं:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:766 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:781 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:834 -msgid "Learn more" -msgstr "अधिक जानें" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:771 -msgid "Write a normal XML file (your filename)" -msgstr "एक सामान्य XML फ़ाइल लिखना (आपकी फ़ाइल नाम)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "लिखें gzipped फ़ाइल (फ़ाइल नाम आपके + gz.)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:781 -msgid "Building mode:" -msgstr "निर्माण मोड:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "पुनर्निर्माण साइटमैप यदि आप अपने ब्लॉग की सामग्री को बदलते है " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:793 -msgid "Enable manual sitemap building via GET Request" -msgstr "सक्षम मैनुअल के जरिए साइटमैप निर्माण अनुरोध प्राप्त" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:797 -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: %1 Please check the result box above to see if sitemap was successfully built." -msgstr "यह आप अपने साइटमैप ताज़ा करने की अनुमति देगा अगर एक बाह्य उपकरण WordPress API का उपयोग किए बिना WordPress डेटाबेस में लिखा था. निम्नलिखित यूआरएल का प्रयोग करें प्रक्रिया शुरू करने के %1 लिए: कृपया ऊपर परिणाम बॉक्स को चेक करें यदि साइटमैप सफलतापूर्वक बनाया गया था देखने" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801 -msgid "Update notification:" -msgstr "अद्यतन सूचना:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:805 -msgid "Notify Google about updates of your Blog" -msgstr "सूचित करे आपके ब्लॉग के अद्यतन के बारे में गूगल" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:806 -#, php-format -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "कोई पंजीकरण की आवश्यकता नहीं है, लेकिन आप शामिल हो सकते हैं गूगल वेबमास्टर उपकरण आँकड़ों को खंगालने की जाँच करें." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:810 -msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" -msgstr "बिंग सूचित करे आपके ब्लॉग के अद्यतन के बारे में (पूर्व MSN लाइव खोज)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:811 -#, php-format -msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." -msgstr "कोई पंजीकरण की आवश्यकता नहीं है, लेकिन आप शामिल हो सकते हैं गूगल वेबमास्टर उपकरण आँकड़ों को खंगालने की जाँच करें." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:815 -msgid "Notify Ask.com about updates of your Blog" -msgstr "अश्क.कॉम को सूचित करे आपके ब्लॉग के अद्यतन के बारे में " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:816 -msgid "No registration required." -msgstr "कोई पंजीकरण की आवश्यकता नहीं है," - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:820 -msgid "Notify YAHOO about updates of your Blog" -msgstr "याहू को सूचित करे आपके ब्लॉग के अद्यतन के बारे में " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:821 -msgid "Your Application ID:" -msgstr "आपका आवेदन आईडी:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 -#, php-format -msgid "Don't you have such a key? Request one here! %s2" -msgstr "क्या नहीं है?यहाँ एक अनुरोध करे! %s2" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:827 -msgid "Add sitemap URL to the virtual robots.txt file." -msgstr "जोड़ें आभासी robots.txt फ़ाइल के लिए URL साइटमैप." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:831 -msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" -msgstr "आभासी WordPress द्वारा उत्पन्न robots.txt प्रयोग किया जाता है. एक असली robots.txt फ़ाइल ब्लॉग निर्देशिका में मौजूद नहीं होगा!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:834 -msgid "Advanced options:" -msgstr "उन्नत विकल्प हैं:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:837 -msgid "Limit the number of posts in the sitemap:" -msgstr "साइटमैप में पदों की संख्या सीमा:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:837 -msgid "Newer posts will be included first" -msgstr "नए पदों को पहले शामिल किया जाएगा" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:840 -msgid "Try to increase the memory limit to:" -msgstr "स्मृति सीमा बढ़ाने की कोशिश करें:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:840 -msgid "e.g. \"4M\", \"16M\"" -msgstr "e.g. \"4M\", \"16M\"" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:843 -msgid "Try to increase the execution time limit to:" -msgstr "स्मृति सीमा बढ़ाने की कोशिश करें:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:843 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "सेकंड में, e.g. \"60\" or \"0\" के लिए असीमित" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:847 -msgid "Include a XSLT stylesheet:" -msgstr "एक XSLT stylesheet शामिल करें:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:848 -msgid "Full or relative URL to your .xsl file" -msgstr "पूर्ण या अपने रिश्तेदार. Xsl फ़ाइल के लिए URL" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:848 -msgid "Use default" -msgstr " डिफ़ॉल्ट का प्रयोग करें" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:854 -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "सक्षम MySQL मानक मोड. यह सिर्फ अगर हो रही है MySQL त्रुटियों का प्रयोग करें. (आवश्यकताओं अधिक स्मृति!)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:855 -msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" -msgstr "अद्यतन में कम से कम 2.2 के लिए WordPress तेजी से सक्षम करने के लिए MySQL का उपयोग" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862 -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "निर्माण की प्रक्रिया में एक पृष्ठभूमि साइटमैप (आप के लिए इंतजार करना तुम एक के बाद जब बचाने के लिए नहीं है)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 -msgid "Upgrade WordPress at least to 2.1 to enable background building" -msgstr "अद्यतन में कम से कम 2.1 के लिए WordPress पृष्ठभूमि निर्माण सक्षम करने के लिए" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:870 -msgid "Additional pages" -msgstr "अतिरिक्त पृष्ठों" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:873 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "यहाँ आप फ़ाइलों या यूआरएल जो साइटमैप में शामिल किया जाना चाहिए निर्दिष्ट कर सकते हैं, लेकिन आपके ब्लॉग /WordPress का नहीं.
उदाहरण के लिए,यदि आपके डोमेन www.foo.com और अपने ब्लॉग पर स्थित www.foo.com / ब्लॉग आप www.foo.com पर अपने मुखपृष्ठ शामिल करना चाहते हो " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:875 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1083 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1097 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1106 -msgid "Note" -msgstr "नोट" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:876 -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)!" -msgstr "यदि आपका ब्लॉग एक subdirectory में है और आप पृष्ठों जो ब्लॉग निर्देशिका या नीचे में नहीं जोड़ना चाहते हैं, तुम जरूरी रूट निर्देशिका में आपके साइटमैप फ़ाइल स्थान (आपके साइटमैप फ़ाइल \"स्थान पर देखो इस पृष्ठ पर\" अनुभाग)!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:878 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:917 -msgid "URL to the page" -msgstr "पृष्ठ के यूआरएल" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:879 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "पृष्ठ के URL दर्ज करें. उदाहरण: http://www.foo.com/index.html or www.foo.com/home " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:881 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:918 -msgid "Priority" -msgstr "प्राथमिकता" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:882 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "ष्ठ की प्राथमिकता के अन्य पन्नों के सापेक्ष चुनें. उदाहरण के लिए, अपने होमपेज पर अपनी छाप से एक उच्च प्राथमिकता होगी." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:884 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:920 -msgid "Last Changed" -msgstr "पिछले परिवर्तित" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:885 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "पिछले परिवर्तन के रूप में की तारीख दर्ज करें YYYY-MM-DD (उदाहरण के लिए 2005/12/31)(वैकल्पिक)." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:919 -msgid "Change Frequency" -msgstr "बदलें आवृत्ति" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:921 -msgid "#" -msgstr "#" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:926 -msgid "No pages defined." -msgstr "कोई परिभाषित पृष्ठों नहीं." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:931 -msgid "Add new page" -msgstr "नया पृष्ठ जोड़ें" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:936 -msgid "Post Priority" -msgstr "पोस्ट प्राथमिकता" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:938 -msgid "Please select how the priority of each post should be calculated:" -msgstr "कृपया चयन करे कैसे प्रत्येक पोस्ट की प्राथमिकता की गणना की जानी चाहिए:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:940 -msgid "Do not use automatic priority calculation" -msgstr "स्वचालित प्राथमिकता गणना का प्रयोग न करें" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:940 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "सभी पदों को ही प्राथमिकता होगी जो परिभाषित है में " प्राथमिकताओं "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:951 -msgid "Location of your sitemap file" -msgstr "आपके साइटमैप के स्थान फाइल" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:954 -msgid "Automatic detection" -msgstr "स्वचालित पहचान" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:958 -msgid "Filename of the sitemap file" -msgstr "साइटमैप फ़ाइल का फ़ाइल नाम" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:961 -msgid "Detected Path" -msgstr "पता पथ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:961 -msgid "Detected URL" -msgstr "पता पथ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:966 -msgid "Custom location" -msgstr "पसंदीदा स्थान" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:970 -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "निरपेक्ष या रिश्तेदार साइटमैप फ़ाइल के पथ, नाम भी शामिल है." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:972 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:981 -msgid "Example" -msgstr "उदाहरण" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:979 -msgid "Complete URL to the sitemap file, including name." -msgstr "पूरा साइटमैप फ़ाइल यूआरएल, नाम भी शामिल है." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:992 -msgid "Sitemap Content" -msgstr "साइटमैप सामग्री" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:998 -msgid "Include homepage" -msgstr "शामिल मुखपृष्ठ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1004 -msgid "Include posts" -msgstr "शामिल पदों" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010 -msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" -msgstr "शामिल बहु के अगले पृष्ठ का पद (वृद्धि समय और स्मृति के उपयोग का निर्माण!)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1016 -msgid "Include static pages" -msgstr "शामिल स्थैतिक पृष्ठों" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1022 -msgid "Include categories" -msgstr "शामिल श्रेणियां" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1028 -msgid "Include archives" -msgstr "शामिल अभिलेखागार" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1035 -msgid "Include tag pages" -msgstr "शामिल टैग पृष्ठ" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1051 -#, php-format -msgid "Include taxonomy pages for %s" -msgstr "शामिल पृष्ठों के वर्गीकरण के लिए %s" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1061 -msgid "Include author pages" -msgstr "शामिल लेखक पृष्ठ" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1065 -msgid "Further options" -msgstr "इसके अलावा विकल्प" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1070 -msgid "Include the last modification time." -msgstr "अंतिम संशोधन का समय शामिल करें." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1072 -msgid "This is highly recommended and helps the search engines to know when your content has changed. This option affects all sitemap entries." -msgstr "यह अत्यधिक की सिफारिश की है और खोज इंजन में मदद करता है पता है जब आपके सामग्री बदल गया है. इस विकल्प को प्रभावित करता है सभी साइटमैप दर्ज की हैं." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1079 -msgid "Excluded items" -msgstr "अपवर्जित आइटम" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1081 -msgid "Excluded categories" -msgstr "अपवर्जित श्रेणियां" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1083 -msgid "Using this feature will increase build time and memory usage!" -msgstr "इस सुविधा का उपयोग समय और मेमोरी उपयोग के निर्माण में वृद्धि होगी!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1090 -#, php-format -msgid "This feature requires at least WordPress 2.5.1, you are using %s" -msgstr "इस सुविधा की आवश्यकता कम से कम 2.5.1 WordPress,तुम प्रयोग कर रहे हैं %s" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1093 -msgid "Exclude posts" -msgstr "बाहर निकालने के पदों" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1095 -msgid "Exclude the following posts or pages:" -msgstr "निम्नलिखित पदों या पेज बाहर निकालें:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1095 -msgid "List of IDs, separated by comma" -msgstr "आईडी की सूची, अल्पविराम के द्वारा अलग" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1097 -msgid "Child posts won't be excluded automatically!" -msgstr "बच्चे के पदों को स्वचालित रूप से बाहर नहीं जाएगा!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1103 -msgid "Change frequencies" -msgstr "बदलें आवृत्तियों" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1107 -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." -msgstr "कृपया ध्यान दें कि इस टैग का मूल्य एक और संकेत एक आदेश माना जाता है.हालांकि खोज इंजन crawlers जब इस निर्णय की जानकारी विचार,वे चिह्नित पृष्ठों क्रॉल कर सकते हैं \"प्रति घंटा \" है कि कम से अक्सर, और वे पृष्ठ क्रॉल के रूप में चिह्नित कर सकते हैं \"वार्षिक \" अधिक से अधिक है कि अक्सर.यह भी संभावना है कि crawlers समय समय पर पृष्ठों क्रॉल जाएगा चिह्नित \"कभी \" ताकि वे उन पृष्ठों को अप्रत्याशित परिवर्तन संभाल सकता हूँ." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1113 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1170 -msgid "Homepage" -msgstr "मुखपृष्ठ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1119 -msgid "Posts" -msgstr "डाक" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1125 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1188 -msgid "Static pages" -msgstr "स्थैतिक पृष्ठों" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1131 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1194 -msgid "Categories" -msgstr "श्रेणियाँ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1137 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "इस महीने की मौजूदा संग्रह (करना चाहिए अपने होमपेज की तरह ही)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1143 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "पुराने अभिलेखागार (परिवर्तन केवल अगर तुम एक पुरानी पोस्ट संपादित करें)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1150 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1207 -msgid "Tag pages" -msgstr "टैग पृष्ठ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1157 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1214 -msgid "Author pages" -msgstr "लेखक पृष्ठ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1165 -msgid "Priorities" -msgstr "प्राथमिकताएं" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1176 -msgid "Posts (If auto calculation is disabled)" -msgstr "पदों (यदि स्वत: गणना अक्षम है)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1182 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "न्यूनतम पोस्ट प्राथमिकता (अगर ऑटो गणना सक्षम है)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1200 -msgid "Archives" -msgstr "अभिलेखागार" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1225 -msgid "Update options" -msgstr "अद्यतन विकल्प" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1226 -msgid "Reset options" -msgstr "रीसेट विकल्प" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:95 -msgid "XML-Sitemap Generator" -msgstr "XML-साइटमैप जनरेटर" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:95 -msgid "XML-Sitemap" -msgstr "XML - साइटमैप" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:109 -msgid "Settings" -msgstr "सेटिंग्स" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:110 -msgid "FAQ" -msgstr "फैक्स " - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:111 -msgid "Support" -msgstr "सहायता" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:112 -msgid "Donate" -msgstr "दान" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:182 -msgid "Sitemap FAQ" -msgstr "साइटमैप फैक्स" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-hu_HU.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-hu_HU.mo deleted file mode 100644 index ccbf36ac..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-hu_HU.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-hu_HU.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-hu_HU.po deleted file mode 100644 index 6d4744e2..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-hu_HU.po +++ /dev/null @@ -1,596 +0,0 @@ -# [Countryname] Language File for sitemap (sitemap-[localname].po) -# Copyright (C) 2005 [name] : [URL] -# This file is distributed under the same license as the WordPress package. -# [name] <[mail-address]>, 2005. -# $Id: sitemap.pot 2502 2005-07-03 20:50:38Z arnee $ -# -msgid "" -msgstr "" -"Project-Id-Version: sitemap\n" -"Report-Msgid-Bugs-To: <[mail-address]>\n" -"POT-Creation-Date: 2005-06-15 00:00+0000\n" -"PO-Revision-Date: 2007-11-05 23:44+0100\n" -"Last-Translator: Cenzi \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language-Team: \n" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 -msgid "Comment Count" -msgstr "Kommentek számolása" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "Kommentek számának felhasználása a fontosság kiszámításához" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 -msgid "Comment Average" -msgstr "Kommentek" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 -msgid "Uses the average comment count to calculate the priority" -msgstr "Kommentek számolása, hogy a fontosságot megállapíthassa" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 -msgid "Popularity Contest" -msgstr "Gyakori tartalom" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" - -msgid "XML-Sitemap Generator" -msgstr "Oldaltérkép generátor" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -msgid "XML-Sitemap" -msgstr "XML-Oldaltérkép" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "Köszönjük a támogatást. Segíthez a plugin fejlesztésében, hogy mindez ingyenes maradhasson!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -msgid "Hide this notice" -msgstr "Tanács elrejtése" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#, php-format -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? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "Köszönjük, hogy ezt a plugint használja! Kb. egy hónapja telepítette a plugint. Ha jól működik, és elégedett az eredményekkel, akkor nem adományozna a fejlesztéshez egy keveset? Adományok segíthetnek a fejleszésekben, hogy ez a plugin ingyenes maradhasson! Persze, nem probléma!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -msgid "No thanks, please don't bug me anymore!" -msgstr "Köszönöm, nem. Ne jelenjen meg többet." - -msgid "XML Sitemap Generator for WordPress" -msgstr "Oldaltérkép generátor WordPresshez" - -msgid "Configuration updated" -msgstr "Beállítások frissítve!" - -msgid "Error while saving options" -msgstr "Hiba az oldalak mentésekor" - -msgid "Pages saved" -msgstr "Oldalak mentve" - -msgid "Error while saving pages" -msgstr "Hiba az oldalak mentésekor" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2748 -#, php-format -msgid "Robots.txt file saved" -msgstr "Robots.txt fájl elmentve" - -msgid "Error while saving Robots.txt file" -msgstr "Hiba aa Robots.txt fájl mentésekor" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 -msgid "The default configuration was restored." -msgstr "Alap beállítás visszaállítva." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 -msgid "open" -msgstr "megnyit" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 -msgid "close" -msgstr "bezár" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 -msgid "click-down and drag to move this box" -msgstr "kattintson rá, és ragadja meg ezt a dobozt" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 -msgid "click to %toggle% this box" -msgstr "kattintson, hogy %toggle% ezt a dobozt" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 -msgid "use the arrow keys to move this box" -msgstr "használja a mozgatáshoz a jobbra, balra, fel és le billentyűket" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 -msgid ", or press the enter key to %toggle% it" -msgstr ", vagy nyomja meg az enter gombot az %toggle% -hez." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 -msgid "About this Plugin:" -msgstr "Pluginról:" - -msgid "Plugin Homepage" -msgstr "Plugin főoldal" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 -msgid "Notify List" -msgstr "Értesítések" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -msgid "Support Forum" -msgstr "Fórum" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 -msgid "Donate with PayPal" -msgstr "Adományozás (PayPal)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 -msgid "My Amazon Wish List" -msgstr "My Amazon kívánságlista" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -msgid "translator_name" -msgstr "Cenzi" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -msgid "translator_url" -msgstr "http://blog.cenzi.hu" - -msgid "Sitemap Resources:" -msgstr "Oldaltérkép eredmények:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 -msgid "Webmaster Tools" -msgstr "Webmaster Tools" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -msgid "Webmaster Blog" -msgstr "Webmaster Blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 -msgid "Site Explorer" -msgstr "Oldal böngészése" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 -msgid "Search Blog" -msgstr "Kereső blog" - -msgid "Sitemaps Protocol" -msgstr "Oldaltérkép protokol" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 -msgid "Official Sitemaps FAQ" -msgstr "Hivatalos oldaltérképek GYIK" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 -msgid "My Sitemaps FAQ" -msgstr "Oldaltérképek GYIK" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 -msgid "Recent Donations:" -msgstr "Adományok:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 -msgid "List of the donors" -msgstr "Adományozók listája" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 -msgid "Hide this list" -msgstr "Lista elrejtése" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 -msgid "Thanks for your support!" -msgstr "Köszönjük a támogatást!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 -msgid "Status" -msgstr "Állapot" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 -#, php-format -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "Az oldaltérkép még nem készült el. Kattints ide az elkészítéséhez." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 -msgid "Your sitemap was last built on %date%." -msgstr "Az oldaltérkép legutóbbi felépítése: %date%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreTovábbzipped) was last built on %date%." -msgstr "Az oldaltérképed (tömörésének) ideje: %date%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreTovábbsuccessfully notified
about changes." -msgstr "Google sikeresen értesítve lett a változásokról." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "%time% másodpercbe telt a Google értesítése, de kikapcsolható ez a funkció." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 -#, php-format -msgid "There was a problem while notifying Google. View result" -msgstr "Probléma merült fel a Google értesítésénél. Eredmény megtekintése" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 -msgid "YAHOO was successfully notified about changes." -msgstr "YAHOO sikeresen értesítve lett a változásokról." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "%time% másodpercbe telt a YAHOO értesítése, de kikapcsolható ez a funkció." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 -#, php-format -msgid "There was a problem while notifying YAHOO. View result" -msgstr "Probléma merült fel a YAHOO értesítésénél. Eredmény megtekintése" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 -msgid "Ask.com was successfully notified about changes." -msgstr "Ask.com sikeresen értesítve lett a változásokról." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "%time% másodpercbe telt a Ask.com értesítése, de kikapcsolható ez a funkció." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 -#, php-format -msgid "There was a problem while notifying Ask.com. View result" -msgstr "Probléma merült fel a Ask.com értesítésénél. Eredmény megtekintése" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "Felépítési folyamat kb. %time% másodperc ami %memory% MB memóriát használ fel." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 -msgid "The building process took about %time% seconds to complete." -msgstr "Felépítési folyamat kb. %time% másodperc." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "Az oldaltérkép tartalma nem változott, ezért nem lesznek a keresők megpingelve." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "Nem sikerült! Talán kevés a memória. Tovább" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "Az utolsó memóriahasználat %memused%MB volt, a memórialimit: %memlimit%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "Az utolsó script használat %timeused% másodperc, a szervered limite: %timelimit% másodperc." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "A script megállt megközelítőleg a következő bejegyzési számnál: %lastpost% (+/- 100)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 -#, php-format -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "Ha valamilyen változás történik a blogodon vagy szervereden, akkor ajánlatos az oldaltérkép újraépítése kézzel." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 -#, php-format -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "Ha felmerül valamilyen probléma a felépítési folyamat során, akkor futtasd le a debug funkciót a további információért." - -msgid "Basic Options" -msgstr "Alap beállítások" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -msgid "Sitemap files:" -msgstr "Oldaltérkép fájlok:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -msgid "Learn more" -msgstr "Tovább" - -msgid "Write a normal XML file (your filename)" -msgstr "Normál XML fájl írása (fájlnév)" - -msgid "Write a gzipped file (your filename + .gz)" -msgstr "Gzippelt fájl írása (fájlév + .gz)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -msgid "Building mode:" -msgstr "Felépítési mód:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "Oldaltérkép újraépítése, ha a blogod tartalma megváltozott" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 -msgid "Enable manual sitemap building via GET Request" -msgstr "Kézi oldaltérkép engedélyezése a GET Request segítségével" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 -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: %1 Please check the logfile above to see if sitemap was successfully built." -msgstr "Ez engedélyezni fogja az oldaltérkép frissülését a WordPress adatbázisban. Használd a következő címet a folyamat elindításához: %1 Ellenőrizd a naplózó fájlt, hogy a folyamat befejeződött-e." - -msgid "Update notification:" -msgstr "Frissítési értesítések" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -msgid "Notify Google about updates of your Blog" -msgstr "Google értesítése a blogod frissülésekor" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#, php-format -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "Nincs szükség a regisztráláshoz, de csatlakozhatsz a Google Webmaster Tools programhoz, hogy ellenőrizhesd a robotok statisztikáját." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 -msgid "Notify Ask.com about updates of your Blog" -msgstr "Ask.com értesítése a blogod frissítésekor" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 -msgid "No registration required." -msgstr "Nincs szükség a regisztrációhoz." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 -msgid "Notify YAHOO about updates of your Blog" -msgstr "YAHOO értesítése a blogod frissítésekor" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3094 -#, php-format -msgid "No registration required, but you can sign up for the YAHOO Site Explorer to view the crawling progress." -msgstr "Nincs szükség a regisztráláshoz, de csatlakozhatsz a YAHOO Site Explorer programhoz, hogy ellenőrizhesd a robotok statisztikáját." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3099 -#, php-format -msgid "Modify or create %s file in blog root which contains the sitemap location." -msgstr "%s fájl elkészítése vagy módosítása." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3102 -msgid "File permissions: " -msgstr "Fájl engedélyek:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3107 -msgid "OK, robots.txt is writable." -msgstr "OK, robots.txt írható." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3109 -msgid "Error, robots.txt is not writable." -msgstr "Hiba, robots.txt nem írható." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3113 -msgid "OK, robots.txt doesn't exist but the directory is writable." -msgstr "OK, robots.txt nem létezik, de a könyvtár írható." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3115 -msgid "Error, robots.txt doesn't exist and the directory is not writable" -msgstr "Hiba, robots.txt nem létezik és a könyvtár nem írható." - -msgid "Advanced options:" -msgstr "Haladó beállítások:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -msgid "Limit the number of posts in the sitemap:" -msgstr "Bejegyzések számának limitálása az oldaltérképben:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -msgid "Newer posts will be included first" -msgstr "Újabb bejegyzések előre kerülnek" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -msgid "Try to increase the memory limit to:" -msgstr "Próbáld meg a memória limit emelését:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -msgid "e.g. \"4M\", \"16M\"" -msgstr "pl. \"4M\", \"16M\"" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -msgid "Try to increase the execution time limit to:" -msgstr "Próbáld meg a végrehajtási idő emelését:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "másodpercekben pl. \"60\" vagy \"0\" a korlátlanért" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Include a XSLT stylesheet:" -msgstr "XSLT stíluslap mellékelése:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Use Default" -msgstr "Alapbeállítás használata" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Full or relative URL to your .xsl file" -msgstr "Teljes vagy relatív URL elérése a .xsl fájlhoz" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "Alap MySQL mód engedélyezése. Ezt csak akkor használd, ha MySQL hibákat tapasztalsz. (Sokkal több memóriára lesz szükség!)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "Háttérfolyamatként építse fel az oldaltérképet (Nem kell várni, amíg a bejegyzést elmented)" - -msgid "Additional pages" -msgstr "Oldalak" - -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "Be tudod állítani azokat a fájlokat, amelyek nem tartoznak a blogodhoz.
Például, ha a domainod www.akarmi.hu és a blogod a www.akarmi.hu/blog címen van, beleteheted a www.akarmi.hu címet is az oldaltérképbe." - -msgid "Note" -msgstr "Megjegyzés" - -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)!" -msgstr "Ha a blogod egy alkönyvtárban van és olyan oldalakat szeretnél felvenni, amelyek nincsennek a blog könyvtárában, akkor a gyökér könyvtárban kell elhelyeznek az oldaltérképet." - -msgid "URL to the page" -msgstr "Oldal URL-je" - -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "Írd be az oldal URL-jét. Például: http://www.akarmi.hu/index.html vagy www.akarmi.hu/home" - -msgid "Priority" -msgstr "Fontosság" - -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "Válaszd ki az oldalak fontosságát. Például, a kezdőlapod lehet, hogy fontosabb, mint az aloldalak." - -msgid "Last Changed" -msgstr "Utolsó módosítás" - -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "Írd be az utolsó módosítást YYYY-MM-DD (példaként: 2007-08-12) (ajánlott)." - -msgid "Change Frequency" -msgstr "Változások gyakorisága" - -msgid "#" -msgstr "#" - -msgid "No pages defined." -msgstr "Nincs oldal beállítva." - -msgid "Add new page" -msgstr "Új oldal felvétele" - -msgid "Post Priority" -msgstr "Bejegyzés fontossága" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 -msgid "Please select how the priority of each post should be calculated:" -msgstr "Válaszd ki, hogyan működjön a fontosság kalkulálása" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -msgid "Do not use automatic priority calculation" -msgstr "Ne használja az automatikus fontosság kalkulálását" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "Minden bejegyzés azonos fontosságú ami a "Fontosságok" alatt lett beállítva" - -msgid "Location of your sitemap file" -msgstr "Oldaltérkép fájl elérése" - -msgid "Automatic detection" -msgstr "Automatikus megállapítás" - -msgid "Filename of the sitemap file" -msgstr "Oldaltérkép fájl neve" - -msgid "Detected Path" -msgstr "Elérés" - -msgid "Detected URL" -msgstr "URL megállapítása" - -msgid "Custom location" -msgstr "Egyéni elérés" - -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "Abszolút vagy relatív elérése az oldaltérkép fájlnak (fájl-névvel együtt)." - -msgid "Example" -msgstr "Példa" - -msgid "Complete URL to the sitemap file, including name." -msgstr "Teljes URL-je az oldaltérkép fájlnak (fájl-névvel együtt)." - -msgid "Sitemap Content" -msgstr "Oldaltérkép tartalma" - -msgid "Include homepage" -msgstr "Főoldal mellékelése" - -msgid "Include posts" -msgstr "Bejegyzések mellékelése" - -msgid "Include static pages" -msgstr "Statikus oldalak mellékelése" - -msgid "Include categories" -msgstr "Kategóriák mellékelése" - -msgid "Include archives" -msgstr "Arhívumok mellékelése" - -msgid "Include tag pages" -msgstr "Címkék oldalak melléklése" - -msgid "Include author pages" -msgstr "Szerző oldalak melléklése" - -msgid "Change frequencies" -msgstr "Változások gyakorisága" - -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." -msgstr "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." - -msgid "Homepage" -msgstr "Főoldal" - -msgid "Posts" -msgstr "Bejegyzések" - -msgid "Static pages" -msgstr "Statikus oldal" - -msgid "Categories" -msgstr "Kategóriák" - -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Jelenlegi hónap arhívuma (Megegyezik az oldaladéval)" - -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Régi archívumok (Ha egy régi bejegyzést módosítottál)" - -msgid "Tag pages" -msgstr "Címkék oldalak" - -msgid "Author pages" -msgstr "Szerző oldalak" - -msgid "Priorities" -msgstr "Fontosságok" - -msgid "Posts (If auto calculation is disabled)" -msgstr "Bejegyzések (Ha az automatikus kalkulálás ki van kapcsolva)" - -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Minimum bejegyzések fontossága (Ha az automatikus kalkulálás engedélyezve van)" - -msgid "Archives" -msgstr "Archívumok" - -msgid "Update options" -msgstr "Beállítások frissítése" - -msgid "Reset options" -msgstr "Beállítások visszaállítása" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-it_IT.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-it_IT.mo deleted file mode 100644 index ee8edc72..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-it_IT.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-it_IT.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-it_IT.po deleted file mode 100644 index 03aca4ca..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-it_IT.po +++ /dev/null @@ -1,938 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: Google Sitemap Generator in italiano\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-24 00:20+0100\n" -"PO-Revision-Date: 2009-08-24 19:14+0100\n" -"Last-Translator: Gianni Diurno (aka gidibao) \n" -"Language-Team: Gianni Diurno | http://gidibao.net/ \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Italian\n" -"X-Poedit-Country: ITALY\n" -"X-Poedit-SourceCharset: utf-8\n" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:642 -msgid "Comment Count" -msgstr "Numero dei commenti" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:654 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "Utilizza per calcolare la priorità il numero dei commenti all'articolo" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:714 -msgid "Comment Average" -msgstr "Media dei commenti" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:726 -msgid "Uses the average comment count to calculate the priority" -msgstr "Utilizza per calcolare la priorità la media dei commenti" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:789 -msgid "Popularity Contest" -msgstr "Popularity Contest" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:801 -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "Utilizza il plugin attivato a nomePopularity Contest di Alex King. Vai sotto Impostazioni quindi Most Popular Posts" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1191 -msgid "Always" -msgstr "sempre" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1192 -msgid "Hourly" -msgstr "ogni ora" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1193 -msgid "Daily" -msgstr "ogni giorno" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1194 -msgid "Weekly" -msgstr "settimanalmente" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1195 -msgid "Monthly" -msgstr "mensilmente" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1196 -msgid "Yearly" -msgstr "annualmente" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1197 -msgid "Never" -msgstr "mai" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:97 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "Grazie per la tua donazione. Mi hai aiutato nel proseguire lo sviluppo ed il supporto per questo plugin e per dell'altro software gratuito!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:97 -msgid "Hide this notice" -msgstr "Nascondi questo annuncio" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:103 -#, php-format -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? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "Grazie per l'utilizzo di questo plugin! Tu hai installato questo plugin più di un mese fa. Qualora funzionasse correttamente e tu fossi soddisfatto per i risultati, perché non donarmi un dollaro? Le donazioni mi aiuteranno nel proseguire lo sviluppo ed il supporto per questo plugin gratuito! Ecco la mia offerta!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:103 -msgid "No thanks, please don't bug me anymore!" -msgstr "No grazie. Non scocciarmi più!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:114 -msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" -msgstr "La tua sitemap sta per essere rigenerata. In relazione alla dimensione del tuo blog potrebbe occorrere un po' di tempo!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:116 -#, php-format -msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" -msgstr "La tua sitemap verrà rigenerata in %s secondi. In relazione alla dimensione del tuo blog potrebbe occorrere un po' di tempo!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:145 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:448 -msgid "XML Sitemap Generator for WordPress" -msgstr "XML Sitemap Generator per WordPress" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:293 -msgid "Configuration updated" -msgstr "Configurazione aggiornata" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:294 -msgid "Error while saving options" -msgstr "Errore durante il savataggio delle opzioni" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:296 -msgid "Pages saved" -msgstr "Pagine salvate" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:297 -msgid "Error while saving pages" -msgstr "Errore durante il salvataggio delle pagine" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:304 -msgid "The default configuration was restored." -msgstr "La configurazione predefinita é stata ripristinata." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:461 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here." -msgstr "E' disponibile una nuova versione di %1$s. Scarica qui la versione %3$s." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:463 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." -msgstr "E' disponibile una nuova versione di %1$s. Scarica qui la versione %3$s l'aggiornamento automatico non é disponibile per questo plugin." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:465 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." -msgstr "E' disponibile una nuova versione di %1$s. Scarica qui la versione %3$s oppure aggiorna in automatico." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:488 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:505 -msgid "open" -msgstr "apri" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:489 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:506 -msgid "close" -msgstr "chiudi" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:490 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:507 -msgid "click-down and drag to move this box" -msgstr "clicca verso il basso e trascina per spostare questo riquadro" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:491 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:508 -msgid "click to %toggle% this box" -msgstr "clicca per %toggle% questo riquadro" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:492 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:509 -msgid "use the arrow keys to move this box" -msgstr "udsa il tasto freccia per spostare questo riquadro" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:493 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:510 -msgid ", or press the enter key to %toggle% it" -msgstr ", oppure premi il tasto Invio per %toggle%" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:528 -msgid "About this Plugin:" -msgstr "Info plugin:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:529 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:153 -msgid "Plugin Homepage" -msgstr "Plugin Homepage" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:530 -msgid "Suggest a Feature" -msgstr "Suggerimenti" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:531 -msgid "Notify List" -msgstr "Lista notifiche" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:532 -msgid "Support Forum" -msgstr "Forum di supporto" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 -msgid "Report a Bug" -msgstr "Segnala un errore" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:535 -msgid "Donate with PayPal" -msgstr "Dona con PayPal" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:536 -msgid "My Amazon Wish List" -msgstr "La mia Amazon Wish List" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:537 -msgid "translator_name" -msgstr "Gianni Diurno" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:537 -msgid "translator_url" -msgstr "http://gidibao.net/" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:540 -msgid "Sitemap Resources:" -msgstr "Risorse Sitemap:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:541 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:547 -msgid "Webmaster Tools" -msgstr "Webmaster Tools" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:542 -msgid "Webmaster Blog" -msgstr "Webmaster Blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:544 -msgid "Site Explorer" -msgstr "Site Explorer" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:545 -msgid "Search Blog" -msgstr "Search Blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:548 -msgid "Webmaster Center Blog" -msgstr "Webmaster Center Blog" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:550 -msgid "Sitemaps Protocol" -msgstr "Protocollo Sitemap" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:551 -msgid "Official Sitemaps FAQ" -msgstr "FAQ ufficiale Sitemap" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:552 -msgid "My Sitemaps FAQ" -msgstr "La mia Sitemaps FAQ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:555 -msgid "Recent Donations:" -msgstr "Contributi recenti:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:559 -msgid "List of the donors" -msgstr "Lista dei donatori" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:561 -msgid "Hide this list" -msgstr "Nascondi questa lista" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:564 -msgid "Thanks for your support!" -msgstr "Grazie per il tuo supporto!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:584 -msgid "The sitemap wasn't generated yet." -msgstr "La sitemap non é stata ancora generata." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:587 -msgid "Result of the last build process, started on %date%." -msgstr "Risultato dell'ultimo processo di generazione, avviato il %date%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:596 -#, php-format -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "La sitemap non é stata ancora generatat. Clicca qui per costruirla la prima volta." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:602 -msgid "Your sitemap was last built on %date%." -msgstr "La tua sitemap é stata generata il %date%." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:603 -msgid "The last build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?" -msgstr "La generazione é avvenuta con successo ma pare che il file é stato cancellato oppure non sia più accessibile. Hai forse spostato il tuo blog su di un altro server oppure hai cambiato il dominio?" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:605 -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn more" -msgstr "Si é verificato un problema durante la scrittura del file sitemap. Assicurati che il file esista e sia scrivibile. Info" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:612 -msgid "Your sitemap (zipped) was last built on %date%." -msgstr "La tua sitemap (archivio .zip) é stata generata il %date%." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:613 -msgid "The last zipped build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?" -msgstr "La creazione del file .zip é avvenuta con successo ma pare che il file é stato cancellato oppure non sia più accessibile. Hai forse spostato il tuo blog su di un altro server oppure hai cambiato il dominio?" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:615 -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn more" -msgstr "Si é verificato un problema durante la scrittura del file .zip della sitemap. Assicurati che il file esista e sia scrivibile . Info" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:621 -msgid "Google was successfully notified about changes." -msgstr "Google ha ricevuto con successo la notifica dei cambiamenti." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:624 -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "Sono stati necessari %time% secondi per la notifica a Google, meglio disattivare questa funzione in modo tale da poter ridurre i tempi di generazione." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:627 -#, php-format -msgid "There was a problem while notifying Google. View result" -msgstr "Si é verificato un errore durante la notifica a Google. Vedi risultato" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:633 -msgid "YAHOO was successfully notified about changes." -msgstr "YAHOO ha ricevuto con successo la notifica dei cambiamenti." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:636 -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "Sono stati necessari %time% secondi per la notifica a YAHOO, meglio disattivare questa funzione in modo tale da poter ridurre i tempi di generazione." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:639 -#, php-format -msgid "There was a problem while notifying YAHOO. View result" -msgstr "Si é verificato un errore durante la notifica a YAHOO. Vedi risultato" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3097 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:645 -msgid "Bing was successfully notified about changes." -msgstr "Bing ha ricevuto con successo la notifica dei cambiamenti." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:648 -msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." -msgstr "Sono stati necessari %time% secondi per la notifica a Bing, meglio disattivare questa funzione in modo tale da poter ridurre i tempi di generazione." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:651 -#, php-format -msgid "There was a problem while notifying Bing. View result" -msgstr "Si é verificato un errore durante la notifica a Bing. Vedi risultato" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:657 -msgid "Ask.com was successfully notified about changes." -msgstr "Ask.com ha ricevuto con successo la notifica dei cambiamenti." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:660 -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "Sono stati necessari %time% secondi per la notifica a Ask.com, meglio disattivare questa funzione in modo tale da poter ridurre i tempi di generazione." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:663 -#, php-format -msgid "There was a problem while notifying Ask.com. View result" -msgstr "Si é verificato un errore durante la notifica a Ask.com. Vedi risultato" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:671 -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "Sono stati necessari circa %time% secondi per completare il processo di costruzione e sono stati utilizzati %memory% MB di memoria." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:673 -msgid "The building process took about %time% seconds to complete." -msgstr "Sono stati necessari circa %time% secondi per completare il processo." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:677 -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "Il contenuto della tua sitemap non cambierà sino all'ultimo momento in modo tale che i file non scritti e nessun motore di ricerca ricevano il ping." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:685 -msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." -msgstr "La procedura di costruzione é ancora in atto! Ricarica tra alcuni secondi la pagina e verifica quindi se qualcosa fosse cambiato." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:688 -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "L'ultima operazione non é ancora conclusa! Forse é necessario che tu aumenti la memoria oppure il limite di tempo per gli scripts PHP. Info" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:690 -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "L'ultimo utilizzo di memoria conosciuto per lo script é %memused%MB, il limite del tuo server é %memlimit%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:694 -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "L'ultimo tempo di esecuzione dello script é stato di %timeused% secondi, il limite del tuo server é di %timelimit% secondi." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:698 -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "Lo script si é fermato intorno al post numero %lastpost% (+/- 100)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:701 -#, php-format -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "Qualora avessi modificato qualcosa nel tuo blog o server dovrai rigenerare la sitemap manualmente." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:703 -#, php-format -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "Nel caso in cui rilevassi un qualche problema durante il processo di generazione, utilizza la funzione debug per ottenere maggiori informazioni." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:710 -msgid "Basic Options" -msgstr "Opzioni di Base" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:712 -msgid "Sitemap files:" -msgstr "File Sitemap:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:712 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:727 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:747 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 -msgid "Learn more" -msgstr "altre info" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:717 -msgid "Write a normal XML file (your filename)" -msgstr "Scrivi un normale file XML (nome del file)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:723 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "Scrivi un file gzip (il nome del file + .gz)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:727 -msgid "Building mode:" -msgstr "Modalità generazione:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:732 -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "Rigenera la sitemap quando cambi il contenuto del tuo blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:739 -msgid "Enable manual sitemap building via GET Request" -msgstr "Abilita la generazione manuale della sitemap via GET Request" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:743 -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: %1 Please check the result box above to see if sitemap was successfully built." -msgstr "Questa operazione ti permetterà di rigenerare la sitemap qualora uno strumento esterno abbia operato una scrittura nel database di WordPress senza l'utilizzo della WordPress API. Utilizza l'URL a seguire per avviare il processo: %1 Verifica nel registro qui sopra se la generazione della sitemap é avvenuta con successo." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:747 -msgid "Update notification:" -msgstr "Notifica aggiornamenti:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:751 -msgid "Notify Google about updates of your Blog" -msgstr "Segnala a Google gli aggiornamenti del tuo blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:752 -#, php-format -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "Non é richiesta alcuna registrazione, vedi Google Webmaster Tools per le relative informazioni." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3209 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:756 -msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" -msgstr "Segnala a Bing (ex MSN Live Search) gli aggiornamenti del tuo blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:757 -#, php-format -msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." -msgstr "Non é richiesta alcuna registrazione, vai alla pagina Bing Webmaster Tools per verificare le statistiche." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:761 -msgid "Notify Ask.com about updates of your Blog" -msgstr "Segnala ad Ask.com gli aggiornamenti del tuo blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:762 -msgid "No registration required." -msgstr "Nessuna registrazione necessaria." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:766 -msgid "Notify YAHOO about updates of your Blog" -msgstr "Segnala a YAHOO gli aggiornamenti del tuo blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:767 -msgid "Your Application ID:" -msgstr "La tua ID applicazione:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:768 -#, php-format -msgid "Don't you have such a key? Request one here! %s2" -msgstr "Non hai una chiave? Richiedine qui una! %s2" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:773 -msgid "Add sitemap URL to the virtual robots.txt file." -msgstr "Aggiungi l'URL della sitemap al file virtuale robot.txt " - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 -msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" -msgstr "Verrà utilizzato il robots.txt virtuale generato da WordPress. Un file robots.txt reale NON deve esistere nella cartella del blog!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 -msgid "Advanced options:" -msgstr "Opzioni avanzate:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 -msgid "Limit the number of posts in the sitemap:" -msgstr "Numero limite di articoli presenti nella sitemap:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 -msgid "Newer posts will be included first" -msgstr "gli articoli più recenti verranno inclusi per primi" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 -msgid "Try to increase the memory limit to:" -msgstr "Prova ad aumentare il limite di memoria a:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 -msgid "e.g. \"4M\", \"16M\"" -msgstr "es. \"4M\", \"16M\"" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:789 -msgid "Try to increase the execution time limit to:" -msgstr "Prova ad aumentare il limite del tempo di esecuzione a:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:789 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "in secondi, es. \"60\" o \"0\" per nessun limite" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:793 -msgid "Include a XSLT stylesheet:" -msgstr "Includi un foglio di stile XSLT: " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:794 -msgid "Full or relative URL to your .xsl file" -msgstr "URL al tuo file .xsl " - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:794 -msgid "Use default" -msgstr "Utilizza predefinito" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:800 -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "Abilita la modalità MySQL standard. Solo in caso di errori MySQL. (ampio utilizzo della memoria!)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801 -msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" -msgstr "Aggiorna almeno a WordPress 2.2 per attivare un accesso MySQL più veloce" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:808 -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "Costruisci la sitemap con una procedura in background (nessuna attesa durante il salvataggio di un articolo)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:809 -msgid "Upgrade WordPress at least to 2.1 to enable background building" -msgstr "Aggiorna almeno a WordPress 2.1 per attivare la generazione in background" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:816 -msgid "Additional pages" -msgstr "Pagine aggiuntive" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:819 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "Qui è possibile specificare file o URL che dovranno venir incluse nella sitemap ma che non appartengono al vostro Blog/WordPress.
Ad esempio, se il vostro dominio è www.foo.com ed il vostro blog è posizionato in www.foo.com/blog potreste voler includere la vostra homepage in www.foo.com" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:821 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1024 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1033 -msgid "Note" -msgstr "Nota" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 -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)!" -msgstr "Se il tuo blog fosse allocato in una sottodirectory e desiderassi aggiungere delle pagine che NON si trovano nella directory del blog o sotto di essa, DOVRAI posizionare il tuo file di sitemap nella directory radice (vedi la sezione "Posizione del file di sitemap" su questa pagina)!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:824 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 -msgid "URL to the page" -msgstr "URL della pagina" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:825 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "inserire la URL della pagina. Ad esempio: http://www.foo.com/index.html oppure www.foo.com/home " - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:827 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:864 -msgid "Priority" -msgstr "Priorità" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:828 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "scegli la priorità di questa pagina in relazione alle altre. Ad esempio, la tua homepage dovrebbe avere una priorità maggiore rispetto alle altre pagine." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:830 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:866 -msgid "Last Changed" -msgstr "Ultima modifica" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:831 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "Inserisci la data dell'ultima modifica nel formato YYYY-MM-DD (ad esempio 2005-12-31) (opzionale)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:865 -msgid "Change Frequency" -msgstr "Cambia frequenza" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:867 -msgid "#" -msgstr "#" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:872 -msgid "No pages defined." -msgstr "Nessuna pagina definita" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:877 -msgid "Add new page" -msgstr "Aggiungi nuova pagina" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:882 -msgid "Post Priority" -msgstr "Priorità articolo" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:884 -msgid "Please select how the priority of each post should be calculated:" -msgstr "Seleziona come deve essere calcolata la priorità per ogni articolo:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:886 -msgid "Do not use automatic priority calculation" -msgstr "Non utilizzare il calcolo automatico della priorità" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:886 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "Tutti gli articoli hanno la stessa priorità definita in "Prioritià"" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:897 -msgid "Location of your sitemap file" -msgstr "Posizione del file di sitemap" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:900 -msgid "Automatic detection" -msgstr "Rilevazione automatica" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:904 -msgid "Filename of the sitemap file" -msgstr "Nome del file di sitemap" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:907 -msgid "Detected Path" -msgstr "Percorso determinato" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:907 -msgid "Detected URL" -msgstr "URL determinata" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:912 -msgid "Custom location" -msgstr "Località personalizzata" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:916 -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "Percorso" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:918 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:927 -msgid "Example" -msgstr "Esempio" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:925 -msgid "Complete URL to the sitemap file, including name." -msgstr "URL completa al file di sitemap, compreso il nome del file" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:938 -msgid "Sitemap Content" -msgstr "Contenuto sitemap" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:944 -msgid "Include homepage" -msgstr "Includi homepage" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:950 -msgid "Include posts" -msgstr "Includi articoli" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:911 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:956 -msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" -msgstr "Includi le seguenti pagine di articoli pagina-multipla (incrementa il tempo di generazione e l'utilizzo di memoria!)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:962 -msgid "Include static pages" -msgstr "Includi pagine statiche" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:968 -msgid "Include categories" -msgstr "Includi categorie" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:974 -msgid "Include archives" -msgstr "Includi gli archivi" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:981 -msgid "Include tag pages" -msgstr "Includi pagine tag" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:988 -msgid "Include author pages" -msgstr "Includi pagine autore" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:992 -msgid "Further options" -msgstr "Opzioni aggiuntive" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:997 -msgid "Include the last modification time." -msgstr "Includi ora dell'ultima modifica." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:999 -msgid "This is highly recommended and helps the search engines to know when your content has changed. This option affects all sitemap entries." -msgstr "Questa operazione é altamente raccomandata poiché aiuta i motori di ricerca a conoscere quando sono stati modificati i contenuti. Questa opzione avrà influenza su tutti i contenuti della sitemap." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1006 -msgid "Excluded items" -msgstr "Escludi elementi" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1008 -msgid "Excluded categories" -msgstr "Categorie escluse" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010 -msgid "Using this feature will increase build time and memory usage!" -msgstr "l'utilizzo di questa funzione aumenterà il tempo di generazione e l'utilizzo di memoria!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1017 -#, php-format -msgid "This feature requires at least WordPress 2.5.1, you are using %s" -msgstr "Questa funzione richiede come minimo WordPress 2.5.1, tu stai usando %s" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1020 -msgid "Exclude posts" -msgstr "Escludi articoli" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1022 -msgid "Exclude the following posts or pages:" -msgstr "Escludi i seguenti articoli o pagine:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1022 -msgid "List of IDs, separated by comma" -msgstr "separa tra loro con una virgola i vari ID" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1024 -msgid "Child posts won't be excluded automatically!" -msgstr "gli articoli child non saranno automaticamente esclusi!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1030 -msgid "Change frequencies" -msgstr "Modifica frequenze" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1034 -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." -msgstr "Si noti che il valore di questo tag è da considerarsi un suggerimento e non un comando. Anch se i motori di ricerca prendono in considerazione questa informazione quando decidono cosa indicizzare, potrebbero comunque indicizzare le pagine marcate \"ogni ora\" meno frequentemente così come potrebbero analizzare le pagine marcate come \"annualmente\" più frequentemente. È anche probabile che i moori analizzino periodicamente anche le pagine marcate con \"mai\" per gestire eventuali modifiche inaspettate in queste pagine." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1040 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1097 -msgid "Homepage" -msgstr "Homepage" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1046 -msgid "Posts" -msgstr "Articoli" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1052 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1115 -msgid "Static pages" -msgstr "Pagine statiche" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1058 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1121 -msgid "Categories" -msgstr "Categorie" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1064 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Archivo del mese corrente (dovrebbe avere lo stesso valore della homepage)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1070 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Archivi precedenti (cambia solo se modificato un vecchio articolo)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1077 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1134 -msgid "Tag pages" -msgstr "Pagine tag" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1084 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1141 -msgid "Author pages" -msgstr "Pagine autore" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1092 -msgid "Priorities" -msgstr "Priorità" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1103 -msgid "Posts (If auto calculation is disabled)" -msgstr "Articoli (se disabilitato il calcolo automatico)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1109 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Priorità minima degli articoli (anche se fosse stato abilitato il calcolo automatico)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1127 -msgid "Archives" -msgstr "Archivi" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1152 -msgid "Update options" -msgstr "Aggiorna le opzioni" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1153 -msgid "Reset options" -msgstr "Ripristina le opzioni" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:87 -msgid "XML-Sitemap Generator" -msgstr "XML-Sitemap Generator" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:87 -msgid "XML-Sitemap" -msgstr "XML-Sitemap" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:101 -msgid "Settings" -msgstr "Impostazioni" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:102 -msgid "FAQ" -msgstr "FAQ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:103 -msgid "Support" -msgstr "Supporto" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:104 -msgid "Donate" -msgstr "Donazione" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:154 -msgid "Sitemap FAQ" -msgstr "Sitemap FAQ" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja.mo deleted file mode 100644 index f886dfa8..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja.po deleted file mode 100644 index 7ffe1347..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja.po +++ /dev/null @@ -1,604 +0,0 @@ -# Translation of Google XML Sitemaps in Japanese -# This file is distributed under the same license as the Google XML Sitemaps package. -msgid "" -msgstr "" -"PO-Revision-Date: 2014-04-06 01:07:14+0000\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: GlotPress/0.1\n" -"Project-Id-Version: Google XML Sitemaps\n" - -#: sitemap-ui.php:782 -msgid "Allow anonymous statistics (no personal information)" -msgstr "匿名の統計を許可する(個人情報は含まれません)" - -#: sitemap-ui.php:776 -msgid "(The required PHP XSL Module is not installed)" -msgstr "(必要なPHPのXSLモジュールがインストールされていません)" - -#: sitemap-core.php:536 -msgid "Comment Count" -msgstr "コメント数" - -#: sitemap-core.php:546 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "コメント数から投稿の優先順位を計算する" - -#: sitemap-core.php:599 -msgid "Comment Average" -msgstr "平均コメント数" - -#: sitemap-core.php:609 -msgid "Uses the average comment count to calculate the priority" -msgstr "平均コメント数を使って優先順位を計算する" - -#: sitemap-core.php:770 -msgid "Always" -msgstr "常時" - -#: sitemap-core.php:771 -msgid "Hourly" -msgstr "毎時" - -#: sitemap-core.php:772 -msgid "Daily" -msgstr "毎日" - -#: sitemap-core.php:773 -msgid "Weekly" -msgstr "毎週" - -#: sitemap-core.php:774 -msgid "Monthly" -msgstr "毎月" - -#: sitemap-core.php:775 -msgid "Yearly" -msgstr "毎年" - -#: sitemap-core.php:776 -msgid "Never" -msgstr "更新なし" - -#: sitemap-loader.php:218 -msgid "XML-Sitemap Generator" -msgstr "XML-Sitemap Generator" - -#: sitemap-loader.php:218 -msgid "XML-Sitemap" -msgstr "XML-Sitemap" - -#: sitemap-loader.php:246 -msgid "Settings" -msgstr "設定" - -#: sitemap-loader.php:247 -msgid "FAQ" -msgstr "FAQ" - -#: sitemap-loader.php:248 -msgid "Support" -msgstr "サポート" - -#: sitemap-loader.php:249 -msgid "Donate" -msgstr "寄付" - -#: sitemap-ui.php:630 -msgid "Plugin Homepage" -msgstr "プラグインのホームページ" - -#: sitemap-ui.php:652 -msgid "My Sitemaps FAQ" -msgstr "Sitemaps プラグイン FAQ" - -#: sitemap-ui.php:198 sitemap-ui.php:585 -msgid "XML Sitemap Generator for WordPress" -msgstr "XML Sitemap Generator for WordPress" - -#: sitemap-ui.php:374 -msgid "Configuration updated" -msgstr "設定を更新しました。" - -#: sitemap-ui.php:375 -msgid "Error while saving options" -msgstr "設定の保存中にエラーが発生しました。" - -#: sitemap-ui.php:378 -msgid "Pages saved" -msgstr "追加ページの設定を保存しました。" - -#: sitemap-ui.php:379 -msgid "Error while saving pages" -msgstr "追加ページの設定の保存中にエラーが発生しました。" - -#: sitemap-ui.php:387 -msgid "The default configuration was restored." -msgstr "初期設定に戻しました。" - -#: sitemap-ui.php:397 -msgid "The old files could NOT be deleted. Please use an FTP program and delete them by yourself." -msgstr "古いファイルが削除できませんでした。FTPプログラムを利用してご自身でそれらを消去していただきますようお願いいたします。" - -#: sitemap-ui.php:399 -msgid "The old files were successfully deleted." -msgstr "古いファイルは正しく削除されました。" - -#: sitemap-ui.php:439 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "寄付をありがとうございます。あなたの協力により、このプラグインやその他の無料ソフトのサポートや開発を続けることができます !" - -#: sitemap-ui.php:439 -msgid "Hide this notice" -msgstr "この通知を隠す" - -#: sitemap-ui.php:445 -msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and you are satisfied with the results, isn't it worth at least a few dollar? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "このプラグインをご利用いただきありがとございます!プラグインをインストールしてから一か月以上が経過しました。もし動作して、その成果にご満足いただけてたのであれば、少なくとも数ドルに値しませんでしょうか?寄付は私がこのフリーソフトウェアのサポートと開発を続けるために役立ちます!分かりました、その通りです!" - -#: sitemap-ui.php:445 -msgid "Sure, but I already did!" -msgstr "分かりました。しかし、すでにしました。" - -#: sitemap-ui.php:445 -msgid "No thanks, please don't bug me anymore!" -msgstr "結構です。もううるさく言わないでください !" - -#: sitemap-ui.php:452 -msgid "Thanks for using this plugin! You've installed this plugin some time ago. If it works and your are satisfied, why not rate it and recommend it to others? :-)" -msgstr "このプラグインをご利用いただきありがとうございます!このプラグインをインストールしてからしばらく経過しました。もし動作して、その成果にご満足いただけてたのであれば、評価してほかの方に推薦してただけませんでしょうか? :-)" - -#: sitemap-ui.php:452 -msgid "Don't show this anymore" -msgstr "これ以上表示しない" - -#: sitemap-ui.php:601 -msgid "There is a new version of %1$s available. Download version %3$s here." -msgstr "新しいバージョンの %1$s があります。バージョン %3$s をダウンロード" - -#: sitemap-ui.php:603 -msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." -msgstr "新しいバージョンの %1$s があります。バージョン %3$s をダウンロードこのプラグインでは自動アップグレードは使えません。" - -#: sitemap-ui.php:605 -msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." -msgstr "新しいバージョンの %1$s があります。バージョン %3$s をダウンロードするか、自動アップグレードを行ってください。" - -#: sitemap-ui.php:613 -msgid "Your blog is currently blocking search engines! Visit the privacy settings to change this." -msgstr "このブログは現在検索エンジンをブロック中です!変更するには表示設定に行ってください。" - -#: sitemap-ui.php:629 -msgid "About this Plugin:" -msgstr "このプラグインについて:" - -#: sitemap-ui.php:631 -msgid "Suggest a Feature" -msgstr "機能を提案" - -#: sitemap-ui.php:632 -msgid "Notify List" -msgstr "通知一覧" - -#: sitemap-ui.php:633 -msgid "Support Forum" -msgstr "サポートフォーラム" - -#: sitemap-ui.php:634 -msgid "Report a Bug" -msgstr "バグを報告" - -#: sitemap-ui.php:636 -msgid "Donate with PayPal" -msgstr "PayPal で寄付" - -#: sitemap-ui.php:637 -msgid "My Amazon Wish List" -msgstr "Amazon ほしい物リスト" - -#: sitemap-ui.php:638 -msgid "translator_name" -msgstr "translator_name" - -#: sitemap-ui.php:638 -msgid "translator_url" -msgstr "translator_url" - -#: sitemap-ui.php:641 -msgid "Sitemap Resources:" -msgstr "サイトマップの情報源:" - -#: sitemap-ui.php:642 sitemap-ui.php:647 -msgid "Webmaster Tools" -msgstr "ウェブマスターツール" - -#: sitemap-ui.php:643 -msgid "Webmaster Blog" -msgstr "Webmaster Blog" - -#: sitemap-ui.php:645 -msgid "Search Blog" -msgstr "ブログ検索" - -#: sitemap-ui.php:648 -msgid "Webmaster Center Blog" -msgstr "Webmaster Center Blog" - -#: sitemap-ui.php:650 -msgid "Sitemaps Protocol" -msgstr "サイトマッププロトコル" - -#: sitemap-ui.php:651 -msgid "Official Sitemaps FAQ" -msgstr "Sitemaps プラグイン公式 FAQ" - -#: sitemap-ui.php:655 -msgid "Recent Donations:" -msgstr "最近の寄付:" - -#: sitemap-ui.php:658 -msgid "List of the donors" -msgstr "寄付者一覧" - -#: sitemap-ui.php:660 -msgid "Hide this list" -msgstr "一覧を隠す" - -#: sitemap-ui.php:663 -msgid "Thanks for your support!" -msgstr "サポートありがとうございます !" - -#: sitemap-ui.php:683 -msgid "Search engines haven't been notified yet" -msgstr "検索エンジンはまだ通知されていません" - -#: sitemap-ui.php:687 -msgid "Result of the last ping, started on %date%." -msgstr "%date%に開始されたpingの結果" - -#: sitemap-ui.php:702 -msgid "There is still a sitemap.xml or sitemap.xml.gz file in your blog directory. Please delete them as no static files are used anymore or try to delete them automatically." -msgstr "いまだにsitemap.xmlかsitemap.xml.gzファイルがこのブログのディレクトリにあります。これ以上静的ファイルが使用されないようにこれらを削除するか自動的に削除を試みます。" - -#: sitemap-ui.php:705 -msgid "The URL to your sitemap index file is: %s." -msgstr "あなたのサイトマップのインデックスファイルのURL: %s" - -#: sitemap-ui.php:708 -msgid "Search engines haven't been notified yet. Write a post to let them know about your sitemap." -msgstr "検索エンジンは通知されていません。あなたのサイトマップを知らせるには投稿を書いてください。" - -#: sitemap-ui.php:717 -msgid "%s was successfully notified about changes." -msgstr "%sは変更について正しく通知されました。" - -#: sitemap-ui.php:720 -msgid "It took %time% seconds to notify %name%, maybe you want to disable this feature to reduce the building time." -msgstr "%name%に通知するために%time%秒かかりました。もしかすると、構築の時間を短縮するためにこの機能を無効にしたいかもしれません。" - -#: sitemap-ui.php:723 -msgid "There was a problem while notifying %name%. View result" -msgstr "%name% に通知している最中に問題が発生しました。結果を見る" - -#: sitemap-ui.php:727 -msgid "If you encounter any problems with your sitemap you can use the debug function to get more information." -msgstr "もし、サイトマップに関して何らかの問題に遭遇している場合には、情報を得るためにデバック機能を使うことができます。" - -#: sitemap-ui.php:735 -msgid "Basic Options" -msgstr "基本的な設定" - -#: sitemap-ui.php:737 -msgid "Update notification:" -msgstr "通知を更新:" - -#: sitemap-ui.php:737 sitemap-ui.php:760 sitemap-ui.php:783 -msgid "Learn more" -msgstr "さらに詳しく" - -#: sitemap-ui.php:741 -msgid "Notify Google about updates of your Blog" -msgstr "Google にブログの更新を通知" - -#: sitemap-ui.php:742 -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "登録は必要ありませんが、Google ウェブマスターツール でクロール関連の統計を見ることができます。" - -#: sitemap-ui.php:746 -msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" -msgstr "Bing (旧名 MSN Live サーチ) にブログの更新を通知" - -#: sitemap-ui.php:747 -msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." -msgstr "登録は必要ありませんが、Bing ウェブマスターツール でクロール関連の統計を見ることができます。" - -#: sitemap-ui.php:752 -msgid "Add sitemap URL to the virtual robots.txt file." -msgstr "サイトマップの URL を仮想 robots.txt ファイルに追加" - -#: sitemap-ui.php:756 -msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" -msgstr "WordPress が生成した仮想 robots.txt ファイルを使用しています。実際の robots.txt ファイルをブログディレクトリに置かないでください。" - -#: sitemap-ui.php:760 -msgid "Advanced options:" -msgstr "高度な設定:" - -#: sitemap-ui.php:763 -msgid "Try to increase the memory limit to:" -msgstr "メモリの最大値を以下に増加:" - -#: sitemap-ui.php:763 -msgid "e.g. \"4M\", \"16M\"" -msgstr "例: \"4M\"、\"16M\"" - -#: sitemap-ui.php:766 -msgid "Try to increase the execution time limit to:" -msgstr "実行時間制限を以下に増加:" - -#: sitemap-ui.php:766 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "秒で指定(例: \"60\" など、または無制限の場合は \"0\")" - -#: sitemap-ui.php:770 -msgid "Include a XSLT stylesheet:" -msgstr "XSLT スタイルシートを含める:" - -#: sitemap-ui.php:771 -msgid "Full or relative URL to your .xsl file" -msgstr ".xsl ファイルへの絶対または相対パス" - -#: sitemap-ui.php:771 -msgid "Use default" -msgstr "デフォルト設定を使用" - -#: sitemap-ui.php:776 -msgid "Include sitemap in HTML format" -msgstr "HTML形式でのサイトマップを含める" - -#: sitemap-ui.php:791 -msgid "Additional pages" -msgstr "追加ページの設定" - -#: sitemap-ui.php:794 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "WordPress ブログの URL 以外でサイトマップに含める URL を指定できます
例えばドメインが www.foo.com でブログの URL が www.foo.com/blog の場合、www.foo.com を指定してサイトマップに含めることが可能です。" - -#: sitemap-ui.php:796 sitemap-ui.php:1000 sitemap-ui.php:1011 -#: sitemap-ui.php:1020 -msgid "Note" -msgstr "メモ" - -#: sitemap-ui.php:797 -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)!" -msgstr "もしこのブログがサブディレクトリに配置されていて、ブログディレクトリ以外のページをサイトマップに含めたいときは、サイトマップファイルを必ずルートディレクトリに配置しなくてはなりません (このページの "サイトマップファイルの場所" 設定を確認して下さい) 。" - -#: sitemap-ui.php:799 sitemap-ui.php:838 -msgid "URL to the page" -msgstr "ページの URL" - -#: sitemap-ui.php:800 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "ページの URL を入力して下さい。 例: http://www.foo.com/index.html や www.foo.com/home " - -#: sitemap-ui.php:802 sitemap-ui.php:839 -msgid "Priority" -msgstr "優先順位の設定 (priority)" - -#: sitemap-ui.php:803 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "他のページに対し、相対的な優先順位を選んでください。 例えば、ホームページの優先順位を他のページより高くできます。" - -#: sitemap-ui.php:805 sitemap-ui.php:841 -msgid "Last Changed" -msgstr "最終更新日" - -#: sitemap-ui.php:806 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "最終更新日を YYYY-MM-DD 形式で入力して下さい。" - -#: sitemap-ui.php:840 -msgid "Change Frequency" -msgstr "更新頻度の設定 (changefreq)" - -#: sitemap-ui.php:842 -msgid "#" -msgstr "#" - -#: sitemap-ui.php:847 -msgid "No pages defined." -msgstr "追加ページは定義されていません。" - -#: sitemap-ui.php:852 -msgid "Add new page" -msgstr "新しいページの追加" - -#: sitemap-ui.php:858 -msgid "Post Priority" -msgstr "投稿の優先順位" - -#: sitemap-ui.php:860 -msgid "Please select how the priority of each post should be calculated:" -msgstr "投稿の優先順位の計算方法を選択してください:" - -#: sitemap-ui.php:862 -msgid "Do not use automatic priority calculation" -msgstr "優先順位を自動的に計算しない" - -#: sitemap-ui.php:862 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "すべての投稿が "優先順位" で定義されたのと同じ優先度を持つようになります。" - -#: sitemap-ui.php:873 -msgid "Sitemap Content" -msgstr "Sitemap コンテンツ" - -#: sitemap-ui.php:874 -msgid "WordPress standard content" -msgstr "WordPress標準コンテンツ" - -#: sitemap-ui.php:879 -msgid "Include homepage" -msgstr "ホームページ" - -#: sitemap-ui.php:885 -msgid "Include posts" -msgstr "投稿 (個別記事) を含める" - -#: sitemap-ui.php:891 -msgid "Include static pages" -msgstr "固定ページを含める" - -#: sitemap-ui.php:897 -msgid "Include categories" -msgstr "カテゴリーページを含める" - -#: sitemap-ui.php:903 -msgid "Include archives" -msgstr "アーカイブページを含める" - -#: sitemap-ui.php:909 -msgid "Include author pages" -msgstr "投稿者ページを含める" - -#: sitemap-ui.php:916 -msgid "Include tag pages" -msgstr "タグページを含める" - -#: sitemap-ui.php:930 -msgid "Custom taxonomies" -msgstr "カスタムタクソノミー" - -#: sitemap-ui.php:941 -msgid "Include taxonomy pages for %s" -msgstr "%sのタクソノミーページを含める" - -#: sitemap-ui.php:959 -msgid "Custom post types" -msgstr "カスタム投稿タイプ" - -#: sitemap-ui.php:970 -msgid "Include custom post type %s" -msgstr "カスタム投稿タイプ %s を含める" - -#: sitemap-ui.php:982 -msgid "Further options" -msgstr "詳細なオプション" - -#: sitemap-ui.php:987 -msgid "Include the last modification time." -msgstr "最終更新時刻を含める。" - -#: sitemap-ui.php:989 -msgid "This is highly recommended and helps the search engines to know when your content has changed. This option affects all sitemap entries." -msgstr "これは非常に推奨であり、検索エンジンがあなたのコンテンツが変更された時間を知る助けになります。このオプションはすべてのサイトマップエントリに影響します。" - -#: sitemap-ui.php:996 -msgid "Excluded items" -msgstr "含めない項目" - -#: sitemap-ui.php:998 -msgid "Excluded categories" -msgstr "含めないカテゴリー" - -#: sitemap-ui.php:1000 -msgid "Using this feature will increase build time and memory usage!" -msgstr "この機能を使用すると、構築時間および使用メモリが増加します。" - -#: sitemap-ui.php:1007 -msgid "Exclude posts" -msgstr "投稿 (個別記事) を含めない" - -#: sitemap-ui.php:1009 -msgid "Exclude the following posts or pages:" -msgstr "以下の投稿または固定ページを含めない:" - -#: sitemap-ui.php:1009 -msgid "List of IDs, separated by comma" -msgstr "カンマ区切りの ID 一覧" - -#: sitemap-ui.php:1011 -msgid "Child posts won't be excluded automatically!" -msgstr "子カテゴリーは自動的に除外されません。" - -#: sitemap-ui.php:1017 -msgid "Change frequencies" -msgstr "更新頻度の設定 (changefreq)" - -#: sitemap-ui.php:1021 -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." -msgstr "このタグの値は絶対的な命令ではなくヒントとみなされます。検索エンジンのクローラはこの設定を考慮に入れますが、\"1時間おき\" の設定にしてもその頻度でクロールしないかもしれないし、\"年に1度\" の設定にしてもより頻繁にクロールされるかもしれません。また \"更新なし\" に設定されたページも、予想外の変更に対応するため、おそらく定期的にクロールが行われるでしょう。" - -#: sitemap-ui.php:1027 sitemap-ui.php:1084 -msgid "Homepage" -msgstr "ホームページ" - -#: sitemap-ui.php:1033 -msgid "Posts" -msgstr "投稿 (個別記事) " - -#: sitemap-ui.php:1039 sitemap-ui.php:1102 -msgid "Static pages" -msgstr "固定ページ" - -#: sitemap-ui.php:1045 sitemap-ui.php:1108 -msgid "Categories" -msgstr "カテゴリー別" - -#: sitemap-ui.php:1051 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "今月のアーカイブ (たいていは\"ホームページ\"と同じでしょう)" - -#: sitemap-ui.php:1057 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "古いアーカイブ (古い投稿を編集したときにのみ変更されます)" - -#: sitemap-ui.php:1064 sitemap-ui.php:1121 -msgid "Tag pages" -msgstr "タグページ" - -#: sitemap-ui.php:1071 sitemap-ui.php:1128 -msgid "Author pages" -msgstr "投稿者ページ" - -#: sitemap-ui.php:1079 -msgid "Priorities" -msgstr "優先順位の設定 (priority)" - -#: sitemap-ui.php:1090 -msgid "Posts (If auto calculation is disabled)" -msgstr "投稿 (個別記事) (\"基本的な設定\"で自動計算に設定していない場合に有効)" - -#: sitemap-ui.php:1096 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "投稿優先度の最小値 (\"基本的な設定\"で自動計算に設定している場合に有効)" - -#: sitemap-ui.php:1114 -msgid "Archives" -msgstr "アーカイブ別" - -#: sitemap-ui.php:1139 -msgid "Update options" -msgstr "設定を更新 »" - -#: sitemap-ui.php:1140 -msgid "Reset options" -msgstr "設定をリセット" - -#: sitemap.php:82 -msgid "Your WordPress version is too old for XML Sitemaps." -msgstr "WordPressのバージョンがXML Sitemapsには古すぎます。" - -#: sitemap.php:82 -msgid "Unfortunately this release of Google XML Sitemaps requires at least WordPress %4$s. You are using Wordpress %2$s, which is out-dated and insecure. Please upgrade or go to active plugins and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the plugin website." -msgstr "あいにくGoogle XML Sitemapsのこのリリースは最低でもWordPress %4$sが必要です。時代遅れで安全ではないWordPress %2$sをご利用中です。このメッセージを隠すにはアップグレードするか使用中のプラグインに行き、Google XML Sitemapsプラグインを無効化してください。プラグインのウェブサイトからこのプラグインの古いバージョンをダウンロードすることができます。" - -#: sitemap.php:92 -msgid "Your PHP version is too old for XML Sitemaps." -msgstr "PHPのバージョンがXML Sitemapsには古すぎます。" - -#: sitemap.php:92 -msgid "Unfortunately this release of Google XML Sitemaps requires at least PHP %4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask your web host to update your PHP installation or go to active plugins and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the plugin website." -msgstr "あいにくGoogle XML Sitemapsのこのリリースは最低でもPHP %4$sが必要です。時代遅れで安全ではないPHP %2$sをご利用中です。このメッセージを隠すにはウェブホストにPHPのインストールを更新するように頼むか使用中のプラグインに行き、Google XML Sitemapsプラグインを無効化してください。プラグインのウェブサイトからこのプラグインの古いバージョンをダウンロードすることができます。" \ No newline at end of file diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_EUC.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_EUC.mo deleted file mode 100644 index 0d879f40..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_EUC.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_EUC.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_EUC.po deleted file mode 100644 index bd9abcc0..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_EUC.po +++ /dev/null @@ -1,322 +0,0 @@ -# Japanese Language File for sitemap (sitemap-ja_JP.UTF-8.po) -# Copyright (C) 2005 hiromasa : http://hiromasa.zone.ne.jp/ -# This file is distributed under the same license as the WordPress package. -# hiromasa , 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: sitemap\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-06-09 02:00+0900\n" -"PO-Revision-Date: 2005-07-03 23:17+0900\n" -"Last-Translator: hiromasa \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=EUC-JP\n" -"Content-Transfer-Encoding: 8bit\n" -"Language-Team: \n" - -#: sitemap.php:375 -msgid "always" -msgstr "¤¤¤Ĥâ" - -msgid "hourly" -msgstr "Ëè»þ" - -msgid "daily" -msgstr "ËèÆü" - -msgid "weekly" -msgstr "Ë轵" - -msgid "monthly" -msgstr "Ëè·î" - -msgid "yearly" -msgstr "Ëèǯ" - -msgid "never" -msgstr "¹¹¿·¤µ¤ì¤ʤ¤" - -msgid "Detected Path" -msgstr "¥ѥ¹¤ÎľÀÜÀßÄê" - -msgid "Example" -msgstr "Îã" - -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "¥ե¡¥¤¥ë̾¤ò´ޤà Sitemap ¥ե¡¥¤¥ë¤ؤÎÁêÂФ⤷¤¯¤ÏÀäÂХѥ¹" - -msgid "Complete URL to the sitemap file, including name." -msgstr "¥ե¡¥¤¥ë̾¤ò´ޤà Sitemap ¥ե¡¥¤¥ë¤ؤδ°Á´¤Ê URL" - -msgid "Automatic location" -msgstr "¼«ưÇÛÃÖ" - -msgid "Manual location" -msgstr "¼êưÇÛÃÖ" - -msgid "OR" -msgstr "¤⤷¤¯¤Ï" - -msgid "Location of your sitemap file" -msgstr "Sitemap ¥ե¡¥¤¥ë¤ξì½ê" - -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)!" -msgstr "¤⤷¤¢¤ʤ¿¤Υ֥í¥°¤¬¥µ¥֥ǥ£¥쥯¥ȥê¤ËÇÛÃ֤µ¤ì¤Ƥ¤¤ë¾ì¹ç¤ˡ¢¥֥í¥°¥ǥ£¥쥯¥ȥê°ʳ°¤Υڡ¼¥¸¤ò Sitemap ¤˴ޤ᤿¤¤¤Ȥ­¤ϡ¢Sitemap ¥ե¡¥¤¥ë¤ò¥롼¥ȥǥ£¥쥯¥ȥê¤ËÇÛÃ֤¹¤٤­¤Ǥ¹¡£¡ʤ³¤Υڡ¼¥¸¤Î "Sitemap ¥ե¡¥¤¥ë¤ξì½ê" ÀßÄê¤ò³Îǧ¤·¤Ʋ¼¤µ¤¤¡Ë" - -#: sitemap.php:512 -msgid "Configuration updated" -msgstr "ÀßÄê¤򹹿·¤·¤ޤ·¤¿¡£" - -#: sitemap.php:513 -msgid "Error" -msgstr "¥¨¥顼¤Ǥ¹¡£" - -#: sitemap.php:521 -msgid "A new page was added. Click on "Save page changes" to save your changes." -msgstr "¿·¤·¤¤Äɲåڡ¼¥¸¡ʤÎÀßÄêÍó¡ˤ¬²äï¤ê¤ޤ·¤¿¡£ ¡ʥڡ¼¥¸¤ξðÊó¤òÆþÎϸå¡Ë"Êѹ¹¤ÎÊݸ" ¤򲡲¼¤·¤ÆÀßÄê¤òÊݸ¤·¤Ʋ¼¤µ¤¤¡£" - -#: sitemap.php:527 -msgid "Pages saved" -msgstr "Äɲåڡ¼¥¸¤ÎÀßÄê¤òÊݸ¤·¤ޤ·¤¿¡£" - -#: sitemap.php:528 -msgid "Error while saving pages" -msgstr "Äɲåڡ¼¥¸¤ÎÀßÄê¤ÎÊÝ¸Ãæ¤˥¨¥顼¤¬ȯÀ¸¤·¤ޤ·¤¿¡£" - -#: sitemap.php:539 -msgid "The page was deleted. Click on "Save page changes" to save your changes." -msgstr "»ØÄꤵ¤줿Äɲåڡ¼¥¸¡ʤÎÀßÄêÍó¡ˤòºï½ü¤·¤ޤ·¤¿¡£ "Êѹ¹¤ÎÊݸ" ¤򲡲¼¤·¤ÆÀßÄê¤òÊݸ¤·¤Ʋ¼¤µ¤¤¡£" - -#: sitemap.php:542 -msgid "You changes have been cleared." -msgstr "Êѹ¹¤ϴû¤˺ï½ü¤µ¤ì¤Ƥ¤¤ޤ¹¡£" - -#: sitemap.php:555 -msgid "Sitemap Generator" -msgstr "Sitemap Generator" - -#: sitemap.php:558 -msgid "Manual rebuild" -msgstr "¼êư¤ˤè¤ë Sitemap ¥ե¡¥¤¥ë¤κƹ½ÃÛ" - -#: sitemap.php:559 -msgid "If you want to build the sitemap without editing a post, click on here!" -msgstr "¤⤷Åê¹ƤÎÊԽ¸¤ʤ·¤Ë Sitemap ¥ե¡¥¤¥ë¤òºƹ½Ãۤ·¤¿¤¤¾ì¹ç¤Ϥ³¤Υܥ¿¥ó¤򲡲¼¤·¤Ƥ¯¤À¤µ¤¤!" - -#: sitemap.php:560 -msgid "Rebuild Sitemap" -msgstr "Sitemap ¤κƹ½ÃÛ" - -#: sitemap.php:564 -msgid "Additional pages" -msgstr "Äɲåڡ¼¥¸¤ÎÀßÄê" - -#: sitemap.php:566 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "¤³¤³¤ǡ¢Sitemap ¤˴ޤޤì¤ë¤٤­¤Ǥ¢¤ë URL ¤ò»ØÄꤹ¤뤳¤Ȥ¬¤Ǥ­¤ޤ¹¡£ ¤·¤«¤·¡¢¤³¤³¤ǻØÄꤹ¤ë URL ¤Ï WordPress/Blog ¤Ë°¤·¤ƤϤ¤¤±¤ޤ»¤ó¡£
Î㤨¤Хɥᥤ¥ó¤¬ www.foo.com ¤ǥ֥í¥°¤¬ www.foo.com/blog ¤À¤ä¿¾ì¹硢¤¢¤ʤ¿¤Ï www.foo.com ¤ò Sitemap ¤˴ޤߤ¿¤¤¤Ȼפ¦¤«¤⤷¤ì¤ޤ»¤󡣡ÊÌõÃí: ¤³¤ιàÌܤÇ WordPress °ʳ°¤Î URL ¤ò»ØÄꤷ¡¢¥ץ饰¥¤¥ó¤ǽÐÎϤ¹¤ë Sitemap ¤˴ޤá¤뤳¤Ȥ¬¤Ǥ­¤ޤ¹¡Ë" - -#: sitemap.php:568 -msgid "URL to the page" -msgstr "¤½¤Υڡ¼¥¸¤ÎURL" - -#: sitemap.php:569 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "¤½¤Υڡ¼¥¸¤ÎURL ¤òÆþÎϤ·¤Ʋ¼¤µ¤¤¡£ Îã: http://www.foo.com/index.html ¤ä www.foo.com/home " - -#: sitemap.php:571 -msgid "Priority" -msgstr "ͥÀè½ç°Ì(priority)¤ÎÀßÄê" - -#: sitemap.php:572 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "¾¤Υڡ¼¥¸¤ËÈæÎ㤷¤¿¥ڡ¼¥¸¤ÎͥÀè½ç°Ì(priority)¤òÁª¤ó¤Ǥ¯¤À¤µ¤¤¡£ Î㤨¤С¢¤¢¤ʤ¿¤Υۡ¼¥à¥ڡ¼¥¸¤ϡ¢Ìõ­¤Υڡ¼¥¸¤è¤ê¹⤤ͥÀèÅ٤¬¤¢¤뤫¤⤷¤ì¤ޤ»¤ó¡£" - -#: sitemap.php:574 -msgid "Last Changed" -msgstr "ºǽª¹¹¿·Æü" - -#: sitemap.php:575 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "ºǽª¹¹¿·Æü¤ò YYYY-MM-DD ·Á¼°¤ÇÆþÎϤ·¤Ʋ¼¤µ¤¤¡£" - -#: sitemap.php:583 -msgid "Change Frequency" -msgstr "¹¹¿·ÉÑÅÙ(changefreq)¤ÎÀßÄê" - -#: sitemap.php:585 -msgid "#" -msgstr "#" - -#: sitemap.php:609 -msgid "No pages defined." -msgstr "Äɲåڡ¼¥¸¤ÏÄêµÁ¤µ¤ì¤Ƥ¤¤ޤ»¤ó¡£" - -#: sitemap.php:616 -msgid "Add new page" -msgstr "¿·¤·¤¤¥ڡ¼¥¸¤ÎÄɲÃ" - -#: sitemap.php:617 -msgid "Save page changes" -msgstr "Êѹ¹¤ÎÊݸ" - -#: sitemap.php:618 -msgid "Undo all page changes" -msgstr "¥ڡ¼¥¸¤ÎÊѹ¹¤򸵤ËÌ᤹" - -#: sitemap.php:621 -msgid "Delete marked page" -msgstr "¥ޡ¼¥¯¤µ¤줿¥ڡ¼¥¸¤κï½ü" - -#: sitemap.php:627 -msgid "Basic Options" -msgstr "´ðËÜŪ¤ÊÀßÄê" - -#: sitemap.php:632 -msgid "Enable automatic priority calculation for posts based on comment count" -msgstr "Åê¹ƤËÂФ¹¤륳¥á¥ó¥ȿô¤ǡ¢Åê¹ơʳƥ¨¥ó¥ȥê¡ˤÎͥÀè½ç°Ì(priority)¤ò¼«ư·׻»¤¹¤뵡ǽ¤òͭ¸ú¤ˤ¹¤ë" - -#: sitemap.php:638 -msgid "Write debug comments" -msgstr "¥ǥХå°Íѥ³¥á¥ó¥ȽÐÎϤò¹Ԥ¦" - -#: sitemap.php:643 -msgid "Filename of the sitemap file" -msgstr "Sitemap ¤Υե¡¥¤¥ë̾" - -#: sitemap.php:650 -msgid "Write a normal XML file (your filename)" -msgstr "ɸ½à¤Î XML ¥ե¡¥¤¥ë¤ò½ÐÎϤ¹¤ë (filename)" - -#: sitemap.php:652 -msgid "Detected URL" -msgstr "Detected URL" - -#: sitemap.php:657 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "gz °µ½̤µ¤줿¥ե¡¥¤¥ë¤ò½ÐÎϤ¹¤ë (filename + .gz)" - -#: sitemap.php:664 -msgid "Auto-Ping Google Sitemaps" -msgstr "Google Sitemap ¤˹¹¿· ping ¤òÁ÷¤ë" - -#: sitemap.php:665 -msgid "This option will automatically tell Google about changes." -msgstr "¤³¤Υª¥ץ·¥ç¥ó¤ϡ¢Êѹ¹¤ò Google ¤˼«ưŪ¤ËÄÌÃΤ·¤ޤ¹¡£" - -#: sitemap.php:672 -msgid "Includings" -msgstr "Sitemap ¤˴ޤá¤ë ¹àÌܤÎÀßÄê" - -#: sitemap.php:677 -msgid "Include homepage" -msgstr "¥ۡ¼¥à¥ڡ¼¥¸" - -#: sitemap.php:683 -msgid "Include posts" -msgstr "Åê¹ơʳƥ¨¥ó¥ȥê¡Ë" - -#: sitemap.php:689 -msgid "Include static pages" -msgstr "ÀÅŪ¤ʥڡ¼¥¸" - -#: sitemap.php:695 -msgid "Include categories" -msgstr "¥«¥ƥ´¥êÊÌ" - -#: sitemap.php:701 -msgid "Include archives" -msgstr "¥¢¡¼¥«¥¤¥ÖÊÌ" - -#: sitemap.php:708 -msgid "Change frequencies" -msgstr "¹¹¿·ÉÑÅÙ(changefreq)¤ÎÀßÄê" - -#: sitemap.php:709 -msgid "Note" -msgstr "¥á¥â" - -#: sitemap.php:710 -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." -msgstr "¤³¤Υ¿¥°¤ÎÃͤÏ̿Îá¤ǤϤʤ¯¥ҥó¥ȤÀ¤ȹͤ¨¤é¤ì¤ޤ¹¡£¥µ¡¼¥Á¥¨¥󥸥ó¤Υ¯¥í¡¼¥é¤Ϥ³¤ÎÀßÄê¤ò¹Íθ¤ËÆþ¤ì¤ޤ¹¤¬¡¢\"1»þ´֤ª¤­\" ¤ÎÀßÄê¤ˤ·¤Ƥ⤽¤ÎÉÑÅ٤ǥ¯¥í¡¼¥뤷¤ʤ¤¤«¤⤷¤ì¤ʤ¤¤·¡¢\"ǯ°ìÅ٤Î\" ÀßÄê¤ˤ·¤Ƥ⤽¤ì¤è¤êÉÑÈˤ˥¯¥í¡¼¥뤵¤ì¤뤫¤⤷¤ì¤ޤ»¤󡣤ޤ¿ \"¹¹¿·¤µ¤ì¤ʤ¤\" ¤ËÀßÄꤵ¤줿¥ڡ¼¥¸¤⡢»פ¤¤¬¤±¤ʤ¤ÊѲ½¤򤳤ì¤é¤Υڡ¼¥¸¤«¤éÆÀ¤뤿¤á¤ˡ¢¤ª¤½¤餯¥¯¥í¡¼¥é¤ÏÄê´üŪ¤˥¯¥í¡¼¥뤹¤ë¤Ǥ·¤礦¡£" - -#: sitemap.php:715 -msgid "Homepage" -msgstr "¥ۡ¼¥à¥ڡ¼¥¸" - -#: sitemap.php:721 -msgid "Posts" -msgstr "Åê¹ơʳƥ¨¥ó¥ȥê¡Ë" - -#: sitemap.php:727 -msgid "Static pages" -msgstr "ÀÅŪ¤ʥڡ¼¥¸" - -#: sitemap.php:733 -msgid "Categories" -msgstr "¥«¥ƥ´¥êÊÌ" - -#: sitemap.php:739 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Åö·î¤Υ¢¡¼¥«¥¤¥Ö (\"¥ۡ¼¥à¥ڡ¼¥¸\" ¤ÎÀßÄê¤ÈƱ¤¸¤ˤ¹¤٤­¤Ǥ¹)" - -#: sitemap.php:745 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "¸Ť¤¥¢¡¼¥«¥¤¥Ö (¸Ť¤Åê¹ƤòÊԽ¸¤·¤¿¤Ȥ­¤À¤±Êѹ¹¤·¤Ƥ¯¤À¤µ¤¤)" - -#: sitemap.php:752 -msgid "Priorities" -msgstr "ͥÀè½ç°Ì(priority)¤ÎÀßÄê" - -#: sitemap.php:763 -msgid "Posts (If auto calculation is disabled)" -msgstr "Åê¹ơʳƥ¨¥ó¥ȥê¡Ë (\"´ðËÜŪ¤ÊÀßÄê\"¤Ǽ«ư·׻»¤ËÀßÄꤷ¤Ƥ¤¤ʤ¤¾ì¹ç¤Ëͭ¸ú)" - -#: sitemap.php:769 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Åê¹ơʳƥ¨¥ó¥ȥê¡ˤκǾ®ÃÍ (\"´ðËÜŪ¤ÊÀßÄê\"¤Ǽ«ư·׻»¤ËÀßÄꤷ¤Ƥ¤¤ë¾ì¹ç¤Ëͭ¸ú)" - -#: sitemap.php:787 -msgid "Archives" -msgstr "¥¢¡¼¥«¥¤¥ÖÊÌ" - -#: sitemap.php:793 -msgid "Informations and support" -msgstr "¾ðÊó¤ȥµ¥ݡ¼¥È" - -#: sitemap.php:794 -msgid "Check %s for updates and comment there if you have any problems / questions / suggestions." -msgstr "¤⤷¡¢ÌäÂê¤䵿Ì䡢Äó°Ƥ¬¤¢¤ì¤Ð %s ¤Υ¢¥åץǡ¼¥ȾðÊó¤䥳¥á¥ó¥Ȥò³Îǧ¤·¤Ʋ¼¤µ¤¤¡£" - -#: sitemap.php:797 -msgid "Update options" -msgstr "ÀßÄê¤򹹿· »" - -#: sitemap.php:1033 -msgid "URL:" -msgstr "URL:" - -#: sitemap.php:1034 -msgid "Path:" -msgstr "Path:" - -#: sitemap.php:1037 -msgid "Could not write into %s" -msgstr "%s ¤˽񤭹þ¤ळ¤Ȥ¬¤Ǥ­¤ޤ»¤ó¡£" - -#: sitemap.php:1048 -msgid "Successfully built sitemap file:" -msgstr "¹½ÃۤËÀ®¸ù¤·¤¿ Sitemap ¥ե¡¥¤¥ë:" - -#: sitemap.php:1048 -msgid "Successfully built gzipped sitemap file:" -msgstr "¹½ÃۤËÀ®¸ù¤·¤¿ gz °µ½̤µ¤줿 Sitemap ¥ե¡¥¤¥ë:" - -#: sitemap.php:1062 -msgid "Could not ping to Google at %s" -msgstr "Google ¤ؤι¹¿· ping ¤ÎÁ÷¿®¤¬¤Ǥ­¤ޤ»¤ó¤Ǥ·¤¿¡£ %s" - -#: sitemap.php:1064 -msgid "Successfully pinged Google at %s" -msgstr "Google ¤ؤι¹¿· ping ¤ÎÁ÷¿®¤¬À®¸ù¤·¤ޤ·¤¿¡£ %s" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_SJIS.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_SJIS.mo deleted file mode 100644 index 33386d88..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_SJIS.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_SJIS.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_SJIS.po deleted file mode 100644 index 4b6de01f..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_SJIS.po +++ /dev/null @@ -1,322 +0,0 @@ -# Japanese Language File for sitemap (sitemap-ja_JP.UTF-8.po) -# Copyright (C) 2005 hiromasa : http://hiromasa.zone.ne.jp/ -# This file is distributed under the same license as the WordPress package. -# hiromasa , 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: sitemap\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-06-09 02:00+0900\n" -"PO-Revision-Date: 2005-07-03 23:17+0900\n" -"Last-Translator: hiromasa \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=Shift_JIS\n" -"Content-Transfer-Encoding: 8bit\n" -"Language-Team: \n" - -#: sitemap.php:375 -msgid "always" -msgstr "‚¢‚‚à" - -msgid "hourly" -msgstr "–ˆŽž" - -msgid "daily" -msgstr "–ˆ“ú" - -msgid "weekly" -msgstr "–ˆ�T" - -msgid "monthly" -msgstr "–ˆŒŽ" - -msgid "yearly" -msgstr "–ˆ”N" - -msgid "never" -msgstr "�X�V‚³‚ê‚Ȃ¢" - -msgid "Detected Path" -msgstr "ƒpƒX‚̒¼�ڐݒè" - -msgid "Example" -msgstr "—á" - -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "ƒtƒ@ƒCƒ‹–¼‚ðŠ܂Þ Sitemap ƒtƒ@ƒCƒ‹‚ւ̑Š‘΂à‚µ‚­‚͐â‘΃pƒX" - -msgid "Complete URL to the sitemap file, including name." -msgstr "ƒtƒ@ƒCƒ‹–¼‚ðŠ܂Þ Sitemap ƒtƒ@ƒCƒ‹‚ւ̊®‘S‚È URL" - -msgid "Automatic location" -msgstr "Ž©“®”z’u" - -msgid "Manual location" -msgstr "Ž蓮”z’u" - -msgid "OR" -msgstr "‚à‚µ‚­‚Í" - -msgid "Location of your sitemap file" -msgstr "Sitemap ƒtƒ@ƒCƒ‹‚̏ꏊ" - -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)!" -msgstr "‚à‚µ‚ ‚Ȃ½‚̃uƒ�ƒO‚ªƒTƒuƒfƒBƒŒƒNƒgƒŠ‚ɔz’u‚³‚ê‚Ă¢‚é�ꍇ‚ɁAƒuƒ�ƒOƒfƒBƒŒƒNƒgƒŠˆȊO‚̃y�[ƒW‚ð Sitemap ‚Ɋ܂߂½‚¢‚Ƃ«‚́ASitemap ƒtƒ@ƒCƒ‹‚ðƒ‹�[ƒgƒfƒBƒŒƒNƒgƒŠ‚ɔz’u‚·‚ׂ«‚ł·�B�i‚±‚̃y�[ƒW‚Ì "Sitemap ƒtƒ@ƒCƒ‹‚̏ꏊ" �ݒè‚ðŠm”F‚µ‚ĉº‚³‚¢�j" - -#: sitemap.php:512 -msgid "Configuration updated" -msgstr "�ݒè‚ð�X�V‚µ‚܂µ‚½�B" - -#: sitemap.php:513 -msgid "Error" -msgstr "ƒGƒ‰�[‚ł·�B" - -#: sitemap.php:521 -msgid "A new page was added. Click on "Save page changes" to save your changes." -msgstr "�V‚µ‚¢’ljÁƒy�[ƒW�i‚̐ݒ藓�j‚ª‰Á‚í‚è‚܂µ‚½�B �iƒy�[ƒW‚̏î•ñ‚ð“ü—͌ã�j"•ύX‚̕ۑ¶" ‚ð‰Ÿ‰º‚µ‚Đݒè‚ð•ۑ¶‚µ‚ĉº‚³‚¢�B" - -#: sitemap.php:527 -msgid "Pages saved" -msgstr "’ljÁƒy�[ƒW‚̐ݒè‚ð•ۑ¶‚µ‚܂µ‚½�B" - -#: sitemap.php:528 -msgid "Error while saving pages" -msgstr "’ljÁƒy�[ƒW‚̐ݒè‚̕ۑ¶’†‚ɃGƒ‰�[‚ª”­�¶‚µ‚܂µ‚½�B" - -#: sitemap.php:539 -msgid "The page was deleted. Click on "Save page changes" to save your changes." -msgstr "Žw’肳‚ꂽ’ljÁƒy�[ƒW�i‚̐ݒ藓�j‚ð�폜‚µ‚܂µ‚½�B "•ύX‚̕ۑ¶" ‚ð‰Ÿ‰º‚µ‚Đݒè‚ð•ۑ¶‚µ‚ĉº‚³‚¢�B" - -#: sitemap.php:542 -msgid "You changes have been cleared." -msgstr "•ύX‚͊ù‚ɍ폜‚³‚ê‚Ă¢‚܂·�B" - -#: sitemap.php:555 -msgid "Sitemap Generator" -msgstr "Sitemap Generator" - -#: sitemap.php:558 -msgid "Manual rebuild" -msgstr "Ž蓮‚ɂæ‚é Sitemap ƒtƒ@ƒCƒ‹‚̍č\’z" - -#: sitemap.php:559 -msgid "If you want to build the sitemap without editing a post, click on here!" -msgstr "‚à‚µ“Š�e‚̕ҏW‚Ȃµ‚É Sitemap ƒtƒ@ƒCƒ‹‚ð�č\’z‚µ‚½‚¢�ꍇ‚͂±‚̃{ƒ^ƒ“‚ð‰Ÿ‰º‚µ‚Ă­‚¾‚³‚¢!" - -#: sitemap.php:560 -msgid "Rebuild Sitemap" -msgstr "Sitemap ‚̍č\’z" - -#: sitemap.php:564 -msgid "Additional pages" -msgstr "’ljÁƒy�[ƒW‚̐ݒè" - -#: sitemap.php:566 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "‚±‚±‚ŁASitemap ‚Ɋ܂܂ê‚é‚ׂ«‚ł ‚é URL ‚ðŽw’肷‚邱‚Ƃª‚ł«‚܂·�B ‚µ‚©‚µ�A‚±‚±‚Ŏw’肷‚é URL ‚Í WordPress/Blog ‚ɑ®‚µ‚Ă͂¢‚¯‚܂¹‚ñ�B
—Ⴆ‚΃hƒ�ƒCƒ“‚ª www.foo.com ‚Ńuƒ�ƒO‚ª www.foo.com/blog ‚¾‚Á‚½�ꍇ�A‚ ‚Ȃ½‚Í www.foo.com ‚ð Sitemap ‚Ɋ܂݂½‚¢‚Ǝv‚¤‚©‚à‚µ‚ê‚܂¹‚ñ�B�i–ó’�: ‚±‚̍€–ڂÅ WordPress ˆȊO‚Ì URL ‚ðŽw’肵�Aƒvƒ‰ƒOƒCƒ“‚ŏo—͂·‚é Sitemap ‚Ɋ܂߂邱‚Ƃª‚ł«‚܂·�j" - -#: sitemap.php:568 -msgid "URL to the page" -msgstr "‚»‚̃y�[ƒW‚ÌURL" - -#: sitemap.php:569 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "‚»‚̃y�[ƒW‚ÌURL ‚ð“ü—͂µ‚ĉº‚³‚¢�B —á: http://www.foo.com/index.html ‚â www.foo.com/home " - -#: sitemap.php:571 -msgid "Priority" -msgstr "—D�揇ˆÊ(priority)‚̐ݒè" - -#: sitemap.php:572 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "‘¼‚̃y�[ƒW‚ɔä—Ⴕ‚½ƒy�[ƒW‚̗D�揇ˆÊ(priority)‚ð‘I‚ñ‚ł­‚¾‚³‚¢�B —Ⴆ‚΁A‚ ‚Ȃ½‚̃z�[ƒ€ƒy�[ƒW‚́A–Á‹L‚̃y�[ƒW‚æ‚荂‚¢—D�æ“x‚ª‚ ‚邩‚à‚µ‚ê‚܂¹‚ñ�B" - -#: sitemap.php:574 -msgid "Last Changed" -msgstr "�ŏI�X�V“ú" - -#: sitemap.php:575 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "�ŏI�X�V“ú‚ð YYYY-MM-DD Œ`Ž®‚œü—͂µ‚ĉº‚³‚¢�B" - -#: sitemap.php:583 -msgid "Change Frequency" -msgstr "�X�V•p“x(changefreq)‚̐ݒè" - -#: sitemap.php:585 -msgid "#" -msgstr "#" - -#: sitemap.php:609 -msgid "No pages defined." -msgstr "’ljÁƒy�[ƒW‚͒è‹`‚³‚ê‚Ă¢‚܂¹‚ñ�B" - -#: sitemap.php:616 -msgid "Add new page" -msgstr "�V‚µ‚¢ƒy�[ƒW‚̒ljÁ" - -#: sitemap.php:617 -msgid "Save page changes" -msgstr "•ύX‚̕ۑ¶" - -#: sitemap.php:618 -msgid "Undo all page changes" -msgstr "ƒy�[ƒW‚̕ύX‚ðŒ³‚ɖ߂·" - -#: sitemap.php:621 -msgid "Delete marked page" -msgstr "ƒ}�[ƒN‚³‚ꂽƒy�[ƒW‚̍폜" - -#: sitemap.php:627 -msgid "Basic Options" -msgstr "Šî–{“I‚Ȑݒè" - -#: sitemap.php:632 -msgid "Enable automatic priority calculation for posts based on comment count" -msgstr "“Š�e‚ɑ΂·‚éƒRƒ�ƒ“ƒg�”‚ŁA“Š�e�iŠeƒGƒ“ƒgƒŠ�j‚̗D�揇ˆÊ(priority)‚ðŽ©“®ŒvŽZ‚·‚é‹@”\‚ð—LŒø‚ɂ·‚é" - -#: sitemap.php:638 -msgid "Write debug comments" -msgstr "ƒfƒoƒbƒO—pƒRƒ�ƒ“ƒg�o—͂ð�s‚¤" - -#: sitemap.php:643 -msgid "Filename of the sitemap file" -msgstr "Sitemap ‚̃tƒ@ƒCƒ‹–¼" - -#: sitemap.php:650 -msgid "Write a normal XML file (your filename)" -msgstr "•W�€‚Ì XML ƒtƒ@ƒCƒ‹‚ð�o—͂·‚é (filename)" - -#: sitemap.php:652 -msgid "Detected URL" -msgstr "Detected URL" - -#: sitemap.php:657 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "gz ˆ³�k‚³‚ꂽƒtƒ@ƒCƒ‹‚ð�o—͂·‚é (filename + .gz)" - -#: sitemap.php:664 -msgid "Auto-Ping Google Sitemaps" -msgstr "Google Sitemap ‚ɍX�V ping ‚𑗂é" - -#: sitemap.php:665 -msgid "This option will automatically tell Google about changes." -msgstr "‚±‚̃IƒvƒVƒ‡ƒ“‚́A•ύX‚ð Google ‚Ɏ©“®“I‚ɒʒm‚µ‚܂·�B" - -#: sitemap.php:672 -msgid "Includings" -msgstr "Sitemap ‚Ɋ܂߂é �€–ڂ̐ݒè" - -#: sitemap.php:677 -msgid "Include homepage" -msgstr "ƒz�[ƒ€ƒy�[ƒW" - -#: sitemap.php:683 -msgid "Include posts" -msgstr "“Š�e�iŠeƒGƒ“ƒgƒŠ�j" - -#: sitemap.php:689 -msgid "Include static pages" -msgstr "�ÓI‚ȃy�[ƒW" - -#: sitemap.php:695 -msgid "Include categories" -msgstr "ƒJƒeƒSƒŠ•Ê" - -#: sitemap.php:701 -msgid "Include archives" -msgstr "ƒA�[ƒJƒCƒu•Ê" - -#: sitemap.php:708 -msgid "Change frequencies" -msgstr "�X�V•p“x(changefreq)‚̐ݒè" - -#: sitemap.php:709 -msgid "Note" -msgstr "ƒ�ƒ‚" - -#: sitemap.php:710 -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." -msgstr "‚±‚̃^ƒO‚̒l‚͖½—߂ł͂Ȃ­ƒqƒ“ƒg‚¾‚ƍl‚¦‚ç‚ê‚܂·�BƒT�[ƒ`ƒGƒ“ƒWƒ“‚̃Nƒ��[ƒ‰‚͂±‚̐ݒè‚ð�l—¶‚ɓü‚ê‚܂·‚ª�A\"1ŽžŠԂ¨‚«\" ‚̐ݒè‚ɂµ‚Ăà‚»‚̕p“x‚ŃNƒ��[ƒ‹‚µ‚Ȃ¢‚©‚à‚µ‚ê‚Ȃ¢‚µ�A\"”Nˆê“x‚Ì\" �ݒè‚ɂµ‚Ăà‚»‚ê‚æ‚è•p”ɂɃNƒ��[ƒ‹‚³‚ê‚邩‚à‚µ‚ê‚܂¹‚ñ�B‚܂½ \"�X�V‚³‚ê‚Ȃ¢\" ‚ɐݒ肳‚ꂽƒy�[ƒW‚à�AŽv‚¢‚ª‚¯‚Ȃ¢•ω»‚ð‚±‚ê‚ç‚̃y�[ƒW‚©‚瓾‚邽‚߂ɁA‚¨‚»‚炭ƒNƒ��[ƒ‰‚͒èŠú“I‚ɃNƒ��[ƒ‹‚·‚邳µ‚傤�B" - -#: sitemap.php:715 -msgid "Homepage" -msgstr "ƒz�[ƒ€ƒy�[ƒW" - -#: sitemap.php:721 -msgid "Posts" -msgstr "“Š�e�iŠeƒGƒ“ƒgƒŠ�j" - -#: sitemap.php:727 -msgid "Static pages" -msgstr "�ÓI‚ȃy�[ƒW" - -#: sitemap.php:733 -msgid "Categories" -msgstr "ƒJƒeƒSƒŠ•Ê" - -#: sitemap.php:739 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "“–ŒŽ‚̃A�[ƒJƒCƒu (\"ƒz�[ƒ€ƒy�[ƒW\" ‚̐ݒè‚Ɠ¯‚¶‚ɂ·‚ׂ«‚ł·)" - -#: sitemap.php:745 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "ŒÂ¢ƒA�[ƒJƒCƒu (ŒÂ¢“Š�e‚ð•ҏW‚µ‚½‚Ƃ«‚¾‚¯•ύX‚µ‚Ă­‚¾‚³‚¢)" - -#: sitemap.php:752 -msgid "Priorities" -msgstr "—D�揇ˆÊ(priority)‚̐ݒè" - -#: sitemap.php:763 -msgid "Posts (If auto calculation is disabled)" -msgstr "“Š�e�iŠeƒGƒ“ƒgƒŠ�j (\"Šî–{“I‚Ȑݒè\"‚Ŏ©“®ŒvŽZ‚ɐݒ肵‚Ă¢‚Ȃ¢�ꍇ‚ɗLŒø)" - -#: sitemap.php:769 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "“Š�e�iŠeƒGƒ“ƒgƒŠ�j‚̍ŏ¬’l (\"Šî–{“I‚Ȑݒè\"‚Ŏ©“®ŒvŽZ‚ɐݒ肵‚Ă¢‚é�ꍇ‚ɗLŒø)" - -#: sitemap.php:787 -msgid "Archives" -msgstr "ƒA�[ƒJƒCƒu•Ê" - -#: sitemap.php:793 -msgid "Informations and support" -msgstr "�î•ñ‚ƃTƒ|�[ƒg" - -#: sitemap.php:794 -msgid "Check %s for updates and comment there if you have any problems / questions / suggestions." -msgstr "‚à‚µ�A–â‘è‚â‹^–â�A’ñˆĂª‚ ‚ê‚Î %s ‚̃Aƒbƒvƒf�[ƒg�î•ñ‚âƒRƒ�ƒ“ƒg‚ðŠm”F‚µ‚ĉº‚³‚¢�B" - -#: sitemap.php:797 -msgid "Update options" -msgstr "�ݒè‚ð�X�V »" - -#: sitemap.php:1033 -msgid "URL:" -msgstr "URL:" - -#: sitemap.php:1034 -msgid "Path:" -msgstr "Path:" - -#: sitemap.php:1037 -msgid "Could not write into %s" -msgstr "%s ‚ɏ‘‚«�ž‚ނ±‚Ƃª‚ł«‚܂¹‚ñ�B" - -#: sitemap.php:1048 -msgid "Successfully built sitemap file:" -msgstr "�\’z‚ɐ¬Œ÷‚µ‚½ Sitemap ƒtƒ@ƒCƒ‹:" - -#: sitemap.php:1048 -msgid "Successfully built gzipped sitemap file:" -msgstr "�\’z‚ɐ¬Œ÷‚µ‚½ gz ˆ³�k‚³‚ꂽ Sitemap ƒtƒ@ƒCƒ‹:" - -#: sitemap.php:1062 -msgid "Could not ping to Google at %s" -msgstr "Google ‚ւ̍X�V ping ‚̑—�M‚ª‚ł«‚܂¹‚ñ‚łµ‚½�B %s" - -#: sitemap.php:1064 -msgid "Successfully pinged Google at %s" -msgstr "Google ‚ւ̍X�V ping ‚̑—�M‚ª�¬Œ÷‚µ‚܂µ‚½�B %s" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_UTF.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_UTF.mo deleted file mode 100644 index 1e1aa9d8..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_UTF.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_UTF.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_UTF.po deleted file mode 100644 index 9e676913..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ja_UTF.po +++ /dev/null @@ -1,322 +0,0 @@ -# Japanese Language File for sitemap (sitemap-ja_JP.UTF-8.po) -# Copyright (C) 2005 hiromasa : http://hiromasa.zone.ne.jp/ -# This file is distributed under the same license as the WordPress package. -# hiromasa , 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: sitemap\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-06-09 02:00+0900\n" -"PO-Revision-Date: 2005-07-03 23:17+0900\n" -"Last-Translator: hiromasa \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language-Team: \n" - -#: sitemap.php:375 -msgid "always" -msgstr "いつも" - -msgid "hourly" -msgstr "毎時" - -msgid "daily" -msgstr "毎日" - -msgid "weekly" -msgstr "毎週" - -msgid "monthly" -msgstr "毎月" - -msgid "yearly" -msgstr "毎年" - -msgid "never" -msgstr "更新されない" - -msgid "Detected Path" -msgstr "パスの直接設定" - -msgid "Example" -msgstr "例" - -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "ファイル名を含む Sitemap ファイルへの相対もしくは絶対パス" - -msgid "Complete URL to the sitemap file, including name." -msgstr "ファイル名を含む Sitemap ファイルへの完全な URL" - -msgid "Automatic location" -msgstr "自動配置" - -msgid "Manual location" -msgstr "手動配置" - -msgid "OR" -msgstr "もしくは" - -msgid "Location of your sitemap file" -msgstr "Sitemap ファイルの場所" - -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)!" -msgstr "もしあなたのブログがサブディレクトリに配置されている場合に、ブログディレクトリ以外のページを Sitemap に含めたいときは、Sitemap ファイルをルートディレクトリに配置すべきです。(このページの "Sitemap ファイルの場所" 設定を確認して下さい)" - -#: sitemap.php:512 -msgid "Configuration updated" -msgstr "設定を更新しました。" - -#: sitemap.php:513 -msgid "Error" -msgstr "エラーです。" - -#: sitemap.php:521 -msgid "A new page was added. Click on "Save page changes" to save your changes." -msgstr "新しい追加ページ(の設定欄)が加わりました。 (ページの情報を入力後)"変更の保存" を押下して設定を保存して下さい。" - -#: sitemap.php:527 -msgid "Pages saved" -msgstr "追加ページの設定を保存しました。" - -#: sitemap.php:528 -msgid "Error while saving pages" -msgstr "追加ページの設定の保存中にエラーが発生しました。" - -#: sitemap.php:539 -msgid "The page was deleted. Click on "Save page changes" to save your changes." -msgstr "指定された追加ページ(の設定欄)を削除しました。 "変更の保存" を押下して設定を保存して下さい。" - -#: sitemap.php:542 -msgid "You changes have been cleared." -msgstr "変更は既に削除されています。" - -#: sitemap.php:555 -msgid "Sitemap Generator" -msgstr "Sitemap Generator" - -#: sitemap.php:558 -msgid "Manual rebuild" -msgstr "手動による Sitemap ファイルの再構築" - -#: sitemap.php:559 -msgid "If you want to build the sitemap without editing a post, click on here!" -msgstr "もし投稿の編集なしに Sitemap ファイルを再構築したい場合はこのボタンを押下してください!" - -#: sitemap.php:560 -msgid "Rebuild Sitemap" -msgstr "Sitemap の再構築" - -#: sitemap.php:564 -msgid "Additional pages" -msgstr "追加ページの設定" - -#: sitemap.php:566 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "ここで、Sitemap に含まれるべきである URL を指定することができます。 しかし、ここで指定する URL は WordPress/Blog に属してはいけません。
例えばドメインが www.foo.com でブログが www.foo.com/blog だった場合、あなたは www.foo.com を Sitemap に含みたいと思うかもしれません。(訳注: この項目で WordPress 以外の URL を指定し、プラグインで出力する Sitemap に含めることができます)" - -#: sitemap.php:568 -msgid "URL to the page" -msgstr "そのページのURL" - -#: sitemap.php:569 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "そのページのURL を入力して下さい。 例: http://www.foo.com/index.html や www.foo.com/home " - -#: sitemap.php:571 -msgid "Priority" -msgstr "優先順位(priority)の設定" - -#: sitemap.php:572 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "他のページに比例したページの優先順位(priority)を選んでください。 例えば、あなたのホームページは、銘記のページより高い優先度があるかもしれません。" - -#: sitemap.php:574 -msgid "Last Changed" -msgstr "最終更新日" - -#: sitemap.php:575 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "最終更新日を YYYY-MM-DD 形式で入力して下さい。" - -#: sitemap.php:583 -msgid "Change Frequency" -msgstr "更新頻度(changefreq)の設定" - -#: sitemap.php:585 -msgid "#" -msgstr "#" - -#: sitemap.php:609 -msgid "No pages defined." -msgstr "追加ページは定義されていません。" - -#: sitemap.php:616 -msgid "Add new page" -msgstr "新しいページの追加" - -#: sitemap.php:617 -msgid "Save page changes" -msgstr "変更の保存" - -#: sitemap.php:618 -msgid "Undo all page changes" -msgstr "ページの変更を元に戻す" - -#: sitemap.php:621 -msgid "Delete marked page" -msgstr "マークされたページの削除" - -#: sitemap.php:627 -msgid "Basic Options" -msgstr "基本的な設定" - -#: sitemap.php:632 -msgid "Enable automatic priority calculation for posts based on comment count" -msgstr "投稿に対するコメント数で、投稿(各エントリ)の優先順位(priority)を自動計算する機能を有効にする" - -#: sitemap.php:638 -msgid "Write debug comments" -msgstr "デバッグ用コメント出力を行う" - -#: sitemap.php:643 -msgid "Filename of the sitemap file" -msgstr "Sitemap のファイル名" - -#: sitemap.php:650 -msgid "Write a normal XML file (your filename)" -msgstr "標準の XML ファイルを出力する (filename)" - -#: sitemap.php:652 -msgid "Detected URL" -msgstr "Detected URL" - -#: sitemap.php:657 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "gz 圧縮されたファイルを出力する (filename + .gz)" - -#: sitemap.php:664 -msgid "Auto-Ping Google Sitemaps" -msgstr "Google Sitemap に更新 ping を送る" - -#: sitemap.php:665 -msgid "This option will automatically tell Google about changes." -msgstr "このオプションは、変更を Google に自動的に通知します。" - -#: sitemap.php:672 -msgid "Includings" -msgstr "Sitemap に含める 項目の設定" - -#: sitemap.php:677 -msgid "Include homepage" -msgstr "ホームページ" - -#: sitemap.php:683 -msgid "Include posts" -msgstr "投稿(各エントリ)" - -#: sitemap.php:689 -msgid "Include static pages" -msgstr "静的なページ" - -#: sitemap.php:695 -msgid "Include categories" -msgstr "カテゴリ別" - -#: sitemap.php:701 -msgid "Include archives" -msgstr "アーカイブ別" - -#: sitemap.php:708 -msgid "Change frequencies" -msgstr "更新頻度(changefreq)の設定" - -#: sitemap.php:709 -msgid "Note" -msgstr "メモ" - -#: sitemap.php:710 -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." -msgstr "このタグの値は命令ではなくヒントだと考えられます。サーチエンジンのクローラはこの設定を考慮に入れますが、\"1時間おき\" の設定にしてもその頻度でクロールしないかもしれないし、\"年一度の\" 設定にしてもそれより頻繁にクロールされるかもしれません。また \"更新されない\" に設定されたページも、思いがけない変化をこれらのページから得るために、おそらくクローラは定期的にクロールするでしょう。" - -#: sitemap.php:715 -msgid "Homepage" -msgstr "ホームページ" - -#: sitemap.php:721 -msgid "Posts" -msgstr "投稿(各エントリ)" - -#: sitemap.php:727 -msgid "Static pages" -msgstr "静的なページ" - -#: sitemap.php:733 -msgid "Categories" -msgstr "カテゴリ別" - -#: sitemap.php:739 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "当月のアーカイブ (\"ホームページ\" の設定と同じにすべきです)" - -#: sitemap.php:745 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "古いアーカイブ (古い投稿を編集したときだけ変更してください)" - -#: sitemap.php:752 -msgid "Priorities" -msgstr "優先順位(priority)の設定" - -#: sitemap.php:763 -msgid "Posts (If auto calculation is disabled)" -msgstr "投稿(各エントリ) (\"基本的な設定\"で自動計算に設定していない場合に有効)" - -#: sitemap.php:769 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "投稿(各エントリ)の最小値 (\"基本的な設定\"で自動計算に設定している場合に有効)" - -#: sitemap.php:787 -msgid "Archives" -msgstr "アーカイブ別" - -#: sitemap.php:793 -msgid "Informations and support" -msgstr "情報とサポート" - -#: sitemap.php:794 -msgid "Check %s for updates and comment there if you have any problems / questions / suggestions." -msgstr "もし、問題や疑問、提案があれば %s のアップデート情報やコメントを確認して下さい。" - -#: sitemap.php:797 -msgid "Update options" -msgstr "設定を更新 »" - -#: sitemap.php:1033 -msgid "URL:" -msgstr "URL:" - -#: sitemap.php:1034 -msgid "Path:" -msgstr "Path:" - -#: sitemap.php:1037 -msgid "Could not write into %s" -msgstr "%s に書き込むことができません。" - -#: sitemap.php:1048 -msgid "Successfully built sitemap file:" -msgstr "構築に成功した Sitemap ファイル:" - -#: sitemap.php:1048 -msgid "Successfully built gzipped sitemap file:" -msgstr "構築に成功した gz 圧縮された Sitemap ファイル:" - -#: sitemap.php:1062 -msgid "Could not ping to Google at %s" -msgstr "Google への更新 ping の送信ができませんでした。 %s" - -#: sitemap.php:1064 -msgid "Successfully pinged Google at %s" -msgstr "Google への更新 ping の送信が成功しました。 %s" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ko_KR.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ko_KR.mo deleted file mode 100644 index 1fbbcc2e..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ko_KR.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ko_KR.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ko_KR.po deleted file mode 100644 index bfbd900c..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ko_KR.po +++ /dev/null @@ -1,703 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: 2008-04-15 13:17+0900\n" -"Last-Translator: 김승엽 \n" -"Language-Team: Wordpress Korea \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Korean\n" -"X-Poedit-Country: KOREA, REPUBLIC OF\n" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 -msgid "Comment Count" -msgstr "코멘트 갯수" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "포스트의 코멘트 갯수를 이용해 우선순위를 계산합니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 -msgid "Comment Average" -msgstr "코멘트 평균" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 -msgid "Uses the average comment count to calculate the priority" -msgstr "코멘트의 평균 갯수를 이용해 우선순위를 계산합니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 -msgid "Popularity Contest" -msgstr "Popularity Contest" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "활성화 된Alex King의 Popularity Contest Plugin을 이용합니다. 설정 과 Most Popular Posts를 확인하십시오." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -msgid "XML-Sitemap Generator" -msgstr "XML-사이트 맵 생성기" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -msgid "XML-Sitemap" -msgstr "XML-사이트 맵" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "기부에 정말 감사드립니다. 제가 이 플러그인이나 다른 무료 프로그램을 계속 작성하고 지원할 수 있도록 도와주십시오!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -msgid "Hide this notice" -msgstr "이 주의사항 숨기기." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#, php-format -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? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "이 플러그인을 사용해 주셔서 감사합니다! 당신이 이 플러그인을 사용한 지 한달이 되었습니다. 만약 이 플러그인의 작동과 결과가 만족스러웠고 1달러 이상의 가치가 있다고 생각하십니까? 기부로 제가 이 무료 소프트웨어의 개발과 지원을 계속하도록 도움을 주십시오! 네, 문제없습니다!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -msgid "No thanks, please don't bug me anymore!" -msgstr "사양합니다, 더 이상 귀찮게 하지 말아주십시오." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835 -msgid "XML Sitemap Generator for WordPress" -msgstr "워드프레스 용 XML 사이트 맵 생성기" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740 -msgid "Configuration updated" -msgstr "설정이 업데이트 되었습니다" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741 -msgid "Error while saving options" -msgstr "옵션을 저장하는 중에 에러가 발생했습니다" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743 -msgid "Pages saved" -msgstr "페이지가 저장되었습니다" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744 -msgid "Error while saving pages" -msgstr "페이지를 저장하는 중에 에러가 발생했습니다" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2748 -#, php-format -msgid "Robots.txt file saved" -msgstr "Robots.txt 파일이 저장되었습니다" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2750 -msgid "Error while saving Robots.txt file" -msgstr "Robots.txt 파일을 저장하는 중에 에러가 발생했습니다" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 -msgid "The default configuration was restored." -msgstr "기본 설정이 복원되었습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 -msgid "open" -msgstr "열기" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 -msgid "close" -msgstr "닫기" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 -msgid "click-down and drag to move this box" -msgstr "이 상자를 움직이려면 클릭하고 드래그 하십시오" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 -msgid "click to %toggle% this box" -msgstr "클릭하면 이 상자를 %toggle%" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 -msgid "use the arrow keys to move this box" -msgstr "방향키를 사용해서 이 상자를 이동" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 -msgid ", or press the enter key to %toggle% it" -msgstr ", 또는 엔터키를 눌러 %toggle%" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 -msgid "About this Plugin:" -msgstr "이 플러그인 대해:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886 -msgid "Plugin Homepage" -msgstr "플러그인 홈페이지" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 -msgid "Notify List" -msgstr "메일 통지 리스트" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -msgid "Support Forum" -msgstr "서포트 포럼" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 -msgid "Donate with PayPal" -msgstr "PayPal 기부" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 -msgid "My Amazon Wish List" -msgstr "내 Amazon 위시 리스트" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -msgid "translator_name" -msgstr "번역자 김승엽" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -msgid "translator_url" -msgstr "http://unfusion.kunsan.ac.kr/word" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895 -msgid "Sitemap Resources:" -msgstr "사이트맵 Resources:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 -msgid "Webmaster Tools" -msgstr "웹마스터 도구" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -msgid "Webmaster Blog" -msgstr "웹마스터 블로그" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 -msgid "Site Explorer" -msgstr "사이트 익스플로러" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 -msgid "Search Blog" -msgstr "블로그 검색" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -msgid "Webmaster Center Blog" -msgstr "웹마스터 센터 블로그" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903 -msgid "Sitemaps Protocol" -msgstr "사이트 맵 프로토콜" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 -msgid "Official Sitemaps FAQ" -msgstr "사이트 맵 FAQ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 -msgid "My Sitemaps FAQ" -msgstr "사이트 맵 생성기 FAQ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 -msgid "Recent Donations:" -msgstr "최근 기부:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 -msgid "List of the donors" -msgstr "기부자 목록" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 -msgid "Hide this list" -msgstr "목록 숨기기" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 -msgid "Thanks for your support!" -msgstr "당신의 지원에 감사드립니다!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 -msgid "Status" -msgstr "상태" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 -#, php-format -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "사이트 맵이 아직 만들어지지 않았습니다. 여기를 클릭하면 처음으로 사이트 맵을 생성합니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 -msgid "Your sitemap was last built on %date%." -msgstr "당신의 사이트 맵 은 %date%에 마지막으로 생성되었습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn more정보 더 보기" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 -msgid "Your sitemap (zipped) was last built on %date%." -msgstr "당신의 사이트 맵(압축됨)은 %date%에 마지막으로 생성되었습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn more정보 더 보기" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 -msgid "Google was successfully notified about changes." -msgstr "Google에 변경사항을 성공적으로 통보하였습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "Google에 통보하는데 %time% 초가 걸렸습니다. 만약 이 기능을 사용하지 않으면 사이트 맵 작성시간을 줄일 수 있습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 -#, php-format -msgid "There was a problem while notifying Google. View result" -msgstr "Google에 통보하는 동안 문제가 발생했습니다. 결과 보기" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 -msgid "YAHOO was successfully notified about changes." -msgstr "YAHOO에 변경사항을 성공적으로 통보하였습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "YAHOO에 통보하는데 %time% 초가 걸렸습니다. 만약 이 기능을 사용하지 않으면 사이트 맵 작성시간을 줄일 수 있습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 -#, php-format -msgid "There was a problem while notifying YAHOO. View result" -msgstr "YAHOO에 통보하는 동안 문제가 발생했습니다. 결과 보기" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 -msgid "MSN was successfully notified about changes." -msgstr "MSN에 변경사항을 성공적으로 통보하였습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 -msgid "It took %time% seconds to notify MSN.com, maybe you want to disable this feature to reduce the building time." -msgstr "MSN.com에 통보하는데 %time% 초가 걸렸습니다. 만약 이 기능을 사용하지 않으면 사이트 맵 작성시간을 줄일 수 있습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 -#, php-format -msgid "There was a problem while notifying MSN.com. View result" -msgstr "MSN.com에 통보하는 동안 문제가 발생했습니다. 결과 보기" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 -msgid "Ask.com was successfully notified about changes." -msgstr "Ask.com에 변경사항을 성공적으로 통보하였습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "Ask.com에 통보하는데 %time% 초가 걸렸습니다. 만약 이 기능을 사용하지 않으면 사이트 맵 작성시간을 줄일 수 있습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 -#, php-format -msgid "There was a problem while notifying Ask.com. View result" -msgstr "Ask.com에 통보하는 동안 문제가 발생했습니다. 결과 보기" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "작성 과정을 완료하는데 약 %time% 초가 걸렸고, %memory% MB 의 메모리가 사용 되었습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 -msgid "The building process took about %time% seconds to complete." -msgstr "작성 과정을 완료하는데 %time% 초가 걸렸습니다. " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "마지막 실행이 완료되지 않았습니다! PHP 스크립트의 시간제한이나 메모리 한계를 올려 보시기 바랍니다. 정보 더 보기" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "최근에 스크립트가 사용한 메모리는 %memused%MB 이며, 서버의 메모리 한계는 %memlimit%입니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "최근에 스트립트가 실행하면서 걸린 시간은 %timeused%초 이고, 서버의 제한시간은 %timelimit%초 입니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "스크립트가 포스트 넘버 %lastpost% (+/- 100) 부근에서 멈추었습니다" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 -#, php-format -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "만약 서버 또는 블로그에 변경사항이 있다면 수동으로 사이트 맵을 재작성해야 합니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 -#, php-format -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "만약 작성 과정에 어떠한 문제가 발생한다면 디버그 기능을 이용하여 더 많은 정보를 얻을 수 있습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040 -msgid "Basic Options" -msgstr "기본 옵션" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -msgid "Sitemap files:" -msgstr "사이트 맵 파일:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -msgid "Learn more" -msgstr "정보 더 보기" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049 -msgid "Write a normal XML file (your filename)" -msgstr "표준 XML 파일 작성 ( 사용자 파일이름 )" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "압축 파일 작성 ( 사용자 파일이름 + .gz)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -msgid "Building mode:" -msgstr "작성 모드:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "블로그의 내용이 변경되었을 때 사이트 맵을 재작성함" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 -msgid "Enable manual sitemap building via GET Request" -msgstr "GET Request를 통해 수동 사이트 맵 작성이 가능토록 함" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 -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: %1 Please check the logfile above to see if sitemap was successfully built." -msgstr "이 항목은 워드프레스 API를 사용하지 않고 워드프레스 데이타 베이스에 내용을 작성하는 외부 프로그램이 있을 때 사이트 맵을 재생성할 수 있도록 해줍니다. 다음의 링크를 따라 가면 처리과정을 시작할 수 있습니다.: %1 사이트 맵을 성공적으로 작성했는지 확인하려면 위의 로그파일을 확인하시기 바랍니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -msgid "Update notification:" -msgstr "업데이트 통지:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -msgid "Notify Google about updates of your Blog" -msgstr "블로그의 업데이트를 Google에 통보" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#, php-format -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "등록이 필요하진 않지만, 구글 웹마스터 툴 에 가입하면 수집 통계를 확인할 수 있습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -msgid "Notify MSN Live Search about updates of your Blog" -msgstr "블로그의 업데이트를 MSN Live에 통보" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#, php-format -msgid "No registration required, but you can join the MSN Live Webmaster Tools to check crawling statistics." -msgstr "등록이 필요하진 않지만, MSN Live 웹마스터 툴 에 가입하면 수집 통계를 확인할 수 있습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 -msgid "Notify Ask.com about updates of your Blog" -msgstr "블로그의 업데이트를 Ask.com에 통보" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 -msgid "No registration required." -msgstr "등록 필요 없음." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 -msgid "Notify YAHOO about updates of your Blog" -msgstr "블로그의 업데이트를 YAHOO에 통보" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -msgid "Your Application ID:" -msgstr "당신의 Application ID:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 -#, php-format -msgid "Don't you have such a key? Request one here! %s2" -msgstr "Key를 가지고 있지 않나요? 여기서 신청하세요! %s2" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3099 -#, php-format -msgid "Modify or create %s file in blog root which contains the sitemap location." -msgstr "사이트 맵 위치를 포함하고 있는 블로그 루트의 %s 파일을 생성 또는 변경합니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3102 -msgid "File permissions: " -msgstr "파일 권한:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3107 -msgid "OK, robots.txt is writable." -msgstr "OK, robox.txt가 쓰기 가능한 상태입니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3109 -msgid "Error, robots.txt is not writable." -msgstr "Error, robots.txt가 쓰기 불가능한 상태입니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3113 -msgid "OK, robots.txt doesn't exist but the directory is writable." -msgstr "OK, robots.txt 파일은 존재하지 않지만 디렉토리가 쓰기 가능한 상태입니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3115 -msgid "Error, robots.txt doesn't exist and the directory is not writable" -msgstr "Error, robots.txt 가 존재하지 않으며 디렉토리도 쓰기 불가능한 상태입니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -msgid "Advanced options:" -msgstr "고급 옵션:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -msgid "Limit the number of posts in the sitemap:" -msgstr "사이트 맵에 포함될 포스트의 갯수를 제한함:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -msgid "Newer posts will be included first" -msgstr "최근 포스트가 먼저 포함됩니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -msgid "Try to increase the memory limit to:" -msgstr "메모리 한계를 증가시킴:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -msgid "e.g. \"4M\", \"16M\"" -msgstr "예. \"4M\", \"16M\"" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -msgid "Try to increase the execution time limit to:" -msgstr "실행 시간 제한을 증가시키도록함:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "초 단위로 기입, 예.\"60\" 또는 \"0\" (제한 없음)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Include a XSLT stylesheet:" -msgstr "XSLT 스타일시트를 포함:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Use Default" -msgstr "기본설정 사용" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Full or relative URL to your .xsl file" -msgstr ".xsl 파일의 전체 또는 상대 주소" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "MySQL 스탠다드 모드를 가능하게 함. MySQL 에러가 발생할 때만 사용하십시오. (더 많은 메모리가 필요함!)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "백그라운드 작업으로 사이트 맵을 생성 (포스트를 저장할 때 기다리지 않아도 됩니다.)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -msgid "Exclude the following posts or pages:" -msgstr "다음의 포스트나 페이지를 제외:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -msgid "List of IDs, separated by comma" -msgstr "콤마로 구분된 ID 리스트" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144 -msgid "Additional pages" -msgstr "페이지 추가" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "여기서 특정 파일이나 URL을 사이트 맵에 추가할 수 있지만 Blog/WordPress에 속해 있는 것은 추가 할 수 없습니다.
예를 들어, 도메인이 www.foo.com이고 블로그의 위치가 www.foo.com/blog 라면 www.foo.com을 홈페이지로 추가할 수 있습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 -msgid "Note" -msgstr "주의" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -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)!" -msgstr "블로그가 서브 디렉토리에 위치하는데 새 페이지를 추가하길 원한다면 사이트 맵 파일이 블로그 디렉토리나 그 아래에 있으면 안되고 root 디렉토리에 있어야 합니다. (이 페이지의 "사이트 맵 파일의 위치" 부분을 보십시오.)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300 -msgid "URL to the page" -msgstr "페이지의 주소" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "페이지의 주소를 입력하십시오.예:http://www.foo.com/index.html or www.foo.com/home" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301 -msgid "Priority" -msgstr "우선순위" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "다른 페이지에 비교하여 페이지의 우선 순위를 선택하십시오. 예를 들어 홈페이지는 다른 것에 비해 높은 우선 순위를 가져야 합니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303 -msgid "Last Changed" -msgstr "마지막 변경" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "최근 변경된 날짜를 YYYY-MM-DD (예 : 2005-12-31 ) 형식으로 입력하십시오 ( 선택사항 )" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302 -msgid "Change Frequency" -msgstr "변경 빈도" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304 -msgid "#" -msgstr "#" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309 -msgid "No pages defined." -msgstr "페이지가 지정되지 않았습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314 -msgid "Add new page" -msgstr "새 페이지 추가" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325 -msgid "Post Priority" -msgstr "포스트 우선순위" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 -msgid "Please select how the priority of each post should be calculated:" -msgstr "각 포스트의 우선순위를 어떻게 계산할 것인지 선택해 주십시오:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -msgid "Do not use automatic priority calculation" -msgstr "자동 우선순위 계산을 사용하지 않음" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "모든 포스트가 "우선권"에서 설정된 우선순위를 같게 됩니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348 -msgid "Location of your sitemap file" -msgstr "사이트 맵 파일의 위치" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353 -msgid "Automatic detection" -msgstr "자동 탐지" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357 -msgid "Filename of the sitemap file" -msgstr "사이트 맵 파일의 이름" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 -msgid "Detected Path" -msgstr "탐지된 경로" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 -msgid "Detected URL" -msgstr "탐지된 주소" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365 -msgid "Custom location" -msgstr "커스텀 로케이션" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369 -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "파일이름을 포함한 사이트 맵 파일의 절대 또는 상대 경로" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380 -msgid "Example" -msgstr "예제" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378 -msgid "Complete URL to the sitemap file, including name." -msgstr "파일이름을 포함한 사이트 맵 파일의 완전한 주소." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397 -msgid "Sitemap Content" -msgstr "사이트 맵 내용" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405 -msgid "Include homepage" -msgstr "홈페이지 추가" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 -msgid "Include posts" -msgstr "포스트 추가" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417 -msgid "Include static pages" -msgstr "정적 페이지 추가" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 -msgid "Include categories" -msgstr "카테고리 추가" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429 -msgid "Include archives" -msgstr "아카이브 추가" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 -msgid "Include tag pages" -msgstr "태크 페이지 추가" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443 -msgid "Include author pages" -msgstr "작성자 페이지 추가" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457 -msgid "Change frequencies" -msgstr "수집 빈도 변경" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463 -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." -msgstr "각 태그에 있는 수치들은 고려할 수 있는 사항일 뿐 절대적인 명령은 아닙니다. 서치 엔진의 Crawler가 아래의 정보를 수집 결정을 내릴 때 고려한다고 해도 \"매시간\" 으로 된 페이지를 더 긴 주기로 수집할 수도 있고 \"매년\" 으로 된 페이지를 더 짧은 주기로 수집할 수도 있습니다. 이것은 \"하지않음\"으로 된 페이지도 마찬가지로 주기적 수집을 할 수도 있어서 그러한 페이지에 발생한 변화를 예기치 않게 수집할 수도 있습니다." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535 -msgid "Homepage" -msgstr "홈페이지" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475 -msgid "Posts" -msgstr "포스트들" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 -msgid "Static pages" -msgstr "정적 페이지들" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559 -msgid "Categories" -msgstr "카테고리들" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "이번 달의 아카이브 ( 홈페이지와 같아야 합니다.)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "오래된 아카이브 ( 예전 포스트를 수정했을 때만 변경 하십시오.)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572 -msgid "Tag pages" -msgstr "태그 페이지들" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579 -msgid "Author pages" -msgstr "작성자 페이지들" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527 -msgid "Priorities" -msgstr "우선권" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541 -msgid "Posts (If auto calculation is disabled)" -msgstr "포스트 ( 만약 자동 계산이 중지 되었을 경우 )" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "최소 포스트 우선권 (만약 자동 계산이 활성화 되어있을 때도)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565 -msgid "Archives" -msgstr "아카이브" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 -msgid "Update options" -msgstr "옵션 업데이트" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591 -msgid "Reset options" -msgstr "옵션 초기화" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-nl_NL.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-nl_NL.mo deleted file mode 100644 index d3e84e13..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-nl_NL.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-nl_NL.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-nl_NL.po deleted file mode 100644 index 6a3896aa..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-nl_NL.po +++ /dev/null @@ -1,505 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: sitemap\n" -"POT-Creation-Date: \n" -"PO-Revision-Date: 2008-03-15 10:27+0100\n" -"Last-Translator: forkless \n" -"Language-Team: Arne Brachhold \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: German\n" -"X-Poedit-Country: GERMANY\n" - -msgid "Comment Count" -msgstr "Aantal Reacties" - -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "Gebruikt het aantal reacties van het bericht om de prioriteit te berekenen" - -msgid "Comment Average" -msgstr "Reactie Gemiddelde" - -msgid "Uses the average comment count to calculate the priority" -msgstr "Gebruik het reactie gemiddelde om de prioriteit te berekenen" - -msgid "Popularity Contest" -msgstr "Popularity Contest" - -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "Gebruikt het geactiveerde Popularity Contest Plugin van Alex King. Zie instellingen en meest populaire berichten" - -msgid "XML-Sitemap Generator" -msgstr "XML-Sitemap Generator" - -msgid "XML-Sitemap" -msgstr "XML-Sitemap" - -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "Hartelijke dank voor je donatie! Je helpt hierbij deze gratis plugin te ondersteunen en verder te ontwikkelen!" - -msgid "Hide this notice" -msgstr "Deze melding verbergen" - -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? Donations help me to continue support and development of this free software! Sure, no problem!" -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? Donaties helpen mij deze diese gratis software te ondersteunen en verder te ontwikkelen! Natuurlijk, geen probleem! " - -msgid "No thanks, please don't bug me anymore!" -msgstr "Nee dankjewel, val me hier niet meer mee lastig! " - -msgid "XML Sitemap Generator for WordPress" -msgstr "XML Sitemap Generator voor WordPress" - -msgid "Configuration updated" -msgstr "De instellingen zijn opgeslagen" - -msgid "Error while saving options" -msgstr "Bij het opslaan van de instellingen is een fout opgetreden." - -msgid "Pages saved" -msgstr "Pagina's opgeslagen" - -msgid "Error while saving pages" -msgstr "Bij het opslaan van de pagina's is een fout opgetreden" - -msgid "Robots.txt file saved" -msgstr "Robots.txt bestand opgeslagen" - -msgid "Error while saving Robots.txt file" -msgstr "Er is een fout opgetreden tijdens het opslaan van robots.txt" - -msgid "The default configuration was restored." -msgstr "De standaard instellingen zijn weer hersteld." - -msgid "open" -msgstr "openen" - -msgid "close" -msgstr "sluiten" - -msgid "click-down and drag to move this box" -msgstr "Klik en sleep om dit venster te verplaatsen" - -msgid "click to %toggle% this box" -msgstr "Klik om dit venster te %toggle%" - -msgid "use the arrow keys to move this box" -msgstr "gebruik de cursor toetsen om dit venster te verplaatsen" - -msgid ", or press the enter key to %toggle% it" -msgstr ", of druk op de enter toets om het te %toggle%" - -msgid "About this Plugin:" -msgstr "Over deze plugin:" - -msgid "Plugin Homepage" -msgstr "Plugin homepage" - -msgid "Notify List" -msgstr "E-Mail wanneer er een update is" - -msgid "Support Forum" -msgstr "Support Forum" - -msgid "Donate with PayPal" -msgstr "Met PayPal doneren" - -msgid "My Amazon Wish List" -msgstr "Amazon wensenlijst" - -msgid "translator_name" -msgstr "Mark Peters" - -msgid "translator_url" -msgstr "http://www.zinloosverteld.nl" - -msgid "Sitemap Resources:" -msgstr "Sitemap informatie:" - -msgid "Webmaster Tools" -msgstr "Webmaster Tools" - -msgid "Webmaster Blog" -msgstr "Webmaster Blog" - -msgid "Site Explorer" -msgstr "Site Explorer" - -msgid "Search Blog" -msgstr "Doorzoek Blog" - -msgid "Webmaster Center Blog" -msgstr "Webmaster Center Blog" - -msgid "Sitemaps Protocol" -msgstr "Sitemaps Protocol" - -msgid "Official Sitemaps FAQ" -msgstr "Officiële Sitemaps FAQ" - -msgid "My Sitemaps FAQ" -msgstr "Mijn Sitemaps FAQ" - -msgid "Recent Donations:" -msgstr "Recente Donaties:" - -msgid "List of the donors" -msgstr "Lijst van donateurs" - -msgid "Hide this list" -msgstr "Lijst verbergen" - -msgid "Thanks for your support!" -msgstr "Bedankt voor je support!" - -msgid "Status" -msgstr "Status" - -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "De sitemap is nog niet gegenereerd. Klik hier om deze voor de eerste keer aan te maken." - -msgid "Your sitemap was last built on %date%." -msgstr "Jouw Sitemap werd voor het laatst op %date% gegenereerd." - -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreMeer informatiezipped) was last built on %date%." -msgstr "Jouw (gezipt) sitemap werd voor het laatst op %date% gegenereerd." - -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreMeer informatiesuccessfully notified
about changes." -msgstr "Google is succesvol op de hoogte gesteld van de veranderingen." - -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -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?" - -msgid "There was a problem while notifying Google. View result" -msgstr "Er was een probleem bij het informeren van Google. Resultaat weergeven" - -msgid "YAHOO was successfully notified about changes." -msgstr "Yahoo is succesvol op de hoogte gesteld van de veranderingen." - -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -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?" - -msgid "There was a problem while notifying YAHOO. View result" -msgstr "Er was een probleem bij het informeren van Yahoo. Resultaat weergeven" - -msgid "MSN was successfully notified about changes." -msgstr "MSN.com is succesvol op de hoogte gesteld van de veranderingen." - -msgid "It took %time% seconds to notify MSN.com, maybe you want to disable this feature to reduce the building time." -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?" - -msgid "There was a problem while notifying MSN.com. View result" -msgstr "Er was een probleem bij het informeren van MSN.com. Resultaat weergeven" - -msgid "Ask.com was successfully notified about changes." -msgstr "Ask.com is succesvol op de hoogte gesteld van de veranderingen." - -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -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?" - -msgid "There was a problem while notifying Ask.com. View result" -msgstr "Er was een probleem bij het informeren van Ask.com. Resultaat weergeven" - -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "Het sitemap genereren duurde %time% seconden en gebruikte %memory%MB geheugen." - -msgid "The building process took about %time% seconds to complete." -msgstr "Het sitemap genereren duurde %time% seconden." - -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "De inhoud van de sitemap heeft zich niet gewijzigd sinds de laatste keer, als gevolgd zijn er geen bestanden weggeschreven en zijn de zoekmachines niet op de hoogte gesteld." - -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "De laatste generatie van de sitemap is niet afgesloten! Het kan helpen de geheugenlimiet voor PHP scripts te verhogen. Meer informatie" - -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "Het laatst bekende geheugengebruik van het script lag op %memused%MB, het limiet voor PHP scripts op deze server is %memlimit%." - -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "De laatst bekende doorlooptijd lag op %timeused% seconden, het limiet voor PHP scripts voor deze server is %timelimit% seconden." - -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "Het script is ongeveer gestopt bij bericht nummer %lastpost% (+/- 100)" - -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "Wanneer er iets gewijzigd is op de server of aan het Blog, dan kan men de sitemap met de hand opnieuw genereren." - -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "Indien er bij het genereren van de sitemap problemen zijn kan men de Debug Functie gebruiken om meer informatie over de opgetreden fout te achterhalen." - -msgid "Basic Options" -msgstr "Basisinstellingen" - -msgid "Sitemap files:" -msgstr "Sitemap bestanden:" - -msgid "Learn more" -msgstr "Meer informatie" - -msgid "Write a normal XML file (your filename)" -msgstr "Sitemap als XML bestand aanmaken (bestandsnaam)" - -msgid "Write a gzipped file (your filename + .gz)" -msgstr "Gezipte sitemap aanmaken (bestandsnaam + .gz)" - -msgid "Building mode:" -msgstr "Generatie mode::" - -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "Sitemap opnieuw genereren wanneer je de inhoud van je Blog wijzigt" - -msgid "Enable manual sitemap building via GET Request" -msgstr "Handmatig genereren van de sitemap via GET aanvragen toestaan" - -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: %1 Please check the logfile above to see if sitemap was successfully built." -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: %1 Controleer het logbestand hierboven om te kijken of de sitemap succesvol is gegenereerd." - -msgid "Update notification:" -msgstr "Wijzigings notificatie:" - -msgid "Notify Google about updates of your Blog" -msgstr "Google YAHOO op de hoogte stellen van de Blog wijzigingen" - -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "Registratie niet noodzakelijk, maar je kunt je optioneel aanmelden bij de Google Webmaster Tools om de indexeringsstatistieken van de site te bekijken." - -msgid "Notify MSN Live Search about updates of your Blog" -msgstr "MSN Live Search op de hoogte stellen van de Blog wijzigingen" - -msgid "No registration required, but you can join the MSN Live Webmaster Tools to check crawling statistics." -msgstr "Registratie niet noodzakelijk, maar je kunt je optioneel aanmelden bij de MSN Live Webmaster Tools om de indexeringsstatistieken van de site te bekijken." - -msgid "Notify Ask.com about updates of your Blog" -msgstr "Ask.com YAHOO op de hoogte stellen van de Blog wijzigingen" - -msgid "No registration required." -msgstr "Geen registratie noodzakelijk" - -msgid "Notify YAHOO about updates of your Blog" -msgstr "YAHOO op de hoogte stellen van de Blog wijzigingen" - -msgid "Your Application ID:" -msgstr "Jouw Application ID:" - -msgid "Don't you have such a key? Request one here! %s2" -msgstr "Nog geen key? Hier aanvragen! %s2" - -msgid "Modify or create %s file in blog root which contains the sitemap location." -msgstr "Maak of wijzig het %s bestand in de root directory van je Blog." - -msgid "File permissions: " -msgstr "Bestands permissies:" - -msgid "OK, robots.txt is writable." -msgstr "OK, robots.txt kan weggeschreven worden." - -msgid "Error, robots.txt is not writable." -msgstr "Error, robots.txt kan niet weggeschreven worden." - -msgid "OK, robots.txt doesn't exist but the directory is writable." -msgstr "OK, robots.txt bestaat nog niet, maar de directory kan beschreven worden." - -msgid "Error, robots.txt doesn't exist and the directory is not writable" -msgstr "Error, robots.txt bestaat niet en de directory is niet beschrijfbaar" - -msgid "Advanced options:" -msgstr "Uitgebreide instellingen" - -msgid "Limit the number of posts in the sitemap:" -msgstr "Het aantal berichten in de sitemap limiteren:" - -msgid "Newer posts will be included first" -msgstr "Nieuwe berichten worden het eerst opgenomen" - -msgid "Try to increase the memory limit to:" -msgstr "Probeer de geheugenlimiet te verhogen naar: " - -msgid "e.g. \"4M\", \"16M\"" -msgstr "bijv. \"4M\", \"16M\"" - -msgid "Try to increase the execution time limit to:" -msgstr "Probeer de tijdslimiet van de generatie aan te passen naar:" - -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "in seconden, bijv. \"60\" of \"0\" voor geen limiet" - -msgid "Include a XSLT stylesheet:" -msgstr "XSLT stylesheet toevoegen:" - -msgid "Use Default" -msgstr "Gebruik de standaard" - -msgid "Full or relative URL to your .xsl file" -msgstr "Volledige of relatieve pad naar het .xsl bestand" - -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "MySQL standaard mode activeren. Gebruik deze optie indien MYSQL fouten optreden (gebruikt meer geheugen!)" - -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "Genereer de sitemap in de achtergrond (Hierdoor is er geen wachttijd wanneer er een bericht wordt geplaatst)" - -msgid "Exclude the following posts or pages:" -msgstr "Volgende berichten of pagina's uitsluiten:" - -msgid "List of IDs, separated by comma" -msgstr "Lijst van de IDs, gescheiden door komma" - -msgid "Additional pages" -msgstr "Addtionele pagina's" - -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -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." - -msgid "Note" -msgstr "Notitie" - -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)!" -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)!" - -msgid "URL to the page" -msgstr "URL naar de pagina" - -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "Vul hier de URL naar de pagina in. Voorbeeld: http://www.zinloosverteld.nl of http://www.zinloosverteld.nl/blog" - -msgid "Priority" -msgstr "Prioriteit" - -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -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." - -msgid "Last Changed" -msgstr "Laatste wijziging" - -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -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." - -msgid "Change Frequency" -msgstr "Wijzigingsfrequentie" - -msgid "#" -msgstr "#" - -msgid "No pages defined." -msgstr "Er zijn geen pagina's gedefiniëerd." - -msgid "Add new page" -msgstr "Nieuwe pagina toevoegen" - -msgid "Post Priority" -msgstr "Bericht prioriteit" - -msgid "Please select how the priority of each post should be calculated:" -msgstr "Kies hier de berekeningsmethode voor de prioriteit van de berichten." - -msgid "Do not use automatic priority calculation" -msgstr "Geen automatische prioriteitsberekening gebruiken" - -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "Alle berichten hebben dezelfde prioriteit die onder "Prioriteiten" is ingesteld." - -msgid "Location of your sitemap file" -msgstr "Locatie van het sitemap bestand" - -msgid "Automatic detection" -msgstr "Automatische herkenning" - -msgid "Filename of the sitemap file" -msgstr "Bestandsnaam van de sitemap" - -msgid "Detected Path" -msgstr "Herkend pad" - -msgid "Detected URL" -msgstr "Herkende URL" - -msgid "Custom location" -msgstr "Handmatig ingesteld pad" - -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "Absoluut of relatief pad naar het sitemap bestand inclusief bestandsnaam." - -msgid "Example" -msgstr "Voorbeeld" - -msgid "Complete URL to the sitemap file, including name." -msgstr "Absolute URL naar het sitemap bestand inclusief de bestandsnaam." - -msgid "Sitemap Content" -msgstr "Sitemap inhoud" - -msgid "Include homepage" -msgstr "Bevat homepage" - -msgid "Include posts" -msgstr "Bevat berichten" - -msgid "Include static pages" -msgstr "Bevat statische pagina's" - -msgid "Include categories" -msgstr "Bevat categorieën" - -msgid "Include archives" -msgstr "Bevat archieven" - -msgid "Include tag pages" -msgstr "Bevag tag pagina's" - -msgid "Include author pages" -msgstr "Bevat auteur pagina's" - -msgid "Change frequencies" -msgstr "Wijzigingsfrequentie" - -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." -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." - -msgid "Homepage" -msgstr "Homepage" - -msgid "Posts" -msgstr "Berichten" - -msgid "Static pages" -msgstr "Statische pagina's" - -msgid "Categories" -msgstr "Categorieën" - -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Het archief van de huidige maand (Zou hetzelfde moeten zijn als de homepage)" - -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Archieven van voorgaande maanden" - -msgid "Tag pages" -msgstr "Tag pagina's" - -msgid "Author pages" -msgstr "Auteur pagina's" - -msgid "Priorities" -msgstr "Prioriteiten" - -msgid "Posts (If auto calculation is disabled)" -msgstr "Berichten (Wanneer automatische berekening is geactiveerd)" - -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Minimale prioriteit voor berichten (ook wanneer de automatische berekening is geactiveerd)" - -msgid "Archives" -msgstr "Archieven" - -msgid "Update options" -msgstr "Instellingen opslaan" - -msgid "Reset options" -msgstr "Instellingen herstellen" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pl_PL.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pl_PL.mo deleted file mode 100644 index 8e7168b0..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pl_PL.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pl_PL.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pl_PL.po deleted file mode 100644 index e59e3991..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pl_PL.po +++ /dev/null @@ -1,640 +0,0 @@ -# Polish Language File for Google XML Sitemaps - sitemap-pl_PL.po) -# Copyright (C) 2007 Kuba Zwolinski : http://kubazwolinski.com -# This file is distributed under the same license as the WordPress package. -# kuba , 2007. -# $Id: sitemap-pl_PL.po 2504 2007-10-03 09:19:18Z -# -msgid "" -msgstr "" -"Project-Id-Version: Google Sitemap Generator PL\n" -"Report-Msgid-Bugs-To: <[mail-address]>\n" -"POT-Creation-Date: 2005-06-15 00:00+0000\n" -"PO-Revision-Date: 2007-12-30 12:52+0100\n" -"Last-Translator: Kuba Zwolinski \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language-Team: SnowDog \n" -"X-Poedit-Language: Polish\n" -"X-Poedit-Country: POLAND\n" -"X-Poedit-SourceCharset: utf-8\n" -"X-Poedit-KeywordsList: __;_e\n" -"X-Poedit-Basepath: .\n" -"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:846 -msgid "Comment Count" -msgstr "Liczba komentarzy" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:858 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "Używa liczbę komentarzy do obliczania priorytetu wpisu" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:918 -msgid "Comment Average" -msgstr "Średnia komentarzy" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:930 -msgid "Uses the average comment count to calculate the priority" -msgstr "Używa średnią liczbę komentarzy do obliczania priorytetu wpisu" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:993 -msgid "Popularity Contest" -msgstr "Konkurs popularności" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:1005 -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "Używa włączonej wtyczki Popularity Contest od Alex King. Zobaczustawienia i najbardziej popularne wpisy" - -msgid "XML-Sitemap Generator" -msgstr "Generator XML-Sitemap" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2397 -msgid "XML-Sitemap" -msgstr "XML-Sitemap" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2582 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "Wielkie dzięki za wsparcie. Pomagasz mi rozwijać tę wtyczkę oraz inne darmowe oprogramowanie!" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2582 -msgid "Hide this notice" -msgstr "Ukryj tę informację" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2606 -#, php-format -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? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "Dzięki za używanie tej wtyczki! Wtyczka została zainstalowana ponad miesiąc temu. Jeśli działa dobrze i rezultaty sa zgodne z Twoimi oczekiwaniami, czy nie jest to wart paru złotych? Dotacje pomagają mi kontynuowac rozwój wtyczki oraz zapewnić pomoc techniczną użytkownikom tego darmowego programu! Jasne, bardzo chętnie!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2606 -msgid "No thanks, please don't bug me anymore!" -msgstr "Nie, dzięki. I nie zawracaj mi więcej tym głowy!" - -msgid "XML Sitemap Generator for WordPress" -msgstr "Generator XML-Sitemap" - -msgid "Configuration updated" -msgstr "Konfiguracja zaktualizowana" - -msgid "Error while saving options" -msgstr "Wystąpił błąd podczas zapisywania opcji" - -msgid "Pages saved" -msgstr "Strony zostały zapisane" - -msgid "Error while saving pages" -msgstr "Wystąpił błąd podczas zapisywania stron." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2711 -#, php-format -msgid "Robots.txt file saved" -msgstr "Plik Robots.txt został zapisany" - -msgid "Error while saving Robots.txt file" -msgstr "Wystąpił błąd podczas zapisu pliku Robots.txt" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2721 -msgid "The default configuration was restored." -msgstr "Domyślna konfiguracja została przywrócona." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2814 -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2831 -msgid "open" -msgstr "otworzyć" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2815 -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2832 -msgid "close" -msgstr "zamknąć" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2816 -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2833 -msgid "click-down and drag to move this box" -msgstr "wciśnik klawisz i przeciągnij żeby przesunąć" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2817 -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2834 -msgid "click to %toggle% this box" -msgstr "kliknij aby %toggle% to pole" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2818 -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2835 -msgid "use the arrow keys to move this box" -msgstr "użyj kursorów aby przesunąć ten blok" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2819 -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2836 -msgid ", or press the enter key to %toggle% it" -msgstr ", lub wciśnij enter aby %toggle%" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2847 -msgid "About this Plugin:" -msgstr "O wtyczce:" - -msgid "Plugin Homepage" -msgstr "Strona główna wtyczki" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2850 -msgid "Notify List" -msgstr "Lista zmian wtyczki" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2851 -msgid "Support Forum" -msgstr "Forum pomocy" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2852 -msgid "Donate with PayPal" -msgstr "Wspomóż nas przez PayPal" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2853 -msgid "My Amazon Wish List" -msgstr "Lista życzeń Amazon" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2854 -msgid "translator_name" -msgstr "Strona tłumaczenia" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2854 -msgid "translator_url" -msgstr "http://kubazwolinski.com/wordpress/tlumaczenie-wtyczki-google-xml-sitemaps/" - -msgid "Sitemap Resources:" -msgstr "O mapie strony:" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2860 -msgid "Webmaster Tools" -msgstr "Webmaster Tools" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2861 -msgid "Webmaster Blog" -msgstr "Webmaster Blog" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2863 -msgid "Site Explorer" -msgstr "Site Explorer" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2864 -msgid "Search Blog" -msgstr "Search Blog" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2861 -msgid "Webmaster Center Blog" -msgstr "Webmaster Center Blog" - -msgid "Sitemaps Protocol" -msgstr "Sitemaps Protocol" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2867 -msgid "Official Sitemaps FAQ" -msgstr "Official Sitemaps FAQ" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2868 -msgid "My Sitemaps FAQ" -msgstr "FAQ wtyczki" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2873 -msgid "Recent Donations:" -msgstr "Ostatnie dotacje:" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2877 -msgid "List of the donors" -msgstr "Lista darczyńców" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2879 -msgid "Hide this list" -msgstr "Ukryj tę listę" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2882 -msgid "Thanks for your support!" -msgstr "Dzięki za wsparcie!" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2894 -msgid "Status" -msgstr "Status" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2904 -#, php-format -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "Mapa strony nie została jeszcze zbudowana. Kliknij tutaj, aby ją zbudować po raz pierwszy." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2910 -msgid "Your sitemap was last built on %date%." -msgstr "Ostatnia modyfikacja twojej mapy strony: %date%." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2912 -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreDowiedz się więcejzipped) was last built on %date%." -msgstr "Ostatnia modyfikacja twojej spakowanej mapy strony: %date%." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2921 -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreDowiedz się więcejsuccessfully notified about changes." -msgstr "Google został pomyślnie powiadomiony o zmianach." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2930 -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "Powiadomienie Google zajęło %time% sekund, możesz wyłączyć tę opcję, aby zredukować czas publikacji." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2933 -#, php-format -msgid "There was a problem while notifying Google. View result" -msgstr "Wystąpił problem z powiadomieniem Google. Obejrzyj rezultat" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2939 -msgid "YAHOO was successfully notified about changes." -msgstr "YAHOO został pomyślnie powiadomiony o zmianach." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2942 -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "Powiadomienie YAHOO zajęło %time% sekund, możesz wyłączyć tę opcję, aby zredukować czas publikacji." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2945 -#, php-format -msgid "There was a problem while notifying YAHOO. View result" -msgstr "Wystąpił problem z powiadomieniem YAHOO. Obejrzyj rezultat" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2939 -msgid "MSN was successfully notified about changes." -msgstr "MSN został pomyślnie powiadomiony o zmianach." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2954 -msgid "It took %time% seconds to notify MSN.com, maybe you want to disable this feature to reduce the building time." -msgstr "Powiadomienie MSN.com zajęło %time% sekund, możesz wyłączyć tę opcję, aby zredukować czas publikacji." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2957 -#, php-format -msgid "There was a problem while notifying MSN.com. View result" -msgstr "Wystąpił problem z powiadomieniem MSN.com. Obejrzyj rezultat" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2951 -msgid "Ask.com was successfully notified about changes." -msgstr "Ask.com został pomyślnie powiadomiony o zmianach." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2954 -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "Powiadomienie Ask.com zajęło %time% sekund, możesz wyłączyć tę opcję, aby zredukować czas publikacji." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2957 -#, php-format -msgid "There was a problem while notifying Ask.com. View result" -msgstr "Wystąpił problem z powiadomieniem Ask.com. Obejrzyj rezultat" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2965 -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "Proces budowy mapy zajął %time% sek. i wykorzystał %memory% MB pamięci." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2967 -msgid "The building process took about %time% seconds to complete." -msgstr "Proces budowy mapy zajął %time% sek." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2971 -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "Zawartość twojej mapy nie zmieniła się /strong> od ostatniego razu, więc pliki nie zostały nadpisane i żadna wyszukiwarka nie została powiadomiona." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2975 -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "Ostatnia operacja nie została zakończona! Może należy zwiększyć limit pamieci lub czasu wykonywania dla skryptów PHP. Dowiedz się więcej" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2977 -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "Ostatnie znane zużycie pamięci wyniosło %memused%MB, limit twojego serwera to %memlimit%." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2981 -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "Ostatni znany czas wykonywania skryptu wyniósł %timeused% sek., limit twojego serwera wynosi %timelimit% sek." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2985 -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "Skrypt przerwał wykonywanie w okolicach wpisu nr %lastpost% (+/- 100)" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2988 -#, php-format -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "Jeśli na blogu coś zostało zmienione, należy przebudować mapę ręcznie." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2990 -#, php-format -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "Jeśli napotkasz jakiś problem podczas procesu budowy mapy, możesz użyć funkcji debugowania aby uzyskać więcej informacji." - -msgid "Basic Options" -msgstr "Opcje podstawowe" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3007 -msgid "Sitemap files:" -msgstr "Pliki mapy strony:" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3007 -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3022 -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3042 -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3067 -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3084 -msgid "Learn more" -msgstr "Dowiedz się więcej" - -msgid "Write a normal XML file (your filename)" -msgstr "Zapisz normalny plik XML (własna nazwa)" - -msgid "Write a gzipped file (your filename + .gz)" -msgstr "Zapisz plik gzip (własna nazwa + .gz)" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3022 -msgid "Building mode:" -msgstr "Tryb budowy:" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3027 -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "Przebudowuj mapę przy zmianie zawartości bloga" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3034 -msgid "Enable manual sitemap building via GET Request" -msgstr "Włącz manualne przebudowywanie mapy przez polecenie GET" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3038 -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: %1 Please check the logfile above to see if sitemap was successfully built." -msgstr "Ta opcja pozwoli na odświeżenie mapy strony jeśli jakieś zewnętrzne narzędzie dokona zapisu w bazie danych WordPress z pominięciem WordPress API. Użyj następującego adresu w celu rozpoczęcia procesu: %1 Sprawdź plik logu powyżej, aby sprawdzić czy mapa została odpowiednio przebudowana." - -msgid "Update notification:" -msgstr "Powiadomienia o aktualizacjach:" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3046 -msgid "Notify Google about updates of your Blog" -msgstr "Powiadamiaj Google o aktualizacjach twojego bloga" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3047 -#, php-format -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "Rejestracja nie jest wymagana, ale możesz sprawdzić Google Webmaster Tools aby kontrolować statystyki indeksowania." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3046 -msgid "Notify MSN Live Search about updates of your Blog" -msgstr "Powiadamiaj MSN Live Search o aktualizacjach twojego bloga" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3047 -#, php-format -msgid "No registration required, but you can join the MSN Live Webmaster Tools to check crawling statistics." -msgstr "Rejestracja nie jest wymagana, ale możesz sprawdzić MSN Live Webmaster Tools aby kontrolować statystyki indeksowania." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3051 -msgid "Notify Ask.com about updates of your Blog" -msgstr "Powiadamiaj Ask.com o aktualizacjach twojego bloga" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3052 -msgid "No registration required." -msgstr "Rejestracja nie jest konieczna" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3056 -msgid "Notify YAHOO about updates of your Blog" -msgstr "Powiadamiaj YAHOO o aktualizacjach twojego bloga" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -msgid "Your Application ID:" -msgstr "ID aplikacji:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 -#, php-format -msgid "Don't you have such a key? Request one here! %s2" -msgstr "Nie masz takiego klucza? Zamów go tutaj! %s2" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3062 -#, php-format -msgid "Modify or create %s file in blog root which contains the sitemap location." -msgstr "Modyfikuj lub utwórz plik %s w katalogu strony gdzie znajduje się mapa strony." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3065 -msgid "File permissions: " -msgstr "Status pliku: " - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3070 -msgid "OK, robots.txt is writable." -msgstr "OK, plik robots.txt ma prawa do zapisu." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3072 -msgid "Error, robots.txt is not writable." -msgstr "Błąd, plik robots.txt nie ma praw do zapisu." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3076 -msgid "OK, robots.txt doesn't exist but the directory is writable." -msgstr "OK, plik robots.txt nie istnieje, ale katalog ma prawa do zapisu przez serwer." - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3078 -msgid "Error, robots.txt doesn't exist and the directory is not writable" -msgstr "Błąd, plik robots.txt nie istnieje i katalog nie ma prawa do zapisu przez serwer" - -msgid "Advanced options:" -msgstr "Zaawansowane opcje:" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3087 -msgid "Limit the number of posts in the sitemap:" -msgstr "Limituj ilość wpisów w mapie:" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3087 -msgid "Newer posts will be included first" -msgstr "Nowsze wpisy będą załączone jako pierwsze" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3090 -msgid "Try to increase the memory limit to:" -msgstr "Spróbuj zwiększyć limit pamięci do:" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3090 -msgid "e.g. \"4M\", \"16M\"" -msgstr "np. \"4M\", \"16M\"" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3093 -msgid "Try to increase the execution time limit to:" -msgstr "Spróbuj zwiększyć limit czasu wykonywania do:" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3093 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "w sekundach, np. \"60\" lub \"0\" dla nieograniczonego" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3096 -msgid "Include a XSLT stylesheet:" -msgstr "Załącz arkusz stylu XSLT: " - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3096 -msgid "Use Default" -msgstr "Użyj wartości domyślnych" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3096 -msgid "Full or relative URL to your .xsl file" -msgstr "Absolutna lub relatywna ścieżka to twojego plik .xsl " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "Włącz standardowy tryb MySQL. Użyj tego tylko w przypadku występowania błędów MySQL (zużywa duzo więcej pamięci!)." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "Buduj mapę strony w tle (nie musisz czekać kiedy zapisujesz swój wpis)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -msgid "Exclude the following posts or pages:" -msgstr "Wyłącz następujące wpisy lub strony:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -msgid "List of IDs, separated by comma" -msgstr "Lista ID, oddzielonych przecinkami" - -msgid "Additional pages" -msgstr "Dodatkowe strony" - -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "Tutaj możesz podąć pliki lub adresy URL, które powinny znaleźć się w twojej mapie strony, chociaż nie należą do blogu/WordPress'a.
Na przykład, jeśli twoja domena to www.foo.com i twój blog znajduje się na www.foo.com/blog, możesz chcieć umieścić także stronę główną (czyli www.foo.com)" - -msgid "Note" -msgstr "Notatka" - -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)!" -msgstr "Jeśli twój blog znajduje się w podkatalogu i chcesz dodać strony które NIE znajdują się katalogu blogu lub jego subkatalogu, MUSISZ umieścić swoją mapę strony w katalogu głównym (zobacz sekcję " Lokalizacja twojej mapy strony" na tej stronie)!" - -msgid "URL to the page" -msgstr "URL strony" - -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "Wpisz adres URL strony. Przykłady: http://www.foo.com/index.html lub www.foo.com/home " - -msgid "Priority" -msgstr "Priorytet" - -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "Wybierz priorytet strony w odniesieniu do innych stron. Na przykład, strona główna może mieć wyższy priorytet niż informacje o tobie." - -msgid "Last Changed" -msgstr "Ostatnio zmieniony" - -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "Wpisz datę ostatniej zmiany jako YYYY-MM-DD (na przykład: 2005-12-31) (opcja)." - -msgid "Change Frequency" -msgstr "Zmień częstotliwość" - -msgid "#" -msgstr "#" - -msgid "No pages defined." -msgstr "Brak zdefiniowanych stron" - -msgid "Add new page" -msgstr "Dodaj nową stronę" - -msgid "Post Priority" -msgstr "Priorytet wpisu" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3292 -msgid "Please select how the priority of each post should be calculated:" -msgstr "Wybierz sposób obliczania priorytetu poszczególnych wpisów:" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3294 -msgid "Do not use automatic priority calculation" -msgstr "Nie używaj automatycznego obliczania priorytetu" - -# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3294 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "Wszystkie wpisy mają ten sam priorytet, który jest zdefiniowany "Priorytety"" - -msgid "Location of your sitemap file" -msgstr "Lokalizacja twojego pliku mapy strony" - -msgid "Automatic detection" -msgstr "Automatycznw wykrywanie" - -msgid "Filename of the sitemap file" -msgstr "Nazwa pliku mapy strony" - -msgid "Detected Path" -msgstr "Wykryta ścieżka" - -msgid "Detected URL" -msgstr "Wykryty URL" - -msgid "Custom location" -msgstr "Własna lokalizacja" - -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "Absolutna ścieżka do pliku mapy strony, zawierający nazwę. " - -msgid "Example" -msgstr "Przykład" - -msgid "Complete URL to the sitemap file, including name." -msgstr "Pełen adres URL to pliku mapy strony, zawierający nazwę." - -msgid "Sitemap Content" -msgstr "Zawartość mapy strony" - -msgid "Include homepage" -msgstr "Zawiera stronę główną" - -msgid "Include posts" -msgstr "Zawiera wpisy" - -msgid "Include static pages" -msgstr "Zawiera statyczne strony" - -msgid "Include categories" -msgstr "Zawiera kategorie" - -msgid "Include archives" -msgstr "Zawiera archiwa" - -msgid "Include tag pages" -msgstr "Zawiera strony tagów" - -msgid "Include author pages" -msgstr "Zawiera strony autorów" - -msgid "Change frequencies" -msgstr "Zmień częstotliwość" - -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." -msgstr "Proszę wziąść pod uwagę, że zawartość tego znacznika jest wskazówką, a nie poleceniem. Nawet jeśli wyszukiwarki biorą tą informację pod uwagę podczas podejmowania decyzji, to mogą one przeglądać strony zaznaczone jako \"co godzinę\" rzadziej. Jest również prawdopodobne, że strony oznaczone jako \"co rok\" będą przeglądane częściej. Również jest możliwe, że mimo oznaczenia \"nigdy\", wyszukiwarki mogą takie strony czasem przeglądać i wychwytywać nieoczekiwanie zmiany na tych stronach." - -msgid "Homepage" -msgstr "Strona główna" - -msgid "Posts" -msgstr "Wpisy" - -msgid "Static pages" -msgstr "Statyczne strony" - -msgid "Categories" -msgstr "Kategorie" - -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Aktualne archiwum tego miesiąca (powinno mieć taką samą częstotliwość jak strona główna)" - -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Starsz archiwa (zmień tylko jeśli edytujesz stare wpisy)" - -msgid "Tag pages" -msgstr "Strony tagów" - -msgid "Author pages" -msgstr "Strony autorów" - -msgid "Priorities" -msgstr "Priorytety" - -msgid "Posts (If auto calculation is disabled)" -msgstr "Wpisy (jeśli automatyczne przeliczanie jest wyłączone)" - -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Minimalny priorytet wpisu (nawet jeśli automatyczne przeliczanie jest włączone)" - -msgid "Archives" -msgstr "Archiwa" - -msgid "Update options" -msgstr "Zaktualizuj opcje" - -msgid "Reset options" -msgstr "Reset opcji" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pt_BR.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pt_BR.mo deleted file mode 100644 index 2c7283e2..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pt_BR.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pt_BR.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pt_BR.po deleted file mode 100644 index f13e0fb5..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pt_BR.po +++ /dev/null @@ -1,327 +0,0 @@ -# [Countryname] Language File for sitemap (sitemap-[localname].po) -# Copyright (C) 2005 [name] : [URL] -# This file is distributed under the same license as the WordPress package. -# [name] <[mail-address]>, 2005. -# $Id: sitemap-es_ES.po 2504 2005-07-03 22:19:18Z arnee $ -# -msgid "" -msgstr "" -"Project-Id-Version: sitemap\n" -"Report-Msgid-Bugs-To: <[mail-address]>\n" -"POT-Creation-Date: 2005-06-15 00:00+0000\n" -"PO-Revision-Date: 2006-11-24 18:57-0300\n" -"Last-Translator: Rafael Lima \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language-Team: Pedro Polonia \n" -"X-Poedit-Language: Portuguese\n" -"X-Poedit-Country: PORTUGAL\n" -"X-Poedit-SourceCharset: utf-8\n" -"X-Poedit-Bookmarks: -1,59,-1,-1,-1,71,-1,-1,-1,-1\n" - -#: sitemap.php:375 -msgid "always" -msgstr "sempre" - -msgid "hourly" -msgstr "a cada hora" - -msgid "daily" -msgstr "diariamente" - -msgid "weekly" -msgstr "semanalmente" - -msgid "monthly" -msgstr "mensalmente" - -msgid "yearly" -msgstr "anualmente" - -msgid "never" -msgstr "nunca" - -msgid "Detected Path" -msgstr "Caminho detectado" - -msgid "Example" -msgstr "Exemplo" - -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "Caminho absoluto ou relativo para o arquivo sitemap, incluindo o nome." - -msgid "Complete URL to the sitemap file, including name." -msgstr "URL completo para o arquivo sitemap, incluindo o nome." - -msgid "Automatic location" -msgstr "Localização automática" - -msgid "Manual location" -msgstr "Localização manual" - -msgid "OR" -msgstr "OU" - -msgid "Location of your sitemap file" -msgstr "Localização do arquivo sitemap" - -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)!" -msgstr "Se o seu blog está numa pasta e quer adicionar paginas que NÃO estão na pasta do seu blog ou em sub-pastas, DEVE colocar o seu arquivo sitemap na raiz dos directórios (Olhe na secção \"Localização do seu arquivo sitemap\" nesta página)! " - -#: sitemap.php:512 -msgid "Configuration updated" -msgstr "Configuração actualizada" - -#: sitemap.php:513 -msgid "Error" -msgstr "Erro" - -#: sitemap.php:521 -msgid "A new page was added. Click on "Save page changes" to save your changes." -msgstr "Uma nova página foi adicionada. Seleccione em \"Gravar alterações\" para guardar as alterações. " - -#: sitemap.php:527 -msgid "Pages saved" -msgstr "Páginas guardadas" - -#: sitemap.php:528 -msgid "Error while saving pages" -msgstr "Erro durante a gravação das páginas " - -#: sitemap.php:539 -msgid "The page was deleted. Click on "Save page changes" to save your changes." -msgstr "A página foi eliminada. Seleccione em \"Gravar alterações\" para guardar as alterações. " - -#: sitemap.php:542 -msgid "You changes have been cleared." -msgstr "As suas alterações foram anuladas." - -#: sitemap.php:555 -msgid "Sitemap Generator" -msgstr "Gerador Sitemap" - -#: sitemap.php:558 -msgid "Manual rebuild" -msgstr "Reconstrução manual" - -#: sitemap.php:559 -msgid "If you want to build the sitemap without editing a post, click on here!" -msgstr "Se deseja construir o sitemap sem editar nenhum artigo, clique aqui!" - -#: sitemap.php:560 -msgid "Rebuild Sitemap" -msgstr "Reconstruir Sitemap" - -#: sitemap.php:564 -msgid "Additional pages" -msgstr "Páginas adicionais" - -#: sitemap.php:566 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "Aqui pode especificar os arquivos ou URLs que devem ser incluídas no sitemap mas que não pertencem ao seu blog/WordPress.
Por exemplo: se o teu domínio é www.foo.com e o teu blog está localizado em www.foo.com/blog, deve querer incluir a sua página inicial em www.foo.com " - -#: sitemap.php:568 -msgid "URL to the page" -msgstr "URL da página" - -#: sitemap.php:569 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "URL da página. Exemplos: http://www.foo.com/index.html ou www.foo.com/home" - -#: sitemap.php:571 -msgid "Priority" -msgstr "Prioridade" - -#: sitemap.php:572 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "Escolha a prioridade relativa da página relativa a outras páginas. Por exemplo, a sua página inicial deve ter uma maior prioridade que os seus dados pessoais." - -#: sitemap.php:574 -msgid "Last Changed" -msgstr "Última Alteração" - -#: sitemap.php:575 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "Entre a data da última alteração como AAAA-MM-DD (por exemplo: 2005-12-31) (opcional). " - -#: sitemap.php:583 -msgid "Change Frequency" -msgstr "Frequência das Alterações " - -#: sitemap.php:585 -msgid "#" -msgstr "#" - -#: sitemap.php:609 -msgid "No pages defined." -msgstr "Nenhuma página definida" - -#: sitemap.php:616 -msgid "Add new page" -msgstr "Adicionar nova página " - -#: sitemap.php:617: -msgid "Save page changes" -msgstr "Guardar as alterações da página" - -#: sitemap.php:618: -msgid "Undo all page changes" -msgstr "Desfazer todas as alterações da página" - -#: sitemap.php:621: -msgid "Delete marked page" -msgstr "Apagar a página marcada" - -#: sitemap.php:627 -msgid "Basic Options" -msgstr "Opções Básicas" - -#: sitemap.php:632 -msgid "Enable automatic priority calculation for posts based on comment count" -msgstr "Activar o cálculo automático de prioridades para artigos baseado no número de comentários. " - -#: sitemap.php:638 -msgid "Write debug comments" -msgstr "Escrever comentários de depuração (debug) " - -#: sitemap.php:643 -msgid "Filename of the sitemap file" -msgstr "Nome do arquivo sitemap" - -#: sitemap.php:650 -msgid "Write a normal XML file (your filename)" -msgstr "Escrever um arquivo XML normal (nome do arquivo)" - -#: sitemap.php:652 -msgid "Detected URL" -msgstr "URL detectada" - -#: sitemap.php:657 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "Gravar um arquivo comprimido com gzip (nome_arquivo +.gz)" - -#: sitemap.php:664 -msgid "Auto-Ping Google Sitemaps" -msgstr "Ping automático a Google Sitemaps" - -#: sitemap.php:665 -msgid "This option will automatically tell Google about changes." -msgstr "Esta opção indicará automaticamente as alterações ao Google." - -#: sitemap.php:672 -msgid "Includings" -msgstr "Inclusões" - -#: sitemap.php:677 -msgid "Include homepage" -msgstr "Incluir página principal" - -#: sitemap.php:683 -msgid "Include posts" -msgstr "Incluir artigos" - -#: sitemap.php:689 -msgid "Include static pages" -msgstr "Incluir páginas estáticas" - -#: sitemap.php:695 -msgid "Include categories" -msgstr "Incluir categorías" - -#: sitemap.php:701 -msgid "Include archives" -msgstr "Incluir arquivos" - -#: sitemap.php:708 -msgid "Change frequencies" -msgstr "Frequência das mudanças " - -#: sitemap.php:709 -msgid "Note" -msgstr "Nota" - -#: sitemap.php:710 -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." -msgstr "Por favor, considere que o valor desta etiqueta é um conselho e não um comando. Mesmo quando alguns agentes de pesquisa (search engine crawlers) consideram esta informação para tomar decisões, eles podem verificar as páginas marcadas como \"a cada hora\" com menor frequência, e visitar varias vezes por ano, as páginas marcadas com \"anualmente\".É igualmente possível que sejam verificadas páginas marcadas com \"nunca\" para gerir possíveis mudanças inesperadas nas mesmas." - -#: sitemap.php:715 -msgid "Homepage" -msgstr "Página principal" - -#: sitemap.php:721 -msgid "Posts" -msgstr "Artigos" - -#: sitemap.php:727 -msgid "Static pages" -msgstr "Páginas estáticas" - -#: sitemap.php:733 -msgid "Categories" -msgstr "Categorias" - -#: sitemap.php:739 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Arquivo deste mês (Deve ser igual ao da sua pagina principal)" - -#: sitemap.php:745 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Arquivos antigos (Alterar só se editou um artigo antigo)" - -#: sitemap.php:752 -msgid "Priorities" -msgstr "Prioridades" - -#: sitemap.php:763 -msgid "Posts (If auto calculation is disabled)" -msgstr "Artigos (Se o calculo automático está inativo) " - -#: sitemap.php:769 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Prioridade mínima para artigos (Mesmo quando o cálculo automático está ativo) " - -#: sitemap.php:787 -msgid "Archives" -msgstr "Arquivos" - -#: sitemap.php:793 -msgid "Informations and support" -msgstr "Informação e suporte" - -#: sitemap.php:794 -msgid "Check %s for updates and comment there if you have any problems / questions / suggestions." -msgstr "Consulte %s para atualizações e comentários se tiver algum problema, questão ou sugestão." - -#: sitemap.php:797 -msgid "Update options" -msgstr "Atualizar opções" - -#: sitemap.php:1033 -msgid "URL:" -msgstr "URL:" - -#: sitemap.php:1034 -msgid "Path:" -msgstr "Caminho:" - -#: sitemap.php:1037 -msgid "Could not write into %s" -msgstr "Não foi possivel escrever em %s" - -#: sitemap.php:1048 -msgid "Successfully built sitemap file:" -msgstr "Arquivo sitemap criado com sucesso:" - -#: sitemap.php:1048 -msgid "Successfully built gzipped sitemap file:" -msgstr "Arquivo sitemap comprimido criado com sucesso:" - -#: sitemap.php:1062 -msgid "Could not ping to Google at %s" -msgstr "Não foi possível realizar ping no Google em %s" - -#: sitemap.php:1064 -msgid "Successfully pinged Google at %s" -msgstr "Ping a Google realizado com sucesso em %s" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pt_PT.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pt_PT.mo deleted file mode 100644 index 5d5e39a0..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pt_PT.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pt_PT.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pt_PT.po deleted file mode 100644 index 2ec1035d..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-pt_PT.po +++ /dev/null @@ -1,985 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: Google XML Sitemaps v4.0.3\n" -"Report-Msgid-Bugs-To: <[mail-address]>\n" -"POT-Creation-Date: 2005-06-15 00:00+0000\n" -"PO-Revision-Date: 2014-04-19 19:06+0100\n" -"Last-Translator: \n" -"Language-Team: wordpress.mowster.net \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Poedit 1.6.4\n" -"X-Poedit-SourceCharset: utf-8\n" -"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;" -"_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2\n" -"X-Poedit-Basepath: .\n" -"X-Poedit-Bookmarks: -1,59,-1,-1,-1,71,-1,-1,-1,-1\n" -"X-Textdomain-Support: yes\n" -"Language: pt_PT\n" -"X-Poedit-SearchPath-0: .\n" - -# @ sitemap -#: sitemap-ui.php:816 -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)!" -msgstr "" -"Se o seu blog está numa pasta e quer adicionar paginas que NÃO estão na " -"pasta do seu blog ou em sub-pastas, DEVE colocar o seu ficheiro sitemap na " -"raiz dos diretorias (Verifique na secção \"Localização do seu ficheiro " -"sitemap\" nesta página)!" - -# @ sitemap -#: sitemap-ui.php:374 -msgid "Configuration updated" -msgstr "Configuração atualizada" - -# @ sitemap -#: sitemap-ui.php:378 -msgid "Pages saved" -msgstr "Páginas guardadas" - -# @ sitemap -#: sitemap-ui.php:379 -msgid "Error while saving pages" -msgstr "Erro durante a gravação das páginas" - -# @ sitemap -#: sitemap-ui.php:810 -msgid "Additional pages" -msgstr "Páginas adicionais" - -# @ sitemap -#: sitemap-ui.php:813 -msgid "" -"Here you can specify files or URLs which should be included in the sitemap, " -"but do not belong to your Blog/WordPress.
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" -msgstr "" -"Aqui pode especificar os ficheiros ou URLs que devem ser incluídas no " -"sitemap mas que não pertencem ao seu blog/WordPress.
Por exemplo: se o " -"seu domínio é www.foo.com e o seu blog está localizado em www.foo.com/blog, " -"deve querer incluir a sua página inicial em www.foo.com" - -# @ sitemap -#: sitemap-ui.php:818 sitemap-ui.php:857 -msgid "URL to the page" -msgstr "URL da página" - -# @ sitemap -#: sitemap-ui.php:819 -msgid "" -"Enter the URL to the page. Examples: http://www.foo.com/index.html or www." -"foo.com/home " -msgstr "" -"URL da página. Exemplos: http://www.foo.com/index.html ou www.foo.com/home " - -# @ sitemap -#: sitemap-ui.php:821 sitemap-ui.php:858 -msgid "Priority" -msgstr "Prioridade" - -# @ sitemap -#: sitemap-ui.php:822 -msgid "" -"Choose the priority of the page relative to the other pages. For example, " -"your homepage might have a higher priority than your imprint." -msgstr "" -"Escolha a prioridade relativa da página em relação a outras páginas. Por " -"exemplo, a sua página inicial deve ter uma maior prioridade que os seus " -"dados pessoais." - -# @ sitemap -#: sitemap-ui.php:824 sitemap-ui.php:860 -msgid "Last Changed" -msgstr "Última Alteração" - -# @ sitemap -#: sitemap-ui.php:825 -msgid "" -"Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) " -"(optional)." -msgstr "" -"Introduza a data da última alteração com o formato AAAA-MM-DD (por exemplo: " -"2005-12-31) (opcional)." - -# @ sitemap -#: sitemap-ui.php:859 -msgid "Change Frequency" -msgstr "Alterar Frequência" - -# @ sitemap -#: sitemap-ui.php:861 -msgid "#" -msgstr "#" - -# @ sitemap -#: sitemap-ui.php:866 -msgid "No pages defined." -msgstr "Nenhuma página definida." - -# @ sitemap -#: sitemap-ui.php:871 -msgid "Add new page" -msgstr "Adicionar nova página" - -# @ sitemap -#: sitemap-ui.php:754 -msgid "Basic Options" -msgstr "Opções Básicas" - -# @ sitemap -#: sitemap-ui.php:898 -msgid "Include homepage" -msgstr "Incluir página principal" - -# @ sitemap -#: sitemap-ui.php:904 -msgid "Include posts" -msgstr "Incluir artigos" - -# @ sitemap -#: sitemap-ui.php:910 -msgid "Include static pages" -msgstr "Incluir páginas estáticas" - -# @ sitemap -#: sitemap-ui.php:916 -msgid "Include categories" -msgstr "Incluir categorias" - -# @ sitemap -#: sitemap-ui.php:922 -msgid "Include archives" -msgstr "Incluir arquivos" - -# @ sitemap -#: sitemap-ui.php:1036 -msgid "Change frequencies" -msgstr "Alterar frequências" - -# @ sitemap -#: sitemap-ui.php:815 sitemap-ui.php:1019 sitemap-ui.php:1030 -#: sitemap-ui.php:1039 -msgid "Note" -msgstr "Nota" - -# @ sitemap -#: sitemap-ui.php:1040 -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." -msgstr "" -"Por favor, considere que o valor desta etiqueta é um conselho e não um " -"comando. Mesmo quando alguns motores de busca consideram esta informação " -"para tomar decisões, eles podem verificar as páginas marcadas como \"de hora " -"em hora\" com menor frequência, e visitar varias vezes por ano, as páginas " -"marcadas com \"anualmente\". É igualmente possível que sejam verificadas " -"páginas marcadas com \"nunca\" para gerir possíveis mudanças inesperadas nas " -"mesmas." - -# @ sitemap -#: sitemap-ui.php:1046 sitemap-ui.php:1103 -msgid "Homepage" -msgstr "Página principal" - -# @ sitemap -#: sitemap-ui.php:1052 -msgid "Posts" -msgstr "Artigos" - -# @ sitemap -#: sitemap-ui.php:1058 sitemap-ui.php:1121 -msgid "Static pages" -msgstr "Páginas estáticas" - -# @ sitemap -#: sitemap-ui.php:1064 sitemap-ui.php:1127 -msgid "Categories" -msgstr "Categorias" - -# @ sitemap -#: sitemap-ui.php:1070 -msgid "" -"The current archive of this month (Should be the same like your homepage)" -msgstr "Arquivo deste mês (Deve ser igual ao da sua pagina principal)" - -# @ sitemap -#: sitemap-ui.php:1076 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Arquivos antigos (Alterar só se editou um artigo antigo)" - -# @ sitemap -#: sitemap-ui.php:1098 -msgid "Priorities" -msgstr "Prioridades" - -# @ sitemap -#: sitemap-ui.php:1109 -msgid "Posts (If auto calculation is disabled)" -msgstr "Artigos (Se o calculo automático está desabilitado)" - -# @ sitemap -#: sitemap-ui.php:1115 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "" -"Prioridade mínima para artigos (Mesmo quando o cálculo automático esteja " -"ativo)" - -# @ sitemap -#: sitemap-ui.php:1133 -msgid "Archives" -msgstr "Arquivos" - -# @ sitemap -#: sitemap-ui.php:1158 -msgid "Update options" -msgstr "Atualizar opções" - -# @ sitemap -#: sitemap-core.php:536 -msgid "Comment Count" -msgstr "Número de comentários" - -# @ sitemap -#: sitemap-core.php:546 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "Utiliza o número de comentários do artigo para calcular a prioridade" - -# @ sitemap -#: sitemap-core.php:599 -msgid "Comment Average" -msgstr "Média de comentários" - -# @ sitemap -#: sitemap-core.php:609 -msgid "Uses the average comment count to calculate the priority" -msgstr "Utiliza a contagem média de comentários para calcular a prioridade" - -# @ sitemap -#: sitemap-core.php:770 -msgid "Always" -msgstr "Sempre" - -# @ sitemap -#: sitemap-core.php:771 -msgid "Hourly" -msgstr "De hora em hora" - -# @ sitemap -#: sitemap-core.php:772 -msgid "Daily" -msgstr "Diariamente" - -# @ sitemap -#: sitemap-core.php:773 -msgid "Weekly" -msgstr "Semanalmente" - -# @ sitemap -#: sitemap-core.php:774 -msgid "Monthly" -msgstr "Mensalmente" - -# @ sitemap -#: sitemap-core.php:775 -msgid "Yearly" -msgstr "Anualmente" - -# @ sitemap -#: sitemap-core.php:776 -msgid "Never" -msgstr "Nunca" - -# @ sitemap -#: sitemap-loader.php:233 -msgid "XML-Sitemap Generator" -msgstr "Gerador XML-Sitemap" - -# @ sitemap -#: sitemap-loader.php:233 -msgid "XML-Sitemap" -msgstr "XML-Sitemap" - -# @ sitemap -#: sitemap-loader.php:261 -msgid "Settings" -msgstr "Configurações" - -# @ sitemap -#: sitemap-loader.php:262 -msgid "FAQ" -msgstr "FAQ" - -# @ sitemap -#: sitemap-loader.php:263 -msgid "Support" -msgstr "Suporte" - -# @ sitemap -#: sitemap-loader.php:264 -msgid "Donate" -msgstr "Donativo" - -# @ sitemap -#: sitemap-ui.php:198 sitemap-ui.php:585 -msgid "XML Sitemap Generator for WordPress" -msgstr "Gerador XML Sitemap para o WordPress" - -# @ sitemap -#: sitemap-ui.php:375 -msgid "Error while saving options" -msgstr "Erro enquanto guardava opções" - -# @ sitemap -#: sitemap-ui.php:387 -msgid "The default configuration was restored." -msgstr "A configuração padrão foi restabelecida." - -# @ sitemap -#: sitemap-ui.php:397 -msgid "" -"The old files could NOT be deleted. Please use an FTP program and delete " -"them by yourself." -msgstr "" -"Os ficheiros antigos não podem ser apagados. Por favor, utilize um programa " -"de FTP e apague-os manualmente." - -# @ sitemap -#: sitemap-ui.php:399 -msgid "The old files were successfully deleted." -msgstr "Os ficheiros antigos foram apagados com sucesso." - -# @ sitemap -#: sitemap-ui.php:439 -msgid "" -"Thank you very much for your donation. You help me to continue support and " -"development of this plugin and other free software!" -msgstr "" -"Muito obrigado pela sua contribuição. Ajuda-me a continuar a apoiar e a " -"desenvolver este plugin e outros softwares grátis!" - -# @ sitemap -#: sitemap-ui.php:439 -msgid "Hide this notice" -msgstr "Esconder esta notícia" - -# @ sitemap -#: sitemap-ui.php:445 -#, php-format -msgid "" -"Thanks for using this plugin! You've installed this plugin over a month ago. " -"If it works and you are satisfied with the results, isn't it worth at least " -"a few dollar? Donations help me to continue support and " -"development of this free software! Sure, no problem!" -msgstr "" -"Obrigado por utilizar este plugin! Você instalou o plugin há mais de um mês. " -"Se funciona e você está satisfeito com os resultados, não vale pelo menos um " -"dólar? Donativos ajuda-me a continuar a apoiar e a " -"desenvolver software livre! Claro, sem problema!" - -# @ sitemap -#: sitemap-ui.php:445 -msgid "Sure, but I already did!" -msgstr "Claro, mas já o fiz anteriormente!" - -# @ sitemap -#: sitemap-ui.php:445 -msgid "No thanks, please don't bug me anymore!" -msgstr "Não obrigado, não me incomode mais!" - -# @ sitemap -#: sitemap-ui.php:452 -#, php-format -msgid "" -"Thanks for using this plugin! You've installed this plugin some time ago. If " -"it works and your are satisfied, why not rate it and recommend it to others? :-)" -msgstr "" -"Obrigado por utilizar este plugin! Você instalou este plugin há algum tempo. " -"Se ele funciona e você está satisfeito, por que não avaliar e recomendar a outros utilizadores? :-)" - -# @ sitemap -#: sitemap-ui.php:452 -msgid "Don't show this anymore" -msgstr "Não exibir" - -# @ default -#: sitemap-ui.php:601 -#, php-format -msgid "" -"There is a new version of %1$s available. Download version " -"%3$s here." -msgstr "" - -# @ default -#: sitemap-ui.php:603 -#, php-format -msgid "" -"There is a new version of %1$s available. Download version " -"%3$s here automatic upgrade unavailable for this plugin." -msgstr "" - -# @ default -#: sitemap-ui.php:605 -#, php-format -msgid "" -"There is a new version of %1$s available. Download version " -"%3$s here or upgrade automatically." -msgstr "" - -# @ sitemap -#: sitemap-ui.php:613 -#, php-format -msgid "" -"Your blog is currently blocking search engines! Visit the privacy settings to change this." -msgstr "" -"O seu blog está neste momento a bloquear a indexação dos motores de busca! " -"Visite a privacidade para alterar esta limitação." - -# @ sitemap -#: sitemap-ui.php:629 -msgid "About this Plugin:" -msgstr "Sobre o Plugin:" - -# @ sitemap -#: sitemap-ui.php:630 -msgid "Plugin Homepage" -msgstr "Página principal do Plugin" - -# @ sitemap -#: sitemap-ui.php:631 -msgid "Suggest a Feature" -msgstr "Sugerir nova funcionalidade" - -# @ sitemap -#: sitemap-ui.php:632 -msgid "Notify List" -msgstr "Receber notificações" - -# @ sitemap -#: sitemap-ui.php:633 -msgid "Support Forum" -msgstr "Fórum de suporte" - -# @ sitemap -#: sitemap-ui.php:634 -msgid "Report a Bug" -msgstr "Reportar um Bug" - -# @ sitemap -#: sitemap-ui.php:636 -msgid "Donate with PayPal" -msgstr "Donativo via PayPal" - -# @ sitemap -#: sitemap-ui.php:637 -msgid "My Amazon Wish List" -msgstr "Lista Amazon" - -# @ sitemap -#: sitemap-ui.php:638 -msgid "translator_name" -msgstr "Mowster" - -# @ sitemap -#: sitemap-ui.php:638 -msgid "translator_url" -msgstr "http://wordpress.mowster.net" - -# @ sitemap -#: sitemap-ui.php:641 -msgid "Sitemap Resources:" -msgstr "Recursos Sitemap:" - -# @ sitemap -#: sitemap-ui.php:642 sitemap-ui.php:647 -msgid "Webmaster Tools" -msgstr "Ferramentas para Webmasters" - -# @ sitemap -#: sitemap-ui.php:643 -msgid "Webmaster Blog" -msgstr "Webmaster Blog" - -# @ sitemap -#: sitemap-ui.php:645 -msgid "Search Blog" -msgstr "Procurar no Blog" - -# @ sitemap -#: sitemap-ui.php:648 -msgid "Webmaster Center Blog" -msgstr "Webmaster Center Blog" - -# @ sitemap -#: sitemap-ui.php:650 -msgid "Sitemaps Protocol" -msgstr "Protocolo Sitemaps" - -# @ sitemap -#: sitemap-ui.php:651 -msgid "Official Sitemaps FAQ" -msgstr "Oficial FAQ Sitemaps" - -# @ sitemap -#: sitemap-ui.php:652 -msgid "My Sitemaps FAQ" -msgstr "FAQ Sitemaps" - -# @ sitemap -#: sitemap-ui.php:655 -msgid "Recent Donations:" -msgstr "Donativos Recentes:" - -# @ sitemap -#: sitemap-ui.php:658 -msgid "List of the donors" -msgstr "Lista de doadores" - -# @ sitemap -#: sitemap-ui.php:660 -msgid "Hide this list" -msgstr "Ocultar lista" - -# @ sitemap -#: sitemap-ui.php:663 -msgid "Thanks for your support!" -msgstr "Obrigado pelo apoio!" - -# @ sitemap -#: sitemap-ui.php:683 -msgid "Search engines haven't been notified yet" -msgstr "Motores de busca ainda não foram notificados" - -# @ sitemap -#: sitemap-ui.php:687 -#, php-format -msgid "Result of the last ping, started on %date%." -msgstr "Resultado do último ping, iniciado em %date%." - -# @ sitemap -#: sitemap-ui.php:702 -#, php-format -msgid "" -"There is still a sitemap.xml or sitemap.xml.gz file in your blog directory. " -"Please delete them as no static files are used anymore or try " -"to delete them automatically." -msgstr "" -"Existe ainda um ficheiro sitemap.xml ou sitemap.xml.gz na sua pasta do blog. " -"Por favor, apague-os uma vez que os ficheiros físicos não são mais " -"utilizados ​​ou tente apaga-los automaticamente." - -# @ sitemap -#: sitemap-ui.php:705 -#, php-format -msgid "The URL to your sitemap index file is: %s." -msgstr "O URL para o seu ficheiro sitemap é: %s." - -# @ sitemap -#: sitemap-ui.php:708 -msgid "" -"Search engines haven't been notified yet. Write a post to let them know " -"about your sitemap." -msgstr "" -"Motores de busca ainda não foram notificados. Escreva um artigo e permita-" -"lhes que tomem conhecimento do seu sitemap." - -# @ sitemap -#: sitemap-ui.php:717 -#, php-format -msgid "%s was successfully notified about changes." -msgstr "%s foi notificado com sucesso sobre as alterações." - -# @ sitemap -#: sitemap-ui.php:720 -#, php-format -msgid "" -"It took %time% seconds to notify %name%, maybe you want to disable this " -"feature to reduce the building time." -msgstr "" -"Demorou %time% segundos para notificar %name%, talvez queira desabilitar " -"este recurso para reduzir o tempo de construção." - -# @ sitemap -#: sitemap-ui.php:723 -#, php-format -msgid "" -"There was a problem while notifying %name%. View result" -msgstr "" -"Houve um problema enquanto notificava %name%. Ver resultados" - -# @ sitemap -#: sitemap-ui.php:727 -#, php-format -msgid "" -"If you encounter any problems with your sitemap you can use the debug function to get more information." -msgstr "" -"Se teve problemas com seu sitemap pode usar a função debug para obter mais informações." - -# @ sitemap -#: sitemap-ui.php:756 -msgid "Update notification:" -msgstr "Notificação de atualizações:" - -# @ sitemap -#: sitemap-ui.php:756 sitemap-ui.php:779 sitemap-ui.php:802 -msgid "Learn more" -msgstr "Saber mais" - -# @ sitemap -#: sitemap-ui.php:760 -msgid "Notify Google about updates of your Blog" -msgstr "Notificar o Google sobre as atualizações do seu Blog" - -# @ sitemap -#: sitemap-ui.php:761 -#, php-format -msgid "" -"No registration required, but you can join the Google " -"Webmaster Tools to check crawling statistics." -msgstr "" -"Nenhum registo necessário, mas pode utilizar o Google " -"Webmaster Tools para verificar as estatísticas de rastreamento." - -# @ sitemap -#: sitemap-ui.php:765 -msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" -msgstr "" -"Notificar o Bing (antigo MSN Live Search) sobre as atualizações do seu Blog" - -# @ sitemap -#: sitemap-ui.php:766 -#, php-format -msgid "" -"No registration required, but you can join the Bing Webmaster " -"Tools to check crawling statistics." -msgstr "" -"Nenhum registo necessário, mas pode utilizar o Bing Webmaster " -"Tools para verificar as estatísticas de rastreamento." - -# @ sitemap -#: sitemap-ui.php:771 -msgid "Add sitemap URL to the virtual robots.txt file." -msgstr "Adicionar o URL do sitemap ao ficheiro virtual robots.txt." - -# @ sitemap -#: sitemap-ui.php:775 -msgid "" -"The virtual robots.txt generated by WordPress is used. A real robots.txt " -"file must NOT exist in the blog directory!" -msgstr "" -"O robots.txt virtual é gerado pelo WordPress. Um ficheiro robots.txt real " -"não deve existir no diretório do blog!" - -# @ sitemap -#: sitemap-ui.php:779 -msgid "Advanced options:" -msgstr "Opções avançadas:" - -# @ sitemap -#: sitemap-ui.php:782 -msgid "Try to increase the memory limit to:" -msgstr "Aumentar o limite de memória para:" - -# @ sitemap -#: sitemap-ui.php:782 -msgid "e.g. \"4M\", \"16M\"" -msgstr "ex. \"4M\", \"16M\"" - -# @ sitemap -#: sitemap-ui.php:785 -msgid "Try to increase the execution time limit to:" -msgstr "Aumentar o tempo de execução para:" - -# @ sitemap -#: sitemap-ui.php:785 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "em segundos, ex: \"60\" or \"0\" para ilimitado" - -# @ sitemap -#: sitemap-ui.php:789 -msgid "Include a XSLT stylesheet:" -msgstr "Incluir uma folha de estilo XSLT:" - -# @ sitemap -#: sitemap-ui.php:790 -msgid "Full or relative URL to your .xsl file" -msgstr "URL completo ou relativo para o ficheiro .xsl" - -# @ sitemap -#: sitemap-ui.php:790 -msgid "Use default" -msgstr "Utilizar padrão" - -# @ sitemap -#: sitemap-ui.php:795 -msgid "Include sitemap in HTML format" -msgstr "Incluir o sitemap num formato HTML" - -# @ sitemap -#: sitemap-ui.php:877 -msgid "Post Priority" -msgstr "Prioridade do Artigo" - -# @ sitemap -#: sitemap-ui.php:879 -msgid "Please select how the priority of each post should be calculated:" -msgstr "" -"Por favor, selecione como a prioridade de cada artigo deve ser calculada:" - -# @ sitemap -#: sitemap-ui.php:881 -msgid "Do not use automatic priority calculation" -msgstr "Não utilizar o cálculo automático de prioridades" - -# @ sitemap -#: sitemap-ui.php:881 -msgid "" -"All posts will have the same priority which is defined in "" -"Priorities"" -msgstr "" -"Todo os artigos irão ter a mesma prioridade definida em "" -"Prioridades"" - -# @ sitemap -#: sitemap-ui.php:892 -msgid "Sitemap Content" -msgstr "Conteúdo Sitemap" - -# @ sitemap -#: sitemap-ui.php:893 -msgid "WordPress standard content" -msgstr "Conteúdo padrão do WordPress" - -# @ sitemap -#: sitemap-ui.php:928 -msgid "Include author pages" -msgstr "Incluir páginas de autores" - -# @ sitemap -#: sitemap-ui.php:935 -msgid "Include tag pages" -msgstr "Incluir páginas de etiquetas" - -# @ sitemap -#: sitemap-ui.php:949 -msgid "Custom taxonomies" -msgstr "Taxonomias personalizadas" - -# @ sitemap -#: sitemap-ui.php:960 -#, php-format -msgid "Include taxonomy pages for %s" -msgstr "Incluir páginas de taxonomias para %s" - -# @ sitemap -#: sitemap-ui.php:978 -msgid "Custom post types" -msgstr "Tipos de artigos personalizados" - -# @ sitemap -#: sitemap-ui.php:989 -#, php-format -msgid "Include custom post type %s" -msgstr "Incluir tipos de artigos personalizados %s" - -# @ sitemap -#: sitemap-ui.php:1001 -msgid "Further options" -msgstr "Mais opções" - -# @ sitemap -#: sitemap-ui.php:1006 -msgid "Include the last modification time." -msgstr "Incluir a hora da última modificação." - -# @ sitemap -#: sitemap-ui.php:1008 -msgid "" -"This is highly recommended and helps the search engines to know when your " -"content has changed. This option affects all sitemap entries." -msgstr "" -"É extremamente recomendável e ajuda os motores de busca a saber quando seu " -"conteúdo foi alterado. Esta opção afeta todos os registos do sitemap." - -# @ sitemap -#: sitemap-ui.php:1015 -msgid "Excluded items" -msgstr "Itens excluídos" - -# @ sitemap -#: sitemap-ui.php:1017 -msgid "Excluded categories" -msgstr "Categorias excluídas" - -# @ sitemap -#: sitemap-ui.php:1019 -msgid "Using this feature will increase build time and memory usage!" -msgstr "" -"Utilizar este recurso irá aumentar o tempo de compilação e utilização de " -"memória!" - -# @ sitemap -#: sitemap-ui.php:1026 -msgid "Exclude posts" -msgstr "Artigos excluídos" - -# @ sitemap -#: sitemap-ui.php:1028 -msgid "Exclude the following posts or pages:" -msgstr "Excluir os seguintes artigos ou páginas:" - -# @ sitemap -#: sitemap-ui.php:1028 -msgid "List of IDs, separated by comma" -msgstr "Listagem de IDs, separados por vírgual" - -# @ sitemap -#: sitemap-ui.php:1030 -msgid "Child posts won't be excluded automatically!" -msgstr "Artigos subsequentes não serão excluídos automaticamente!" - -# @ sitemap -#: sitemap-ui.php:1083 sitemap-ui.php:1140 -msgid "Tag pages" -msgstr "Páginas de etiquetas" - -# @ sitemap -#: sitemap-ui.php:1090 sitemap-ui.php:1147 -msgid "Author pages" -msgstr "Páginas de autores" - -# @ sitemap -#: sitemap-ui.php:1159 -msgid "Reset options" -msgstr "Redefinir opções" - -# @ sitemap -#. translators: plugin header field 'Name' -#: sitemap.php:0 -msgid "Google XML Sitemaps" -msgstr "Google XML Sitemaps" - -# @ sitemap -#. translators: plugin header field 'PluginURI' -#: sitemap.php:0 -msgid "http://www.arnebrachhold.de/redir/sitemap-home/" -msgstr "http://www.arnebrachhold.de/redir/sitemap-home/" - -# @ sitemap -#. translators: plugin header field 'Description' -#: sitemap.php:0 -msgid "" -"This plugin will generate a special XML sitemap which will help search " -"engines like Google, Yahoo, Bing and Ask.com to better index your blog." -msgstr "" -"Este plugin irá gerar um sitemap XML especial que irá ajudar os motores de " -"busca como Google, Yahoo, Bing e Ask.com a indexar mais facilmente o seu " -"blog." - -# @ sitemap -#. translators: plugin header field 'Author' -#: sitemap.php:0 -msgid "Arne Brachhold" -msgstr "Arne Brachhold" - -# @ sitemap -#. translators: plugin header field 'AuthorURI' -#: sitemap.php:0 -msgid "http://www.arnebrachhold.de/" -msgstr "http://www.arnebrachhold.de/" - -# @ sitemap -#: sitemap.php:82 -msgid "Your WordPress version is too old for XML Sitemaps." -msgstr "" -"A sua versão WordPress é demasiadamente antigo para poder executar o XML " -"Sitemaps." - -# @ sitemap -#: sitemap.php:82 -#, php-format -msgid "" -"Unfortunately this release of Google XML Sitemaps requires at least " -"WordPress %4$s. You are using Wordpress %2$s, which is out-dated and " -"insecure. Please upgrade or go to active plugins and " -"deactivate the Google XML Sitemaps plugin to hide this message. You can " -"download an older version of this plugin from the plugin " -"website." -msgstr "" -"Infelizmente esta versão do Google XML Sitemaps requer pelo menos o " -"WordPress %4$s. Está utilizando o Wordpress %2$s, que está caduco e " -"inseguro. Por favor, atualize ou nos plugins ativos " -"desative o Google XML Sitemaps para ocultar esta mensagem. Pode utilizar uma " -"versão mais antiga deste plugin, é possível encontrá-la no site oficial." - -# @ sitemap -#: sitemap.php:92 -msgid "Your PHP version is too old for XML Sitemaps." -msgstr "" -"A sua versão PHP é demasiadamente antiga para poder executar o XML Sitemaps." - -# @ sitemap -#: sitemap.php:92 -#, php-format -msgid "" -"Unfortunately this release of Google XML Sitemaps requires at least PHP " -"%4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask " -"your web host to update your PHP installation or go to active plugins and deactivate the Google XML Sitemaps plugin to hide " -"this message. You can download an older version of this plugin from the plugin website." -msgstr "" -"Infelizmente esta versão do Google XML Sitemaps requer pelo menos o PHP " -"%4$s. Está utilizando o PHP %2$s, que está caduco e inseguro. Por favor, " -"peça à sua empresa de alojamento para o atualizar o nos plugins ativos desative o Google XML Sitemaps para ocultar esta " -"mensagem. Pode utilizar uma versão mais antiga deste plugin, é possível " -"encontrá-la no site oficial." - -# @ sitemap -#: sitemap-ui.php:795 -msgid "(The required PHP XSL Module is not installed)" -msgstr "(O módulo PHP XSL necessário não está instalado)" - -# @ sitemap -#: sitemap-ui.php:801 -msgid "Allow anonymous statistics (no personal information)" -msgstr "Permitir estatísticas anónimas (nenhuma informação pessoal)" - -# @ sitemap -#: sitemap-ui.php:737 -msgid "Webserver Configuration" -msgstr "Configuração do Servidor Web" - -# @ sitemap -#: sitemap-ui.php:738 -msgid "" -"Since you are using Nginx as your web-server, please configure the following " -"rewrite rules in case you get 404 Not Found errors for your sitemap:" -msgstr "" -"Uma vez que o Nginx é o servidor web, por favor, configure as seguintes " -"regras rewrite no caso de existirem erros 404 no sitemap:" - -# @ sitemap -#. translators: plugin header field 'Version' -#: sitemap.php:0 -msgid "4.0.3" -msgstr "4.0.3" diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ru_RU.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ru_RU.mo deleted file mode 100644 index d4f8c372..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ru_RU.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ru_RU.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ru_RU.po deleted file mode 100644 index a1af8e0d..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-ru_RU.po +++ /dev/null @@ -1,685 +0,0 @@ -# [Countryname] Language File for sitemap (sitemap-[localname].po) -# Copyright (C) 2005 [name] : [URL] -# This file is distributed under the same license as the WordPress package. -# [name] <[mail-address]>, 2005. -# $Id: sitemap.pot 24948 2007-11-18 16:37:44Z arnee $ -# -msgid "" -msgstr "" -"Project-Id-Version: sitemap\n" -"Report-Msgid-Bugs-To: <[mail-address]>\n" -"POT-Creation-Date: 2005-06-15 00:00+0000\n" -"PO-Revision-Date: 2007-11-27 12:24+0300\n" -"Last-Translator: Sergey Ryvkin \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language-Team: \n" -"X-Poedit-KeywordsList: _e;__\n" -"X-Poedit-Basepath: .\n" -"X-Poedit-SearchPath-0: C:\\Inetpub\\wwwroot\\wp\\wp-content\\plugins\\sitemap_beta\n" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 -msgid "Comment Count" -msgstr "Количество комментариев" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "Использует количество комментариев к статье для вычисления приоритета" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 -msgid "Comment Average" -msgstr "Среднее количество комментариев" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 -msgid "Uses the average comment count to calculate the priority" -msgstr "Использует среднее количество комментариев для вычисления приоритета" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 -msgid "Popularity Contest" -msgstr "Популярность дискуссии" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "Используйте активированный Плагин популярности дискуссий от Alex King. См. Настройки и Самые популярные записи" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -msgid "XML-Sitemap Generator" -msgstr "Генератор XML-карты сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -msgid "XML-Sitemap" -msgstr "XML-карта сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "Премного благодарю за пожертвования. Вы помогаете мне в продалжении поддержки и разработки этого плагина и другого свободного ПО!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -msgid "Hide this notice" -msgstr "Скрыть это замечание" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#, php-format -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? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "Благодарю Вас за использование этого плагина! Вы установили его свыше месяца назад. Если он работает и Вы удовлетворены его результатами, вышлите мне хотя бы $1? Пожертвования помогут мне в поддержке и разработке этого бесплатного ПО! Конечно, без проблем!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -msgid "No thanks, please don't bug me anymore!" -msgstr "Нет, спасибо. Прошу меня больше не беспокоить!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835 -msgid "XML Sitemap Generator for WordPress" -msgstr "Генератор XML-карты сайта для WordPress" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740 -msgid "Configuration updated" -msgstr "Конфигурация обновлена" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741 -msgid "Error while saving options" -msgstr "Ошибка при сохранении параметров" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743 -msgid "Pages saved" -msgstr "Страницы сохранены" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744 -msgid "Error while saving pages" -msgstr "Ошибка при сохранении страниц" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2748 -#, php-format -msgid "Robots.txt file saved" -msgstr "Файл Robots.txt сохранен" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2750 -msgid "Error while saving Robots.txt file" -msgstr "Ошибка при сохранении файла Robots.txt" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 -msgid "The default configuration was restored." -msgstr "Конфигурация по умолчанию восстановлена." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 -msgid "open" -msgstr "открыть" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 -msgid "close" -msgstr "закрыть" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 -msgid "click-down and drag to move this box" -msgstr "Нажмите кнопку мыши и тащите для перемещения этого блока" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 -msgid "click to %toggle% this box" -msgstr "Нажмите для %toggle% на этот блок" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 -msgid "use the arrow keys to move this box" -msgstr "используйте стрелки для перемещения этого блока" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 -msgid ", or press the enter key to %toggle% it" -msgstr ", или нажмите копку ввод (enter) для %toggle% его" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 -msgid "About this Plugin:" -msgstr "Об это плагине:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886 -msgid "Plugin Homepage" -msgstr "Домашняя страница плагина" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 -msgid "Notify List" -msgstr "Список напоминания" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -msgid "Support Forum" -msgstr "Форум технической поддержки" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 -msgid "Donate with PayPal" -msgstr "Пожертвовать через PayPal" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 -msgid "My Amazon Wish List" -msgstr "Мой список пожеланий на Amazon" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -msgid "translator_name" -msgstr "Перевёл Сергей Рывкин" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -msgid "translator_url" -msgstr "http://ryvkin.ru" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895 -msgid "Sitemap Resources:" -msgstr "Ресурсы карыт сайта:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 -msgid "Webmaster Tools" -msgstr "Инструменты веб-мастера" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -msgid "Webmaster Blog" -msgstr "Дневник веб-мастера" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 -msgid "Site Explorer" -msgstr "Просмотр сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 -msgid "Search Blog" -msgstr "Искать в дневнике" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903 -msgid "Sitemaps Protocol" -msgstr "Протокол использования карты сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 -msgid "Official Sitemaps FAQ" -msgstr "Официальный ЧАВО по картам сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 -msgid "My Sitemaps FAQ" -msgstr "Мой ЧАВО по картам сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 -msgid "Recent Donations:" -msgstr "Последние пожертвования:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 -msgid "List of the donors" -msgstr "Список спонсоров" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 -msgid "Hide this list" -msgstr "Скрыть этот список" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 -msgid "Thanks for your support!" -msgstr "Спасибо за Вашу поддержку!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 -msgid "Status" -msgstr "Статус" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 -#, php-format -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "Карта сайта ещё не построена. Нажмите здесь для создания её впервые." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 -msgid "Your sitemap was last built on %date%." -msgstr "Ваша карта сайта последний раз была построена: %date%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreПочитать ещё" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 -msgid "Your sitemap (zipped) was last built on %date%." -msgstr "Ваша карта сайта (сжатая) последний раз была построена: %date%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreПочитать ещё" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 -msgid "Google was successfully notified about changes." -msgstr "Google был успешно проинформирован об изменениях." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "%time% секунд заняло информирование Google; возможно, Вас стоит отключить эту функцию, чтобы снизить время построения карты." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 -#, php-format -msgid "There was a problem while notifying Google. View result" -msgstr "При информировании Google произошла ошибка. Посмотреть результат" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 -msgid "YAHOO was successfully notified about changes." -msgstr "YAHOO был успешно проинформирован об изменениях." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "%time% секунд заняло информирование YAHOO; возможно, Вас стоит отключить эту функцию, чтобы снизить время построения карты." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 -#, php-format -msgid "There was a problem while notifying YAHOO. View result" -msgstr "При информировании YAHOO произошла ошибка. Посмотреть результат" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 -msgid "Ask.com was successfully notified about changes." -msgstr "Ask.com был успешно проинформирован об изменениях." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "%time% секунд заняло информирование Ask.com; возможно, Вас стоит отключить эту функцию, чтобы снизить время построения карты." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 -#, php-format -msgid "There was a problem while notifying Ask.com. View result" -msgstr "При информировании Ask.com произошла ошибка. Посмотреть результат" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "Процесс построения занял примерно %time% секунд и использовал %memory% MB памяти." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 -msgid "The building process took about %time% seconds to complete." -msgstr "Процесс построения занял примерно %time% секунд." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "Содержание Вашей карты сайта не изменялось за последнее время, поэтому файлы не записывались и поисковые системы не информировались." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "Последний запуск не был завершен! Возможно, Вы превысили лимиты памяти или времени исполнения. Почитать ещё" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "Последний раз скрипт использовал %memused%MB памяти, лимит памяти Вашего сервера составляет %memlimit%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "Последний раз скрипт работал %timeused% секунд, ограничение времени на Вашем сервере составляет %timelimit% секунд." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "Скрипт остановился около статьи номер %lastpost% (+/- 100)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 -#, php-format -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "Если Вы что-то поменяли на Вашем сервре или в дневнике, Вам необходимо заново построить карту сайта вручную." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 -#, php-format -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "Если Вы столкнулись с какими-либо проблемами в процессе построения, Вы можете воспользоваться функцией отладки для получения дополнительной информации." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040 -msgid "Basic Options" -msgstr "Базовые параметры" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -msgid "Sitemap files:" -msgstr "Файлы карты сайта:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -msgid "Learn more" -msgstr "Почитать ещё" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049 -msgid "Write a normal XML file (your filename)" -msgstr "Записать обычный XML файл (Ваше имя файла)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "Записать запакованный XML файл (Ваше имя файла + .gz)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -msgid "Building mode:" -msgstr "Режим построения карты:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "Постройте заново карту сайта, если Вы изменили содержание Вашего дневника" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 -msgid "Enable manual sitemap building via GET Request" -msgstr "Разрешить ручное построение карты сайта с помощью запроса GET" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 -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: %1 Please check the logfile above to see if sitemap was successfully built." -msgstr "Это разрешит Вам обновить карту сайта, если внешний инструмент будет писать в базу WordPress? не используя WordPress API. Используйте следующий URL для выполнения процесса: %1 Посмотрите протокол (см. выше) для проверки, построена ли карта сайта." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -msgid "Update notification:" -msgstr "Обновить уведомление:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -msgid "Notify Google about updates of your Blog" -msgstr "Уведомить Google об изменениях в Вашем дневнике" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#, php-format -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "Регистрация не требуется, но Вы можете присоединиться к Инструментам веб-мастера Google для просмотра статистики поисковых роботов." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 -msgid "Notify Ask.com about updates of your Blog" -msgstr "Уведомить Asc.com об изменениях в Вашем дневнике" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 -msgid "No registration required." -msgstr "Регистрация не требуется." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 -msgid "Notify YAHOO about updates of your Blog" -msgstr "Уведомить YAHOO об изменениях в Вашем дневнике" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -msgid "Your Application ID:" -msgstr "Ваш идентификатор приложения (Application ID):" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 -#, php-format -msgid "Don't you have such a key? Request one here! %s2" -msgstr "У Вас нет такого ключа?? Запросите здесь! %s2" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3099 -#, php-format -msgid "Modify or create %s file in blog root which contains the sitemap location." -msgstr "Изменить или создать файл %s в дневнике, который содержит информацию о расположении карты сайта." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3102 -msgid "File permissions: " -msgstr "Разрешения на доступ к файлам: " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3107 -msgid "OK, robots.txt is writable." -msgstr "OK, robots.txt открыт на запись." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3109 -msgid "Error, robots.txt is not writable." -msgstr "Ошибка, robots.txt не открыт на запись." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3113 -msgid "OK, robots.txt doesn't exist but the directory is writable." -msgstr "OK, robots.txt не существует, но каталог открыт на запись." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3115 -msgid "Error, robots.txt doesn't exist and the directory is not writable" -msgstr "Ошибка, robots.txt не существует, и каталог не открыт на запись" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -msgid "Advanced options:" -msgstr "Расширенные параметры:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -msgid "Limit the number of posts in the sitemap:" -msgstr "Ограничить количество статей в карте сайта:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -msgid "Newer posts will be included first" -msgstr "Более новые статьи будут включены первыми" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -msgid "Try to increase the memory limit to:" -msgstr "Попытаться увеличить лимит памяти до:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -msgid "e.g. \"4M\", \"16M\"" -msgstr "например, \"4M\", \"16M\"" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -msgid "Try to increase the execution time limit to:" -msgstr "Попытаться увеличить ограничение времени исполнения до:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "в секундах, например, \"60\" или \"0\" для неограниченного времени" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Include a XSLT stylesheet:" -msgstr "Включить таблицу стилей XSLT:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Use Default" -msgstr "Использовать значение по умолчанию" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -msgid "Full or relative URL to your .xsl file" -msgstr "Полный или относительный URL к Вашему файлу .xsl" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "Разрешить стандартный режим MySQL. Использовать только в случае ошибок MySQL. (Требует намного больше памяти!)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "Строить карту сайта в фоновом процессе (Вам не надо ждать сохранения статьи)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -msgid "Exclude the following posts or pages:" -msgstr "Исключить следующие статьи или страницы:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -msgid "List of IDs, separated by comma" -msgstr "Список идентификаторов (ID), разделенных запятыми" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144 -msgid "Additional pages" -msgstr "Дополнительные страницы" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "Здесь Вы можете указать файлы или URL, которые должны быть включены в карту сайта, но не принадлежащие Вашему дневнику/WordPress.
Например,если Ваш домен www.foo.com, а Ваш дневник расположен в www.foo.com/blog, Вам может понадобиться добавить домашнюю страницу из www.foo.com" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 -msgid "Note" -msgstr "Замечание" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -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)!" -msgstr "Если Ваш дневник расположен в подкаталоге, и Вы хотите добавить страницы, которые находятся ВЫШЕ в структуре каталогов, Вам НЕОБХОДИМО поместить карту сайта в корневой каталог (См. секцию "Размещение файла с картой сайта" на этой странице)!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300 -msgid "URL to the page" -msgstr "URL страницы" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "Введите URL этой страницы. Примеры: http://www.foo.com/index.html или www.foo.com/home " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301 -msgid "Priority" -msgstr "Приоритет" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "Выберите приоритет этой страницы относительно других страниц. Например, Ваша главная страница может иметь более высокий приоритет, чем страница с информацией о сайте." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303 -msgid "Last Changed" -msgstr "Последний раз изменялась" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "Введите дату последнего изменения в формате YYYY-MM-DD (2005-12-31, например) (не обязательно)." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302 -msgid "Change Frequency" -msgstr "Частота изменений" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304 -msgid "#" -msgstr "№" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309 -msgid "No pages defined." -msgstr "Нет страниц." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314 -msgid "Add new page" -msgstr "Добавить новую страницу" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325 -msgid "Post Priority" -msgstr "Приоритет статьи" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 -msgid "Please select how the priority of each post should be calculated:" -msgstr "Выберите, как будет вычисляться приоритет каждой статьи:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -msgid "Do not use automatic priority calculation" -msgstr "Не использовать автоматическое вычисление приоритета" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "Все статьи будут иметь одинаковый приоритет, который определен в "Приоритетах"" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348 -msgid "Location of your sitemap file" -msgstr "Расположение Вашего файла с картой сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353 -msgid "Automatic detection" -msgstr "Автоматическое определение" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357 -msgid "Filename of the sitemap file" -msgstr "Имя файла с картой сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 -msgid "Detected Path" -msgstr "Обнаруженный путь" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 -msgid "Detected URL" -msgstr "Обнаруженный URL" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365 -msgid "Custom location" -msgstr "Пользовательское расположение" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369 -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "Абсолютный или относительный путь к файлу с картой сайта, включая имя файла." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380 -msgid "Example" -msgstr "Пример" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378 -msgid "Complete URL to the sitemap file, including name." -msgstr "Заполните URL к файлу с картой сайта, включая имя файла." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397 -msgid "Sitemap Content" -msgstr "Содержание карты сайта" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405 -msgid "Include homepage" -msgstr "Включить домашнюю страницу" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 -msgid "Include posts" -msgstr "Включить статьи" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417 -msgid "Include static pages" -msgstr "Включить статические страницы" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 -msgid "Include categories" -msgstr "Включить категории" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429 -msgid "Include archives" -msgstr "Включить архивы" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 -msgid "Include tag pages" -msgstr "Включить страницы меток" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443 -msgid "Include author pages" -msgstr "Включить страницы авторов" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457 -msgid "Change frequencies" -msgstr "Изменить частоты" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463 -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." -msgstr "Обратите внимание, что значение этой метки считается рекомендацией и не является командой. Даже когда поисковые роботы берут эту информацию к сведению для принятия решений, они могут осматривать страницы, помеченные \"раз в час\" реже, чем запрошено, и они могут осматривать страницы, помеченные как \"раз в год\" чаще, чем запрошено. Также бывает, что поисковые роботы осматривают страницы, помеченные как \"никогда\", отмечая не предусмотренные изменения на этих страницах." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535 -msgid "Homepage" -msgstr "Главная страница" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475 -msgid "Posts" -msgstr "Статьи" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 -msgid "Static pages" -msgstr "Статичные страницы" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559 -msgid "Categories" -msgstr "Категории" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Текущий архив за этот месяц (Должен быть тем же, что и Главная страница)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Старые архивы (Изменяются только в случае, если Вы редактируете старые статьи)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572 -msgid "Tag pages" -msgstr "Страницы меток" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579 -msgid "Author pages" -msgstr "Страницы авторов" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527 -msgid "Priorities" -msgstr "Приоритеты" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541 -msgid "Posts (If auto calculation is disabled)" -msgstr "Статьи (Если автоматическое вычисление запрещено)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Минимальный приоритет статьи (Даже если автоматическое вычисление разрешено)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565 -msgid "Archives" -msgstr "Архивы" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 -msgid "Update options" -msgstr "Обновить параметры" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591 -msgid "Reset options" -msgstr "Вернуть исходные значения" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sl_SI.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sl_SI.mo deleted file mode 100644 index 823312b3..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sl_SI.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sl_SI.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sl_SI.po deleted file mode 100644 index 0a7a57fe..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sl_SI.po +++ /dev/null @@ -1,325 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: sitemap-sl_SI\n" -"POT-Creation-Date: \n" -"PO-Revision-Date: 2006-11-13 09:33+0100\n" -"Last-Translator: m2-j \n" -"Language-Team: Milan Jungic \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Slovenian\n" -"X-Poedit-Country: SLOVENIA\n" - -#: sitemap.php:375 -msgid "always" -msgstr "vedno" - -msgid "hourly" -msgstr "vsako uro" - -msgid "daily" -msgstr "dnevno" - -msgid "weekly" -msgstr "tedensko" - -msgid "monthly" -msgstr "mesečno" - -msgid "yearly" -msgstr "letno" - -msgid "never" -msgstr "nikoli" - -msgid "Detected Path" -msgstr "Zaznana pot:" - -msgid "Example" -msgstr "Primer" - -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "Absolutna ali relativna pot do datoteke načrta strani (vključno z imenom datoteke)" - -msgid "Complete URL to the sitemap file, including name." -msgstr "URL naslov datoteke načrta strani (vključno z imenom datoteke)." - -msgid "Automatic location" -msgstr "Samodejno lociranje" - -msgid "Manual location" -msgstr "Ročno lociranje" - -msgid "OR" -msgstr "ALI" - -msgid "Location of your sitemap file" -msgstr "Ime datoteke načrta strani" - -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)!" -msgstr "Če je vaš blog v podimeniku in želite v načrt strani dodatki datoteke, ki se nahajajo izven tega podimenika, morate datoteko načrta strani shraniti v korenski imenik, ki se nahaja nad vsemi imeniki katere želite v načrt strani vključiti (glejte sekcijo "Ime datoteke načrta strani" na tej strani)!" - -#: sitemap.php:512 -msgid "Configuration updated" -msgstr "Nastavitve so posodobljene" - -#: sitemap.php:513 -msgid "Error" -msgstr "Napaka" - -#: sitemap.php:521 -msgid "A new page was added. Click on "Save page changes" to save your changes." -msgstr "Nova stran je dodana. Za uveljavitev sprememb, izberite "Shrani stran"." - -#: sitemap.php:527 -msgid "Pages saved" -msgstr "Strani so shranjene." - -#: sitemap.php:528 -msgid "Error while saving pages" -msgstr "Napaka pri shranjevanju strani" - -#: sitemap.php:539 -msgid "The page was deleted. Click on "Save page changes" to save your changes." -msgstr "Stran je izbrisana. Za uveljavitev sprememb, izberite "Shrani stran"." - -#: sitemap.php:542 -msgid "You changes have been cleared." -msgstr "Spremembe so razveljavljene." - -#: sitemap.php:555 -msgid "Sitemap Generator" -msgstr "Generator načrta strani" - -#: sitemap.php:558 -msgid "Manual rebuild" -msgstr "Ročno" - -#: sitemap.php:559 -msgid "If you want to build the sitemap without editing a post, click on here!" -msgstr "Izberite to možnost, če želite takoj ustvariti načrt strani." - -#: sitemap.php:560 -msgid "Rebuild Sitemap" -msgstr "Ustvari načrt strani" - -#: sitemap.php:564 -msgid "Additional pages" -msgstr "Dodatne strani" - -#: sitemap.php:566 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "Tukaj lahko navedete datoteke in URL naslove, ki niso del vaše Wordpress namestitve, želite jih pa vključiti v načrt strani.
Primer: Vaša domena je www.foo.com, blog se nahaja na naslovu www.foo.com/blog, medtem, ko vi v načrt strani želite vključiti tudi naslov www.foo.com s pripadajočo vsebino." - -#: sitemap.php:568 -msgid "URL to the page" -msgstr "URL naslov strani" - -#: sitemap.php:569 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "Vnestite URL naslov strani. Primer: www.foo.com ali www.foo.com/home" - -#: sitemap.php:571 -msgid "Priority" -msgstr "Prioriteta" - -#: sitemap.php:572 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "Izberi prioriteto strani, glede na ostale strani. Npr. za vašo domačo stran www.foo.com želite morda višjo prioriteto kot za vaš blog www.foo.com/blog? " - -#: sitemap.php:574 -msgid "Last Changed" -msgstr "Zadnjič spremenjeno" - -#: sitemap.php:575 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "Vnesite datum zadnje spremembe JJJJ-MM-TT (oblika: 2005-12-31). (opcija)" - -#: sitemap.php:583 -msgid "Change Frequency" -msgstr "Spremeni frekvenco" - -#: sitemap.php:585 -msgid "#" -msgstr "#" - -#: sitemap.php:609 -msgid "No pages defined." -msgstr "Nobena stran ni bila še definirana." - -#: sitemap.php:616 -msgid "Add new page" -msgstr "Dodaj novo stran" - -# sitemap.php:617: -#: sitemap.php:617 -msgid "Save page changes" -msgstr "Shrani spremembe" - -# sitemap.php:618: -#: sitemap.php:618 -msgid "Undo all page changes" -msgstr "Razveljavi spremembe" - -# sitemap.php:621: -#: sitemap.php:621 -msgid "Delete marked page" -msgstr "Izbriši izbrane strani" - -#: sitemap.php:627 -msgid "Basic Options" -msgstr "Osnovne nastavitve" - -#: sitemap.php:632 -msgid "Enable automatic priority calculation for posts based on comment count" -msgstr "Določi prioriteto objav glede na število komentarjev pod posameznimi objavami" - -#: sitemap.php:638 -msgid "Write debug comments" -msgstr "Zapiši komentarje za iskanje in odpravljanje napak" - -#: sitemap.php:643 -msgid "Filename of the sitemap file" -msgstr "Ime datoteke načrta strani" - -#: sitemap.php:650 -msgid "Write a normal XML file (your filename)" -msgstr "Shrani načrt strani kot standardno XML datoteko" - -#: sitemap.php:652 -msgid "Detected URL" -msgstr "Zaznan URL naslov" - -#: sitemap.php:657 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "Shrani kot stisnjeno (gzip) datoteko (ime datoteke + .gz)" - -#: sitemap.php:664 -msgid "Auto-Ping Google Sitemaps" -msgstr "Samodejno obvesti Google o spremembah (ping)" - -#: sitemap.php:665 -msgid "This option will automatically tell Google about changes." -msgstr "Če izberete to možnost, bodo morebitne spremembe v načrtu strani samodejno posredovane Googlu." - -#: sitemap.php:672 -msgid "Includings" -msgstr "Vsebina" - -#: sitemap.php:677 -msgid "Include homepage" -msgstr "Vključi osnovno (prvo) stran" - -#: sitemap.php:683 -msgid "Include posts" -msgstr "Vključi objave" - -#: sitemap.php:689 -msgid "Include static pages" -msgstr "Vključi statične strani" - -#: sitemap.php:695 -msgid "Include categories" -msgstr "Vključi kategorije" - -#: sitemap.php:701 -msgid "Include archives" -msgstr "Vključi zgodovino (arhivi)" - -#: sitemap.php:708 -msgid "Change frequencies" -msgstr "Spremeni frekvenco" - -#: sitemap.php:709 -msgid "Note" -msgstr "Opomba" - -#: sitemap.php:710 -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." -msgstr "Ta nastavitev je zgolj predlagana. Čeprav spletni iskalniki nastavljeno frekvenco upoštevajo, se zna zgoditi, da bodo strani nastavljene na urno osveževanje pregledovali redkeje, kot strani nastavljene na letno osveževanje. Ravno tako se zna zgoditi, da bodo iskalniki pregledovali strani, katerim ste nastavili, da se ne osvežujejo." - -#: sitemap.php:715 -msgid "Homepage" -msgstr "Osnovna stran" - -#: sitemap.php:721 -msgid "Posts" -msgstr "Objave" - -#: sitemap.php:727 -msgid "Static pages" -msgstr "Statične strani" - -#: sitemap.php:733 -msgid "Categories" -msgstr "Kategorije" - -#: sitemap.php:739 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Aktualni arhiv tega meseca (enako kot za osnovno stran)" - -#: sitemap.php:745 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Starejši arhivi" - -#: sitemap.php:752 -msgid "Priorities" -msgstr "Prioritete" - -#: sitemap.php:763 -msgid "Posts (If auto calculation is disabled)" -msgstr "Število objav (v primeru, ko je samodejno seštevanje onemogočeno)" - -#: sitemap.php:769 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Najmanjša prioriteta za objave (tudi, ko je izbrana možnost samodejnega izračunavanja prioritet)" - -#: sitemap.php:787 -msgid "Archives" -msgstr "Arhivi" - -#: sitemap.php:793 -msgid "Informations and support" -msgstr "Informacije in podpora" - -#: sitemap.php:794 -msgid "Check %s for updates and comment there if you have any problems / questions / suggestions." -msgstr "Popravke in pomoč za vtičnik boste našli na %s." - -#: sitemap.php:797 -msgid "Update options" -msgstr "Shrani nastavitve" - -#: sitemap.php:1033 -msgid "URL:" -msgstr "URL:" - -#: sitemap.php:1034 -msgid "Path:" -msgstr "Pot:" - -# msgid "URL:" -# msgstr "" -# msgid "Path:" -# msgstr "" -#: sitemap.php:1037 -msgid "Could not write into %s" -msgstr "Napaka pri shranjevanju datoteke "%s"." - -#: sitemap.php:1048 -msgid "Successfully built sitemap file:" -msgstr "Načrt strani je bil uspešno zapisan:" - -#: sitemap.php:1048 -msgid "Successfully built gzipped sitemap file:" -msgstr "Načrt strani je bil uspešno zapisan v stisnjeno (gzip) datoteko:" - -#: sitemap.php:1062 -msgid "Could not ping to Google at %s" -msgstr "Napaka pri obveščanju Googla o spremembah (%s)" - -#: sitemap.php:1064 -msgid "Successfully pinged Google at %s" -msgstr "Google je uspešno obveščen o spremembah (%s)" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sr_RS.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sr_RS.mo deleted file mode 100644 index 0676bf8d..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sr_RS.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sr_RS.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sr_RS.po deleted file mode 100644 index 53b5aa80..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sr_RS.po +++ /dev/null @@ -1,964 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: Google XML Sitemaps v4.0beta9\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-05-05 20:24+0100\n" -"PO-Revision-Date: 2012-06-02 14:54:30+0000\n" -"Last-Translator: Arne Brachhold \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Poedit-Language: \n" -"X-Poedit-Country: \n" -"X-Poedit-SourceCharset: utf-8\n" -"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n" -"X-Poedit-Basepath: .\n" -"X-Poedit-Bookmarks: \n" -"X-Poedit-SearchPath-0: C:/Inetpub/wwwroot/wp_plugins/sitemap_beta\n" -"X-Textdomain-Support: yes" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:846 -#: sitemap-core.php:527 -#@ sitemap -msgid "Comment Count" -msgstr "Broj Komentara" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:858 -#: sitemap-core.php:537 -#@ sitemap -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "Koristi broj komentara na postu za kalkulaciju prioriteta" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:918 -#: sitemap-core.php:590 -#@ sitemap -msgid "Comment Average" -msgstr "Prosečan Broj Komentara" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:930 -#: sitemap-core.php:600 -#@ sitemap -msgid "Uses the average comment count to calculate the priority" -msgstr "Koristi prosečan broj komentara za računanje prioriteta" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:993 -#: sitemap-core.php:661 -#@ sitemap -msgid "Popularity Contest" -msgstr "Takmičenje Popularnosti" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:1005 -#: sitemap-core.php:671 -#, php-format -#@ sitemap -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "Koristi aktivirani Takmičenje Popularnosti plugin od Alex King-a. Proveri Podešavanja i Najpopularnije Postove" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1118 -#: sitemap-core.php:840 -#@ sitemap -msgid "Always" -msgstr "Uvek" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1119 -#: sitemap-core.php:841 -#@ sitemap -msgid "Hourly" -msgstr "Svakog sata" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1120 -#: sitemap-core.php:842 -#@ sitemap -msgid "Daily" -msgstr "Dnevno" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1121 -#: sitemap-core.php:843 -#@ sitemap -msgid "Weekly" -msgstr "Nedeljno" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1122 -#: sitemap-core.php:844 -#@ sitemap -msgid "Monthly" -msgstr "Mesečno" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1123 -#: sitemap-core.php:845 -#@ sitemap -msgid "Yearly" -msgstr "Godišnje" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1124 -#: sitemap-core.php:846 -#@ sitemap -msgid "Never" -msgstr "Nikad" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2415 -#: sitemap-loader.php:212 -#@ sitemap -msgid "XML-Sitemap Generator" -msgstr "XML-Sitemap Generator" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2415 -#: sitemap-loader.php:212 -#@ sitemap -msgid "XML-Sitemap" -msgstr "XML-Sitemap" - -#: sitemap-loader.php:239 -#@ sitemap -msgid "Settings" -msgstr "Podešavanja" - -#: sitemap-loader.php:240 -#@ sitemap -msgid "FAQ" -msgstr "FAQ" - -#: sitemap-loader.php:241 -#@ sitemap -msgid "Support" -msgstr "Podrška" - -#: sitemap-loader.php:242 -#@ sitemap -msgid "Donate" -msgstr "Donacije" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2886 -#: sitemap-loader.php:328 -#: sitemap-ui.php:630 -#@ sitemap -msgid "Plugin Homepage" -msgstr "Homepage Plugin-a" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2905 -#: sitemap-loader.php:329 -#: sitemap-ui.php:652 -#@ sitemap -msgid "My Sitemaps FAQ" -msgstr "Česta pitanja o Sitemap-ima" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2635 -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2835 -#: sitemap-ui.php:198 -#: sitemap-ui.php:585 -#@ sitemap -msgid "XML Sitemap Generator for WordPress" -msgstr "XML Sitemap Generator za WordPress" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2740 -#: sitemap-ui.php:374 -#@ sitemap -msgid "Configuration updated" -msgstr "Konfiguracije ažurirane" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2741 -#: sitemap-ui.php:375 -#@ sitemap -msgid "Error while saving options" -msgstr "Greška prilikom snimanja opcija" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2743 -#: sitemap-ui.php:378 -#@ sitemap -msgid "Pages saved" -msgstr "Stranice snimljene" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2744 -#: sitemap-ui.php:379 -#@ sitemap -msgid "Error while saving pages" -msgstr "Greška za vreme snimanja stranica" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2758 -#: sitemap-ui.php:387 -#@ sitemap -msgid "The default configuration was restored." -msgstr "Osnovna podešavanja su vraćena" - -#: sitemap-ui.php:397 -#@ sitemap -msgid "The old files could NOT be deleted. Please use an FTP program and delete them by yourself." -msgstr "Nismo mogli izbrisati stare fajlove. Molimo vas da koristite FTP program i obrišete ih lično." - -#: sitemap-ui.php:399 -#@ sitemap -msgid "The old files were successfully deleted." -msgstr "Stari fajlovi su uspešno obrisani." - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2600 -#: sitemap-ui.php:439 -#@ sitemap -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "Hvala vam na donaciji. Pomažete mi da nastavim rad i razvoj ovog plugin-a i drugih besplatnih programa." - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2600 -#: sitemap-ui.php:439 -#@ sitemap -msgid "Hide this notice" -msgstr "Sakrijte ovo obaveštenje" - -#: sitemap-ui.php:445 -#, php-format -#@ sitemap -msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and you are satisfied with the results, isn't it worth at least a few dollar? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "Hvala vam što koristite ovaj plugin. Instalirali ste plugin pre meseca dana. Ako plugin radi i zadovoljni ste rezultatima, nadam se da je vredno makar par dolara? Donacije mi pomažu da nastavim rad na ovom besplatnom softveru! Naravno, nema problema!" - -#: sitemap-ui.php:445 -#@ sitemap -msgid "Sure, but I already did!" -msgstr "Naravno, ali već sam donirao!" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2657 -#: sitemap-ui.php:445 -#@ sitemap -msgid "No thanks, please don't bug me anymore!" -msgstr "Ne hvala, molim vas ne uznemiravajte me više!" - -#: sitemap-ui.php:452 -#, php-format -#@ sitemap -msgid "Thanks for using this plugin! You've installed this plugin some time ago. If it works and your are satisfied, why not rate it and recommend it to others? :-)" -msgstr "Hvala vam što koristite ovaj plugin! Instalirali ste ovaj plugin pre nekog vremena. Ako radi i zadovoljni ste, zašto ne biste dali ocenu i preporučili ga drugima? :-)" - -#: sitemap-ui.php:452 -#@ sitemap -msgid "Don't show this anymore" -msgstr "Ne pokazuj više" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-ui.php:374 -#: sitemap-ui.php:601 -#, php-format -#@ default -msgid "There is a new version of %1$s available. Download version %3$s here." -msgstr "Postoji nova verzija %1$s. Skinite verziju %3$s ovde." - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-ui.php:376 -#: sitemap-ui.php:603 -#, php-format -#@ default -msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." -msgstr "Postoji nova verzija %1$s. Skinite novu verziju %3$s ovde automatsko osvežavanje verzije nije dostupno za ovaj plugin." - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-ui.php:378 -#: sitemap-ui.php:605 -#, php-format -#@ default -msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." -msgstr "Postoji nova verzija %1$s. Skinite verziju %3$s ovde ili uradite update automatski." - -#: sitemap-ui.php:613 -#, php-format -#@ sitemap -msgid "Your blog is currently blocking search engines! Visit the privacy settings to change this." -msgstr "Vaš blog trenutno blokira pretraživače! Posetite podešavanja privatnosti da bi ste promenili." - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2884 -#: sitemap-ui.php:629 -#@ sitemap -msgid "About this Plugin:" -msgstr "O ovom plugin-u:" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-ui.php:421 -#: sitemap-ui.php:631 -#@ sitemap -msgid "Suggest a Feature" -msgstr "Predložite Funkciju" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2887 -#: sitemap-ui.php:632 -#@ sitemap -msgid "Notify List" -msgstr "Lista Notifikacija" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2888 -#: sitemap-ui.php:633 -#@ sitemap -msgid "Support Forum" -msgstr "Forum za Podršku" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-ui.php:424 -#: sitemap-ui.php:634 -#@ sitemap -msgid "Report a Bug" -msgstr "Prijavite Grešku" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2889 -#: sitemap-ui.php:636 -#@ sitemap -msgid "Donate with PayPal" -msgstr "Donirajte putem PayPal-a" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2890 -#: sitemap-ui.php:637 -#@ sitemap -msgid "My Amazon Wish List" -msgstr "Moje želje na Amazon-u" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2891 -#: sitemap-ui.php:638 -#@ sitemap -msgid "translator_name" -msgstr "ime_prevodioca" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2891 -#: sitemap-ui.php:638 -#@ sitemap -msgid "translator_url" -msgstr "url_prevodioca" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2895 -#: sitemap-ui.php:641 -#@ sitemap -msgid "Sitemap Resources:" -msgstr "Više o Sitemap-u" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2897 -#: sitemap-ui.php:642 -#: sitemap-ui.php:647 -#@ sitemap -msgid "Webmaster Tools" -msgstr "Alatke za Webmastere" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2898 -#: sitemap-ui.php:643 -#@ sitemap -msgid "Webmaster Blog" -msgstr "Webmaster Blog" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2901 -#: sitemap-ui.php:645 -#@ sitemap -msgid "Search Blog" -msgstr "Pretražite Blog" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3010 -#: sitemap-ui.php:648 -#@ sitemap -msgid "Webmaster Center Blog" -msgstr "Webmaster Central Blog" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2903 -#: sitemap-ui.php:650 -#@ sitemap -msgid "Sitemaps Protocol" -msgstr "Sitemap Protokol" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2904 -#: sitemap-ui.php:651 -#@ sitemap -msgid "Official Sitemaps FAQ" -msgstr "Oficijalni Sitemap FAW" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2910 -#: sitemap-ui.php:655 -#@ sitemap -msgid "Recent Donations:" -msgstr "Zadnje Donacije:" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2914 -#: sitemap-ui.php:658 -#@ sitemap -msgid "List of the donors" -msgstr "Lista Donatora" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2916 -#: sitemap-ui.php:660 -#@ sitemap -msgid "Hide this list" -msgstr "Sakrijte listu" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2919 -#: sitemap-ui.php:663 -#@ sitemap -msgid "Thanks for your support!" -msgstr "Hvala vam na podršci!" - -#: sitemap-ui.php:683 -#@ sitemap -msgid "Search engines haven't been notified yet" -msgstr "Pretraživači još uvek nisu obavešteni" - -#: sitemap-ui.php:687 -#, php-format -#@ sitemap -msgid "Result of the last ping, started on %date%." -msgstr "Rezultati zadnjeg ping-a, započeto %date%." - -#: sitemap-ui.php:702 -#, php-format -#@ sitemap -msgid "There is still a sitemap.xml or sitemap.xml.gz file in your blog directory. Please delete them as no static files are used anymore or try to delete them automatically." -msgstr "Još uvek postoji sitemap.xml ili sitemap.xml.gz fajl na vašem blog direktorijumu. Molimo vas da ih obrišete jer se više ne koristi ni jeda statični fajl ili pokušajte da ih obrišete automatski." - -#: sitemap-ui.php:705 -#, php-format -#@ sitemap -msgid "The URL to your sitemap index file is: %s." -msgstr "URL do vašeg sitemap index fajl-a je: %s." - -#: sitemap-ui.php:708 -#@ sitemap -msgid "Search engines haven't been notified yet. Write a post to let them know about your sitemap." -msgstr "Pretraživači još uvek nisu obavešteni. Napišite post da bi ste ih obavestili o vašem sitemap-u." - -#: sitemap-ui.php:717 -#, php-format -#@ sitemap -msgid "%s was successfully notified about changes." -msgstr "%s je uspešno obavešten o promenama." - -#: sitemap-ui.php:720 -#, php-format -#@ sitemap -msgid "It took %time% seconds to notify %name%, maybe you want to disable this feature to reduce the building time." -msgstr "Trebalo je %time% sekundi da obavestimo %name%, možda želite da onesposobite ovu funkciju da bi ste smanjili vreme izgradnje." - -#: sitemap-ui.php:723 -#, php-format -#@ sitemap -msgid "There was a problem while notifying %name%. View result" -msgstr "Imali smo problem sa obaveštavanjem %name%. Pogledajte rezultate" - -#: sitemap-ui.php:727 -#, php-format -#@ sitemap -msgid "If you encounter any problems with your sitemap you can use the debug function to get more information." -msgstr "Ako naiđete na neke probleme u vezi sa sitemap-om možete iskoristiti debug funkciju da bi ste dobili više podataka." - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3040 -#: sitemap-ui.php:735 -#@ sitemap -msgid "Basic Options" -msgstr "Onsovne Opcije" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3079 -#: sitemap-ui.php:737 -#@ sitemap -msgid "Update notification:" -msgstr "Ažurirajte notifikacije:" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3044 -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3059 -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3079 -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3104 -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3121 -#: sitemap-ui.php:737 -#: sitemap-ui.php:765 -#@ sitemap -msgid "Learn more" -msgstr "Saznajte više" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3083 -#: sitemap-ui.php:741 -#@ sitemap -msgid "Notify Google about updates of your Blog" -msgstr "Obavestite Google o promenama na vašem Blogu" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3084 -#: sitemap-ui.php:742 -#, php-format -#@ sitemap -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "Registracija nije potrebna, ali možete otovriti nalog na Google Webmaster Tools da bi ste preverili statistiku." - -#: sitemap-ui.php:746 -#@ sitemap -msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" -msgstr "Obavestite Bing (bivši MSN Live Search) o promenama na vašem Blogu" - -#: sitemap-ui.php:747 -#, php-format -#@ sitemap -msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." -msgstr "Registracija nije potrebna, ali možete napraviti nalog na Bing Webmaster Tools da proverite statistiku." - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3088 -#: sitemap-ui.php:751 -#@ sitemap -msgid "Notify Ask.com about updates of your Blog" -msgstr "Obavestite Ask.com o promenama na vašem Blogu" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3089 -#: sitemap-ui.php:752 -#@ sitemap -msgid "No registration required." -msgstr "Registracija nije potrebna." - -#: sitemap-ui.php:757 -#@ sitemap -msgid "Add sitemap URL to the virtual robots.txt file." -msgstr "Dodajte URL vašeg sitemap-a u robots.txt fajl." - -#: sitemap-ui.php:761 -#@ sitemap -msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" -msgstr "Virtualni robots.txt fajl generisan od strane WordPress-a je iskorišćen. Pravi robots.txt fajl NE SME postojati u direktorijumu vašeg bloga!" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3121 -#: sitemap-ui.php:765 -#@ sitemap -msgid "Advanced options:" -msgstr "Napredne opcija:" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3127 -#: sitemap-ui.php:768 -#@ sitemap -msgid "Try to increase the memory limit to:" -msgstr "Pokušajte da povećate limit memorije na:" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3127 -#: sitemap-ui.php:768 -#@ sitemap -msgid "e.g. \"4M\", \"16M\"" -msgstr "npr. \"4M\", \"16M\"" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3130 -#: sitemap-ui.php:771 -#@ sitemap -msgid "Try to increase the execution time limit to:" -msgstr "Pokušajte da povećate vreme izvršenja na:" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3130 -#: sitemap-ui.php:771 -#@ sitemap -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "u sekundama, npr. \"60\" or \"0\" za neograničeno" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3133 -#: sitemap-ui.php:775 -#@ sitemap -msgid "Include a XSLT stylesheet:" -msgstr "Dodajte XSLT stylesheet:" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3133 -#: sitemap-ui.php:776 -#@ sitemap -msgid "Full or relative URL to your .xsl file" -msgstr "Absolutni ili relativni URL do vasšeg .xsl fajla." - -#: sitemap-ui.php:776 -#@ sitemap -msgid "Use default" -msgstr "Koristite default-ni" - -#: sitemap-ui.php:781 -#@ sitemap -msgid "Include sitemap in HTML format" -msgstr "Dodajte sitemap u HTML formatu" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3144 -#: sitemap-ui.php:790 -#@ sitemap -msgid "Additional pages" -msgstr "Dodatne stranice" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3149 -#: sitemap-ui.php:793 -#@ sitemap -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "Ovde možete specificirati fajlove ili URL-ove koje bi trebalo dodati u sitemap, ali ne pripadaju vašem Blog-u/WordPress-u.
Na primer, ako je vaš domen www.foo.com a vaš blog se nalazi na www.foo.com-blog mozda želite da dodate vašu početnu stranu www.foo.com" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3151 -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3462 -#: sitemap-ui.php:795 -#: sitemap-ui.php:999 -#: sitemap-ui.php:1010 -#: sitemap-ui.php:1019 -#@ sitemap -msgid "Note" -msgstr "Opazite" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3152 -#: sitemap-ui.php:796 -#@ sitemap -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)!" -msgstr "Ako se vaš blog nalazi u pod direktorijumu i ako želite da doddate stranice koje se ne nalaze u blog direktorijumu ili ispod, MORATE staviti sitemap fajl u korenu direktorijuma (Pogledajte "Lokaciju vašeg sitemap-a " sekciju na ovoj stranici)!" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3154 -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3300 -#: sitemap-ui.php:798 -#: sitemap-ui.php:837 -#@ sitemap -msgid "URL to the page" -msgstr "URL do stranice" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3155 -#: sitemap-ui.php:799 -#@ sitemap -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "Unesite URL do stranice. Primeri: http://www.foo.com/index.html ili www.foo.com/home " - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3157 -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3301 -#: sitemap-ui.php:801 -#: sitemap-ui.php:838 -#@ sitemap -msgid "Priority" -msgstr "Prioritet" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3158 -#: sitemap-ui.php:802 -#@ sitemap -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "Izaberite prioritet stranice u odnosu na druge stranice. Na primer, vaša početna stranica može imati veći prioritet nego niće stranice." - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3160 -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3303 -#: sitemap-ui.php:804 -#: sitemap-ui.php:840 -#@ sitemap -msgid "Last Changed" -msgstr "Zadjne promene" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3161 -#: sitemap-ui.php:805 -#@ sitemap -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "Unesti datum zadnje prmene u formatu YYYY-MM-DD (2005-12-31 na primer) (opciono)." - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3302 -#: sitemap-ui.php:839 -#@ sitemap -msgid "Change Frequency" -msgstr "Promente Učestalost" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3304 -#: sitemap-ui.php:841 -#@ sitemap -msgid "#" -msgstr "#" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3309 -#: sitemap-ui.php:846 -#@ sitemap -msgid "No pages defined." -msgstr "Stranice nisu definisane." - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3314 -#: sitemap-ui.php:851 -#@ sitemap -msgid "Add new page" -msgstr "Dodajte novu stranicu" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3325 -#: sitemap-ui.php:857 -#@ sitemap -msgid "Post Priority" -msgstr "Prioritet postova" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3329 -#: sitemap-ui.php:859 -#@ sitemap -msgid "Please select how the priority of each post should be calculated:" -msgstr "Molimo vas izaberite kako se računa prioritet postova:" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3331 -#: sitemap-ui.php:861 -#@ sitemap -msgid "Do not use automatic priority calculation" -msgstr "Ne koristi automatsku kalkulaciju prioriteta" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3331 -#: sitemap-ui.php:861 -#@ sitemap -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "Svi postovi će imati isti prioritet koji je definisan u "Priorities"" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3397 -#: sitemap-ui.php:872 -#@ sitemap -msgid "Sitemap Content" -msgstr "Sadržaj sitemap-a" - -#: sitemap-ui.php:873 -#@ sitemap -msgid "WordPress standard content" -msgstr "WordPress standardni sadržaj" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3405 -#: sitemap-ui.php:878 -#@ sitemap -msgid "Include homepage" -msgstr "Dodajte početnu " - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3411 -#: sitemap-ui.php:884 -#@ sitemap -msgid "Include posts" -msgstr "Dodajte postove" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3417 -#: sitemap-ui.php:890 -#@ sitemap -msgid "Include static pages" -msgstr "Dodajte statičke stranice" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3423 -#: sitemap-ui.php:896 -#@ sitemap -msgid "Include categories" -msgstr "Dodajte kategorije" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3429 -#: sitemap-ui.php:902 -#@ sitemap -msgid "Include archives" -msgstr "Dodajte arhive" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3443 -#: sitemap-ui.php:908 -#@ sitemap -msgid "Include author pages" -msgstr "Dodajte stranice autora" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3436 -#: sitemap-ui.php:915 -#@ sitemap -msgid "Include tag pages" -msgstr "Dodajte tag stranice" - -#: sitemap-ui.php:929 -#@ sitemap -msgid "Custom taxonomies" -msgstr "Uobičajene taxonomije" - -#: sitemap-ui.php:940 -#, php-format -#@ sitemap -msgid "Include taxonomy pages for %s" -msgstr "Dodajte stranice taxonomije za %s" - -#: sitemap-ui.php:958 -#@ sitemap -msgid "Custom post types" -msgstr "Uobičajeni tipovi postova" - -#: sitemap-ui.php:969 -#, php-format -#@ sitemap -msgid "Include custom post type %s" -msgstr "Dodajte uobičajene tipove postova %s" - -#: sitemap-ui.php:981 -#@ sitemap -msgid "Further options" -msgstr "Još opcija" - -#: sitemap-ui.php:986 -#@ sitemap -msgid "Include the last modification time." -msgstr "Dodajte vreme zadnje modifikacije" - -#: sitemap-ui.php:988 -#@ sitemap -msgid "This is highly recommended and helps the search engines to know when your content has changed. This option affects all sitemap entries." -msgstr "Ovo je preporučljivo jer govori pretraživačima kada se vaš sadržaj promeni. Ova opcija utiče sve unose u sitemap." - -#: sitemap-ui.php:995 -#@ sitemap -msgid "Excluded items" -msgstr "Uklonite" - -#: sitemap-ui.php:997 -#@ sitemap -msgid "Excluded categories" -msgstr "Uklonite kategorije" - -#: sitemap-ui.php:999 -#@ sitemap -msgid "Using this feature will increase build time and memory usage!" -msgstr "Korišćenje ove funkcije će povećati vreme pravljenja i korišćenje memorije." - -#: sitemap-ui.php:1006 -#@ sitemap -msgid "Exclude posts" -msgstr "Uklonite postove" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3206 -#: sitemap-ui.php:1008 -#@ sitemap -msgid "Exclude the following posts or pages:" -msgstr "Uklonite sledeće postove ili stranice:" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3206 -#: sitemap-ui.php:1008 -#@ sitemap -msgid "List of IDs, separated by comma" -msgstr "Lista ID-a, odvojene zarezom" - -#: sitemap-ui.php:1010 -#@ sitemap -msgid "Child posts won't be excluded automatically!" -msgstr "Pod postovi neće biti uključeni automatski!" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3457 -#: sitemap-ui.php:1016 -#@ sitemap -msgid "Change frequencies" -msgstr "Promenite učestalost" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3463 -#: sitemap-ui.php:1020 -#@ sitemap -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." -msgstr "Molimo vas da zapamtite da vrednost ovog tag-a je koristi kao predlog a ne kao komanda. Iako pretraživači razmatraju ovu infomaciju kada donose odluke, možda će proći kroz stranice obeležene \"hourly\" ređe nego naznačeno, a možda će stranice naznačene \"yearly\" posećivati češće. Isto tako je verovatno da će s'vremena na vreme prolaziti kroz stranice naznačene sa \"never\" da bi mogli da reaguju na neočekivane promene na tim stranicama." - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3469 -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3535 -#: sitemap-ui.php:1026 -#: sitemap-ui.php:1083 -#@ sitemap -msgid "Homepage" -msgstr "Početna" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3475 -#: sitemap-ui.php:1032 -#@ sitemap -msgid "Posts" -msgstr "Postovi" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3481 -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3553 -#: sitemap-ui.php:1038 -#: sitemap-ui.php:1101 -#@ sitemap -msgid "Static pages" -msgstr "Statične stranice" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3487 -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3559 -#: sitemap-ui.php:1044 -#: sitemap-ui.php:1107 -#@ sitemap -msgid "Categories" -msgstr "Kategorije" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3493 -#: sitemap-ui.php:1050 -#@ sitemap -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Trenutna arhiva za ovaj mesec (Treba biti ista kao i vaša početna stranica)" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3499 -#: sitemap-ui.php:1056 -#@ sitemap -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Starije arhive (Menja se samo ako promenti stariji post)" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3506 -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3572 -#: sitemap-ui.php:1063 -#: sitemap-ui.php:1120 -#@ sitemap -msgid "Tag pages" -msgstr "Tag stranice" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3513 -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3579 -#: sitemap-ui.php:1070 -#: sitemap-ui.php:1127 -#@ sitemap -msgid "Author pages" -msgstr "Stranice autora" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3527 -#: sitemap-ui.php:1078 -#@ sitemap -msgid "Priorities" -msgstr "Prioriteti" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3541 -#: sitemap-ui.php:1089 -#@ sitemap -msgid "Posts (If auto calculation is disabled)" -msgstr "Postovi (ako je auto kalkulacija isključena)" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3547 -#: sitemap-ui.php:1095 -#@ sitemap -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Minimalni prioritet za postove (Čak iako je auto kalkulacija uključena)" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3565 -#: sitemap-ui.php:1113 -#@ sitemap -msgid "Archives" -msgstr "Arhive" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3590 -#: sitemap-ui.php:1138 -#@ sitemap -msgid "Update options" -msgstr "Opcije ažuriranja" - -# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3591 -#: sitemap-ui.php:1139 -#@ sitemap -msgid "Reset options" -msgstr "Opcije za resetovanje" - -#: sitemap.php:82 -#@ sitemap -msgid "Your WordPress version is too old for XML Sitemaps." -msgstr "Vaša verzija WordPress-a je previše stara za XML Sitemap." - -#: sitemap.php:82 -#, php-format -#@ sitemap -msgid "Unfortunately this release of Google XML Sitemaps requires at least WordPress %4$s. You are using Wordpress %2$s, which is out-dated and insecure. Please upgrade or go to active plugins and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the plugin website." -msgstr "Nažalost ova verzija Google XML Sitemap-a zahteva barem WordPress verziju %4$s. Vi koristite WordPress verziju %2$s, koja je zastarela i nesigurna. Molimo vas da update-ujete ili odete na aktivne plugin-ove i deaktivirate Google XML Sitemap plugin da bi ste sakrili ovu poruku. Možete skinuti stariju verziju ovog plugin-a sa našeg sajta." - -#: sitemap.php:92 -#@ sitemap -msgid "Your PHP version is too old for XML Sitemaps." -msgstr "PHP verzija koju koristite je previše stara za XML sitemap." - -#: sitemap.php:92 -#, php-format -#@ sitemap -msgid "Unfortunately this release of Google XML Sitemaps requires at least PHP %4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask your web host to update your PHP installation or go to active plugins and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the plugin website." -msgstr "nažalost ova verzija Google XML Sitemap-a zahteva najmanje verziju PHP %4$s. Vi koristite PHP %2$s, koji je zastareo i nesiguran. Zamolite vaš hosting da ažuriraju verziju PHP instalacije ili idite na aktivne plugin-ove i deaktivirajte Google XML Sitemap plugin da bi ste sakrili ovu poruku. Možete skinuti straiju verziju ovog plugin-a sa našeg sajta." - -#. translators: plugin header field 'Name' -#: sitemap.php:0 -#@ sitemap -msgid "Google XML Sitemaps" -msgstr "" - -#. translators: plugin header field 'PluginURI' -#: sitemap.php:0 -#@ sitemap -msgid "http://www.arnebrachhold.de/redir/sitemap-home/" -msgstr "" - -#. translators: plugin header field 'Description' -#: sitemap.php:0 -#@ sitemap -msgid "This plugin will generate a special XML sitemap which will help search engines like Google, Yahoo, Bing and Ask.com to better index your blog." -msgstr "" - -#. translators: plugin header field 'Author' -#: sitemap.php:0 -#@ sitemap -msgid "Arne Brachhold" -msgstr "" - -#. translators: plugin header field 'AuthorURI' -#: sitemap.php:0 -#@ sitemap -msgid "http://www.arnebrachhold.de/" -msgstr "" - -#. translators: plugin header field 'Version' -#: sitemap.php:0 -#@ sitemap -msgid "4.0beta9" -msgstr "" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sv_SE.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sv_SE.mo deleted file mode 100644 index aabe5657..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sv_SE.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sv_SE.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sv_SE.po deleted file mode 100644 index 0094df52..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-sv_SE.po +++ /dev/null @@ -1,322 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: Google Sitemap Generator Swedish Translation 1.0\n" -"POT-Creation-Date: \n" -"PO-Revision-Date: 2008-01-08 12:16+0100\n" -"Last-Translator: Markus \n" -"Language-Team: Tobias Bergius \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Swedish\n" -"X-Poedit-Country: SWEDEN\n" -"X-Poedit-SourceCharset: iso-8859-1\n" - -#: sitemap.php:375 -msgid "always" -msgstr "alltid" - -msgid "hourly" -msgstr "varje timme" - -msgid "daily" -msgstr "dagligen" - -msgid "weekly" -msgstr "varje vecka" - -msgid "monthly" -msgstr "månatligen" - -msgid "yearly" -msgstr "Årligen" - -msgid "never" -msgstr "aldrig" - -msgid "Detected Path" -msgstr "Funnen sökväg" - -msgid "Example" -msgstr "Exempel" - -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "Absolut eller relativ sökväg till sajtkartan, inklusive namn." - -msgid "Complete URL to the sitemap file, including name." -msgstr "Komplett URL till sajtkartan, inklusive namn." - -msgid "Automatic location" -msgstr "Automatisk sökväg" - -msgid "Manual location" -msgstr "Manuell sökväg" - -msgid "OR" -msgstr "eller" - -msgid "Location of your sitemap file" -msgstr "Sökväg till din sajtkarta" - -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)!" -msgstr "Om din blogg är i en underkatalog och du vill lägga till sidor som inte är i blogg-katalogen, eller under, måste du placera din sajtkarta i root-katalogen (se "Sökväg till din sajtkarta" på den här sidan)!" - -#: sitemap.php:512 -msgid "Configuration updated" -msgstr "Konfiguration uppdaterad" - -#: sitemap.php:513 -msgid "Error" -msgstr "Fel" - -#: sitemap.php:521 -msgid "A new page was added. Click on "Save page changes" to save your changes." -msgstr "En ny sida tillagd. Klicka på "Spara ändringar" för att spara." - -#: sitemap.php:527 -msgid "Pages saved" -msgstr "Sidor sparade" - -#: sitemap.php:528 -msgid "Error while saving pages" -msgstr "Fel vid sparande av sida" - -#: sitemap.php:539 -msgid "The page was deleted. Click on "Save page changes" to save your changes." -msgstr "Sidan borttagen. Klicka på "Spara ändringar" för att spara." - -#: sitemap.php:542 -msgid "You changes have been cleared." -msgstr "Dina ändringar har rensats." - -#: sitemap.php:555 -msgid "Sitemap Generator" -msgstr "Sitemap Generator" - -#: sitemap.php:558 -msgid "Manual rebuild" -msgstr "Manuell återskapning" - -#: sitemap.php:559 -msgid "If you want to build the sitemap without editing a post, click on here!" -msgstr "Om du vill skapa sajtkartan utan att redigera en artikel, klicka här!" - -#: sitemap.php:560 -msgid "Rebuild Sitemap" -msgstr "Återskapa sajtkarta" - -#: sitemap.php:564 -msgid "Additional pages" -msgstr "Ytterligare sidor" - -#: sitemap.php:566 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "Här kan du lägga till URL:er i sajtkartan, som inte tillhör Wordpress.
Till exempel, om din domän är www.foo.com och din blogg finns på www.foo.com/blogg, vill du nog lägga till din startsida på www.foo.com." - -#: sitemap.php:568 -msgid "URL to the page" -msgstr "URL till sidan" - -#: sitemap.php:569 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "Ange URL till sidan. Exempel: http://www.foo.com/index.html eller www.foo.com/home" - -#: sitemap.php:571 -msgid "Priority" -msgstr "Prioritet" - -#: sitemap.php:572 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "Välj prioritet relativt till de andra sidorna. Till exempel, din startsida kanske bör ha högre prioritet än dina undersidor." - -#: sitemap.php:574 -msgid "Last Changed" -msgstr "Senast ändrad" - -#: sitemap.php:575 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "Ändra datum för senaste ändringar enligt ÅÅÅÅ-MM-DD (2005-12-31 t.ex.) (valfritt)." - -#: sitemap.php:583 -msgid "Change Frequency" -msgstr "Ändra frekvens" - -#: sitemap.php:585 -msgid "#" -msgstr "#" - -#: sitemap.php:609 -msgid "No pages defined." -msgstr "Inga sidor tillagda." - -#: sitemap.php:616 -msgid "Add new page" -msgstr "Lägg till sida" - -# sitemap.php:617: -#: sitemap.php:617 -msgid "Save page changes" -msgstr "Spara ändringar" - -# sitemap.php:618: -#: sitemap.php:618 -msgid "Undo all page changes" -msgstr "Ångra alla ändringar" - -# sitemap.php:621: -#: sitemap.php:621 -msgid "Delete marked page" -msgstr "Ta bort markerad sida" - -#: sitemap.php:627 -msgid "Basic Options" -msgstr "Generella ändringar" - -#: sitemap.php:632 -msgid "Enable automatic priority calculation for posts based on comment count" -msgstr "Aktivera automatisk prioritering för artiklar, baserat på antal kommentarer" - -#: sitemap.php:638 -msgid "Write debug comments" -msgstr "Skriv debuggkommentarer" - -#: sitemap.php:643 -msgid "Filename of the sitemap file" -msgstr "Filnamn på sajtkartan" - -#: sitemap.php:650 -msgid "Write a normal XML file (your filename)" -msgstr "Skapa en vanlig XML-fil (ditt filnamn)" - -#: sitemap.php:652 -msgid "Detected URL" -msgstr "Funnen URL" - -#: sitemap.php:657 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "Skapa en gzippad fil (filnamn + .gz)" - -#: sitemap.php:664 -msgid "Auto-Ping Google Sitemaps" -msgstr "Auto-pinga Google Sitemaps" - -#: sitemap.php:665 -msgid "This option will automatically tell Google about changes." -msgstr "Det här gör att Google automatiskt notifieras om uppdateringar" - -#: sitemap.php:672 -msgid "Includings" -msgstr "Inkluderingar" - -#: sitemap.php:677 -msgid "Include homepage" -msgstr "Inkludera startsida" - -#: sitemap.php:683 -msgid "Include posts" -msgstr "Inkludera artiklar" - -#: sitemap.php:689 -msgid "Include static pages" -msgstr "Inkludera statiska sidor" - -#: sitemap.php:695 -msgid "Include categories" -msgstr "Inkludera kategorier" - -#: sitemap.php:701 -msgid "Include archives" -msgstr "Inkluder arkiv" - -#: sitemap.php:708 -msgid "Change frequencies" -msgstr "Ändra frekvenser" - -#: sitemap.php:709 -msgid "Note" -msgstr "Observera" - -#: sitemap.php:710 -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." -msgstr "Den här inställningen ska ses som en ledtråd och inte ett kommando. Även om sökmotorerna lägger märke till den här informationen, så kan de indexera sidor markerade \"per timme\" mer sällan än det. Och dom kan indexera sidor markerade \"årligen\" oftare än så. Det är också vanligt att sökmotorer regelbundet kontrollerar sidor markerade \"aldrig\", så att de kan hantera oväntade händelser." - -#: sitemap.php:715 -msgid "Homepage" -msgstr "Startsida" - -#: sitemap.php:721 -msgid "Posts" -msgstr "Artiklar" - -#: sitemap.php:727 -msgid "Static pages" -msgstr "Statiska sidor" - -#: sitemap.php:733 -msgid "Categories" -msgstr "Kategorier" - -#: sitemap.php:739 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Aktuellt arkiv för denna månad (borde vara samma som din startsida)" - -#: sitemap.php:745 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Äldre arkiv (ändras bara om du ändrar en äldre artikel)" - -#: sitemap.php:752 -msgid "Priorities" -msgstr "Prioriteringar" - -#: sitemap.php:763 -msgid "Posts (If auto calculation is disabled)" -msgstr "Artiklar (om autoprioritering är avaktiverat)" - -#: sitemap.php:769 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Minsta artikeprioritet (även om autoprioritering är aktiverat)" - -#: sitemap.php:787 -msgid "Archives" -msgstr "Arkiv" - -#: sitemap.php:793 -msgid "Informations and support" -msgstr "Information och support" - -#: sitemap.php:794 -msgid "Check %s for updates and comment there if you have any problems / questions / suggestions." -msgstr "Kontrollera %s efter uppdateringar och kommentera om du har några problem, frågor eller förslag." - -#: sitemap.php:797 -msgid "Update options" -msgstr "Uppdatera inställningar" - -#: sitemap.php:1033 -msgid "URL:" -msgstr "URL:" - -#: sitemap.php:1034 -msgid "Path:" -msgstr "Sökväg:" - -#: sitemap.php:1037 -msgid "Could not write into %s" -msgstr "Kan inte skriva till %s" - -#: sitemap.php:1048 -msgid "Successfully built sitemap file:" -msgstr "Sajtkarta skapad:" - -#: sitemap.php:1048 -msgid "Successfully built gzipped sitemap file:" -msgstr "Gzippad sajtkarta skapad:" - -#: sitemap.php:1062 -msgid "Could not ping to Google at %s" -msgstr "Kan inte pinga Google på %s" - -#: sitemap.php:1064 -msgid "Successfully pinged Google at %s" -msgstr "Google pingad på %s" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-tr_TR.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-tr_TR.mo deleted file mode 100644 index 20659501..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-tr_TR.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-tr_TR.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-tr_TR.po deleted file mode 100644 index fe759975..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-tr_TR.po +++ /dev/null @@ -1,913 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: sitemap\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-07 01:15+0100\n" -"PO-Revision-Date: 2009-06-08 17:31+0200\n" -"Last-Translator: Baris Unver \n" -"Language-Team: Stefano Aglietti \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Italian\n" -"X-Poedit-Country: ITALY\n" -"X-Poedit-SourceCharset: utf-8\n" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:642 -msgid "Comment Count" -msgstr "Yorum Sayımı" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:654 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "Önceliği belirlemek için yazıya yapılmış yorum sayısını kullan" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:714 -msgid "Comment Average" -msgstr "Yorum Ortalaması" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:726 -msgid "Uses the average comment count to calculate the priority" -msgstr "Önceliği hesaplamak için yazıların ortalama yorum sayısını kullanır" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:789 -msgid "Popularity Contest" -msgstr "Popularity Contest" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:801 -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "Alex King tarafından yaratılmış Popularity Contest Eklentisi ile uyumlu olarak çalışır, öncelikleri Popularity Contest'in raporlarına göre hesaplar. Ayarlar için buraya, en popüler yazılar içinse buraya tıklayın." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1187 -msgid "Always" -msgstr "Her zaman" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1188 -msgid "Hourly" -msgstr "Saatte bir" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1189 -msgid "Daily" -msgstr "Günde bir" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1190 -msgid "Weekly" -msgstr "Haftada bir" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1191 -msgid "Monthly" -msgstr "Ayda bir" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1192 -msgid "Yearly" -msgstr "Yılda bir" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1193 -msgid "Never" -msgstr "Hiçbir zaman" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "Bağışınız için çok teşekkürler. Bu eklenti üzerinde çalışmam ve destek sunabilmem için yardım sağlamış oldunuz!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 -msgid "Hide this notice" -msgstr "Bu bildiriyi sakla" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2606 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 -#, php-format -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? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "" -"Bu eklentiyi kullandığınız için teşekkürler! Bu eklentiyi bir aydan daha uzun süredir kullanıyorsunuz. Eğer eklenti sizin işinize yaradıysa ve sevdiyseniz, sizce bu en azından bir dolar etmez mi? Yapılan bağışlar, bu ücretsiz eklentiyi geliştirmeye devam etmemi ve eklenti hakkında destek sunmamı sağlıyor!\n" -"Tabii canım, ne demek!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2606 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 -msgid "No thanks, please don't bug me anymore!" -msgstr "Yok teşekkürler, lütfen beni bir daha rahatsız etme!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:119 -msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" -msgstr "Site haritanız şu anda yenileniyor. Blog'unuzun büyüklüğüne göre bu işlem biraz zaman alabilir!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:121 -#, php-format -msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" -msgstr "Site haritanız %s saniye içinde yenilenecek. Blog'unuzun büyüklüğüne göre bu işlem biraz zaman alabilir!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:146 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:453 -msgid "XML Sitemap Generator for WordPress" -msgstr "Wordpress için XML Site Haritası Oluşturucusu" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:298 -msgid "Configuration updated" -msgstr "Ayarlar kaydedildi" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:299 -msgid "Error while saving options" -msgstr "Seçenekler kaydedilirken hata oluştu" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:301 -msgid "Pages saved" -msgstr "Sayfalar kaydedildi" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:302 -msgid "Error while saving pages" -msgstr "Sayfalar kaydedilirken hata oluştu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:309 -msgid "The default configuration was restored." -msgstr "Varsayılan seçenekler yüklendi" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:466 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here." -msgstr "%1$s eklentisinin yeni bir sürümü var. %3$s sürümünü buradan indirin." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:468 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." -msgstr "%1$s eklentisinin yeni bir sürümü var. %3$s sürümünü buradan indirin. bu eklenti için otomatik güncelleme mümkün değil." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:470 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." -msgstr "%1$s eklentisinin yeni bir sürümü var. %3$s sürümünü buradan indirin. veya otomatik güncelleyin." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:493 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:510 -msgid "open" -msgstr "açmak" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:494 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:511 -msgid "close" -msgstr "kapamak" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:495 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:512 -msgid "click-down and drag to move this box" -msgstr "kutuyu taşımak için tıklayıp sürükleyin" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:496 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:513 -msgid "click to %toggle% this box" -msgstr "kutuyu %toggle% için tıklayın" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:497 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:514 -msgid "use the arrow keys to move this box" -msgstr "bu kutuyu taşımak için yön tuşlarını kullanın" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:515 -msgid ", or press the enter key to %toggle% it" -msgstr "%toggle% için , veya enter tuşuna basın" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 -msgid "About this Plugin:" -msgstr "Bu Eklenti Hakkında:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:141 -msgid "Plugin Homepage" -msgstr "Eklenti Anasayfası" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:535 -msgid "Suggest a Feature" -msgstr "Bir Özellik Öner" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:536 -msgid "Notify List" -msgstr "Bildiri listesi" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:537 -msgid "Support Forum" -msgstr "Destek Forumu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:538 -msgid "Report a Bug" -msgstr "Bir Hata Raporla" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:540 -msgid "Donate with PayPal" -msgstr "PayPal ile Bağış Yap" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:541 -msgid "My Amazon Wish List" -msgstr "Amazon Wish List'im" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:542 -msgid "translator_name" -msgstr "Eklenti Çevirmeni: Barış Ünver" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:542 -msgid "translator_url" -msgstr "http://beyn.org" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:545 -msgid "Sitemap Resources:" -msgstr "Site Haritası Kaynakları:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:546 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:552 -msgid "Webmaster Tools" -msgstr "Webmaster Araçları" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:547 -msgid "Webmaster Blog" -msgstr "Webmaster Blog'u" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:549 -msgid "Site Explorer" -msgstr "Site Explorer" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:550 -msgid "Search Blog" -msgstr "Search Blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:553 -msgid "Webmaster Center Blog" -msgstr "Webmaster Merkezi Blog'u" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:555 -msgid "Sitemaps Protocol" -msgstr "Site Haritası Protokolü" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:556 -msgid "Official Sitemaps FAQ" -msgstr "Resmi Sitemap SSS'si" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:557 -msgid "My Sitemaps FAQ" -msgstr "Bu Eklentinin SSS'si" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:560 -msgid "Recent Donations:" -msgstr "Son Bağışlar:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:564 -msgid "List of the donors" -msgstr "Bağış Yapanların Listesi:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:566 -msgid "Hide this list" -msgstr "Bu listeyi sakla" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:569 -msgid "Thanks for your support!" -msgstr "Desteğiniz için teşekkürler!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:587 -msgid "Status" -msgstr "Durum" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:595 -#, php-format -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "Site haritanız henüz oluşturulmamış. Oluşturmak için buraya tıklayın." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:601 -msgid "Your sitemap was last built on %date%." -msgstr "Site haritanız en son %date% tarihinde oluşturulmuş." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:603 -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreDaha fazla" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:610 -msgid "Your sitemap (zipped) was last built on %date%." -msgstr "Sıkıştırılmış site haritanız" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:612 -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreDaha fazla" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:618 -msgid "Google was successfully notified about changes." -msgstr "Google başarıyla bilgilendirildi." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:621 -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "Google'ın bilgilendirilmesi %time% saniye sürdü, kurulum süresini düşürmek için bu seçeneği kaldırabilirsiniz" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2970 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:624 -#, php-format -msgid "There was a problem while notifying Google. View result" -msgstr "Google bilgilendirilirken hata oluştu. Hatayı göster" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:630 -msgid "YAHOO was successfully notified about changes." -msgstr "Yahoo! başarıyla bilgilendirildi." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:633 -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "Yahoo!'nun bilgilendirilmesi %time% saniye sürdü, kurulum süresini düşürmek için bu seçeneği kaldırabilirsiniz" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2982 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:636 -#, php-format -msgid "There was a problem while notifying YAHOO. View result" -msgstr "Yahoo! bilgilendirilirken hata oluştu. Hatayı göster" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:642 -msgid "Bing was successfully notified about changes." -msgstr "Bing başarıyla bilgilendirildi." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:645 -msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." -msgstr "Bing'in bilgilendirilmesi %time% saniye sürdü, kurulum süresini düşürmek için bu seçeneği kaldırabilirsiniz" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2970 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:648 -#, php-format -msgid "There was a problem while notifying Bing. View result" -msgstr "Bing bilgilendirilirken hata oluştu. Hatayı göster" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:654 -msgid "Ask.com was successfully notified about changes." -msgstr "Ask.com başarıyla bilgilendirildi." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:657 -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "Ask.com'un bilgilendirilmesi %time% saniye sürdü, kurulum süresini düşürmek için bu seçeneği kaldırabilirsiniz" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2994 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:660 -#, php-format -msgid "There was a problem while notifying Ask.com. View result" -msgstr "Ask.com bilgilendirilirken hata oluştu. Hatayı göster" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:668 -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "Kurulum toplam %time% saniye sürdü ve %memory% MB bellek kullandı." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:670 -msgid "The building process took about %time% seconds to complete." -msgstr "Kurulum toplam %time% saniye sürdü." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:674 -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "Site haritanızın içeriği önceki güncellemeyle aynı olduğundan dolayı herhangi bir güncelleme yapılmadı ve herhangi bir arama motoru ping'lenmedi." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:682 -msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." -msgstr "Kurulum işlemi hala aktif olabilir! Bu sayfayı birkaç saniye sonra yenileyip bir şeyin değişip değişmediğini kontrol edin." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:685 -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "Son güncelleme daha bitmedi! Kullanılan bellek miktarını yükseltebilir veya kurulum süresini uzatabilirsiniz. Daha fazla" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:687 -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "Betiğin son bilinen bellek kullanımı %memused%MB oldu, sunucunuzun sağladığı bellek sınırı ise %memlimit%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:691 -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "Betiğin son çalıştırılması %timeused% saniye sürdü, sunucunuzun sağladığı süre sınırı ise %timelimit% saniye." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:695 -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "Betik, %lastpost% numaralı yazı civarında (+/- 100) durdu." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:698 -#, php-format -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "Eğer sunucunuzda veya blog'unuzda bir değişiklik yaptıysanız, site haritanızı güncellemek isteyebilirsiniz." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:700 -#, php-format -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "Eğer bir sorunla (veya sorunlarla) karşılaşırsanız, hata ayıklama kipini kullanıp sorun(lar) hakkında bilgi sahibi olabilirsiniz." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:707 -msgid "Basic Options" -msgstr "Temel Ayarlar" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:709 -msgid "Sitemap files:" -msgstr "Site haritası dosyaları:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:709 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 -msgid "Learn more" -msgstr "Daha fazla" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:714 -msgid "Write a normal XML file (your filename)" -msgstr "Normal bir XML dosyası oluştur (dosya isminiz.xml)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:720 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "Gzip ile sıkıştırılmış bir dosya oluştur (dosya isminiz.xml.gz)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 -msgid "Building mode:" -msgstr "Kurma kipi" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:729 -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "Blog'un içeriği değiştiğinde site haritasını güncelle" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:736 -msgid "Enable manual sitemap building via GET Request" -msgstr "GET talebiyle site haritasının elle kurulumunu etkinleştir" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:740 -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: %1 Please check the logfile above to see if sitemap was successfully built." -msgstr "" -"Eğer blog'unuzu güncellemek için Wordpress API'sini kullanmayan üçüncü parti bir yazılım kullanıyorsanız bu araç işinize yarayacaktır. Başlatmak için aşağıdaki bağlantıyı kullanın:\n" -"%1\n" -"Lütfen site haritasının başarıyla kurulup kurulmadığını kontrol etmek için raporlara bakınız." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 -msgid "Update notification:" -msgstr "Güncelleme bildirisi:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:748 -msgid "Notify Google about updates of your Blog" -msgstr "Blog'unuzun güncellenimini Google'a bildir" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:749 -#, php-format -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "Kayıt gerektirmez, ama Google Webmaster Tools'a katılarak crawl istatistiklerini görebilirsiniz." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:753 -msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" -msgstr "Blog'unuzun güncellenişini Bing'e bildir" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:754 -#, php-format -msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." -msgstr "Kayıt gerektirmez, ama Bing Webmaster Tools'a katılarak taranma istatistiklerini görebilirsiniz." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:758 -msgid "Notify Ask.com about updates of your Blog" -msgstr "Blog'unuzun güncellenimini Ask.com'a bildir" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:759 -msgid "No registration required." -msgstr "Kayıt gerektirmez." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:763 -msgid "Notify YAHOO about updates of your Blog" -msgstr "Blog'unuzun güncellenimini Yahoo!'ya bildir" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:764 -msgid "Your Application ID:" -msgstr "Uygulama ID'niz:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:765 -#, php-format -msgid "Don't you have such a key? Request one here! %s2" -msgstr "Böyle bir anahtarınız yok mu? Buradan bir tane isteyin! %s2" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:770 -msgid "Add sitemap URL to the virtual robots.txt file." -msgstr "Sanal robots.txt dosyasına site haritası URL'ini ekle." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:774 -msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" -msgstr "WordPress'in oluşturduğu sanal robots.txt dosyası kullanılacaktır; gerçek bir robots.txt dosyası kök dizinde BULUNMAMALIDIR!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 -msgid "Advanced options:" -msgstr "Gelişmiş seçenekler:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 -msgid "Limit the number of posts in the sitemap:" -msgstr "Site haritasındaki yazı sayısını sınırlandır:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 -msgid "Newer posts will be included first" -msgstr "Yeni yazılar site haritasında ilk sıraya yerleştirilsin" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 -msgid "Try to increase the memory limit to:" -msgstr "Kullanılacak bellek sınırını şuna yükseltmeyi dene:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 -msgid "e.g. \"4M\", \"16M\"" -msgstr "(örn. \"4M\", \"16M\")" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 -msgid "Try to increase the execution time limit to:" -msgstr "İşlemi gerçekleştirmek için gereken zaman sınırını şuna yükseltmeyi dene:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "saniye olarak belirtin (örn. \"60\") (sınırsız için \"0\" kullanın)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:790 -msgid "Include a XSLT stylesheet:" -msgstr "Bir XSLT Sayfa Yönergesi (Stylesheet) Kullan:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 -msgid "Full or relative URL to your .xsl file" -msgstr ".xsl dosyanızın tam veya bağıl yolu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 -msgid "Use default" -msgstr "Varsayılanı kullan" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:797 -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "MySQL standart kipini etkinleştirin. Yalnızca MySQL hataları alıyorsanız bunu kullanın, çok fazla belleğe ihtiyaç duyar!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:798 -msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" -msgstr "Daha hızlı MySQL erişimi için WordPress sürümünüzü en azından 2.2'ye yükseltin." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:805 -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "Site haritasını bir arkaplan işleminde oluştur (Bir yazıyı kaydederken beklemek zorunda kalmazsınız)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:806 -msgid "Upgrade WordPress at least to 2.1 to enable background building" -msgstr "Haritanın arkaplanda oluşturulabilmesi için WordPress sürümünüzü en azından 2.1'e yükseltin." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:813 -msgid "Additional pages" -msgstr "Ek sayfalar" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:816 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "Burada blog'unuza ait olmayan sayfaları site haritasında yer alacak şekilde ekleyebilirsiniz.
Örneğin, eğer sayfanız www.foo.com ise ve blog'unuz www.foo.com/blog ise, anasayfanız olan www.foo.com adresini de eklemek isteyebilirsiniz." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:818 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:997 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1011 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1020 -msgid "Note" -msgstr "Not" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:819 -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)!" -msgstr "Eğer blog'unuz bir alt klasördeyse ve blog'da OLMAYAN sayfalar eklemek istiyorsanız, site haritası dosyanızı KESİNLİKLE kök klasöre koymanız gereklidir (Bu sayfadaki "Site haritanızın konumu" bölümüne bakın)!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:821 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:860 -msgid "URL to the page" -msgstr "Sayfanın URL'i" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "Sayfanın URL'ini ekleyin. Örnekler: http://www.foo.com/index.html veya www.foo.com/home " - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:824 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:861 -msgid "Priority" -msgstr "Öncelik" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:825 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "Sayfanın, diğer sayfalara göre alacağı önceliği belirleyin. Örneğin, anasayfanızın daha yüksek bir öncelik alması gerekebilir." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:827 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 -msgid "Last Changed" -msgstr "Son Düzenlenen" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:828 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "Son değişikliğin tarihini YYYY-AA-GG olarak yazın (örneğin 2005-12-31) (isteğe bağlı)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862 -msgid "Change Frequency" -msgstr "Sıklık Değiştir" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:864 -msgid "#" -msgstr "#" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:869 -msgid "No pages defined." -msgstr "Hiç sayfa tanımlanmamış." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:874 -msgid "Add new page" -msgstr "Yeni sayfa ekle" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:879 -msgid "Post Priority" -msgstr "Yazı önceliği" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:881 -msgid "Please select how the priority of each post should be calculated:" -msgstr "Lütfen yazıların önceliklerinin nasıl hesaplanmasını istediğinizi seçin:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:883 -msgid "Do not use automatic priority calculation" -msgstr "Otomatik öncelik hesaplamasını kullanma" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:883 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr ""Öncelikler"de tanımlanmış tüm yazılar aynı önceliğe sahip olur." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:894 -msgid "Location of your sitemap file" -msgstr "Site haritanızın konumu" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:897 -msgid "Automatic detection" -msgstr "Otomatik tespit" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:901 -msgid "Filename of the sitemap file" -msgstr "Site haritası dosyasının ismi" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:904 -msgid "Detected Path" -msgstr "Bulunan Yol" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:904 -msgid "Detected URL" -msgstr "Bulunan URL" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:909 -msgid "Custom location" -msgstr "Özel konum" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:913 -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "Site haritasının tam veya bağıl yolu (ismi dahil)." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:915 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:924 -msgid "Example" -msgstr "Örnek" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:922 -msgid "Complete URL to the sitemap file, including name." -msgstr "Site haritasının tam URL'i (ismi dahil)." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:935 -msgid "Sitemap Content" -msgstr "Site Haritas İçeriği" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:941 -msgid "Include homepage" -msgstr "Anasayfayı dahil et" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:947 -msgid "Include posts" -msgstr "Blog yazılarını dahil et" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:1013 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:953 -msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" -msgstr "Çoklu sayfalardan aşağıdakileri dahil et (Bellek kullanımını ve site haritası kurulum süresini uzatır!)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:959 -msgid "Include static pages" -msgstr "Sabit sayfaları dahil et" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:965 -msgid "Include categories" -msgstr "Kategorileri dahil et" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:971 -msgid "Include archives" -msgstr "Arşivleri dahil et" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:978 -msgid "Include tag pages" -msgstr "Etiket sayfalarını dahil et" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:985 -msgid "Include author pages" -msgstr "Yazar sayfalarını dahil et" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:993 -msgid "Excluded items" -msgstr "Hariç tutulacaklar" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:995 -msgid "Excluded categories" -msgstr "Hariç tutulan kategoriler" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:997 -msgid "Using this feature will increase build time and memory usage!" -msgstr "Bu özelliği kullanmak bellek kullanımını artırır ve harita oluşturma süresini uzatır!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1004 -#, php-format -msgid "This feature requires at least WordPress 2.5.1, you are using %s" -msgstr "Bu özellik WordPress 2.5.1 sürümünü gerektirir, sizinki %s" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1007 -msgid "Exclude posts" -msgstr "Blog yazılarını hariç tut" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1009 -msgid "Exclude the following posts or pages:" -msgstr "Şu yazı veya sayfaları hariç tut:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1009 -msgid "List of IDs, separated by comma" -msgstr "ID listesi, virgülle ayırın:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1011 -msgid "Child posts won't be excluded automatically!" -msgstr "Bu yazının altındaki iç yazılar otomatik olarak dahil edilmeyecektir!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1017 -msgid "Change frequencies" -msgstr "Sıklıkları değiştir" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1021 -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." -msgstr "Lütfen bu etiketin bir ipucu olduğuna, bir komut olmadığına dikkat edin. Her ne kadar arama motoru robotları bu bilgiyi karar verirken göz önünde bulunduruyor olsa da; "her saat" olarak işaretlenen sayfaları da daha az sıklıkla tarayabilir, "her yıl" olarak işaretlenen sayfaları da daha sık tarayabilir. Hatta robotlar bazen "hiçbir zaman" olarak işaretlenmiş sayfaları da, beklenmedik değişiklikleri ele alabilmek için tarayabilirler." - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1027 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1084 -msgid "Homepage" -msgstr "Anasayfa" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1033 -msgid "Posts" -msgstr "Blog yazıları" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1039 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1102 -msgid "Static pages" -msgstr "Sabit sayfalar" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1045 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1108 -msgid "Categories" -msgstr "Kategoriler" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1051 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Bu ayın arşivi (anasayfanızla aynı olacaktır)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1057 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Daha eski arşivler (Yalnızca eski bir blog yazısını düzenlerseniz güncellenir)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1064 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1121 -msgid "Tag pages" -msgstr "Etiket sayfaları" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1071 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1128 -msgid "Author pages" -msgstr "Yazar sayfaları" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1079 -msgid "Priorities" -msgstr "Öncelikler" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1090 -msgid "Posts (If auto calculation is disabled)" -msgstr "Blog yazıları (yalnızca otomatik hesaplama devre dışıysa)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1096 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "En düşük blog yazısı önceliği (otomatik hesaplama devre dışı olsa bile)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1114 -msgid "Archives" -msgstr "Arşivler" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1139 -msgid "Update options" -msgstr "Seçenekleri güncelle" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1140 -msgid "Reset options" -msgstr "Seçenekleri sıfırla" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:84 -msgid "XML-Sitemap Generator" -msgstr "XML Site Haritası Oluşturucusu" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:84 -msgid "XML-Sitemap" -msgstr "XML-Sitemap" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:142 -msgid "Sitemap FAQ" -msgstr "Bu Eklentinin SSS'si" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-uk_UA.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-uk_UA.mo deleted file mode 100644 index 389fc4ee..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-uk_UA.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-uk_UA.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-uk_UA.po deleted file mode 100644 index a2cfd92e..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-uk_UA.po +++ /dev/null @@ -1,1005 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: Google XML Sitemaps v3.1.4\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: 2009-08-22 13:42+0300\n" -"Last-Translator: elenka \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Poedit-Language: Ukrainian\n" -"X-Poedit-Country: UKRAINE\n" -"X-Poedit-SourceCharset: utf-8\n" -"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n" -"X-Poedit-Basepath: ../\n" -"X-Poedit-Bookmarks: \n" -"X-Poedit-SearchPath-0: .\n" -"X-Textdomain-Support: yes" - -#: sitemap-core.php:642 -#@ sitemap -msgid "Comment Count" -msgstr "Личільник коментарів" - -#: sitemap-core.php:654 -#@ sitemap -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "Використовує кількість коментарів до публікацій для калькуляції пріорітету" - -#: sitemap-core.php:714 -#@ sitemap -msgid "Comment Average" -msgstr "Коментарів Середнє" - -#: sitemap-core.php:726 -#@ sitemap -msgid "Uses the average comment count to calculate the priority" -msgstr "Використовує кількість коментарів у середньому для калькуляції пріорітету" - -#: sitemap-core.php:789 -#@ sitemap -msgid "Popularity Contest" -msgstr "Конкурс Популярності" - -#: sitemap-core.php:801 -#, php-format -#@ sitemap -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "Використовує активований Popularity Contest Plugin від Alex King< . Див. Налаштування та Популярні повідомлення " - -#: sitemap-core.php:1187 -#@ sitemap -msgid "Always" -msgstr "Завжди" - -#: sitemap-core.php:1188 -#@ sitemap -msgid "Hourly" -msgstr "Щочасу" - -#: sitemap-core.php:1189 -#@ sitemap -msgid "Daily" -msgstr "Щоденно" - -#: sitemap-core.php:1190 -#@ sitemap -msgid "Weekly" -msgstr "Щонедільно" - -#: sitemap-core.php:1191 -#@ sitemap -msgid "Monthly" -msgstr "Щомісячно" - -#: sitemap-core.php:1192 -#@ sitemap -msgid "Yearly" -msgstr "Щорічно" - -#: sitemap-core.php:1193 -#@ sitemap -msgid "Never" -msgstr "Ніколи" - -#: sitemap-ui.php:97 -#@ sitemap -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "Дякую вам дуже за ваше пожертвування. Ви допомагаете мені підтримувати та розробляти цій плагін та інше вільне програмне забеспечення." - -#: sitemap-ui.php:97 -#@ sitemap -msgid "Hide this notice" -msgstr "Приховати це повідомлення" - -#: sitemap-ui.php:103 -#, php-format -#@ sitemap -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? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "Дякую за використання цього плагіна! Ви встановили цей плагін більше місяця тому. Якщо він працює, і Ви задоволені результатами, чи не варто це щонайменше один долар? Пожертвування допомають мені продовжити підтримку і розвиток цього безкоштовного програмного забезпечення! Звичайно, немає проблем! " - -#: sitemap-ui.php:103 -#@ sitemap -msgid "No thanks, please don't bug me anymore!" -msgstr "Ні, дякую, будь ласка, не турбуйте мене!" - -#: sitemap-ui.php:114 -#@ sitemap -msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" -msgstr "Ваша мапа сайту наразі оновлюється. В залежності від розміру вашого блогу це може зайняти деякий час!" - -#: sitemap-ui.php:116 -#, php-format -#@ sitemap -msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" -msgstr "Ваша мапа сайту буде оновлена за % S секунд. В залежності від розміру вашого блогу це може зайняти деякий час!" - -#: sitemap-ui.php:145 -#: sitemap-ui.php:448 -#@ sitemap -msgid "XML Sitemap Generator for WordPress" -msgstr "XML Генератор Мапи сайту для WordPress" - -#: sitemap-ui.php:293 -#@ sitemap -msgid "Configuration updated" -msgstr "Конфігурація оновлена" - -#: sitemap-ui.php:294 -#@ sitemap -msgid "Error while saving options" -msgstr "Помилка при збереженні опцій" - -#: sitemap-ui.php:296 -#@ sitemap -msgid "Pages saved" -msgstr "Сторінка збережена" - -#: sitemap-ui.php:297 -#@ sitemap -msgid "Error while saving pages" -msgstr "Помилка при збереженні сторінок" - -#: sitemap-ui.php:304 -#@ sitemap -msgid "The default configuration was restored." -msgstr "Конфігурація за замовчуванням була відновлена." - -#: sitemap-ui.php:461 -#, php-format -#@ default -msgid "There is a new version of %1$s available. Download version %3$s here." -msgstr "" - -#: sitemap-ui.php:463 -#, php-format -#@ default -msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." -msgstr "" - -#: sitemap-ui.php:465 -#, php-format -#@ default -msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." -msgstr "" - -#: sitemap-ui.php:488 -#: sitemap-ui.php:505 -msgid "open" -msgstr "" - -#: sitemap-ui.php:489 -#: sitemap-ui.php:506 -msgid "close" -msgstr "" - -#: sitemap-ui.php:490 -#: sitemap-ui.php:507 -msgid "click-down and drag to move this box" -msgstr "" - -#: sitemap-ui.php:491 -#: sitemap-ui.php:508 -#, php-format -msgid "click to %toggle% this box" -msgstr "" - -#: sitemap-ui.php:492 -#: sitemap-ui.php:509 -msgid "use the arrow keys to move this box" -msgstr "" - -#: sitemap-ui.php:493 -#: sitemap-ui.php:510 -#, php-format -msgid ", or press the enter key to %toggle% it" -msgstr "" - -#: sitemap-ui.php:528 -#@ sitemap -msgid "About this Plugin:" -msgstr "Про цей Плагін:" - -#: sitemap-ui.php:529 -#: sitemap.php:153 -#@ sitemap -msgid "Plugin Homepage" -msgstr "Домашня сторінка Плагіну" - -#: sitemap-ui.php:530 -#@ sitemap -msgid "Suggest a Feature" -msgstr "Замовити Функціонал" - -#: sitemap-ui.php:531 -#@ sitemap -msgid "Notify List" -msgstr "Лист Повідомленнь" - -#: sitemap-ui.php:532 -#@ sitemap -msgid "Support Forum" -msgstr "Форум Підтримки " - -#: sitemap-ui.php:533 -#@ sitemap -msgid "Report a Bug" -msgstr "Повідомити про помилку" - -#: sitemap-ui.php:535 -#@ sitemap -msgid "Donate with PayPal" -msgstr "Пожертвувати через PayPal" - -#: sitemap-ui.php:536 -#@ sitemap -msgid "My Amazon Wish List" -msgstr "Мій ліст побажаннь на Amazon" - -#: sitemap-ui.php:537 -#@ sitemap -msgid "translator_name" -msgstr "Чеміс Олена" - -#: sitemap-ui.php:537 -#@ sitemap -msgid "translator_url" -msgstr "http://stereo-lisa.org.ua" - -#: sitemap-ui.php:540 -#@ sitemap -msgid "Sitemap Resources:" -msgstr "Ресурси Мапи сайту" - -#: sitemap-ui.php:541 -#: sitemap-ui.php:547 -#@ sitemap -msgid "Webmaster Tools" -msgstr "Інструмент Веб-майстрів" - -#: sitemap-ui.php:542 -#@ sitemap -msgid "Webmaster Blog" -msgstr "Блог Веб-майстера" - -#: sitemap-ui.php:544 -#@ sitemap -msgid "Site Explorer" -msgstr "Перегляд Сайту" - -#: sitemap-ui.php:545 -#@ sitemap -msgid "Search Blog" -msgstr "Пошук Блога" - -#: sitemap-ui.php:548 -#@ sitemap -msgid "Webmaster Center Blog" -msgstr "Блог Центра Веб-майстрів" - -#: sitemap-ui.php:550 -#@ sitemap -msgid "Sitemaps Protocol" -msgstr "Протокол Sitemaps" - -#: sitemap-ui.php:551 -#@ sitemap -msgid "Official Sitemaps FAQ" -msgstr "Офіційний Sitemaps FAQ" - -#: sitemap-ui.php:552 -#@ sitemap -msgid "My Sitemaps FAQ" -msgstr "Мій Sitemaps FAQ" - -#: sitemap-ui.php:555 -#@ sitemap -msgid "Recent Donations:" -msgstr "Останні Пожертвування" - -#: sitemap-ui.php:559 -#@ sitemap -msgid "List of the donors" -msgstr "Перелік Спонсорів" - -#: sitemap-ui.php:561 -#@ sitemap -msgid "Hide this list" -msgstr "Сховати цей перелік" - -#: sitemap-ui.php:564 -#@ sitemap -msgid "Thanks for your support!" -msgstr "Дякую за вашу підтримку!" - -#: sitemap-ui.php:582 -#@ sitemap -msgid "Status" -msgstr "Статус" - -#: sitemap-ui.php:590 -#, php-format -#@ sitemap -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "Мапа сайту ще не була побудована. Натисніть тут , щоб побудувати її в перший раз." - -#: sitemap-ui.php:596 -#, php-format -#@ sitemap -msgid "Your sitemap was last built on %date%." -msgstr "Ваша мапа сайту була в останнє побудована %date%." - -#: sitemap-ui.php:598 -#, php-format -#@ sitemap -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreДізнатись більше" - -#: sitemap-ui.php:605 -#, php-format -#@ sitemap -msgid "Your sitemap (zipped) was last built on %date%." -msgstr "Вашу (стиснуту) мапу сайту минулого разу побудовано %date%." - -#: sitemap-ui.php:607 -#, php-format -#@ sitemap -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreДізнатись більше" - -#: sitemap-ui.php:613 -#@ sitemap -msgid "Google was successfully notified about changes." -msgstr "Google був успішно повідомлений про зміни." - -#: sitemap-ui.php:616 -#, php-format -#@ sitemap -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "Це займе %time% секунд щоб повідомити Google, можливо, ви хочете вимкнути цю функцію для скорочення часу побудови." - -#: sitemap-ui.php:619 -#, php-format -#@ sitemap -msgid "There was a problem while notifying Google. View result" -msgstr "Виникла проблема при повідомленні Google. Дивитись результат" - -#: sitemap-ui.php:625 -#@ sitemap -msgid "YAHOO was successfully notified about changes." -msgstr "YAHOO був успішно повідомлений про зміни." - -#: sitemap-ui.php:628 -#, php-format -#@ sitemap -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "Це займе %time% секунд щоб повідомити YAHOO, можливо, ви хочете вимкнути цю функцію для скорочення часу побудови." - -#: sitemap-ui.php:631 -#, php-format -#@ sitemap -msgid "There was a problem while notifying YAHOO. View result" -msgstr "Виникла проблема при повідомленні YAHOO. Дивитись результат" - -#: sitemap-ui.php:637 -#@ sitemap -msgid "Bing was successfully notified about changes." -msgstr "Bing був успішно повідомлений про зміни." - -#: sitemap-ui.php:640 -#, php-format -#@ sitemap -msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." -msgstr "Це займе %time% секунд щоб повідомити Bing, можливо, ви хочете вимкнути цю функцію для скорочення часу побудови." - -#: sitemap-ui.php:643 -#, php-format -#@ sitemap -msgid "There was a problem while notifying Bing. View result" -msgstr "Виникла проблема при повідомленні Bing. Дивитись результат" - -#: sitemap-ui.php:649 -#@ sitemap -msgid "Ask.com was successfully notified about changes." -msgstr "Ask.com був успішно повідомлений про зміни." - -#: sitemap-ui.php:652 -#, php-format -#@ sitemap -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "Це займе %time% секунд щоб повідомити Ask.com, можливо, ви хочете вимкнути цю функцію для скорочення часу побудови." - -#: sitemap-ui.php:655 -#, php-format -#@ sitemap -msgid "There was a problem while notifying Ask.com. View result" -msgstr "Виникла проблема при повідомленні Ask.com. Дивитись результат" - -#: sitemap-ui.php:663 -#, php-format -#@ sitemap -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "Процес побудови зайняв %time% секунд для завершення і використував %memory% MB пам'яті." - -#: sitemap-ui.php:665 -#, php-format -#@ sitemap -msgid "The building process took about %time% seconds to complete." -msgstr "Процес побудови зайняв близько %time% секунд до завершення." - -#: sitemap-ui.php:669 -#@ sitemap -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "Зміст Вашогої мапи сайту не змінився , оскільки останній раз, файли не було записано, і не відбувся пінг пошукової системи." - -#: sitemap-ui.php:677 -#@ sitemap -msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." -msgstr "Процес побудови може бути ще активним! Перезавантажте сторінку через кілька секунд, і перевірьте - чи відбулись зміни." - -#: sitemap-ui.php:680 -#, php-format -#@ sitemap -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "Останній запуск не закінчився! Можливо ви збільшите пам'ять або лімит часу для PHP скриптів. Дізнатися більше" - -#: sitemap-ui.php:682 -#, php-format -#@ sitemap -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "Останнє відоме використання пам'яті сценарієм було %memused%MB, межа для вашого сервера є %memlimit%. " - -#: sitemap-ui.php:686 -#, php-format -#@ sitemap -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "Останній відомий час виконання сценарію був %timeused% секунд, межа для вашого сервера є %timelimit% секунд. " - -#: sitemap-ui.php:690 -#, php-format -#@ sitemap -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "Сценарій зупинено біля публікації номер %lastpost% (+/- 100)" - -#: sitemap-ui.php:693 -#, php-format -#@ sitemap -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "Якщо ви змінювали які-небудь елементи на вашому сервері або блогі, потрібно відновити мапу сайту вручну." - -#: sitemap-ui.php:695 -#, php-format -#@ sitemap -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "Якщо у вас виникнуть проблеми з процесом побудови можна використовувати відлагоджувальна функції , щоб одержати більш докладну інформацію." - -#: sitemap-ui.php:702 -#@ sitemap -msgid "Basic Options" -msgstr "Базові Опції" - -#: sitemap-ui.php:704 -#@ sitemap -msgid "Sitemap files:" -msgstr "Файли Мапи сайту" - -#: sitemap-ui.php:704 -#: sitemap-ui.php:719 -#: sitemap-ui.php:739 -#: sitemap-ui.php:772 -#@ sitemap -msgid "Learn more" -msgstr "Дізнатись більше" - -#: sitemap-ui.php:709 -#@ sitemap -msgid "Write a normal XML file (your filename)" -msgstr "Запишіть нормальний XML файл (ваша назва файлу )" - -#: sitemap-ui.php:715 -#@ sitemap -msgid "Write a gzipped file (your filename + .gz)" -msgstr "Запишіть стиснутий файл (ваша назва файлу + .gz)" - -#: sitemap-ui.php:719 -#@ sitemap -msgid "Building mode:" -msgstr "Режим побудови:" - -#: sitemap-ui.php:724 -#@ sitemap -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "Перебудуйте мапу сайту, якщо ви змінили зміст вашого блогу" - -#: sitemap-ui.php:731 -#@ sitemap -msgid "Enable manual sitemap building via GET Request" -msgstr "Включити ручну побудову мапи сайту через GET запит" - -#: sitemap-ui.php:735 -#, php-format -#@ sitemap -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: %1 Please check the logfile above to see if sitemap was successfully built." -msgstr "Це дозволить вам оновити ваш сайт, якщо зовнішній інструмент писав у WordPress бази даних без використання WordPress API. Використовуйте наступний URL, щоб розпочати цей процес: %1 Будь ласка, перевірте логи вище, щоб побачити, якщо мапа сайту була успішно побудована." - -#: sitemap-ui.php:739 -#@ sitemap -msgid "Update notification:" -msgstr "Повідомлення про оновлення:" - -#: sitemap-ui.php:743 -#@ sitemap -msgid "Notify Google about updates of your Blog" -msgstr "Повідомити Google про оновлення Вашого блогу\n" - -#: sitemap-ui.php:744 -#, php-format -#@ sitemap -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "Не потрібна реєстрація, але ви можете приєднатися до Google Інструменти для веб-майстрів , щоб перевірити статистику сканування." - -#: sitemap-ui.php:748 -#@ sitemap -msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" -msgstr "Повідомляти Бінго (колишній MSN Live Search) про оновлення Вашого блогу" - -#: sitemap-ui.php:749 -#, php-format -#@ sitemap -msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." -msgstr "Не потрібна реєстрація, але ви можете приєднатися до Bing Інструменти для веб-майстрів , щоб перевірити статистику сканування." - -#: sitemap-ui.php:753 -#@ sitemap -msgid "Notify Ask.com about updates of your Blog" -msgstr "Повідомити Ask.com про оновлення Вашого блогу" - -#: sitemap-ui.php:754 -#@ sitemap -msgid "No registration required." -msgstr "Не потрібна реєстрація." - -#: sitemap-ui.php:758 -#@ sitemap -msgid "Notify YAHOO about updates of your Blog" -msgstr "Повідомити YAHOO про оновлення Вашого блогу" - -#: sitemap-ui.php:759 -#@ sitemap -msgid "Your Application ID:" -msgstr "Ваш идентифікатор :" - -#: sitemap-ui.php:760 -#, php-format -#@ sitemap -msgid "Don't you have such a key? Request one here! %s2" -msgstr "Ви не маєте такого ключа? Запитати його тут! %s2" - -#: sitemap-ui.php:765 -#@ sitemap -msgid "Add sitemap URL to the virtual robots.txt file." -msgstr "Додати URL файлу Sitemap в віртуальний файл robots.txt ." - -#: sitemap-ui.php:769 -#@ sitemap -msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" -msgstr "Використовується віртуальний robots.txt сгенерований WordPress. Реального файлу robots.txt НЕ ПОВИННО бути в каталозі блогу!" - -#: sitemap-ui.php:772 -#@ sitemap -msgid "Advanced options:" -msgstr "Додаткові опції:" - -#: sitemap-ui.php:775 -#@ sitemap -msgid "Limit the number of posts in the sitemap:" -msgstr "Обмеження кількості публікацій в Sitemap:" - -#: sitemap-ui.php:775 -#@ sitemap -msgid "Newer posts will be included first" -msgstr "Нові повідомлення мають бути включеними першими" - -#: sitemap-ui.php:778 -#@ sitemap -msgid "Try to increase the memory limit to:" -msgstr "Спробуйте збільшити ліміт пам'яті:" - -#: sitemap-ui.php:778 -#@ sitemap -msgid "e.g. \"4M\", \"16M\"" -msgstr "наприклад \"4M\", \"16M\"" - -#: sitemap-ui.php:781 -#@ sitemap -msgid "Try to increase the execution time limit to:" -msgstr "Спробуйте збільшити ліміт часу виконання до:" - -#: sitemap-ui.php:781 -#@ sitemap -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "у секундах, наприклад \"60\" або \"0\" для необмежного" - -#: sitemap-ui.php:785 -#@ sitemap -msgid "Include a XSLT stylesheet:" -msgstr "Додати таблиці стилів XSLT:" - -#: sitemap-ui.php:786 -#@ sitemap -msgid "Full or relative URL to your .xsl file" -msgstr "Повний або відносний URL до вашого. XSL-файлу" - -#: sitemap-ui.php:786 -#@ sitemap -msgid "Use default" -msgstr "Використовувати параметри за замовчуванням" - -#: sitemap-ui.php:792 -#@ sitemap -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "Увімкнути стандартний режим MySQL. Використовуйте це тільки якщо ви отримуєте помилки від MySQL. (Потрібно набагато більше пам'яті!)" - -#: sitemap-ui.php:793 -#@ sitemap -msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" -msgstr "Оновіть WordPress, принаймні до 2.2, з тим щоб увімкнути швидший доступ до MySQL " - -#: sitemap-ui.php:800 -#@ sitemap -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "Побудувати Мапу сайту у фоновому режимі (Вам не доведеться чекати, коли ви збережете публікацію)" - -#: sitemap-ui.php:801 -#@ sitemap -msgid "Upgrade WordPress at least to 2.1 to enable background building" -msgstr "Оновіть WordPress, принаймні до 2.1 щоб влючити побудову у фоновому режимі " - -#: sitemap-ui.php:808 -#@ sitemap -msgid "Additional pages" -msgstr "Додаткові сторінки" - -#: sitemap-ui.php:811 -#@ sitemap -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "Тут ви можете вказати файли, або URL-адрес, які повинні бути включені в Sitemap, але не належать до блогу/WordPress.
Наприклад, якщо ваш домен www.foo.com і ваш блог знаходиться на www.foo.com/blog можна включити в вашу домашню сторінку www.foo.com" - -#: sitemap-ui.php:813 -#: sitemap-ui.php:992 -#: sitemap-ui.php:1006 -#: sitemap-ui.php:1015 -#@ sitemap -msgid "Note" -msgstr "Примітка" - -#: sitemap-ui.php:814 -#@ sitemap -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)!" -msgstr "Якщо ваш блог знаходиться у підкаталозі, і ви хочете додати сторінок, які не в блозі, Ви повинні розмістити свій файл Sitemap в кореневий каталог (Подивіться на \\\"Місце знаходження вашого сайту файл"Розділ на цій сторінці) !" - -#: sitemap-ui.php:816 -#: sitemap-ui.php:855 -#@ sitemap -msgid "URL to the page" -msgstr "URL сторінки" - -#: sitemap-ui.php:817 -#@ sitemap -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "Введіть URL для сторінки. Приклади: http://www.foo.com/index.html or www.foo.com/home " - -#: sitemap-ui.php:819 -#: sitemap-ui.php:856 -#@ sitemap -msgid "Priority" -msgstr "Пріорітет" - -#: sitemap-ui.php:820 -#@ sitemap -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "Виберіть пріоритет сторінки в порівнянні з іншими сторінками. Наприклад, ваша домашня сторінка, можливо, має більш високий пріоритет, ніж інші." - -#: sitemap-ui.php:822 -#: sitemap-ui.php:858 -#@ sitemap -msgid "Last Changed" -msgstr "Останні Зміни" - -#: sitemap-ui.php:823 -#@ sitemap -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "Введіть дату останнього зміни як РРРР-ММ-ДД (наприклад, 2005-12-31) (не обов'язково)." - -#: sitemap-ui.php:857 -#@ sitemap -msgid "Change Frequency" -msgstr "Зміна частоти" - -#: sitemap-ui.php:859 -#@ sitemap -msgid "#" -msgstr "№" - -#: sitemap-ui.php:864 -#@ sitemap -msgid "No pages defined." -msgstr "Не зазначена жодна сторінка " - -#: sitemap-ui.php:869 -#@ sitemap -msgid "Add new page" -msgstr "Додати нову сторінку" - -#: sitemap-ui.php:874 -#@ sitemap -msgid "Post Priority" -msgstr "Пріорітет Публікації" - -#: sitemap-ui.php:876 -#@ sitemap -msgid "Please select how the priority of each post should be calculated:" -msgstr "Будь ласка, виберіть який пріоритет повинен бути розрахований для кожної публікації :" - -#: sitemap-ui.php:878 -#@ sitemap -msgid "Do not use automatic priority calculation" -msgstr "Не робити автоматичну калькуляцію приорітету" - -#: sitemap-ui.php:878 -#@ sitemap -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "Всі публікацї, будуть мати такий же пріоритет, який визначений в "пріоритети"" - -#: sitemap-ui.php:889 -#@ sitemap -msgid "Location of your sitemap file" -msgstr "Місце росташування вашого файлу Sitemap" - -#: sitemap-ui.php:892 -#@ sitemap -msgid "Automatic detection" -msgstr "Автоматичне виявлення" - -#: sitemap-ui.php:896 -#@ sitemap -msgid "Filename of the sitemap file" -msgstr "Ім'я Sitemap файлу" - -#: sitemap-ui.php:899 -#@ sitemap -msgid "Detected Path" -msgstr "Знайдений Путь" - -#: sitemap-ui.php:899 -#@ sitemap -msgid "Detected URL" -msgstr "Знайдений URL" - -#: sitemap-ui.php:904 -#@ sitemap -msgid "Custom location" -msgstr "Місце розташування зазначене користувачем" - -#: sitemap-ui.php:908 -#@ sitemap -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "Абсолютний або відносний шлях до файлу Sitemap, в тому числі ім'я." - -#: sitemap-ui.php:910 -#: sitemap-ui.php:919 -#@ sitemap -msgid "Example" -msgstr "Приклад" - -#: sitemap-ui.php:917 -#@ sitemap -msgid "Complete URL to the sitemap file, including name." -msgstr "Повний URL для файлу Sitemap, в тому числі ім'я." - -#: sitemap-ui.php:930 -#@ sitemap -msgid "Sitemap Content" -msgstr "Зміст мапи сайту" - -#: sitemap-ui.php:936 -#@ sitemap -msgid "Include homepage" -msgstr "Включити домашні сторінки" - -#: sitemap-ui.php:942 -#@ sitemap -msgid "Include posts" -msgstr "Включити публікації" - -#: sitemap-ui.php:948 -#@ sitemap -msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" -msgstr "Включити наступні сторінки декількох публікацій (збільшує час побудови та використання пам'яті!)" - -#: sitemap-ui.php:954 -#@ sitemap -msgid "Include static pages" -msgstr "Включити статичні сторінки" - -#: sitemap-ui.php:960 -#@ sitemap -msgid "Include categories" -msgstr "Включити категорії" - -#: sitemap-ui.php:966 -#@ sitemap -msgid "Include archives" -msgstr "Включити архіви" - -#: sitemap-ui.php:973 -#@ sitemap -msgid "Include tag pages" -msgstr "Включити сторінки тегів" - -#: sitemap-ui.php:980 -#@ sitemap -msgid "Include author pages" -msgstr "Включити сторінки авторів" - -#: sitemap-ui.php:988 -#@ sitemap -msgid "Excluded items" -msgstr "" -"\t\n" -"Виключені пункти" - -#: sitemap-ui.php:990 -#@ sitemap -msgid "Excluded categories" -msgstr "Виключити категорії" - -#: sitemap-ui.php:992 -#@ sitemap -msgid "Using this feature will increase build time and memory usage!" -msgstr "Використання цієї функції збільшує час побудови та використання пам'яті!" - -#: sitemap-ui.php:999 -#, php-format -#@ sitemap -msgid "This feature requires at least WordPress 2.5.1, you are using %s" -msgstr "Ця функція вимагає, що найменьше WordPress 2.5.1, ви використовуєте %s" - -#: sitemap-ui.php:1002 -#@ sitemap -msgid "Exclude posts" -msgstr "Виключити публікації" - -#: sitemap-ui.php:1004 -#@ sitemap -msgid "Exclude the following posts or pages:" -msgstr "Виключити наступні публікації або сторінки:" - -#: sitemap-ui.php:1004 -#@ sitemap -msgid "List of IDs, separated by comma" -msgstr "Перелік ID, розділених комою" - -#: sitemap-ui.php:1006 -#@ sitemap -msgid "Child posts won't be excluded automatically!" -msgstr "Дочірні публікації не виключаються автоматично!" - -#: sitemap-ui.php:1012 -#@ sitemap -msgid "Change frequencies" -msgstr "Зміна частоти" - -#: sitemap-ui.php:1016 -#@ sitemap -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." -msgstr "Майте на увазі, що значення для цього тега розглядається як підказка, а не команда. Незважаючи на те, що сканери пошукової системи враховують цю інформацію при прийнятті рішень, вони можуть сканувати сторінки з позначкою \\\"щогодини \" рідше, ніж сторінки з позначкою \\ \\\"щорічно \". Імовірно також, що сканери будуть періодично сканувати сторінки з позначкою \\ \\\"ніколи \", з тим щоб вони могли знайти несподівані зміни на цих сторінках." - -#: sitemap-ui.php:1022 -#: sitemap-ui.php:1079 -#@ sitemap -msgid "Homepage" -msgstr "Домашня сторінка" - -#: sitemap-ui.php:1028 -#@ sitemap -msgid "Posts" -msgstr "Пулікації" - -#: sitemap-ui.php:1034 -#: sitemap-ui.php:1097 -#@ sitemap -msgid "Static pages" -msgstr "Статичні сторінки" - -#: sitemap-ui.php:1040 -#: sitemap-ui.php:1103 -#@ sitemap -msgid "Categories" -msgstr "Катергорії" - -#: sitemap-ui.php:1046 -#@ sitemap -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "Поточний архів за цей місяць (Повинен бути таким самим, як ваша головна сторінка)" - -#: sitemap-ui.php:1052 -#@ sitemap -msgid "Older archives (Changes only if you edit an old post)" -msgstr "Попередні архіви (змінються тільки тоді, коли ви редагуєте старі публікації)" - -#: sitemap-ui.php:1059 -#: sitemap-ui.php:1116 -#@ sitemap -msgid "Tag pages" -msgstr "Сторінки тегів" - -#: sitemap-ui.php:1066 -#: sitemap-ui.php:1123 -#@ sitemap -msgid "Author pages" -msgstr "Сторінки Автора" - -#: sitemap-ui.php:1074 -#@ sitemap -msgid "Priorities" -msgstr "Пріоритети" - -#: sitemap-ui.php:1085 -#@ sitemap -msgid "Posts (If auto calculation is disabled)" -msgstr "Публікації (Якщо авторозрахунок відключено)" - -#: sitemap-ui.php:1091 -#@ sitemap -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "Мінімальний пріоритет публікації (Навіть якщо автоматичний розрахунок було включено)" - -#: sitemap-ui.php:1109 -#@ sitemap -msgid "Archives" -msgstr "Архіви" - -#: sitemap-ui.php:1134 -#@ sitemap -msgid "Update options" -msgstr "Оновити опції" - -#: sitemap-ui.php:1135 -#@ sitemap -msgid "Reset options" -msgstr "Скинути опції" - -#: sitemap.php:87 -#@ sitemap -msgid "XML-Sitemap Generator" -msgstr "XML-Генератор Мапи сайту" - -#: sitemap.php:87 -#@ sitemap -msgid "XML-Sitemap" -msgstr "XML-Мапа сайту" - -#: sitemap.php:101 -msgid "Settings" -msgstr "" - -#: sitemap.php:102 -msgid "FAQ" -msgstr "" - -#: sitemap.php:103 -msgid "Support" -msgstr "" - -#: sitemap.php:104 -msgid "Donate" -msgstr "" - -#: sitemap.php:154 -msgid "Sitemap FAQ" -msgstr "" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-zh_CN.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-zh_CN.mo deleted file mode 100644 index a5995796..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-zh_CN.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-zh_CN.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-zh_CN.po deleted file mode 100644 index 0384e2ed..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-zh_CN.po +++ /dev/null @@ -1,1054 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: 3.1.9\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-20 03:31+0800\n" -"PO-Revision-Date: 2009-12-21 17:59+0100\n" -"Last-Translator: Arne Brachhold\n" -"Language-Team: dupola \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Chinese\n" -"X-Poedit-Country: China\n" -"X-Poedit-Basepath: D:\\usr\\www\\wp-content\\plugins\\google-sitemap-generator\n" -"X-Poedit-KeywordsList: _e;__\n" -"X-Poedit-SearchPath-0: D:\\usr\\www\\wp-content\\plugins\\google-sitemap-generator\n" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:525 -msgid "Comment Count" -msgstr "评论数量" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:537 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "通过文章评论数量的多少来决定优先" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:597 -msgid "Comment Average" -msgstr "评论平均" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:609 -msgid "Uses the average comment count to calculate the priority" -msgstr "通过评论平均来决定计算优先" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:672 -msgid "Popularity Contest" -msgstr "热门内容" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:684 -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "使用已经激活的 Alex King 的 热门日志插件。 查看 设置 and 最流行日志" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1123 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1084 -msgid "Always" -msgstr "总是" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1124 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1085 -msgid "Hourly" -msgstr "每小时" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1125 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1086 -msgid "Daily" -msgstr "每天" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1126 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1087 -msgid "Weekly" -msgstr "每周" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1127 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1088 -msgid "Monthly" -msgstr "每月" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1128 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1089 -msgid "Yearly" -msgstr "每月" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1129 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1090 -msgid "Never" -msgstr "从不" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:97 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:482 -msgid "XML Sitemap Generator for WordPress" -msgstr "XML 地图生成器" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:257 -msgid "Configuration updated" -msgstr "配置已更新" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:258 -msgid "Error while saving options" -msgstr "保存设置时出错" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:260 -msgid "Pages saved" -msgstr "页面已保存" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:261 -msgid "Error while saving pages" -msgstr "保存页面时出错" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:268 -msgid "The default configuration was restored." -msgstr "默认结构已经被修复。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:307 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "非常感谢你的捐赠,你的帮助可以使我继续开发该这个和其他项目!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:307 -msgid "Hide this notice" -msgstr "隐藏提示" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:313 -#, php-format -msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and you are satisfied with the results, isn't it worth at least a few dollar? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "感谢使用本插件!你已经使用了一段时间了,现在看起来它运行的很不错,帮了你不少忙。你会考虑支持它的发展吗? 捐赠 几美元,作者就可以持续开发这个 免费软件了。没问题?点这里开始捐赠!" - -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:313 -msgid "Sure, but I already did!" -msgstr "当然,我已经做了。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:313 -msgid "No thanks, please don't bug me anymore!" -msgstr "不,请别再再骚扰我啦!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:320 -#, php-format -msgid "Thanks for using this plugin! You've installed this plugin some time ago. If it works and your are satisfied, why not rate it and recommend it to others? :-)" -msgstr "感谢你使用这个插件!你已经启用这个插件一段时间了。它运行得很不错并且你也很满意,可否 为它评分 并 推荐 给你的朋友们? :-)" - -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:320 -msgid "Don't show this anymore" -msgstr "不要再显示" - -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:332 -msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!
Due to limitations of the WordPress scheduler, it might take another 60 seconds until the build process is actually started." -msgstr "你的 Sitemap 已经更新,完全应用到你的 blog 可能需要点时间。" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:69 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:334 -#, php-format -msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" -msgstr "你的 sitemap 将在 %s 秒内更新,Blog 配置不同,它完全生效的时间也不同。" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:374 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:498 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here." -msgstr "XML Sitemap 有新版本 %1$s 发布了。 这里来下载 %3$s 版。" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:376 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:500 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." -msgstr "XML Sitemap 的新版本 %1$s 发布了. 到这里下载 %3$s 版 。无法自动更新这个插件." - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:378 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:502 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." -msgstr "XML Sitemap 新版 %1$s 发布了。 到这里下载 %3$s 版 或者 自动升级。" - -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:510 -#, php-format -msgid "Your blog is currently blocking search engines! Visit the privacy settings to change this." -msgstr "你的 Blog 现在正在屏蔽搜索引擎!如要更改请前去 隐私设置 页面。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:531 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:548 -msgid "open" -msgstr "打开" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:532 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:549 -msgid "close" -msgstr "关闭" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:533 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:550 -msgid "click-down and drag to move this box" -msgstr "点击并拖动它到这个区域" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:534 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:551 -msgid "click to %toggle% this box" -msgstr "点击并 %toggle% 这个区域" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:535 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:552 -msgid "use the arrow keys to move this box" -msgstr "使用箭头指向来移动这个区块" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:536 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:553 -msgid ", or press the enter key to %toggle% it" -msgstr ",或者按这里to %toggle% it" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:582 -msgid "About this Plugin:" -msgstr "关于这个插件:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:583 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap.php:187 -msgid "Plugin Homepage" -msgstr "插件主页" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:438 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:584 -msgid "Suggest a Feature" -msgstr "建议新功能" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:585 -msgid "Notify List" -msgstr "通告列表" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:586 -msgid "Support Forum" -msgstr "支持论坛" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:441 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:587 -msgid "Report a Bug" -msgstr "报告 Bug" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:589 -msgid "Donate with PayPal" -msgstr "通过 PayPal 捐赠" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:590 -msgid "My Amazon Wish List" -msgstr "我想要的东西(Amazon)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:591 -msgid "translator_name" -msgstr "肚破惊天(@dupola)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:591 -msgid "translator_url" -msgstr "http://dupola.net" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:595 -msgid "Sitemap Resources:" -msgstr "Sitemap 资源:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:596 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:602 -msgid "Webmaster Tools" -msgstr "Webmaster Tools" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:597 -msgid "Webmaster Blog" -msgstr "Webmaster Blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:599 -msgid "Site Explorer" -msgstr "Site Explorer" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:600 -msgid "Search Blog" -msgstr "Search Blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:603 -msgid "Webmaster Center Blog" -msgstr "Webmaster Center Blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:605 -msgid "Sitemaps Protocol" -msgstr "Sitemaps 协议" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:606 -msgid "Official Sitemaps FAQ" -msgstr "通用 Sitemaps FAQ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:607 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap.php:188 -msgid "My Sitemaps FAQ" -msgstr "我的 Sitemaps FAQ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:610 -msgid "Recent Donations:" -msgstr "最近捐赠者:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:613 -msgid "List of the donors" -msgstr "捐赠者列表" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:615 -msgid "Hide this list" -msgstr "隐藏这个列表" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:618 -msgid "Thanks for your support!" -msgstr "谢谢支持!" - -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:640 -msgid "The sitemap wasn't generated yet." -msgstr "Sitemap 还没生成。" - -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:643 -msgid "Result of the last build process, started on %date%." -msgstr "上一次执行的结果,始于 %date%." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:652 -#, php-format -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "sitemap 还没建立,点击这里建立。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:658 -msgid "Your sitemap was last built on %date%." -msgstr "你的 sitemap 上一次建立是在%date%。" - -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:659 -msgid "The last build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?" -msgstr "Sitemap 上一次建立成功,不过文件被删除了或者是无法访问了。你是不是将 blog 转移到了其他主机或域名?" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:661 -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn more" -msgstr "写入 sitemap 文件时发生错误。保证这个文件存在并且可写。学习更多" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:668 -msgid "Your sitemap (zipped) was last built on %date%." -msgstr "你的 sitemap (zipped) 上一次建立是在 %date%." - -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:669 -msgid "The last zipped build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?" -msgstr "Sitemap zipped 上一次执行成功,不过文件被删除了或者是无法访问了。你是不是将 blog 转移到了其他主机或域名?" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:671 -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn more" -msgstr "在创建 zipped sitemap 文件时发生了错误。保证这个文件存在并且可写。学习更多" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:677 -msgid "Google was successfully notified about changes." -msgstr "更新已经成功通知 Google。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:680 -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "通知 Google 用了%time% ,也许你应该禁用这一功能以减少创建时间。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:683 -#, php-format -msgid "There was a problem while notifying Google. View result" -msgstr "在通知 Google 时发生错误,查看结果" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:689 -msgid "YAHOO was successfully notified about changes." -msgstr "更新已经成功通知 YAHOO。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:692 -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "通知 YAHOO 用了 %time% ,也许你应该禁用这项功能以减少建立时间。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:695 -#, php-format -msgid "There was a problem while notifying YAHOO. View result" -msgstr "通知 YAHOO 时出错。查看结果" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3097 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:701 -msgid "Bing was successfully notified about changes." -msgstr "您的更改已经成功通知 Bing。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:704 -msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." -msgstr "通知 Bing 用了%time% ,也许你应该禁用这一功能以减少创建时间。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:707 -#, php-format -msgid "There was a problem while notifying Bing. View result" -msgstr "在通知 Bing 时发生错误,查看结果" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:713 -msgid "Ask.com was successfully notified about changes." -msgstr "更新已经成功通知 Ask.com。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:716 -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "通知 Ask.com 用了%time% ,也许你应该禁用这一功能以减少创建时间。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:719 -#, php-format -msgid "There was a problem while notifying Ask.com. View result" -msgstr "通知 MSN.com 时出错。查看结果" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:727 -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "此次建立大约用了 %time% 秒 完成,使用了 %memory% MB 内存。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:729 -msgid "The building process took about %time% seconds to complete." -msgstr "此次建立用了大约 %time% 秒 完成。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:733 -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "从上次这个文件不可写以后,你的 sitemap 就没有更新 ,并且也没有通知任何搜索引擎。" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:586 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:741 -msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." -msgstr "这项处理将会生效!几秒钟后刷新这个页面,查看是否有所变化。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:744 -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "上次运行没有完成!你应该为 PHP scripts 增加内存或时间限制。学习更多" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:746 -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "上次执行用了 was %memused%MB, 你的服务器限制是 %memlimit%。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:750 -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "上次执行时间 %timeused% 秒,你的服务器限制是 %timelimit% 秒." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:754 -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "这个脚本停止于这篇日志: %lastpost% (+/- 100)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:757 -#, php-format -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "如果你 Blog 或服务器更新了某些东西,你应该手动 重建 sitemap。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:759 -#, php-format -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "如果在执行建立程序时遇到问题,你可以使用 debug function来获取更多信息。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:766 -msgid "Basic Options" -msgstr "基本设置" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:768 -msgid "Sitemap files:" -msgstr "sitemap 文件" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:768 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:783 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:803 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:836 -msgid "Learn more" -msgstr "学习更多" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:773 -msgid "Write a normal XML file (your filename)" -msgstr "创建一个 XML 文件 (你的文件名)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:779 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "创建一个 gzipped 文件 (你的文件名 + .gz)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:783 -msgid "Building mode:" -msgstr "建立模式:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:788 -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "在你更改了 Blog 内容后重建 sitemap" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:795 -msgid "Enable manual sitemap building via GET Request" -msgstr "通过 GET Request 启用手动建立 sitemap" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:799 -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: %1 Please check the result box above to see if sitemap was successfully built." -msgstr "如果外部工具不是通过 WordPress API写入 WordPress 数据,那此项将允许你刷新你的 sitemap,。使用下面这个链接开始运行:%1 请检查上面的日志文件,看看 sitemap 有没有成功建立。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:803 -msgid "Update notification:" -msgstr "更新通知:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:807 -msgid "Notify Google about updates of your Blog" -msgstr "通知 Google 关于你 Blog 的更新" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:808 -#, php-format -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "非必须注册,不过你可以使用Google 管理员工具查看爬虫统计。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3209 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:812 -msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" -msgstr "通知 Bing/MSN Live Search 关于你 Blog 的更新" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:813 -#, php-format -msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." -msgstr "非必须注册,不过你可以使用 Bing 管理员工具查看爬虫统计。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:817 -msgid "Notify Ask.com about updates of your Blog" -msgstr "提醒 Ask.com 关于你 Blog 的更新" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:818 -msgid "No registration required." -msgstr "非必须注册。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:822 -msgid "Notify YAHOO about updates of your Blog" -msgstr "提醒 Yahoo 关于你 Blog 的更新" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:823 -msgid "Your Application ID:" -msgstr "你的 Application ID:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:824 -#, php-format -msgid "Don't you have such a key? Request one here! %s2" -msgstr "没有 key?点这里申请一个! %s2" - -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:829 -msgid "Add sitemap URL to the virtual robots.txt file." -msgstr "将 sitemap 地址添加到虚拟 robots.txt 文件中。" - -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:833 -msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" -msgstr "由 WordPress 生成的虚拟 robots.txt 文件已经启用,请确保 blog 文档中已无原来的 robots.txt 文件。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:836 -msgid "Advanced options:" -msgstr "高级设置:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:839 -msgid "Limit the number of posts in the sitemap:" -msgstr "sitemap 里日志数量的限制:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:839 -msgid "Newer posts will be included first" -msgstr "较早的日志将首先被包含进来" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:842 -msgid "Try to increase the memory limit to:" -msgstr "增加内存限制到:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:842 -msgid "e.g. \"4M\", \"16M\"" -msgstr "比如: \"4M\", \"16M\"" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:845 -msgid "Try to increase the execution time limit to:" -msgstr "增加执行时间限制到:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:845 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "按秒计算,比如 \"60\" or \"0\" 没有限制" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:849 -msgid "Include a XSLT stylesheet:" -msgstr "包含一个 XSLT 清单" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:850 -msgid "Full or relative URL to your .xsl file" -msgstr ".xsl 文件的绝对或相对路径" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:850 -msgid "Use default" -msgstr "使用默认的" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:856 -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "启用 MySQL 标准模式。仅在 MySQL 发生错误的时候使用。(将会占用更多内存!)" - -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:857 -msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" -msgstr "MySQL 快速连接仅支持 WordPress 2.2 或以上版本,请升级。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:864 -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "在后台建立 sitemap(你不需要在保存日志时等待)" - -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:865 -msgid "Upgrade WordPress at least to 2.1 to enable background building" -msgstr "后台生成仅支持 WordPress 2.1 或以上版本,请升级。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:872 -msgid "Additional pages" -msgstr "附加页面" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:875 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "在这里你可以为 sitemap 加入一些特殊的但并不存在于你 Blog/WordPress 的地址。比如,如果你的域名是 www.dupola.com,你的blog在 www.dupola.com/blog 上,你可以加入你的首页 www.dupola.com" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:877 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1085 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1099 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1108 -msgid "Note" -msgstr "注意" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:878 -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)!" -msgstr "如果你的 blog 在子目录里,你要添加 blog 目录或下级目录没有的页面,你必须将 sitemap 文件放到这个目录里(查看本页的 " sitemap 文件的位置 " 一节)!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:880 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:919 -msgid "URL to the page" -msgstr "这个页面的 URL" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:881 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "输入这个页面的地址,比如:http://dupola.com/dreamhost 或 https://twitter.com/dupola 或 http://caodan.net" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:883 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:920 -msgid "Priority" -msgstr "优先" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:884 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "选择该页面的相关页面的优先权。比如,你的主页应该拥有一个更高的优先权。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:886 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:922 -msgid "Last Changed" -msgstr "最近更改" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:887 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "输入最后更改的日期,格式为 YYYY-MM-DD (例如 2005-12-31) (可选的l)." - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:921 -msgid "Change Frequency" -msgstr "更改频率" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:923 -msgid "#" -msgstr "#" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:928 -msgid "No pages defined." -msgstr "没有页面" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:933 -msgid "Add new page" -msgstr "增加一个新的页面" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:938 -msgid "Post Priority" -msgstr "日志优先" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:940 -msgid "Please select how the priority of each post should be calculated:" -msgstr "请选择每篇日志可预设的优先权:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:942 -msgid "Do not use automatic priority calculation" -msgstr "不要使用默认优先计算" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:942 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "所有日志都将拥有 "优先权" 设定中设置的那样的优先权" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:953 -msgid "Location of your sitemap file" -msgstr "你的 sitemap 文件的位置" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:956 -msgid "Automatic detection" -msgstr "自动检查" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:960 -msgid "Filename of the sitemap file" -msgstr "sitemap 文件的名字" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:963 -msgid "Detected Path" -msgstr "检查路径" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:963 -msgid "Detected URL" -msgstr "检查地址" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:968 -msgid "Custom location" -msgstr "自定义位置" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:972 -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "sitemap 的绝对或相对路径,包括名字。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:974 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:983 -msgid "Example" -msgstr "例如" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:981 -msgid "Complete URL to the sitemap file, including name." -msgstr "sitemap 文件的完全地址,包括名字。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:994 -msgid "Sitemap Content" -msgstr "sitemap 内容" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1000 -msgid "Include homepage" -msgstr "包含首页" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1006 -msgid "Include posts" -msgstr "包含日志" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1013 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1012 -msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" -msgstr "包括所有多重页面(这将增加使用内存和生成时间)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1018 -msgid "Include static pages" -msgstr "包含独立页面" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1024 -msgid "Include categories" -msgstr "包含分类" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1030 -msgid "Include archives" -msgstr "包含存档页面" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1037 -msgid "Include tag pages" -msgstr "包含 Tag 页面" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1053 -#, php-format -msgid "Include taxonomy pages for %s" -msgstr "包括 %s 的 tag 页面" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1063 -msgid "Include author pages" -msgstr "包含作者页面" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1067 -msgid "Further options" -msgstr "高级设置" - -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1072 -msgid "Include the last modification time." -msgstr "包括最后修改时间。" - -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1074 -msgid "This is highly recommended and helps the search engines to know when your content has changed. This option affects all sitemap entries." -msgstr "强烈推荐开启此项,它会在你的内容发生变动时帮你告诉搜索引擎。这个设置将影响到 所有 sitemap 日志。" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:981 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1081 -msgid "Excluded items" -msgstr "不包含的项目" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1083 -msgid "Excluded categories" -msgstr "不包含分类" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:985 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1085 -msgid "Using this feature will increase build time and memory usage!" -msgstr "使用这个特性将增大建立时间和使用内存!" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:992 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1092 -#, php-format -msgid "This feature requires at least WordPress 2.5.1, you are using %s" -msgstr "这个特性要求 WordPress 版本至少是 2.5,你正在使用 %s" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1095 -msgid "Exclude posts" -msgstr "不包含日志" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1097 -msgid "Exclude the following posts or pages:" -msgstr "不包括下面的日志或页面:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1097 -msgid "List of IDs, separated by comma" -msgstr "ID 列表,用英文逗号隔开" - -# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:999 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1099 -msgid "Child posts won't be excluded automatically!" -msgstr "子日志不会被自动排除。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1105 -msgid "Change frequencies" -msgstr "更改频率" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1109 -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." -msgstr "请注意,这些值仅仅是参考建立而并非是准确无误的。 " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1115 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1172 -msgid "Homepage" -msgstr "首页" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1121 -msgid "Posts" -msgstr "日志" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1127 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1190 -msgid "Static pages" -msgstr "独立页面" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1133 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1196 -msgid "Categories" -msgstr "分类" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1139 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "这个月的存档(应该和你的首页保持一致)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1145 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "较早的存档(只在你编辑了旧日志后才更新)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1152 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1209 -msgid "Tag pages" -msgstr "Tag 页" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1159 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1216 -msgid "Author pages" -msgstr "作者页" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1167 -msgid "Priorities" -msgstr "优先权" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1178 -msgid "Posts (If auto calculation is disabled)" -msgstr "日志(如果自动计算已禁用)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1184 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "日志最小优先(即使自动计算已经开启)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1202 -msgid "Archives" -msgstr "存档" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1227 -msgid "Update options" -msgstr "更新设置" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1228 -msgid "Reset options" -msgstr "重置设置" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap.php:98 -msgid "XML-Sitemap Generator" -msgstr "XML-Sitemap 生成器" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap.php:98 -msgid "XML-Sitemap" -msgstr "XML-Sitemap" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap.php:112 -msgid "Settings" -msgstr "设置" - -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap.php:113 -msgid "FAQ" -msgstr "FAQ" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap.php:114 -msgid "Support" -msgstr "支持" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 -#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap.php:115 -msgid "Donate" -msgstr "捐赠" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-zh_TW.mo b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-zh_TW.mo deleted file mode 100644 index 5ec9c55b..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-zh_TW.mo and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-zh_TW.po b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-zh_TW.po deleted file mode 100644 index 87c8c040..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap-zh_TW.po +++ /dev/null @@ -1,980 +0,0 @@ -# [Countryname] Language File for sitemap (sitemap-[localname].po) -# Copyright (C) 2005 [name] : [URL] -# This file is distributed under the same license as the WordPress package. -# [name] <[mail-address]>, 2005. -# $Id: sitemap.pot 123431 2009-06-07 00:17:10Z arnee $ -# -msgid "" -msgstr "" -"Project-Id-Version: sitemap\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-07 01:15+0100\n" -"PO-Revision-Date: 2009-06-08 12:10+0800\n" -"Last-Translator: \n" -"Language-Team: hugo5688 \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-KeywordsList: _e;__\n" -"X-Poedit-Basepath: .\n" -"X-Poedit-SearchPath-0: H:\\Webdev\\htdocs\\wp_plugins\\sitemap_beta\n" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:642 -msgid "Comment Count" -msgstr "迴響數目" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:654 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "使用迴響的數量來計算優先權" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:714 -msgid "Comment Average" -msgstr "迴響平均值" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:726 -msgid "Uses the average comment count to calculate the priority" -msgstr "使用迴響數量平均值來計算優先權" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:789 -msgid "Popularity Contest" -msgstr "熱門競賽" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:801 -msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" -msgstr "使用 Alex King 提供的 Popularity Contest 外掛(需啟用)。詳見 選項 以及Most Popular Posts" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1187 -msgid "Always" -msgstr "隨時" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1188 -msgid "Hourly" -msgstr "每小時" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1189 -msgid "Daily" -msgstr "每日" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1190 -msgid "Weekly" -msgstr "每週" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1191 -msgid "Monthly" -msgstr "每月" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1192 -msgid "Yearly" -msgstr "每年" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1193 -msgid "Never" -msgstr "從不" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 -msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" -msgstr "非常感謝您的贊助。由於您的幫助,讓我能夠繼續支援開發這個外掛以及其他免費軟體!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 -msgid "Hide this notice" -msgstr "隱藏這個通知" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 -#, php-format -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? Donations help me to continue support and development of this free software! Sure, no problem!" -msgstr "感謝您使用此外掛!您已在一個月前安裝此外掛。如果它正常工作並讓您對於此結果感到安心,是不是至少價值一美元呢? 請贊助我來讓我有繼續開發及支援此免費 外掛軟體的動力。好的,沒問題!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 -msgid "No thanks, please don't bug me anymore!" -msgstr "不了,請不要再煩我!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:119 -msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" -msgstr "您的網站地圖在此刻已開始更新。這完全取決於您的blog大小,或許會花上一點時間!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:121 -#, php-format -msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" -msgstr "您的網站地圖將會在%s秒鐘後更新。這完全取決於您的blog大小,或許會花上一點時間!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:146 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:453 -msgid "XML Sitemap Generator for WordPress" -msgstr "WordPress 專用 XML 網站地圖產生器" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:298 -msgid "Configuration updated" -msgstr "設定已更新" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:299 -msgid "Error while saving options" -msgstr "儲存選項時產生錯誤" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:301 -msgid "Pages saved" -msgstr "頁面已儲存" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:302 -msgid "Error while saving pages" -msgstr "儲存頁面時產生錯誤" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:309 -msgid "The default configuration was restored." -msgstr "設定已重置為預設值。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:466 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here." -msgstr "有較新的版本 %1$s 可供下載。下載版本 %3$s" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:468 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." -msgstr "有較新的版本 %1$s 可供下載。下載版本 %3$s 自動更新不可適用於此外掛程式。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:470 -#, php-format -msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." -msgstr "有較新的版本 %1$s 可供下載。下載版本 %3$s或者自動更新。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:493 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:510 -msgid "open" -msgstr "打開" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:494 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:511 -msgid "close" -msgstr "關閉" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:495 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:512 -msgid "click-down and drag to move this box" -msgstr "按下並拖曳這個矩形" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:496 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:513 -msgid "click to %toggle% this box" -msgstr "按了「%toggle%」這個矩形" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:497 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:514 -msgid "use the arrow keys to move this box" -msgstr "使用方向鍵移動這個矩形" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:515 -msgid ", or press the enter key to %toggle% it" -msgstr ",或者按下 Enter 鍵來「%toggle%」它" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 -msgid "About this Plugin:" -msgstr "關於這個外掛:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:141 -msgid "Plugin Homepage" -msgstr "外掛首頁" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:535 -msgid "Suggest a Feature" -msgstr "功能推薦" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:536 -msgid "Notify List" -msgstr "郵件通知" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:537 -msgid "Support Forum" -msgstr "支援論壇" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:538 -msgid "Report a Bug" -msgstr "臭蟲回報" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:540 -msgid "Donate with PayPal" -msgstr "PayPal 贊助" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:541 -msgid "My Amazon Wish List" -msgstr "我的 Amazon 願望清單" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:542 -msgid "translator_name" -msgstr "Hugo5688" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:542 -msgid "translator_url" -msgstr "http://take-ez.com" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:545 -msgid "Sitemap Resources:" -msgstr "網站地圖資源:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:546 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:552 -msgid "Webmaster Tools" -msgstr "網站管理員工具" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:547 -msgid "Webmaster Blog" -msgstr "網站管理員網誌" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:549 -msgid "Site Explorer" -msgstr "Site Explorer" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:550 -msgid "Search Blog" -msgstr "Search Blog" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:553 -msgid "Webmaster Center Blog" -msgstr "網站管理員網誌" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:555 -msgid "Sitemaps Protocol" -msgstr "網站地圖通訊協定" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:556 -msgid "Official Sitemaps FAQ" -msgstr "官方版網站地圖答客問" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:557 -msgid "My Sitemaps FAQ" -msgstr "網站地圖答客問" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:560 -msgid "Recent Donations:" -msgstr "近期贊助清單:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:564 -msgid "List of the donors" -msgstr "贊助者清單" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:566 -msgid "Hide this list" -msgstr "隱藏本清單" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:569 -msgid "Thanks for your support!" -msgstr "感謝您的贊助!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:587 -msgid "Status" -msgstr "狀態" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:595 -#, php-format -msgid "The sitemap wasn't built yet. Click here to build it the first time." -msgstr "您的網站地圖還沒產生過。點這裡來產生它吧。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:601 -msgid "Your sitemap was last built on %date%." -msgstr "您的網站地圖上次發佈時間為:%date%。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:603 -msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn more更多資訊" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:610 -msgid "Your sitemap (zipped) was last built on %date%." -msgstr "網站地圖(壓縮檔)上回產生於:%date%。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:612 -msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn more更多資訊" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:618 -msgid "Google was successfully notified about changes." -msgstr "已經成功地通知 Google 您網站的更新。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:621 -msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." -msgstr "花了 %time% 秒來通知 Google,或許您想要關閉此功能來增加效能。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:624 -#, php-format -msgid "There was a problem while notifying Google. View result" -msgstr "通知 Google 時發生了問題。檢視結果" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:630 -msgid "YAHOO was successfully notified about changes." -msgstr "已經成功地通知 YAHOO 您網站的更新。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:633 -msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." -msgstr "花了 %time% 秒來通知 YAHOO,或許您想要關閉此功能來增加效能。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:636 -#, php-format -msgid "There was a problem while notifying YAHOO. View result" -msgstr "通知 YAHOO 時發生了問題。檢視結果" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:642 -msgid "Bing was successfully notified about changes." -msgstr "已經成功地通知 Bing 您網站的更新。" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:645 -msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." -msgstr "花了 %time% 秒來通知 Bing,或許您想要關閉此功能來增加效能。" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:648 -#, php-format -msgid "There was a problem while notifying Bing. View result" -msgstr "通知 Bing 時發生了問題。檢視結果" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:654 -msgid "Ask.com was successfully notified about changes." -msgstr "已經成功地通知 Ask.com 您網站的更新。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:657 -msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." -msgstr "花了 %time% 秒來通知 Ask.com,或許您想要關閉此功能來增加效能。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:660 -#, php-format -msgid "There was a problem while notifying Ask.com. View result" -msgstr "通知 Ask.com 時發生了問題。檢視結果" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:668 -msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." -msgstr "整個建置過程大約花費 %time% 秒 來完成,並且使用了 %memory% MB 的記憶體。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:670 -msgid "The building process took about %time% seconds to complete." -msgstr "整個建置過程大約花費 %time% 秒 來完成。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:674 -msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." -msgstr "您的網站地圖內容與上次比較並沒有變更,所以沒有產生新檔案,而且搜尋引擎也沒有被通知。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:682 -msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." -msgstr "建立網站地圖的程序或許依然啟動著。頁面將在幾秒鐘後重新載入,並且確認是否改變。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:685 -msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" -msgstr "上次的執行並未結束!也許您需要替 PHP 增加記憶體或者時間限制。更多資訊" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:687 -msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." -msgstr "最後一次執行本程式使用 %memused% MB 記憶體,您伺服器的限制為 %memlimit%。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:691 -msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." -msgstr "最後一次執行本程式的時間花 %timeused% 秒,您伺服器的限制為 %timelimit% 秒。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:695 -msgid "The script stopped around post number %lastpost% (+/- 100)" -msgstr "這支程式大約停在第 %lastpost% (+/- 100)篇文章" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:698 -#, php-format -msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." -msgstr "若是您對伺服器或者網誌做了某些更動,您應該手動重新產生網站地圖。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:700 -#, php-format -msgid "If you encounter any problems with the build process you can use the debug function to get more information." -msgstr "如果您在建立的過程遇到了問題,您可以使用除錯功能來得知更多的訊息。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:707 -msgid "Basic Options" -msgstr "基本選項" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:709 -msgid "Sitemap files:" -msgstr "網站地圖檔案:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:709 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 -msgid "Learn more" -msgstr "更多資訊" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:714 -msgid "Write a normal XML file (your filename)" -msgstr "寫入 XML 檔案(檔案名稱)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:720 -msgid "Write a gzipped file (your filename + .gz)" -msgstr "寫入壓縮檔(檔案名稱 + .gz)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 -msgid "Building mode:" -msgstr "產生模式:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:729 -msgid "Rebuild sitemap if you change the content of your blog" -msgstr "當修改網誌內容時重新建立網站地圖。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:736 -msgid "Enable manual sitemap building via GET Request" -msgstr "啟用透過發送 GET 要求手動建立網站地圖。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:740 -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: %1 Please check the logfile above to see if sitemap was successfully built." -msgstr "本選項允許您刷新您的網站地圖。當您使用外部工具直接將文章寫入 WordPress 資料庫,而非透過 WordPress API 時,使用以下網址啟動這個作業: %1 若是要知道是否成功請檢查紀錄檔案。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 -msgid "Update notification:" -msgstr "更新通知:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:748 -msgid "Notify Google about updates of your Blog" -msgstr "通知 Google 關於您網站的更新" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:749 -#, php-format -msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." -msgstr "不需要註冊,但您可加入 Google 網站管理員工具來檢查搜索統計。" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:753 -msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" -msgstr "" -"通知 Bing (前身為 MSN Live Search\r\n" -") 關於您網站的更新" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:754 -#, php-format -msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." -msgstr "不需要註冊,但您可加入 Bing 網站管理員工具來檢查搜索統計。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:758 -msgid "Notify Ask.com about updates of your Blog" -msgstr "通知 Ask.com 關於您網站的更新" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:759 -msgid "No registration required." -msgstr "不需要註冊。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:763 -msgid "Notify YAHOO about updates of your Blog" -msgstr "通知 YAHOO 關於您網站的更新" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:764 -msgid "Your Application ID:" -msgstr "您的應用程式 ID:" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:765 -#, php-format -msgid "Don't you have such a key? Request one here! %s2" -msgstr "您沒有像一個這樣的金鑰嗎? 請擊點此處申請! %s2" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:770 -msgid "Add sitemap URL to the virtual robots.txt file." -msgstr "在虛擬 robots.txt 檔案中加入網站地圖位址" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:774 -msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" -msgstr "此虛擬的 robots.txt 將會由 WordPress 來使用。真實的 robots.txt 不得存在於部落格的目錄中!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 -msgid "Advanced options:" -msgstr "進階選項:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 -msgid "Limit the number of posts in the sitemap:" -msgstr "網站地圖裡文章數的最小值:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 -msgid "Newer posts will be included first" -msgstr "較新的文章將會優先包含" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 -msgid "Try to increase the memory limit to:" -msgstr "試著將記憶體限制增加至:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 -msgid "e.g. \"4M\", \"16M\"" -msgstr "例如:「4M」、「16M」" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 -msgid "Try to increase the execution time limit to:" -msgstr "試著將執行時間限制增加至:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "以秒為單位,例如:「60」或者「0」則不限制" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:790 -msgid "Include a XSLT stylesheet:" -msgstr "包含 XSLT 樣式:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 -msgid "Full or relative URL to your .xsl file" -msgstr "您 .xsl 檔案的絕對或者相對路徑" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 -msgid "Use default" -msgstr "使用預設" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:797 -msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" -msgstr "啟用 MySQL 標準模式。當您發現有 MySQL 錯誤時,可以使用此選項。 (需要較多的記憶體!)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:798 -msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" -msgstr "如要開啟較快的 MySQL 存取,請至少將 WordPress 升級成 2.2 版以上" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:805 -msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" -msgstr "自動在背景程序中建立網站地圖 (當儲存文章時,您就不需再次產生網站地圖)" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:806 -msgid "Upgrade WordPress at least to 2.1 to enable background building" -msgstr "如要啟用背景建立網站地圖,請至少將 WordPress 升級成 2.1 版以上" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:813 -msgid "Additional pages" -msgstr "其他的頁面" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:816 -msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
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" -msgstr "您可以在此指定那些應被納入網站地圖的檔案或者網址,但是不屬於您的部落格(Blog/WordPress)。
舉例來說,若是您的部落格是 www.foo.com/blog,而您想要將您 www.foo.com 下的網頁納入此網站地圖。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:818 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:997 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1011 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1020 -msgid "Note" -msgstr "注意" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:819 -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)!" -msgstr "若是您的部落格是在子目錄下而您想要增加的頁面並不在部落格的目錄下面,您必須將您的網站地圖置於網站的根目錄下。(請見本頁「網站地圖的位置」小節)!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:821 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:860 -msgid "URL to the page" -msgstr "頁面網址" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 -msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " -msgstr "輸入頁面的網址。例如:http://www.foo.com/index.html 或者 www.foo.com/home " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:824 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:861 -msgid "Priority" -msgstr "優先權 " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:825 -msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." -msgstr "選擇該頁面的優先權(相較於其他頁面而言)。例如:您的首頁或許會比版權說明頁的優先權來得高。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:827 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 -msgid "Last Changed" -msgstr "最近更動" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:828 -msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." -msgstr "輸入最近更動的日期,格式為 YYYY-MM-DD(例如:2005-12-31)(非必要)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862 -msgid "Change Frequency" -msgstr "設定更新頻率" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:864 -msgid "#" -msgstr "#" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:869 -msgid "No pages defined." -msgstr "還沒有頁面已被設定" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:874 -msgid "Add new page" -msgstr "新增頁面" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:879 -msgid "Post Priority" -msgstr "文章優先權 " - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:881 -msgid "Please select how the priority of each post should be calculated:" -msgstr "請選擇每篇文章應該用多少優先權來計算:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:883 -msgid "Do not use automatic priority calculation" -msgstr "不使用自動優先權計算" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:883 -msgid "All posts will have the same priority which is defined in "Priorities"" -msgstr "所有的文章使用相同定義在"優先權"內的優先權。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:894 -msgid "Location of your sitemap file" -msgstr "網站地圖的位置" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:897 -msgid "Automatic detection" -msgstr "自動位置" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:901 -msgid "Filename of the sitemap file" -msgstr "網站地圖的檔名" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:904 -msgid "Detected Path" -msgstr "偵測到的路徑" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:904 -msgid "Detected URL" -msgstr "偵測到的網址" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:909 -msgid "Custom location" -msgstr "自定位置" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:913 -msgid "Absolute or relative path to the sitemap file, including name." -msgstr "網站地圖的絕對或相對路徑,包括檔名。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:915 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:924 -msgid "Example" -msgstr "範例" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:922 -msgid "Complete URL to the sitemap file, including name." -msgstr "網站地圖的完整網址,包括檔名。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:935 -msgid "Sitemap Content" -msgstr "網站地圖內容" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:941 -msgid "Include homepage" -msgstr "包含首頁" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:947 -msgid "Include posts" -msgstr "包含文章" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:953 -msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" -msgstr "包含下列頁面的分頁文章 (會增加建立時間及記憶體使用量!)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:959 -msgid "Include static pages" -msgstr "包含網誌分頁" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:965 -msgid "Include categories" -msgstr "包含分類" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:971 -msgid "Include archives" -msgstr "包含匯整" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:978 -msgid "Include tag pages" -msgstr "包含標籤頁面" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:985 -msgid "Include author pages" -msgstr "包含作者頁面" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:993 -msgid "Excluded items" -msgstr "排除的項目" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:995 -msgid "Excluded categories" -msgstr "排除的類型" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:997 -msgid "Using this feature will increase build time and memory usage!" -msgstr "使用此功能將會增加建立的時間及記憶體使用量!" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1004 -#, php-format -msgid "This feature requires at least WordPress 2.5.1, you are using %s" -msgstr "此功能至少需要 WordPress 2.5.1 版本,您目前使用的版本是 %s" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1007 -msgid "Exclude posts" -msgstr "包含文章" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1009 -msgid "Exclude the following posts or pages:" -msgstr "包含下列的文章或頁面:" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1009 -msgid "List of IDs, separated by comma" -msgstr "列出 IDs,以逗號區隔。" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1011 -msgid "Child posts won't be excluded automatically!" -msgstr "子文章不會自動包含!" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1017 -msgid "Change frequencies" -msgstr "更新頻率設定" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1021 -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." -msgstr "請注意下列各設定值僅被視為提示而非命令。雖然搜尋引擎漫遊器會考慮這資訊做出決定,他們也許會較少漫遊被標記為「Hourly」的頁面,或者更加頻繁地漫遊被標記為「Yearly」的頁面。搜尋引擎漫遊機制會週期性地漫遊被標記為「Never」的頁面,以便他們能處理對那些頁面的變動。" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1027 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1084 -msgid "Homepage" -msgstr "首頁" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1033 -msgid "Posts" -msgstr "文章" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1039 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1102 -msgid "Static pages" -msgstr "網誌分頁" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1045 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1108 -msgid "Categories" -msgstr "分類" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1051 -msgid "The current archive of this month (Should be the same like your homepage)" -msgstr "現有的每月彙整(應該與您的首頁相同)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1057 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "較舊的彙整(只有在您修改舊文章的時候才會改變)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1064 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1121 -msgid "Tag pages" -msgstr "標籤頁面" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1071 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1128 -msgid "Author pages" -msgstr "作者頁面" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1079 -msgid "Priorities" -msgstr "優先權" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1090 -msgid "Posts (If auto calculation is disabled)" -msgstr "文章(如果自動計算沒有打開)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1096 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "優先權最小值(即使自動計算有打開)" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1114 -msgid "Archives" -msgstr "彙整" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1139 -msgid "Update options" -msgstr "更新選項" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1140 -msgid "Reset options" -msgstr "重置選項" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:84 -msgid "XML-Sitemap Generator" -msgstr "XML 網站地圖產生器" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:84 -msgid "XML-Sitemap" -msgstr "XML 網站地圖" - -#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:142 -msgid "Sitemap FAQ" -msgstr "網站地圖答客問" - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap.pot b/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap.pot deleted file mode 100644 index ed334026..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/lang/sitemap.pot +++ /dev/null @@ -1,919 +0,0 @@ -# [Countryname] Language File for sitemap (sitemap-[localname].po) -# Copyright (C) 2005 [name] : [URL] -# This file is distributed under the same license as the WordPress package. -# [name] <[mail-address]>, 2005. -# $Id: sitemap.pot 918833 2014-05-21 17:56:43Z arnee $ -# -msgid "" -msgstr "" -"Project-Id-Version: sitemap\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-05-21 19:54+0100\n" -"PO-Revision-Date: 2014-05-21 19:54+0100\n" -"Last-Translator: Arne Brachhold \n" -"Language-Team: \n" -"Language: en_US\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-KeywordsList: _e;__\n" -"X-Poedit-Basepath: .\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.6.4\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-SearchPath-0: C:\\Inetpub\\wwwroot\\wp_svn\\wp-content\\plugins" -"\\sitemap_beta\n" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:547 -msgid "Comment Count" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:557 -msgid "Uses the number of comments of the post to calculate the priority" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:608 -msgid "Comment Average" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:618 -msgid "Uses the average comment count to calculate the priority" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:778 -msgid "Always" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:779 -msgid "Hourly" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:780 -msgid "Daily" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:781 -msgid "Weekly" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:782 -msgid "Monthly" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:783 -msgid "Yearly" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:784 -msgid "Never" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:233 -msgid "XML-Sitemap Generator" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:233 -msgid "XML-Sitemap" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:260 -msgid "Settings" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:261 -msgid "FAQ" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:262 -msgid "Support" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:263 -msgid "Donate" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:181 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:663 -msgid "XML Sitemap Generator for WordPress" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:368 -msgid "Configuration updated" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:369 -msgid "Error while saving options" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:372 -msgid "Pages saved" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:373 -msgid "Error while saving pages" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:381 -msgid "The default configuration was restored." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:391 -msgid "" -"The old files could NOT be deleted. Please use an FTP program and delete " -"them by yourself." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:393 -msgid "The old files were successfully deleted." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:430 -msgid "Notify Search Engines about all sitemaps" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:431 -msgid "" -"The plugin is notifying the selected search engines about your main sitemap " -"and all sub-sitemaps. This might take a minute or two." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:453 -msgid "All done!" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:470 -msgid "Ping was executed, please see below for the result." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:513 -msgid "" -"Thank you very much for your donation. You help me to continue support and " -"development of this plugin and other free software!" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:513 -msgid "Hide this notice" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:519 -#, php-format -msgid "" -"Thanks for using this plugin! You've installed this plugin over a month ago. " -"If it works and you are satisfied with the results, isn't it worth at least " -"a few dollar? Donations help me to continue support and " -"development of this free software! Sure, no problem!" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:519 -msgid "Sure, but I already did!" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:519 -msgid "No thanks, please don't bug me anymore!" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:526 -#, php-format -msgid "" -"Thanks for using this plugin! You've installed this plugin some time ago. If " -"it works and your are satisfied, why not rate it and recommend it to others? :-)" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:526 -msgid "Don't show this anymore" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:679 -#, php-format -msgid "" -"There is a new version of %1$s available. Download version " -"%3$s here." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:681 -#, php-format -msgid "" -"There is a new version of %1$s available. Download version " -"%3$s here automatic upgrade unavailable for this plugin." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:683 -#, php-format -msgid "" -"There is a new version of %1$s available. Download version " -"%3$s here or upgrade automatically." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:691 -#, php-format -msgid "" -"Your blog is currently blocking search engines! Visit the privacy settings to change this." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:706 -msgid "About this Plugin:" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:707 -msgid "Plugin Homepage" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:708 -msgid "Suggest a Feature" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:709 -msgid "Help / FAQ" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:710 -msgid "Notify List" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:711 -msgid "Support Forum" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:712 -msgid "Report a Bug" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:714 -msgid "Donate with PayPal" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:715 -msgid "My Amazon Wish List" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:716 -msgid "translator_name" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:716 -msgid "translator_url" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:719 -msgid "Sitemap Resources:" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:720 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:725 -msgid "Webmaster Tools" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:721 -msgid "Webmaster Blog" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:723 -msgid "Search Blog" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:726 -msgid "Webmaster Center Blog" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:728 -msgid "Sitemaps Protocol" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:729 -msgid "Official Sitemaps FAQ" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:730 -msgid "My Sitemaps FAQ" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:733 -msgid "Recent Donations:" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:736 -msgid "List of the donors" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:738 -msgid "Hide this list" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:741 -msgid "Thanks for your support!" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:761 -msgid "Search engines haven't been notified yet" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:765 -msgid "Result of the last ping, started on %date%." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:772 -msgid "Recent Support Topics / News" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:776 -msgid "Disable" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:794 -msgid "No support topics available or an error occurred while fetching them." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:797 -msgid "" -"Support Topics have been disabled. Enable them to see useful information " -"regarding this plugin. No Ads or Spam!" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:797 -msgid "Enable" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:808 -#, php-format -msgid "" -"There is still a sitemap.xml or sitemap.xml.gz file in your blog directory. " -"Please delete them as no static files are used anymore or try " -"to delete them automatically." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:811 -#, php-format -msgid "The URL to your sitemap index file is: %s." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:814 -msgid "" -"Search engines haven't been notified yet. Write a post to let them know " -"about your sitemap." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:823 -#, php-format -msgid "%s was successfully notified about changes." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:826 -msgid "" -"It took %time% seconds to notify %name%, maybe you want to disable this " -"feature to reduce the building time." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:829 -msgid "" -"There was a problem while notifying %name%. View result" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:841 -#, php-format -msgid "" -"If you encounter any problems with your sitemap you can use the debug function to get more information." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:845 -#, php-format -msgid "" -"If you like the plugin, please rate it 5 " -"stars or donate via PayPal! I'm supporting this " -"plugin since over 9 years! Thanks a lot! :)" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:853 -msgid "Webserver Configuration" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:854 -msgid "" -"Since you are using Nginx as your web-server, please configure the following " -"rewrite rules in case you get 404 Not Found errors for your sitemap:" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:870 -msgid "Basic Options" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:872 -msgid "Update notification:" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:872 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:895 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:917 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:929 -msgid "Learn more" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:876 -msgid "Notify Google about updates of your Blog" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:877 -#, php-format -msgid "" -"No registration required, but you can join the Google " -"Webmaster Tools to check crawling statistics." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:881 -msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:882 -#, php-format -msgid "" -"No registration required, but you can join the Bing Webmaster " -"Tools to check crawling statistics." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:887 -msgid "Add sitemap URL to the virtual robots.txt file." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:891 -msgid "" -"The virtual robots.txt generated by WordPress is used. A real robots.txt " -"file must NOT exist in the blog directory!" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:895 -msgid "Advanced options:" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:898 -msgid "Try to increase the memory limit to:" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:898 -msgid "e.g. \"4M\", \"16M\"" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:901 -msgid "Try to increase the execution time limit to:" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:901 -msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:906 -msgid "" -"Try to automatically compress the sitemap if the requesting client supports " -"it." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:908 -msgid "" -"Disable this option if you get garbled content or encoding errors in your " -"sitemap." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:912 -msgid "Include a XSLT stylesheet:" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:913 -msgid "Full or relative URL to your .xsl file" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:913 -msgid "Use default" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:916 -msgid "Override the base URL of the sitemap:" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:917 -msgid "" -"Use this if your blog is in a sub-directory, but you want the sitemap be " -"located in the root. Requires .htaccess modification." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:922 -msgid "Include sitemap in HTML format" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:922 -msgid "(The required PHP XSL Module is not installed)" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:928 -msgid "Allow anonymous statistics (no personal information)" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:937 -msgid "Additional pages" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:940 -msgid "" -"Here you can specify files or URLs which should be included in the sitemap, " -"but do not belong to your Blog/WordPress.
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" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:942 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1156 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1165 -msgid "Note" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:943 -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)!" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:945 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:984 -msgid "URL to the page" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:946 -msgid "" -"Enter the URL to the page. Examples: http://www.foo.com/index.html or www." -"foo.com/home " -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:948 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:985 -msgid "Priority" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:949 -msgid "" -"Choose the priority of the page relative to the other pages. For example, " -"your homepage might have a higher priority than your imprint." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:951 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:987 -msgid "Last Changed" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:952 -msgid "" -"Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) " -"(optional)." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:986 -msgid "Change Frequency" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:988 -msgid "#" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:993 -msgid "No pages defined." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:998 -msgid "Add new page" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1004 -msgid "Post Priority" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1006 -msgid "Please select how the priority of each post should be calculated:" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1008 -msgid "Do not use automatic priority calculation" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1008 -msgid "" -"All posts will have the same priority which is defined in "" -"Priorities"" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1019 -msgid "Sitemap Content" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1020 -msgid "WordPress standard content" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1025 -msgid "Include homepage" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1031 -msgid "Include posts" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1037 -msgid "Include static pages" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1043 -msgid "Include categories" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1049 -msgid "Include archives" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1055 -msgid "Include author pages" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1062 -msgid "Include tag pages" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1076 -msgid "Custom taxonomies" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1087 -#, php-format -msgid "Include taxonomy pages for %s" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1105 -msgid "Custom post types" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1116 -#, php-format -msgid "Include custom post type %s" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1128 -msgid "Further options" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1133 -msgid "Include the last modification time." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1135 -msgid "" -"This is highly recommended and helps the search engines to know when your " -"content has changed. This option affects all sitemap entries." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1142 -msgid "Excluded items" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1144 -msgid "Excluded categories" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1152 -msgid "Exclude posts" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1154 -msgid "Exclude the following posts or pages:" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1154 -msgid "List of IDs, separated by comma" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1156 -msgid "Child posts won't be excluded automatically!" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1162 -msgid "Change frequencies" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1166 -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." -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1172 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1229 -msgid "Homepage" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1178 -msgid "Posts" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1184 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1247 -msgid "Static pages" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1190 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1253 -msgid "Categories" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1196 -msgid "" -"The current archive of this month (Should be the same like your homepage)" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1202 -msgid "Older archives (Changes only if you edit an old post)" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1209 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1266 -msgid "Tag pages" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513 -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1216 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1273 -msgid "Author pages" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1224 -msgid "Priorities" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1235 -msgid "Posts (If auto calculation is disabled)" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1241 -msgid "Minimum post priority (Even if auto calculation is enabled)" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1259 -msgid "Archives" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1284 -msgid "Update options" -msgstr "" - -# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591 -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1285 -msgid "Reset options" -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap.php:85 -msgid "Your WordPress version is too old for XML Sitemaps." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap.php:85 -#, php-format -msgid "" -"Unfortunately this release of Google XML Sitemaps requires at least " -"WordPress %4$s. You are using Wordpress %2$s, which is out-dated and " -"insecure. Please upgrade or go to active plugins and " -"deactivate the Google XML Sitemaps plugin to hide this message. You can " -"download an older version of this plugin from the plugin " -"website." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap.php:95 -msgid "Your PHP version is too old for XML Sitemaps." -msgstr "" - -#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap.php:95 -#, php-format -msgid "" -"Unfortunately this release of Google XML Sitemaps requires at least PHP " -"%4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask " -"your web host to update your PHP installation or go to active plugins and deactivate the Google XML Sitemaps plugin to hide " -"this message. You can download an older version of this plugin from the plugin website." -msgstr "" diff --git a/pole-sbv-content/plugins/google-sitemap-generator/license.txt b/pole-sbv-content/plugins/google-sitemap-generator/license.txt deleted file mode 100644 index ecbc0593..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/license.txt +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. \ No newline at end of file diff --git a/pole-sbv-content/plugins/google-sitemap-generator/readme.txt b/pole-sbv-content/plugins/google-sitemap-generator/readme.txt deleted file mode 100644 index 6acabd8d..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/readme.txt +++ /dev/null @@ -1,460 +0,0 @@ -=== Google XML Sitemaps === -Contributors: arnee -Tags: seo, google, bing, yahoo, msn, ask, live, sitemaps, google sitemaps, xml sitemap, xml -Requires at least: 3.3 -Tested up to: 4.8 -Stable tag: 4.0.9 -License: GPLv2 -License URI: http://www.gnu.org/licenses/gpl-2.0.html - -This plugin will improve SEO by helping search enginess better index your site using sitemaps. - -== Description == - -Use this plugin to greatly improve SEO to create special XML sitemaps which will help search engines like Google, Bing, Yahoo and Ask.com to better index your site. - -With such a sitemap, it's much easier for the crawlers to see the complete structure of your site and retrieve it more efficiently. The plugin supports all kinds of WordPress generated pages as well as custom URLs. Additionally it notifies all major search engines every time you create a post about the new content. - -Supported since *over 9 years* and rated as the [best WordPress plugin](http://wordpress.org/plugins/browse/top-rated/), it will do exactly what it's supposed to do - providing a complete XML sitemap for search engines. It will not break your site, slow it down or annoy you. Guaranteed! - -> If you like the plugin, feel free to rate it (on the right side of this page)! :) - -Related Links: - -* Plugin Homepage -* Changelog -* Plugin help and sitemaps FAQ -* Support Forum - -== Installation == - -1. Install the plugin like you always install plugins, either by uploading it via FTP or by using the "Add Plugin" function of WordPress. -2. Activate the plugin at the plugin administration page -3. If you want: Open the plugin configuration page, which is located under Settings -> XML-Sitemap and customize settings like priorities and change frequencies. -4. The plugin will automatically update your sitemap of you publish a post, so there is nothing more to do :) - -== Frequently Asked Questions == - -= Where can I find the options page of the plugin? = - -It is under Settings > XML Sitemap. I know nowadays many plugins add top-level menu items, but in most of the cases it is just not necessary. I've seen WP installations which looked like an Internet Explorer ten years ago with 20 toolbars installed. ;-) - -= Do I have to create a sitemap.xml and sitemap.xml.gz by myself? = - -Not anymore. Since version 4, these files are dynamically generated. *There must be no sitemap.xml or sitemap.xml.gz in your site directory anymore!* The plugin will try to rename them to sitemap.xml.bak if they still exists. - -= Does this plugin use static files or "I can't find the sitemap.xml file!" = - -Not anymore. Since version 4, these files are dynamically generated just like any other WordPress content. - -= There are no comments yet (or I've disabled them) and all my postings have a priority of zero! = - -Please disable automatic priority calculation and define a static priority for posts. - -= So many configuration options... Do I need to change them? = - -No, only if you want to. Default values are ok for most sites. - -= Does this plugin work with all WordPress versions? = - -This version works with WordPress 3.3 and better. If you're using an older version, please check the [Google Sitemaps Plugin Homepage](http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/ "Google (XML) Sitemap Generator Plugin Homepage") for the legacy releases. There is a working release for every WordPress version since 1.5, but you really should consider updating your WordPress installation! - -= My question isn't answered here = - -Most of the plugin options are described at the [plugin homepage](http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/) as well as the dedicated [Google Sitemaps FAQ](http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/help/ "List of common questions / problems regarding Google (XML) Sitemaps"). - -= My question isn't even answered there = - -Please post your question at the [WordPress support forum](http://wordpress.org/support/topic/read-before-opening-a-new-support-topic) and tag your post with "google-sitemap-generator". - -= What's new in the latest version? = - -The changelog is maintained [here](http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/changelog/ "Google (XML) Sitemap Generator Plugin Changelog") - -= Why is the changelog on a separate page and not here? = - -The WordPress.org repository is just another place to download this plugin. I don't want to maintain too many pages with the same content. Thank you for your understanding! - -== Changelog == - -= 4.0.9 (2017-07-24) = -* Fixed security issue related to donation functionality. - -= 4.0.8 (2014-11-15) = -* Fixed bug regarding the exclude categories feature, thanks to Claus Schöffel! - -= 4.0.7.1 (2014-09-02) = -* Sorry, no new features this time… This release only updates the Compatibility-Tag to WordPress 4.0. Unfortunately there is no way to do this anymore without a new version - -= 4.0.7 (2014-06-23) = -* Better compatibility with GoDaddy managed WP hosting -* Better compatibility with QuickCache -* Removed WordPress version from the sitemap -* Corrected link to WordPress privacy settings (if search engines are blocked) -* Changed hook which is being used for sitemap pings to avoid pings on draft edit - -= 4.0.6 (2014-06-03) = -* Added option to disable automatic gzipping -* Fixed bug with duplicated external sitemap entries -* Don’t gzip if behind Varnish since Varnish can do that - -= 4.0.5 (2014-05-18) = -* Added function to manually start ping for main-sitemap or all sub-sitemaps -* Added support for changing the base of the sitemap URL to another URL (for WP installations in sub-folders) -* Fixed issue with empty post sitemaps (related to GMT/local time offset) -* Fixed some timing issues in archives -* Improved check for possible problems before gzipping -* Fixed empty archives and author sitemaps in case there were no posts -* Fixed bug which caused the Priority Provider to disappear in recent PHP versions -* Plugin will also ping with the corresponding sub-sitemap in case a post was modified -* Better checking for empty external urls -* Changed text in XSL template to be more clear about sitemap-index and sub-sitemaps -* Changed content type to text/xml to improve compatibility with caching plugins -* Changed query parameters to is_feed=true to improve compatibility with caching plugins -* Switched from using WP_Query to load posts to a custom SQL statement to avoid problems with other plugin filters -* Added caching of some SQL statements -* Added support feed for more help topics -* Added link to new help page -* Cleaned up code and renamed variables to be more readable -* Updated Japanese Translation, thanks to Daisuke Takahashi - -= 4.0.4 (2014-04-19) = -* Removed deprecated get_page call -* Changed last modification time of sub-sitemaps to the last modification date of the posts instead of the publish date -* Removed information window if the statistic option has not been activated -* Added link regarding new sitemap format -* Updated Portuguese translation, thanks to Pedro Martinho -* Updated German translation - -= 4.0.3 (2014-04-13) = -* Fixed compression if an gzlib handler was already active -* Help regarding permalinks for Nginx users -* Fix with gzip compression in case there was other output before already -* Return 404 for HTML sitemaps if the option has been disabled -* Updated translations - -= 4.0.2 (2014-04-01) = -* Fixed warning if an gzip handler is already active - -= 4.0.1 (2014-03-31) = -* Fixed bug with custom post types including a "-" -* Fixed some 404 Not Found Errors - -= 4.0 (2014-03-30) = -* No static files anymore, sitemap is created on the fly! -* Sitemap is split-up into sub-sitemaps by month, allowing up to 50.000 posts per month! [More information](http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/google-xml-sitemap-generator-new-sitemap-format/) -* Support for custom post types and custom taxonomis! -* 100% Multisite compatible, including by-blog and network activation. -* Reduced server resource usage due to less content per request. -* New API allows other plugins to add their own, separate sitemaps. -* Note: PHP 5.1 and WordPress 3.3 is required! The plugin will not work with lower versions! -* Note: This version will try to rename your old sitemap files to *-old.xml. If that doesn’t work, please delete them manually since no static files are needed anymore! - -= 3.4.1 (2014-04-10) = -* Compatibility with mysqli - -= Version 3.4 (2013-11-24) = -* Fixed deprecation warnings in PHP 5.4, thanks to Dion Hulse! - -= 3.3 (2013-09-28) = -* Fixed problem with file permission checking -* Filter out hashs (#) in URLs - -= 3.2.9 (2013-01-11) = -* Fixed security issue with change frequencies and filename of sitemap file. Exploit was only possible with admin account. - -= 3.2.8 (2012-08-08) = -* Fixed wrong custom taxonomy URLs, thanks to ramon fincken of the wordpress.org forum! -* Removed ASK ping since they shut down their service. -* Exclude post_format taxonomy from custom taxonomy list - -= 3.2.7 (2012-04-24) = -* Fixed custom post types, thanks to clearsite of the wordpress.org forum! -* Fixed broken admin layout on WP 3.4 - -= 3.2.6 (2011-09-19) = -* Removed YAHOO ping since YAHOO uses bing now -* Removed deprecated function call - -= 3.2.5 (2011-07-11) = -* Backported Bing ping success fix from beta -* Added friendly hint to try out the new beta - -= 3.2.4 (2010-05-29) = -* Added (GMT) to date column in sitemap xslt template to avoid confusion with different time zones -* Fixed wrong SQL statement for author pages, thanks to twoenoug -* Fixed several deprecated function calls -* Note: This release does not support the new multisite feature of WordPress yet and will not be active when multisite is enabled. - -= 3.2.3 (2010-04-02) = -* Fixed that all pages were missing in the sitemap if the “Uncategorized” category was excluded - -= 3.2.2 (2009-12-19) = -* Updated compatibility tag to WordPress 2.9 -* Fixed PHP4 problems - -= 3.2.1 (2009-12-16) = -* Notes and update messages at the top of the admin page could interfere with the manual build function -* Help links in the WP contextual help were not shown anymore since the last update -* IE 7 sometimes displayed a cached admin page -* Removed invalid link to config page from the plugin description (The link lead to a "Not enough permission error") -* Improved performance of getting the current plugin version by caching -* Updated Spanish language files - -= 3.2 (2009-11-23) = -* Added function to show the actual results of a ping instead of only linking to the url -* Added new hook (sm_rebuild) for third party plugins to start building the sitemap -* Fixed bug which showed the wrong URL for the latest Google ping result -* Added some missing documentation -* Removed hardcoded php name for sitemap file in admin urls -* Uses KSES for showing ping test results -* Ping test fixed for WP < 2.3 - -= 3.1.9 (2009-11-13) = -* Fixed MySQL Error if author pages were included - -= 3.1.8 (2009-11-07) = -* Improved custom taxonomy handling and fixed wrong last modification date -* Fixed fatal error in WordPress versions lower than 2.3 -* Fixed Update Notice for WordPress 2.8 and higher -* Added warning if blog privacy is activated -* Fixed priorities of additional pages were shown as 0 instead of 1 - -= 3.1.7 (2009-10-21) = -* Added support for custom taxonomies. Thanks to Lee! - -= 3.1.6 (2009-08-31) = -* Fixed PHP error “Only variables can be passed by reference” -* Fixed wrong URLS of multi-page posts (Thanks artstorm!) -* Updated many language files - -= 3.1.5 (2009-08-24) = -* Added option to completely disable the last modification time -* Fixed problem with HTTPS url for the XSL stylesheet if the sitemap was build via the admin panel -* Improved handling of homepage entry if a single page was set for it -* Fixed mktime warning which appeared sometimes -* Fixed bug which caused inf. reloads after rebuilding the sitemap via the admin panel -* Improved handling of missing sitemaps files if WP was moved to another location - -= 3.1.4 (2009-06-22) = -* Fixed bug which broke all pings in WP older than 2.7 -* Added more output in debug mode if pings fail -* Moved global post variable so other plugins can use it in get_permalink() -* Added small icon for ozh admin menu -* Added more help links in UI - -= 3.1.3 (2009-06-07) = -* Changed MSN Live Search to Bing -* Exclude categories also now exludes the category itself and not only the posts -* Pings now use the new WordPress HTTP API instead of Snoopy -* Fixed bug that in localized WP installations priorities could not be saved -* The sitemap cron job is now cleared after a manual rebuild or after changing the config -* Adjusted style of admin area for WP 2.8 and refreshed icons -* Disabled the “Exclude categories” feature for WP 2.5.1, since it doesn’t have the required functions yet - -= 3.1.2 (2008-12-26) = -* Changed the way the stylesheet is saved (default / custom stylesheet) -* Sitemap is now rebuild when a page is published -* Removed support for static robots.txt files, this is now handled via WordPress functions -* Added compat. exceptions for WP 2.0 and WP 2.1 - -= 3.1.1 (2008-12-21) = -* Fixed redirect issue if wp-admin is rewritten via mod_rewrite, thanks to macjoost -* Fixed wrong path to assets, thanks PozHonks -* Fixed wrong plugin URL if wp-content was renamed / redirected, thanks to wnorris -* Updated WP User Interface for 2.7 -* Various other small things - -= 3.1.0.1 (2008-05-27) = -* Extracted UI JS to external file -* Enabled the option to include following pages of multi-page posts -* Script tries to raise memory and time limit if active - -= 3.1 (2008-05-22) = -* Marked as stable - -= 3.1b3 (2008-05-19) = -* Cleaned up plugin directory and moved img files to subfolders -* Fixed background building bug in WP 2.1 -* Removed auto-update plugin link for WP < 2.5 - -= 3.1b2 (2008-05-18) = -* Fixed critical bug with the build in background option -* Added notification if a build is scheduled - -= 3.1b1 (2008-05-08) = -* Splitted plugin in loader, generator and user interface to save memory -* Generator and UI will only be loaded when needed -* Secured all admin actions with nonces -* Improved WP 2.5 handling -* New "Suggest a Feature" link - -= 3.0.3.3 (2008-04-29) = -* Fixed author pages -* Enhanced background building and increased delay to 15 seconds -* Enabled background building by default - -= 3.0.3.2 (2008-04-28) = -* Improved WP 2.5 handling (fixes blank screens and timeouts) - -= 3.0.3.1 (2008-03-30) = -* Added compatibility CSS for WP 2.5 - -= 3.0.3 (2007-12-30) = -* Added option to ping MSN Live Search -* Removed some WordPress hooks (the sitemap isn’t updates with every comment anymore) - -= 3.0.2.1 (2007-11-28) = -* Fixed wrong XML Schema Location (Thanks to Emanuele Tessore) -* Added Russian Language files by Sergey http://ryvkin.ru - -= 3.0.2 (2007-11-25) = -* Fixed bug which caused that some settings were not saved correctly -* Added option to exclude pages or post by ID -* Restored YAHOO ping service with API key since the other one is to unreliable - -= 3.0.1 (2007-11-03) = -* Changed HTTP client for ping requests to Snoopy -* Added "safemode" for SQL which doesn’t use unbuffered results -* Added option to run the building process in background using wp-cron -* Added links to test the ping if it failed - -= 3.0 final (2007-09-24) = -* Marked as stable -* Removed useless functions - -= 3.0b11 (2007-09-23) = -* Changed mysql queries to unbuffered queries -* Uses MUCH less memory -* Option to limit the number of posts - -= 3.0b10 (2007-09-04) = -* Added category support for WordPress 2.3 -* Fixed bug with empty URLs in sitemap -* Repaired GET building - -= 3.0b9 (2007-09-02) = -* Added tag support for WordPress 2.3 -* Fixed archive bug with static pages (Thanks to Peter Claus Lamprecht) -* Fixed some missing translation strings, thanks to Kirin Lin - -= 3.0b8 (2007-07-22) = -* Fixed bug with empty categories -* Fixed bug with translation plugins -* Added support for robots.txt -* Switched YAHOO ping API from YAHOO Web Services to the “normal” ping service -* Search engines will only be pinged if the sitemap file has changed - -= 3.0b7 (2007-05-17) = -* Added Ask.com notification -* Added option to include the author pages like /author/john -* Fixed WP 2.1 / Pre 2.1 post / pages database changes -* Added check to not build the sitemap if importing posts -* Fixed wrong XSLT location (Thanks froosh) -* Small enhancements and bug fixes - -= 3.0b6 (2007-01-23) = -* sitemap.xml.gz was not compressed -* YAHOO update-notification was PHP5 only (Thanks to Joseph Abboud!) -* More WP 2.1 optimizations -* Reduced memory usage with PHP5 - -= 3.0b5 (2007-01-19) = -* WordPress 2 Design -* YAHOO update notification -* New status report, removed ugly logfiles -* Added option to define a XSLT stylesheet and added a default one -* Fixed bug with sub-pages, thanks to [Mike](http://baptiste.us/), [Peter](http://fastagent.de/) and [Glenn](http://publicityship.com.au/) -* Improved file handling, thanks to [VJTD3](http://www.vjtd3.com/) -* WP 2.1 improvements - -= 3.0b4 (2006-11-16) = -* Fixed some smaller bugs -* Decreased memory usage which should solve timeout and memory problems -* Updated namespace to support YAHOO and MSN - -= 3.0b2 (2006-01-14) = -* Fixed several bugs reported by users - -= 3.0b (2005-11-25) = -* WordPress 2.0 (Beta, RC1) compatible -* Added different priority calculation modes and introduced an API to create custom ones (Some people didn’t like the way to calculate the post priority based on the count of user comments. This will give you the possibility to develop custom priority providers which fit your needs.) -* Added support to use the [Popularity Contest](http://www.alexking.org/blog/2005/07/27/popularity-contest-11/) plugin by [Alex King](http://www.alexking.org/) to calculate post priority (If you are already using the Popularity Contest plugin, this will be the best way to determine the priority of the posts. Uses to new priority API noted above.) -* Added option to exclude password protected posts (This was one of the most requested features.) -* Posts and pages marked for publish with a date in the future won’t be included -* Added function to start sitemap creation via GET and a secret key (If you are using external software which directly writes into the database without using the WordPress API, you can rebuild the sitemap with a simple HTTP Request. This can be made with a cron job for example.) -* Improved compatibility with other plugins (There should no longer be problems with other plugins now which checked for existence of a specified function to determine if you are in the control panel or not.) -* Recoded plugin architecture which is now fully OOP (The code is now cleaner and better to understand which makes it easier to modify. This should also avoid namespace problems.) -* Improved speed and optimized settings handling (Settings and pages are only loaded if the sitemap generation process starts and not every time a page loads. This saves one MySQL Query on every request.) -* Added Button to restore default configuration (Messed up the config? You’ll need just one click to restore all settings.) -* Added log file to check everything is running (In the new log window you can see when your sitemap was rebuilt or if there was any error.) -* Improved user-interface -* Added several links to homepage and support (This includes the Notify List about new releases and the WordPress support forum.) - -= 2.7 (2005-11-25) = -* Added Polish Translation by [kuba](http://kubazwolinski.com/) - -= 2.7 (2005-11-01) = -* Added French Translation by [Thierry Lanfranchi](http://www.chezthierry.info/) - -= 2.7 (2005-07-21) = -* Fixed bug with incorrect date in additional pages (wrong format) -* Added Swedish Translation by [Tobias Bergius](http://tobiasbergius.se/) - -= 2.6 (2005-07-16) = -* Included Chinese (Simplified) language files by [june6](http://www.june6.cn/) - -= 2.6 (2005-07-04) = -* Added support to store the files at a custom location -* Changed the home URL to have a slash at the end -* Fixed errors with wp-mail -* Added support for other plugins to add content to the sitemap - -= 2.5 (2005-06-15) = -* You can include now external pages which aren’t generated by WordPress or are not recognized by this plugin -* You can define a minimum post priority, which will overrride the calculated value if it’s too low -* The plugin will automatically ping Google whenever the sitemap gets regenerated -* Update 1: Included Spanish translations by [Cesar Gomez Martin](http://www.cesargomez.org/) -* Update 2: Included Italian translations by [Stefano Aglietti](http://wordpress-it.it/) -* Update 3: Included Traditional Chinese translations by [Kirin Lin](http://kirin-lin.idv.tw/) - -= 2.2 (2005-06-08) = -* Language file support: [Hiromasa](http://hiromasa.zone.ne.jp/) from [http://hiromasa.zone.ne.jp](http://hiromasa.zone.ne.jp/) sent me a japanese version of the user interface and modified the script to support it! Thanks for this! Check [the WordPress Codex](http://codex.wordpress.org/WordPress_Localization) how to set the language in WordPress. -* Added Japanese user interface by [Hiromasa](http://hiromasa.zone.ne.jp/) -* Added German user interface by me - -= 2.12 (2005-06-07) = -* Changed SQL Statement for categories that it also works on MySQL 3 - -= 2.11 (2005-06-07) = -* Fixed a hardcoded tablename which made a SQL error - -= 2.1 (2005-06-07) = -* Can also generate a gzipped version of the xml file (sitemap.xml.gz) -* Uses correct last modification dates for categories and archives. (Thanks to thx [Rodney Shupe](http://www.shupe.ca/) for the SQL) -* Supports now different WordPress / Blog directories -* Fixed bug which ignored different post/page priorities (Reported by [Brad](http://h3h.net/)) - -= 2.01 (2005-06-07) = -* Fixed compatibility for PHP installations which are not configured to use short open tags -* Changed Line 147 from _e($i); to _e(strval($i)); -* Thanks to [Christian Aust](http://publicvoidblog.de/) for reporting this! - -== Screenshots == - -1. Plugin options page -2. Sample XML sitemap (with a stylesheet for making it readable) -3. Sample XML sitemap (without stylesheet) - -== License == - -Good news, this plugin is free for everyone! Since it's released under the GPL, you can use it free of charge on your personal or commercial site. - -== Translations == - -The plugin comes with various translations, please refer to the [WordPress Codex](http://codex.wordpress.org/Installing_WordPress_in_Your_Language "Installing WordPress in Your Language") for more information about activating the translation. If you want to help to translate the plugin to your language, please have a look at the sitemap.pot file which contains all definitions and may be used with a [gettext](http://www.gnu.org/software/gettext/) editor like [Poedit](http://www.poedit.net/) (Windows). - -== Upgrade Notice == - -= 4.0.9 = -Thanks for using Google XML Sitemaps! This release includes an important security fix that has been reported. diff --git a/pole-sbv-content/plugins/google-sitemap-generator/screenshot-1.png b/pole-sbv-content/plugins/google-sitemap-generator/screenshot-1.png deleted file mode 100644 index a6317e31..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/screenshot-1.png and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/screenshot-2.png b/pole-sbv-content/plugins/google-sitemap-generator/screenshot-2.png deleted file mode 100644 index c877e030..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/screenshot-2.png and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/screenshot-3.png b/pole-sbv-content/plugins/google-sitemap-generator/screenshot-3.png deleted file mode 100644 index 0fef20a3..00000000 Binary files a/pole-sbv-content/plugins/google-sitemap-generator/screenshot-3.png and /dev/null differ diff --git a/pole-sbv-content/plugins/google-sitemap-generator/sitemap-builder.php b/pole-sbv-content/plugins/google-sitemap-generator/sitemap-builder.php deleted file mode 100644 index 377e3d17..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/sitemap-builder.php +++ /dev/null @@ -1,567 +0,0 @@ -BuildPosts($gsg, $params); - break; - case "archives": - $this->BuildArchives($gsg); - break; - case "authors": - $this->BuildAuthors($gsg); - break; - case "tax": - $this->BuildTaxonomies($gsg, $params); - break; - case "externals": - $this->BuildExternals($gsg); - break; - case "misc": - $this->BuildMisc($gsg); - break; - } - } - - /** - * Generates the content for the post sitemap - * - * @param $gsg GoogleSitemapGenerator - * @param $params string - */ - public function BuildPosts($gsg, $params) { - - if(!$pts = strrpos($params, "-")) return; - - $pts = strrpos($params, "-", $pts - strlen($params) - 1); - - $postType = substr($params, 0, $pts); - - if(!$postType || !in_array($postType, $gsg->GetActivePostTypes())) return; - - $params = substr($params, $pts + 1); - - /**@var $wpdb wpdb */ - global $wpdb; - - if(preg_match('/^([0-9]{4})\-([0-9]{2})$/', $params, $matches)) { - $year = $matches[1]; - $month = $matches[2]; - - //Excluded posts by ID - $excludedPostIDs = $gsg->GetExcludedPostIDs($gsg); - $exPostSQL = ""; - if(count($excludedPostIDs) > 0) { - $exPostSQL = "AND p.ID NOT IN (" . implode(",", $excludedPostIDs) . ")"; - } - - //Excluded categories by taxonomy ID - $excludedCategoryIDs = $gsg->GetExcludedCategoryIDs($gsg); - $exCatSQL = ""; - if(count($excludedCategoryIDs) > 0) { - $exCatSQL = "AND ( p.ID NOT IN ( SELECT object_id FROM {$wpdb->term_relationships} WHERE term_taxonomy_id IN ( SELECT term_taxonomy_id FROM {$wpdb->term_taxonomy} WHERE term_id IN ( " . implode(",", $excludedCategoryIDs) . "))))"; - } - - //Statement to query the actual posts for this post type - $qs = " - SELECT - p.ID, - p.post_author, - p.post_status, - p.post_name, - p.post_parent, - p.post_type, - p.post_date, - p.post_date_gmt, - p.post_modified, - p.post_modified_gmt, - p.comment_count - FROM - {$wpdb->posts} p - WHERE - p.post_password = '' - AND p.post_type = '%s' - AND p.post_status = 'publish' - AND YEAR(p.post_date_gmt) = %d - AND MONTH(p.post_date_gmt) = %d - {$exPostSQL} - {$exCatSQL} - ORDER BY - p.post_date_gmt DESC - "; - - //Query for counting all relevant posts for this post type - $qsc = " - SELECT - COUNT(*) - FROM - {$wpdb->posts} p - WHERE - p.post_password = '' - AND p.post_type = '%s' - AND p.post_status = 'publish' - {$exPostSQL} - {$exCatSQL} - "; - - $q = $wpdb->prepare($qs, $postType, $year, $month); - - $posts = $wpdb->get_results($q); - - if(($postCount = count($posts)) > 0) { - /** @var $priorityProvider GoogleSitemapGeneratorPrioProviderBase */ - $priorityProvider = NULL; - - if($gsg->GetOption("b_prio_provider") != '') { - - //Number of comments for all posts - $cacheKey = __CLASS__ . "::commentCount"; - $commentCount = wp_cache_get($cacheKey,'sitemap'); - if ($commentCount == false) { - $commentCount = $wpdb->get_var("SELECT COUNT(*) as `comment_count` FROM {$wpdb->comments} WHERE `comment_approved`='1'"); - wp_cache_set($cacheKey, $commentCount, 'sitemap', 20); - } - - //Number of all posts matching our criteria - $cacheKey = __CLASS__ . "::totalPostCount::$postType"; - $totalPostCount = wp_cache_get($cacheKey,'sitemap'); - if($totalPostCount === false) { - $totalPostCount = $wpdb->get_var($wpdb->prepare($qsc,$postType)); - wp_cache_add($cacheKey,$totalPostCount, 'sitemap', 20); - } - - //Initialize a new priority provider - $providerClass = $gsg->GetOption('b_prio_provider'); - $priorityProvider = new $providerClass($commentCount, $totalPostCount); - } - - //Default priorities - $defaultPriorityForPosts = $gsg->GetOption('pr_posts'); - $defaultPriorityForPages = $gsg->GetOption('pr_pages'); - - //Minimum priority - $minimumPriority = $gsg->GetOption('pr_posts_min'); - - //Change frequencies - $changeFrequencyForPosts = $gsg->GetOption('cf_posts'); - $changeFrequencyForPages = $gsg->GetOption('cf_pages'); - - //Page as home handling - $homePid = 0; - $home = get_home_url(); - if('page' == get_option('show_on_front') && get_option('page_on_front')) { - $pageOnFront = get_option('page_on_front'); - $p = get_post($pageOnFront); - if($p) $homePid = $p->ID; - } - - foreach($posts AS $post) { - - //Fill the cache with our DB result. Since it's incomplete (no text-content for example), we will clean it later. - //This is required since the permalink function will do a query for every post otherwise. - //wp_cache_add($post->ID, $post, 'posts'); - - //Full URL to the post - $permalink = get_permalink($post); - - //Exclude the home page and placeholder items by some plugins. Also include only internal links. - if( - !empty($permalink) - && $permalink != $home - && $post->ID != $homePid - && strpos( $permalink, $home) !== false - ) { - - //Default Priority if auto calc is disabled - $priority = ($postType == 'page' ? $defaultPriorityForPages : $defaultPriorityForPosts); - - //If priority calc. is enabled, calculate (but only for posts, not pages)! - if($priorityProvider !== null && $postType == 'post') { - $priority = $priorityProvider->GetPostPriority($post->ID, $post->comment_count, $post); - } - - //Ensure the minimum priority - if($postType == 'post' && $minimumPriority > 0 && $priority < $minimumPriority) $priority = $minimumPriority; - - //ADdd the URL to the sitemap - $gsg->AddUrl( - $permalink, - $gsg->GetTimestampFromMySql($post->post_modified_gmt && $post->post_modified_gmt != '0000-00-00 00:00:00'? $post->post_modified_gmt : $post->post_date_gmt), - ($postType == 'page' ? $changeFrequencyForPages : $changeFrequencyForPosts), - $priority, $post->ID); - } - - //Why not use clean_post_cache? Because some plugin will go crazy then (lots of database queries) - //The post cache was not populated in a clean way, so we also won't delete it using the API. - //wp_cache_delete( $post->ID, 'posts' ); - unset($post); - } - } - - unset($posts); - } - } - - /** - * Generates the content for the archives sitemap - * - * @param $gsg GoogleSitemapGenerator - */ - public function BuildArchives($gsg) { - /** @var $wpdb wpdb */ - global $wpdb; - $now = current_time('mysql', true); - - $archives = $wpdb->get_results(" - SELECT DISTINCT - YEAR(post_date_gmt) AS `year`, - MONTH(post_date_gmt) AS `month`, - MAX(post_date_gmt) AS last_mod, - count(ID) AS posts - FROM - $wpdb->posts - WHERE - post_date_gmt < '$now' - AND post_status = 'publish' - AND post_type = 'post' - GROUP BY - YEAR(post_date_gmt), - MONTH(post_date_gmt) - ORDER BY - post_date_gmt DESC - "); - - if($archives) { - foreach($archives as $archive) { - - $url = get_month_link($archive->year, $archive->month); - - //Archive is the current one - if($archive->month == date("n") && $archive->year == date("Y")) { - $changeFreq = $gsg->GetOption("cf_arch_curr"); - } else { // Archive is older - $changeFreq = $gsg->GetOption("cf_arch_old"); - } - - $gsg->AddUrl($url, $gsg->GetTimestampFromMySql($archive->last_mod), $changeFreq, $gsg->GetOption("pr_arch")); - } - } - } - - /** - * Generates the misc sitemap - * - * @param $gsg GoogleSitemapGenerator - */ - public function BuildMisc($gsg) { - - $lm = get_lastpostmodified('gmt'); - - if($gsg->GetOption("in_home")) { - $home = get_bloginfo('url'); - - //Add the home page (WITH a slash!) - if($gsg->GetOption("in_home")) { - if('page' == get_option('show_on_front') && get_option('page_on_front')) { - $pageOnFront = get_option('page_on_front'); - $p = get_post($pageOnFront); - if($p) { - $gsg->AddUrl(trailingslashit($home), $gsg->GetTimestampFromMySql(($p->post_modified_gmt && $p->post_modified_gmt != '0000-00-00 00:00:00' - ? $p->post_modified_gmt - : $p->post_date_gmt)), $gsg->GetOption("cf_home"), $gsg->GetOption("pr_home")); - } - } else { - $gsg->AddUrl(trailingslashit($home), ($lm ? $gsg->GetTimestampFromMySql($lm) - : time()), $gsg->GetOption("cf_home"), $gsg->GetOption("pr_home")); - } - } - } - - if($gsg->IsXslEnabled() && $gsg->GetOption("b_html") === true) { - $gsg->AddUrl($gsg->GetXmlUrl("", "", array("html" => true)), ($lm ? $gsg->GetTimestampFromMySql($lm) - : time())); - } - - do_action('sm_buildmap'); - } - - /** - * Generates the author sitemap - * - * @param $gsg GoogleSitemapGenerator - */ - public function BuildAuthors($gsg) { - /** @var $wpdb wpdb */ - global $wpdb; - - //Unfortunately there is no API function to get all authors, so we have to do it the dirty way... - //We retrieve only users with published and not password protected enabled post types - - $enabledPostTypes = $gsg->GetActivePostTypes(); - - //Ensure we count at least the posts... - if(count($enabledPostTypes) == 0) $enabledPostTypes[] = "post"; - - $sql = "SELECT DISTINCT - u.ID, - u.user_nicename, - MAX(p.post_modified_gmt) AS last_post - FROM - {$wpdb->users} u, - {$wpdb->posts} p - WHERE - p.post_author = u.ID - AND p.post_status = 'publish' - AND p.post_type IN('" . implode("','", array_map('esc_sql', $enabledPostTypes)) . "') - AND p.post_password = '' - GROUP BY - u.ID, - u.user_nicename"; - - $authors = $wpdb->get_results($sql); - - if($authors && is_array($authors)) { - foreach($authors as $author) { - $url = get_author_posts_url($author->ID, $author->user_nicename); - $gsg->AddUrl($url, $gsg->GetTimestampFromMySql($author->last_post), $gsg->GetOption("cf_auth"), $gsg->GetOption("pr_auth")); - } - } - } - - /** - * Filters the terms query to only include published posts - * - * @param $selects string[] - * @return string[] - */ - public function FilterTermsQuery($selects) { - /** @var $wpdb wpdb */ - global $wpdb; - $selects[] = " - ( /* ADDED BY XML SITEMAPS */ - SELECT - UNIX_TIMESTAMP(MAX(p.post_date_gmt)) as _mod_date - FROM - {$wpdb->posts} p, - {$wpdb->term_relationships} r - WHERE - p.ID = r.object_id - AND p.post_status = 'publish' - AND p.post_password = '' - AND r.term_taxonomy_id = tt.term_taxonomy_id - ) as _mod_date - /* END ADDED BY XML SITEMAPS */ - "; - - return $selects; - } - - /** - * Generates the taxonomies sitemap - * - * @param $gsg GoogleSitemapGenerator - * @param $taxonomy string The Taxonomy - */ - public function BuildTaxonomies($gsg, $taxonomy) { - - $enabledTaxonomies = $this->GetEnabledTaxonomies($gsg); - if(in_array($taxonomy, $enabledTaxonomies)) { - - $excludes = array(); - - if($taxonomy == "category") { - $exclCats = $gsg->GetOption("b_exclude_cats"); // Excluded cats - if($exclCats) $excludes = $exclCats; - } - - add_filter("get_terms_fields", array($this, "FilterTermsQuery"), 20, 2); - $terms = get_terms($taxonomy, array("hide_empty" => true, "hierarchical" => false, "exclude" => $excludes)); - remove_filter("get_terms_fields", array($this, "FilterTermsQuery"), 20, 2); - - foreach($terms AS $term) { - $gsg->AddUrl(get_term_link($term, $term->taxonomy), $term->_mod_date, $gsg->GetOption("cf_tags"), $gsg->GetOption("pr_tags")); - } - } - } - - /** - * Returns the enabled taxonomies. Only taxonomies with posts are returned. - * - * @param GoogleSitemapGenerator $gsg - * @return array - */ - public function GetEnabledTaxonomies(GoogleSitemapGenerator $gsg) { - - $enabledTaxonomies = $gsg->GetOption("in_tax"); - if($gsg->GetOption("in_tags")) $enabledTaxonomies[] = "post_tag"; - if($gsg->GetOption("in_cats")) $enabledTaxonomies[] = "category"; - - $taxList = array(); - foreach($enabledTaxonomies as $taxName) { - $taxonomy = get_taxonomy($taxName); - if($taxonomy && wp_count_terms($taxonomy->name, array('hide_empty' => true)) > 0) $taxList[] = $taxonomy->name; - } - return $taxList; - } - - /** - * Generates the external sitemap - * - * @param $gsg GoogleSitemapGenerator - */ - public function BuildExternals($gsg) { - $pages = $gsg->GetPages(); - if($pages && is_array($pages) && count($pages) > 0) { - foreach($pages AS $page) { - /** @var $page GoogleSitemapGeneratorPage */ - $gsg->AddUrl($page->GetUrl(), $page->getLastMod(), $page->getChangeFreq(), $page->getPriority()); - } - } - } - - /** - * Generates the sitemap index - * - * @param $gsg GoogleSitemapGenerator - */ - public function Index($gsg) { - /** - * @var $wpdb wpdb - */ - global $wpdb; - - $blogUpdate = strtotime(get_lastpostmodified('gmt')); - - $gsg->AddSitemap("misc", null, $blogUpdate); - - - $taxonomies = $this->GetEnabledTaxonomies($gsg); - foreach($taxonomies AS $tax) { - $gsg->AddSitemap("tax", $tax, $blogUpdate); - } - - $pages = $gsg->GetPages(); - if(count($pages) > 0) { - foreach($pages AS $page) { - if($page instanceof GoogleSitemapGeneratorPage && $page->GetUrl()) { - $gsg->AddSitemap("externals", null, $blogUpdate); - break; - } - } - } - - $enabledPostTypes = $gsg->GetActivePostTypes(); - - $hasEnabledPostTypesPosts = false; - $hasPosts = false; - - if(count($enabledPostTypes) > 0) { - - $excludedPostIDs = $gsg->GetExcludedPostIDs($gsg); - $exPostSQL = ""; - if(count($excludedPostIDs) > 0) { - $exPostSQL = "AND p.ID NOT IN (" . implode(",", $excludedPostIDs) . ")"; - } - - $excludedCategoryIDs = $gsg->GetExcludedCategoryIDs($gsg); - $exCatSQL = ""; - if(count($excludedCategoryIDs) > 0) { - $exCatSQL = "AND ( p.ID NOT IN ( SELECT object_id FROM {$wpdb->term_relationships} WHERE term_taxonomy_id IN (" . implode(",", $excludedCategoryIDs) . ")))"; - } - - foreach($enabledPostTypes AS $postType) { - $q = " - SELECT - YEAR(p.post_date_gmt) AS `year`, - MONTH(p.post_date_gmt) AS `month`, - COUNT(p.ID) AS `numposts`, - MAX(p.post_modified_gmt) as `last_mod` - FROM - {$wpdb->posts} p - WHERE - p.post_password = '' - AND p.post_type = '" . esc_sql($postType) . "' - AND p.post_status = 'publish' - $exPostSQL - $exCatSQL - GROUP BY - YEAR(p.post_date_gmt), - MONTH(p.post_date_gmt) - ORDER BY - p.post_date_gmt DESC"; - - $posts = $wpdb->get_results($q); - - if($posts) { - if($postType=="post") $hasPosts = true; - - $hasEnabledPostTypesPosts = true; - - foreach($posts as $post) { - $gsg->AddSitemap("pt", $postType . "-" . sprintf("%04d-%02d", $post->year, $post->month), $gsg->GetTimestampFromMySql($post->last_mod)); - } - } - } - } - - //Only include authors if there is a public post with a enabled post type - if($gsg->GetOption("in_auth") && $hasEnabledPostTypesPosts) $gsg->AddSitemap("authors", null, $blogUpdate); - - //Only include archived if there are posts with postType post - if($gsg->GetOption("in_arch") && $hasPosts) $gsg->AddSitemap("archives", null, $blogUpdate); - } - - /** - * Return the URL to the sitemap related to a specific post - * - * @param array $urls - * @param $gsg GoogleSitemapGenerator - * @param $postID int The post ID - * - * @return string[] - */ - public function GetSitemapUrlForPost(array $urls, $gsg, $postID) { - $post = get_post($postID); - if($post) { - $lastModified = $gsg->GetTimestampFromMySql($post->post_modified_gmt); - - $url = $gsg->GetXmlUrl("pt", $post->post_type . "-" . date("Y-m", $lastModified)); - $urls[] = $url; - } - - return $urls; - } -} - -if(defined("WPINC")) new GoogleSitemapGeneratorStandardBuilder(); \ No newline at end of file diff --git a/pole-sbv-content/plugins/google-sitemap-generator/sitemap-core.php b/pole-sbv-content/plugins/google-sitemap-generator/sitemap-core.php deleted file mode 100644 index fcd2edde..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/sitemap-core.php +++ /dev/null @@ -1,2272 +0,0 @@ -startTime = microtime(true); - - $this->autoSave = $autoSave; - - if($autoSave) { - - $exists = get_option("sm_status"); - - if ($exists === false) - add_option("sm_status", "", null, "no"); - - $this->Save(); - } - } - - /** - * Saves the status back to the database - */ - public function Save() { - update_option("sm_status", $this); - } - - /** - * Returns the last saved status object or null - * - * @return GoogleSitemapGeneratorStatus - */ - public static function Load() { - $status = @get_option("sm_status"); - if(is_a($status, "GoogleSitemapGeneratorStatus")) { - return $status; - } - else return null; - } - - /** - * Ends the ping process - */ - public function End() { - $this->endTime = microtime(true); - if($this->autoSave) $this->Save(); - } - - /** - * Returns the duration of the ping process - * @return int - */ - public function GetDuration() { - return round($this->endTime - $this->startTime, 2); - } - - /** - * Returns the time when the pings were started - * @return int - */ - public function GetStartTime() { - return round($this->startTime, 2); - } - - /** - * @param $service string The internal name of the ping service - * @param $url string The URL to ping - * @param $name string The display name of the service - * @return void - */ - public function StartPing($service, $url, $name = null) { - $this->pingResults[$service] = array( - 'startTime' => microtime(true), - 'endTime' => 0, - 'success' => false, - 'url' => $url, - 'name' => $name ? $name : $service - ); - - if($this->autoSave) $this->Save(); - } - - /** - * @param $service string The internal name of the ping service - * @param $success boolean If the ping was successful - * @return void - */ - public function EndPing($service, $success) { - $this->pingResults[$service]['endTime'] = microtime(true); - $this->pingResults[$service]['success'] = $success; - - if($this->autoSave) $this->Save(); - } - - /** - * Returns the duration of the last ping of a specific ping service - * - * @param $service string The internal name of the ping service - * @return float - */ - public function GetPingDuration($service) { - $res = $this->pingResults[$service]; - return round($res['endTime'] - $res['startTime'], 2); - } - - /** - * Returns the last result for a specific ping service - * - * @param $service string The internal name of the ping service - * @return array - */ - public function GetPingResult($service) { - return $this->pingResults[$service]['success']; - } - - /** - * Returns the URL for a specific ping service - * - * @param $service string The internal name of the ping service - * @return array - */ - public function GetPingUrl($service) { - return $this->pingResults[$service]['url']; - } - - /** - * Returns the name for a specific ping service - * - * @param $service string The internal name of the ping service - * @return array - */ - public function GetServiceName($service) { - return $this->pingResults[$service]['name']; - } - - /** - * Returns if a service was used in the last ping - * - * @param $service string The internal name of the ping service - * @return bool - */ - public function UsedPingService($service) { - return array_key_exists($service, $this->pingResults); - } - - /** - * Returns the services which were used in the last ping - * - * @return array - */ - public function GetUsedPingServices() { - return array_keys($this->pingResults); - } -} - -/** - * Represents an item in the page list - * @author Arne Brachhold - * @package sitemap - * @since 3.0 - */ -class GoogleSitemapGeneratorPage { - - /** - * @var string $_url Sets the URL or the relative path to the site dir of the page - */ - public $_url; - - /** - * @var float $_priority Sets the priority of this page - */ - public $_priority; - - /** - * @var string $_changeFreq Sets the chanfe frequency of the page. I want Enums! - */ - public $_changeFreq; - - /** - * @var int $_lastMod Sets the lastMod date as a UNIX timestamp. - */ - public $_lastMod; - - /** - * @var int $_postID Sets the post ID in case this item is a WordPress post or page - */ - public $_postID; - - /** - * Initialize a new page object - * - * @since 3.0 - * @param string $url The URL or path of the file - * @param float $priority The Priority of the page 0.0 to 1.0 - * @param string $changeFreq The change frequency like daily, hourly, weekly - * @param int $lastMod The last mod date as a unix timestamp - * @param int $postID The post ID of this page - * @return GoogleSitemapGeneratorPage - * - */ - public function __construct($url = "", $priority = 0.0, $changeFreq = "never", $lastMod = 0, $postID = 0) { - $this->SetUrl($url); - $this->SetProprity($priority); - $this->SetChangeFreq($changeFreq); - $this->SetLastMod($lastMod); - $this->SetPostID($postID); - } - - /** - * Returns the URL of the page - * - * @return string The URL - */ - public function GetUrl() { - return $this->_url; - } - - /** - * Sets the URL of the page - * - * @param string $url The new URL - */ - public function SetUrl($url) { - $this->_url = (string) $url; - } - - /** - * Returns the priority of this page - * - * @return float the priority, from 0.0 to 1.0 - */ - public function GetPriority() { - return $this->_priority; - } - - /** - * Sets the priority of the page - * - * @param float $priority The new priority from 0.1 to 1.0 - */ - public function SetProprity($priority) { - $this->_priority = floatval($priority); - } - - /** - * Returns the change frequency of the page - * - * @return string The change frequncy like hourly, weekly, monthly etc. - */ - public function GetChangeFreq() { - return $this->_changeFreq; - } - - /** - * Sets the change frequency of the page - * - * @param string $changeFreq The new change frequency - */ - public function SetChangeFreq($changeFreq) { - $this->_changeFreq = (string) $changeFreq; - } - - /** - * Returns the last mod of the page - * - * @return int The lastmod value in seconds - */ - public function GetLastMod() { - return $this->_lastMod; - } - - /** - * Sets the last mod of the page - * - * @param int $lastMod The lastmod of the page - */ - public function SetLastMod($lastMod) { - $this->_lastMod = intval($lastMod); - } - - /** - * Returns the ID of the post - * - * @return int The post ID - */ - public function GetPostID() { - return $this->_postID; - } - - /** - * Sets the ID of the post - * - * @param int $postID The new ID - */ - public function SetPostID($postID) { - $this->_postID = intval($postID); - } - - public function Render() { - - if($this->_url == "/" || empty($this->_url)) return ''; - - $r = ""; - $r .= "\t\n"; - $r .= "\t\t" . $this->EscapeXML($this->_url) . "\n"; - if($this->_lastMod > 0) $r .= "\t\t" . date('Y-m-d\TH:i:s+00:00', $this->_lastMod) . "\n"; - if(!empty($this->_changeFreq)) $r .= "\t\t" . $this->_changeFreq . "\n"; - if($this->_priority !== false && $this->_priority !== "") $r .= "\t\t" . number_format($this->_priority, 1) . "\n"; - $r .= "\t\n"; - return $r; - } - - protected function EscapeXML($string) { - return str_replace(array('&', '"', "'", '<', '>'), array('&', '"', ''', '<', '>'), $string); - } -} - -/** - * Represents an XML entry, like definitions - * @author Arne Brachhold - * @package sitemap - * @since 3.0 - */ -class GoogleSitemapGeneratorXmlEntry { - - protected $_xml; - - public function __construct($xml) { - $this->_xml = $xml; - } - - public function Render() { - return $this->_xml; - } -} - -/** - * Represents an comment - * @author Arne Brachhold - * @package sitemap - * @since 3.0 - * @uses GoogleSitemapGeneratorXmlEntry - */ -class GoogleSitemapGeneratorDebugEntry extends GoogleSitemapGeneratorXmlEntry { - - public function Render() { - return "\n"; - } -} - -/** - * Represents an item in the sitemap - * @author Arne Brachhold - * @package sitemap - * @since 3.0 - */ -class GoogleSitemapGeneratorSitemapEntry { - - /** - * @var string $_url Sets the URL or the relative path to the site dir of the page - */ - protected $_url; - - /** - * @var int $_lastMod Sets the lastMod date as a UNIX timestamp. - */ - protected $_lastMod; - - /** - * Returns the URL of the page - * - * @return string The URL - */ - public function GetUrl() { - return $this->_url; - } - - /** - * Sets the URL of the page - * - * @param string $url The new URL - */ - public function SetUrl($url) { - $this->_url = (string) $url; - } - - /** - * Returns the last mod of the page - * - * @return int The lastmod value in seconds - */ - public function GetLastMod() { - return $this->_lastMod; - } - - /** - * Sets the last mod of the page - * - * @param int $lastMod The lastmod of the page - */ - public function SetLastMod($lastMod) { - $this->_lastMod = intval($lastMod); - } - - public function __construct($url = "", $lastMod = 0) { - $this->SetUrl($url); - $this->SetLastMod($lastMod); - } - - public function Render() { - - if($this->_url == "/" || empty($this->_url)) return ''; - - $r = ""; - $r .= "\t\n"; - $r .= "\t\t" . $this->EscapeXML($this->_url) . "\n"; - if($this->_lastMod > 0) $r .= "\t\t" . date('Y-m-d\TH:i:s+00:00', $this->_lastMod) . "\n"; - $r .= "\t\n"; - return $r; - } - - protected function EscapeXML($string) { - return str_replace(array('&', '"', "'", '<', '>'), array('&', '"', ''', '<', '>'), $string); - } -} - -/** - * Interface for all priority providers - * @author Arne Brachhold - * @package sitemap - * @since 3.0 - */ -interface GoogleSitemapGeneratorPrioProviderBase { - - /** - * Initializes a new priority provider - * - * @param $totalComments int The total number of comments of all posts - * @param $totalPosts int The total number of posts - * @since 3.0 - */ - function __construct($totalComments, $totalPosts); - - /** - * Returns the (translated) name of this priority provider - * - * @since 3.0 - * @return string The translated name - */ - static function GetName(); - - /** - * Returns the (translated) description of this priority provider - * - * @since 3.0 - * @return string The translated description - */ - static function GetDescription(); - - /** - * Returns the priority for a specified post - * - * @param $postID int The ID of the post - * @param $commentCount int The number of comments for this post - * @since 3.0 - * @return int The calculated priority - */ - function GetPostPriority($postID, $commentCount); -} - -/** - * Priority Provider which calculates the priority based on the number of comments - * @author Arne Brachhold - * @package sitemap - * @since 3.0 - */ -class GoogleSitemapGeneratorPrioByCountProvider implements GoogleSitemapGeneratorPrioProviderBase { - - /** - * @var int $_totalComments The total number of comments of all posts - */ - protected $_totalComments = 0; - - /** - * @var int $_totalComments The total number of posts - */ - protected $_totalPosts = 0; - - /** - * Initializes a new priority provider - * - * @param $totalComments int The total number of comments of all posts - * @param $totalPosts int The total number of posts - * @since 3.0 - */ - public function __construct($totalComments, $totalPosts) { - $this->_totalComments = $totalComments; - $this->_totalPosts = $totalPosts; - - } - - /** - * Returns the (translated) name of this priority provider - * - * @since 3.0 - * @return string The translated name - */ - public static function GetName() { - return __("Comment Count", 'sitemap'); - } - - /** - * Returns the (translated) description of this priority provider - * - * @since 3.0 - * @return string The translated description - */ - public static function GetDescription() { - return __("Uses the number of comments of the post to calculate the priority", 'sitemap'); - } - - /** - * Returns the priority for a specified post - * - * @param $postID int The ID of the post - * @param $commentCount int The number of comments for this post - * @since 3.0 - * @return int The calculated priority - */ - public function GetPostPriority($postID, $commentCount) { - if($this->_totalComments > 0 && $commentCount > 0) { - return round(($commentCount * 100 / $this->_totalComments) / 100, 1); - } else { - return 0; - } - } -} - -/** - * Priority Provider which calculates the priority based on the average number of comments - * @author Arne Brachhold - * @package sitemap - * @since 3.0 - */ -class GoogleSitemapGeneratorPrioByAverageProvider implements GoogleSitemapGeneratorPrioProviderBase { - - - /** - * @var int $_totalComments The total number of comments of all posts - */ - protected $_totalComments = 0; - - /** - * @var int $_totalComments The total number of posts - */ - protected $_totalPosts = 0; - - /** - * @var int $_average The average number of comments per post - */ - protected $_average = 0.0; - - /** - * Returns the (translated) name of this priority provider - * - * @since 3.0 - * @return string The translated name - */ - public static function GetName() { - return __("Comment Average", 'sitemap'); - } - - /** - * Returns the (translated) description of this priority provider - * - * @since 3.0 - * @return string The translated description - */ - public static function GetDescription() { - return __("Uses the average comment count to calculate the priority", 'sitemap'); - } - - /** - * Initializes a new priority provider which calculates the post priority based on the average number of comments - * - * @param $totalComments int The total number of comments of all posts - * @param $totalPosts int The total number of posts - * @since 3.0 - */ - public function __construct($totalComments, $totalPosts) { - - $this->_totalComments = $totalComments; - $this->_totalPosts = $totalPosts; - - if($this->_totalComments > 0 && $this->_totalPosts > 0) { - $this->_average = (double) $this->_totalComments / $this->_totalPosts; - } - } - - /** - * Returns the priority for a specified post - * - * @param $postID int The ID of the post - * @param $commentCount int The number of comments for this post - * @since 3.0 - * @return int The calculated priority - */ - public function GetPostPriority($postID, $commentCount) { - - //Do not divide by zero! - if($this->_average == 0) { - if($commentCount > 0) $priority = 1; - else $priority = 0; - } else { - $priority = $commentCount / $this->_average; - if($priority > 1) $priority = 1; - else if($priority < 0) $priority = 0; - } - - return round($priority, 1); - } -} - -/** - * Class to generate a sitemaps.org Sitemaps compliant sitemap of a WordPress site. - * - * @package sitemap - * @author Arne Brachhold - * @since 3.0 - */ -final class GoogleSitemapGenerator { - /** - * @var array The unserialized array with the stored options - */ - private $options = array(); - - /** - * @var array The saved additional pages - */ - private $pages = array(); - - /** - * @var array The values and names of the change frequencies - */ - private $freqNames = array(); - - /** - * @var array A list of class names which my be called for priority calculation - */ - private $prioProviders = array(); - - /** - * @var bool True if init complete (options loaded etc) - */ - private $isInitiated = false; - - /** - * @var bool Defines if the sitemap building process is active at the moment - */ - private $isActive = false; - - /** - * @var array Holds options like output format and compression for the current request - */ - private $buildOptions = array(); - - /** - * Holds the user interface object - * - * @since 3.1.1 - * @var GoogleSitemapGeneratorUI - */ - private $ui = null; - - /** - * Defines if the simulation mode is on. In this case, data is not echoed but saved instead. - * @var boolean - */ - private $simMode = false; - - /** - * Holds the data if simulation mode is on - * @var array - */ - private $simData = array("sitemaps" => array(), "content" => array()); - - /** - * @var bool Defines if the options have been loaded - */ - private $optionsLoaded = false; - - - /*************************************** CONSTRUCTION AND INITIALIZING ***************************************/ - - /** - * Initializes a new Google Sitemap Generator - * - * @since 4.0 - */ - private function __construct() { - - } - - /** - * Returns the instance of the Sitemap Generator - * - * @since 3.0 - * @return GoogleSitemapGenerator The instance or null if not available. - */ - public static function GetInstance() { - if(isset($GLOBALS["sm_instance"])) { - return $GLOBALS["sm_instance"]; - } else return null; - } - - /** - * Enables the Google Sitemap Generator and registers the WordPress hooks - * - * @since 3.0 - */ - public static function Enable() { - if(!isset($GLOBALS["sm_instance"])) { - $GLOBALS["sm_instance"] = new GoogleSitemapGenerator(); - } - } - - /** - * Loads up the configuration and validates the prioity providers - * - * This method is only called if the sitemaps needs to be build or the admin page is displayed. - * - * @since 3.0 - */ - public function Initate() { - if(!$this->isInitiated) { - - load_plugin_textdomain('sitemap',false,dirname( plugin_basename( __FILE__ ) ) . '/lang'); - - $this->freqNames = array( - "always" => __("Always", "sitemap"), - "hourly" => __("Hourly", "sitemap"), - "daily" => __("Daily", "sitemap"), - "weekly" => __("Weekly", "sitemap"), - "monthly" => __("Monthly", "sitemap"), - "yearly" => __("Yearly", "sitemap"), - "never" => __("Never", "sitemap") - ); - - - $this->LoadOptions(); - $this->LoadPages(); - - //Register our own priority providers - add_filter("sm_add_prio_provider", array($this, 'AddDefaultPrioProviders')); - - //Let other plugins register their providers - $r = apply_filters("sm_add_prio_provider", $this->prioProviders); - - //Check if no plugin return null - if($r != null) $this->prioProviders = $r; - - $this->ValidatePrioProviders(); - - $this->isInitiated = true; - } - } - - - /*************************************** VERSION AND LINK HELPERS ***************************************/ - - /** - * Returns the version of the generator - * - * @since 3.0 - * @return int The version - */ - public static function GetVersion() { - return GoogleSitemapGeneratorLoader::GetVersion(); - } - - /** - * Returns the SVN version of the generator - * - * @since 4.0 - * @return string The SVN version string - */ - public static function GetSvnVersion() { - return GoogleSitemapGeneratorLoader::GetSvnVersion(); - } - - /** - * Returns a link pointing to a specific page of the authors website - * - * @since 3.0 - * @param $redir string The to link to - * @return string The full url - */ - public static function GetRedirectLink($redir) { - return trailingslashit("http://www.arnebrachhold.de/redir/" . $redir); - } - - /** - * Returns a link pointing back to the plugin page in WordPress - * - * @since 3.0 - * @return string The full url - */ - public static function GetBackLink($extra = '') { - global $wp_version; - $url = admin_url("options-general.php?page=" . - GoogleSitemapGeneratorLoader::GetBaseName() . $extra); - return $url; - } - - /** - * Converts a mysql datetime value into a unix timestamp - * @param $mysqlDateTime string The timestamp in the mysql datetime format - * @return int The time in seconds - */ - public static function GetTimestampFromMySql($mysqlDateTime) { - list($date, $hours) = explode(' ', $mysqlDateTime); - list($year, $month, $day) = explode('-', $date); - list($hour, $min, $sec) = explode(':', $hours); - return mktime(intval($hour), intval($min), intval($sec), intval($month), intval($day), intval($year)); - } - - - /*************************************** SIMPLE GETTERS ***************************************/ - - /** - * Returns the names for the frequency values - * @return array - */ - public function GetFreqNames() { - return $this->freqNames; - } - - /** - * Returns if the site is running in multi site mode - * @since 4.0 - * @return bool - */ - public function IsMultiSite() { - return (function_exists("is_multisite") && is_multisite()); - } - - /** - * Returns if the sitemap building process is currently active - * - * @since 3.0 - * @return bool true if active - */ - public function IsActive() { - $inst = GoogleSitemapGenerator::GetInstance(); - return ($inst != null && $inst->isActive); - } - - /** - * Returns if the compressed sitemap was activated - * - * @since 3.0b8 - * @return true if compressed - */ - public function IsGzipEnabled() { - return (function_exists("gzwrite") && $this->GetOption('b_autozip')); - } - - /** - * Returns if the XML Dom and XSLT functions are enabled - * - * @since 4.0b1 - * @return true if compressed - */ - public function IsXslEnabled() { - return (class_exists("DomDocument") && class_exists("XSLTProcessor")); - } - - /** - * Returns if Nginx is used as the server software - * @since 4.0.3 - * - * @return bool - */ - function IsNginx() { - if ( isset( $_SERVER['SERVER_SOFTWARE'] ) && stristr( $_SERVER['SERVER_SOFTWARE'], 'nginx' ) !== false ) { - return true; - } - return false; - } - - - - /*************************************** TAXONOMIES AND CUSTOM POST TYPES ***************************************/ - - /** - * Returns if this version of WordPress supports the new taxonomy system - * - * @since 3.0b8 - * @return true if supported - */ - public function IsTaxonomySupported() { - return (function_exists("get_taxonomy") && function_exists("get_terms") && function_exists("get_taxonomies")); - } - - /** - * Returns the list of custom taxonomies. These are basically all taxonomies without categories and post tags - * - * @since 3.1.7 - * @return array Array of names of user-defined taxonomies - */ - public function GetCustomTaxonomies() { - $taxonomies = get_taxonomies(array("public" => 1)); - return array_diff($taxonomies, array("category", "post_tag", "nav_menu", "link_category", "post_format")); - } - - /** - * Returns if this version of WordPress supports custom post types - * - * @since 3.2.5 - * @return true if supported - */ - public function IsCustomPostTypesSupported() { - return (function_exists("get_post_types") && function_exists("register_post_type")); - } - - /** - * Returns the list of custom post types. These are all custom post types except post, page and attachment - * - * @since 3.2.5 - * @return array Array of custom post types as per get_post_types - */ - public function GetCustomPostTypes() { - $post_types = get_post_types(array("public" => 1)); - $post_types = array_diff($post_types, array("post", "page", "attachment")); - return $post_types; - } - - - /** - * Returns the list of active post types, built-in and custom ones. - * - * @since 4.0b5 - * @return array Array of custom post types as per get_post_types - */ - public function GetActivePostTypes() { - - - $cacheKey = __CLASS__ . "::GetActivePostTypes"; - - $activePostTypes = wp_cache_get($cacheKey,'sitemap'); - - if($activePostTypes === false) { - $allPostTypes = get_post_types(); - $enabledPostTypes = $this->GetOption('in_customtypes'); - if($this->GetOption("in_posts")) $enabledPostTypes[] = "post"; - if($this->GetOption("in_pages")) $enabledPostTypes[] = "page"; - - $activePostTypes = array(); - foreach($enabledPostTypes AS $postType) { - if(!empty($postType) && in_array($postType, $allPostTypes)) { - $activePostTypes[] = $postType; - } - } - - wp_cache_set($cacheKey, $activePostTypes, 'sitemap', 20); - } - - return $activePostTypes; - } - - /** - * Returns an array with all excluded post IDs - * - * @since 4.0b11 - * @return int[] Array with excluded post IDs - */ - public function GetExcludedPostIDs() { - - $excludes = (array)$this->GetOption('b_exclude'); - - //Exclude front page page if defined - if (get_option('show_on_front') == 'page' && get_option('page_on_front')) { - $excludes[] = get_option('page_on_front'); - return $excludes; - } - - return array_filter(array_map('intval',$excludes),array($this,'IsGreaterZero')); - } - - /** - * Returns an array with all excluded category IDs. - * - * @since 4.0b11 - * @return int[] Array with excluded category IDs - */ - public function GetExcludedCategoryIDs() { - $exclCats = (array)$this->GetOption("b_exclude_cats"); - return array_filter(array_map('intval',$exclCats),array($this,'IsGreaterZero')); - } - - /*************************************** PRIORITY PROVIDERS ***************************************/ - - /** - * Returns the list of PriorityProviders - * @return array - */ - public function GetPrioProviders() { - return $this->prioProviders; - } - - /** - * Adds the default Priority Providers to the provider list - * - * @since 3.0 - * @param $providers - * @return array - */ - public function AddDefaultPrioProviders($providers) { - array_push($providers, "GoogleSitemapGeneratorPrioByCountProvider"); - array_push($providers, "GoogleSitemapGeneratorPrioByAverageProvider"); - if(class_exists("ak_popularity_contest")) { - array_push($providers, "GoogleSitemapGeneratorPrioByPopularityContestProvider"); - } - return $providers; - } - - /** - * Validates all given Priority Providers by checking them for required methods and existence - * - * @since 3.0 - */ - private function ValidatePrioProviders() { - $validProviders = array(); - - for($i = 0; $i < count($this->prioProviders); $i++) { - if(class_exists($this->prioProviders[$i])) { - if(class_implements($this->prioProviders[$i], "GoogleSitemapGeneratorPrioProviderBase")) { - array_push($validProviders, $this->prioProviders[$i]); - } - } - } - $this->prioProviders = $validProviders; - - if(!$this->GetOption("b_prio_provider")) { - if(!in_array($this->GetOption("b_prio_provider"), $this->prioProviders, true)) { - $this->SetOption("b_prio_provider", ""); - } - } - } - - - /*************************************** COMMENT HANDLING FOR PRIO. PROVIDERS ***************************************/ - - /** - * Retrieves the number of comments of a post in a asso. array - * The key is the postID, the value the number of comments - * - * @since 3.0 - * @return array An array with postIDs and their comment count - */ - public function GetComments() { - /** @var $wpdb wpdb */ - global $wpdb; - $comments = array(); - - //Query comments and add them into the array - $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`"); - if($commentRes) { - foreach($commentRes as $comment) { - $comments[$comment->post_id] = $comment->comment_count; - } - } - return $comments; - } - - /** - * Calculates the full number of comments from an sm_getComments() generated array - * - * @since 3.0 - * @param $comments array The Array with posts and c0mment count - * @see sm_getComments - * @return int The full number of comments - */ - public function GetCommentCount($comments) { - $commentCount = 0; - foreach($comments AS $k => $v) { - $commentCount += $v; - } - return $commentCount; - } - - - /*************************************** OPTION HANDLING ***************************************/ - - /** - * Sets up the default configuration - * - * @since 3.0 - */ - public function InitOptions() { - - $this->options = array(); - $this->options["sm_b_prio_provider"] = "GoogleSitemapGeneratorPrioByCountProvider"; //Provider for automatic priority calculation - $this->options["sm_b_ping"] = true; //Auto ping Google - $this->options["sm_b_stats"] = false; //Send anonymous stats - $this->options["sm_b_pingmsn"] = true; //Auto ping MSN - $this->options["sm_b_autozip"] = true; //Try to gzip the output - $this->options["sm_b_memory"] = ''; //Set Memory Limit (e.g. 16M) - $this->options["sm_b_time"] = -1; //Set time limit in seconds, 0 for unlimited, -1 for disabled - $this->options["sm_b_style_default"] = true; //Use default style - $this->options["sm_b_style"] = ''; //Include a stylesheet in the XML - $this->options["sm_b_baseurl"] = ''; //The base URL of the sitemap - $this->options["sm_b_robots"] = true; //Add sitemap location to WordPress' virtual robots.txt file - $this->options["sm_b_html"] = true; //Include a link to a html version of the sitemap in the XML sitemap - $this->options["sm_b_exclude"] = array(); //List of post / page IDs to exclude - $this->options["sm_b_exclude_cats"] = array(); //List of post / page IDs to exclude - - $this->options["sm_in_home"] = true; //Include homepage - $this->options["sm_in_posts"] = true; //Include posts - $this->options["sm_in_posts_sub"] = false; //Include post pages ( tag) - $this->options["sm_in_pages"] = true; //Include static pages - $this->options["sm_in_cats"] = false; //Include categories - $this->options["sm_in_arch"] = false; //Include archives - $this->options["sm_in_auth"] = false; //Include author pages - $this->options["sm_in_tags"] = false; //Include tag pages - $this->options["sm_in_tax"] = array(); //Include additional taxonomies - $this->options["sm_in_customtypes"] = array(); //Include custom post types - $this->options["sm_in_lastmod"] = true; //Include the last modification date - - $this->options["sm_cf_home"] = "daily"; //Change frequency of the homepage - $this->options["sm_cf_posts"] = "monthly"; //Change frequency of posts - $this->options["sm_cf_pages"] = "weekly"; //Change frequency of static pages - $this->options["sm_cf_cats"] = "weekly"; //Change frequency of categories - $this->options["sm_cf_auth"] = "weekly"; //Change frequency of author pages - $this->options["sm_cf_arch_curr"] = "daily"; //Change frequency of the current archive (this month) - $this->options["sm_cf_arch_old"] = "yearly"; //Change frequency of older archives - $this->options["sm_cf_tags"] = "weekly"; //Change frequency of tags - - $this->options["sm_pr_home"] = 1.0; //Priority of the homepage - $this->options["sm_pr_posts"] = 0.6; //Priority of posts (if auto prio is disabled) - $this->options["sm_pr_posts_min"] = 0.2; //Minimum Priority of posts, even if autocalc is enabled - $this->options["sm_pr_pages"] = 0.6; //Priority of static pages - $this->options["sm_pr_cats"] = 0.3; //Priority of categories - $this->options["sm_pr_arch"] = 0.3; //Priority of archives - $this->options["sm_pr_auth"] = 0.3; //Priority of author pages - $this->options["sm_pr_tags"] = 0.3; //Priority of tags - - $this->options["sm_i_donated"] = false; //Did you donate? Thank you! :) - $this->options["sm_i_hide_donated"] = false; //And hide the thank you.. - $this->options["sm_i_install_date"] = time(); //The installation date - $this->options["sm_i_hide_survey"] = false; //Hide the survey note - $this->options["sm_i_hide_note"] = false; //Hide the note which appears after 30 days - $this->options["sm_i_hide_works"] = false; //Hide the "works?" message which appears after 15 days - $this->options["sm_i_hide_donors"] = false; //Hide the list of donations - $this->options["sm_i_hash"] = substr(sha1(sha1(get_bloginfo('url'))),0,20); //Partial hash for GA stats, NOT identifiable! - $this->options["sm_i_lastping"] = 0; //When was the last ping - $this->options["sm_i_supportfeed"] = true; //shows the support feed - $this->options["sm_i_supportfeed_cache"] = 0; //Last refresh of support feed - } - - /** - * Loads the configuration from the database - * - * @since 3.0 - */ - private function LoadOptions() { - - if($this->optionsLoaded) return; - - $this->InitOptions(); - - //First init default values, then overwrite it with stored values so we can add default - //values with an update which get stored by the next edit. - $storedOptions = get_option("sm_options"); - - if($storedOptions && is_array($storedOptions)) { - foreach($storedOptions AS $k => $v) { - if(array_key_exists($k,$this->options)) $this->options[$k] = $v; - } - } else update_option("sm_options", $this->options); //First time use, store default values - - $this->optionsLoaded = true; - } - - /** - * Returns the option value for the given key - * - * @since 3.0 - * @param $key string The Configuration Key - * @return mixed The value - */ - public function GetOption($key) { - $key = "sm_" . $key; - if(array_key_exists($key, $this->options)) { - return $this->options[$key]; - } else return null; - } - - public function GetOptions() { - return $this->options; - } - - /** - * Sets an option to a new value - * - * @since 3.0 - * @param $key string The configuration key - * @param $value mixed The new object - */ - public function SetOption($key, $value) { - if(strpos($key, "sm_") !== 0) $key = "sm_" . $key; - - $this->options[$key] = $value; - } - - /** - * Saves the options back to the database - * - * @since 3.0 - * @return bool true on success - */ - public function SaveOptions() { - $oldvalue = get_option("sm_options"); - if($oldvalue == $this->options) { - return true; - } else return update_option("sm_options", $this->options); - } - - /** - * Returns the additional pages - * @since 4.0 - * @return GoogleSitemapGeneratorPage[] - */ - function GetPages() { - return $this->pages; - } - - /** - * Returns the additional pages - * @since 4.0 - * @param array $pages - */ - function SetPages(array $pages) { - $this->pages = $pages; - } - - /** - * Loads the stored pages from the database - * - * @since 3.0 - */ - private function LoadPages() { - /** @var $wpdb wpdb */ - global $wpdb; - - $needsUpdate = false; - - $pagesString = $wpdb->get_var("SELECT option_value FROM $wpdb->options WHERE option_name = 'sm_cpages'"); - - //Class sm_page was renamed with 3.0 -> rename it in serialized value for compatibility - if(!empty($pagesString) && strpos($pagesString, "sm_page") !== false) { - $pagesString = str_replace("O:7:\"sm_page\"", "O:26:\"GoogleSitemapGeneratorPage\"", $pagesString); - $needsUpdate = true; - } - - if(!empty($pagesString)) { - $storedpages = unserialize($pagesString); - $this->pages = $storedpages; - } else { - $this->pages = array(); - } - - if($needsUpdate) $this->SavePages(); - } - - /** - * Saved the additional pages back to the database - * - * @since 3.0 - * @return true on success - */ - public function SavePages() { - $oldvalue = get_option("sm_cpages"); - if($oldvalue == $this->pages) { - return true; - } else { - delete_option("sm_cpages"); - //Add the option, Note the autoload=false because when the autoload happens, our class GoogleSitemapGeneratorPage doesn't exist - add_option("sm_cpages", $this->pages, null, "no"); - return true; - } - } - - - /*************************************** URL AND PATH FUNCTIONS ***************************************/ - - /** - * Returns the URL to the directory where the plugin file is located - * @since 3.0b5 - * @return string The URL to the plugin directory - */ - public function GetPluginUrl() { - - $url = trailingslashit(plugins_url("", __FILE__)); - - return $url; - } - - /** - * Returns the path to the directory where the plugin file is located - * @since 3.0b5 - * @return string The path to the plugin directory - */ - public function GetPluginPath() { - $path = dirname(__FILE__); - return trailingslashit(str_replace("\\", "/", $path)); - } - - /** - * Returns the URL to default XSLT style if it exists - * @since 3.0b5 - * @return string The URL to the default stylesheet, empty string if not available. - */ - public function GetDefaultStyle() { - $p = $this->GetPluginPath(); - if(file_exists($p . "sitemap.xsl")) { - $url = $this->GetPluginUrl(); - //If called over the admin area using HTTPS, the stylesheet would also be https url, even if the site frontend is not. - if(substr(get_bloginfo('url'), 0, 5) != "https" && substr($url, 0, 5) == "https") $url = "http" . substr($url, 5); - return $url . 'sitemap.xsl'; - } - return ''; - } - - /** - * Returns of Permalinks are used - * - * @return bool - */ - public function IsUsingPermalinks() { - /** @var $wp_rewrite WP_Rewrite */ - global $wp_rewrite; - - return $wp_rewrite->using_mod_rewrite_permalinks(); - } - - /** - * Returns the URL for the sitemap file - * - * @since 3.0 - * @param string $type - * @param string $params - * @param array $buildOptions - * @return string The URL to the Sitemap file - */ - public function GetXmlUrl($type = "", $params = "", $buildOptions = array()) { - - $pl = $this->IsUsingPermalinks(); - $options = ""; - if(!empty($type)) { - $options .= $type; - if(!empty($params)) { - $options .= "-" . $params; - } - } - - $buildOptions = array_merge($this->buildOptions, $buildOptions); - - $html = (isset($buildOptions["html"]) ? $buildOptions["html"] : false); - $zip = (isset($buildOptions["zip"]) ? $buildOptions["zip"] : false); - - $baseURL = get_bloginfo('url'); - - //Manual override for root URL - $baseUrlSettings = $this->GetOption('b_baseurl'); - if(!empty($baseUrlSettings)) $baseURL = $baseUrlSettings; - else if(defined("SM_BASE_URL") && SM_BASE_URL) $baseURL = SM_BASE_URL; - - if($pl) { - return trailingslashit($baseURL) . "sitemap" . ($options ? "-" . $options : "") . ($html - ? ".html" : ".xml") . ($zip? ".gz" : ""); - } else { - return trailingslashit($baseURL) . "index.php?xml_sitemap=params=" . $options . ($html - ? ";html=true" : "") . ($zip? ";zip=true" : ""); - } - } - - /** - * Returns if there is still an old sitemap file in the site directory - * - * @return Boolean True if a sitemap file still exists - */ - public function OldFileExists() { - $path = trailingslashit(get_home_path()); - return (file_exists($path . "sitemap.xml") || file_exists($path . "sitemap.xml.gz")); - } - - /** - * Renames old sitemap files in the site directory from previous versions of this plugin - * @return bool True on success - */ - public function DeleteOldFiles() { - $path = trailingslashit(get_home_path()); - - $res = true; - - if(file_exists($f = $path . "sitemap.xml")) if(!rename($f, $path . "sitemap.backup.xml")) $res = false; - if(file_exists($f = $path . "sitemap.xml.gz")) if(!rename($f, $path . "sitemap.backup.xml.gz")) $res = false; - - return $res; - } - - - /*************************************** SITEMAP SIMULATION ***************************************/ - - /** - * Simulates the building of the sitemap index file. - * - * @see GoogleSitemapGenerator::SimulateSitemap - * @since 4.0 - * @return array The data of the sitemap index file - */ - public function SimulateIndex() { - - $this->simMode = true; - - require_once(trailingslashit(dirname(__FILE__)) . "sitemap-builder.php"); - do_action("sm_build_index", $this); - - $this->simMode = false; - - $r = $this->simData["sitemaps"]; - - $this->ClearSimData("sitemaps"); - - return $r; - } - - /** - * Simulates the building of the sitemap file. - * - * @see GoogleSitemapGenerator::SimulateIndex - * @since 4.0 - * @param $type string The type of the sitemap - * @param $params string Additional parameters for this type - * @return array The data of the sitemap file - */ - public function SimulateSitemap($type, $params) { - $this->simMode = true; - - require_once(trailingslashit(dirname(__FILE__)) . "sitemap-builder.php"); - do_action("sm_build_content", $this, $type, $params); - - $this->simMode = false; - - $r = $this->simData["content"]; - - $this->ClearSimData("content"); - - return $r; - } - - /** - * Clears the data of the simulation - * - * @param string $what Defines what to clear, either both, sitemaps or content - * @see GoogleSitemapGenerator::SimulateIndex - * @see GoogleSitemapGenerator::SimulateSitemap - * @since 4.0 - */ - public function ClearSimData($what) { - if($what == "both" || $what == "sitemaps") { - $this->simData["sitemaps"] = array(); - } - - if($what == "both" || $what == "content") { - $this->simData["content"] = array(); - } - } - - /** - * Returns the first caller outside of this __CLASS__ - * @param array $trace The backtrace - * @return array The caller information - */ - private function GetExternalBacktrace($trace) { - $caller = null; - foreach($trace AS $b) { - if($b["class"] != __CLASS__) { - $caller = $b; - break; - } - } - return $caller; - } - - - /*************************************** SITEMAP BUILDING ***************************************/ - - /** - * Shows the sitemap. Main entry point from HTTP - * @param string $options Options for the sitemap. What type, what parameters. - * @since 4.0 - */ - public function ShowSitemap($options) { - - $startTime = microtime(true); - $startQueries = $GLOBALS["wpdb"]->num_queries; - $startMemory = memory_get_peak_usage(true); - - //Raise memory and time limits - if($this->GetOption("b_memory") != '') { - @ini_set("memory_limit", $this->GetOption("b_memory")); - } - - if($this->GetOption("b_time") != -1) { - @set_time_limit($this->GetOption("b_time")); - } - - do_action("sm_init", $this); - - $this->isActive = true; - - $parsedOptions = array(); - - $options = explode(";", $options); - foreach($options AS $k) { - $kv = explode("=", $k); - $parsedOptions[$kv[0]] = @$kv[1]; - } - - $options = $parsedOptions; - - $this->buildOptions = $options; - - //Do not index the actual XML pages, only process them. - //This avoids that the XML sitemaps show up in the search results. - if(!headers_sent()) header('X-Robots-Tag: noindex', true, 200); - - $this->Initate(); - - $html = (isset($options["html"]) ? $options["html"] : false) && $this->IsXslEnabled(); - if($html && !$this->GetOption('b_html')) { - $GLOBALS['wp_query']->is_404 = true; - return; - } - - //Don't zip if anything happened before which could break the output or if the client does not support gzip. - //If there are already other output filters, there might be some content on another - //filter level already, which we can't detect. Zipping then would lead to invalid content. - $pack = (isset($options['zip']) ? $options['zip'] : $this->GetOption('b_autozip')); - if( - empty($_SERVER['HTTP_ACCEPT_ENCODING']) //No encoding support - || strpos($_SERVER['HTTP_ACCEPT_ENCODING'],'gzip') === false //or no gzip - || !$this->IsGzipEnabled() //No PHP gzip support - || headers_sent() //Headers already sent - || ob_get_contents() //there was already some output... - || in_array('ob_gzhandler', ob_list_handlers()) //Some other plugin (or PHP) is already gzipping - || $this->GetPhpIniBoolean(ini_get("zlib.output_compression")) //Zlib compression in php.ini enabled - || ob_get_level() > (!$this->GetPhpIniBoolean(ini_get("output_buffering"))?0:1) //Another output buffer (beside of the default one) is already active - || (isset($_SERVER['HTTP_X_VARNISH']) && is_numeric($_SERVER['HTTP_X_VARNISH'])) //Behind a Varnish proxy - ) $pack = false; - - $packed = false; - - if($pack) $packed = @ob_start('ob_gzhandler'); - - $builders = array('sitemap-builder.php'); - foreach($builders AS $b) { - $f = trailingslashit(dirname(__FILE__)) . $b; - if(file_exists($f)) require_once($f); - } - - if($html) { - ob_start(); - } else { - header('Content-Type: text/xml; charset=utf-8'); - } - - - if(empty($options["params"]) || $options["params"] == "index") { - - $this->BuildSitemapHeader("index"); - - do_action('sm_build_index', $this); - - $this->BuildSitemapFooter("index"); - $this->AddEndCommend($startTime, $startQueries, $startMemory); - - - } else { - $allParams = $options["params"]; - $type = $params = null; - if(strpos($allParams, "-") !== false) { - $type = substr($allParams, 0, strpos($allParams, "-")); - $params = substr($allParams, strpos($allParams, "-") + 1); - } else { - $type = $allParams; - } - - $this->BuildSitemapHeader("sitemap"); - - do_action("sm_build_content", $this, $type, $params); - - $this->BuildSitemapFooter("sitemap"); - - $this->AddEndCommend($startTime, $startQueries, $startMemory); - } - - if($html) { - $xmlSource = ob_get_clean(); - - // Load the XML source - $xml = new DOMDocument; - $xml->loadXML($xmlSource); - - $xsl = new DOMDocument; - $xsl->load($this->GetPluginPath() . "sitemap.xsl"); - - // Configure the transformer - $proc = new XSLTProcessor; - $proc->importStyleSheet($xsl); // attach the xsl rules - - $domTranObj = $proc->transformToDoc($xml); - - // this will also output doctype and comments at top level - foreach($domTranObj->childNodes as $node) echo $domTranObj->saveXML($node) . "\n"; - } - - if($packed) ob_end_flush(); - $this->isActive = false; - exit; - } - - /** - * Generates the header for the sitemap with XML declarations, stylesheet and so on. - * - * @since 4.0 - * @param string $format The format, either sitemap for a sitemap or index for the sitemap index - */ - private function BuildSitemapHeader($format) { - - if(!in_array($format, array("sitemap", "index"))) $format = "sitemap"; - - $this->AddElement(new GoogleSitemapGeneratorXmlEntry('')); - - $styleSheet = ($this->GetDefaultStyle() && $this->GetOption('b_style_default') === true - ? $this->GetDefaultStyle() : $this->GetOption('b_style')); - - if(!empty($styleSheet)) { - $this->AddElement(new GoogleSitemapGeneratorXmlEntry('<' . '?xml-stylesheet type="text/xsl" href="' . $styleSheet . '"?' . '>')); - } - - $this->AddElement(new GoogleSitemapGeneratorDebugEntry("sitemap-generator-url=\"http://www.arnebrachhold.de\" sitemap-generator-version=\"" . $this->GetVersion() . "\"")); - $this->AddElement(new GoogleSitemapGeneratorDebugEntry("generated-on=\"" . date(get_option("date_format") . " " . get_option("time_format")) . "\"")); - - switch($format) { - case "sitemap": - $this->AddElement(new GoogleSitemapGeneratorXmlEntry('')); - break; - case "index": - $this->AddElement(new GoogleSitemapGeneratorXmlEntry('')); - break; - } - } - - /** - * Generates the footer for the sitemap with XML ending tag - * - * @since 4.0 - * @param string $format The format, either sitemap for a sitemap or index for the sitemap index - */ - private function BuildSitemapFooter($format) { - if(!in_array($format, array("sitemap", "index"))) $format = "sitemap"; - switch($format) { - case "sitemap": - $this->AddElement(new GoogleSitemapGeneratorXmlEntry('')); - break; - case "index": - $this->AddElement(new GoogleSitemapGeneratorXmlEntry('')); - break; - } - } - - /** - * Adds information about time and memory usage to the sitemap - * - * @since 4.0 - * @param float $startTime The microtime of the start - * @param int $startQueries - * @param int $startMemory - * - */ - private function AddEndCommend($startTime, $startQueries = 0, $startMemory = 0) { - if(defined("WP_DEBUG") && WP_DEBUG) { - echo " "; - } - $endTime = microtime(true); - $endTime = round($endTime - $startTime, 2); - $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Request ID: " . md5(microtime()) . "; Queries for sitemap: " . ($GLOBALS["wpdb"]->num_queries - $startQueries) . "; Total queries: " . $GLOBALS["wpdb"]->num_queries . "; Seconds: $endTime; Memory for sitemap: " . ((memory_get_peak_usage(true) - $startMemory) / 1024 / 1024) . "MB" . "; Total memory: " . (memory_get_peak_usage(true) / 1024 / 1024) . "MB")); - } - - /** - * Adds the sitemap to the virtual robots.txt file - * This function is executed by WordPress with the do_robots hook - * - * @since 3.1.2 - */ - public function DoRobots() { - $this->Initate(); - if($this->GetOption('b_robots') === true) { - - $smUrl = $this->GetXmlUrl(); - - echo "\nSitemap: " . $smUrl . "\n"; - } - } - - - /*************************************** SITEMAP CONTENT BUILDING ***************************************/ - - /** - * Outputs an element in the sitemap - * - * @since 3.0 - * @param $page GoogleSitemapGeneratorXmlEntry The element - */ - public function AddElement($page) { - - if(empty($page)) return; - echo $page->Render(); - } - - /** - * Adds a url to the sitemap. You can use this method or call AddElement directly. - * - * @since 3.0 - * @param $loc string The location (url) of the page - * @param $lastMod int The last Modification time as a UNIX timestamp - * @param $changeFreq string The change frequenty of the page, Valid values are "always", "hourly", "daily", "weekly", "monthly", "yearly" and "never". - * @param $priority float The priority of the page, between 0.0 and 1.0 - * @param $postID int The post ID in case this is a post or page - * @see AddElement - * @return string The URL node - */ - public function AddUrl($loc, $lastMod = 0, $changeFreq = "monthly", $priority = 0.5, $postID = 0) { - //Strip out the last modification time if activated - if($this->GetOption('in_lastmod') === false) $lastMod = 0; - $page = new GoogleSitemapGeneratorPage($loc, $priority, $changeFreq, $lastMod, $postID); - - do_action('sm_addurl', $page); - - if($this->simMode) { - $caller = $this->GetExternalBacktrace(debug_backtrace()); - - $this->simData["content"][] = array( - "data" => $page, - "caller" => $caller - ); - } else { - $this->AddElement($page); - } - } - - /** - * Add a sitemap entry to the index file - * @param $type - * @param string $params - * @param int $lastMod - */ - public function AddSitemap($type, $params = "", $lastMod = 0) { - - $url = $this->GetXmlUrl($type, $params); - - $sitemap = new GoogleSitemapGeneratorSitemapEntry($url, $lastMod); - - do_action('sm_addsitemap', $sitemap); - - if($this->simMode) { - $caller = $this->GetExternalBacktrace(debug_backtrace()); - $this->simData["sitemaps"][] = array("data" => $sitemap, "type" => $type, "params" => $params, "caller" => $caller); - } else { - $this->AddElement($sitemap); - } - } - - - /*************************************** PINGS ***************************************/ - - /** - * Sends the pings to the search engines - * - * @return GoogleSitemapGeneratorStatus The status object - */ - public function SendPing() { - - $this->LoadOptions(); - - $pingUrl = $this->GetXmlUrl(); - - $result = $this->ExecutePing($pingUrl, true); - - $postID = get_transient('sm_ping_post_id'); - - if($postID) { - - require_once(trailingslashit(dirname(__FILE__)) . "sitemap-builder.php"); - - $urls = array(); - - $urls = apply_filters('sm_sitemap_for_post',$urls, $this, $postID); - if(is_array($urls) && count($urls)>0) { - foreach($urls AS $url) $this->ExecutePing($url, false); - } - - delete_transient('sm_ping_post_id'); - } - - return $result; - } - - - /** - * @param $pingUrl string The Sitemap URL to ping - * @param bool $updateStatus If the global ping status should be updated - * - * @return \GoogleSitemapGeneratorStatus - */ - protected function ExecutePing($pingUrl, $updateStatus = true) { - - $status = new GoogleSitemapGeneratorStatus($updateStatus); - - if ($pingUrl) { - $pings = array(); - - if ($this->GetOption("b_ping")) { - $pings["google"] = array( - "name" => "Google", - "url" => "http://www.google.com/webmasters/sitemaps/ping?sitemap=%s", - "check" => "successfully" - ); - } - - if ($this->GetOption("b_pingmsn")) { - $pings["bing"] = array( - "name" => "Bing", - "url" => "http://www.bing.com/webmaster/ping.aspx?siteMap=%s", - "check" => " " - // No way to check, response is IP-language-based :-( - ); - } - - foreach ($pings AS $serviceId => $service) { - $url = str_replace("%s", urlencode($pingUrl), $service["url"]); - $status->StartPing($serviceId, $url, $service["name"]); - - $pingres = $this->RemoteOpen($url); - - if ($pingres === null || $pingres === false || strpos($pingres, $service["check"]) === false) { - $status->EndPing($serviceId, false); - trigger_error("Failed to ping $serviceId: " . htmlspecialchars(strip_tags($pingres)), E_USER_NOTICE); - } else { - $status->EndPing($serviceId, true); - } - } - - $this->SetOption('i_lastping', time()); - $this->SaveOptions(); - } - - $status->End(); - - return $status; - } - - /** - * Tries to ping a specific service showing as much as debug output as possible - * @since 4.1 - * @return array - */ - public function SendPingAll() { - - $this->LoadOptions(); - - $sitemaps = $this->SimulateIndex(); - - $urls = array(); - - $urls[] = $this->GetXmlUrl(); - - foreach($sitemaps AS $sitemap) { - - /** @var $s GoogleSitemapGeneratorSitemapEntry */ - $s = $sitemap["data"]; - - $urls[] = $s->GetUrl(); - } - - $results = array(); - - $first = true; - - foreach($urls AS $url) { - $status = @$this->ExecutePing($url, $first); - $results[] = array("sitemap"=> $url, "status" => $status); - $first = false; - } - return $results; - - } - - /** - * Tries to ping a specific service showing as much as debug output as possible - * @since 3.1.9 - * @return null - */ - public function ShowPingResult() { - - check_admin_referer('sitemap'); - - if(!current_user_can("administrator")) { - echo '

Please log in as admin

'; - return; - } - - $service = !empty($_GET["sm_ping_service"]) ? $_GET["sm_ping_service"] : null; - - $status = GoogleSitemapGeneratorStatus::Load(); - - if(!$status) die("No build status yet. Write something first."); - - $url = null; - - $services = $status->GetUsedPingServices(); - - if(!in_array($service, $services)) die("Invalid service"); - - $url = $status->GetPingUrl($service); - - if(empty($url)) die("Invalid ping url"); - - echo 'Ping Test'; - if(function_exists('wp_admin_css')) wp_admin_css('css/global', true); - echo '

Ping Test

'; - - echo '

Trying to ping: ' . $url . '. The sections below should give you an idea whats going on.

'; - - //Try to get as much as debug / error output as possible - $errLevel = error_reporting(E_ALL); - $errDisplay = ini_set("display_errors", 1); - if(!defined('WP_DEBUG')) define('WP_DEBUG', true); - - echo '

Errors, Warnings, Notices:

'; - - if(WP_DEBUG == false) echo "WP_DEBUG was set to false somewhere before. You might not see all debug information until you remove this declaration!
"; - if(ini_get("display_errors") != 1) echo "Your display_errors setting currently prevents the plugin from showing errors here. Please check your webserver logfile instead.
"; - - $res = $this->RemoteOpen($url); - - echo '

Result (text only):

'; - - echo wp_kses($res, array('a' => array('href' => array()), 'p' => array(), 'ul' => array(), 'ol' => array(), 'li' => array())); - - echo '

Result (HTML):

'; - - echo htmlspecialchars($res); - - //Revert back old values - error_reporting($errLevel); - ini_set("display_errors", $errDisplay); - echo ''; - exit; - } - - /** - * Opens a remote file using the WordPress API - * @since 3.0 - * @param $url string The URL to open - * @param $method string get or post - * @param $postData array An array with key=>value paris - * @param $timeout int Timeout for the request, by default 10 - * @return mixed False on error, the body of the response on success - */ - public static function RemoteOpen($url, $method = 'get', $postData = null, $timeout = 10) { - $options = array(); - $options['timeout'] = $timeout; - - if($method == 'get') { - $response = wp_remote_get($url, $options); - } else { - $response = wp_remote_post($url, array_merge($options, array('body' => $postData))); - } - - if(is_wp_error($response)) { - $errs = $response->get_error_messages(); - $errs = htmlspecialchars(implode('; ', $errs)); - trigger_error('WP HTTP API Web Request failed: ' . $errs, E_USER_NOTICE); - return false; - } - - return $response['body']; - } - - /** - * Sends anonymous statistics (disabled by default) - */ - private function SendStats() { - global $wp_version, $wpdb; - $postCount = $wpdb->get_var("SELECT COUNT(*) FROM {$wpdb->posts} p WHERE p.post_status='publish'"); - - //Send simple post count statistic to get an idea in which direction this plugin should be optimized - //Only a rough number is required, so we are rounding things up - if($postCount <=5) $postCount = 5; - else if($postCount < 25) $postCount = 10; - else if($postCount < 35) $postCount = 25; - else if($postCount < 75) $postCount = 50; - else if($postCount < 125) $postCount = 100; - else if($postCount < 2000) $postCount = round($postCount / 200) * 200; - else if($postCount < 10000) $postCount = round($postCount / 1000) * 1000; - else $postCount = round($postCount / 10000) * 10000; - - $postData = array( - "v" => 1, - "tid" => "UA-65990-26", - "cid" => $this->GetOption('i_hash'), - "aip" => 1, //Anonymize - "t" => "event", - "ec" => "ping", - "ea" => "auto", - "ev" => 1, - "cd1" => $wp_version, - "cd2" => $this->GetVersion(), - "cd3" => PHP_VERSION, - "cd4" => $postCount, - "ul" => get_bloginfo('language'), - ); - - $this->RemoteOpen('http://www.google-analytics.com/collect', 'post', $postData); - } - - /** - * Returns the number of seconds the support feed should be cached (1 week) - * - * @return int The number of seconds - */ - public static function GetSupportFeedCacheLifetime() { - return 60 * 60 * 24 * 7; - } - - /** - * Returns the SimplePie instance of the support feed - * The feed is cached for one week - * - * @return SimplePie|WP_Error - */ - public function GetSupportFeed() { - - $callBack = array(__CLASS__,"GetSupportFeedCacheLifetime"); - - //Extend cache lifetime so we don't request the feed to often - add_filter( 'wp_feed_cache_transient_lifetime' , $callBack); - $result = fetch_feed(SM_SUPPORTFEED_URL); - remove_filter( 'wp_feed_cache_transient_lifetime' , $callBack ); - - return $result; - } - - /** - * Handles daily ping - */ - public function SendPingDaily() { - - $this->LoadOptions(); - - $blogUpdate = strtotime(get_lastpostdate('blog')); - $lastPing = $this->GetOption('i_lastping'); - $yesterday = time() - (60 * 60 * 24); - - if($blogUpdate >= $yesterday && ($lastPing==0 || $lastPing <= $yesterday)) { - $this->SendPing(); - } - - //Send statistics if enabled (disabled by default) - if($this->GetOption('b_stats')) { - $this->SendStats(); - } - - //Cache the support feed so there is no delay when loading the user interface - if($this->GetOption('i_supportfeed')) { - $last = $this->GetOption('i_supportfeed_cache'); - if($last <= (time() - $this->GetSupportFeedCacheLifetime())) { - $supportFeed = $this->GetSupportFeed(); - if (!is_wp_error($supportFeed) && $supportFeed) { - $this->SetOption('i_supportfeed_cache',time()); - $this->SaveOptions(); - } - } - } - } - - - /*************************************** USER INTERFACE ***************************************/ - - /** - * Includes the user interface class and initializes it - * - * @since 3.1.1 - * @see GoogleSitemapGeneratorUI - * @return GoogleSitemapGeneratorUI - */ - private function GetUI() { - - if($this->ui === null) { - - $className = 'GoogleSitemapGeneratorUI'; - $fileName = 'sitemap-ui.php'; - - if(!class_exists($className)) { - - $path = trailingslashit(dirname(__FILE__)); - - if(!file_exists($path . $fileName)) return false; - require_once($path . $fileName); - } - - $this->ui = new $className($this); - - } - - return $this->ui; - } - - /** - * Shows the option page of the plugin. Before 3.1.1, this function was basically the UI, afterwards the UI was outsourced to another class - * - * @see GoogleSitemapGeneratorUI - * @since 3.0 - * @return bool - */ - public function HtmlShowOptionsPage() { - - $ui = $this->GetUI(); - if($ui) { - $ui->HtmlShowOptionsPage(); - return true; - } - - return false; - } - - /*************************************** HELPERS ***************************************/ - - /** - * Returns if the given value is greater than zero - * - * @param $value int The value to check - * @since 4.0b10 - * @return bool True if greater than zero - */ - public function IsGreaterZero($value) { - return ($value > 0); - } - - /** - * Converts the various possible php.ini values for true and false to boolean - * - * @param $value string The value from ini_get - * - * @return bool The converted value - */ - public function GetPhpIniBoolean($value) { - if (is_string($value)) { - switch (strtolower($value)) { - case '+': - case '1': - case 'y': - case 'on': - case 'yes': - case 'true': - case 'enabled': - return true; - - case '-': - case '0': - case 'n': - case 'no': - case 'off': - case 'false': - case 'disabled': - return false; - } - } - - return (boolean) $value; - } - - - - public function ShowSurvey() { - $this->LoadOptions(); - - return (isset($_REQUEST['sm_survey']) || !$this->GetOption('i_hide_survey')); - } - - public function HtmlSurvey() { - ?> -
- -

- Please help us improve by taking this short survey!','sitemap')); - ?> " style="float:right; display:block; border:none;"> -

-
-
-
- 'index.php?xml_sitemap=params=$matches[2]', - 'sitemap(-+([a-zA-Z0-9_-]+))?\.xml\.gz$' => 'index.php?xml_sitemap=params=$matches[2];zip=true', - 'sitemap(-+([a-zA-Z0-9_-]+))?\.html$' => 'index.php?xml_sitemap=params=$matches[2];html=true', - 'sitemap(-+([a-zA-Z0-9_-]+))?\.html.gz$' => 'index.php?xml_sitemap=params=$matches[2];html=true;zip=true' - ); - return array_merge($smRules,$wpRules); - } - - /** - * Returns the rules required for Nginx permalinks - * - * @return string[] - */ - public static function GetNginXRules() { - return array( - 'rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.xml$ "/index.php?xml_sitemap=params=$2" last;', - 'rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.xml\.gz$ "/index.php?xml_sitemap=params=$2;zip=true" last;', - 'rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.html$ "/index.php?xml_sitemap=params=$2;html=true" last;', - 'rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.html.gz$ "/index.php?xml_sitemap=params=$2;html=true;zip=true" last;' - ); - - } - - /** - * Adds the filters for wp rewrite rule adding - * - * @since 4.0 - * @uses add_filter() - */ - public static function SetupRewriteHooks() { - add_filter('rewrite_rules_array', array(__CLASS__, 'AddRewriteRules'), 1, 1); - } - - /** - * Flushes the rewrite rules - * - * @since 4.0 - * @global $wp_rewrite WP_Rewrite - * @uses WP_Rewrite::flush_rules() - */ - public static function ActivateRewrite() { - /** @var $wp_rewrite WP_Rewrite */ - global $wp_rewrite; - $wp_rewrite->flush_rules(false); - update_option("sm_rewrite_done", self::$svnVersion); - } - - /** - * Handled the plugin activation on installation - * - * @uses GoogleSitemapGeneratorLoader::ActivateRewrite - * @since 4.0 - */ - public static function ActivatePlugin() { - self::SetupRewriteHooks(); - self::ActivateRewrite(); - - if(self::LoadPlugin()) { - $gsg = GoogleSitemapGenerator::GetInstance(); - if($gsg->OldFileExists()) { - $gsg->DeleteOldFiles(); - } - } - - } - - /** - * Handled the plugin deactivation - * - * @uses GoogleSitemapGeneratorLoader::ActivateRewrite - * @since 4.0 - */ - public static function DeactivatePlugin() { - delete_option("sm_rewrite_done"); - wp_clear_scheduled_hook('sm_ping_daily'); - } - - - /** - * Handles the plugin output on template redirection if the xml_sitemap query var is present. - * - * @since 4.0 - */ - public static function DoTemplateRedirect() { - /** @var $wp_query WP_Query */ - global $wp_query; - if(!empty($wp_query->query_vars["xml_sitemap"])) { - $wp_query->is_404 = false; - $wp_query->is_feed = true; - self::CallShowSitemap($wp_query->query_vars["xml_sitemap"]); - } - } - - /** - * Registers the plugin in the admin menu system - * - * @uses add_options_page() - */ - public static function RegisterAdminPage() { - add_options_page(__('XML-Sitemap Generator', 'sitemap'), __('XML-Sitemap', 'sitemap'), 'administrator', self::GetBaseName(), array(__CLASS__, 'CallHtmlShowOptionsPage')); - } - - /** - * Add a widget to the dashboard. - */ - public static function WpDashboardSetup($a) { - self::LoadPlugin(); - $sg = GoogleSitemapGenerator::GetInstance(); - - if ($sg->ShowSurvey()) { - add_action( 'admin_notices', array(__CLASS__, 'WpDashboardAdminNotices' ) ); - } - } - - public static function WpDashboardAdminNotices() { - $sg = GoogleSitemapGenerator::GetInstance(); - $sg->HtmlSurvey(); - } - - /** - * Returns a nice icon for the Ozh Admin Menu if the {@param $hook} equals to the sitemap plugin - * - * @param string $hook The hook to compare - * @return string The path to the icon - */ - public static function RegisterAdminIcon($hook) { - if($hook == self::GetBaseName() && function_exists('plugins_url')) { - return plugins_url('img/icon-arne.gif', self::GetBaseName()); - } - return $hook; - } - - /** - * Registers additional links for the sitemap plugin on the WP plugin configuration page - * - * Registers the links if the $file param equals to the sitemap plugin - * @param $links Array An array with the existing links - * @param $file string The file to compare to - * @return string[] - */ - public static function RegisterPluginLinks($links, $file) { - $base = self::GetBaseName(); - if($file == $base) { - $links[] = '' . __('Settings', 'sitemap') . ''; - $links[] = '' . __('FAQ', 'sitemap') . ''; - $links[] = '' . __('Support', 'sitemap') . ''; - } - return $links; - } - - /** - * @param $new_status string The new post status - * @param $old_status string The old post status - * @param $post WP_Post The post object - */ - public static function SchedulePingOnStatusChange($new_status, $old_status, $post ) { - if($new_status == 'publish') { - set_transient('sm_ping_post_id', $post->ID, 120); - wp_schedule_single_event(time() + 5, 'sm_ping'); - } - } - - /** - * Invokes the HtmlShowOptionsPage method of the generator - * @uses GoogleSitemapGeneratorLoader::LoadPlugin() - * @uses GoogleSitemapGenerator::HtmlShowOptionsPage() - */ - public static function CallHtmlShowOptionsPage() { - if(self::LoadPlugin()) { - GoogleSitemapGenerator::GetInstance()->HtmlShowOptionsPage(); - } - } - - /** - * Invokes the ShowPingResult method of the generator - * @uses GoogleSitemapGeneratorLoader::LoadPlugin() - * @uses GoogleSitemapGenerator::ShowPingResult() - */ - public static function CallShowPingResult() { - if(self::LoadPlugin()) { - GoogleSitemapGenerator::GetInstance()->ShowPingResult(); - } - } - - /** - * Invokes the SendPing method of the generator - * @uses GoogleSitemapGeneratorLoader::LoadPlugin() - * @uses GoogleSitemapGenerator::SendPing() - */ - public static function CallSendPing() { - if(self::LoadPlugin()) { - GoogleSitemapGenerator::GetInstance()->SendPing(); - } - } - - /** - * Invokes the SendPingDaily method of the generator - * @uses GoogleSitemapGeneratorLoader::LoadPlugin() - * @uses GoogleSitemapGenerator::SendPingDaily() - */ - public static function CallSendPingDaily() - { - if (self::LoadPlugin()) { - GoogleSitemapGenerator::GetInstance()->SendPingDaily(); - } - } - - /** - * Invokes the ShowSitemap method of the generator - * @uses GoogleSitemapGeneratorLoader::LoadPlugin() - * @uses GoogleSitemapGenerator::ShowSitemap() - */ - public static function CallShowSitemap($options) { - if(self::LoadPlugin()) { - GoogleSitemapGenerator::GetInstance()->ShowSitemap($options); - } - } - - /** - * Invokes the DoRobots method of the generator - * @uses GoogleSitemapGeneratorLoader::LoadPlugin() - * @uses GoogleSitemapGenerator::DoRobots() - */ - public static function CallDoRobots() { - if(self::LoadPlugin()) { - GoogleSitemapGenerator::GetInstance()->DoRobots(); - } - } - - /** - * Displays the help links in the upper Help Section of WordPress - * - * @return Array The new links - */ - public static function CallHtmlShowHelpList() { - - $screen = get_current_screen(); - $id = get_plugin_page_hookname(self::GetBaseName(), 'options-general.php'); - - if(is_object($screen) && $screen->id == $id) { - - /* - load_plugin_textdomain('sitemap',false,dirname( plugin_basename( __FILE__ ) ) . '/lang'); - - $links = array( - __('Plugin Homepage', 'sitemap') => 'http://www.arnebrachhold.de/redir/sitemap-help-home/', - __('My Sitemaps FAQ', 'sitemap') => 'http://www.arnebrachhold.de/redir/sitemap-help-faq/' - ); - - $filterVal[$id] = ''; - - $i = 0; - foreach($links AS $text => $url) { - $filterVal[$id] .= '' . $text . '' . ($i < (count($links) - 1) ? ' | ' : ''); - $i++; - } - - $screen->add_help_tab( array( - 'id' => 'sitemap-links', - 'title' => __('My Sitemaps FAQ', 'sitemap'), - 'content' => '

' . __('dsf dsf sd f', 'sitemap') . '

', - - )); - */ - - } - //return $filterVal; - } - - - /** - * Loads the actual generator class and tries to raise the memory and time limits if not already done by WP - * - * @uses GoogleSitemapGenerator::Enable() - * @return boolean true if run successfully - */ - public static function LoadPlugin() { - - if(!class_exists("GoogleSitemapGenerator")) { - - $mem = abs(intval(@ini_get('memory_limit'))); - if($mem && $mem < 128) { - @ini_set('memory_limit', '128M'); - } - - $time = abs(intval(@ini_get("max_execution_time"))); - if($time != 0 && $time < 120) { - @set_time_limit(120); - } - - $path = trailingslashit(dirname(__FILE__)); - - if(!file_exists($path . 'sitemap-core.php')) return false; - require_once($path . 'sitemap-core.php'); - } - - GoogleSitemapGenerator::Enable(); - return true; - } - - /** - * Returns the plugin basename of the plugin (using __FILE__) - * - * @return string The plugin basename, "sitemap" for example - */ - public static function GetBaseName() { - return plugin_basename(sm_GetInitFile()); - } - - /** - * Returns the name of this loader script, using sm_GetInitFile - * - * @return string The sm_GetInitFile value - */ - public static function GetPluginFile() { - return sm_GetInitFile(); - } - - /** - * Returns the plugin version - * - * Uses the WP API to get the meta data from the top of this file (comment) - * - * @return string The version like 3.1.1 - */ - public static function GetVersion() { - if(!isset($GLOBALS["sm_version"])) { - if(!function_exists('get_plugin_data')) { - if(file_exists(ABSPATH . 'wp-admin/includes/plugin.php')) { - require_once(ABSPATH . 'wp-admin/includes/plugin.php'); - } - else return "0.ERROR"; - } - $data = get_plugin_data(self::GetPluginFile(), false, false); - $GLOBALS["sm_version"] = $data['Version']; - } - return $GLOBALS["sm_version"]; - } - - public static function GetSvnVersion() { - return self::$svnVersion; - } -} - -//Enable the plugin for the init hook, but only if WP is loaded. Calling this php file directly will do nothing. -if(defined('ABSPATH') && defined('WPINC')) { - add_action("init", array("GoogleSitemapGeneratorLoader", "Enable"), 15, 0); - register_activation_hook(sm_GetInitFile(), array('GoogleSitemapGeneratorLoader', 'ActivatePlugin')); - register_deactivation_hook(sm_GetInitFile(), array('GoogleSitemapGeneratorLoader', 'DeactivatePlugin')); - - //Set up hooks for adding permalinks, query vars. - //Don't wait until init with this, since other plugins might flush the rewrite rules in init already... - GoogleSitemapGeneratorLoader::SetupQueryVars(); - GoogleSitemapGeneratorLoader::SetupRewriteHooks(); -} diff --git a/pole-sbv-content/plugins/google-sitemap-generator/sitemap-ui.php b/pole-sbv-content/plugins/google-sitemap-generator/sitemap-ui.php deleted file mode 100644 index e2862084..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/sitemap-ui.php +++ /dev/null @@ -1,1309 +0,0 @@ -sg = $sitemapBuilder; - } - - private function HtmlPrintBoxHeader($id, $title) { - ?> -
-

-
- -
-
- sg->GetFreqNames() AS $k=>$v) { - echo ""; - } - } - - /** - * Echos option fields for an select field containing the valid priorities (0- 1.0) - * - * @since 4.0 - * @param $currentVal string The value which should be selected - * @return void - */ - public static function HtmlGetPriorityValues($currentVal) { - $currentVal=(float) $currentVal; - for($i=0.0; $i<=1.0; $i+=0.1) { - $v = number_format($i,1,".",""); - echo ""; - } - } - - /** - * Returns the checked attribute if the given values match - * - * @since 4.0 - * @param $val string The current value - * @param $equals string The value to match - * @return string The checked attribute if the given values match, an empty string if not - */ - public static function HtmlGetChecked($val, $equals) { - if($val==$equals) return self::HtmlGetAttribute("checked"); - else return ""; - } - - /** - * Returns the selected attribute if the given values match - * - * @since 4.0 - * @param $val string The current value - * @param $equals string The value to match - * @return string The selected attribute if the given values match, an empty string if not - */ - public static function HtmlGetSelected($val,$equals) { - if($val==$equals) return self::HtmlGetAttribute("selected"); - else return ""; - } - - /** - * Returns an formatted attribute. If the value is NULL, the name will be used. - * - * @since 4.0 - * @param $attr string The attribute name - * @param $value string The attribute value - * @return string The formatted attribute - */ - public static function HtmlGetAttribute($attr,$value=NULL) { - if($value==NULL) $value=$attr; - return " " . $attr . "=\"" . esc_attr($value) . "\" "; - } - - /** - * Returns an array with GoogleSitemapGeneratorPage objects which is generated from POST values - * - * @since 4.0 - * @see GoogleSitemapGeneratorPage - * @return array An array with GoogleSitemapGeneratorPage objects - */ - public function HtmlApplyPages() { - // Array with all page URLs - $pages_ur=(!isset($_POST["sm_pages_ur"]) || !is_array($_POST["sm_pages_ur"])?array():$_POST["sm_pages_ur"]); - - //Array with all priorities - $pages_pr=(!isset($_POST["sm_pages_pr"]) || !is_array($_POST["sm_pages_pr"])?array():$_POST["sm_pages_pr"]); - - //Array with all change frequencies - $pages_cf=(!isset($_POST["sm_pages_cf"]) || !is_array($_POST["sm_pages_cf"])?array():$_POST["sm_pages_cf"]); - - //Array with all lastmods - $pages_lm=(!isset($_POST["sm_pages_lm"]) || !is_array($_POST["sm_pages_lm"])?array():$_POST["sm_pages_lm"]); - - //Array where the new pages are stored - $pages=array(); - //Loop through all defined pages and set their properties into an object - if(isset($_POST["sm_pages_mark"]) && is_array($_POST["sm_pages_mark"])) { - for($i=0; $iSetUrl($pages_ur[$i]); - $p->SetProprity($pages_pr[$i]); - $p->SetChangeFreq($pages_cf[$i]); - //Try to parse last modified, if -1 (note ===) automatic will be used (0) - $lm=(!empty($pages_lm[$i])?strtotime($pages_lm[$i],time()):-1); - if($lm===-1) $p->setLastMod(0); - else $p->setLastMod($lm); - //Add it to the array - array_push($pages,$p); - } - } - - return $pages; - } - - /** - * Displays the option page - * - * @since 3.0 - * @access public - * @author Arne Brachhold - */ - public function HtmlShowOptionsPage() { - global $wp_version; - - $snl = false; //SNL - - $this->sg->Initate(); - - $message=""; - - if(!empty($_REQUEST["sm_rebuild"])) { //Pressed Button: Rebuild Sitemap - check_admin_referer('sitemap'); - - - if(isset($_GET["sm_do_debug"]) && $_GET["sm_do_debug"]=="true") { - - //Check again, just for the case that something went wrong before - if(!current_user_can("administrator") || !is_super_admin()) { - echo '

Please log in as admin

'; - return; - } - - $oldErr = error_reporting(E_ALL); - $oldIni = ini_set("display_errors",1); - - echo '
'; - echo '

' . __('XML Sitemap Generator for WordPress', 'sitemap') . " " . $this->sg->GetVersion(). '

'; - echo '

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.

'; - echo '

DO NOT POST THIS INFORMATION ON PUBLIC PAGES LIKE SUPPORT FORUMS AS IT MAY CONTAIN PASSWORDS OR SECRET SERVER INFORMATION!

'; - echo "

WordPress and PHP Information

"; - echo '

WordPress ' . $GLOBALS['wp_version'] . ' with ' . ' DB ' . $GLOBALS['wp_db_version'] . ' on PHP ' . phpversion() . '

'; - echo '

Plugin version: ' . $this->sg->GetVersion() . ' (' . $this->sg->GetSvnVersion() . ')'; - echo '

Environment

'; - echo "
";
-				$sc = $_SERVER;
-				unset($sc["HTTP_COOKIE"]);
-				print_r($sc);
-				echo "
"; - echo "

WordPress Config

"; - echo "
";
-				$opts = array();
-				if(function_exists('wp_load_alloptions')) {
-					$opts = wp_load_alloptions();
-				} else {
-					/** @var $wpdb wpdb*/
-					global $wpdb;
-					$os = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options");
-					foreach ( (array) $os as $o ) $opts[$o->option_name] = $o->option_value;
-				}
-
-				$popts = array();
-				foreach($opts as $k=>$v) {
-					//Try to filter out passwords etc...
-					if(preg_match("/pass|login|pw|secret|user|usr|key|auth|token/si",$k)) continue;
-					$popts[$k] = htmlspecialchars($v);
-				}
-				print_r($popts);
-				echo "
"; - echo '

Sitemap Config

'; - echo "
";
-				print_r($this->sg->GetOptions());
-				echo "
"; - echo '

Sitemap Content and Errors, Warnings, Notices

'; - echo '
'; - - $sitemaps = $this->sg->SimulateIndex(); - - foreach($sitemaps AS $sitemap) { - - /** @var $s GoogleSitemapGeneratorSitemapEntry */ - $s = $sitemap["data"]; - - echo "

Sitemap: GetUrl() . "\">" . $sitemap["type"] . "/" . ($sitemap["params"]?$sitemap["params"]:"(No parameters)") . " by " . $sitemap["caller"]["class"] . "

"; - - $res = $this->sg->SimulateSitemap($sitemap["type"], $sitemap["params"]); - - echo "
    "; - foreach($res AS $s) { - /** @var $d GoogleSitemapGeneratorSitemapEntry */ - $d = $s["data"]; - echo "
  • " . $d->GetUrl() . "
  • "; - } - echo "
"; - } - - $status = GoogleSitemapGeneratorStatus::Load(); - echo '
'; - echo '

MySQL Queries

'; - if(defined('SAVEQUERIES') && SAVEQUERIES) { - echo '
';
-					var_dump($GLOBALS['wpdb']->queries);
-					echo '
'; - - $total = 0; - foreach($GLOBALS['wpdb']->queries as $q) { - $total+=$q[1]; - } - echo '

Total Query Time

'; - echo '
' . count($GLOBALS['wpdb']->queries) . ' queries in ' . round($total,2) . ' seconds.
'; - } else { - echo '

Please edit wp-db.inc.php in wp-includes and set SAVEQUERIES to true if you want to see the queries.

'; - } - echo "

Build Process Results

"; - echo "
";
-				print_r($status);
-				echo "
"; - echo '

Done. Rebuild or Return

'; - echo '

DO NOT POST THIS INFORMATION ON PUBLIC PAGES LIKE SUPPORT FORUMS AS IT MAY CONTAIN PASSWORDS OR SECRET SERVER INFORMATION!

'; - echo '
'; - @error_reporting($oldErr); - @ini_set("display_errors",$oldIni); - return; - } else { - - $redirURL = $this->sg->GetBackLink() . '&sm_fromrb=true'; - - //Redirect so the sm_rebuild GET parameter no longer exists. - @header("location: " . $redirURL); - //If there was already any other output, the header redirect will fail - echo ''; - echo ''; - exit; - } - } else if (!empty($_POST['sm_update'])) { //Pressed Button: Update Config - check_admin_referer('sitemap'); - - if(isset($_POST['sm_b_style']) && $_POST['sm_b_style'] == $this->sg->getDefaultStyle()) { - $_POST['sm_b_style_default'] = true; - $_POST['sm_b_style'] = ''; - } - - foreach($this->sg->GetOptions() as $k=>$v) { - - //Skip some options if the user is not super admin... - if(!is_super_admin() && in_array($k,array("sm_b_time","sm_b_memory","sm_b_style","sm_b_style_default"))) { - continue; - } - - //Check vor values and convert them into their types, based on the category they are in - if(!isset($_POST[$k])) $_POST[$k]=""; // Empty string will get false on 2bool and 0 on 2float - - //Options of the category "Basic Settings" are boolean, except the filename and the autoprio provider - if(substr($k,0,5)=="sm_b_") { - if($k=="sm_b_prio_provider" || $k == "sm_b_style" || $k == "sm_b_memory" || $k == "sm_b_baseurl") { - if($k=="sm_b_filename_manual" && strpos($_POST[$k],"\\")!==false){ - $_POST[$k]=stripslashes($_POST[$k]); - } else if($k=="sm_b_baseurl") { - $_POST[$k] = trim($_POST[$k]); - if(!empty($_POST[$k])) $_POST[$k] = trailingslashit($_POST[$k]); - } - $this->sg->SetOption($k,(string) $_POST[$k]); - } else if($k == "sm_b_time") { - if($_POST[$k]=='') $_POST[$k] = -1; - $this->sg->SetOption($k,intval($_POST[$k])); - } else if($k== "sm_i_install_date") { - if($this->sg->GetOption('i_install_date')<=0) $this->sg->SetOption($k,time()); - } else if($k=="sm_b_exclude") { - $IDss = array(); - $IDs = explode(",",$_POST[$k]); - for($x = 0; $x0) $IDss[] = $ID; - } - $this->sg->SetOption($k,$IDss); - } else if($k == "sm_b_exclude_cats") { - $exCats = array(); - if(isset($_POST["post_category"])) { - foreach((array) $_POST["post_category"] AS $vv) if(!empty($vv) && is_numeric($vv)) $exCats[] = intval($vv); - } - $this->sg->SetOption($k,$exCats); - } else { - $this->sg->SetOption($k,(bool) $_POST[$k]); - - } - //Options of the category "Includes" are boolean - } else if(substr($k,0,6)=="sm_in_") { - if($k=='sm_in_tax') { - - $enabledTaxonomies = array(); - - foreach(array_keys((array) $_POST[$k]) AS $taxName) { - if(empty($taxName) || !taxonomy_exists($taxName)) continue; - - $enabledTaxonomies[] = $taxName; - } - - $this->sg->SetOption($k,$enabledTaxonomies); - - } else if($k=='sm_in_customtypes') { - - $enabledPostTypes = array(); - - foreach(array_keys((array) $_POST[$k]) AS $postTypeName) { - if(empty($postTypeName) || !post_type_exists($postTypeName)) continue; - - $enabledPostTypes[] = $postTypeName; - } - - $this->sg->SetOption($k, $enabledPostTypes); - - } else $this->sg->SetOption($k,(bool) $_POST[$k]); - //Options of the category "Change frequencies" are string - } else if(substr($k,0,6)=="sm_cf_") { - $this->sg->SetOption($k,(string) $_POST[$k]); - //Options of the category "Priorities" are float - } else if(substr($k,0,6)=="sm_pr_") { - $this->sg->SetOption($k,(float) $_POST[$k]); - } - } - - //Apply page changes from POST - if(is_super_admin()) $this->sg->SetPages($this->HtmlApplyPages()); - - if($this->sg->SaveOptions()) $message.=__('Configuration updated', 'sitemap') . "
"; - else $message.=__('Error while saving options', 'sitemap') . "
"; - - if(is_super_admin()) { - if($this->sg->SavePages()) $message.=__("Pages saved",'sitemap') . "
"; - else $message.=__('Error while saving pages', 'sitemap'). "
"; - } - - } else if(!empty($_POST["sm_reset_config"])) { //Pressed Button: Reset Config - check_admin_referer('sitemap'); - $this->sg->InitOptions(); - $this->sg->SaveOptions(); - - $message.=__('The default configuration was restored.','sitemap'); - } else if(!empty($_GET["sm_delete_old"])) { //Delete old sitemap files - check_admin_referer('sitemap'); - - //Check again, just for the case that something went wrong before - if(!current_user_can("administrator")) { - echo '

Please log in as admin

'; - return; - } - if(!$this->sg->DeleteOldFiles()) { - $message = __("The old files could NOT be deleted. Please use an FTP program and delete them by yourself.","sitemap"); - } else { - $message = __("The old files were successfully deleted.","sitemap"); - } - } else if(!empty($_GET["sm_ping_all"])) { - check_admin_referer('sitemap'); - - //Check again, just for the case that something went wrong before - if(!current_user_can("administrator")) { - echo '

Please log in as admin

'; - return; - } - - echo << - - - - -HTML; - echo "

" . __('Notify Search Engines about all sitemaps','sitemap') ."

"; - echo "

" . __('The plugin is notifying the selected search engines about your main sitemap and all sub-sitemaps. This might take a minute or two.','sitemaps') . "

"; - flush(); - $results = $this->sg->SendPingAll(); - - echo "
    "; - - foreach($results AS $result) { - - $sitemapUrl = $result["sitemap"]; - /** @var $status GoogleSitemapGeneratorStatus */ - $status = $result["status"]; - - echo "
  • " . $sitemapUrl . "
      "; - $services = $status->GetUsedPingServices(); - foreach($services AS $serviceId) { - echo "
    • "; - echo $status->GetServiceName($serviceId) . ": " . ($status->GetPingResult($serviceId)==true?"OK":"ERROR"); - echo "
    • "; - } - echo "
  • "; - } - echo "
"; - echo "

" . __('All done!','sitemap') . "

"; - echo << -HTML; - exit; - } else if(!empty($_GET["sm_ping_main"])) { - - check_admin_referer('sitemap'); - - //Check again, just for the case that something went wrong before - if(!current_user_can("administrator")) { - echo '

Please log in as admin

'; - return; - } - - $this->sg->SendPing(); - $message = __("Ping was executed, please see below for the result.","sitemap"); - } - - //Print out the message to the user, if any - if($message!="") { - ?> -

sg->SetOption('i_hide_donated',true); - $this->sg->SaveOptions(); - } - if(isset($_GET['sm_donated'])) { - $this->sg->SetOption('i_donated',true); - $this->sg->SaveOptions(); - } - if(isset($_GET['sm_hide_note'])) { - $this->sg->SetOption('i_hide_note',true); - $this->sg->SaveOptions(); - } - if(isset($_GET['sm_hide_survey'])) { - $this->sg->SetOption('i_hide_survey',true); - $this->sg->SaveOptions(); - } - if(isset($_GET['sm_hidedonors'])) { - $this->sg->SetOption('i_hide_donors',true); - $this->sg->SaveOptions(); - } - if(isset($_GET['sm_hide_works'])) { - $this->sg->SetOption('i_hide_works',true); - $this->sg->SaveOptions(); - } - if(isset($_GET['sm_disable_supportfeed'])) { - $this->sg->SetOption('i_supportfeed',$_GET["sm_disable_supportfeed"]=="true"?false:true); - $this->sg->SaveOptions(); - } - - - if(isset($_GET['sm_donated']) || ($this->sg->GetOption('i_donated')===true && $this->sg->GetOption('i_hide_donated')!==true)) { - ?> - - 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))) { - ?> - - sg->GetOption('i_install_date')>0 && $this->sg->GetOption('i_hide_works')!==true && time() > ($this->sg->GetOption('i_install_date') + (60*60*24*15))) { - ?> -
-

sg->GetRedirectLink("sitemap-works-note"),__('Thanks for using this plugin! You\'ve installed this plugin some time ago. If it works and your are satisfied, why not rate it and recommend it to others? :-)','sitemap')); ?> " style="float:right; display:block; border:none;">

-
-
- sg->ShowSurvey()) - $this->sg->HtmlSurvey(); - } - - ?> - - - - -
"; -} - -/** - * Adds a notice to the admin interface that the WordPress version is too old for the plugin - * - * @package sitemap - * @since 4.0 - */ -function sm_AddPhpVersionError() { - echo "

" . __('Your PHP version is too old for XML Sitemaps.', 'sitemap') . "
" . sprintf(__('Unfortunately this release of Google XML Sitemaps requires at least PHP %4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask your web host to update your PHP installation or go to active plugins and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the plugin website.', 'sitemap'), "plugins.php?plugin_status=active", PHP_VERSION, "http://www.arnebrachhold.de/redir/sitemap-home/","5.2") . "

"; -} - -/** - * Returns the file used to load the sitemap plugin - * - * @package sitemap - * @since 4.0 - * @return string The path and file of the sitemap plugin entry point - */ -function sm_GetInitFile() { - return __FILE__; -} - -//Don't do anything if this file was called directly -if (defined('ABSPATH') && defined('WPINC') && !class_exists("GoogleSitemapGeneratorLoader", false)) { - sm_Setup(); -} - diff --git a/pole-sbv-content/plugins/google-sitemap-generator/sitemap.xsl b/pole-sbv-content/plugins/google-sitemap-generator/sitemap.xsl deleted file mode 100644 index dd874f79..00000000 --- a/pole-sbv-content/plugins/google-sitemap-generator/sitemap.xsl +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - XML Sitemap - - - - - - - - - - - - - -

XML Sitemap

-
-

- This is a XML Sitemap which is supposed to be processed by search engines which follow the XML Sitemap standard like Ask.com, Bing, Google and Yahoo.
- It was generated using the WordPress content management system and the Google Sitemap Generator Plugin by Arne Brachhold.
- You can find more information about XML sitemaps on sitemaps.org and Google's list of sitemap programs. -

-
-
- - - - - - - - - - - - - high - - - - - - - -
URLPriorityChange frequencyLast modified (GMT)
- - - - - - - - - - - - -
-
-
- - - -

XML Sitemap Index

-
-

- This is a XML Sitemap which is supposed to be processed by search engines which follow the XML Sitemap standard like Ask.com, Bing, Google and Yahoo.
- It was generated using the WordPress content management system and the Google Sitemap Generator Plugin by Arne Brachhold.
- You can find more information about XML sitemaps on sitemaps.org and Google's list of sitemap programs.
-
- This file contains links to sub-sitemaps, follow them to see the actual sitemap content. -

-
-
- - - - - - - - - high - - - - - -
URL of sub-sitemapLast modified (GMT)
- - - - - - - - -
-
-
-
\ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-plugins-versions-checker/logger.class.php b/pole-sbv-content/plugins/wordpress-plugins-versions-checker/logger.class.php new file mode 100644 index 00000000..67bc3ceb --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-plugins-versions-checker/logger.class.php @@ -0,0 +1,48 @@ +zLogFilePath = $_zLogFilePath ; + $this->iLogLevel = ERR_DEBUG ; + $this->iLogFd = FALSE ; + } + + // --- Ecriture d'un message d'erreur dans le Log + function writeLog ($_zLogMsg, $iLogLevel = ERR_DEBUG) + { + $this->iLogFd = fopen ($this->zLogFilePath, "a+") ; + $zLogMsg = ""; + $zLogMsg = date ("[d/m/Y - h:i:s]") ; + switch ($iLogLevel) + { + case ERR_NOTICE : + $zLogMsg .= "[NOTICE]" ; + break ; + case ERR_DEBUG : + $zLogMsg .= "" ; + break ; + case ERR_WARNING : + $zLogMsg .= "[WARNING]" ; + break ; + case ERR_ERROR : + $zLogMsg .= "[ERROR]" ; + break ; + } + $zLogMsg .= $_zLogMsg . "\n" ; + @fwrite ($this->iLogFd, $zLogMsg) ; + } + } + +?> diff --git a/pole-sbv-content/plugins/wordpress-plugins-versions-checker/wordpress-plugins-versions-checker.php b/pole-sbv-content/plugins/wordpress-plugins-versions-checker/wordpress-plugins-versions-checker.php new file mode 100644 index 00000000..6b4b7aee --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-plugins-versions-checker/wordpress-plugins-versions-checker.php @@ -0,0 +1,147 @@ +writeLog("DEBUT DE RECUP VERSIONS : "); + //Check if we have the necessary functions + if ( ! function_exists( 'get_plugins' ) ) { + require_once ABSPATH . 'wp-admin/includes/plugin.php'; + } + if ( ! function_exists( 'plugins_api' ) ) { + require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); + } + if ( ! function_exists( 'get_plugin_updates' ) ) { + require_once( ABSPATH . 'wp-admin/includes/update.php' ); + } + if ( ! function_exists( 'get_home_path' ) ) { + require_once( ABSPATH . 'wp-admin/includes/file.php' ); + } + $data = []; + + // get all plugins + $allPlugin = get_plugins(); + //get all updatable plugins + $plugin_to_update = get_plugin_updates(); + + //date update + $date = new DateTime(); + $date = $date->setTimezone(new DateTimeZone('Europe/Paris')); + $date = $date->format('d/m/Y H:i:s'); + $data['updateDate'] = $date; + + //get active plugins + $active_plugins = wp_get_active_and_valid_plugins(); + foreach ($active_plugins as $key => $path) { + $plugin_data = get_plugin_data($path); + $logger->writeLog("Look plugin : ".$plugin_data['Name']); + $data['plugins'][$plugin_data['Name']]['Version'] = $plugin_data['Version']; + // check if one of the active plugins is updatable + if (array_key_exists (plugin_basename( $path ), $plugin_to_update)) { + $data['plugins'][$plugin_data['Name']]['Maj'] = $plugin_to_update[plugin_basename( $path )]->update->new_version; + } else { + $data['plugins'][$plugin_data['Name']]['Maj'] = false; + } + } + + //get non active plugins + foreach ($allPlugin as $key => $value) { + if (is_plugin_inactive($key)) { + $data['inactiveplugins'][$value['Name']] = true; + } + } + //get installed wordpress version + $currentversion = get_bloginfo('version'); + $data['Wordpress']['Version'] = $currentversion; + + //call wordpress api to check if our version is updatable + $url = 'https://api.wordpress.org/core/version-check/1.7/'; + $response = wp_remote_get($url); + $json = $response['body']; + $obj = json_decode($json); + + + if (($obj->offers[0]->current) > $currentversion) { + $data['Wordpress']['Maj'] = $obj->offers[0]->current; + } else { + $data['Wordpress']['Maj'] = false; + } + + + //get mu plugins / check security plugin + $muPlugins = get_mu_plugins(); + if (isset($muPlugins['admin-useraccount-security.php'])) { + $data['SecurityPlugin'] = true; + } else { + $data['SecurityPlugin'] = false; + } + $logger->writeLog("Check Security END"); + //check if .git folder is present + $pathgit = get_home_path().'.git'; + if (is_dir($pathgit)) { + $data['Git'] = true; + } else { + $data['Git'] = false; + } + $logger->writeLog("GIT End"); + //path to all the files and creates if necessary + $pathfolder = get_home_path().'version-checker'; + $filepath = get_home_path().'version-checker/versions.json'; + $htaccesspath = get_home_path().'version-checker/.htaccess'; + $htpasswdpath = get_home_path().'version-checker/.htpasswd'; + $logger->writeLog("START DIR"); + if (!file_exists($pathfolder)) { + mkdir($pathfolder, 0777, true); + $logger->writeLog("Global dir"); + } + if (!file_exists($htaccesspath)) { + $htaccess = 'AuthName "Protected Version Checker" + AuthType Basic + AuthUserFile '.$htpasswdpath.' + Require valid-user'; + file_put_contents($htaccesspath, $htaccess); + + $htpasswd = 'ldc-web:$1$LvylAO22$R72WuB1w8OpNdcISgXBZU.'; + file_put_contents($htpasswdpath, $htpasswd); + } + file_put_contents($filepath, json_encode($data)); + $logger->writeLog("End dir"); +} + +add_action ('check_version_cronjob', 'checkingVersion'); + + ?> diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/ajax.php b/pole-sbv-content/plugins/wordpress-seo/admin/ajax.php new file mode 100644 index 00000000..ca2774b5 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/ajax.php @@ -0,0 +1,466 @@ +' . $file . '' + ); + } + } + + if ( is_dir( $file ) ) { + if ( ! @ rmdir( $file ) ) { + $errors[] = sprintf( + /* translators: %s expands to the directory path and name. */ + __( 'The directory %s could not be removed. Please remove it via FTP.', 'wordpress-seo' ), + '' . $file . '' + ); + } + } + } + } + + if ( $errors ) { + $message = implode( '
', $errors ); + wp_send_json_error( array( 'message' => $message ) ); + } + else { + $message = __( 'Files successfully removed.', 'wordpress-seo' ); + wp_send_json_success( array( 'message' => $message ) ); + } +} + +add_action( 'wp_ajax_wpseo_kill_blocking_files', 'wpseo_kill_blocking_files' ); + +/** + * Used in the editor to replace vars for the snippet preview + */ +function wpseo_ajax_replace_vars() { + global $post; + check_ajax_referer( 'wpseo-replace-vars' ); + + $post = get_post( intval( filter_input( INPUT_POST, 'post_id' ) ) ); + global $wp_query; + $wp_query->queried_object = $post; + $wp_query->queried_object_id = $post->ID; + $omit = array( 'excerpt', 'excerpt_only', 'title' ); + echo wpseo_replace_vars( stripslashes( filter_input( INPUT_POST, 'string' ) ), $post, $omit ); + die; +} + +add_action( 'wp_ajax_wpseo_replace_vars', 'wpseo_ajax_replace_vars' ); + +/** + * Save an individual SEO title from the Bulk Editor. + */ +function wpseo_save_title() { + wpseo_save_what( 'title' ); +} + +add_action( 'wp_ajax_wpseo_save_title', 'wpseo_save_title' ); + +/** + * Save an individual meta description from the Bulk Editor. + */ +function wpseo_save_description() { + wpseo_save_what( 'metadesc' ); +} + +add_action( 'wp_ajax_wpseo_save_metadesc', 'wpseo_save_description' ); + +/** + * Save titles & descriptions + * + * @param string $what Type of item to save (title, description). + */ +function wpseo_save_what( $what ) { + check_ajax_referer( 'wpseo-bulk-editor' ); + + $new = filter_input( INPUT_POST, 'new_value' ); + $post_id = intval( filter_input( INPUT_POST, 'wpseo_post_id' ) ); + $original = filter_input( INPUT_POST, 'existing_value' ); + + $results = wpseo_upsert_new( $what, $post_id, $new, $original ); + + wpseo_ajax_json_echo_die( $results ); +} + +/** + * Helper function to update a post's meta data, returning relevant information + * about the information updated and the results or the meta update. + * + * @param int $post_id Post ID. + * @param string $new_meta_value New meta value to record. + * @param string $orig_meta_value Original meta value. + * @param string $meta_key Meta key string. + * @param string $return_key Return key string to use in results. + * + * @return string + */ +function wpseo_upsert_meta( $post_id, $new_meta_value, $orig_meta_value, $meta_key, $return_key ) { + + $post_id = intval( $post_id ); + $sanitized_new_meta_value = wp_strip_all_tags( $new_meta_value ); + $orig_meta_value = wp_strip_all_tags( $orig_meta_value ); + + $upsert_results = array( + 'status' => 'success', + 'post_id' => $post_id, + "new_{$return_key}" => $sanitized_new_meta_value, + "original_{$return_key}" => $orig_meta_value, + ); + + $the_post = get_post( $post_id ); + if ( empty( $the_post ) ) { + + $upsert_results['status'] = 'failure'; + $upsert_results['results'] = __( 'Post doesn\'t exist.', 'wordpress-seo' ); + + return $upsert_results; + } + + $post_type_object = get_post_type_object( $the_post->post_type ); + if ( ! $post_type_object ) { + + $upsert_results['status'] = 'failure'; + $upsert_results['results'] = sprintf( + /* translators: %s expands to post type. */ + __( 'Post has an invalid Post Type: %s.', 'wordpress-seo' ), + $the_post->post_type + ); + + return $upsert_results; + } + + if ( ! current_user_can( $post_type_object->cap->edit_posts ) ) { + + $upsert_results['status'] = 'failure'; + $upsert_results['results'] = sprintf( + /* translators: %s expands to post type name. */ + __( 'You can\'t edit %s.', 'wordpress-seo' ), + $post_type_object->label + ); + + return $upsert_results; + } + + if ( ! current_user_can( $post_type_object->cap->edit_others_posts ) && $the_post->post_author != get_current_user_id() ) { + + $upsert_results['status'] = 'failure'; + $upsert_results['results'] = sprintf( + /* translators: %s expands to the name of a post type (plural). */ + __( 'You can\'t edit %s that aren\'t yours.', 'wordpress-seo' ), + $post_type_object->label + ); + + return $upsert_results; + + } + + if ( $sanitized_new_meta_value === $orig_meta_value && $sanitized_new_meta_value !== $new_meta_value ) { + $upsert_results['status'] = 'failure'; + $upsert_results['results'] = __( 'You have used HTML in your value which is not allowed.', 'wordpress-seo' ); + + return $upsert_results; + } + + $res = update_post_meta( $post_id, $meta_key, $sanitized_new_meta_value ); + + $upsert_results['status'] = ( $res !== false ) ? 'success' : 'failure'; + $upsert_results['results'] = $res; + + return $upsert_results; +} + +/** + * Save all titles sent from the Bulk Editor. + */ +function wpseo_save_all_titles() { + wpseo_save_all( 'title' ); +} + +add_action( 'wp_ajax_wpseo_save_all_titles', 'wpseo_save_all_titles' ); + +/** + * Save all description sent from the Bulk Editor. + */ +function wpseo_save_all_descriptions() { + wpseo_save_all( 'metadesc' ); +} + +add_action( 'wp_ajax_wpseo_save_all_descriptions', 'wpseo_save_all_descriptions' ); + +/** + * Utility function to save values + * + * @param string $what Type of item so save. + */ +function wpseo_save_all( $what ) { + check_ajax_referer( 'wpseo-bulk-editor' ); + + // @todo the WPSEO Utils class can't filter arrays in POST yet. + $new_values = $_POST['items']; + $original_values = $_POST['existing_items']; + + $results = array(); + + if ( is_array( $new_values ) && $new_values !== array() ) { + foreach ( $new_values as $post_id => $new_value ) { + $original_value = $original_values[ $post_id ]; + $results[] = wpseo_upsert_new( $what, $post_id, $new_value, $original_value ); + } + } + wpseo_ajax_json_echo_die( $results ); +} + +/** + * Insert a new value + * + * @param string $what Item type (such as title). + * @param int $post_id Post ID. + * @param string $new New value to record. + * @param string $original Original value. + * + * @return string + */ +function wpseo_upsert_new( $what, $post_id, $new, $original ) { + $meta_key = WPSEO_Meta::$meta_prefix . $what; + + return wpseo_upsert_meta( $post_id, $new, $original, $meta_key, $what ); +} + +/** + * Handles the posting of a new FB admin. + */ +function wpseo_add_fb_admin() { + check_ajax_referer( 'wpseo_fb_admin_nonce' ); + + if ( ! current_user_can( 'manage_options' ) ) { + die( '-1' ); + } + + $facebook_social = new Yoast_Social_Facebook(); + + wp_die( $facebook_social->add_admin( filter_input( INPUT_POST, 'admin_name' ), filter_input( INPUT_POST, 'admin_id' ) ) ); +} + +add_action( 'wp_ajax_wpseo_add_fb_admin', 'wpseo_add_fb_admin' ); + +/** + * Retrieves the keyword for the keyword doubles. + */ +function ajax_get_keyword_usage() { + $post_id = filter_input( INPUT_POST, 'post_id' ); + $keyword = filter_input( INPUT_POST, 'keyword' ); + + if ( ! current_user_can( 'edit_post', $post_id ) ) { + die( '-1' ); + } + + wp_die( + wp_json_encode( WPSEO_Meta::keyword_usage( $keyword, $post_id ) ) + ); +} + +add_action( 'wp_ajax_get_focus_keyword_usage', 'ajax_get_keyword_usage' ); + +/** + * Retrieves the keyword for the keyword doubles of the termpages. + */ +function ajax_get_term_keyword_usage() { + $post_id = filter_input( INPUT_POST, 'post_id' ); + $keyword = filter_input( INPUT_POST, 'keyword' ); + $taxonomy_name = filter_input( INPUT_POST, 'taxonomy' ); + + $taxonomy = get_taxonomy( $taxonomy_name ); + + if ( ! $taxonomy ) { + wp_die( 0 ); + } + + if ( ! current_user_can( $taxonomy->cap->edit_terms ) ) { + wp_die( -1 ); + } + + $usage = WPSEO_Taxonomy_Meta::get_keyword_usage( $keyword, $post_id, $taxonomy_name ); + + // Normalize the result so it it the same as the post keyword usage AJAX request. + $usage = $usage[ $keyword ]; + + wp_die( + wp_json_encode( $usage ) + ); +} + +add_action( 'wp_ajax_get_term_keyword_usage', 'ajax_get_term_keyword_usage' ); + +/** + * Removes stopword from the sample permalink that is generated in an AJAX request + * + * @param array $permalink The permalink generated for this post by WordPress. + * @param int $post_id The ID of the post. + * @param string $title The title for the post that the user used. + * @param string $name The name for the post that the user used. + * + * @return array + */ +function wpseo_remove_stopwords_sample_permalink( $permalink, $post_id, $title, $name ) { + WPSEO_Options::get_instance(); + $options = WPSEO_Options::get_options( array( 'wpseo_permalinks' ) ); + if ( $options['cleanslugs'] !== true ) { + return $permalink; + } + + /* + * If the name is empty and the title is not, WordPress will generate a slug. In that case we want to remove stop + * words from the slug. + */ + if ( empty( $name ) && ! empty( $title ) ) { + $stop_words = new WPSEO_Admin_Stop_Words(); + + // The second element is the slug. + $permalink[1] = $stop_words->remove_in( $permalink[1] ); + } + + return $permalink; +} + +add_action( 'get_sample_permalink', 'wpseo_remove_stopwords_sample_permalink', 10, 4 ); + +// Crawl Issue Manager AJAX hooks. +new WPSEO_GSC_Ajax(); + +// SEO Score Recalculations. +new WPSEO_Recalculate_Scores_Ajax(); + +new Yoast_Dashboard_Widget(); + +new Yoast_OnPage_Ajax(); + +new WPSEO_Shortcode_Filter(); + +new WPSEO_Taxonomy_Columns(); + + +// Setting the notice for the recalculate the posts. +new Yoast_Dismissable_Notice_Ajax( 'recalculate', Yoast_Dismissable_Notice_Ajax::FOR_SITE ); + +/********************** DEPRECATED METHODS **********************/ + +/** + * Create an export and return the URL + * + * @deprecated 3.3.2 + * @codeCoverageIgnore + */ +function wpseo_get_export() { + _deprecated_function( __FUNCTION__, 'WPSEO 3.3.2', 'This method is deprecated.' ); + + wpseo_ajax_json_echo_die( '' ); +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/ajax/class-recalculate-scores-ajax.php b/pole-sbv-content/plugins/wordpress-seo/admin/ajax/class-recalculate-scores-ajax.php new file mode 100644 index 00000000..66f31b4a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/ajax/class-recalculate-scores-ajax.php @@ -0,0 +1,119 @@ + $this->calculate_posts(), + 'terms' => $this->calculate_terms(), + ) + ) + ); + } + + /** + * Start recalculation + */ + public function recalculate_scores() { + check_ajax_referer( 'wpseo_recalculate', 'nonce' ); + + $fetch_object = $this->get_fetch_object(); + if ( ! empty( $fetch_object ) ) { + $paged = filter_input( INPUT_POST, 'paged', FILTER_VALIDATE_INT ); + $response = $fetch_object->get_items_to_recalculate( $paged ); + + if ( ! empty( $response ) ) { + wp_die( wp_json_encode( $response ) ); + } + } + + wp_die( '' ); + } + + /** + * Saves the new linkdex score for given post + */ + public function save_score() { + check_ajax_referer( 'wpseo_recalculate', 'nonce' ); + + $fetch_object = $this->get_fetch_object(); + if ( ! empty( $fetch_object ) ) { + $scores = filter_input( INPUT_POST, 'scores', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY ); + $fetch_object->save_scores( $scores ); + } + + wp_die(); + } + + /** + * Returns the needed object for recalculating scores. + * + * @return WPSEO_Recalculate_Posts|WPSEO_Recalculate_Terms + */ + private function get_fetch_object() { + switch ( filter_input( INPUT_POST, 'type' ) ) { + case 'post': + return new WPSEO_Recalculate_Posts(); + case 'term': + return new WPSEO_Recalculate_Terms(); + } + + return null; + } + + /** + * Gets the total number of posts + * + * @return int + */ + private function calculate_posts() { + $count_posts_query = new WP_Query( + array( + 'post_type' => 'any', + 'meta_key' => '_yoast_wpseo_focuskw', + 'posts_per_page' => 1, + 'fields' => 'ids', + ) + ); + + return $count_posts_query->found_posts; + } + + /** + * Get the total number of terms + * + * @return int + */ + private function calculate_terms() { + $total = 0; + foreach ( get_taxonomies( array(), 'objects' ) as $taxonomy ) { + $total += wp_count_terms( $taxonomy->name, array( 'hide_empty' => false ) ); + } + + return $total; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/ajax/class-shortcode-filter.php b/pole-sbv-content/plugins/wordpress-seo/admin/ajax/class-shortcode-filter.php new file mode 100644 index 00000000..0bcc0ceb --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/ajax/class-shortcode-filter.php @@ -0,0 +1,39 @@ + $shortcode, + 'output' => do_shortcode( $shortcode ), + ); + } + + wp_die( wp_json_encode( $parsed_shortcodes ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/ajax/class-yoast-dismissable-notice.php b/pole-sbv-content/plugins/wordpress-seo/admin/ajax/class-yoast-dismissable-notice.php new file mode 100644 index 00000000..48fd916c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/ajax/class-yoast-dismissable-notice.php @@ -0,0 +1,69 @@ +notice_name = $notice_name; + $this->notice_type = $notice_type; + + add_action( 'wp_ajax_wpseo_dismiss_' . $notice_name, array( $this, 'dismiss_notice' ) ); + } + + /** + * Handles the dismiss notice request + */ + public function dismiss_notice() { + check_ajax_referer( 'wpseo-dismiss-' . $this->notice_name ); + + $this->save_dismissed(); + + wp_die( 'true' ); + } + + /** + * Storing the dismissed value in the database. The target location is based on the set notification type. + */ + private function save_dismissed() { + if ( $this->notice_type === self::FOR_SITE ) { + update_option( 'wpseo_dismiss_' . $this->notice_name, 1 ); + + return; + } + + if ( $this->notice_type === self::FOR_NETWORK ) { + update_site_option( 'wpseo_dismiss_' . $this->notice_name, 1 ); + + return; + } + + update_user_meta( get_current_user_id(), 'wpseo_dismiss_' . $this->notice_name, 1 ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/ajax/class-yoast-onpage-ajax.php b/pole-sbv-content/plugins/wordpress-seo/admin/ajax/class-yoast-onpage-ajax.php new file mode 100644 index 00000000..baeba12b --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/ajax/class-yoast-onpage-ajax.php @@ -0,0 +1,38 @@ +save_dismissed(); + + wp_die( 'true' ); + } + + /** + * Storing the dismissed value as an user option in the database + */ + private function save_dismissed() { + update_user_meta( get_current_user_id(), WPSEO_OnPage::USER_META_KEY, 1 ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/ajax/class-yoast-plugin-conflict-ajax.php b/pole-sbv-content/plugins/wordpress-seo/admin/ajax/class-yoast-plugin-conflict-ajax.php new file mode 100644 index 00000000..398beb23 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/ajax/class-yoast-plugin-conflict-ajax.php @@ -0,0 +1,105 @@ +dismissed_conflicts = $this->get_dismissed_conflicts( $conflict_data['section'] ); + + $this->compare_plugins( $conflict_data['plugins'] ); + + $this->save_dismissed_conflicts( $conflict_data['section'] ); + + wp_die( 'true' ); + } + + /** + * Getting the user option from the database + * + * @return bool|array + */ + private function get_dismissed_option() { + return get_user_meta( get_current_user_id(), $this->option_name, true ); + } + + /** + * Getting the dismissed conflicts from the database + * + * @param string $plugin_section Type of conflict group (such as Open Graph or sitemap). + * + * @return array + */ + private function get_dismissed_conflicts( $plugin_section ) { + $dismissed_conflicts = $this->get_dismissed_option(); + + if ( is_array( $dismissed_conflicts ) && array_key_exists( $plugin_section, $dismissed_conflicts ) ) { + return $dismissed_conflicts[ $plugin_section ]; + } + + return array(); + } + + /** + * Storing the conflicting plugins as an user option in the database + * + * @param string $plugin_section Plugin conflict type (such as Open Graph or sitemap). + */ + private function save_dismissed_conflicts( $plugin_section ) { + $dismissed_conflicts = $this->get_dismissed_option(); + + $dismissed_conflicts[ $plugin_section ] = $this->dismissed_conflicts; + + update_user_meta( get_current_user_id(), $this->option_name, $dismissed_conflicts ); + } + + /** + * Loop through the plugins to compare them with the already stored dismissed plugin conflicts + * + * @param array $posted_plugins Plugin set to check. + */ + public function compare_plugins( array $posted_plugins ) { + foreach ( $posted_plugins as $posted_plugin ) { + $this->compare_plugin( $posted_plugin ); + } + } + + /** + * Check if plugin is already dismissed, if not store it in the array that will be saved later + * + * @param string $posted_plugin Plugin to check against dismissed conflicts. + */ + private function compare_plugin( $posted_plugin ) { + if ( ! in_array( $posted_plugin, $this->dismissed_conflicts ) ) { + $this->dismissed_conflicts[] = $posted_plugin; + } + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner-renderer.php b/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner-renderer.php new file mode 100644 index 00000000..347b8f15 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner-renderer.php @@ -0,0 +1,48 @@ +get_url() ) . '">'; + $output .= '' . esc_attr( $banner->get_alt() ) . ''; + $output .= ''; + + return $output; + } + + /** + * Sets the base path, where the images are located. + * + * @param string $base_path The image location. + */ + public function set_base_path( $base_path ) { + $this->base_path = $base_path; + } + + /** + * Returns the full path for the image. + * + * @param string $image The image path. + * + * @return string + */ + protected function get_image_path( $image ) { + return rtrim( $this->base_path, '/' ) . '/' . ltrim( $image, '/' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner-sidebar-renderer.php b/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner-sidebar-renderer.php new file mode 100644 index 00000000..3af98d3f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner-sidebar-renderer.php @@ -0,0 +1,60 @@ +spot_renderer = $spot_renderer; + } + + /** + * Renders the admin banner sidebar. + * + * @param WPSEO_Admin_Banner_Sidebar $banner_sidebar The sidebar to render. + * + * @return string + */ + public function render( WPSEO_Admin_Banner_Sidebar $banner_sidebar ) { + return sprintf( ' + ', + $banner_sidebar->get_title(), + $this->render_banner_spots( $banner_sidebar->get_banner_spots() ) + ); + } + + /** + * Renders the admin banner spots. + * + * @param WPSEO_Admin_Banner_Spot[] $banner_spots The banner spots to render. + * + * @return string + */ + protected function render_banner_spots( array $banner_spots ) { + $return = ''; + foreach ( $banner_spots as $banner_spot ) { + $return .= $this->spot_renderer->render( $banner_spot ); + } + + return $return; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner-sidebar.php b/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner-sidebar.php new file mode 100644 index 00000000..c006887e --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner-sidebar.php @@ -0,0 +1,388 @@ +title = $title; + $this->banner_renderer = $banner_renderer; + } + + /** + * Returns the set title. + * + * @return string + */ + public function get_title() { + return $this->title; + } + + /** + * Initializes the banner sidebar by setting its banner spots. + * + * @param WPSEO_Features $features Class regarding WPSEO Features. + */ + public function initialize( WPSEO_Features $features ) { + if ( $features->is_free() ) { + $this->add_banner_spot( $this->get_premium_spot() ); + } + + $this->add_banner_spot( $this->get_services_spot() ); + + $extensions_spot = $this->get_extensions_spot( $this->get_active_extensions() ); + if ( $extensions_spot->has_banners() ) { + $this->add_banner_spot( $extensions_spot ); + } + + $this->add_banner_spot( $this->get_courses_spot() ); + $this->add_banner_spot( $this->get_remove_banner_spot() ); + } + + /** + * Returns array with bannerspots. + * + * @return WPSEO_Admin_Banner_Spot[] + */ + public function get_banner_spots() { + return $this->banner_spots; + } + + /** + * Adds a banner spot. + * + * @param WPSEO_Admin_Banner_Spot $spot The spot to add. + */ + protected function add_banner_spot( WPSEO_Admin_Banner_Spot $spot ) { + $this->banner_spots[] = $spot; + } + + /** + * Returns the premium banner spot. + * + * @return WPSEO_Admin_Banner_Spot + */ + protected function get_premium_spot() { + $premium_spot = new WPSEO_Admin_Banner_Spot( '', $this->banner_renderer ); + + $premium_uri = WPSEO_Shortlinker::get( 'https://yoa.st/jj' ); + + $premium_spot->set_extra( + /* translators: %1$s expands to the plugin name */ + '

' . sprintf( __( 'Get %1$s', 'wordpress-seo' ), 'Yoast SEO Premium' ) . '

' . + '
    ' . + '
  • ' . __( 'Multiple keywords', 'wordpress-seo' ) . '
    ' . __( 'Increase your SEO reach', 'wordpress-seo' ) . '
  • ' . + '
  • ' . __( 'No more dead links', 'wordpress-seo' ) . '
    ' . __( 'Easy redirect manager', 'wordpress-seo' ) . '
  • ' . + '
  • ' . __( 'Internal linking suggestions', 'wordpress-seo' ) . '
    ' . __( 'Find related posts superfast', 'wordpress-seo' ) . '
  • ' . + '
  • ' . __( 'Social media preview', 'wordpress-seo' ) . '
    ' . esc_html__( 'Facebook & Twitter', 'wordpress-seo' ) . '
  • ' . + '
  • ' . __( '24/7 support', 'wordpress-seo' ) . '
  • ' . + '
  • ' . __( 'No ads!', 'wordpress-seo' ) . '
  • ' . + '
' . + /* translators: %s expands to Yoast SEO Premium */ + '' . sprintf( __( 'Get %s now!', 'wordpress-seo' ), 'Yoast SEO Premium' ) . '
' + ); + + /* + $premium_spot->set_description( + sprintf( + /* translators: %1$s expands to a link start tag to the Yoast plugin page, %2$s is the link closing tag * / + __( 'Want to get the most out of your SEO-strategy? %1$sGo premium!%2$s.', 'wordpress-seo' ), + '', + '' + ) + ); + /* + + $premium_spot->add_banner( + new WPSEO_Admin_Banner( + WPSEO_Shortlinker::get( 'https://yoa.st/jj' ), + 'premium-seo.png', + 261, + 152, + sprintf( + /* translators: %1$s expands to Yoast SEO Premium. * / + __( 'Buy the %1$s plugin now and get access to extra features and 24/7 support!', 'wordpress-seo' ), + 'Yoast SEO Premium' + ) + ) + ); + */ + + return $premium_spot; + } + + /** + * Returns the services banner spot. + * + * @return WPSEO_Admin_Banner_Spot + */ + protected function get_services_spot() { + $service_spot = new WPSEO_Admin_Banner_Spot( __( 'Services', 'wordpress-seo' ), $this->banner_renderer ); + + $service_spot->set_description( + sprintf( + /* translators: %1$s expands to a link start tag to the Yoast Services page, %2$s to Yoast, %3$s is the link closing tag. */ + __( 'Do you want to know how to improve your rankings? %1$sLet team %2$s help you!%3$s', 'wordpress-seo' ), + '', + 'Yoast', + '' + ) + ); + + $service_spot->add_banner( + new WPSEO_Admin_Banner( + WPSEO_Shortlinker::get( 'https://yoa.st/jm' ), + 'configuration-service.png', + 261, + 152, + sprintf( + /* translators: %1$s expands to Yoast SEO Premium. */ + __( 'Let our experts set up your %1$s plugin!', 'wordpress-seo' ), + 'Yoast SEO Premium' + ) + ) + ); + + /* + $service_spot->add_banner( + new WPSEO_Admin_Banner( + WPSEO_Shortlinker::get( 'https://yoa.st/seo-care-banner' ), + 'seo-care.png', + 261, + 152, + sprintf( + /* translators: %1$s expands to Yoast SEO Care. * / + __( 'Let us help you take care of the SEO of your website. Order %1$s now!', 'wordpress-seo' ), + 'Yoast SEO Care' + ) + ) + ); + */ + + return $service_spot; + } + + /** + * Returns an array with the Yoast SEO extensions with the value true when they are active. + * + * @return array + */ + protected function get_active_extensions() { + return array( + 'video' => class_exists( 'wpseo_Video_Sitemap' ), + 'woocommerce' => class_exists( 'Woocommerce' ) && class_exists( 'Yoast_WooCommerce_SEO' ), + 'news' => class_exists( 'WPSEO_News' ), + 'local' => defined( 'WPSEO_LOCAL_VERSION' ), + ); + } + + /** + * Returns the extensions banner spot. + * + * @param array $active_extensions The active extensions. + * + * @return WPSEO_Admin_Banner_Spot + */ + protected function get_extensions_spot( array $active_extensions ) { + $extension_spot = new WPSEO_Admin_Banner_Spot( __( 'Extensions', 'wordpress-seo' ), $this->banner_renderer ); + + $extension_spot->set_description( + sprintf( + /* translators: %1$s expands to a link start tag to the Yoast plugin page, %2$s is the link closing tag. */ + __( 'Take your SEO to the next level and outrank your competition with our %1$sSEO plugins%2$s.', 'wordpress-seo' ), + '', + '' + ) + ); + + if ( empty( $active_extensions['video'] ) ) { + $extension_spot->add_banner( + new WPSEO_Admin_Banner( + WPSEO_Shortlinker::get( 'https://yoa.st/jo' ), + 'video-seo.png', + 261, + 152, + sprintf( + /* translators: %1$s expands to Yoast Video SEO. */ + __( 'Buy the %1$s plugin now and optimize your videos for video search results and social media!', 'wordpress-seo' ), + 'Yoast Video SEO' + ) + ) + ); + } + + if ( empty( $active_extensions['woocommerce'] ) ) { + $extension_spot->add_banner( + new WPSEO_Admin_Banner( + WPSEO_Shortlinker::get( 'https://yoa.st/jp' ), + 'woocommerce-seo.png', + 261, + 152, + sprintf( + /* translators: %1$s expands to Yoast WooCommerce SEO. */ + __( 'Buy the %1$s plugin now and optimize your shop today to improve your product promotion!', 'wordpress-seo' ), + 'Yoast WooCommerce SEO' + ) + ) + ); + } + + if ( empty( $active_extensions['local'] ) ) { + $extension_spot->add_banner( + new WPSEO_Admin_Banner( + WPSEO_Shortlinker::get( 'https://yoa.st/jq' ), + 'local-seo.png', 261, + 152, + sprintf( + /* translators: %1$s expands to Yoast Local SEO. */ + __( 'Buy the %1$s plugin now to improve your site’s Local SEO and ranking in Google Maps!', 'wordpress-seo' ), + 'Yoast Local SEO' + ) + ) + ); + } + + if ( empty( $active_extensions['news'] ) ) { + $extension_spot->add_banner( + new WPSEO_Admin_Banner( + WPSEO_Shortlinker::get( 'https://yoa.st/jr' ), + 'news-seo.png', + 261, + 152, + sprintf( + /* translators: %1$s expands to Yoast News SEO. */ + __( 'Buy the %1$s plugin now and start optimizing to get your site featured in Google News!', 'wordpress-seo' ), + 'Yoast News SEO' + ) + ) + ); + } + + return $extension_spot; + } + + /** + * Returns the courses banner spot. + * + * @return WPSEO_Admin_Banner_Spot + */ + protected function get_courses_spot() { + $courses_spot = new WPSEO_Admin_Banner_Spot( __( 'Courses', 'wordpress-seo' ), $this->banner_renderer ); + + $courses_spot->set_description( + sprintf( + /* translators: %1$s expands to a link start tag to the Yoast Services page, %2$s is the link closing tag. */ + __( 'Do you want to get a grip on your own SEO-strategy? Learn all about it in one of %1$sour courses%2$s.', 'wordpress-seo' ), + '', + '' + ) + ); + + $courses_spot->add_banner( + new WPSEO_Admin_Banner( + WPSEO_Shortlinker::get( 'https://yoa.st/ju' ), + 'basic-seo-training.png', + 261, + 152, + __( 'Take the online Basic SEO Training course and learn the fundamentals of SEO!', 'wordpress-seo' ) + ) + ); + + $courses_spot->add_banner( + new WPSEO_Admin_Banner( + WPSEO_Shortlinker::get( 'https://yoa.st/jv' ), + 'yoast-seo-for-wordpress-training.png', + 261, + 152, + sprintf( + /* translators: %1$s expands to Yoast SEO for WordPress Training, %2$s to Yoast SEO for WordPress. */ + __( 'Take the %1$s course and become a certified %2$s expert!', 'wordpress-seo' ), + 'Yoast SEO for WordPress Training', + 'Yoast SEO for WordPress' + ) + ) + ); + + $courses_spot->add_banner( + new WPSEO_Admin_Banner( + WPSEO_Shortlinker::get( 'https://yoa.st/jw' ), + 'seo-copywriting-training.png', + 261, + 152, + __( 'Take the online SEO Copywriting Training course and learn how to write awesome copy that ranks!', 'wordpress-seo' ) + ) + ); + + $courses_spot->add_banner( + new WPSEO_Admin_Banner( + WPSEO_Shortlinker::get( 'https://yoa.st/qy' ), + 'site-structure-training.png', + 261, + 152, + __( 'Take the online Site Structure Training course and learn how to structure your website!', 'wordpress-seo' ) + ) + ); + + $courses_spot->add_banner( + new WPSEO_Admin_Banner( + WPSEO_Shortlinker::get( 'https://yoa.st/jaa' ), + 'technical-seo-training.png', + 261, + 152, + __( 'Take the online Technical SEO Training course and learn essential technical SEO-concepts!', 'wordpress-seo' ) + ) + ); + + $courses_spot->add_banner( + new WPSEO_Admin_Banner( + WPSEO_Shortlinker::get( 'https://yoa.st/15h' ), + 'structured-data-course.png', + 261, + 152, + __( 'Take the online Structured Data Training course and learn how to create rich snippets!', 'wordpress-seo' ) + ) + ); + + return $courses_spot; + } + + /** + * Returns the remove banner spot. + * + * @return WPSEO_Admin_Banner_Spot + */ + protected function get_remove_banner_spot() { + + $remove_banner_spot = new WPSEO_Admin_Banner_Spot( + __( 'Remove these ads?', 'wordpress-seo' ) + ); + + $remove_banner_spot->set_description( + '' . + /* translators: %1$s expands to Yoast SEO Premium */ + sprintf( __( 'Upgrade to %1$s »', 'wordpress-seo' ), 'Yoast SEO Premium' ) . + '' + ); + + return $remove_banner_spot; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner-spot-renderer.php b/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner-spot-renderer.php new file mode 100644 index 00000000..dd807aa1 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner-spot-renderer.php @@ -0,0 +1,37 @@ +'; + if ( $banner_spot->get_title() !== '' ) { + $output .= '' . $banner_spot->get_title() . ''; + } + + if ( $banner_spot->get_extra() !== '' ) { + $output .= $banner_spot->get_extra(); + } + + if ( $banner_spot->get_description() !== '' ) { + $output .= '

' . $banner_spot->get_description() . '

'; + } + + $output .= $banner_spot->render_banner(); + $output .= ''; + + return $output; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner-spot.php b/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner-spot.php new file mode 100644 index 00000000..22d4c83d --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner-spot.php @@ -0,0 +1,118 @@ +title = $title; + $this->banner_renderer = ( is_null( $banner_renderer ) ? new WPSEO_Admin_Banner_Renderer() : $banner_renderer ); + } + + /** + * Returns the title. + * + * @return string + */ + public function get_title() { + return $this->title; + } + + /** + * Returns the description. + * + * @return string + */ + public function get_description() { + return $this->description; + } + + /** + * Returns the extra content. + * + * @return string + */ + public function get_extra() { + return $this->extra; + } + + /** + * Sets the description + * + * @param string $description The description. + */ + public function set_description( $description ) { + $this->description = $description; + } + + /** + * Sets the "extra" + * + * @param string $extra The "extra". + */ + public function set_extra( $extra ) { + $this->extra = $extra; + } + + /** + * Adds an admin banner. + * + * @param WPSEO_Admin_Banner $banner The banner to add. + */ + public function add_banner( WPSEO_Admin_Banner $banner ) { + $this->banners[] = $banner; + } + + /** + * Renders the banner. + * + * @return string + */ + public function render_banner() { + if ( ! $this->has_banners() ) { + return ''; + } + + return $this->banner_renderer->render( $this->get_random_banner() ); + } + + /** + * Checks if there are any banners set. + * + * @return bool + */ + public function has_banners() { + return ! empty( $this->banners ); + } + + /** + * Returns a random banner. + * + * @return null|WPSEO_Admin_Banner + */ + protected function get_random_banner() { + return $this->banners[ array_rand( $this->banners, 1 ) ]; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner.php b/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner.php new file mode 100644 index 00000000..d179c426 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/banner/class-admin-banner.php @@ -0,0 +1,87 @@ +url = $url; + $this->image = $image; + $this->alt = $alt; + $this->width = $width; + $this->height = $height; + } + + /** + * Returns the set url. + * + * @return string + */ + public function get_url() { + return $this->url; + } + + /** + * Returns the image. + * + * @return string + */ + public function get_image() { + return $this->image; + } + + /** + * Returns the alt-text. + * + * @return string + */ + public function get_alt() { + return $this->alt; + } + + /** + * Returns the width. + * + * @return string + */ + public function get_width() { + return $this->width; + } + + /** + * Returns the height. + * + * @return string + */ + public function get_height() { + return $this->height; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/capabilities/class-abstract-capability-manager.php b/pole-sbv-content/plugins/wordpress-seo/admin/capabilities/class-abstract-capability-manager.php new file mode 100644 index 00000000..9f77727c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/capabilities/class-abstract-capability-manager.php @@ -0,0 +1,82 @@ +capabilities[ $capability ] ) ) { + $this->capabilities[ $capability ] = $roles; + + return; + } + + // Combine configurations. + $this->capabilities[ $capability ] = array_merge( $roles, $this->capabilities[ $capability ] ); + + // Remove doubles. + $this->capabilities[ $capability ] = array_unique( $this->capabilities[ $capability ] ); + } + + /** + * Returns the list of registered capabilitities. + * + * @return string[] Registered capabilities. + */ + public function get_capabilities() { + return array_keys( $this->capabilities ); + } + + /** + * Returns a list of WP_Role roles. + * + * The string array of role names are converted to actual WP_Role objects. + * These are needed to be able to use the API on them. + * + * @param array $roles Roles to retrieve the objects for. + * + * @return WP_Role[] List of WP_Role objects. + */ + protected function get_wp_roles( array $roles ) { + $wp_roles = array_map( 'get_role', $roles ); + + return array_filter( $wp_roles ); + } + + /** + * Filter capability roles. + * + * @param string $capability Capability to filter roles for. + * @param array $roles List of roles which can be filtered. + * + * @return array Filtered list of roles for the capability. + */ + protected function filter_roles( $capability, array $roles ) { + /** + * Filter: Allow changing roles that a capability is added to. + * + * @api array $roles The default roles to be filtered. + */ + $filtered = apply_filters( $capability . '_roles', $roles ); + + // Make sure we have the expected type. + if ( ! is_array( $filtered ) ) { + return array(); + } + + return $filtered; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/capabilities/class-capability-manager-factory.php b/pole-sbv-content/plugins/wordpress-seo/admin/capabilities/class-capability-manager-factory.php new file mode 100644 index 00000000..aa87cdac --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/capabilities/class-capability-manager-factory.php @@ -0,0 +1,30 @@ +capabilities as $capability => $roles ) { + $role_capabilities = $this->get_role_capabilities( $role_capabilities, $capability, $roles ); + } + + foreach ( $role_capabilities as $role => $capabilities ) { + wpcom_vip_add_role_caps( $role, array( $capabilities ) ); + } + } + + /** + * Removes the registered capabilities from the system + * + * @return void + */ + public function remove() { + // Remove from any role it has been added to. + $roles = wp_roles()->get_names(); + $roles = array_keys( $roles ); + + $role_capabilities = array(); + foreach ( array_keys( $this->capabilities ) as $capability ) { + // Allow filtering of roles. + $role_capabilities = $this->get_role_capabilities( $role_capabilities, $capability, $roles ); + } + + foreach ( $role_capabilities as $role => $capabilities ) { + wpcom_vip_remove_role_caps( $role, array( $capabilities ) ); + } + } + + /** + * Returns the roles which the capability is registered on. + * + * @param array $role_capabilities List of all roles with their capabilities. + * @param string $capability Capability to filter roles for. + * @param array $roles List of default roles. + * + * @return array List of capabilities. + */ + protected function get_role_capabilities( $role_capabilities, $capability, $roles ) { + // Allow filtering of roles. + $filtered_roles = $this->filter_roles( $capability, $roles ); + + foreach ( $filtered_roles as $role ) { + if ( ! isset( $add_role_caps[ $role ] ) ) { + $role_capabilities[ $role ] = array(); + } + + $role_capabilities[ $role ][] = $capability; + } + + return $role_capabilities; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/capabilities/class-capability-manager-wp.php b/pole-sbv-content/plugins/wordpress-seo/admin/capabilities/class-capability-manager-wp.php new file mode 100644 index 00000000..5ba34cc1 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/capabilities/class-capability-manager-wp.php @@ -0,0 +1,48 @@ +capabilities as $capability => $roles ) { + $filtered_roles = $this->filter_roles( $capability, $roles ); + + $wp_roles = $this->get_wp_roles( $filtered_roles ); + foreach ( $wp_roles as $wp_role ) { + $wp_role->add_cap( $capability ); + } + } + } + + /** + * Unregisters the capabilities from the system. + * + * @return void + */ + public function remove() { + // Remove from any roles it has been added to. + $roles = wp_roles()->get_names(); + $roles = array_keys( $roles ); + + foreach ( $this->capabilities as $capability => $_roles ) { + $registered_roles = array_unique( array_merge( $roles, $this->capabilities[ $capability ] ) ); + + // Allow filtering of roles. + $filtered_roles = $this->filter_roles( $capability, $registered_roles ); + + $wp_roles = $this->get_wp_roles( $filtered_roles ); + foreach ( $wp_roles as $wp_role ) { + $wp_role->remove_cap( $capability ); + } + } + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/capabilities/class-capability-manager.php b/pole-sbv-content/plugins/wordpress-seo/admin/capabilities/class-capability-manager.php new file mode 100644 index 00000000..a0241c18 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/capabilities/class-capability-manager.php @@ -0,0 +1,35 @@ +register( 'wpseo_bulk_edit', array( 'editor', 'wpseo_editor', 'wpseo_manager' ) ); + $manager->register( 'wpseo_edit_advanced_metadata', array( 'wpseo_editor', 'wpseo_manager' ) ); + + $manager->register( 'wpseo_manage_options', array( 'wpseo_manager' ) ); + + /* + * Respect MultiSite 'access' setting if set to 'super admins only'. + * This means that local admins do not get the `wpseo_manage_options` capability. + */ + $ms_options = WPSEO_Options::get_option( 'ms' ); + if ( $ms_options['access'] !== 'superadmins' ) { + $manager->register( 'wpseo_manage_options', array( 'administrator' ) ); + } + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-admin-asset-manager.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-admin-asset-manager.php new file mode 100644 index 00000000..6832a806 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-admin-asset-manager.php @@ -0,0 +1,440 @@ +get_name(), + $script->get_url( WPSEO_Admin_Asset::TYPE_JS, WPSEO_FILE ), + $script->get_deps(), + $script->get_version(), + $script->is_in_footer() + ); + } + + /** + * Registers styles based on it's parameters. + * + * @param WPSEO_Admin_Asset $style The style to register. + */ + public function register_style( WPSEO_Admin_Asset $style ) { + wp_register_style( + self::PREFIX . $style->get_name(), + $style->get_url( WPSEO_Admin_Asset::TYPE_CSS, WPSEO_FILE ), + $style->get_deps(), + $style->get_version(), + $style->get_media() + ); + } + + /** + * Calls the functions that register scripts and styles with the scripts and styles to be registered as arguments. + */ + public function register_assets() { + $this->register_scripts( $this->scripts_to_be_registered() ); + $this->register_styles( $this->styles_to_be_registered() ); + } + + /** + * Registers all the scripts passed to it. + * + * @param array $scripts The scripts passed to it. + */ + public function register_scripts( $scripts ) { + foreach ( $scripts as $script ) { + $script = new WPSEO_Admin_Asset( $script ); + $this->register_script( $script ); + } + } + + /** + * Registers all the styles it recieves. + * + * @param array $styles Styles that need to be registerd. + */ + public function register_styles( $styles ) { + foreach ( $styles as $style ) { + $style = new WPSEO_Admin_Asset( $style ); + $this->register_style( $style ); + } + } + + /** + * A list of styles that shouldn't be registered but are needed in other locations in the plugin. + * + * @return array + */ + public function special_styles() { + $flat_version = $this->flatten_version( WPSEO_VERSION ); + + return array( + 'inside-editor' => new WPSEO_Admin_Asset( array( + 'name' => 'inside-editor', + 'src' => 'inside-editor-' . $flat_version, + ) ), + ); + } + + /** + * Flattens a version number for use in a filename + * + * @param string $version The original version number. + * @return string The flattened version number. + */ + public function flatten_version( $version ) { + $parts = explode( '.', $version ); + + if ( count( $parts ) === 2 ) { + $parts[] = '0'; + } + + return implode( '', $parts ); + } + + /** + * Returns the scripts that need to be registered. + * + * @todo Data format is not self-documenting. Needs explanation inline. R. + * + * @return array scripts that need to be registered. + */ + private function scripts_to_be_registered() { + + $select2_language = 'en'; + $user_locale = WPSEO_Utils::get_user_locale(); + $language = WPSEO_Utils::get_language( $user_locale ); + + if ( file_exists( WPSEO_PATH . "js/dist/select2/i18n/{$user_locale}.js" ) ) { + $select2_language = $user_locale; // Chinese and some others use full locale. + } + elseif ( file_exists( WPSEO_PATH . "js/dist/select2/i18n/{$language}.js" ) ) { + $select2_language = $language; + } + + $flat_version = $this->flatten_version( WPSEO_VERSION ); + + return array( + array( + 'name' => 'help-center', + 'src' => 'wp-seo-help-center-' . $flat_version, + 'deps' => array( + 'jquery' + ), + ), + array( + 'name' => 'admin-script', + 'src' => 'wp-seo-admin-' . $flat_version, + 'deps' => array( + 'jquery', + 'jquery-ui-core', + 'jquery-ui-progressbar', + self::PREFIX . 'select2', + self::PREFIX . 'select2-translations', + self::PREFIX . 'polyfill', + ), + ), + array( + 'name' => 'admin-media', + 'src' => 'wp-seo-admin-media-' . $flat_version, + 'deps' => array( + 'jquery', + 'jquery-ui-core', + self::PREFIX . 'polyfill', + ), + ), + array( + 'name' => 'bulk-editor', + 'src' => 'wp-seo-bulk-editor-' . $flat_version, + 'deps' => array( 'jquery', self::PREFIX . 'polyfill' ), + ), + array( + 'name' => 'dismissible', + 'src' => 'wp-seo-dismissible-' . $flat_version, + 'deps' => array( 'jquery', self::PREFIX . 'polyfill' ), + ), + array( + 'name' => 'admin-global-script', + 'src' => 'wp-seo-admin-global-' . $flat_version, + 'deps' => array( 'jquery', self::PREFIX . 'polyfill' ), + ), + array( + 'name' => 'metabox', + 'src' => 'wp-seo-metabox-' . $flat_version, + 'deps' => array( + 'jquery', + 'jquery-ui-core', + 'jquery-ui-autocomplete', + self::PREFIX . 'select2', + self::PREFIX . 'select2-translations', + self::PREFIX . 'polyfill', + ), + 'in_footer' => false, + ), + array( + 'name' => 'featured-image', + 'src' => 'wp-seo-featured-image-' . $flat_version, + 'deps' => array( + 'jquery', + self::PREFIX . 'polyfill', + ), + ), + array( + 'name' => 'admin-gsc', + 'src' => 'wp-seo-admin-gsc-' . $flat_version, + 'deps' => array( self::PREFIX . 'polyfill' ), + 'in_footer' => false, + ), + array( + 'name' => 'post-scraper', + 'src' => 'wp-seo-post-scraper-' . $flat_version, + 'deps' => array( + self::PREFIX . 'replacevar-plugin', + self::PREFIX . 'shortcode-plugin', + 'wp-util', + self::PREFIX . 'polyfill', + ), + ), + array( + 'name' => 'term-scraper', + 'src' => 'wp-seo-term-scraper-' . $flat_version, + 'deps' => array( + self::PREFIX . 'replacevar-plugin', + self::PREFIX . 'polyfill', + ), + ), + array( + 'name' => 'replacevar-plugin', + 'src' => 'wp-seo-replacevar-plugin-' . $flat_version, + 'deps' => array( self::PREFIX . 'polyfill' ), + ), + array( + 'name' => 'shortcode-plugin', + 'src' => 'wp-seo-shortcode-plugin-' . $flat_version, + 'deps' => array( self::PREFIX . 'polyfill' ), + ), + array( + 'name' => 'recalculate', + 'src' => 'wp-seo-recalculate-' . $flat_version, + 'deps' => array( + 'jquery', + 'jquery-ui-core', + 'jquery-ui-progressbar', + self::PREFIX . 'polyfill', + ), + ), + array( + 'name' => 'primary-category', + 'src' => 'wp-seo-metabox-category-' . $flat_version, + 'deps' => array( + 'jquery', + 'wp-util', + self::PREFIX . 'polyfill', + ), + ), + array( + 'name' => 'select2', + 'src' => 'select2/select2.full', + 'suffix' => '.min', + 'deps' => array( + 'jquery', + ), + 'version' => '4.0.3', + ), + array( + 'name' => 'select2-translations', + 'src' => 'select2/i18n/' . $select2_language, + 'deps' => array( + 'jquery', + self::PREFIX . 'select2', + ), + 'version' => '4.0.3', + 'suffix' => '', + ), + array( + 'name' => 'configuration-wizard', + 'src' => 'configuration-wizard-' . $flat_version, + 'deps' => array( + 'jquery', + self::PREFIX . 'polyfill', + ), + ), + array( + 'name' => 'polyfill', + 'src' => 'wp-seo-babel-polyfill-' . $flat_version, + ), + array( + 'name' => 'reindex-links', + 'src' => 'wp-seo-reindex-links-' . $flat_version, + 'deps' => array( + 'jquery', + 'jquery-ui-core', + 'jquery-ui-progressbar', + ), + ), + array( + 'name' => 'edit-page-script', + 'src' => 'wp-seo-edit-page-' . $flat_version, + 'deps' => array( 'jquery' ), + ), + array( + 'name' => 'quick-edit-handler', + 'src' => 'wp-seo-quick-edit-handler-' . $flat_version, + 'deps' => array( 'jquery' ), + 'in_footer' => true, + ), + array( + 'name' => 'api', + 'src' => 'wp-seo-api-' . $flat_version, + 'deps' => array( + 'wp-api', + 'jquery', + ), + ), + array( + 'name' => 'dashboard-widget', + 'src' => 'wp-seo-dashboard-widget-' . $flat_version, + 'deps' => array( + self::PREFIX . 'api', + self::PREFIX . 'polyfill', + 'jquery', + ), + ), + array( + 'name' => 'filter-explanation', + 'src' => 'wp-seo-filter-explanation-' . $flat_version, + 'deps' => array( 'jquery' ), + ), + ); + } + + /** + * Returns the styles that need to be registered. + * + * @todo Data format is not self-documenting. Needs explanation inline. R. + * + * @return array styles that need to be registered. + */ + private function styles_to_be_registered() { + $flat_version = $this->flatten_version( WPSEO_VERSION ); + + return array( + array( + 'name' => 'admin-css', + 'src' => 'yst_plugin_tools-' . $flat_version, + 'deps' => array( self::PREFIX . 'toggle-switch' ), + ), + array( + 'name' => 'toggle-switch', + 'src' => 'toggle-switch-' . $flat_version, + ), + array( + 'name' => 'dismissible', + 'src' => 'wpseo-dismissible-' . $flat_version, + ), + array( + 'name' => 'alerts', + 'src' => 'alerts-' . $flat_version, + ), + array( + 'name' => 'edit-page', + 'src' => 'edit-page-' . $flat_version, + ), + array( + 'name' => 'featured-image', + 'src' => 'featured-image-' . $flat_version, + ), + array( + 'name' => 'metabox-css', + 'src' => 'metabox-' . $flat_version, + 'deps' => array( + self::PREFIX . 'select2', + ), + ), + array( + 'name' => 'wp-dashboard', + 'src' => 'dashboard-' . $flat_version, + ), + array( + 'name' => 'scoring', + 'src' => 'yst_seo_score-' . $flat_version, + ), + array( + 'name' => 'snippet', + 'src' => 'snippet-' . $flat_version, + ), + array( + 'name' => 'adminbar', + 'src' => 'adminbar-' . $flat_version, + ), + array( + 'name' => 'primary-category', + 'src' => 'metabox-primary-category-' . $flat_version, + ), + array( + 'name' => 'select2', + 'src' => 'select2/select2', + 'suffix' => '.min', + 'version' => '4.0.1', + 'rtl' => false, + ), + array( + 'name' => 'kb-search', + 'src' => 'kb-search-' . $flat_version, + ), + array( + 'name' => 'help-center', + 'src' => 'help-center-' . $flat_version, + ), + array( + 'name' => 'admin-global', + 'src' => 'admin-global-' . $flat_version, + ), + array( + 'name' => 'yoast-components', + 'src' => 'yoast-components-' . $flat_version, + ), + array( + 'name' => 'extensions', + 'src' => 'yoast-extensions-' . $flat_version, + ), + array( + 'name' => 'filter-explanation', + 'src' => 'filter-explanation-' . $flat_version, + ), + ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-admin-help-panel.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-admin-help-panel.php new file mode 100644 index 00000000..74550e47 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-admin-help-panel.php @@ -0,0 +1,91 @@ +id = $id; + $this->help_button_text = $help_button_text; + $this->help_content = $help_content; + $this->wrapper = $wrapper; + } + + /** + * Returns the html for the Help Button. + * + * @return string + */ + public function get_button_html() { + + if ( ! $this->id || ! $this->help_button_text || ! $this->help_content ) { + return ''; + } + + return sprintf( + ' ', + esc_attr( $this->id ), + $this->help_button_text + ); + } + + /** + * Returns the html for the Help Panel. + * + * @return string + */ + public function get_panel_html() { + + if ( ! $this->id || ! $this->help_button_text || ! $this->help_content ) { + return ''; + } + + $wrapper_start = $wrapper_end = ''; + + if ( 'has-wrapper' === $this->wrapper ) { + $wrapper_start = '
'; + $wrapper_end = '
'; + } + + return sprintf( + '%1$s

%3$s

%4$s', + $wrapper_start, + esc_attr( $this->id ), + $this->help_content, + $wrapper_end + ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-admin-init.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-admin-init.php new file mode 100644 index 00000000..1913b23e --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-admin-init.php @@ -0,0 +1,649 @@ +options = WPSEO_Options::get_option( 'wpseo_xml' ); + + $GLOBALS['wpseo_admin'] = new WPSEO_Admin(); + + $this->pagenow = $GLOBALS['pagenow']; + + $this->asset_manager = new WPSEO_Admin_Asset_Manager(); + + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_dismissible' ) ); + add_action( 'admin_init', array( $this, 'tagline_notice' ), 15 ); + add_action( 'admin_init', array( $this, 'blog_public_notice' ), 15 ); + add_action( 'admin_init', array( $this, 'permalink_notice' ), 15 ); + add_action( 'admin_init', array( $this, 'page_comments_notice' ), 15 ); + add_action( 'admin_init', array( $this, 'ga_compatibility_notice' ), 15 ); + add_action( 'admin_init', array( $this, 'yoast_plugin_compatibility_notification' ), 15 ); + add_action( 'admin_init', array( $this, 'yoast_plugin_suggestions_notification' ), 15 ); + add_action( 'admin_init', array( $this, 'recalculate_notice' ), 15 ); + add_action( 'admin_init', array( $this->asset_manager, 'register_assets' ) ); + add_action( 'admin_init', array( $this, 'show_hook_deprecation_warnings' ) ); + add_action( 'admin_init', array( 'WPSEO_Plugin_Conflict', 'hook_check_for_plugin_conflicts' ) ); + + $this->load_meta_boxes(); + $this->load_taxonomy_class(); + $this->load_admin_page_class(); + $this->load_admin_user_class(); + $this->load_xml_sitemaps_admin(); + } + + /** + * Enqueue our styling for dismissible yoast notifications. + */ + public function enqueue_dismissible() { + $this->asset_manager->enqueue_style( 'dismissible' ); + } + + /** + * Helper to verify if the current user has already seen the about page for the current version + * + * @return bool + */ + private function seen_about() { + $seen_about_version = substr( get_user_meta( get_current_user_id(), 'wpseo_seen_about_version', true ), 0, 3 ); + $last_minor_version = substr( WPSEO_VERSION, 0, 3 ); + + return version_compare( $seen_about_version, $last_minor_version, '>=' ); + } + + /** + * Notify about the default tagline if the user hasn't changed it + */ + public function tagline_notice() { + + $current_url = ( is_ssl() ? 'https://' : 'http://' ); + $current_url .= sanitize_text_field( $_SERVER['SERVER_NAME'] ) . sanitize_text_field( $_SERVER['REQUEST_URI'] ); + $customize_url = add_query_arg( array( + 'url' => urlencode( $current_url ), + ), wp_customize_url() ); + + $info_message = sprintf( + /* translators: 1: link open tag; 2: link close tag. */ + __( 'You still have the default WordPress tagline, even an empty one is probably better. %1$sYou can fix this in the customizer%2$s.', 'wordpress-seo' ), + '', + '' + ); + + $notification_options = array( + 'type' => Yoast_Notification::ERROR, + 'id' => 'wpseo-dismiss-tagline-notice', + 'capabilities' => 'wpseo_manage_options', + ); + + $tagline_notification = new Yoast_Notification( $info_message, $notification_options ); + + $notification_center = Yoast_Notification_Center::get(); + if ( $this->has_default_tagline() ) { + $notification_center->add_notification( $tagline_notification ); + } + else { + $notification_center->remove_notification( $tagline_notification ); + } + } + + /** + * Add an alert if the blog is not publicly visible + */ + public function blog_public_notice() { + + $info_message = '' . __( 'Huge SEO Issue: You\'re blocking access to robots.', 'wordpress-seo' ) . ' '; + $info_message .= sprintf( + /* translators: %1$s resolves to the opening tag of the link to the reading settings, %1$s resolves to the closing tag for the link */ + __( 'You must %1$sgo to your Reading Settings%2$s and uncheck the box for Search Engine Visibility.', 'wordpress-seo' ), + '', + '' + ); + + $notification_options = array( + 'type' => Yoast_Notification::ERROR, + 'id' => 'wpseo-dismiss-blog-public-notice', + 'priority' => 1.0, + 'capabilities' => 'wpseo_manage_options', + ); + + $notification = new Yoast_Notification( $info_message, $notification_options ); + + $notification_center = Yoast_Notification_Center::get(); + if ( ! $this->is_blog_public() ) { + $notification_center->add_notification( $notification ); + } + else { + $notification_center->remove_notification( $notification ); + } + } + + /** + * Display notice to disable comment pagination + */ + public function page_comments_notice() { + + $info_message = __( 'Paging comments is enabled, this is not needed in 999 out of 1000 cases, we recommend to disable it.', 'wordpress-seo' ); + $info_message .= '
'; + + $info_message .= sprintf( + /* translators: %1$s resolves to the opening tag of the link to the comment setting page, %2$s resolves to the closing tag of the link */ + __( 'Simply uncheck the box before "Break comments into pages..." on the %1$sComment settings page%2$s.', 'wordpress-seo' ), + '', + '' + ); + + $notification_options = array( + 'type' => Yoast_Notification::WARNING, + 'id' => 'wpseo-dismiss-page_comments-notice', + 'capabilities' => 'wpseo_manage_options', + ); + + $tagline_notification = new Yoast_Notification( $info_message, $notification_options ); + + $notification_center = Yoast_Notification_Center::get(); + if ( $this->has_page_comments() ) { + $notification_center->add_notification( $tagline_notification ); + } + else { + $notification_center->remove_notification( $tagline_notification ); + } + } + + /** + * Returns whether or not the site has the default tagline + * + * @return bool + */ + public function has_default_tagline() { + $blog_description = get_bloginfo( 'description' ); + $default_blog_description = 'Just another WordPress site'; + + // We are checking against the WordPress internal translation. + // @codingStandardsIgnoreLine + $translated_blog_description = __( 'Just another WordPress site' ); + + return $translated_blog_description === $blog_description || $default_blog_description === $blog_description; + } + + /** + * Show alert when the permalink doesn't contain %postname% + */ + public function permalink_notice() { + + $info_message = __( 'You do not have your postname in the URL of your posts and pages, it is highly recommended that you do. Consider setting your permalink structure to /%postname%/.', 'wordpress-seo' ); + $info_message .= '
'; + $info_message .= sprintf( + /* translators: %1$s resolves to the starting tag of the link to the permalink settings page, %2$s resolves to the closing tag of the link */ + __( 'You can fix this on the %1$sPermalink settings page%2$s.', 'wordpress-seo' ), + '', + '' + ); + + $notification_options = array( + 'type' => Yoast_Notification::WARNING, + 'id' => 'wpseo-dismiss-permalink-notice', + 'capabilities' => 'wpseo_manage_options', + 'priority' => 0.8, + ); + + $notification = new Yoast_Notification( $info_message, $notification_options ); + + $notification_center = Yoast_Notification_Center::get(); + if ( ! $this->has_postname_in_permalink() ) { + $notification_center->add_notification( $notification ); + } + else { + $notification_center->remove_notification( $notification ); + } + } + + /** + * Are page comments enabled + * + * @return bool + */ + public function has_page_comments() { + return '1' === get_option( 'page_comments' ); + } + + /** + * Shows a notice to the user if they have Google Analytics for WordPress 5.4.3 installed because it causes an error + * on the google search console page. + */ + public function ga_compatibility_notice() { + + $notification = $this->get_compatibility_notification(); + $notification_center = Yoast_Notification_Center::get(); + + if ( defined( 'GAWP_VERSION' ) && '5.4.3' === GAWP_VERSION ) { + $notification_center->add_notification( $notification ); + } + else { + $notification_center->remove_notification( $notification ); + } + } + + /** + * Build compatibility problem notification + * + * @return Yoast_Notification + */ + private function get_compatibility_notification() { + $info_message = sprintf( + /* translators: %1$s expands to Yoast SEO, %2$s expands to 5.4.3, %3$s expands to Google Analytics by Yoast */ + __( '%1$s detected you are using version %2$s of %3$s, please update to the latest version to prevent compatibility issues.', 'wordpress-seo' ), + 'Yoast SEO', + '5.4.3', + 'Google Analytics by Yoast' + ); + + return new Yoast_Notification( + $info_message, + array( + 'id' => 'gawp-compatibility-notice', + 'type' => Yoast_Notification::ERROR, + ) + ); + } + + /** + * Determines whether a suggested plugins notification needs to be displayed. + * + * @return void + */ + public function yoast_plugin_suggestions_notification() { + $checker = new WPSEO_Plugin_Availability(); + $notification_center = Yoast_Notification_Center::get(); + + // Get all Yoast plugins that have dependencies. + $plugins = $checker->get_plugins_with_dependencies(); + + foreach ( $plugins as $plugin_name => $plugin ) { + $dependency_names = $checker->get_dependency_names( $plugin ); + $notification = $this->get_yoast_seo_suggested_plugins_notification( $plugin_name, $plugin, $dependency_names[0] ); + + if ( $checker->dependencies_are_satisfied( $plugin ) && ! $checker->is_installed( $plugin ) ) { + $notification_center->add_notification( $notification ); + + continue; + } + + $notification_center->remove_notification( $notification ); + } + } + + /** + * Build Yoast SEO suggested plugins notification. + * + * @param string $name The plugin name to use for the unique ID. + * @param array $plugin The plugin to retrieve the data from. + * @param string $dependency_name The name of the dependency. + * + * @return Yoast_Notification The notification containing the suggested plugin. + */ + private function get_yoast_seo_suggested_plugins_notification( $name, $plugin, $dependency_name ) { + $info_message = sprintf( + /* translators: %1$s expands to Yoast SEO, %2$s expands to the plugin version, %3$s expands to the plugin name */ + __( '%1$s and %2$s can work together a lot better by adding a helper plugin. Please install %3$s to make your life better.', 'wordpress-seo' ), + 'Yoast SEO', + $dependency_name, + sprintf( '%s', $plugin['url'], $plugin['title'] ) + ); + + return new Yoast_Notification( + $info_message, + array( + 'id' => 'wpseo-suggested-plugin-' . $name, + 'type' => Yoast_Notification::WARNING, + ) + ); + } + + /** + * Add an alert if outdated versions of Yoast SEO plugins are running. + */ + public function yoast_plugin_compatibility_notification() { + $compatibility_checker = new WPSEO_Plugin_Compatibility( WPSEO_VERSION ); + $plugins = $compatibility_checker->get_installed_plugins_compatibility(); + + $notification_center = Yoast_Notification_Center::get(); + + foreach ( $plugins as $name => $plugin ) { + $type = ( $plugin['active'] ) ? Yoast_Notification::ERROR : Yoast_Notification::WARNING; + $notification = $this->get_yoast_seo_compatibility_notification( $name, $plugin, $type ); + + if ( $plugin['compatible'] === false ) { + $notification_center->add_notification( $notification ); + + continue; + } + + $notification_center->remove_notification( $notification ); + } + } + + /** + * Build Yoast SEO compatibility problem notification + * + * @param string $name The plugin name to use for the unique ID. + * @param array $plugin The plugin to retrieve the data from. + * @param string $level The severity level to use for the notification. + * + * @return Yoast_Notification + */ + private function get_yoast_seo_compatibility_notification( $name, $plugin, $level = Yoast_Notification::WARNING ) { + $info_message = sprintf( + /* translators: %1$s expands to Yoast SEO, %2$s expands to the plugin version, %3$s expands to the plugin name */ + __( '%1$s detected you are using version %2$s of %3$s, please update to the latest version to prevent compatibility issues.', 'wordpress-seo' ), + 'Yoast SEO', + $plugin['version'], + $plugin['title'] + ); + + return new Yoast_Notification( + $info_message, + array( + 'id' => 'wpseo-outdated-yoast-seo-plugin-' . $name, + 'type' => $level, + ) + ); + } + + /** + * Shows the notice for recalculating the post. the Notice will only be shown if the user hasn't dismissed it before. + */ + public function recalculate_notice() { + // Just a return, because we want to temporary disable this notice (#3998 and #4532). + return; + + if ( filter_input( INPUT_GET, 'recalculate' ) === '1' ) { + update_option( 'wpseo_dismiss_recalculate', '1' ); + return; + } + + if ( ! WPSEO_Capability_Utils::current_user_can( 'wpseo_manage_options' ) ) { + return; + } + + if ( $this->is_site_notice_dismissed( 'wpseo_dismiss_recalculate' ) ) { + return; + } + + Yoast_Notification_Center::get()->add_notification( + new Yoast_Notification( + sprintf( + /* translators: 1: is a link to 'admin_url / admin.php?page=wpseo_tools&recalculate=1' 2: closing link tag */ + __( 'We\'ve updated our SEO score algorithm. %1$sRecalculate the SEO scores%2$s for all posts and pages.', 'wordpress-seo' ), + '', + '' + ), + array( + 'type' => 'updated yoast-dismissible', + 'id' => 'wpseo-dismiss-recalculate', + 'nonce' => wp_create_nonce( 'wpseo-dismiss-recalculate' ), + ) + ) + ); + } + + /** + * Check if the user has dismissed the given notice (by $notice_name) + * + * @param string $notice_name The name of the notice that might be dismissed. + * + * @return bool + */ + private function is_site_notice_dismissed( $notice_name ) { + return '1' === get_option( $notice_name, true ); + } + + /** + * Helper to verify if the user is currently visiting one of our admin pages. + * + * @return bool + */ + private function on_wpseo_admin_page() { + return 'admin.php' === $this->pagenow && strpos( filter_input( INPUT_GET, 'page' ), 'wpseo' ) === 0; + } + + /** + * Determine whether we should load the meta box class and if so, load it. + */ + private function load_meta_boxes() { + + $is_editor = WPSEO_Metabox::is_post_overview( $this->pagenow ) || WPSEO_Metabox::is_post_edit( $this->pagenow ); + $is_inline_save = filter_input( INPUT_POST, 'action' ) === 'inline-save'; + + /** + * Filter: 'wpseo_always_register_metaboxes_on_admin' - Allow developers to change whether + * the WPSEO metaboxes are only registered on the typical pages (lean loading) or always + * registered when in admin. + * + * @api bool Whether to always register the metaboxes or not. Defaults to false. + */ + if ( $is_editor || $is_inline_save || apply_filters( 'wpseo_always_register_metaboxes_on_admin', false ) + ) { + $GLOBALS['wpseo_metabox'] = new WPSEO_Metabox(); + $GLOBALS['wpseo_meta_columns'] = new WPSEO_Meta_Columns(); + } + } + + /** + * Determine if we should load our taxonomy edit class and if so, load it. + */ + private function load_taxonomy_class() { + if ( + WPSEO_Taxonomy::is_term_edit( $this->pagenow ) + || WPSEO_Taxonomy::is_term_overview( $this->pagenow ) + ) { + new WPSEO_Taxonomy(); + } + } + + /** + * Determine if we should load our admin pages class and if so, load it. + * + * Loads admin page class for all admin pages starting with `wpseo_`. + */ + private function load_admin_user_class() { + if ( in_array( $this->pagenow, array( 'user-edit.php', 'profile.php' ) ) && current_user_can( 'edit_users' ) ) { + new WPSEO_Admin_User_Profile(); + } + } + + /** + * Determine if we should load our admin pages class and if so, load it. + * + * Loads admin page class for all admin pages starting with `wpseo_`. + */ + private function load_admin_page_class() { + + if ( $this->on_wpseo_admin_page() ) { + // For backwards compatabilty, this still needs a global, for now... + $GLOBALS['wpseo_admin_pages'] = new WPSEO_Admin_Pages(); + + // Only register the yoast i18n when the page is a Yoast SEO page. + if ( WPSEO_Utils::is_yoast_seo_free_page( filter_input( INPUT_GET, 'page' ) ) ) { + $this->register_i18n_promo_class(); + $this->register_premium_upsell_admin_block(); + } + } + } + + /** + * Registers the Premium Upsell Admin Block. + * + * @return void + */ + private function register_premium_upsell_admin_block() { + if ( ! WPSEO_Utils::is_yoast_seo_premium() ) { + $upsell_block = new Premium_Upsell_Admin_Block( 'wpseo_admin_promo_footer' ); + $upsell_block->register_hooks(); + } + } + + /** + * Registers the promotion class for our GlotPress instance, then creates a notification with the i18n promo. + * + * @link https://github.com/Yoast/i18n-module + */ + private function register_i18n_promo_class() { + // BC, because an older version of the i18n-module didn't have this class. + $i18n_module = new Yoast_I18n_WordPressOrg_v3( + array( + 'textdomain' => 'wordpress-seo', + 'plugin_name' => 'Yoast SEO', + 'hook' => 'wpseo_admin_promo_footer', + ), false + ); + + $message = $i18n_module->get_promo_message(); + + if ( $message !== '' ) { + $message .= $i18n_module->get_dismiss_i18n_message_button(); + } + + $notification_center = Yoast_Notification_Center::get(); + + $notification = new Yoast_Notification( + $message, + array( + 'type' => Yoast_Notification::WARNING, + 'id' => 'i18nModuleTranslationAssistance', + ) + ); + + if ( $message ) { + $notification_center->add_notification( $notification ); + return; + } + + $notification_center->remove_notification( $notification ); + } + + /** + * See if we should start our XML Sitemaps Admin class + */ + private function load_xml_sitemaps_admin() { + if ( $this->options['enablexmlsitemap'] === true ) { + new WPSEO_Sitemaps_Admin(); + } + } + + /** + * Check if the site is set to be publicly visible + * + * @return bool + */ + private function is_blog_public() { + return '1' == get_option( 'blog_public' ); + } + + /** + * Shows deprecation warnings to the user if a plugin has registered a filter we have deprecated. + */ + public function show_hook_deprecation_warnings() { + global $wp_filter; + + if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) { + return false; + } + + // WordPress hooks that have been deprecated in Yoast SEO 3.0. + $deprecated_30 = array( + 'wpseo_metadesc_length', + 'wpseo_metadesc_length_reason', + 'wpseo_body_length_score', + 'wpseo_linkdex_results', + 'wpseo_snippet', + ); + + $deprecated_notices = array_intersect( + $deprecated_30, + array_keys( $wp_filter ) + ); + + foreach ( $deprecated_notices as $deprecated_filter ) { + _deprecated_function( + /* translators: %s expands to the actual filter/action that has been used. */ + sprintf( __( '%s filter/action', 'wordpress-seo' ), $deprecated_filter ), + 'WPSEO 3.0', + 'javascript' + ); + } + } + + /** + * Check if there is a dismiss notice action. + * + * @param string $notice_name The name of the notice to dismiss. + * + * @return bool + */ + private function dismiss_notice( $notice_name ) { + return filter_input( INPUT_GET, $notice_name ) === '1' && wp_verify_nonce( filter_input( INPUT_GET, 'nonce' ), $notice_name ); + } + + /** + * Check if the permalink uses %postname% + * + * @return bool + */ + private function has_postname_in_permalink() { + return ( false !== strpos( get_option( 'permalink_structure' ), '%postname%' ) ); + } + + /********************** DEPRECATED METHODS **********************/ + + /** + * Returns whether or not the user has seen the tagline notice + * + * @deprecated 3.3 + * @codeCoverageIgnore + * + * @return bool + */ + public function seen_tagline_notice() { + _deprecated_function( __METHOD__, 'WPSEO 3.3.0' ); + return false; + } + + /** + * Redirect first time or just upgraded users to the about screen. + * + * @deprecated 3.5 + * @codeCoverageIgnore + */ + public function after_update_notice() { + _deprecated_function( __METHOD__, 'WPSEO 3.5' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-admin-user-profile.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-admin-user-profile.php new file mode 100644 index 00000000..cce68939 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-admin-user-profile.php @@ -0,0 +1,90 @@ +filter_input_post( 'wpseo_nonce' ); + + if ( empty( $nonce_value ) ) { // Submit from alternate forms. + return; + } + + check_admin_referer( 'wpseo_user_profile_update', 'wpseo_nonce' ); + + update_user_meta( $user_id, 'wpseo_title', $this->filter_input_post( 'wpseo_author_title' ) ); + update_user_meta( $user_id, 'wpseo_metadesc', $this->filter_input_post( 'wpseo_author_metadesc' ) ); + update_user_meta( $user_id, 'wpseo_metakey', $this->filter_input_post( 'wpseo_author_metakey' ) ); + update_user_meta( $user_id, 'wpseo_excludeauthorsitemap', $this->filter_input_post( 'wpseo_author_exclude' ) ); + update_user_meta( $user_id, 'wpseo_content_analysis_disable', $this->filter_input_post( 'wpseo_content_analysis_disable' ) ); + update_user_meta( $user_id, 'wpseo_keyword_analysis_disable', $this->filter_input_post( 'wpseo_keyword_analysis_disable' ) ); + } + + /** + * Add the inputs needed for SEO values to the User Profile page + * + * @param WP_User $user User instance to output for. + */ + public function user_profile( $user ) { + $options = WPSEO_Options::get_option( 'wpseo' ); + $options_titles = WPSEO_Options::get_option( 'wpseo_titles' ); + + wp_nonce_field( 'wpseo_user_profile_update', 'wpseo_nonce' ); + + require_once WPSEO_PATH . 'admin/views/user-profile.php'; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-admin.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-admin.php new file mode 100644 index 00000000..6127d2f5 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-admin.php @@ -0,0 +1,699 @@ +register_hooks(); + + $this->options = WPSEO_Options::get_options( array( 'wpseo', 'wpseo_permalinks' ) ); + + if ( is_multisite() ) { + WPSEO_Options::maybe_set_multisite_defaults( false ); + } + + if ( $this->options['stripcategorybase'] === true ) { + add_action( 'created_category', array( $this, 'schedule_rewrite_flush' ) ); + add_action( 'edited_category', array( $this, 'schedule_rewrite_flush' ) ); + add_action( 'delete_category', array( $this, 'schedule_rewrite_flush' ) ); + } + + $this->admin_features = array( + // Google Search Console. + 'google_search_console' => new WPSEO_GSC(), + 'dashboard_widget' => new Yoast_Dashboard_Widget(), + ); + + if ( WPSEO_Metabox::is_post_overview( $pagenow ) || WPSEO_Metabox::is_post_edit( $pagenow ) ) { + $this->admin_features['primary_category'] = new WPSEO_Primary_Term_Admin(); + } + + if ( filter_input( INPUT_GET, 'page' ) === 'wpseo_tools' && filter_input( INPUT_GET, 'tool' ) === null ) { + new WPSEO_Recalculate_Scores(); + } + + add_filter( 'plugin_action_links_' . WPSEO_BASENAME, array( $this, 'add_action_link' ), 10, 2 ); + + add_action( 'admin_enqueue_scripts', array( $this, 'config_page_scripts' ) ); + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_global_style' ) ); + + if ( $this->options['cleanslugs'] === true ) { + add_filter( 'name_save_pre', array( $this, 'remove_stopwords_from_slug' ), 0 ); + } + + add_filter( 'user_contactmethods', array( $this, 'update_contactmethods' ), 10, 1 ); + + add_action( 'after_switch_theme', array( $this, 'switch_theme' ) ); + add_action( 'switch_theme', array( $this, 'switch_theme' ) ); + + add_filter( 'set-screen-option', array( $this, 'save_bulk_edit_options' ), 10, 3 ); + + add_action( 'admin_init', array( 'WPSEO_Plugin_Conflict', 'hook_check_for_plugin_conflicts' ), 10, 1 ); + add_action( 'admin_init', array( $this, 'import_plugin_hooks' ) ); + + add_action( 'admin_init', array( $this, 'map_manage_options_cap' ) ); + + WPSEO_Sitemaps_Cache::register_clear_on_option_update( 'wpseo' ); + + if ( WPSEO_Utils::is_yoast_seo_page() ) { + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_assets' ) ); + } + + if ( WPSEO_Utils::is_api_available() ) { + $configuration = new WPSEO_Configuration_Page(); + $configuration->set_hooks(); + $configuration->catch_configuration_request(); + } + + $this->set_upsell_notice(); + + $this->check_php_version(); + $this->initialize_cornerstone_content(); + + $integrations[] = new WPSEO_Yoast_Columns(); + $integrations[] = new WPSEO_License_Page_Manager(); + $integrations[] = new WPSEO_Statistic_Integration(); + $integrations[] = new WPSEO_Slug_Change_Watcher(); + $integrations = array_merge( $integrations, $this->initialize_seo_links() ); + + /** @var WPSEO_WordPress_Integration $integration */ + foreach ( $integrations as $integration ) { + $integration->register_hooks(); + } + + } + + /** + * Setting the hooks for importing data from other plugins + */ + public function import_plugin_hooks() { + if ( current_user_can( $this->get_manage_options_cap() ) ) { + $plugin_imports = array( + 'wpSEO' => new WPSEO_Import_WPSEO_Hooks(), + 'aioseo' => new WPSEO_Import_AIOSEO_Hooks(), + ); + } + } + + /** + * Schedules a rewrite flush to happen at shutdown + */ + public function schedule_rewrite_flush() { + add_action( 'shutdown', 'flush_rewrite_rules' ); + } + + /** + * Returns all the classes for the admin features + * + * @return array + */ + public function get_admin_features() { + return $this->admin_features; + } + + /** + * Register assets needed on admin pages + */ + public function enqueue_assets() { + $asset_manager = new WPSEO_Admin_Asset_Manager(); + $asset_manager->enqueue_style( 'help-center' ); + + if ( 'wpseo_licenses' === filter_input( INPUT_GET, 'page' ) ) { + $asset_manager->enqueue_style( 'extensions' ); + } + } + + /** + * Returns the manage_options capability. + * + * @return string The capability to use. + */ + public function get_manage_options_cap() { + /** + * Filter: 'wpseo_manage_options_capability' - Allow changing the capability users need to view the settings pages + * + * @api string unsigned The capability + */ + return apply_filters( 'wpseo_manage_options_capability', 'wpseo_manage_options' ); + } + + /** + * Maps the manage_options cap on saving an options page to wpseo_manage_options. + */ + public function map_manage_options_cap() { + $option_page = ! empty( $_POST['option_page'] ) ? $_POST['option_page'] : ''; // WPCS: CSRF ok. + + if ( strpos( $option_page, 'yoast_wpseo' ) === 0 ) { + add_filter( 'option_page_capability_' . $option_page, array( $this, 'get_manage_options_cap' ) ); + } + } + + /** + * Adds contextual help to the titles & metas page. + * + * @deprecated + */ + public function title_metas_help_tab() { + _deprecated_function( __METHOD__, '5.6.0' ); + + $screen = get_current_screen(); + + $screen->set_help_sidebar( ' +

' . __( 'For more information:', 'wordpress-seo' ) . '

+

' . __( 'Title optimization', 'wordpress-seo' ) . '

+

' . __( 'Why Google won\'t display the right page title', 'wordpress-seo' ) . '

' + ); + + $screen->add_help_tab( + array( + 'id' => 'basic-help', + 'title' => __( 'Template explanation', 'wordpress-seo' ), + 'content' => "\n\t\t

" . __( 'Template explanation', 'wordpress-seo' ) . "

\n\t\t" . '

' . + sprintf( + /* translators: %1$s expands to Yoast SEO. */ + __( 'The title & metas settings for %1$s are made up of variables that are replaced by specific values from the page when the page is displayed. The tabs on the left explain the available variables.', 'wordpress-seo' ), + 'Yoast SEO' ) . + '

' . __( 'Note that not all variables can be used in every template.', 'wordpress-seo' ) . '

', + ) + ); + + $screen->add_help_tab( + array( + 'id' => 'title-vars', + 'title' => __( 'Basic Variables', 'wordpress-seo' ), + 'content' => "\n\t\t

" . __( 'Basic Variables', 'wordpress-seo' ) . "

\n\t\t" . WPSEO_Replace_Vars::get_basic_help_texts(), + ) + ); + + $screen->add_help_tab( + array( + 'id' => 'title-vars-advanced', + 'title' => __( 'Advanced Variables', 'wordpress-seo' ), + 'content' => "\n\t\t

" . __( 'Advanced Variables', 'wordpress-seo' ) . "

\n\t\t" . WPSEO_Replace_Vars::get_advanced_help_texts(), + ) + ); + } + + + + + /** + * Adds the ability to choose how many posts are displayed per page + * on the bulk edit pages. + */ + public function bulk_edit_options() { + $option = 'per_page'; + $args = array( + 'label' => __( 'Posts', 'wordpress-seo' ), + 'default' => 10, + 'option' => 'wpseo_posts_per_page', + ); + add_screen_option( $option, $args ); + } + + /** + * Saves the posts per page limit for bulk edit pages. + * + * @param int $status Status value to pass through. + * @param string $option Option name. + * @param int $value Count value to check. + * + * @return int + */ + public function save_bulk_edit_options( $status, $option, $value ) { + if ( 'wpseo_posts_per_page' === $option && ( $value > 0 && $value < 1000 ) ) { + return $value; + } + + return $status; + } + + /** + * Add a link to the settings page to the plugins list + * + * @staticvar string $this_plugin holds the directory & filename for the plugin + * + * @param array $links array of links for the plugins, adapted when the current plugin is found. + * @param string $file the filename for the current plugin, which the filter loops through. + * + * @return array $links + */ + public function add_action_link( $links, $file ) { + if ( WPSEO_BASENAME === $file && WPSEO_Capability_Utils::current_user_can( 'wpseo_manage_options' ) ) { + $settings_link = '' . __( 'Settings', 'wordpress-seo' ) . ''; + array_unshift( $links, $settings_link ); + } + + if ( class_exists( 'WPSEO_Product_Premium' ) ) { + $license_manager = new Yoast_Plugin_License_Manager( new WPSEO_Product_Premium() ); + if ( $license_manager->license_is_valid() ) { + return $links; + } + } + + // Add link to premium support landing page. + $premium_link = '' . __( 'Premium Support', 'wordpress-seo' ) . ''; + array_unshift( $links, $premium_link ); + + // Add link to docs. + $faq_link = '' . __( 'FAQ', 'wordpress-seo' ) . ''; + array_unshift( $links, $faq_link ); + + return $links; + } + + /** + * Enqueues the (tiny) global JS needed for the plugin. + */ + public function config_page_scripts() { + $asset_manager = new WPSEO_Admin_Asset_Manager(); + $asset_manager->enqueue_script( 'admin-global-script' ); + + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'admin-global-script', 'wpseoAdminGlobalL10n', $this->localize_admin_global_script() ); + } + + /** + * Enqueues the (tiny) global stylesheet needed for the plugin. + */ + public function enqueue_global_style() { + $asset_manager = new WPSEO_Admin_Asset_Manager(); + $asset_manager->enqueue_style( 'admin-global' ); + } + + /** + * Filter the $contactmethods array and add Facebook, Google+ and Twitter. + * + * These are used with the Facebook author, rel="author" and Twitter cards implementation. + * + * @param array $contactmethods currently set contactmethods. + * + * @return array $contactmethods with added contactmethods. + */ + public function update_contactmethods( $contactmethods ) { + // Add Google+. + $contactmethods['googleplus'] = __( 'Google+', 'wordpress-seo' ); + // Add Twitter. + $contactmethods['twitter'] = __( 'Twitter username (without @)', 'wordpress-seo' ); + // Add Facebook. + $contactmethods['facebook'] = __( 'Facebook profile URL', 'wordpress-seo' ); + + return $contactmethods; + } + + /** + * Cleans stopwords out of the slug, if the slug hasn't been set yet. + * + * @since 1.1.7 + * + * @param string $slug if this isn't empty, the function will return an unaltered slug. + * + * @return string $clean_slug cleaned slug + */ + public function remove_stopwords_from_slug( $slug ) { + return $this->filter_stopwords_from_slug( $slug, filter_input( INPUT_POST, 'post_title' ) ); + } + + /** + * Filter the stopwords from the slug + * + * @param string $slug The current slug, if not empty there will be done nothing. + * @param string $post_title The title which will be used in case of an empty slug. + * + * @return string + */ + public function filter_stopwords_from_slug( $slug, $post_title ) { + // Don't change an existing slug. + if ( isset( $slug ) && $slug !== '' ) { + return $slug; + } + + // When the post title is empty, just return the slug. + if ( empty( $post_title ) ) { + return $slug; + } + + // Don't change the slug if this is a multisite installation and the site has been switched. + if ( is_multisite() && ms_is_switched() ) { + return $slug; + } + + // Don't change slug if the post is a draft, this conflicts with polylang. + // Doesn't work with filter_input() since need current value, not originally submitted one. + // @codingStandardsIgnoreLine + if ( 'draft' === $_POST['post_status'] ) { + return $slug; + } + + // Lowercase the slug and strip slashes. + $new_slug = sanitize_title( stripslashes( $post_title ) ); + + $stop_words = new WPSEO_Admin_Stop_Words(); + return $stop_words->remove_in( $new_slug ); + } + + /** + * Log the updated timestamp for user profiles when theme is changed + */ + public function switch_theme() { + $users = get_users( array( 'who' => 'authors' ) ); + if ( is_array( $users ) && $users !== array() ) { + foreach ( $users as $user ) { + update_user_meta( $user->ID, '_yoast_wpseo_profile_updated', time() ); + } + } + } + + /** + * Localization for the dismiss urls. + * + * @return array + */ + private function localize_admin_global_script() { + return array( + 'dismiss_about_url' => $this->get_dismiss_url( 'wpseo-dismiss-about' ), + 'dismiss_tagline_url' => $this->get_dismiss_url( 'wpseo-dismiss-tagline-notice' ), + 'help_video_iframe_title' => __( 'Yoast SEO video tutorial', 'wordpress-seo' ), + 'scrollable_table_hint' => __( 'Scroll to see the table content.', 'wordpress-seo' ), + ); + } + + /** + * Extending the current page URL with two params to be able to ignore the notice. + * + * @param string $dismiss_param The param used to dismiss the notification. + * + * @return string + */ + private function get_dismiss_url( $dismiss_param ) { + $arr_params = array( + $dismiss_param => '1', + 'nonce' => wp_create_nonce( $dismiss_param ), + ); + + return esc_url( add_query_arg( $arr_params ) ); + } + + /** + * Sets the upsell notice. + */ + protected function set_upsell_notice() { + $upsell = new WPSEO_Product_Upsell_Notice(); + $upsell->dismiss_notice_listener(); + $upsell->initialize(); + } + + /** + * Initializes Whip to show a notice for outdated PHP versions. + */ + protected function check_php_version() { + if ( ! current_user_can( 'manage_options' ) ) { + return; + } + + if ( ! $this->on_dashboard_page() ) { + return; + } + + whip_wp_check_versions( array( + 'php' => '>=5.4', + ) ); + } + + /** + * Whether we are on the admin dashboard page. + * + * @returns bool + */ + protected function on_dashboard_page() { + return 'index.php' === $GLOBALS['pagenow']; + } + + /** + * Loads the cornerstone filter + */ + protected function initialize_cornerstone_content() { + if ( ! $this->options['enable_cornerstone_content'] ) { + return; + } + + $cornerstone = new WPSEO_Cornerstone(); + $cornerstone->register_hooks(); + + $cornerstone_filter = new WPSEO_Cornerstone_Filter(); + $cornerstone_filter->register_hooks(); + } + + /** + * Initializes the seo link watcher. + * + * @returns WPSEO_WordPress_Integration[] + */ + protected function initialize_seo_links() { + $integrations = array(); + + $link_table_compatibility_notifier = new WPSEO_Link_Compatibility_Notifier(); + $link_table_accessible_notifier = new WPSEO_Link_Table_Accessible_Notifier(); + + if ( ! $this->options['enable_text_link_counter'] ) { + $link_table_compatibility_notifier->remove_notification(); + + return $integrations; + } + + $integrations[] = new WPSEO_Link_Cleanup_Transient(); + + // Only use the link module for PHP 5.3 and higher and show a notice when version is wrong. + if ( version_compare( phpversion(), '5.3', '<' ) ) { + $link_table_compatibility_notifier->add_notification(); + + return $integrations; + } + + $link_table_compatibility_notifier->remove_notification(); + + // When the table doesn't exists, just add the notification and return early. + if ( ! WPSEO_Link_Table_Accessible::is_accessible() || ! WPSEO_Meta_Table_Accessible::is_accessible() ) { + $link_table_accessible_notifier->add_notification(); + + return $integrations; + } + + $link_table_accessible_notifier->remove_notification(); + + $integrations[] = new WPSEO_Link_Columns( new WPSEO_Meta_Storage() ); + $integrations[] = new WPSEO_Link_Reindex_Dashboard(); + $integrations[] = new WPSEO_Link_Notifier(); + + return $integrations; + } + + /********************** DEPRECATED METHODS **********************/ + + // @codeCoverageIgnoreStart + /** + * Check whether the current user is allowed to access the configuration. + * + * @deprecated 1.5.0 + * @deprecated use WPSEO_Utils::grant_access() + * @see WPSEO_Utils::grant_access() + * + * @return boolean + */ + public function grant_access() { + _deprecated_function( __METHOD__, 'WPSEO 1.5.0', 'WPSEO_Utils::grant_access()' ); + + return WPSEO_Utils::grant_access(); + } + + /** + * Check whether the current user is allowed to access the configuration. + * + * @deprecated 1.5.0 + * @deprecated use wpseo_do_upgrade() + * @see WPSEO_Upgrade + */ + public function maybe_upgrade() { + _deprecated_function( __METHOD__, 'WPSEO 1.5.0', 'wpseo_do_upgrade' ); + new WPSEO_Upgrade(); + } + + /** + * Clears the cache + * + * @deprecated 1.5.0 + * @deprecated use WPSEO_Utils::clear_cache() + * @see WPSEO_Utils::clear_cache() + */ + public function clear_cache() { + _deprecated_function( __METHOD__, 'WPSEO 1.5.0', 'WPSEO_Utils::clear_cache()' ); + WPSEO_Utils::clear_cache(); + } + + /** + * Clear rewrites + * + * @deprecated 1.5.0 + * @deprecated use WPSEO_Utils::clear_rewrites() + * @see WPSEO_Utils::clear_rewrites() + */ + public function clear_rewrites() { + _deprecated_function( __METHOD__, 'WPSEO 1.5.0', 'WPSEO_Utils::clear_rewrites()' ); + WPSEO_Utils::clear_rewrites(); + } + + /** + * Register all the options needed for the configuration pages. + * + * @deprecated 1.5.0 + * @deprecated use WPSEO_Option::register_setting() on each individual option + * @see WPSEO_Option::register_setting() + */ + public function options_init() { + _deprecated_function( __METHOD__, 'WPSEO 1.5.0', 'WPSEO_Option::register_setting()' ); + } + + /** + * Register the menu item and its sub menu's. + * + * @deprecated 5.5 + */ + public function register_settings_page() { + _deprecated_function( __METHOD__, 'WPSEO 5.5.0' ); + } + + /** + * Register the settings page for the Network settings. + * + * @deprecated 5.5 + */ + public function register_network_settings_page() { + _deprecated_function( __METHOD__, 'WPSEO 5.5.0' ); + } + + /** + * Load the form for a WPSEO admin page + * + * @deprecated 5.5 + */ + public function load_page() { + _deprecated_function( __METHOD__, 'WPSEO 5.5.0' ); + } + + /** + * Loads the form for the network configuration page. + * + * @deprecated 5.5 + */ + public function network_config_page() { + _deprecated_function( __METHOD__, 'WPSEO 5.5.0' ); + } + + /** + * Filters all advanced settings pages from the given pages. + * + * @deprecated 5.5 + * @param array $pages The pages to filter. + */ + public function filter_settings_pages( array $pages ) { + _deprecated_function( __METHOD__, 'WPSEO 5.5.0' ); + } + + /** + * Display an error message when the blog is set to private. + * + * @deprecated 3.3 + */ + public function blog_public_warning() { + _deprecated_function( __METHOD__, 'WPSEO 3.3.0' ); + } + + /** + * Display an error message when the theme contains a meta description tag. + * + * @since 1.4.14 + * + * @deprecated 3.3 + */ + public function meta_description_warning() { + _deprecated_function( __METHOD__, 'WPSEO 3.3.0' ); + } + + /** + * Returns the stopwords for the current language + * + * @since 1.1.7 + * @deprecated 3.1 Use WPSEO_Admin_Stop_Words::list_stop_words() instead. + * + * @return array $stopwords array of stop words to check and / or remove from slug + */ + public function stopwords() { + _deprecated_function( __METHOD__, 'WPSEO 3.1', 'WPSEO_Admin_Stop_Words::list_stop_words' ); + + $stop_words = new WPSEO_Admin_Stop_Words(); + return $stop_words->list_stop_words(); + } + + /** + * Check whether the stopword appears in the string + * + * @deprecated 3.1 + * + * @param string $haystack The string to be checked for the stopword. + * @param bool $checking_url Whether or not we're checking a URL. + * + * @return bool|mixed + */ + public function stopwords_check( $haystack, $checking_url = false ) { + _deprecated_function( __METHOD__, 'WPSEO 3.1' ); + + $stop_words = $this->stopwords(); + + if ( is_array( $stop_words ) && $stop_words !== array() ) { + foreach ( $stop_words as $stop_word ) { + // If checking a URL remove the single quotes. + if ( $checking_url ) { + $stop_word = str_replace( "'", '', $stop_word ); + } + + // Check whether the stopword appears as a whole word. + // @todo [JRF => whomever] check whether the use of \b (=word boundary) would be more efficient ;-). + $res = preg_match( "`(^|[ \n\r\t\.,'\(\)\"\+;!?:])" . preg_quote( $stop_word, '`' ) . "($|[ \n\r\t\.,'\(\)\"\+;!?:])`iu", $haystack ); + if ( $res > 0 ) { + return $stop_word; + } + } + } + + return false; + } + + // @codeCoverageIgnoreEnd +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-asset.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-asset.php new file mode 100644 index 00000000..41fc0190 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-asset.php @@ -0,0 +1,222 @@ + array(), + 'version' => WPSEO_VERSION, + 'in_footer' => true, + 'rtl' => true, + 'media' => 'all', + 'suffix' => WPSEO_CSSJS_SUFFIX, + ), $args ); + + $this->name = $args['name']; + $this->src = $args['src']; + $this->deps = $args['deps']; + $this->version = $args['version']; + $this->media = $args['media']; + $this->in_footer = $args['in_footer']; + $this->rtl = $args['rtl']; + $this->suffix = $args['suffix']; + } + + /** + * @return string + */ + public function get_name() { + return $this->name; + } + + /** + * @return string + */ + public function get_src() { + return $this->src; + } + + /** + * @return array|string + */ + public function get_deps() { + return $this->deps; + } + + /** + * @return string + */ + public function get_version() { + return $this->version; + } + + /** + * @return string + */ + public function get_media() { + return $this->media; + } + + /** + * @return boolean + */ + public function is_in_footer() { + return $this->in_footer; + } + + /** + * @return boolean + */ + public function has_rtl() { + return $this->rtl; + } + + /** + * @return string + */ + public function get_suffix() { + return $this->suffix; + } + + /** + * Returns the full URL for this asset based on the path to the plugin file. + * + * @param string $type Type of asset. + * @param string $plugin_file Absolute path to the plugin file. + * + * @return string The full URL to the asset. + */ + public function get_url( $type, $plugin_file ) { + + $relative_path = $this->get_relative_path( $type ); + if ( empty( $relative_path ) ) { + return ''; + } + + if ( 'development' !== YOAST_ENVIRONMENT && ! $this->get_suffix() ) { + $plugin_path = plugin_dir_path( $plugin_file ); + if ( ! file_exists( $plugin_path . $relative_path ) ) { + + // Give a notice to the user in the console (only once). + WPSEO_Utils::javascript_console_notification( + 'Development Files', + sprintf( + /* translators: %1$s resolves to https://github.com/Yoast/wordpress-seo */ + __( 'You are trying to load non-minified files, these are only available in our development package. Check out %1$s to see all the source files.', 'wordpress-seo' ), + 'https://github.com/Yoast/wordpress-seo' + ), + true + ); + + // Just load the .min file. + $relative_path = $this->get_relative_path( $type, '.min' ); + } + } + + return plugins_url( $relative_path, $plugin_file ); + } + + /** + * Get the relative file for this asset + * + * @param string $type Type of this asset. + * @param null $force_suffix Force use suffix. + * + * @return string + */ + protected function get_relative_path( $type, $force_suffix = null ) { + $relative_path = $rtl_path = $rtl_suffix = ''; + + $suffix = ( is_null( $force_suffix ) ) ? $this->get_suffix() : $force_suffix; + + switch ( $type ) { + case self::TYPE_JS: + $relative_path = 'js/dist/' . $this->get_src() . $suffix . '.js'; + break; + + case self::TYPE_CSS: + // Path and suffix for RTL stylesheets. + if ( function_exists( 'is_rtl' ) && is_rtl() && $this->has_rtl() ) { + $rtl_suffix = '-rtl'; + } + $relative_path = 'css/dist/' . $this->get_src() . $rtl_suffix . $suffix . '.css'; + break; + } + + return $relative_path; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-bulk-description-editor-list-table.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-bulk-description-editor-list-table.php new file mode 100644 index 00000000..d19157cf --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-bulk-description-editor-list-table.php @@ -0,0 +1,76 @@ + 'wpseo_bulk_description', + 'plural' => 'wpseo_bulk_descriptions', + 'ajax' => true, + ); + + /** + * The field in the database where meta field is saved. + * + * @var string + */ + protected $target_db_field = 'metadesc'; + + /** + * The columns shown on the table + * + * @return array + */ + public function get_columns() { + $columns = array( + 'col_existing_yoast_seo_metadesc' => __( 'Existing Yoast Meta Description', 'wordpress-seo' ), + 'col_new_yoast_seo_metadesc' => __( 'New Yoast Meta Description', 'wordpress-seo' ), + ); + + return $this->merge_columns( $columns ); + } + + /** + * Parse the metadescription + * + * @param string $column_name Column name. + * @param object $record Data object. + * @param string $attributes HTML attributes. + * + * @return string + */ + protected function parse_page_specific_column( $column_name, $record, $attributes ) { + switch ( $column_name ) { + case 'col_new_yoast_seo_metadesc': + return sprintf( + '', + 'wpseo-new-metadesc-' . $record->ID, + $record->ID + ); + break; + + case 'col_existing_yoast_seo_metadesc': + // @todo Inconsistent return/echo behavior R. + echo $this->parse_meta_data_field( $record->ID, $attributes ); + break; + } + } +} /* End of class */ diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-bulk-editor-list-table.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-bulk-editor-list-table.php new file mode 100644 index 00000000..22a49c7d --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-bulk-editor-list-table.php @@ -0,0 +1,1007 @@ +page_type) there will be constructed an url part, for subpages and + * navigation + * + * @var string + */ + protected $page_url; + + /** + * The settings which will be used in the __construct. + * + * @var array + */ + protected $settings; + + /** + * @var array + */ + protected $pagination = array(); + + /** + * Class constructor + */ + public function __construct() { + parent::__construct( $this->settings ); + + $this->request_url = $_SERVER['REQUEST_URI']; + $this->current_page = ( ! empty( $_GET['paged'] ) ) ? $_GET['paged'] : 1; + $this->current_filter = ( ! empty( $_GET['post_type_filter'] ) ) ? $_GET['post_type_filter'] : 1; + $this->current_status = ( ! empty( $_GET['post_status'] ) ) ? $_GET['post_status'] : 1; + $this->current_order = array( + 'order' => ( ! empty( $_GET['order'] ) ) ? $_GET['order'] : 'asc', + 'orderby' => ( ! empty( $_GET['orderby'] ) ) ? $_GET['orderby'] : 'post_title', + ); + + $this->verify_nonce(); + + $this->nonce = wp_create_nonce( 'bulk-editor-table' ); + $this->page_url = "&nonce={$this->nonce}&type={$this->page_type}#top#{$this->page_type}"; + + $this->populate_editable_post_types(); + + } + + /** + * Verifies nonce if additional parameters have been sent. + * + * Shows an error notification if the nonce check fails. + */ + private function verify_nonce() { + if ( $this->should_verify_nonce() && ! wp_verify_nonce( filter_input( INPUT_GET, 'nonce' ), 'bulk-editor-table' ) ) { + Yoast_Notification_Center::get()->add_notification( + new Yoast_Notification( + __( 'You are not allowed to access this page.', 'wordpress-seo' ), + array( 'type' => Yoast_Notification::ERROR ) + ) + ); + Yoast_Notification_Center::get()->display_notifications(); + die; + } + } + + /** + * Checks if additional parameters have been sent to determine if nonce should be checked or not. + * + * @return bool + */ + private function should_verify_nonce() { + $possible_params = array( + 'type', + 'paged', + 'post_type_filter', + 'post_status', + 'order', + 'orderby', + ); + + foreach ( $possible_params as $param_name ) { + if ( filter_input( INPUT_GET, $param_name ) ) { + return true; + } + } + } + + /** + * Prepares the data and renders the page. + */ + public function show_page() { + $this->prepare_page_navigation(); + $this->prepare_items(); + + $this->views(); + $this->display(); + } + + /** + * Used in the constructor to build a reference list of post types the current user can edit. + */ + protected function populate_editable_post_types() { + $post_types = get_post_types( + array( + 'public' => true, + 'exclude_from_search' => false, + ), + 'object' + ); + + $this->all_posts = array(); + $this->own_posts = array(); + + if ( is_array( $post_types ) && $post_types !== array() ) { + foreach ( $post_types as $post_type ) { + if ( ! current_user_can( $post_type->cap->edit_posts ) ) { + continue; + } + + if ( current_user_can( $post_type->cap->edit_others_posts ) ) { + $this->all_posts[] = esc_sql( $post_type->name ); + } + else { + $this->own_posts[] = esc_sql( $post_type->name ); + } + } + } + } + + + /** + * Will shown the navigation for the table like pagenavigation and pagefilter; + * + * @param string $which Table nav location (such as top). + */ + public function display_tablenav( $which ) { + $post_status = sanitize_text_field( filter_input( INPUT_GET, 'post_status' ) ); + ?> +
+ + +
+ + + + + + + + + + + + + extra_tablenav( $which ); + $this->pagination( $which ); + ?> + +
+ +
+ +
+ + prepare(), passing the current user_id in as the first parameter. + */ + public function get_base_subquery() { + global $wpdb; + + $all_posts_string = "'" . implode( "', '", $this->all_posts ) . "'"; + $own_posts_string = "'" . implode( "', '", $this->own_posts ) . "'"; + + $post_author = esc_sql( (int) get_current_user_id() ); + + $subquery = "( + SELECT * + FROM {$wpdb->posts} + WHERE post_type IN ({$all_posts_string}) + UNION ALL + SELECT * + FROM {$wpdb->posts} + WHERE post_type IN ({$own_posts_string}) AND post_author = {$post_author} + ) sub_base"; + + return $subquery; + } + + + /** + * @return array + */ + public function get_views() { + global $wpdb; + + $status_links = array(); + + $states = get_post_stati( array( 'show_in_admin_all_list' => true ) ); + $states['trash'] = 'trash'; + $states = esc_sql( $states ); + $all_states = "'" . implode( "', '", $states ) . "'"; + + $subquery = $this->get_base_subquery(); + + $total_posts = $wpdb->get_var( + " + SELECT COUNT(ID) FROM {$subquery} + WHERE post_status IN ({$all_states}) + " + ); + + + $post_status = filter_input( INPUT_GET, 'post_status' ); + $class = empty( $post_status ) ? ' class="current"' : ''; + $localized_text = sprintf( + /* translators: %s expands to the number of posts in localized format. */ + _nx( 'All (%s)', 'All (%s)', $total_posts, 'posts', 'wordpress-seo' ), + number_format_i18n( $total_posts ) + ); + + $status_links['all'] = '' . $localized_text . ''; + + $post_stati = get_post_stati( array( 'show_in_admin_all_list' => true ), 'objects' ); + if ( is_array( $post_stati ) && $post_stati !== array() ) { + foreach ( $post_stati as $status ) { + + $status_name = esc_sql( $status->name ); + + $total = (int) $wpdb->get_var( + $wpdb->prepare( + " + SELECT COUNT(ID) FROM {$subquery} + WHERE post_status = %s + ", + $status_name + ) + ); + + if ( $total === 0 ) { + continue; + } + + $class = ''; + if ( $status_name === $post_status ) { + $class = ' class="current"'; + } + + $status_links[ $status_name ] = '' . sprintf( translate_nooped_plural( $status->label_count, $total ), number_format_i18n( $total ) ) . ''; + } + } + unset( $post_stati, $status, $status_name, $total, $class ); + + $trashed_posts = $wpdb->get_var( + " + SELECT COUNT(ID) FROM {$subquery} + WHERE post_status IN ('trash') + " + ); + + $class = ''; + if ( 'trash' === $post_status ) { + $class = 'class="current"'; + } + + $localized_text = sprintf( + /* translators: %s expands to the number of trashed posts in localized format. */ + _nx( 'Trash (%s)', 'Trash (%s)', $trashed_posts, 'posts', 'wordpress-seo' ), + number_format_i18n( $trashed_posts ) + ); + + $status_links['trash'] = '' . $localized_text . ''; + + return $status_links; + } + + + /** + * @param string $which Table nav location (such as top). + */ + public function extra_tablenav( $which ) { + + if ( 'top' === $which ) { + $post_types = get_post_types( + array( + 'public' => true, + 'exclude_from_search' => false, + ) + ); + + $instance_type = esc_attr( $this->page_type ); + + if ( is_array( $post_types ) && $post_types !== array() ) { + global $wpdb; + + echo '
'; + + $post_types = esc_sql( $post_types ); + $post_types = "'" . implode( "', '", $post_types ) . "'"; + + $states = get_post_stati( array( 'show_in_admin_all_list' => true ) ); + $states['trash'] = 'trash'; + $states = esc_sql( $states ); + $all_states = "'" . implode( "', '", $states ) . "'"; + + $subquery = $this->get_base_subquery(); + + $post_types = $wpdb->get_results( + " + SELECT DISTINCT post_type FROM {$subquery} + WHERE post_status IN ({$all_states}) + ORDER BY 'post_type' ASC + " + ); + + $post_type_filter = filter_input( INPUT_GET, 'post_type_filter' ); + $selected = ( ! empty( $post_type_filter ) ) ? sanitize_text_field( $post_type_filter ) : '-1'; + + $options = ''; + + if ( is_array( $post_types ) && $post_types !== array() ) { + foreach ( $post_types as $post_type ) { + $obj = get_post_type_object( $post_type->post_type ); + $options .= sprintf( '', $obj->labels->name, $post_type->post_type, selected( $selected, $post_type->post_type, false ) ); + } + } + + printf( + '', + 'post-type-filter-' . $instance_type, + __( 'Filter by post type', 'wordpress-seo' ) + ); + echo sprintf( '', $options, $instance_type ); + submit_button( __( 'Filter', 'wordpress-seo' ), 'button', false, false, array( 'id' => 'post-query-submit' ) ); + echo '
'; + } + } + } + + /** + * + * @return array + */ + public function get_sortable_columns() { + return array( + 'col_page_title' => array( 'post_title', true ), + 'col_post_type' => array( 'post_type', false ), + 'col_post_date' => array( 'post_date', false ), + ); + } + + /** + * Sets the correct pagenumber and pageurl for the navigation + */ + public function prepare_page_navigation() { + + $request_url = $this->request_url . $this->page_url; + + $current_page = $this->current_page; + $current_filter = $this->current_filter; + $current_status = $this->current_status; + $current_order = $this->current_order; + + // If current type doesn't compare with objects page_type, than we have to unset some vars in the requested url (which will be use for internal table urls). + if ( $_GET['type'] != $this->page_type ) { + $request_url = remove_query_arg( 'paged', $request_url ); // Page will be set with value 1 below. + $request_url = remove_query_arg( 'post_type_filter', $request_url ); + $request_url = remove_query_arg( 'post_status', $request_url ); + $request_url = remove_query_arg( 'orderby', $request_url ); + $request_url = remove_query_arg( 'order', $request_url ); + $request_url = add_query_arg( 'pages', 1, $request_url ); + + $current_page = 1; + $current_filter = '-1'; + $current_status = ''; + $current_order = array( + 'orderby' => 'post_title', + 'order' => 'asc', + ); + } + + $_SERVER['REQUEST_URI'] = $request_url; + + $_GET['paged'] = $current_page; + $_REQUEST['paged'] = $current_page; + $_REQUEST['post_type_filter'] = $current_filter; + $_GET['post_type_filter'] = $current_filter; + $_GET['post_status'] = $current_status; + $_GET['orderby'] = $current_order['orderby']; + $_GET['order'] = $current_order['order']; + + } + + /** + * Preparing the requested pagerows and setting the needed variables + */ + public function prepare_items() { + + $post_type_clause = $this->get_post_type_clause(); + $all_states = $this->get_all_states(); + $subquery = $this->get_base_subquery(); + + // Setting the column headers. + $this->set_column_headers(); + + // Count the total number of needed items and setting pagination given $total_items. + $total_items = $this->count_items( $subquery, $all_states, $post_type_clause ); + $this->set_pagination( $total_items ); + + // Getting items given $query. + $query = $this->parse_item_query( $subquery, $all_states, $post_type_clause ); + $this->get_items( $query ); + + // Get the metadata for the current items ($this->items). + $this->get_meta_data(); + + } + + /** + * Getting the columns for first row + * + * @return array + */ + public function get_columns() { + return $this->merge_columns(); + } + + /** + * Setting the column headers + */ + protected function set_column_headers() { + $columns = $this->get_columns(); + $hidden = array(); + $sortable = $this->get_sortable_columns(); + $this->_column_headers = array( $columns, $hidden, $sortable ); + } + + /** + * Counting total items + * + * @param string $subquery SQL FROM part. + * @param string $all_states SQL IN part. + * @param string $post_type_clause SQL post type part. + * + * @return mixed + */ + protected function count_items( $subquery, $all_states, $post_type_clause ) { + global $wpdb; + $total_items = $wpdb->get_var( + " + SELECT COUNT(ID) + FROM {$subquery} + WHERE post_status IN ({$all_states}) $post_type_clause + " + ); + + return $total_items; + } + + /** + * Getting the post_type_clause filter + * + * @return string + */ + protected function get_post_type_clause() { + // Filter Block. + $post_types = null; + $post_type_clause = ''; + $post_type_filter = filter_input( INPUT_GET, 'post_type_filter' ); + + if ( ! empty( $post_type_filter ) && get_post_type_object( sanitize_text_field( $post_type_filter ) ) ) { + $post_types = esc_sql( sanitize_text_field( $post_type_filter ) ); + $post_type_clause = "AND post_type IN ('{$post_types}')"; + } + + return $post_type_clause; + } + + /** + * Setting the pagination. + * + * Total items is the number of all visible items. + * + * @param int $total_items Total items counts. + */ + protected function set_pagination( $total_items ) { + + // Calculate items per page. + $per_page = $this->get_items_per_page( 'wpseo_posts_per_page', 10 ); + $paged = esc_sql( sanitize_text_field( filter_input( INPUT_GET, 'paged' ) ) ); + + if ( empty( $paged ) || ! is_numeric( $paged ) || $paged <= 0 ) { + $paged = 1; + } + + $this->set_pagination_args( + array( + 'total_items' => $total_items, + 'total_pages' => ceil( $total_items / $per_page ), + 'per_page' => $per_page, + ) + ); + + $this->pagination = array( + 'per_page' => $per_page, + 'offset' => ( $paged - 1 ) * $per_page, + ); + + } + + /** + * Parse the query to get items from database. + * + * Based on given parameters there will be parse a query which will get all the pages/posts and other post_types + * from the database. + * + * @param string $subquery SQL FROM part. + * @param string $all_states SQL IN part. + * @param string $post_type_clause SQL post type part. + * + * @return string + */ + protected function parse_item_query( $subquery, $all_states, $post_type_clause ) { + // Order By block. + $orderby = filter_input( INPUT_GET, 'orderby' ); + + $orderby = ! empty( $orderby ) ? esc_sql( sanitize_text_field( $orderby ) ) : 'post_title'; + $orderby = $this->sanitize_orderby( $orderby ); + + // Order clause. + $order = filter_input( INPUT_GET, 'order' ); + $order = ! empty( $order ) ? esc_sql( strtoupper( sanitize_text_field( $order ) ) ) : 'ASC'; + $order = $this->sanitize_order( $order ); + + // Get all needed results. + $query = " + SELECT ID, post_title, post_type, post_status, post_modified, post_date + FROM {$subquery} + WHERE post_status IN ({$all_states}) $post_type_clause + ORDER BY {$orderby} {$order} + LIMIT %d,%d + "; + + return $query; + } + + /** + * Heavily restricts the possible columns by which a user can order the table in the bulk editor, thereby preventing a possible CSRF vulnerability. + * + * @param string $orderby The column by which we want to order. + * + * @return string $orderby + */ + protected function sanitize_orderby( $orderby ) { + $valid_column_names = array( + 'post_title', + 'post_type', + 'post_date', + ); + + if ( in_array( $orderby, $valid_column_names ) ) { + return $orderby; + } + + return 'post_title'; + } + + /** + * Makes sure the order clause is always ASC or DESC for the bulk editor table, thereby preventing a possible CSRF vulnerability. + * + * @param string $order Whether we want to sort ascending or descending. + * + * @return string $order SQL order string (ASC, DESC). + */ + protected function sanitize_order( $order ) { + if ( in_array( strtoupper( $order ), array( 'ASC', 'DESC' ) ) ) { + return $order; + } + + return 'ASC'; + } + + /** + * Getting all the items. + * + * @param string $query SQL query to use. + */ + protected function get_items( $query ) { + global $wpdb; + + $this->items = $wpdb->get_results( + $wpdb->prepare( + $query, + $this->pagination['offset'], + $this->pagination['per_page'] + ) + ); + } + + /** + * Getting all the states. + * + * @return string + */ + protected function get_all_states() { + $states = get_post_stati( array( 'show_in_admin_all_list' => true ) ); + $states['trash'] = 'trash'; + + if ( ! empty( $_GET['post_status'] ) ) { + $requested_state = sanitize_text_field( $_GET['post_status'] ); + if ( in_array( $requested_state, $states ) ) { + $states = array( $requested_state ); + } + } + + $states = esc_sql( $states ); + $all_states = "'" . implode( "', '", $states ) . "'"; + + return $all_states; + } + + + /** + * Based on $this->items and the defined columns, the table rows will be displayed. + */ + public function display_rows() { + + $records = $this->items; + + list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info(); + + if ( ( is_array( $records ) && $records !== array() ) && ( is_array( $columns ) && $columns !== array() ) ) { + + foreach ( $records as $rec ) { + + echo ''; + + foreach ( $columns as $column_name => $column_display_name ) { + + $classes = ''; + if ( $primary === $column_name ) { + $classes .= ' has-row-actions column-primary'; + } + + $attributes = $this->column_attributes( $column_name, $hidden, $classes, $column_display_name ); + + $column_value = $this->parse_column( $column_name, $rec ); + + if ( method_exists( $this, 'parse_page_specific_column' ) && empty( $column_value ) ) { + $column_value = $this->parse_page_specific_column( $column_name, $rec, $attributes ); + } + + if ( ! empty( $column_value ) ) { + echo sprintf( '%1$s', $column_value, $attributes ); + } + } + + echo ''; + } + } + } + + /** + * Getting the attributes for each table cell. + * + * @param string $column_name Column name string. + * @param array $hidden Set of hidden columns. + * @param string $classes Additional CSS classes. + * @param string $column_display_name Column display name string. + * + * @return string + */ + protected function column_attributes( $column_name, $hidden, $classes, $column_display_name ) { + + $attributes = ''; + $class = array( $column_name, "column-$column_name$classes" ); + + if ( in_array( $column_name, $hidden ) ) { + $class[] = 'hidden'; + } + + if ( ! empty( $class ) ) { + $attributes = 'class="' . implode( ' ', $class ) . '"'; + } + + $attributes .= ' data-colname="' . esc_attr( $column_display_name ) . '"'; + + return $attributes; + } + + /** + * Parsing the title. + * + * @param WP_Post $rec Post object. + * + * @return string + */ + protected function parse_page_title_column( $rec ) { + + $title = empty( $rec->post_title ) ? __( '(no title)', 'wordpress-seo' ) : $rec->post_title; + + $return = sprintf( '%1$s', stripslashes( wp_strip_all_tags( $title ) ) ); + + $post_type_object = get_post_type_object( $rec->post_type ); + $can_edit_post = current_user_can( $post_type_object->cap->edit_post, $rec->ID ); + + $actions = array(); + + if ( $can_edit_post && 'trash' !== $rec->post_status ) { + $actions['edit'] = sprintf( + '%s', + esc_url( get_edit_post_link( $rec->ID, true ) ), + /* translators: %s: post title */ + esc_attr( sprintf( __( 'Edit “%s”', 'wordpress-seo' ), $title ) ), + __( 'Edit', 'wordpress-seo' ) + ); + } + + if ( $post_type_object->public ) { + if ( in_array( $rec->post_status, array( 'pending', 'draft', 'future' ) ) ) { + if ( $can_edit_post ) { + $actions['view'] = sprintf( + '%s', + esc_url( add_query_arg( 'preview', 'true', get_permalink( $rec->ID ) ) ), + /* translators: %s: post title */ + esc_attr( sprintf( __( 'Preview “%s”', 'wordpress-seo' ), $title ) ), + __( 'Preview', 'wordpress-seo' ) + ); + } + } + elseif ( 'trash' !== $rec->post_status ) { + $actions['view'] = sprintf( + '%s', + esc_url( get_permalink( $rec->ID ) ), + /* translators: %s: post title */ + esc_attr( sprintf( __( 'View “%s”', 'wordpress-seo' ), $title ) ), + __( 'View', 'wordpress-seo' ) + ); + } + } + + $return .= $this->row_actions( $actions ); + + return $return; + + } + + /** + * Parsing the column based on the $column_name. + * + * @param string $column_name Column name. + * @param WP_Post $rec Post object. + * + * @return string + */ + protected function parse_column( $column_name, $rec ) { + + static $date_format; + + if ( $date_format == null ) { + $date_format = get_option( 'date_format' ); + } + + switch ( $column_name ) { + case 'col_page_title': + $column_value = $this->parse_page_title_column( $rec ); + break; + + case 'col_page_slug': + $permalink = get_permalink( $rec->ID ); + $display_slug = str_replace( get_bloginfo( 'url' ), '', $permalink ); + $column_value = sprintf( '%1$s', stripslashes( rawurldecode( $display_slug ) ), esc_url( $permalink ) ); + break; + + case 'col_post_type': + $post_type = get_post_type_object( $rec->post_type ); + $column_value = $post_type->labels->singular_name; + break; + + case 'col_post_status': + $post_status = get_post_status_object( $rec->post_status ); + $column_value = $post_status->label; + break; + + case 'col_post_date': + $column_value = date_i18n( $date_format, strtotime( $rec->post_date ) ); + break; + + case 'col_row_action': + $column_value = sprintf( + '%2$s %3$s', + $rec->ID, + esc_html__( 'Save', 'wordpress-seo' ), + esc_html__( 'Save all', 'wordpress-seo' ) + ); + break; + } + + if ( ! empty( $column_value ) ) { + return $column_value; + } + } + + /** + * Parse the field where the existing meta-data value is displayed. + * + * @param integer $record_id Record ID. + * @param string $attributes HTML attributes. + * @param bool|array $values Optional values data array. + * + * @return string + */ + protected function parse_meta_data_field( $record_id, $attributes, $values = false ) { + + // Fill meta data if exists in $this->meta_data. + $meta_data = ( ! empty( $this->meta_data[ $record_id ] ) ) ? $this->meta_data[ $record_id ] : array(); + $meta_key = WPSEO_Meta::$meta_prefix . $this->target_db_field; + $meta_value = ( ! empty( $meta_data[ $meta_key ] ) ) ? $meta_data[ $meta_key ] : ''; + + if ( ! empty( $values ) ) { + $meta_value = $values[ $meta_value ]; + } + + return sprintf( '%1$s', $meta_value, $attributes, $record_id, $this->target_db_field ); + } + + /** + * Method for setting the meta data, which belongs to the records that will be shown on the current page. + * + * This method will loop through the current items ($this->items) for getting the post_id. With this data + * ($needed_ids) the method will query the meta-data table for getting the title. + */ + protected function get_meta_data() { + + $post_ids = $this->get_post_ids(); + $meta_data = $this->get_meta_data_result( $post_ids ); + + $this->parse_meta_data( $meta_data ); + + // Little housekeeping. + unset( $post_ids, $meta_data ); + + } + + /** + * Getting all post_ids from to $this->items. + * + * @return string + */ + protected function get_post_ids() { + $needed_ids = array(); + foreach ( $this->items as $item ) { + $needed_ids[] = $item->ID; + } + + $post_ids = "'" . implode( "', '", $needed_ids ) . "'"; + + return $post_ids; + } + + /** + * Getting the meta_data from database. + * + * @param string $post_ids Post IDs string for SQL IN part. + * + * @return mixed + */ + protected function get_meta_data_result( $post_ids ) { + global $wpdb; + + $meta_data = $wpdb->get_results( + " + SELECT * + FROM {$wpdb->postmeta} + WHERE post_id IN({$post_ids}) && meta_key = '" . WPSEO_Meta::$meta_prefix . $this->target_db_field . "' + " + ); + + return $meta_data; + } + + /** + * Setting $this->meta_data. + * + * @param array $meta_data Meta data set. + */ + protected function parse_meta_data( $meta_data ) { + + foreach ( $meta_data as $row ) { + $this->meta_data[ $row->post_id ][ $row->meta_key ] = $row->meta_value; + } + + } + + /** + * This method will merge general array with given parameter $columns. + * + * @param array $columns Optional columns set. + * + * @return array + */ + protected function merge_columns( $columns = array() ) { + $columns = array_merge( + array( + 'col_page_title' => __( 'WP Page Title', 'wordpress-seo' ), + 'col_post_type' => __( 'Post Type', 'wordpress-seo' ), + 'col_post_status' => __( 'Post Status', 'wordpress-seo' ), + 'col_post_date' => __( 'Publication date', 'wordpress-seo' ), + 'col_page_slug' => __( 'Page URL/Slug', 'wordpress-seo' ), + ), + $columns + ); + + $columns['col_row_action'] = __( 'Action', 'wordpress-seo' ); + + return $columns; + } +} /* End of class */ diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-bulk-title-editor-list-table.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-bulk-title-editor-list-table.php new file mode 100644 index 00000000..5388578e --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-bulk-title-editor-list-table.php @@ -0,0 +1,86 @@ + 'wpseo_bulk_title', + 'plural' => 'wpseo_bulk_titles', + 'ajax' => true, + ); + + /** + * The field in the database where meta field is saved. + * + * @var string + */ + protected $target_db_field = 'title'; + + /** + * The columns shown on the table + * + * @return array + */ + public function get_columns() { + + $columns = array( + /* translators: %1$s expands to Yoast SEO */ + 'col_existing_yoast_seo_title' => sprintf( __( 'Existing %1$s Title', 'wordpress-seo' ), 'Yoast SEO' ), + /* translators: %1$s expands to Yoast SEO */ + 'col_new_yoast_seo_title' => sprintf( __( 'New %1$s Title', 'wordpress-seo' ), 'Yoast SEO' ), + ); + + return $this->merge_columns( $columns ); + } + + /** + * Parse the title columns + * + * @param string $column_name Column name. + * @param object $record Data object. + * @param string $attributes HTML attributes. + * + * @return string + */ + protected function parse_page_specific_column( $column_name, $record, $attributes ) { + + // Fill meta data if exists in $this->meta_data. + $meta_data = ( ! empty( $this->meta_data[ $record->ID ] ) ) ? $this->meta_data[ $record->ID ] : array(); + + switch ( $column_name ) { + case 'col_existing_yoast_seo_title': + // @todo Inconsistent echo/return behavior R. + echo $this->parse_meta_data_field( $record->ID, $attributes ); + break; + + case 'col_new_yoast_seo_title': + return sprintf( + '', + 'wpseo-new-title-' . $record->ID, + $record->ID + ); + break; + } + + unset( $meta_data ); + } +} /* End of class */ diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-collector.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-collector.php new file mode 100644 index 00000000..28284971 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-collector.php @@ -0,0 +1,46 @@ +collections[] = $collection; + } + + /** + * Collects the data from the collection objects. + * + * @return array The collected data. + */ + public function collect() { + $data = array(); + + foreach ( $this->collections as $collection ) { + $data = array_merge( $data, $collection->get() ); + } + + return $data; + } + + /** + * Returns the collected data as a JSON encoded string. + * + * @return false|string The encode string. + */ + public function get_as_json() { + return wp_json_encode( $this->collect() ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-config.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-config.php new file mode 100644 index 00000000..19498967 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-config.php @@ -0,0 +1,436 @@ +asset_manager = new WPSEO_Admin_Asset_Manager(); + } + + /** + * Make sure the needed scripts are loaded for admin pages + */ + public function init() { + if ( filter_input( INPUT_GET, 'wpseo_reset_defaults' ) && wp_verify_nonce( filter_input( INPUT_GET, 'nonce' ), 'wpseo_reset_defaults' ) && current_user_can( 'manage_options' ) ) { + WPSEO_Options::reset(); + wp_redirect( admin_url( 'admin.php?page=' . WPSEO_Admin::PAGE_IDENTIFIER ) ); + } + + add_action( 'admin_init', array( $this, 'admin_init' ) ); + add_action( 'admin_enqueue_scripts', array( $this, 'config_page_scripts' ) ); + add_action( 'admin_enqueue_scripts', array( $this, 'config_page_styles' ) ); + } + + /** + * Run admin-specific actions. + */ + public function admin_init() { + + $page = filter_input( INPUT_GET, 'page' ); + $tool = filter_input( INPUT_GET, 'tool' ); + $export_nonce = filter_input( INPUT_POST, WPSEO_Export::NONCE_NAME ); + + if ( 'wpseo_tools' === $page && 'import-export' === $tool && $export_nonce !== null ) { + $this->do_yoast_export(); + } + } + + /** + * Loads the required styles for the config page. + */ + public function config_page_styles() { + wp_enqueue_style( 'dashboard' ); + wp_enqueue_style( 'thickbox' ); + wp_enqueue_style( 'global' ); + wp_enqueue_style( 'wp-admin' ); + $this->asset_manager->enqueue_style( 'select2' ); + + $this->asset_manager->enqueue_style( 'admin-css' ); + + $this->asset_manager->enqueue_style( 'kb-search' ); + } + + /** + * Loads the required scripts for the config page. + */ + public function config_page_scripts() { + $this->asset_manager->enqueue_script( 'admin-script' ); + $this->asset_manager->enqueue_script( 'help-center' ); + + wp_enqueue_script( 'dashboard' ); + wp_enqueue_script( 'thickbox' ); + + $page = filter_input( INPUT_GET, 'page' ); + + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'admin-script', 'wpseoSelect2Locale', WPSEO_Utils::get_language( WPSEO_Utils::get_user_locale() ) ); + + if ( in_array( $page, array( 'wpseo_social', WPSEO_Admin::PAGE_IDENTIFIER ) ) ) { + wp_enqueue_media(); + + $this->asset_manager->enqueue_script( 'admin-media' ); + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'admin-media', 'wpseoMediaL10n', $this->localize_media_script() ); + } + + if ( 'wpseo_tools' === $page ) { + $this->enqueue_tools_scripts(); + } + } + + /** + * Pass some variables to js for upload module. + * + * @return array + */ + public function localize_media_script() { + return array( + 'choose_image' => __( 'Use Image', 'wordpress-seo' ), + ); + } + + /** + * Enqueues and handles all the tool dependencies. + */ + private function enqueue_tools_scripts() { + $tool = filter_input( INPUT_GET, 'tool' ); + + if ( empty( $tool ) ) { + $this->asset_manager->enqueue_script( 'yoast-seo' ); + } + + if ( 'bulk-editor' === $tool ) { + $this->asset_manager->enqueue_script( 'bulk-editor' ); + } + } + + /** + * Runs the yoast exporter class to possibly init the file download. + */ + private function do_yoast_export() { + check_admin_referer( WPSEO_Export::NONCE_ACTION, WPSEO_Export::NONCE_NAME ); + + if ( ! WPSEO_Capability_Utils::current_user_can( 'wpseo_manage_options' ) ) { + return; + } + + $wpseo_post = filter_input( INPUT_POST, 'wpseo' ); + $include_taxonomy = ! empty( $wpseo_post['include_taxonomy'] ); + $export = new WPSEO_Export( $include_taxonomy ); + + if ( $export->has_error() ) { + add_action( 'admin_notices', array( $export, 'set_error_hook' ) ); + + } + } + + /********************** DEPRECATED METHODS **********************/ + + // @codeCoverageIgnoreStart + /** + * Exports the current site's Yoast SEO settings. + * + * @deprecated 2.0 + * + * @param bool $include_taxonomy Whether to include the taxonomy metadata the plugin creates. + * + * @return bool|string $return False when failed, the URL to the export file when succeeded. + */ + public function export_settings( $include_taxonomy ) { + _deprecated_function( __METHOD__, 'WPSEO 2.0', 'This method is deprecated, please use the WPSEO_Export class.' ); + + $export = new WPSEO_Export( $include_taxonomy ); + if ( $export->success ) { + return $export->export_zip_url; + } + + return false; + } + + /** + * Generates the header for admin pages + * + * @deprecated 2.0 + * + * @param bool $form Whether or not the form start tag should be included. + * @param mixed $option_long_name The long name of the option to use for the current page. + * @param string $option The short name of the option to use for the current page. + * @param bool $contains_files Whether the form should allow for file uploads. + */ + public function admin_header( $form = true, $option_long_name = false, $option = 'wpseo', $contains_files = false ) { + _deprecated_function( __METHOD__, 'WPSEO 2.0', 'This method is deprecated, please use the Yoast_Form class.' ); + + Yoast_Form::get_instance()->admin_header( $form, $option, $contains_files, $option_long_name ); + } + + /** + * Generates the footer for admin pages + * + * @deprecated 2.0 + * + * @param bool $submit Whether or not a submit button and form end tag should be shown. + * @param bool $show_sidebar Whether or not to show the banner sidebar - used by premium plugins to disable it. + */ + public function admin_footer( $submit = true, $show_sidebar = true ) { + _deprecated_function( __METHOD__, 'WPSEO 2.0', 'This method is deprecated, please use the Yoast_Form class.' ); + + Yoast_Form::get_instance()->admin_footer( $submit, $show_sidebar ); + } + + /** + * Generates the sidebar for admin pages. + * + * @deprecated 2.0 + */ + public function admin_sidebar() { + _deprecated_function( __METHOD__, 'WPSEO 2.0', 'This method is deprecated, please use the Yoast_Form class.' ); + + Yoast_Form::get_instance()->admin_sidebar(); + } + + /** + * Create a Checkbox input field. + * + * @deprecated 2.0 + * + * @param string $var The variable within the option to create the checkbox for. + * @param string $label The label to show for the variable. + * @param bool $label_left Whether the label should be left (true) or right (false). + * @param string $option The option the variable belongs to. + */ + public function checkbox( $var, $label, $label_left = false, $option = '' ) { + _deprecated_function( __METHOD__, 'WPSEO 2.0', 'This method is deprecated, please use the Yoast_Form class.' ); + + if ( $option !== '' ) { + Yoast_Form::get_instance()->set_option( $option ); + } + + Yoast_Form::get_instance()->checkbox( $var, $label, $label_left ); + } + + /** + * Create a Text input field. + * + * @deprecated 2.0 + * + * @param string $var The variable within the option to create the text input field for. + * @param string $label The label to show for the variable. + * @param string $option The option the variable belongs to. + */ + public function textinput( $var, $label, $option = '' ) { + _deprecated_function( __METHOD__, 'WPSEO 2.0', 'This method is deprecated, please use the Yoast_Form class.' ); + + if ( $option !== '' ) { + Yoast_Form::get_instance()->set_option( $option ); + } + Yoast_Form::get_instance()->textinput( $var, $label ); + } + + /** + * Create a textarea. + * + * @deprecated 2.0 + * + * @param string $var The variable within the option to create the textarea for. + * @param string $label The label to show for the variable. + * @param string $option The option the variable belongs to. + * @param array $attr The CSS class to assign to the textarea. + */ + public function textarea( $var, $label, $option = '', $attr = array() ) { + _deprecated_function( __METHOD__, 'WPSEO 2.0', 'This method is deprecated, please use the Yoast_Form class.' ); + + if ( $option !== '' ) { + Yoast_Form::get_instance()->set_option( $option ); + } + + Yoast_Form::get_instance()->textarea( $var, $label, $attr ); + } + + /** + * Create a hidden input field. + * + * @deprecated 2.0 + * + * @param string $var The variable within the option to create the hidden input for. + * @param string $option The option the variable belongs to. + */ + public function hidden( $var, $option = '' ) { + _deprecated_function( __METHOD__, 'WPSEO 2.0', 'This method is deprecated, please use the Yoast_Form class.' ); + + if ( $option !== '' ) { + Yoast_Form::get_instance()->set_option( $option ); + } + + Yoast_Form::get_instance()->hidden( $var ); + } + + /** + * Create a Select Box. + * + * @deprecated 2.0 + * + * @param string $var The variable within the option to create the select for. + * @param string $label The label to show for the variable. + * @param array $values The select options to choose from. + * @param string $option The option the variable belongs to. + */ + public function select( $var, $label, $values, $option = '' ) { + _deprecated_function( __METHOD__, 'WPSEO 2.0', 'This method is deprecated, please use the Yoast_Form class.' ); + + if ( $option !== '' ) { + Yoast_Form::get_instance()->set_option( $option ); + } + + Yoast_Form::get_instance()->select( $var, $label, $values ); + } + + /** + * Create a File upload field. + * + * @deprecated 2.0 + * + * @param string $var The variable within the option to create the file upload field for. + * @param string $label The label to show for the variable. + * @param string $option The option the variable belongs to. + */ + public function file_upload( $var, $label, $option = '' ) { + _deprecated_function( __METHOD__, 'WPSEO 2.0', 'This method is deprecated, please use the Yoast_Form class.' ); + + if ( $option !== '' ) { + Yoast_Form::get_instance()->set_option( $option ); + } + + Yoast_Form::get_instance()->file_upload( $var, $label ); + } + + /** + * Media input + * + * @deprecated 2.0 + * + * @param string $var Option name. + * @param string $label Label message. + * @param string $option Optional option key. + */ + public function media_input( $var, $label, $option = '' ) { + _deprecated_function( __METHOD__, 'WPSEO 2.0', 'This method is deprecated, please use the Yoast_Form class.' ); + + if ( $option !== '' ) { + Yoast_Form::get_instance()->set_option( $option ); + } + + Yoast_Form::get_instance()->media_input( $var, $label ); + } + + /** + * Create a Radio input field. + * + * @deprecated 2.0 + * + * @param string $var The variable within the option to create the file upload field for. + * @param array $values The radio options to choose from. + * @param string $label The label to show for the variable. + * @param string $option The option the variable belongs to. + */ + public function radio( $var, $values, $label, $option = '' ) { + _deprecated_function( __METHOD__, 'WPSEO 2.0', 'This method is deprecated, please use the Yoast_Form class.' ); + + if ( $option !== '' ) { + Yoast_Form::get_instance()->set_option( $option ); + } + + Yoast_Form::get_instance()->radio( $var, $values, $label ); + } + + /** + * Create a postbox widget. + * + * @deprecated 2.0 + * + * @param string $id ID of the postbox. + * @param string $title Title of the postbox. + * @param string $content Content of the postbox. + */ + public function postbox( $id, $title, $content ) { + _deprecated_function( __METHOD__, 'WPSEO 2.0', 'This method is deprecated, please re-implement the admin pages.' ); + + ?> +
+

+ +
+ '; + foreach ( $rows as $row ) { + $content .= ''; + if ( isset( $row['id'] ) && $row['id'] != '' ) { + $content .= ''; + } + else { + $content .= esc_html( $row['label'] ); + } + if ( isset( $row['desc'] ) && $row['desc'] != '' ) { + $content .= '
' . esc_html( $row['desc'] ) . ''; + } + $content .= ''; + $content .= $row['content']; + $content .= ''; + } + $content .= ''; + + return $content; + } + + /** + * Resets the site to the default Yoast SEO settings and runs a title test to check + * whether force rewrite needs to be on. + * + * @deprecated 1.5.0 + * @deprecated use WPSEO_Options::reset() + * @see WPSEO_Options::reset() + */ + public function reset_defaults() { + _deprecated_function( __METHOD__, 'WPSEO 1.5.0', 'WPSEO_Options::reset()' ); + WPSEO_Options::reset(); + } + // @codeCoverageIgnoreEnd +} /* End of class */ diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-cornerstone-field.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-cornerstone-field.php new file mode 100644 index 00000000..9cf9cee0 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-cornerstone-field.php @@ -0,0 +1,49 @@ +', + WPSEO_Cornerstone::META_NAME, + checked( $this->get_meta_value( $post->ID ), '1', false ) + ); + + $return .= sprintf( ''; + + return $return; + } + + /** + * Gets the meta value from the database. + * + * @param int $post_id The post id to get the meta value for. + * + * @return null|string The meta value from the database. + */ + protected function get_meta_value( $post_id ) { + return get_post_meta( $post_id, WPSEO_Cornerstone::META_NAME, true ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-cornerstone.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-cornerstone.php new file mode 100644 index 00000000..a81d976c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-cornerstone.php @@ -0,0 +1,36 @@ +wp_customize = $wp_customize; + + $this->breadcrumbs_section(); + $this->breadcrumbs_blog_remove_setting(); + $this->breadcrumbs_separator_setting(); + $this->breadcrumbs_home_setting(); + $this->breadcrumbs_prefix_setting(); + $this->breadcrumbs_archiveprefix_setting(); + $this->breadcrumbs_searchprefix_setting(); + $this->breadcrumbs_404_setting(); + } + + /** + * Add the breadcrumbs section to the customizer + */ + private function breadcrumbs_section() { + $this->wp_customize->add_section( + 'wpseo_breadcrumbs_customizer_section', array( + /* translators: %s is the name of the plugin */ + 'title' => sprintf( __( '%s Breadcrumbs', 'wordpress-seo' ), 'Yoast SEO' ), + 'priority' => 999, + 'active_callback' => array( $this, 'breadcrumbs_active_callback' ), + ) + ); + + } + + /** + * Returns whether or not the breadcrumbs are active + * + * @return bool + */ + public function breadcrumbs_active_callback() { + $options = WPSEO_Options::get_option( 'wpseo_internallinks' ); + + return true === ( current_theme_supports( 'yoast-seo-breadcrumbs' ) || $options['breadcrumbs-enable'] ); + } + + /** + * Adds the breadcrumbs remove blog checkbox + */ + private function breadcrumbs_blog_remove_setting() { + $this->wp_customize->add_setting( + 'wpseo_internallinks[breadcrumbs-blog-remove]', array( + 'default' => '', + 'type' => 'option', + 'transport' => 'refresh', + ) + ); + + $this->wp_customize->add_control( + new WP_Customize_Control( + $this->wp_customize, 'wpseo-breadcrumbs-blog-remove', array( + 'label' => __( 'Remove blog page from breadcrumbs', 'wordpress-seo' ), + 'type' => 'checkbox', + 'section' => 'wpseo_breadcrumbs_customizer_section', + 'settings' => 'wpseo_internallinks[breadcrumbs-blog-remove]', + 'context' => '', + 'active_callback' => array( $this, 'breadcrumbs_blog_remove_active_cb' ), + ) + ) + ); + } + + /** + * Returns whether or not to show the breadcrumbs blog remove option + * + * @return bool + */ + public function breadcrumbs_blog_remove_active_cb() { + return 'page' === get_option( 'show_on_front' ); + } + + /** + * Adds the breadcrumbs separator text field + */ + private function breadcrumbs_separator_setting() { + $this->wp_customize->add_setting( + 'wpseo_internallinks[breadcrumbs-sep]', array( + 'default' => '', + 'type' => 'option', + 'transport' => 'refresh', + ) + ); + + $this->wp_customize->add_control( + new WP_Customize_Control( + $this->wp_customize, 'wpseo-breadcrumbs-separator', array( + 'label' => __( 'Breadcrumbs separator:', 'wordpress-seo' ), + 'type' => 'text', + 'section' => 'wpseo_breadcrumbs_customizer_section', + 'settings' => 'wpseo_internallinks[breadcrumbs-sep]', + 'context' => '', + ) + ) + ); + } + + /** + * Adds the breadcrumbs home anchor text field + */ + private function breadcrumbs_home_setting() { + $this->wp_customize->add_setting( + 'wpseo_internallinks[breadcrumbs-home]', array( + 'default' => '', + 'type' => 'option', + 'transport' => 'refresh', + ) + ); + + $this->wp_customize->add_control( + new WP_Customize_Control( + $this->wp_customize, 'wpseo-breadcrumbs-home', array( + 'label' => __( 'Anchor text for the homepage:', 'wordpress-seo' ), + 'type' => 'text', + 'section' => 'wpseo_breadcrumbs_customizer_section', + 'settings' => 'wpseo_internallinks[breadcrumbs-home]', + 'context' => '', + ) + ) + ); + } + + /** + * Adds the breadcrumbs prefix text field + */ + private function breadcrumbs_prefix_setting() { + $this->wp_customize->add_setting( + 'wpseo_internallinks[breadcrumbs-prefix]', array( + 'default' => '', + 'type' => 'option', + 'transport' => 'refresh', + ) + ); + + $this->wp_customize->add_control( + new WP_Customize_Control( + $this->wp_customize, 'wpseo-breadcrumbs-prefix', array( + 'label' => __( 'Prefix for breadcrumbs:', 'wordpress-seo' ), + 'type' => 'text', + 'section' => 'wpseo_breadcrumbs_customizer_section', + 'settings' => 'wpseo_internallinks[breadcrumbs-prefix]', + 'context' => '', + ) + ) + ); + } + + /** + * Adds the breadcrumbs archive prefix text field + */ + private function breadcrumbs_archiveprefix_setting() { + $this->wp_customize->add_setting( + 'wpseo_internallinks[breadcrumbs-archiveprefix]', array( + 'default' => '', + 'type' => 'option', + 'transport' => 'refresh', + ) + ); + + $this->wp_customize->add_control( + new WP_Customize_Control( + $this->wp_customize, 'wpseo-breadcrumbs-archiveprefix', array( + 'label' => __( 'Prefix for archive pages:', 'wordpress-seo' ), + 'type' => 'text', + 'section' => 'wpseo_breadcrumbs_customizer_section', + 'settings' => 'wpseo_internallinks[breadcrumbs-archiveprefix]', + 'context' => '', + ) + ) + ); + } + + /** + * Adds the breadcrumbs search prefix text field + */ + private function breadcrumbs_searchprefix_setting() { + $this->wp_customize->add_setting( + 'wpseo_internallinks[breadcrumbs-searchprefix]', array( + 'default' => '', + 'type' => 'option', + 'transport' => 'refresh', + ) + ); + + $this->wp_customize->add_control( + new WP_Customize_Control( + $this->wp_customize, 'wpseo-breadcrumbs-searchprefix', array( + 'label' => __( 'Prefix for search result pages:', 'wordpress-seo' ), + 'type' => 'text', + 'section' => 'wpseo_breadcrumbs_customizer_section', + 'settings' => 'wpseo_internallinks[breadcrumbs-searchprefix]', + 'context' => '', + ) + ) + ); + } + + /** + * Adds the breadcrumb 404 prefix text field + */ + private function breadcrumbs_404_setting() { + $this->wp_customize->add_setting( + 'wpseo_internallinks[breadcrumbs-404crumb]', array( + 'default' => '', + 'type' => 'option', + 'transport' => 'refresh', + ) + ); + + $this->wp_customize->add_control( + new WP_Customize_Control( + $this->wp_customize, 'wpseo-breadcrumbs-404crumb', array( + 'label' => __( 'Breadcrumb for 404 pages:', 'wordpress-seo' ), + 'type' => 'text', + 'section' => 'wpseo_breadcrumbs_customizer_section', + 'settings' => 'wpseo_internallinks[breadcrumbs-404crumb]', + 'context' => '', + ) + ) + ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-database-proxy.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-database-proxy.php new file mode 100644 index 00000000..a02a394e --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-database-proxy.php @@ -0,0 +1,191 @@ +table_name = $table_name; + $this->suppress_errors = (bool) $suppress_errors; + $this->database = $database; + } + + /** + * Inserts data into the database. + * + * @param array $data Data to insert. + * @param null $format Formats for the data. + * + * @return false|int Total amount of inserted rows or false on error. + */ + public function insert( array $data, $format = null ) { + $this->pre_execution(); + + $result = $this->database->insert( $this->get_table_name(), $data, $format ); + + $this->post_execution(); + + return $result; + } + + /** + * Updates data in the database. + * + * @param array $data Data to update on the table. + * @param array $where Where condition as key => value array. + * @param null $format Optional. data prepare format. + * @param null $where_format Optional. Where prepare format. + * + * @return false|int False when the update request is invalid, int on number of rows changed. + */ + public function update( array $data, array $where, $format = null, $where_format = null ) { + $this->pre_execution(); + + $result = $this->database->update( $this->get_table_name(), $data, $where, $format, $where_format ); + + $this->post_execution(); + + return $result; + } + + /** + * Upserts data in the database. + * + * Tries to insert the data first, if this fails an update is attempted. + * + * @param array $data Data to update on the table. + * @param array $where Where condition as key => value array. + * @param null $format Optional. data prepare format. + * @param null $where_format Optional. Where prepare format. + * + * @return false|int False when the upsert request is invalid, int on number of rows changed. + */ + public function upsert( array $data, array $where, $format = null, $where_format = null ) { + $result = $this->insert( $data, $format ); + + if ( false === $result ) { + $result = $this->update( $data, $where, $format, $where_format ); + } + + return $result; + } + + /** + * Deletes a record from the database. + * + * @param array $where Where clauses for the query. + * @param null|array $format Formats for the data. + * + * @return false|int + */ + public function delete( array $where, $format = null ) { + $this->pre_execution(); + + $result = $this->database->delete( $this->get_table_name(), $where, $format ); + + $this->post_execution(); + + return $result; + } + + /** + * Executes the given query and returns the results. + * + * @param string $query The query to execute. + * + * @return array|null|object The resultset + */ + public function get_results( $query ) { + $this->pre_execution(); + + $results = $this->database->get_results( $query ); + + $this->post_execution(); + + return $results; + } + + /** + * Creates a table to the database. + * + * @param array $columns The columns to create. + * @param array $indexes The indexes to use. + * + * @return bool True when creation is successful. + */ + public function create_table( array $columns, array $indexes = array() ) { + $create_table = sprintf( ' + CREATE TABLE IF NOT EXISTS %1$s ( %2$s ) %3$s', + $this->get_table_name(), + implode( ',', array_merge( $columns, $indexes ) ), + $this->database->get_charset_collate() + ); + + $this->pre_execution(); + + $is_created = (bool) $this->database->query( $create_table ); + + $this->post_execution(); + + return $is_created; + } + + /** + * Checks if there is an error. + * + * @return bool Returns true when there is an error. + */ + public function has_error() { + return ( $this->database->last_error !== '' ); + } + + /** + * Executed before a query will be ran. + */ + protected function pre_execution() { + if ( $this->suppress_errors ) { + $this->last_suppressed_state = $this->database->suppress_errors(); + } + } + + /** + * Executed after a query has been ran. + */ + protected function post_execution() { + if ( $this->suppress_errors ) { + $this->database->suppress_errors( $this->last_suppressed_state ); + } + } + + /** + * Returns the set table name. + * + * @return string + */ + protected function get_table_name() { + return $this->table_name; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-export.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-export.php new file mode 100644 index 00000000..f37b1a14 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-export.php @@ -0,0 +1,278 @@ +include_taxonomy = $include_taxonomy; + $this->dir = wp_upload_dir(); + + $this->export_settings(); + } + + /** + * Returns true when the property error has a value. + * + * @return bool + */ + public function has_error() { + return ( $this->error !== '' ); + } + + /** + * Sets the error hook, to display the error to the user. + */ + public function set_error_hook() { + $class = 'notice notice-error'; + /* translators: %1$s expands to Yoast SEO */ + $message = sprintf( __( 'Error creating %1$s export: ', 'wordpress-seo' ), 'Yoast SEO' ) . $this->error; + + printf( '

%2$s

', $class, $message ); + } + + /** + * Exports the current site's WP SEO settings. + */ + private function export_settings() { + + $this->export_header(); + + foreach ( WPSEO_Options::get_option_names() as $opt_group ) { + $this->write_opt_group( $opt_group ); + } + + $this->taxonomy_metadata(); + + if ( ! $this->write_settings_file() ) { + $this->error = __( 'Could not write settings to file.', 'wordpress-seo' ); + + return; + } + + if ( $this->zip_file() ) { + // Just exit, because there is a download being served. + exit; + } + } + + /** + * Writes the header of the export file. + */ + private function export_header() { + /* translators: %1$s expands to Yoast SEO */ + $this->write_line( '; ' . sprintf( __( 'This is a settings export file for the %1$s plugin by Yoast.com', 'wordpress-seo' ), 'Yoast SEO' ) . ' - https://yoast.com/wordpress/plugins/seo/' ); + if ( $this->include_taxonomy ) { + $this->write_line( '; ' . __( 'This export includes taxonomy metadata', 'wordpress-seo' ) ); + } + } + + /** + * Writes a line to the export + * + * @param string $line Line string. + * @param boolean $newline_first Boolean flag whether to prepend with new line. + */ + private function write_line( $line, $newline_first = false ) { + if ( $newline_first ) { + $this->export .= PHP_EOL; + } + $this->export .= $line . PHP_EOL; + } + + /** + * Writes an entire option group to the export + * + * @param string $opt_group Option group name. + */ + private function write_opt_group( $opt_group ) { + + $this->write_line( '[' . $opt_group . ']', true ); + + $options = get_option( $opt_group ); + + if ( ! is_array( $options ) ) { + return; + } + + foreach ( $options as $key => $elem ) { + if ( is_array( $elem ) ) { + $count = count( $elem ); + for ( $i = 0; $i < $count; $i ++ ) { + $this->write_setting( $key . '[]', $elem[ $i ] ); + } + } + else { + $this->write_setting( $key, $elem ); + } + } + } + + /** + * Writes a settings line to the export + * + * @param string $key Key string. + * @param string $val Value string. + */ + private function write_setting( $key, $val ) { + if ( is_string( $val ) ) { + $val = '"' . $val . '"'; + } + $this->write_line( $key . ' = ' . $val ); + } + + /** + * Adds the taxonomy meta data if there is any + */ + private function taxonomy_metadata() { + if ( $this->include_taxonomy ) { + $taxonomy_meta = get_option( 'wpseo_taxonomy_meta' ); + if ( is_array( $taxonomy_meta ) ) { + $this->write_line( '[wpseo_taxonomy_meta]', true ); + $this->write_setting( 'wpseo_taxonomy_meta', urlencode( wp_json_encode( $taxonomy_meta ) ) ); + } + else { + $this->write_line( '; ' . __( 'No taxonomy metadata found', 'wordpress-seo' ), true ); + } + } + } + + /** + * Writes the settings to our temporary settings.ini file + * + * @return boolean unsigned + */ + private function write_settings_file() { + $handle = fopen( $this->dir['path'] . '/' . self::INI_FILENAME, 'w' ); + if ( ! $handle ) { + return false; + } + + $res = fwrite( $handle, $this->export ); + if ( ! $res ) { + return false; + } + + fclose( $handle ); + + return true; + } + + /** + * Zips the settings ini file + * + * @return bool|null + */ + private function zip_file() { + $is_zip_created = $this->create_zip(); + + // The settings.ini isn't needed, because it's in the zipfile. + $this->remove_settings_ini(); + + if ( ! $is_zip_created ) { + $this->error = __( 'Could not zip settings-file.', 'wordpress-seo' ); + + return false; + } + + $this->serve_settings_export(); + $this->remove_zip(); + + return true; + } + + /** + * Creates the zipfile and returns true if it created successful. + * + * @return bool + */ + private function create_zip() { + chdir( $this->dir['path'] ); + $zip = new PclZip( './' . self::ZIP_FILENAME ); + if ( 0 === $zip->create( './' . self::INI_FILENAME ) ) { + return false; + } + + return file_exists( self::ZIP_FILENAME ); + } + + /** + * Downloads the zip file. + */ + private function serve_settings_export() { + // Clean any content that has been already output. For example by other plugins or faulty PHP files. + if ( ob_get_contents() ) { + ob_clean(); + } + header( 'Content-Type: application/octet-stream; charset=utf-8' ); + header( 'Content-Transfer-Encoding: Binary' ); + header( 'Content-Disposition: attachment; filename=' . self::ZIP_FILENAME ); + header( 'Content-Length: ' . filesize( self::ZIP_FILENAME ) ); + + readfile( self::ZIP_FILENAME ); + } + + /** + * Removes the settings ini file. + */ + private function remove_settings_ini() { + unlink( './' . self::INI_FILENAME ); + } + + /** + * Removes the files because they are already downloaded. + */ + private function remove_zip() { + unlink( './' . self::ZIP_FILENAME ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-extension-manager.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-extension-manager.php new file mode 100644 index 00000000..ebb40854 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-extension-manager.php @@ -0,0 +1,91 @@ +extensions[ $extension_name ] = $extension; + } + + /** + * Removes an extension from the manager. + * + * @param string $extension_name The name of the extension to remove. + */ + public function remove( $extension_name ) { + if ( array_key_exists( $extension_name, $this->extensions ) ) { + unset( $this->extensions[ $extension_name ] ); + } + } + + /** + * Returns the extension for the given extension name. + * + * @param string $extension_name The name of the extension to get. + * + * @return null|WPSEO_Extension The extension object or null when it doesn't exist. + */ + public function get( $extension_name ) { + if ( array_key_exists( $extension_name, $this->extensions ) ) { + return $this->extensions[ $extension_name ]; + } + + return null; + } + + /** + * Returns all set extension. + * + * @return WPSEO_Extension[] Array with the extensions. + */ + public function get_all() { + return $this->extensions; + } + + /** + * Checks if the plugin is activated. + * + * @param string $extension_name The extension name to check. + * + * @return bool True when the plugin is activated. + */ + public function is_activated( $extension_name ) { + if ( self::$active_extensions === null ) { + // Force re-check on license & dashboard pages. + $current_page = filter_input( INPUT_GET, 'page' ); + $exclude_cache = ( $current_page === 'wpseo_licenses' || $current_page === 'wpseo_dashboard' ); + + // Fetch transient data on any other page. + if ( ! $exclude_cache ) { + self::$active_extensions = get_transient( self::TRANSIENT_CACHE_KEY ); + } + + if ( ! is_array( self::$active_extensions ) ) { + self::$active_extensions = (array) apply_filters( 'yoast-active-extensions', array() ); + set_transient( self::TRANSIENT_CACHE_KEY, self::$active_extensions, DAY_IN_SECONDS ); + } + } + + return in_array( $extension_name, self::$active_extensions, true ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-extension.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-extension.php new file mode 100644 index 00000000..95aeca78 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-extension.php @@ -0,0 +1,81 @@ +config = $config; + } + + /** + * Returns the product title. + * + * @return string The set title. + */ + public function get_title() { + return $this->config['title']; + } + + /** + * Returns URL to the page where the product can be bought. + * + * @return string The buy url. + */ + public function get_buy_url() { + return $this->config['buyUrl']; + } + + /** + * Returns URL to the page with more info. + * + * @return string The url to the info page. + */ + public function get_info_url() { + return $this->config['infoUrl']; + } + + /** + * Returns the image. + * + * @return string The image. + */ + public function get_image() { + return $this->config['image']; + } + + /** + * Returns the buy button value if set, otherwise fallback to the title. + * + * @return string The buy button. + */ + public function get_buy_button() { + if ( isset( $this->config['buy_button'] ) ) { + return $this->config['buy_button']; + } + + return $this->get_title(); + + } + + /** + * Returns the benefits. + * + * @return array The array with benefits. + */ + public function get_benefits() { + return $this->config['benefits']; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-extensions.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-extensions.php new file mode 100644 index 00000000..e9100dd7 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-extensions.php @@ -0,0 +1,101 @@ + array( + 'slug' => 'yoast-seo-premium', + 'identifier' => 'wordpress-seo-premium', + 'classname' => 'WPSEO_Premium', + ), + 'News SEO' => array( + 'slug' => 'news-seo', + 'identifier' => 'wpseo-news', + 'classname' => 'WPSEO_News', + ), + 'Yoast WooCommerce SEO' => array( + 'slug' => 'woocommerce-yoast-seo', + 'identifier' => 'wpseo-woocommerce', + 'classname' => 'Yoast_WooCommerce_SEO', + ), + 'Video SEO' => array( + 'slug' => 'video-seo-for-wordpress', + 'identifier' => 'wpseo-video', + 'classname' => 'WPSEO_Video_Sitemap', + ), + 'Local SEO' => array( + 'slug' => 'local-seo-for-wordpress', + 'identifier' => 'wpseo-local', + 'classname' => 'WPSEO_Local_Core', + ), + ); + + /** + * Returns the set extensions. + * + * @return array All the extension names. + */ + public function get() { + return array_keys( $this->extensions ); + } + + /** + * Checks if the extension is valid. + * + * @param string $extension The extension to get the name for. + * + * @return bool Returns true when valid. + */ + public function is_valid( $extension ) { + $extensions = new WPSEO_Extension_Manager(); + return $extensions->is_activated( $this->extensions[ $extension ]['identifier'] ); + } + + /** + * Invalidates the extension by removing its option. + * + * @param string $extension The extension to invalidate. + */ + public function invalidate( $extension ) { + /* + * Make sure we clear the current site and multisite options. + * + * Because plugins can be site-activated or multi-site activated we need to clear + * all possible options. + * + * If we knew here that the extension in question was network activated + * we could do this a lot more easily. + */ + delete_option( $this->get_option_name( $extension ) ); + delete_site_option( $this->get_option_name( $extension ) ); + } + + /** + * Checks if the plugin has been installed. + * + * @param string $extension The name of the plugin to check. + * + * @return bool Returns true when installed. + */ + public function is_installed( $extension ) { + return class_exists( $this->extensions[ $extension ]['classname'] ); + } + + /** + * Converts the extension to the required option name. + * + * @param string $extension The extension name to convert. + * + * @return string Returns the option name. + */ + protected function get_option_name( $extension ) { + return sanitize_title_with_dashes( $this->extensions[ $extension ]['slug'] . '_', null, 'save' ) . 'license'; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-help-center-item.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-help-center-item.php new file mode 100644 index 00000000..cc3449c5 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-help-center-item.php @@ -0,0 +1,94 @@ +identifier = $identifier; + $this->label = $label; + $this->dashicon = $dashicon; + $this->args = $args; + } + + /** + * Get the label. + * + * @return string + */ + public function get_label() { + return $this->label; + } + + /** + * Get the identifier. + * + * @return string + */ + public function get_identifier() { + return $this->identifier; + } + + /** + * Get the dashicon. + * + * @return string + */ + public function get_dashicon() { + return $this->dashicon; + } + + /** + * Get the content of this tab. + * + * @return mixed|string + */ + public function get_content() { + if ( ! empty( $this->args['content'] ) ) { + return $this->args['content']; + } + + if ( ! empty( $this->args['callback'] ) ) { + return call_user_func_array( $this->args['callback'], array( $this ) ); + } + + if ( ! empty( $this->args['view'] ) ) { + $view = $this->args['view']; + if ( substr( $view, - 4 ) === '.php' ) { + $view = substr( $view, 0, - 4 ); + } + + if ( ! empty( $this->args['view_arguments'] ) ) { + extract( $this->args['view_arguments'] ); + } + + include WPSEO_PATH . 'admin/views/' . $view . '.php'; + } + + return ''; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-help-center.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-help-center.php new file mode 100644 index 00000000..cffd2520 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-help-center.php @@ -0,0 +1,227 @@ +premium_support = $premium_support; + + $tabs = new WPSEO_Option_Tabs( '' ); + + if ( $option_tabs instanceof WPSEO_Option_Tabs ) { + $tabs = $option_tabs; + } + + if ( $option_tabs instanceof WPSEO_Option_Tab ) { + $tabs = new WPSEO_Option_Tabs( '', $option_tabs->get_name() ); + $tabs->add_tab( $option_tabs ); + } + + $this->tabs = $tabs; + } + + /** + * Localize data required by the help center component. + */ + public function localize_data() { + $this->add_contact_support_item(); + $this->enqueue_localized_data( $this->format_data( $this->tabs->get_tabs() ) ); + } + + /** + * Format the required data for localized script. + * + * @param WPSEO_Option_Tab[] $tabs Yoast admin pages navigational tabs. + * + * @return array Associative array containing data for help center component. + */ + protected function format_data( array $tabs ) { + $formatted_data = array( 'tabs' => array() ); + + foreach ( $tabs as $tab ) { + $formatted_data['tabs'][ $tab->get_name() ] = array( + 'label' => $tab->get_label(), + 'videoUrl' => $tab->get_video_url(), + 'id' => $tab->get_name(), + ); + } + + $active_tab = $this->tabs->get_active_tab(); + $active_tab = ( null === $active_tab ) ? $tabs[0] : $active_tab; + + $formatted_data['mountId'] = $this->identifier; + $formatted_data['initialTab'] = $active_tab->get_name(); + + $is_premium = WPSEO_Utils::is_yoast_seo_premium(); + + // Will translate to either empty string or "1" in localised script. + $formatted_data['isPremium'] = $is_premium; + $formatted_data['pluginVersion'] = WPSEO_VERSION; + + // Open HelpScout on activating this tab ID. + $formatted_data['shouldDisplayContactForm'] = $this->premium_support; + + $formatted_data['translations'] = self::get_translated_texts(); + + $formatted_data['videoDescriptions'] = array( + array( + 'title' => __( 'Need some help?', 'wordpress-seo' ), + 'description' => __( 'Go Premium and our experts will be there for you to answer any questions you might have about the setup and use of the plugin.', 'wordpress-seo' ), + 'link' => 'https://yoa.st/seo-premium-vt?utm_content=' . WPSEO_VERSION, + 'linkText' => __( 'Get Yoast SEO Premium now »', 'wordpress-seo' ), + ), + array( + 'title' => __( 'Want to be a Yoast SEO Expert?', 'wordpress-seo' ), + 'description' => __( 'Follow our Yoast SEO for WordPress training and become a certified Yoast SEO Expert!', 'wordpress-seo' ), + 'link' => 'https://yoa.st/wordpress-training-vt?utm_content=' . WPSEO_VERSION, + 'linkText' => __( 'Enroll in the Yoast SEO for WordPress training »', 'wordpress-seo' ), + ), + ); + + $formatted_data['extraTabs'] = $this->get_extra_tabs(); + + return $formatted_data; + } + + /** + * Get additional tabs for the help center component. + * + * @return array Additional help center tabs. + */ + protected function get_extra_tabs() { + $help_center_items = apply_filters( 'wpseo_help_center_items', $this->help_center_items ); + + return array_map( array( $this, 'format_helpcenter_tab' ), $help_center_items ); + } + + /** + * Convert WPSEO_Help_Center_Item into help center format. + * + * @param WPSEO_Help_Center_Item $item The item to convert. + * + * @return array Formatted item. + */ + protected function format_helpcenter_tab( WPSEO_Help_Center_Item $item ) { + return array( + 'identifier' => $item->get_identifier(), + 'label' => $item->get_label(), + 'content' => $item->get_content(), + ); + } + + /** + * Enqueue localized script for help center component. + * + * @param array $data Data to localize. + */ + protected function enqueue_localized_data( $data ) { + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'help-center', 'wpseoHelpCenterData', $data ); + } + + /** + * Outputs the help center div. + */ + public function mount() { + echo '
' . __( 'Loading help center.', 'wordpress-seo' ) . '
'; + } + + /** + * Add the contact support help center item to the help center. + */ + private function add_contact_support_item() { + /* translators: %s: expands to 'Yoast SEO Premium'. */ + $popup_title = sprintf( __( 'Email support is a %s feature', 'wordpress-seo' ), 'Yoast SEO Premium' ); + $popup_content = '

' . __( 'Go Premium and our experts will be there for you to answer any questions you might have about the set-up and use of the plug-in!', 'wordpress-seo' ) . '

'; + /* translators: %1$s: expands to 'Yoast SEO Premium'. */ + $popup_content .= '

' . sprintf( __( 'Other benefits of %1$s for you:', 'wordpress-seo' ), 'Yoast SEO Premium' ) . '

'; + $popup_content .= '
    '; + $popup_content .= '
  • ' . sprintf( + // We don't use strong text here, but we do use it in the "Add keyword" popup, this is just to have the same translatable strings. + /* translators: %1$s expands to a 'strong' start tag, %2$s to a 'strong' end tag. */ + __( '%1$sNo more dead links%2$s: easy redirect manager', 'wordpress-seo' ), '', '' + ) . '
  • '; + $popup_content .= '
  • ' . __( 'Superfast internal links suggestions', 'wordpress-seo' ) . '
  • '; + $popup_content .= '
  • ' . sprintf( + // We don't use strong text here, but we do use it in the "Add keyword" popup, this is just to have the same translatable strings. + /* translators: %1$s expands to a 'strong' start tag, %2$s to a 'strong' end tag. */ + __( '%1$sSocial media preview%2$s: Facebook & Twitter', 'wordpress-seo' ), '', '' + ) . '
  • '; + $popup_content .= '
  • ' . __( '24/7 support', 'wordpress-seo' ) . '
  • '; + $popup_content .= '
  • ' . __( 'No ads!', 'wordpress-seo' ) . '
  • '; + $popup_content .= '
'; + + $premium_popup = new WPSEO_Premium_Popup( 'contact-support', 'h2', $popup_title, $popup_content ); + + $contact_support_help_center_item = new WPSEO_Help_Center_Item( + 'contact-support', + __( 'Get support', 'wordpress-seo' ), + array( 'content' => $premium_popup->get_premium_message( false ) ), + 'dashicons-email-alt' + ); + $this->help_center_items[] = $contact_support_help_center_item; + } + + /** + * Pass text variables to js for the help center JS module. + * + * %s is replaced with %s and replaced again in the javascript with the actual variable. + * + * @return array Translated text strings for the help center. + */ + public static function get_translated_texts() { + return array( + 'locale' => get_locale(), + 'videoTutorial' => __( 'Video tutorial', 'wordpress-seo' ), + 'knowledgeBase' => __( 'Knowledge base', 'wordpress-seo' ), + 'getSupport' => __( 'Get support', 'wordpress-seo' ), + 'algoliaSearcher.loadingPlaceholder' => __( 'Loading...', 'wordpress-seo' ), + 'algoliaSearcher.errorMessage' => __( 'Something went wrong. Please try again later.', 'wordpress-seo' ), + 'searchBar.headingText' => __( 'Search the Yoast knowledge base', 'wordpress-seo' ), + 'searchBar.placeholderText' => __( 'Search the knowledge base', 'wordpress-seo' ), + 'searchBar.buttonText' => __( 'Search', 'wordpress-seo' ), + 'searchResultDetail.openButton' => __( 'View in KB', 'wordpress-seo' ), + 'searchResultDetail.openButtonLabel' => __( 'Open the knowledge base article in a new window or read it in the iframe below', 'wordpress-seo' ), + 'searchResultDetail.backButton' => __( 'Go back', 'wordpress-seo' ), + 'searchResultDetail.backButtonLabel' => __( 'Go back to the search results', 'wordpress-seo' ), + 'searchResultDetail.iframeTitle' => __( 'Knowledge base article', 'wordpress-seo' ), + 'searchResult.noResultsText' => __( 'No results found.', 'wordpress-seo' ), + 'searchResult.foundResultsText' => __( 'Number of results found: { resultsCount }', 'wordpress-seo' ), + 'searchResult.searchResultsHeading' => __( 'Search results', 'wordpress-seo' ), + 'a11yNotice.opensInNewTab' => __( '(Opens in a new browser tab)', 'wordpress-seo' ), + 'contactSupport.button' => __( 'Open support form', 'wordpress-seo' ), + ); + } + + /** + * Outputs the help center. + * + * @deprecated + */ + public function output_help_center() { + _deprecated_function( 'WPSEO_Help_Center::output_help_center', 'WPSEO 5.6.0', 'WPSEO_Help_Center::mount()' ); + $this->mount(); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-import-aioseo.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-import-aioseo.php new file mode 100644 index 00000000..189068ac --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-import-aioseo.php @@ -0,0 +1,103 @@ +aioseo_options = get_option( 'aioseop_options' ); + + $this->import_metas(); + $this->import_ga(); + } + + /** + * Import All In One SEO meta values + */ + private function import_metas() { + WPSEO_Meta::replace_meta( '_aioseop_description', WPSEO_Meta::$meta_prefix . 'metadesc', $this->replace ); + WPSEO_Meta::replace_meta( '_aioseop_keywords', WPSEO_Meta::$meta_prefix . 'metakeywords', $this->replace ); + WPSEO_Meta::replace_meta( '_aioseop_title', WPSEO_Meta::$meta_prefix . 'title', $this->replace ); + } + + /** + * Import the Google Analytics settings + */ + private function import_ga() { + if ( isset( $this->aioseo_options['aiosp_google_analytics_id'] ) ) { + + if ( get_option( 'yst_ga' ) === false ) { + update_option( 'yst_ga', $this->determine_ga_settings() ); + } + + $plugin_install_nonce = wp_create_nonce( 'install-plugin_google-analytics-for-wordpress' ); // Use the old name because that's the WordPress.org repo. + + $this->set_msg( sprintf( + /* translators: 1,2: link open tag; 3: link close tag. */ + __( 'All in One SEO data successfully imported. Would you like to %1$sdisable the All in One SEO plugin%3$s? You\'ve had Google Analytics enabled in All in One SEO, would you like to install our %2$sGoogle Analytics plugin%3$s?', 'wordpress-seo' ), + '', + '', + '' + ) ); + } + else { + $this->set_msg( sprintf( + /* translators: 1: link open tag; 2: link close tag. */ + __( 'All in One SEO data successfully imported. Would you like to %1$sdisable the All in One SEO plugin%2$s?', 'wordpress-seo' ), + '', + '' + ) ); + } + } + + /** + * Determine the appropriate GA settings for this site + * + * @return array $ga_settings + */ + private function determine_ga_settings() { + $ga_universal = 0; + if ( $this->aioseo_options['aiosp_ga_use_universal_analytics'] == 'on' ) { + $ga_universal = 1; + } + + $ga_track_outbound = 0; + if ( $this->aioseo_options['aiosp_ga_track_outbound_links'] == 'on' ) { + $ga_track_outbound = 1; + } + + $ga_anonymize_ip = 0; + if ( $this->aioseo_options['aiosp_ga_anonymize_ip'] == 'on' ) { + $ga_anonymize_ip = 1; + } + + return array( + 'ga_general' => array( + 'manual_ua_code' => (int) 1, + 'manual_ua_code_field' => $this->aioseo_options['aiosp_google_analytics_id'], + 'enable_universal' => $ga_universal, + 'track_outbound' => $ga_track_outbound, + 'ignore_users' => (array) $this->aioseo_options['aiosp_ga_exclude_users'], + 'anonymize_ips' => (int) $ga_anonymize_ip, + ), + ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-import-external.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-import-external.php new file mode 100644 index 00000000..949584de --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-import-external.php @@ -0,0 +1,105 @@ +replace = $replace; + + WPSEO_Options::initialize(); + } + + /** + * Convenience function to set import message + * + * @param string $msg Message string. + */ + protected function set_msg( $msg ) { + if ( ! empty( $this->msg ) ) { + $this->msg .= PHP_EOL; + } + $this->msg .= $msg; + } + + /** + * Deletes an option depending on the class replace state + * + * @param string $option Option key. + */ + protected function perhaps_delete( $option ) { + if ( $this->replace ) { + delete_option( $option ); + } + } + + /** + * Import HeadSpace SEO settings + */ + public function import_headspace() { + global $wpdb; + + WPSEO_Meta::replace_meta( '_headspace_description', WPSEO_Meta::$meta_prefix . 'metadesc', $this->replace ); + WPSEO_Meta::replace_meta( '_headspace_keywords', WPSEO_Meta::$meta_prefix . 'metakeywords', $this->replace ); + WPSEO_Meta::replace_meta( '_headspace_page_title', WPSEO_Meta::$meta_prefix . 'title', $this->replace ); + + /** + * @todo [JRF => whomever] verify how headspace sets these metas ( 'noindex', 'nofollow', 'noarchive', 'noodp', 'noydir' ) + * and if the values saved are concurrent with the ones we use (i.e. 0/1/2) + */ + WPSEO_Meta::replace_meta( '_headspace_noindex', WPSEO_Meta::$meta_prefix . 'meta-robots-noindex', $this->replace ); + WPSEO_Meta::replace_meta( '_headspace_nofollow', WPSEO_Meta::$meta_prefix . 'meta-robots-nofollow', $this->replace ); + + /* + * @todo - [JRF => whomever] check if this can be done more efficiently by querying only the meta table + * possibly directly changing it using concat on the existing values + */ + $posts = $wpdb->get_results( "SELECT ID FROM $wpdb->posts" ); + if ( is_array( $posts ) && $posts !== array() ) { + foreach ( $posts as $post ) { + $custom = get_post_custom( $post->ID ); + $robotsmeta_adv = ''; + if ( isset( $custom['_headspace_noarchive'] ) ) { + $robotsmeta_adv .= 'noarchive,'; + } + $robotsmeta_adv = preg_replace( '`,$`', '', $robotsmeta_adv ); + WPSEO_Meta::set_value( 'meta-robots-adv', $robotsmeta_adv, $post->ID ); + } + } + + if ( $this->replace ) { + // We no longer use noydir, but we remove the meta key as it's unneeded. + $hs_meta = array( 'noarchive', 'noodp', 'noydir' ); + foreach ( $hs_meta as $meta ) { + delete_post_meta_by_key( '_headspace_' . $meta ); + } + unset( $hs_meta, $meta ); + } + $this->set_msg( __( 'HeadSpace2 data successfully imported', 'wordpress-seo' ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-import-jetpack.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-import-jetpack.php new file mode 100644 index 00000000..3ddf169e --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-import-jetpack.php @@ -0,0 +1,28 @@ +import_metas(); + } + + /** + * Import All In One SEO meta values + */ + private function import_metas() { + WPSEO_Meta::replace_meta( 'advanced_seo_description', WPSEO_Meta::$meta_prefix . 'metadesc', $this->replace ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-import-woothemes-seo.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-import-woothemes-seo.php new file mode 100644 index 00000000..f06fcd30 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-import-woothemes-seo.php @@ -0,0 +1,146 @@ +import_home(); + $this->import_option( 'seo_woo_single_layout', 'post' ); + $this->import_option( 'seo_woo_page_layout', 'page' ); + $this->import_archive_option(); + $this->import_custom_values( 'seo_woo_meta_home_desc', 'metadesc-home-wpseo' ); + $this->import_custom_values( 'seo_woo_meta_home_key', 'metakey-home-wpseo' ); + $this->import_metas(); + + update_option( 'wpseo_titles', $this->options ); + + $this->set_msg( __( 'WooThemes SEO framework settings & data successfully imported.', 'wordpress-seo' ) ); + } + + /** + * Holds the WPSEO Title Options + * + * @var array + */ + private $options; + + /** + * Import options. + * + * @param string $option Option key. + * @param string $post_type Post type name to import for. + */ + private function import_option( $option, $post_type ) { + switch ( get_option( $option ) ) { + case 'a': + $this->options[ 'title-' . $post_type ] = '%%title%% %%sep%% %%sitename%%'; + break; + case 'b': + $this->options[ 'title-' . $post_type ] = '%%title%%'; + break; + case 'c': + $this->options[ 'title-' . $post_type ] = '%%sitename%% %%sep%% %%title%%'; + break; + case 'd': + $this->options[ 'title-' . $post_type ] = '%%title%% %%sep%% %%sitedesc%%'; + break; + case 'e': + $this->options[ 'title-' . $post_type ] = '%%sitename%% %%sep%% %%title%% %%sep%% %%sitedesc%%'; + break; + } + $this->perhaps_delete( $option ); + } + + /** + * Import the archive layout for all taxonomies + */ + private function import_archive_option() { + $reinstate_replace = false; + if ( $this->replace ) { + $this->replace = false; + $reinstate_replace = true; + } + $taxonomies = get_taxonomies( array( 'public' => true ), 'names' ); + if ( is_array( $taxonomies ) && $taxonomies !== array() ) { + foreach ( $taxonomies as $tax ) { + $this->import_option( 'seo_woo_archive_layout', 'tax-' . $tax ); + } + } + if ( $reinstate_replace ) { + $this->replace = true; + $this->perhaps_delete( 'seo_woo_archive_layout' ); + } + } + + /** + * Import custom descriptions and meta keys + * + * @param string $option Option key. + * @param string $key Internal key to import over. + */ + private function import_custom_values( $option, $key ) { + // Import the custom homepage description. + if ( 'c' == get_option( $option ) ) { + $this->options[ $key ] = get_option( $option . '_custom' ); + } + $this->perhaps_delete( $option ); + $this->perhaps_delete( $option . '_custom' ); + } + + /** + * Imports the WooThemes SEO homepage settings + */ + private function import_home() { + switch ( get_option( 'seo_woo_home_layout' ) ) { + case 'a': + $this->options['title-home-wpseo'] = '%%sitename%% %%sep%% %%sitedesc%%'; + break; + case 'b': + $this->options['title-home-wpseo'] = '%%sitename%% ' . get_option( 'seo_woo_paged_var' ) . ' %%pagenum%%'; + break; + case 'c': + $this->options['title-home-wpseo'] = '%%sitedesc%%'; + break; + } + $this->perhaps_delete( 'seo_woo_home_layout' ); + } + + /** + * Import meta values if they're applicable + */ + private function import_metas() { + WPSEO_Meta::replace_meta( 'seo_follow', WPSEO_Meta::$meta_prefix . 'meta-robots-nofollow', $this->replace ); + WPSEO_Meta::replace_meta( 'seo_noindex', WPSEO_Meta::$meta_prefix . 'meta-robots-noindex', $this->replace ); + + // If WooSEO is set to use the Woo titles, import those. + if ( 'true' == get_option( 'seo_woo_wp_title' ) ) { + WPSEO_Meta::replace_meta( 'seo_title', WPSEO_Meta::$meta_prefix . 'title', $this->replace ); + } + + // If WooSEO is set to use the Woo meta descriptions, import those. + if ( 'b' == get_option( 'seo_woo_meta_single_desc' ) ) { + WPSEO_Meta::replace_meta( 'seo_description', WPSEO_Meta::$meta_prefix . 'metadesc', $this->replace ); + } + + // If WooSEO is set to use the Woo meta keywords, import those. + if ( 'b' == get_option( 'seo_woo_meta_single_key' ) ) { + WPSEO_Meta::replace_meta( 'seo_keywords', WPSEO_Meta::$meta_prefix . 'metakeywords', $this->replace ); + } + + foreach ( array( 'seo_woo_wp_title', 'seo_woo_meta_single_desc', 'seo_woo_meta_single_key' ) as $option ) { + $this->perhaps_delete( $option ); + } + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-import-wpseo.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-import-wpseo.php new file mode 100644 index 00000000..3d912d11 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-import-wpseo.php @@ -0,0 +1,207 @@ +import_post_metas(); + $this->import_taxonomy_metas(); + + $this->set_msg( + sprintf( + /* translators: 1: link open tag; 2: link close tag. */ + __( 'wpSEO data successfully imported. Would you like to %1$sdisable the wpSEO plugin%2$s?', 'wordpress-seo' ), + '', + '' + ) + ); + + } + + /** + * Import the post meta values to Yoast SEO by replacing the wpSEO fields by Yoast SEO fields + */ + private function import_post_metas() { + WPSEO_Meta::replace_meta( '_wpseo_edit_title', WPSEO_Meta::$meta_prefix . 'title', $this->replace ); + WPSEO_Meta::replace_meta( '_wpseo_edit_description', WPSEO_Meta::$meta_prefix . 'metadesc', $this->replace ); + WPSEO_Meta::replace_meta( '_wpseo_edit_keywords', WPSEO_Meta::$meta_prefix . 'keywords', $this->replace ); + WPSEO_Meta::replace_meta( '_wpseo_edit_canonical', WPSEO_Meta::$meta_prefix . 'canonical', $this->replace ); + + $this->import_post_robots(); + } + + /** + * Importing the robot values from WPSEO plugin. These have to be converted to the Yoast format. + */ + private function import_post_robots() { + $query_posts = new WP_Query( 'post_type=any&meta_key=_wpseo_edit_robots&order=ASC' ); + + if ( ! empty( $query_posts->posts ) ) { + foreach ( $query_posts->posts as $post ) { + $this->import_post_robot( $post->ID ); + } + } + } + + /** + * Getting the wpSEO robot value and map this to Yoast SEO values. + * + * @param integer $post_id The post id of the current post. + */ + private function import_post_robot( $post_id ) { + $wpseo_robots = get_post_meta( $post_id, '_wpseo_edit_robots', true ); + + // Does the value exists in our mapping. + if ( $robot_value = $this->get_robot_value( $wpseo_robots ) ) { + // Saving the new meta values for Yoast SEO. + WPSEO_Meta::set_value( $robot_value['index'], 'meta-robots-noindex', $post_id ); + WPSEO_Meta::set_value( $robot_value['follow'], 'meta-robots-nofollow', $post_id ); + } + + $this->delete_post_robot( $post_id ); + } + + /** + * Delete the wpSEO robot values, because they aren't needed anymore. + * + * @param integer $post_id The post id of the current post. + */ + private function delete_post_robot( $post_id ) { + if ( $this->replace ) { + delete_post_meta( $post_id, '_wpseo_edit_robots' ); + } + } + + /** + * Import the taxonomy metas from wpSEO + */ + private function import_taxonomy_metas() { + $terms = get_terms( get_taxonomies(), array( 'hide_empty' => false ) ); + $tax_meta = get_option( 'wpseo_taxonomy_meta' ); + + foreach ( $terms as $term ) { + $this->import_taxonomy_description( $tax_meta, $term->taxonomy, $term->term_id ); + $this->import_taxonomy_robots( $tax_meta, $term->taxonomy, $term->term_id ); + $this->delete_taxonomy_metas( $term->taxonomy, $term->term_id ); + } + + update_option( 'wpseo_taxonomy_meta', $tax_meta ); + } + + /** + * Import the meta description to Yoast SEO + * + * @param array $tax_meta The array with the current metadata. + * @param string $taxonomy String with the name of the taxonomy. + * @param string $term_id The ID of the current term. + */ + private function import_taxonomy_description( & $tax_meta, $taxonomy, $term_id ) { + $description = get_option( 'wpseo_' . $taxonomy . '_' . $term_id, false ); + if ( $description !== false ) { + // Import description. + $tax_meta[ $taxonomy ][ $term_id ]['wpseo_desc'] = $description; + } + } + + /** + * Import the robot value to Yoast SEO + * + * @param array $tax_meta The array with the current metadata. + * @param string $taxonomy String with the name of the taxonomy. + * @param string $term_id The ID of the current term. + */ + private function import_taxonomy_robots( & $tax_meta, $taxonomy, $term_id ) { + $wpseo_robots = get_option( 'wpseo_' . $taxonomy . '_' . $term_id . '_robots', false ); + if ( $wpseo_robots !== false ) { + // The value 1, 2 and 6 are the index values in wpSEO. + $new_robot_value = ( in_array( $wpseo_robots, array( 1, 2, 6 ) ) ) ? 'index' : 'noindex'; + + $tax_meta[ $taxonomy ][ $term_id ]['wpseo_noindex'] = $new_robot_value; + } + } + + /** + * Delete the wpSEO taxonomy meta data. + * + * @param string $taxonomy String with the name of the taxonomy. + * @param string $term_id The ID of the current term. + */ + private function delete_taxonomy_metas( $taxonomy, $term_id ) { + if ( $this->replace ) { + delete_option( 'wpseo_' . $taxonomy . '_' . $term_id ); + delete_option( 'wpseo_' . $taxonomy . '_' . $term_id . '_robots' ); + } + } + + /** + * Getting the robot config by given wpSEO robots value. + * + * @param string $wpseo_robots The value in wpSEO that needs to be converted to the Yoast format. + * + * @return array + */ + private function get_robot_value( $wpseo_robots ) { + static $robot_values; + + if ( $robot_values === null ) { + /** + * The values 1 - 6 are the configured values from wpSEO. This array will map the values of wpSEO to our values. + * + * There are some double array like 1-6 and 3-4. The reason is they only set the index value. The follow value is + * the default we use in the cases there isn't a follow value present. + * + * @var array + */ + $robot_values = array( + // In wpSEO: index, follow. + 1 => array( + 'index' => 2, + 'follow' => 0, + ), + // In wpSEO: index, nofollow. + 2 => array( + 'index' => 2, + 'follow' => 1, + ), + // In wpSEO: noindex. + 3 => array( + 'index' => 1, + 'follow' => 0, + ), + // In wpSEO: noindex, follow. + 4 => array( + 'index' => 1, + 'follow' => 0, + ), + // In wpSEO: noindex, nofollow. + 5 => array( + 'index' => 1, + 'follow' => 1, + ), + // In wpSEO: index. + 6 => array( + 'index' => 2, + 'follow' => 0, + ), + ); + } + + if ( array_key_exists( $wpseo_robots, $robot_values ) ) { + return $robot_values[ $wpseo_robots ]; + } + + return $robot_values[1]; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-import.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-import.php new file mode 100644 index 00000000..515127f0 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-import.php @@ -0,0 +1,200 @@ +handle_upload() ) { + return; + } + + $this->determine_path(); + + if ( ! $this->unzip_file() ) { + $this->clean_up(); + + return; + } + + $this->parse_options(); + + $this->clean_up(); + } + + /** + * Handle the file upload + * + * @return boolean + */ + private function handle_upload() { + $overrides = array( 'mimes' => array( 'zip' => 'application/zip' ) ); // Explicitly allow zip in multisite. + $this->file = wp_handle_upload( $_FILES['settings_import_file'], $overrides ); + + if ( is_wp_error( $this->file ) ) { + $this->msg = __( 'Settings could not be imported:', 'wordpress-seo' ) . ' ' . $this->file->get_error_message(); + + return false; + } + + if ( is_array( $this->file ) && isset( $this->file['error'] ) ) { + $this->msg = __( 'Settings could not be imported:', 'wordpress-seo' ) . ' ' . $this->file['error']; + + return false; + } + + if ( ! isset( $this->file['file'] ) ) { + $this->msg = __( 'Settings could not be imported:', 'wordpress-seo' ) . ' ' . __( 'Upload failed.', 'wordpress-seo' ); + + return false; + } + + return true; + } + + /** + * Determine the path to the import file + */ + private function determine_path() { + $this->upload_dir = wp_upload_dir(); + + if ( ! defined( 'DIRECTORY_SEPARATOR' ) ) { + define( 'DIRECTORY_SEPARATOR', '/' ); + } + $this->path = $this->upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'wpseo-import' . DIRECTORY_SEPARATOR; + + if ( ! isset( $GLOBALS['wp_filesystem'] ) || ! is_object( $GLOBALS['wp_filesystem'] ) ) { + WP_Filesystem(); + } + } + + /** + * Unzip the file + * + * @return boolean + */ + private function unzip_file() { + $unzipped = unzip_file( $this->file['file'], $this->path ); + $msg_base = __( 'Settings could not be imported:', 'wordpress-seo' ) . ' '; + + if ( is_wp_error( $unzipped ) ) { + /* translators: %s expands to an error message. */ + $this->msg = $msg_base . sprintf( __( 'Unzipping failed with error "%s".', 'wordpress-seo' ), $unzipped->get_error_message() ); + + return false; + } + + $this->filename = $this->path . 'settings.ini'; + if ( ! is_file( $this->filename ) || ! is_readable( $this->filename ) ) { + $this->msg = $msg_base . __( 'Unzipping failed - file settings.ini not found.', 'wordpress-seo' ); + + return false; + } + + return true; + } + + /** + * Parse the option file + */ + private function parse_options() { + $options = parse_ini_file( $this->filename, true ); + + if ( is_array( $options ) && $options !== array() ) { + if ( isset( $options['wpseo']['version'] ) && $options['wpseo']['version'] !== '' ) { + $this->old_wpseo_version = $options['wpseo']['version']; + } + foreach ( $options as $name => $opt_group ) { + $this->parse_option_group( $name, $opt_group, $options ); + } + $this->msg = __( 'Settings successfully imported.', 'wordpress-seo' ); + $this->success = true; + } + else { + $this->msg = __( 'Settings could not be imported:', 'wordpress-seo' ) . ' ' . __( 'No settings found in file.', 'wordpress-seo' ); + } + } + + /** + * Parse the option group and import it + * + * @param string $name Name string. + * @param array $opt_group Option group data. + * @param array $options Options data. + */ + private function parse_option_group( $name, $opt_group, $options ) { + if ( $name === 'wpseo_taxonomy_meta' ) { + $opt_group = json_decode( urldecode( $opt_group['wpseo_taxonomy_meta'] ), true ); + } + + // Make sure that the imported options are cleaned/converted on import. + $option_instance = WPSEO_Options::get_option_instance( $name ); + if ( is_object( $option_instance ) && method_exists( $option_instance, 'import' ) ) { + $option_instance->import( $opt_group, $this->old_wpseo_version, $options ); + } + elseif ( WP_DEBUG === true || ( defined( 'WPSEO_DEBUG' ) && WPSEO_DEBUG === true ) ) { + /* translators: %s expands to the name of an outdated setting. */ + $this->msg = sprintf( __( 'Setting "%s" is no longer used and has been discarded.', 'wordpress-seo' ), $name ); + } + } + + /** + * Remove the files + */ + private function clean_up() { + if ( file_exists( $this->filename ) && is_writable( $this->filename ) ) { + unlink( $this->filename ); + } + if ( ! empty( $this->file['file'] ) && file_exists( $this->file['file'] ) && is_writable( $this->file['file'] ) ) { + unlink( $this->file['file'] ); + } + if ( file_exists( $this->path ) && is_writable( $this->path ) ) { + $wp_file = new WP_Filesystem_Direct( $this->path ); + $wp_file->rmdir( $this->path, true ); + } + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-license-page-manager.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-license-page-manager.php new file mode 100644 index 00000000..e905c191 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-license-page-manager.php @@ -0,0 +1,202 @@ +get_version() === self::VERSION_BACKWARDS_COMPATIBILITY ) { + add_filter( 'yoast-license-valid', '__return_true' ); + add_filter( 'yoast-show-license-notice', '__return_false' ); + add_action( 'admin_init', array( $this, 'validate_extensions' ), 15 ); + } + else { + add_action( 'admin_init', array( $this, 'remove_faulty_notifications' ), 15 ); + } + } + + /** + * Validates the extensions and show a notice for the invalid extensions. + */ + public function validate_extensions() { + + if ( filter_input( INPUT_GET, 'page' ) === WPSEO_Admin::PAGE_IDENTIFIER ) { + /** + * Filter: 'yoast-active-extensions' - Collects all active extensions. This hook is implemented in the + * license manager. + * + * @api array $extensions The array with extensions. + */ + apply_filters( 'yoast-active-extensions', array() ); + } + + $extension_list = new WPSEO_Extensions(); + $extensions = $extension_list->get(); + + $notification_center = Yoast_Notification_Center::get(); + + foreach ( $extensions as $product_name ) { + $notification = $this->create_notification( $product_name ); + + // Add a notification when the installed plugin isn't activated in My Yoast. + if ( $extension_list->is_installed( $product_name ) && ! $extension_list->is_valid( $product_name ) ) { + $notification_center->add_notification( $notification ); + + continue; + } + + $notification_center->remove_notification( $notification ); + } + } + + /** + * Removes the faulty set notifications. + */ + public function remove_faulty_notifications() { + $extension_list = new WPSEO_Extensions(); + $extensions = $extension_list->get(); + + $notification_center = Yoast_Notification_Center::get(); + + foreach ( $extensions as $product_name ) { + $notification = $this->create_notification( $product_name ); + $notification_center->remove_notification( $notification ); + } + } + + /** + * Handles the response. + * + * @param array $response HTTP response. + * @param array $request_arguments HTTP request arguments. Unused. + * @param string $url The request URL. + * + * @return array The response array. + */ + public function handle_response( array $response, $request_arguments, $url ) { + $response_code = wp_remote_retrieve_response_code( $response ); + + if ( $response_code === 200 && $this->is_expected_endpoint( $url ) ) { + $response_data = $this->parse_response( $response ); + $this->detect_version( $response_data ); + } + + return $response; + } + + /** + * Returns the license page to use based on the version number. + * + * @return string The page to use. + */ + public function get_license_page() { + return 'licenses'; + } + + /** + * Returns the version number of the license server. + * + * @return int The version number + */ + protected function get_version() { + return get_option( $this->get_option_name(), self::VERSION_BACKWARDS_COMPATIBILITY ); + } + + /** + * Returns the option name. + * + * @return string The option name. + */ + protected function get_option_name() { + return 'wpseo_license_server_version'; + } + + /** + * Sets the version when there is a value in the response. + * + * @param array $response The response to extract the version from. + */ + protected function detect_version( $response ) { + if ( ! empty( $response['serverVersion'] ) ) { + $this->set_version( $response['serverVersion'] ); + } + } + + /** + * Sets the version. + * + * @param string $server_version The version number to save. + */ + protected function set_version( $server_version ) { + update_option( $this->get_option_name(), $server_version ); + } + + /** + * Parses the response by getting its body and do a unserialize of it. + * + * @param array $response The response to parse. + * + * @return mixed|string|false The parsed response. + */ + protected function parse_response( $response ) { + $response = json_decode( wp_remote_retrieve_body( $response ), true ); + $response = maybe_unserialize( $response ); + + return $response; + } + + /** + * Checks if the given url matches the expected endpoint. + * + * @param string $url The url to check. + * + * @return bool True when url matches the endpoint. + */ + protected function is_expected_endpoint( $url ) { + $url_parts = wp_parse_url( $url ); + + $is_yoast_com = ( in_array( $url_parts['host'], array( 'yoast.com', 'my.yoast.com' ), true ) ); + $is_edd_api = ( isset( $url_parts['path'] ) && $url_parts['path'] === '/edd-sl-api' ); + + return $is_yoast_com && $is_edd_api; + } + + /** + * Creates an instance of Yoast_Notification + * + * @param string $product_name The product to create the notification for. + * + * @return Yoast_Notification The created notification. + */ + protected function create_notification( $product_name ) { + $notification_options = array( + 'type' => Yoast_Notification::ERROR, + 'id' => 'wpseo-dismiss-' . sanitize_title_with_dashes( $product_name, null, 'save' ), + 'capabilities' => 'wpseo_manage_options', + ); + + $notification = new Yoast_Notification( + sprintf( + /* translators: %1$s expands to the product name. %2$s expands to a link to My Yoast */ + __( 'You are not receiving updates or support! Fix this problem by adding this site and enabling %1$s for it in %2$s.', 'wordpress-seo' ), + $product_name, + 'My Yoast' + ), + $notification_options + ); + + return $notification; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-meta-columns.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-meta-columns.php new file mode 100644 index 00000000..9735d25b --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-meta-columns.php @@ -0,0 +1,728 @@ +analysis_seo = new WPSEO_Metabox_Analysis_SEO(); + $this->analysis_readability = new WPSEO_Metabox_Analysis_Readability(); + } + + /** + * Sets up up the hooks. + */ + public function setup_hooks() { + $this->set_post_type_hooks(); + + if ( $this->analysis_seo->is_enabled() ) { + add_action( 'restrict_manage_posts', array( $this, 'posts_filter_dropdown' ) ); + } + + if ( $this->analysis_readability->is_enabled() ) { + add_action( 'restrict_manage_posts', array( $this, 'posts_filter_dropdown_readability' ) ); + } + + add_filter( 'request', array( $this, 'column_sort_orderby' ) ); + } + + /** + * Adds the column headings for the SEO plugin for edit posts / pages overview + * + * @param array $columns Already existing columns. + * + * @return array Array containing the column headings. + */ + public function column_heading( $columns ) { + if ( $this->is_metabox_hidden() === true ) { + return $columns; + } + + $added_columns = array(); + + if ( $this->analysis_seo->is_enabled() ) { + $added_columns['wpseo-score'] = '' . __( 'SEO score', 'wordpress-seo' ) . ''; + } + + if ( $this->analysis_readability->is_enabled() ) { + $added_columns['wpseo-score-readability'] = '' . __( 'Readability score', 'wordpress-seo' ) . ''; + } + + $added_columns['wpseo-title'] = __( 'SEO Title', 'wordpress-seo' ); + $added_columns['wpseo-metadesc'] = __( 'Meta Desc.', 'wordpress-seo' ); + + if ( $this->analysis_seo->is_enabled() ) { + $added_columns['wpseo-focuskw'] = __( 'Focus KW', 'wordpress-seo' ); + } + + return array_merge( $columns, $added_columns ); + } + + /** + * Displays the column content for the given column. + * + * @param string $column_name Column to display the content for. + * @param int $post_id Post to display the column content for. + */ + public function column_content( $column_name, $post_id ) { + if ( $this->is_metabox_hidden() === true ) { + return; + } + + switch ( $column_name ) { + case 'wpseo-score': + echo $this->parse_column_score( $post_id ); + break; + case 'wpseo-score-readability': + echo $this->parse_column_score_readability( $post_id ); + break; + case 'wpseo-title': + echo esc_html( apply_filters( 'wpseo_title', wpseo_replace_vars( $this->page_title( $post_id ), get_post( $post_id, ARRAY_A ) ) ) ); + break; + case 'wpseo-metadesc': + $metadesc_val = apply_filters( 'wpseo_metadesc', wpseo_replace_vars( WPSEO_Meta::get_value( 'metadesc', $post_id ), get_post( $post_id, ARRAY_A ) ) ); + $metadesc = ( '' === $metadesc_val ) ? '' . __( 'Meta description not set.', 'wordpress-seo' ) . '' : esc_html( $metadesc_val ); + echo $metadesc; + break; + case 'wpseo-focuskw': + $focuskw_val = WPSEO_Meta::get_value( 'focuskw', $post_id ); + $focuskw = ( '' === $focuskw_val ) ? '' . __( 'Focus keyword not set.', 'wordpress-seo' ) . '' : esc_html( $focuskw_val ); + echo $focuskw; + break; + } + } + + /** + * Indicates which of the SEO columns are sortable. + * + * @param array $columns appended with their orderby variable. + * + * @return array Array containing the sortable columns. + */ + public function column_sort( $columns ) { + if ( $this->is_metabox_hidden() === true ) { + return $columns; + } + + $columns['wpseo-metadesc'] = 'wpseo-metadesc'; + + if ( $this->analysis_seo->is_enabled() ) { + $columns['wpseo-focuskw'] = 'wpseo-focuskw'; + } + + return $columns; + } + + /** + * Hides the SEO title, meta description and focus keyword columns if the user hasn't chosen which columns to hide. + * + * @param array|false $result The hidden columns. + * @param string $option The option name used to set which columns should be hidden. + * @param WP_User $user The User. + * + * @return array $result Array containing the columns to hide. + */ + public function column_hidden( $result, $option, $user ) { + global $wpdb; + + if ( $user->has_prop( $wpdb->get_blog_prefix() . $option ) || $user->has_prop( $option ) ) { + return $result; + } + + if ( ! is_array( $result ) ) { + $result = array(); + } + + array_push( $result, 'wpseo-title', 'wpseo-metadesc' ); + + if ( $this->analysis_seo->is_enabled() ) { + array_push( $result, 'wpseo-focuskw' ); + } + + return $result; + } + + /** + * Adds a dropdown that allows filtering on the posts SEO Quality. + */ + public function posts_filter_dropdown() { + if ( ! $this->can_display_filter() ) { + return; + } + + $ranks = WPSEO_Rank::get_all_ranks(); + + echo ''; + echo ''; + } + + /** + * Adds a dropdown that allows filtering on the posts Readability Quality. + * + * @return void + */ + public function posts_filter_dropdown_readability() { + if ( ! $this->can_display_filter() ) { + return; + } + + $ranks = WPSEO_Rank::get_all_readability_ranks(); + + echo ''; + echo ''; + } + + /** + * Generates an '; + } + + /** + * Determines the SEO score filter to be later used in the meta query, based on the passed SEO filter. + * + * @param string $seo_filter The SEO filter to use to determine what further filter to apply. + * + * @return array The SEO score filter. + */ + protected function determine_seo_filters( $seo_filter ) { + if ( $seo_filter === WPSEO_Rank::NO_FOCUS ) { + return $this->create_no_focus_keyword_filter(); + } + + if ( $seo_filter === WPSEO_Rank::NO_INDEX ) { + return $this->create_no_index_filter(); + } + + $rank = new WPSEO_Rank( $seo_filter ); + + return $this->create_seo_score_filter( $rank->get_starting_score(), $rank->get_end_score() ); + } + + /** + * Determines the Readabilty score filter to the meta query, based on the passed Readabilty filter. + * + * @param string $readability_filter The Readability filter to use to determine what further filter to apply. + * + * @return array The Readability score filter. + */ + protected function determine_readability_filters( $readability_filter ) { + $rank = new WPSEO_Rank( $readability_filter ); + + return $this->create_readability_score_filter( $rank->get_starting_score(), $rank->get_end_score() ); + } + + /** + * Creates a keyword filter for the meta query, based on the passed Keyword filter. + * + * @param string $keyword_filter The keyword filter to use. + * + * @return array The keyword filter. + */ + protected function get_keyword_filter( $keyword_filter ) { + return array( + 'post_type' => get_query_var( 'post_type', 'post' ), + 'meta_key' => WPSEO_Meta::$meta_prefix . 'focuskw', + 'meta_value' => sanitize_text_field( $keyword_filter ), + ); + } + + /** + * Determines whether the passed filter is considered to be valid. + * + * @param mixed $filter The filter to check against. + * + * @return bool Whether or not the filter is considered valid. + */ + protected function is_valid_filter( $filter ) { + return ! empty( $filter ) && is_string( $filter ); + } + + /** + * Collects the filters and merges them into a single array. + * + * @return array Array containing all the applicable filters. + */ + protected function collect_filters() { + $active_filters = array(); + + $seo_filter = $this->get_current_seo_filter(); + $readability_filter = $this->get_current_readability_filter(); + $current_keyword_filter = $this->get_current_keyword_filter(); + + if ( $this->is_valid_filter( $seo_filter ) ) { + $active_filters = array_merge( + $active_filters, + $this->determine_seo_filters( $seo_filter ) + ); + } + + if ( $this->is_valid_filter( $readability_filter ) ) { + $active_filters = array_merge( + $active_filters, + $this->determine_readability_filters( $readability_filter ) + ); + } + + if ( $this->is_valid_filter( $current_keyword_filter ) ) { + $active_filters = array_merge( + $active_filters, + $this->get_keyword_filter( $current_keyword_filter ) + ); + } + + return $active_filters; + } + + /** + * Modify the query based on the filters that are being passed. + * + * @param array $vars Query variables that need to be modified based on the filters. + * + * @return array Array containing the meta query to use for filtering the posts overview. + */ + public function column_sort_orderby( $vars ) { + $collected_filters = $this->collect_filters(); + + if ( isset( $vars['orderby'] ) ) { + $vars = array_merge( $vars, $this->filter_order_by( $vars['orderby'] ) ); + } + + return $this->build_filter_query( $vars, $collected_filters ); + } + + /** + * Retrieves the meta robots query values to be used within the meta query. + * + * @return array Array containing the query parameters regarding meta robots. + */ + protected function get_meta_robots_query_values() { + return array( + 'relation' => 'OR', + array( + 'key' => WPSEO_Meta::$meta_prefix . 'meta-robots-noindex', + 'compare' => 'NOT EXISTS', + ), + array( + 'key' => WPSEO_Meta::$meta_prefix . 'meta-robots-noindex', + 'value' => '1', + 'compare' => '!=', + ), + ); + } + + /** + * Determines the score filters to be used. If more than one is passed, it created an AND statement for the query. + * + * @param array $score_filters Array containing the score filters. + * + * @return array Array containing the score filters that need to be applied to the meta query. + */ + protected function determine_score_filters( $score_filters ) { + if ( count( $score_filters ) > 1 ) { + return array_merge( array( 'relation' => 'AND' ), $score_filters ); + } + + return $score_filters; + } + + /** + * Retrieves the post type from the $_GET variable. + * + * @return string The current post type. + */ + public function get_current_post_type() { + return filter_input( INPUT_GET, 'post_type' ); + } + + /** + * Retrieves the SEO filter from the $_GET variable. + * + * @return string The current post type. + */ + public function get_current_seo_filter() { + return filter_input( INPUT_GET, 'seo_filter' ); + } + + /** + * Retrieves the Readability filter from the $_GET variable. + * + * @return string The current post type. + */ + public function get_current_readability_filter() { + return filter_input( INPUT_GET, 'readability_filter' ); + } + + /** + * Retrieves the keyword filter from the $_GET variable. + * + * @return string The current post type. + */ + public function get_current_keyword_filter() { + return filter_input( INPUT_GET, 'seo_kw_filter' ); + } + + /** + * Uses the vars to create a complete filter query that can later be executed to filter out posts. + * + * @param array $vars Array containing the variables that will be used in the meta query. + * @param array $filters Array containing the filters that we need to apply in the meta query. + * + * @return array Array containing the complete filter query. + */ + protected function build_filter_query( $vars, $filters ) { + // If no filters were applied, just return everything. + if ( count( $filters ) === 0 ) { + return $vars; + } + + $result = array( 'meta_query' => array() ); + $result['meta_query'] = array_merge( $result['meta_query'], array( $this->determine_score_filters( $filters ) ) ); + + $current_seo_filter = $this->get_current_seo_filter(); + + // This only applies for the SEO score filter because it can because the SEO score can be altered by the no-index option. + if ( $this->is_valid_filter( $current_seo_filter ) && ! in_array( $current_seo_filter, array( WPSEO_Rank::NO_INDEX, WPSEO_Rank::NO_FOCUS ), true ) ) { + $result['meta_query'] = array_merge( $result['meta_query'], array( $this->get_meta_robots_query_values() ) ); + } + + return array_merge( $vars, $result ); + } + + /** + * Creates a Readability score filter. + * + * @param number $low The lower boundary of the score. + * @param number $high The higher boundary of the score. + * + * @return array The Readability Score filter. + */ + protected function create_readability_score_filter( $low, $high ) { + return array( + array( + 'key' => WPSEO_Meta::$meta_prefix . 'content_score', + 'value' => array( $low, $high ), + 'type' => 'numeric', + 'compare' => 'BETWEEN', + ), + ); + } + + /** + * Creates an SEO score filter. + * + * @param number $low The lower boundary of the score. + * @param number $high The higher boundary of the score. + * + * @return array The SEO score filter. + */ + protected function create_seo_score_filter( $low, $high ) { + return array( + array( + 'key' => WPSEO_Meta::$meta_prefix . 'linkdex', + 'value' => array( $low, $high ), + 'type' => 'numeric', + 'compare' => 'BETWEEN', + ), + ); + } + + /** + * Creates a filter to retrieve posts that were set to no-index. + * + * @return array Array containin the no-index filter. + */ + protected function create_no_index_filter() { + return array( + array( + 'key' => WPSEO_Meta::$meta_prefix . 'meta-robots-noindex', + 'value' => '1', + 'compare' => '=', + ), + ); + } + + /** + * Creates a filter to retrieve posts that have no keyword set. + * + * @return array Array containing the no focus keyword filter. + */ + protected function create_no_focus_keyword_filter() { + return array( + array( + 'key' => WPSEO_Meta::$meta_prefix . 'meta-robots-noindex', + 'value' => 'needs-a-value-anyway', + 'compare' => 'NOT EXISTS', + ), + array( + 'key' => WPSEO_Meta::$meta_prefix . 'linkdex', + 'value' => 'needs-a-value-anyway', + 'compare' => 'NOT EXISTS', + ), + ); + } + + /** + * Returns filters when $order_by is matched in the if-statement + * + * @param string $order_by The ID of the column by which to order the posts. + * + * @return array Array containing the order filters. + */ + private function filter_order_by( $order_by ) { + switch ( $order_by ) { + case 'wpseo-metadesc': + return array( + 'meta_key' => WPSEO_Meta::$meta_prefix . 'metadesc', + 'orderby' => 'meta_value', + ); + break; + case 'wpseo-focuskw': + return array( + 'meta_key' => WPSEO_Meta::$meta_prefix . 'focuskw', + 'orderby' => 'meta_value', + ); + break; + } + + return array(); + } + + /** + * Parses the score column. + * + * @param integer $post_id The ID of the post for which to show the score. + * + * @return string The HTML for the SEO score indicator. + */ + private function parse_column_score( $post_id ) { + if ( WPSEO_Meta::get_value( 'meta-robots-noindex', $post_id ) === '1' ) { + $rank = new WPSEO_Rank( WPSEO_Rank::NO_INDEX ); + $title = __( 'Post is set to noindex.', 'wordpress-seo' ); + + WPSEO_Meta::set_value( 'linkdex', 0, $post_id ); + + return $this->render_score_indicator( $rank, $title ); + } + + if ( WPSEO_Meta::get_value( 'focuskw', $post_id ) === '' ) { + $rank = new WPSEO_Rank( WPSEO_Rank::NO_FOCUS ); + $title = __( 'Focus keyword not set.', 'wordpress-seo' ); + + return $this->render_score_indicator( $rank, $title ); + } + + $score = (int) WPSEO_Meta::get_value( 'linkdex', $post_id ); + $rank = WPSEO_Rank::from_numeric_score( $score ); + $title = $rank->get_label(); + + return $this->render_score_indicator( $rank, $title ); + } + + /** + * Parsing the readability score column. + * + * @param int $post_id The ID of the post for which to show the readability score. + * + * @return string The HTML for the readability score indicator. + */ + private function parse_column_score_readability( $post_id ) { + $score = (int) WPSEO_Meta::get_value( 'content_score', $post_id ); + $rank = WPSEO_Rank::from_numeric_score( $score ); + + return $this->render_score_indicator( $rank ); + } + + /** + * Sets up the hooks for the post_types. + */ + private function set_post_type_hooks() { + $post_types = get_post_types( array( 'public' => true ), 'names' ); + + if ( is_array( $post_types ) && $post_types !== array() ) { + foreach ( $post_types as $post_type ) { + if ( $this->is_metabox_hidden( $post_type ) === false ) { + add_filter( 'manage_' . $post_type . '_posts_columns', array( $this, 'column_heading' ), 10, 1 ); + add_action( 'manage_' . $post_type . '_posts_custom_column', array( + $this, + 'column_content', + ), 10, 2 ); + + add_action( 'manage_edit-' . $post_type . '_sortable_columns', array( + $this, + 'column_sort', + ), 10, 2 ); + + /* + * Use the `get_user_option_{$option}` filter to change the output of the get_user_option + * function for the `manage{$screen}columnshidden` option, which is based on the current + * admin screen. The admin screen we want to target is the `edit-{$post_type}` screen. + */ + $filter = sprintf( + 'get_user_option_%s', + sprintf( + 'manage%scolumnshidden', + 'edit-' . $post_type + ) + ); + + add_filter( $filter, array( $this, 'column_hidden' ), 10, 3 ); + } + } + unset( $post_type ); + } + } + + /** + * Test whether the metabox should be hidden either by choice of the admin or because + * the post type is not a public post type + * + * @since 1.5.0 + * + * @param string $post_type (optional) The post type to test, defaults to the current post post_type. + * + * @return bool Whether or not the meta box (and associated columns etc) should be hidden + */ + private function is_metabox_hidden( $post_type = null ) { + if ( ! isset( $post_type ) && $current_post_type = $this->get_current_post_type() ) { + $post_type = sanitize_text_field( $current_post_type ); + } + + if ( isset( $post_type ) ) { + // Don't make static as post_types may still be added during the run. + $cpts = get_post_types( array( 'public' => true ), 'names' ); + $options = get_option( 'wpseo_titles' ); + + return ( ( isset( $options[ 'hideeditbox-' . $post_type ] ) && $options[ 'hideeditbox-' . $post_type ] === true ) || in_array( $post_type, $cpts ) === false ); + } + + return false; + } + + /** + * Retrieve the page title. + * + * @param int $post_id Post to retrieve the title for. + * + * @return string + */ + private function page_title( $post_id ) { + $fixed_title = WPSEO_Meta::get_value( 'title', $post_id ); + if ( $fixed_title !== '' ) { + return $fixed_title; + } + + $post = get_post( $post_id ); + $options = WPSEO_Options::get_option( 'wpseo_titles' ); + + if ( is_object( $post ) && ( isset( $options[ 'title-' . $post->post_type ] ) && $options[ 'title-' . $post->post_type ] !== '' ) ) { + $title_template = $options[ 'title-' . $post->post_type ]; + $title_template = str_replace( ' %%page%% ', ' ', $title_template ); + + return wpseo_replace_vars( $title_template, $post ); + } + + return wpseo_replace_vars( '%%title%%', $post ); + } + + /** + * @param WPSEO_Rank $rank The rank this indicator should have. + * @param string $title Optional. The title for this rank, defaults to the title of the rank. + * + * @return string The HTML for a score indicator. + */ + private function render_score_indicator( $rank, $title = '' ) { + if ( empty( $title ) ) { + $title = $rank->get_label(); + } + + return '' . $title . ''; + } + + /** + * Hacky way to get round the limitation that you can only have AND *or* OR relationship between + * meta key clauses and not a combination - which is what we need. + * + * @deprecated 3.5 Unnecessary with nested meta queries in core. + * @codeCoverageIgnore + * + * @param string $where Where clause. + * + * @return string + */ + public function seo_score_posts_where( $where ) { + + _deprecated_function( __METHOD__, '3.5' ); + + global $wpdb; + + /* Find the two mutually exclusive noindex clauses which should be changed from AND to OR relation */ + $find = '`([\s]+AND[\s]+)((?:' . $wpdb->prefix . 'postmeta|mt[0-9]|mt1)\.post_id IS NULL[\s]+)AND([\s]+\([\s]*(?:' . $wpdb->prefix . 'postmeta|mt[0-9])\.meta_key = \'' . WPSEO_Meta::$meta_prefix . 'meta-robots-noindex\' AND CAST\([^\)]+\)[^\)]+\))`'; + + $replace = '$1( $2OR$3 )'; + + $new_where = preg_replace( $find, $replace, $where ); + + if ( $new_where ) { + return $new_where; + } + return $where; + } + + /** + * Determines whether or not filter dropdowns should be displayed. + * + * @return bool Whether or the current page can display the filter drop downs. + */ + public function can_display_filter() { + return $GLOBALS['pagenow'] !== 'upload.php' && $this->is_metabox_hidden() === false; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-meta-storage.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-meta-storage.php new file mode 100644 index 00000000..d857abe8 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-meta-storage.php @@ -0,0 +1,109 @@ +get_blog_prefix(); + } + + $this->table_prefix = $table_prefix; + $this->database_proxy = new WPSEO_Database_Proxy( $GLOBALS['wpdb'], $this->get_table_name(), true ); + } + + /** + * Returns the table name to use. + * + * @return string The table name. + */ + public function get_table_name() { + return $this->table_prefix . self::TABLE_NAME; + } + + /** + * Creates the database table. + * + * @return boolean True if the table was created, false if something went wrong. + */ + public function install() { + return $this->database_proxy->create_table( + array( + 'object_id bigint(20) UNSIGNED NOT NULL', + 'internal_link_count int(10) UNSIGNED NULL DEFAULT NULL', + 'incoming_link_count int(10) UNSIGNED NULL DEFAULT NULL', + ), + array( + 'UNIQUE KEY object_id (object_id)', + ) + ); + } + + /** + * Saves the link count to the database. + * + * @param int $meta_id The id to save the link count for. + * @param array $meta_data The total amount of links. + */ + public function save_meta_data( $meta_id, array $meta_data ) { + $where = array( 'object_id' => $meta_id ); + + $saved = $this->database_proxy->upsert( + array_merge( $where, $meta_data ), + $where + ); + + if ( $saved === false ) { + WPSEO_Meta_Table_Accessible::set_inaccessible(); + } + } + + /** + * Updates the incoming link count + * + * @param array $post_ids The posts to update the incoming link count for. + * @param WPSEO_Link_Storage $storage The link storage object. + */ + public function update_incoming_link_count( array $post_ids, WPSEO_Link_Storage $storage ) { + global $wpdb; + + $query = $wpdb->prepare( ' + SELECT COUNT( id ) AS incoming, target_post_id AS post_id + FROM ' . $storage->get_table_name() . ' + WHERE target_post_id IN(' . implode( ',', array_fill( 0, count( $post_ids ), '%d' ) ) . ') + GROUP BY target_post_id', + $post_ids + ); + + $results = $wpdb->get_results( $query ); + + $post_ids_non_zero = array(); + foreach ( $results as $result ) { + $this->save_meta_data( $result->post_id, array( 'incoming_link_count' => $result->incoming ) ); + $post_ids_non_zero[] = $result->post_id; + } + + $post_ids_zero = array_diff( $post_ids, $post_ids_non_zero ); + foreach ( $post_ids_zero as $post_id ) { + $this->save_meta_data( $post_id, array( 'incoming_link_count' => 0 ) ); + } + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-meta-table-accessible.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-meta-table-accessible.php new file mode 100644 index 00000000..70ac33ff --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-meta-table-accessible.php @@ -0,0 +1,61 @@ +get_var( 'SHOW TABLES LIKE "' . $storage->get_table_name() . '"' ) !== $storage->get_table_name() ) { + self::set_inaccessible(); + return false; + } + + return true; + } + + /** + * Removes the transient. + * + * @return void + */ + public static function cleanup() { + delete_transient( self::transient_name() ); + } + + /** + * Returns the name of the transient. + * + * @return string The name of the transient to use. + */ + protected static function transient_name() { + return 'wpseo_meta_table_accessible'; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-option-tab.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-option-tab.php new file mode 100644 index 00000000..10fe2d2b --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-option-tab.php @@ -0,0 +1,80 @@ +name = sanitize_title( $name ); + $this->label = $label; + $this->arguments = (array) $arguments; + } + + /** + * Get the name + * + * @return string + */ + public function get_name() { + return $this->name; + } + + /** + * Get the label + * + * @return string + */ + public function get_label() { + return $this->label; + } + + /** + * Get the video URL + * + * @return string + */ + public function get_video_url() { + return $this->get_argument( 'video_url' ); + } + + /** + * Get the option group + * + * @return string + */ + public function get_opt_group() { + return $this->get_argument( 'opt_group' ); + } + + /** + * Get the variable from the supplied arguments + * + * @param string $variable Variable to retrieve. + * @param string $default Default to use when variable not found. + * + * @return mixed|string + */ + protected function get_argument( $variable, $default = '' ) { + return ! empty( $this->arguments[ $variable ] ) ? $this->arguments[ $variable ] : $default; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-option-tabs-formatter.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-option-tabs-formatter.php new file mode 100644 index 00000000..035bd013 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-option-tabs-formatter.php @@ -0,0 +1,51 @@ +get_base() . '/' . $tab->get_name() . '.php'; + } + + /** + * @param WPSEO_Option_Tabs $option_tabs Option Tabs to get tabs from. + * @param Yoast_Form $yform Yoast Form which is being used in the views. + * @param array $options Options which are being used in the views. + */ + public function run( WPSEO_Option_Tabs $option_tabs, Yoast_Form $yform, $options = array() ) { + + echo ''; + + $help_center = new WPSEO_Help_Center( '', $option_tabs, WPSEO_Utils::is_yoast_seo_premium() ); + $help_center->localize_data(); + $help_center->mount(); + + foreach ( $option_tabs->get_tabs() as $tab ) { + $identifier = $tab->get_name(); + printf( '
', $identifier ); + + // Output the settings view for all tabs. + $tab_view = $this->get_tab_view( $option_tabs, $tab ); + if ( is_file( $tab_view ) ) { + require_once $tab_view; + } + + echo '
'; + } + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-option-tabs.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-option-tabs.php new file mode 100644 index 00000000..2d5bd54c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-option-tabs.php @@ -0,0 +1,106 @@ +base = sanitize_title( $base ); + + $tab = filter_input( INPUT_GET, 'tab' ); + $this->active_tab = empty( $tab ) ? $active_tab : $tab; + } + + /** + * Get the base + * + * @return string + */ + public function get_base() { + return $this->base; + } + + /** + * Add a tab + * + * @param WPSEO_Option_Tab $tab Tab to add. + * + * @return $this + */ + public function add_tab( WPSEO_Option_Tab $tab ) { + $this->tabs[] = $tab; + + return $this; + } + + /** + * Get active tab + * + * @return null|WPSEO_Option_Tab Get the active tab. + */ + public function get_active_tab() { + if ( empty( $this->active_tab ) ) { + return null; + } + + $active_tabs = array_filter( $this->tabs, array( $this, 'is_active_tab' ) ); + if ( ! empty( $active_tabs ) ) { + $active_tabs = array_values( $active_tabs ); + if ( count( $active_tabs ) === 1 ) { + return $active_tabs[0]; + } + } + + return null; + } + + /** + * Is the tab the active tab + * + * @param WPSEO_Option_Tab $tab Tab to check for active tab. + * + * @return bool + */ + public function is_active_tab( WPSEO_Option_Tab $tab ) { + return ( $tab->get_name() === $this->active_tab ); + } + + /** + * Get all tabs + * + * @return WPSEO_Option_Tab[] + */ + public function get_tabs() { + return $this->tabs; + } + + /** + * Display the tabs + * + * @param Yoast_Form $yform Yoast Form needed in the views. + * @param array $options Options needed in the views. + */ + public function display( Yoast_Form $yform, $options = array() ) { + $formatter = new WPSEO_Option_Tabs_Formatter(); + $formatter->run( $this, $yform, $options ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-plugin-availability.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-plugin-availability.php new file mode 100644 index 00000000..e1c8c01c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-plugin-availability.php @@ -0,0 +1,318 @@ +register_yoast_plugins(); + $this->register_yoast_plugins_status(); + } + + /** + * Registers all the available Yoast SEO plugins. + */ + protected function register_yoast_plugins() { + $this->plugins = array( + 'yoast-seo-premium' => array( + 'url' => 'https://yoast.com/wordpress/plugins/seo-premium/', + 'title' => 'Yoast SEO Premium', + 'description' => sprintf( + /* translators: %1$s expands to Yoast SEO */ + __( 'The premium version of %1$s with more features & support.', 'wordpress-seo' ), + 'Yoast SEO' + ), + 'installed' => false, + 'slug' => 'wordpress-seo-premium/wp-seo-premium.php', + 'version_sync' => true, + ), + + 'video-seo-for-wordpress-seo-by-yoast' => array( + 'url' => 'https://yoast.com/wordpress/plugins/video-seo/', + 'title' => 'Video SEO', + 'description' => __( 'Optimize your videos to show them off in search results and get more clicks!', 'wordpress-seo' ), + 'installed' => false, + 'slug' => 'wpseo-video/video-seo.php', + 'version_sync' => true, + ), + + 'yoast-news-seo' => array( + 'url' => 'https://yoast.com/wordpress/plugins/news-seo/', + 'title' => 'News SEO', + 'description' => __( 'Are you in Google News? Increase your traffic from Google News by optimizing for it!', 'wordpress-seo' ), + 'installed' => false, + 'slug' => 'wpseo-news/wpseo-news.php', + 'version_sync' => true, + ), + + 'local-seo-for-yoast-seo' => array( + 'url' => 'https://yoast.com/wordpress/plugins/local-seo/', + 'title' => 'Local SEO', + 'description' => __( 'Rank better locally and in Google Maps, without breaking a sweat!', 'wordpress-seo' ), + 'installed' => false, + 'slug' => 'wordpress-seo-local/local-seo.php', + 'version_sync' => true, + ), + + 'yoast-woocommerce-seo' => array( + 'url' => WPSEO_Shortlinker::get( 'https://yoa.st/1o0' ), + 'title' => 'Yoast WooCommerce SEO', + 'description' => sprintf( + /* translators: %1$s expands to Yoast SEO */ + __( 'Seamlessly integrate WooCommerce with %1$s and get extra features!', 'wordpress-seo' ), + 'Yoast SEO' + ), + '_dependencies' => array( + 'WooCommerce' => array( + 'slug' => 'woocommerce/woocommerce.php', + ), + ), + 'installed' => false, + 'slug' => 'wpseo-woocommerce/wpseo-woocommerce.php', + 'version_sync' => true, + ), + + 'yoast-acf-analysis' => array( + 'url' => 'https://wordpress.org/plugins/acf-content-analysis-for-yoast-seo/', + 'title' => 'ACF Content Analysis for Yoast SEO', + 'description' => sprintf( + /* translators: %1$s expands to Yoast SEO, %2$s expands to Advanced Custom Fields */ + __( 'Seamlessly integrate %2$s with %1$s for the content analysis!', 'wordpress-seo' ), + 'Yoast SEO', + 'Advanced Custom Fields' + ), + 'installed' => false, + 'slug' => 'acf-content-analysis-for-yoast-seo/yoast-acf-analysis.php', + '_dependencies' => array( + 'Advanced Custom Fields' => array( + 'slug' => 'advanced-custom-fields/acf.php', + ), + ), + 'version_sync' => false, + ), + + 'yoastseo-amp' => array( + 'url' => 'https://wordpress.org/plugins/glue-for-yoast-seo-amp/', + 'title' => 'Yoast SEO AMP Glue', + 'description' => sprintf( + /* translators: %1$s expands to Yoast SEO */ + __( 'Seamlessly integrate %1$s into your AMP pages!', 'wordpress-seo' ), + 'Yoast SEO' + ), + 'installed' => false, + 'slug' => 'glue-for-yoast-seo-amp/yoastseo-amp.php', + '_dependencies' => array( + 'AMP' => array( + 'slug' => 'amp/amp.php', + ), + ), + 'version_sync' => false, + ), + ); + } + + /** + * Sets certain plugin properties based on WordPress' status. + */ + protected function register_yoast_plugins_status() { + + foreach ( $this->plugins as $name => $plugin ) { + + $plugin_slug = $plugin['slug']; + $plugin_path = WP_PLUGIN_DIR . '/' . $plugin_slug; + + if ( file_exists( $plugin_path ) ) { + $plugin_data = get_plugin_data( $plugin_path, false, false ); + $this->plugins[ $name ]['installed'] = true; + $this->plugins[ $name ]['version'] = $plugin_data['Version']; + $this->plugins[ $name ]['active'] = is_plugin_active( $plugin_slug ); + } + } + } + + /** + * Checks whether or not a plugin is known within the Yoast SEO collection. + * + * @param {string} $plugin The plugin to search for. + * + * @return bool Whether or not the plugin is exists. + */ + protected function plugin_exists( $plugin ) { + return isset( $this->plugins[ $plugin ] ); + } + + /** + * Gets all the possibly available plugins. + * + * @return array Array containing the information about the plugins. + */ + public function get_plugins() { + return $this->plugins; + } + + /** + * Gets a specific plugin. Returns an empty array if it cannot be found. + * + * @param {string} $plugin The plugin to search for. + * + * @return array The plugin properties. + */ + public function get_plugin( $plugin ) { + if ( ! $this->plugin_exists( $plugin ) ) { + return array(); + } + + return $this->plugins[ $plugin ]; + } + + /** + * Gets the version of the plugin. + * + * @param {string} $plugin The plugin to search for. + * + * @return string The version associated with the plugin. + */ + public function get_version( $plugin ) { + if ( ! isset( $plugin['version'] ) ) { + return ''; + } + + return $plugin['version']; + } + + /** + * Checks if there are dependencies available for the plugin. + * + * @param {string} $plugin The plugin to search for. + * + * @return bool Whether or not there is a dependency present. + */ + public function has_dependencies( $plugin ) { + return ( isset( $plugin['_dependencies'] ) && ! empty( $plugin['_dependencies'] ) ); + } + + /** + * Gets the dependencies for the plugin. + * + * @param {string} $plugin The plugin to search for. + * + * @return array Array containing all the dependencies associated with the plugin. + */ + public function get_dependencies( $plugin ) { + if ( ! $this->has_dependencies( $plugin ) ) { + return array(); + } + + return $plugin['_dependencies']; + } + + /** + * Checks if all dependencies are satisfied. + * + * @param {string} $plugin The plugin to search for. + * + * @return bool Whether or not the dependencies are satisfied. + */ + public function dependencies_are_satisfied( $plugin ) { + if ( ! $this->has_dependencies( $plugin ) ) { + return true; + } + + $dependencies = $this->get_dependencies( $plugin ); + $installed_dependencies = array_filter( $dependencies, array( $this, 'is_dependency_available' ) ); + + return count( $installed_dependencies ) === count( $dependencies ); + } + + /** + * Checks whether or not one of the plugins is properly installed and usable. + * + * @param {string} $plugin The plugin to search for. + * + * @return bool Whether or not the plugin is properly installed. + */ + public function is_installed( $plugin ) { + if ( empty( $plugin ) ) { + return false; + } + + $dependencies_are_satisfied = $this->dependencies_are_satisfied( $plugin ); + + return $dependencies_are_satisfied && $this->is_available( $plugin ); + } + + /** + * Gets all installed plugins. + * + * @return array The installed plugins. + */ + public function get_installed_plugins() { + $installed = array(); + + foreach ( $this->plugins as $plugin_key => $plugin ) { + if ( $this->is_installed( $plugin ) ) { + $installed[ $plugin_key ] = $plugin; + } + } + + return $installed; + } + + /** + * Checks for the availability of the plugin. + * + * @param {string} $plugin The plugin to search for. + * + * @return bool Whether or not the plugin is available. + */ + public function is_available( $plugin ) { + return isset( $plugin['installed'] ) && $plugin['installed'] === true; + } + + /** + * Checks whether a dependency is available. + * + * @param {string} $dependency The dependency to look for. + * + * @return bool Whether or not the dependency is available. + */ + public function is_dependency_available( $dependency ) { + return in_array( $dependency['slug'], array_keys( get_plugins() ), true ); + } + + /** + * Gets the names of the dependencies. + * + * @param array $plugin The plugin to get the dependency names from. + * + * @return array Array containing the names of the associated dependencies. + */ + public function get_dependency_names( $plugin ) { + if ( ! $this->has_dependencies( $plugin ) ) { + return array(); + } + + return array_keys( $plugin['_dependencies'] ); + } + + /** + * Gets an array of plugins that have defined dependencies. + * + * @return array Array of the plugins that have dependencies. + */ + public function get_plugins_with_dependencies() { + return array_filter( $this->plugins, array( $this, 'has_dependencies' ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-plugin-compatibility.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-plugin-compatibility.php new file mode 100644 index 00000000..918b7083 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-plugin-compatibility.php @@ -0,0 +1,106 @@ +current_wpseo_version = $this->get_major_minor_version( $version ); + $this->availability_checker = $this->retrieve_availability_checker( $availability_checker ); + $this->installed_plugins = $this->availability_checker->get_installed_plugins(); + } + + /** + * Retrieves the availability checker. + * + * @param null|object $checker The checker to set. + * + * @return WPSEO_Plugin_Availability The checker to use. + */ + private function retrieve_availability_checker( $checker ) { + if ( is_null( $checker ) || ! is_object( $checker ) ) { + return new WPSEO_Plugin_Availability(); + } + + return $checker; + } + + /** + * Wraps the availability checker's get_installed_plugins method. + * + * @return array Array containing all the installed plugins. + */ + public function get_installed_plugins() { + return $this->installed_plugins; + } + + /** + * Creates a list of installed plugins and whether or not they are compatible. + * + * @return array Array containing the installed plugins and compatibility. + */ + public function get_installed_plugins_compatibility() { + foreach ( $this->installed_plugins as $key => $plugin ) { + + $this->installed_plugins[ $key ]['compatible'] = $this->is_compatible( $key ); + } + + return $this->installed_plugins; + } + + /** + * Checks whether or not a plugin is compatible. + * + * @param string $plugin The plugin to look for and match. + * + * @return bool Whether or not the plugin is compatible. + */ + public function is_compatible( $plugin ) { + $plugin = $this->availability_checker->get_plugin( $plugin ); + + // If we are not syncing versions, we are always compatible. + if ( ! isset( $plugin['version_sync'] ) || $plugin['version_sync'] !== true ) { + return true; + } + + $plugin_version = $this->availability_checker->get_version( $plugin ); + return $this->get_major_minor_version( $plugin_version ) === $this->current_wpseo_version; + } + + /** + * Gets the major/minor version of the plugin for easier comparing. + * + * @param string $version The version to trim. + * + * @return string The major/minor version of the plugin. + */ + protected function get_major_minor_version( $version ) { + return substr( $version, 0, 3 ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-plugin-conflict.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-plugin-conflict.php new file mode 100644 index 00000000..b7d44534 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-plugin-conflict.php @@ -0,0 +1,164 @@ + array( + '2-click-socialmedia-buttons/2-click-socialmedia-buttons.php', + // 2 Click Social Media Buttons. + 'add-link-to-facebook/add-link-to-facebook.php', // Add Link to Facebook. + 'add-meta-tags/add-meta-tags.php', // Add Meta Tags. + 'easy-facebook-share-thumbnails/esft.php', // Easy Facebook Share Thumbnail. + 'facebook/facebook.php', // Facebook (official plugin). + 'facebook-awd/AWD_facebook.php', // Facebook AWD All in one. + 'facebook-featured-image-and-open-graph-meta-tags/fb-featured-image.php', + // Facebook Featured Image & OG Meta Tags. + 'facebook-meta-tags/facebook-metatags.php', // Facebook Meta Tags. + 'wonderm00ns-simple-facebook-open-graph-tags/wonderm00n-open-graph.php', + // Facebook Open Graph Meta Tags for WordPress. + 'facebook-revised-open-graph-meta-tag/index.php', // Facebook Revised Open Graph Meta Tag. + 'facebook-thumb-fixer/_facebook-thumb-fixer.php', // Facebook Thumb Fixer. + 'facebook-and-digg-thumbnail-generator/facebook-and-digg-thumbnail-generator.php', + // Fedmich's Facebook Open Graph Meta. + 'header-footer/plugin.php', // Header and Footer. + 'network-publisher/networkpub.php', // Network Publisher. + 'nextgen-facebook/nextgen-facebook.php', // NextGEN Facebook OG. + 'opengraph/opengraph.php', // Open Graph. + 'open-graph-protocol-framework/open-graph-protocol-framework.php', + // Open Graph Protocol Framework. + 'seo-facebook-comments/seofacebook.php', // SEO Facebook Comments. + 'seo-ultimate/seo-ultimate.php', // SEO Ultimate. + 'sexybookmarks/sexy-bookmarks.php', // Shareaholic. + 'shareaholic/sexy-bookmarks.php', // Shareaholic. + 'sharepress/sharepress.php', // SharePress. + 'simple-facebook-connect/sfc.php', // Simple Facebook Connect. + 'social-discussions/social-discussions.php', // Social Discussions. + 'social-sharing-toolkit/social_sharing_toolkit.php', // Social Sharing Toolkit. + 'socialize/socialize.php', // Socialize. + 'only-tweet-like-share-and-google-1/tweet-like-plusone.php', + // Tweet, Like, Google +1 and Share. + 'wordbooker/wordbooker.php', // Wordbooker. + 'wpsso/wpsso.php', // WordPress Social Sharing Optimization. + 'wp-caregiver/wp-caregiver.php', // WP Caregiver. + 'wp-facebook-like-send-open-graph-meta/wp-facebook-like-send-open-graph-meta.php', + // WP Facebook Like Send & Open Graph Meta. + 'wp-facebook-open-graph-protocol/wp-facebook-ogp.php', // WP Facebook Open Graph protocol. + 'wp-ogp/wp-ogp.php', // WP-OGP. + 'zoltonorg-social-plugin/zosp.php', // Zolton.org Social Plugin. + ), + 'xml_sitemaps' => array( + 'google-sitemap-plugin/google-sitemap-plugin.php', + // Google Sitemap (BestWebSoft). + 'xml-sitemaps/xml-sitemaps.php', + // XML Sitemaps (Denis de Bernardy and Mike Koepke). + 'bwp-google-xml-sitemaps/bwp-simple-gxs.php', + // Better WordPress Google XML Sitemaps (Khang Minh). + 'google-sitemap-generator/sitemap.php', + // Google XML Sitemaps (Arne Brachhold). + 'xml-sitemap-feed/xml-sitemap.php', + // XML Sitemap & Google News feeds (RavanH). + 'google-monthly-xml-sitemap/monthly-xml-sitemap.php', + // Google Monthly XML Sitemap (Andrea Pernici). + 'simple-google-sitemap-xml/simple-google-sitemap-xml.php', + // Simple Google Sitemap XML (iTx Technologies). + 'another-simple-xml-sitemap/another-simple-xml-sitemap.php', + // Another Simple XML Sitemap. + 'xml-maps/google-sitemap.php', + // Xml Sitemap (Jason Martens). + 'google-xml-sitemap-generator-by-anton-dachauer/adachauer-google-xml-sitemap.php', + // Google XML Sitemap Generator by Anton Dachauer (Anton Dachauer). + 'wp-xml-sitemap/wp-xml-sitemap.php', + // WP XML Sitemap (Team Vivacity). + 'sitemap-generator-for-webmasters/sitemap.php', + // Sitemap Generator for Webmasters (iwebslogtech). + 'xml-sitemap-xml-sitemapcouk/xmls.php', + // XML Sitemap - XML-Sitemap.co.uk (Simon Hancox). + 'sewn-in-xml-sitemap/sewn-xml-sitemap.php', + // Sewn In XML Sitemap (jcow). + 'rps-sitemap-generator/rps-sitemap-generator.php', + // RPS Sitemap Generator (redpixelstudios). + ), + 'cloaking' => array( + 'rs-head-cleaner/rs-head-cleaner.php', + // RS Head Cleaner Plus https://wordpress.org/plugins/rs-head-cleaner/. + 'rs-head-cleaner-lite/rs-head-cleaner-lite.php', + // RS Head Cleaner Lite https://wordpress.org/plugins/rs-head-cleaner-lite/. + ), + ); + + /** + * Overrides instance to set with this class as class + * + * @param string $class_name Optional class name. + * + * @return Yoast_Plugin_Conflict + */ + public static function get_instance( $class_name = __CLASS__ ) { + return parent::get_instance( $class_name ); + } + + /** + * After activating any plugin, this method will be executed by a hook. + * + * If the activated plugin is conflicting with ours a notice will be shown. + * + * @param string|bool $plugin Optional plugin basename to check. + */ + public static function hook_check_for_plugin_conflicts( $plugin = false ) { + + // The instance of itself. + $instance = self::get_instance(); + + // Only add plugin as active plugin if $plugin isn't false. + if ( $plugin && is_string( $plugin ) ) { + // Because it's just activated. + $instance->add_active_plugin( $instance->find_plugin_category( $plugin ), $plugin ); + } + + $plugin_sections = array(); + + // Only check for open graph problems when they are enabled. + $social_options = WPSEO_Options::get_option( 'wpseo_social' ); + if ( $social_options['opengraph'] ) { + /* translators: %1$s expands to Yoast SEO, %2%s: 'Facebook' plugin name of possibly conflicting plugin with regard to creating OpenGraph output. */ + $plugin_sections['open_graph'] = __( 'Both %1$s and %2$s create OpenGraph output, which might make Facebook, Twitter, LinkedIn and other social networks use the wrong texts and images when your pages are being shared.', 'wordpress-seo' ) + . '

' + . '' + /* translators: %1$s expands to Yoast SEO. */ + . sprintf( __( 'Configure %1$s\'s OpenGraph settings', 'wordpress-seo' ), 'Yoast SEO' ) + . ''; + } + + // Only check for XML conflicts if sitemaps are enabled. + $xml_sitemap_options = WPSEO_Options::get_option( 'wpseo_xml' ); + if ( $xml_sitemap_options['enablexmlsitemap'] ) { + /* translators: %1$s expands to Yoast SEO, %2$s: 'Google XML Sitemaps' plugin name of possibly conflicting plugin with regard to the creation of sitemaps. */ + $plugin_sections['xml_sitemaps'] = __( 'Both %1$s and %2$s can create XML sitemaps. Having two XML sitemaps is not beneficial for search engines, yet might slow down your site.', 'wordpress-seo' ) + . '

' + . '' + /* translators: %1$s expands to Yoast SEO. */ + . sprintf( __( 'Configure %1$s\'s XML Sitemap settings', 'wordpress-seo' ), 'Yoast SEO' ) + . ''; + } + + /* translators: %2$s expands to 'RS Head Cleaner' plugin name of possibly conflicting plugin with regard to differentiating output between search engines and normal users. */ + $plugin_sections['cloaking'] = __( 'The plugin %2$s changes your site\'s output and in doing that differentiates between search engines and normal users, a process that\'s called cloaking. We highly recommend that you disable it.', 'wordpress-seo' ); + + $instance->check_plugin_conflicts( $plugin_sections ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-premium-popup.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-premium-popup.php new file mode 100644 index 00000000..8a99fcee --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-premium-popup.php @@ -0,0 +1,89 @@ +identifier = $identifier; + $this->heading_level = $heading_level; + $this->title = $title; + $this->content = $content; + } + + /** + * Returns the premium popup as an HTML string. + * + * @param bool $popup Show this message as a popup show it straight away. + * + * @return string + */ + public function get_premium_message( $popup = true ) { + // Don't show in Premium. + if ( defined( 'WPSEO_PREMIUM_FILE' ) ) { + return ''; + } + + $assets_uri = trailingslashit( plugin_dir_url( WPSEO_FILE ) ); + $premium_uri = WPSEO_Shortlinker::get( 'https://yoa.st/add-keywords-popup' ); + + /* translators: %s expands to Yoast SEO Premium */ + $cta_text = sprintf( __( 'Get %s now!', 'wordpress-seo' ), 'Yoast SEO Premium' ); + $classes = ''; + if ( $popup ) { + $classes = ' hidden'; + } + $micro_copy = __( '1 year free updates and upgrades included!', 'wordpress-seo' ); + + $popup = << + Yoast SEO + <{$this->heading_level} id="wpseo-contact-support-popup-title" class="wpseo-premium-popup-title">{$this->title}heading_level}> + {$this->content} + {$cta_text}
+ {$micro_copy} + +EO_POPUP; + + return $popup; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-premium-upsell-admin-block.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-premium-upsell-admin-block.php new file mode 100644 index 00000000..f4d25e2f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-premium-upsell-admin-block.php @@ -0,0 +1,135 @@ +hook = $hook; + } + + /** + * Registers WordPress hooks. + * + * @return void + */ + public function register_hooks() { + if ( ! $this->is_hidden() ) { + add_action( $this->hook, array( $this, 'render' ) ); + } + } + + /** + * Renders the upsell block. + * + * @return void + */ + public function render() { + $url = WPSEO_Shortlinker::get( 'https://yoa.st/17h' ); + + $arguments = array( + '' . esc_html__( 'Multiple keywords', 'wordpress-seo' ) . ': ' . esc_html__( 'Increase your SEO reach', 'wordpress-seo' ), + '' . esc_html__( 'No more dead links', 'wordpress-seo' ) . ': ' . esc_html__( 'Easy redirect manager', 'wordpress-seo' ), + '' . esc_html__( 'Superfast internal linking suggestions', 'wordpress-seo' ) . '', + '' . esc_html__( 'Social media preview', 'wordpress-seo' ) . ': ' . esc_html__( 'Facebook & Twitter', 'wordpress-seo' ), + '' . esc_html__( '24/7 support', 'wordpress-seo' ) . '', + '' . esc_html__( 'No ads!', 'wordpress-seo' ) . '', + ); + + $arguments_html = implode( '', array_map( array( $this, 'get_argument_html' ), $arguments ) ); + + $class = $this->get_html_class(); + + /* translators: %s expands to "Yoast SEO Premium". */ + $dismiss_msg = sprintf( __( 'Dismiss %s upgrade motivation', 'wordpress-seo' ), 'Yoast SEO Premium' ); + /* translators: %s expands to "Yoast SEO Premium". */ + $upgrade_msg = sprintf( __( 'Find out why you should upgrade to %s »', 'wordpress-seo' ), 'Yoast SEO Premium' ); + + echo '
'; + echo 'X'; + + echo '
'; + echo '

' . __( 'Go premium!', 'wordpress-seo' ) . '

'; + echo '
    ' . $arguments_html . '
'; + + echo '

' . $upgrade_msg . '
'; + echo '

'; + + echo '
'; + } + + /** + * Formats the argument to a HTML list item. + * + * @param string $argument The argument to format. + * + * @return string Formatted argument in HTML. + */ + protected function get_argument_html( $argument ) { + $class = $this->get_html_class(); + + return sprintf( '
  • %s
  • ', $class, $argument ); + } + + /** + * Checks if the block is hidden by the user. + * + * @return bool False when it should be shown, True if it should be hidden. + */ + protected function is_hidden() { + $transient_name = $this->get_option_name(); + + $hide = (bool) get_user_option( $transient_name ); + if ( ! $hide ) { + $query_variable_name = $this->get_query_variable_name(); + if ( filter_input( INPUT_GET, $query_variable_name, FILTER_VALIDATE_INT ) === 1 ) { + // No expiration time, so this would normally not expire, but it wouldn't be copied to other sites etc. + update_user_option( get_current_user_id(), $transient_name, true ); + $hide = true; + } + } + + return $hide; + } + + /** + * Retrieves the option name to use. + * + * @return string The name of the option to save the data in. + */ + protected function get_option_name() { + return 'yoast_promo_hide_' . $this->identifier; + } + + /** + * Retrieves the query variable to use for dismissing the block. + * + * @return string The name of the query variable to use. + */ + protected function get_query_variable_name() { + return 'yoast_promo_hide_' . $this->identifier; + } + + /** + * Returns the HTML base class to use. + * + * @return string The HTML base class. + */ + protected function get_html_class() { + return 'yoast_' . $this->identifier; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-primary-term-admin.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-primary-term-admin.php new file mode 100644 index 00000000..53fe615d --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-primary-term-admin.php @@ -0,0 +1,226 @@ +register_hooks(); + } + + /** + * Get the current post ID. + * + * @return integer The post ID. + */ + protected function get_current_id() { + return filter_input( INPUT_GET, 'post', FILTER_SANITIZE_NUMBER_INT ); + } + + /** + * Add primary term templates + */ + public function wp_footer() { + $taxonomies = $this->get_primary_term_taxonomies(); + + if ( ! empty( $taxonomies ) ) { + $this->include_js_templates(); + } + } + + /** + * Enqueues all the assets needed for the primary term interface + * + * @return void + */ + public function enqueue_assets() { + global $pagenow; + + if ( ! WPSEO_Metabox::is_post_edit( $pagenow ) ) { + return; + } + + $taxonomies = $this->get_primary_term_taxonomies(); + + // Only enqueue if there are taxonomies that need a primary term. + if ( empty( $taxonomies ) ) { + return; + } + + $asset_manager = new WPSEO_Admin_Asset_Manager(); + $asset_manager->enqueue_style( 'primary-category' ); + $asset_manager->enqueue_script( 'primary-category' ); + + $taxonomies = array_map( array( $this, 'map_taxonomies_for_js' ), $taxonomies ); + + $data = array( + 'taxonomies' => $taxonomies, + ); + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'primary-category', 'wpseoPrimaryCategoryL10n', $data ); + } + + /** + * Saves all selected primary terms + * + * @param int $post_id Post ID to save primary terms for. + */ + public function save_primary_terms( $post_id ) { + // Bail if this is a multisite installation and the site has been switched. + if ( is_multisite() && ms_is_switched() ) { + return; + } + + $taxonomies = $this->get_primary_term_taxonomies( $post_id ); + + foreach ( $taxonomies as $taxonomy ) { + $this->save_primary_term( $post_id, $taxonomy ); + } + } + + /** + * /** + * Get the id of the primary term + * + * @param string $taxonomy_name Taxonomy name for the term. + * + * @return int primary term id + */ + protected function get_primary_term( $taxonomy_name ) { + $primary_term = new WPSEO_Primary_Term( $taxonomy_name, $this->get_current_id() ); + + return $primary_term->get_primary_term(); + } + + /** + * Returns all the taxonomies for which the primary term selection is enabled + * + * @param int $post_id Default current post ID. + * @return array + */ + protected function get_primary_term_taxonomies( $post_id = null ) { + + if ( null === $post_id ) { + $post_id = $this->get_current_id(); + } + + if ( false !== ( $taxonomies = wp_cache_get( 'primary_term_taxonomies_' . $post_id, 'wpseo' ) ) ) { + return $taxonomies; + } + + $taxonomies = $this->generate_primary_term_taxonomies( $post_id ); + + wp_cache_set( 'primary_term_taxonomies_' . $post_id, $taxonomies, 'wpseo' ); + + return $taxonomies; + } + + /** + * Include templates file + */ + protected function include_js_templates() { + include_once WPSEO_PATH . 'admin/views/js-templates-primary-term.php'; + } + + /** + * Save the primary term for a specific taxonomy + * + * @param int $post_id Post ID to save primary term for. + * @param WP_Term $taxonomy Taxonomy to save primary term for. + */ + protected function save_primary_term( $post_id, $taxonomy ) { + $primary_term = filter_input( INPUT_POST, WPSEO_Meta::$form_prefix . 'primary_' . $taxonomy->name . '_term', FILTER_SANITIZE_NUMBER_INT ); + + // We accept an empty string here because we need to save that if no terms are selected. + if ( null !== $primary_term && check_admin_referer( 'save-primary-term', WPSEO_Meta::$form_prefix . 'primary_' . $taxonomy->name . '_nonce' ) ) { + $primary_term_object = new WPSEO_Primary_Term( $taxonomy->name, $post_id ); + $primary_term_object->set_primary_term( $primary_term ); + } + } + + /** + * Generate the primary term taxonomies. + * + * @param int $post_id ID of the post. + * + * @return array + */ + protected function generate_primary_term_taxonomies( $post_id ) { + $post_type = get_post_type( $post_id ); + $all_taxonomies = get_object_taxonomies( $post_type, 'objects' ); + $all_taxonomies = array_filter( $all_taxonomies, array( $this, 'filter_hierarchical_taxonomies' ) ); + + /** + * Filters which taxonomies for which the user can choose the primary term. + * + * @api array $taxonomies An array of taxonomy objects that are primary_term enabled. + * + * @param string $post_type The post type for which to filter the taxonomies. + * @param array $all_taxonomies All taxonomies for this post types, even ones that don't have primary term + * enabled. + */ + $taxonomies = (array) apply_filters( 'wpseo_primary_term_taxonomies', $all_taxonomies, $post_type, $all_taxonomies ); + + return $taxonomies; + } + + /** + * Returns an array suitable for use in the javascript + * + * @param stdClass $taxonomy The taxonomy to map. + * + * @return array + */ + private function map_taxonomies_for_js( $taxonomy ) { + $primary_term = $this->get_primary_term( $taxonomy->name ); + + if ( empty( $primary_term ) ) { + $primary_term = ''; + } + + return array( + 'title' => $taxonomy->labels->singular_name, + 'name' => $taxonomy->name, + 'primary' => $primary_term, + 'terms' => array_map( array( $this, 'map_terms_for_js' ), get_terms( $taxonomy->name ) ), + ); + } + + /** + * Returns an array suitable for use in the javascript + * + * @param stdClass $term The term to map. + * + * @return array + */ + private function map_terms_for_js( $term ) { + return array( + 'id' => $term->term_id, + 'name' => $term->name, + ); + } + + /** + * Returns whether or not a taxonomy is hierarchical + * + * @param stdClass $taxonomy Taxonomy object. + * + * @return bool + */ + private function filter_hierarchical_taxonomies( $taxonomy ) { + return (bool) $taxonomy->hierarchical; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-product-upsell-notice.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-product-upsell-notice.php new file mode 100644 index 00000000..f520edad --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-product-upsell-notice.php @@ -0,0 +1,201 @@ +options = $this->get_options(); + } + + /** + * Checks if the notice should be added or removed. + */ + public function initialize() { + if ( $this->is_notice_dismissed() ) { + $this->remove_notification(); + + return; + } + + if ( $this->should_add_notification() ) { + $this->add_notification(); + } + } + + /** + * Sets the upgrade notice. + */ + public function set_upgrade_notice() { + + if ( $this->has_first_activated_on() ) { + return; + } + + $this->set_first_activated_on(); + $this->add_notification(); + } + + /** + * Listener for the upsell notice. + */ + public function dismiss_notice_listener() { + if ( filter_input( INPUT_GET, 'yoast_dismiss' ) !== 'upsell' ) { + return; + } + + $this->dismiss_notice(); + + wp_redirect( admin_url( 'admin.php?page=wpseo_dashboard' ) ); + exit; + } + + /** + * When the notice should be shown. + * + * @return bool + */ + protected function should_add_notification() { + return ( $this->options['first_activated_on'] < strtotime( '-2weeks' ) ); + } + + /** + * Checks if the options has a first activated on date value. + */ + protected function has_first_activated_on() { + return $this->options['first_activated_on'] !== false; + } + + /** + * Sets the first activated on. + */ + protected function set_first_activated_on() { + $this->options['first_activated_on'] = strtotime( '-2weeks' ); + + $this->save_options(); + } + + /** + * Adds a notification to the notification center. + */ + protected function add_notification() { + $notification_center = Yoast_Notification_Center::get(); + $notification_center->add_notification( $this->get_notification() ); + } + + /** + * Adds a notification to the notification center. + */ + protected function remove_notification() { + $notification_center = Yoast_Notification_Center::get(); + $notification_center->remove_notification( $this->get_notification() ); + } + + /** + * Returns a premium upsell section if using the free plugin. + * + * @return string + */ + protected function get_premium_upsell_section() { + $features = new WPSEO_Features(); + if ( $features->is_free() ) { + return sprintf( + /* translators: %1$s expands anchor to premium plugin page, %2$s expands to */ + __( 'By the way, did you know we also have a %1$sPremium plugin%2$s? It offers advanced features, like a redirect manager and support for multiple keywords. It also comes with 24/7 personal support.' , 'wordpress-seo' ), + "", + '' + ); + } + + return ''; + } + + /** + * Gets the notification value. + * + * @return Yoast_Notification + */ + protected function get_notification() { + $message = sprintf( + /* translators: %1$s expands to Yoast SEO, %2$s is a link start tag to the plugin page on WordPress.org, %3$s is the link closing tag. */ + __( 'We\'ve noticed you\'ve been using %1$s for some time now; we hope you love it! We\'d be thrilled if you could %2$sgive us a 5 stars rating on WordPress.org%3$s!', 'wordpress-seo' ), + 'Yoast SEO', + '', + '' + ) . "\n\n"; + + $message .= sprintf( + /* translators: %1$s is a link start tag to the bugreport guidelines on the Yoast knowledge base, %2$s is the link closing tag. */ + __( 'If you are experiencing issues, %1$splease file a bug report%2$s and we\'ll do our best to help you out.', 'wordpress-seo' ), + '', + '' + ) . "\n\n"; + + $message .= $this->get_premium_upsell_section() . "\n\n"; + + $message .= sprintf( + /* translators: %1$s is the notification dismissal link start tag, %2$s is the link closing tag. */ + __( '%1$sPlease don\'t show me this notification anymore%2$s', 'wordpress-seo' ), + '', + '' + ); + + $notification = new Yoast_Notification( + $message, + array( + 'type' => Yoast_Notification::WARNING, + 'id' => 'wpseo-upsell-notice', + 'capabilities' => 'wpseo_manage_options', + 'priority' => 0.8, + ) + ); + + return $notification; + } + + /** + * Dismisses the notice. + * + * @return string + */ + protected function is_notice_dismissed() { + return get_user_meta( get_current_user_id(), self::USER_META_DISMISSED, true ) === '1'; + } + + /** + * Dismisses the notice. + */ + protected function dismiss_notice() { + update_user_meta( get_current_user_id(), self::USER_META_DISMISSED, true ); + } + + /** + * Returns the set options + * + * @return mixed|void + */ + protected function get_options() { + return get_option( self::OPTION_NAME ); + } + + /** + * Saves the options to the database. + */ + protected function save_options() { + update_option( self::OPTION_NAME, $this->options ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-recalculate-scores.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-recalculate-scores.php new file mode 100644 index 00000000..4e1a72fb --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-recalculate-scores.php @@ -0,0 +1,52 @@ +enqueue_script( 'recalculate' ); + } + + /** + * Initialize the modal box to be displayed when needed. + */ + public function modal_box() { + // Adding the thickbox. + add_thickbox(); + + $progress = sprintf( + /* translators: 1: expands to a containing the number of posts recalculated. 2: expands to a containing the total number of posts. */ + __( '%1$s of %2$s done.', 'wordpress-seo' ), + '0', + '0' + ); + + ?> + + false, + 'sslverify' => false, + 'timeout' => 2, + ); + + /** @var WP_Error|null */ + protected $response_error; + + /** @var mixed */ + protected $response_body; + + /** + * Sets the endpoint and arguments. + * + * @param string $endpoint The endpoint to send the request to. + * @param array $args The arguments to use in this request. + */ + public function __construct( $endpoint, array $args = array() ) { + $this->endpoint = $endpoint; + $this->args = wp_parse_args( $this->args, $args ); + } + + /** + * Sets the request body. + * + * @param mixed $body The body to set. + */ + public function set_body( $body ) { + $this->args['body'] = $body; + } + + /** + * Sends the data to the given endpoint. + * + * @param string $method The type of request to send. + * + * @return bool True when sending data has been successful. + */ + public function send( $method = self::METHOD_POST ) { + switch ( $method ) { + case self::METHOD_POST: + $response = $this->post(); + break; + case self::METHOD_GET: + $response = $this->get(); + break; + default: + /* translators: %1$s expands to the request method */ + $response = new WP_Error( 1, sprintf( __( 'Request method %1$s is not valid.' , 'wordpress-seo' ), $method ) ); + break; + } + + return $this->process_response( $response ); + } + + /** + * Returns the value of the response error. + * + * @return null|WP_Error The response error. + */ + public function get_response_error() { + return $this->response_error; + } + + /** + * Returns the response body. + * + * @return mixed The response body. + */ + public function get_response_body() { + return $this->response_body; + } + + /** + * Processes the given response. + * + * @param mixed $response The response to process. + * + * @return bool True when response is valid. + */ + protected function process_response( $response ) { + if ( $response instanceof WP_Error ) { + $this->response_error = $response; + + return false; + } + + $this->response_body = wp_remote_retrieve_body( $response ); + + return ( wp_remote_retrieve_response_code( $response ) === 200 ); + } + + /** + * Performs a post request to the specified endpoint with set arguments. + * + * @return WP_Error|array The response or WP_Error on failure. + */ + protected function post() { + return wp_remote_post( $this->endpoint, $this->args ); + } + + /** + * Performs a post request to the specified endpoint with set arguments. + * + * @return WP_Error|array The response or WP_Error on failure. + */ + protected function get() { + return wp_remote_get( $this->endpoint, $this->args ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-social-admin.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-social-admin.php new file mode 100644 index 00000000..4990e7a7 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-social-admin.php @@ -0,0 +1,280 @@ +options = WPSEO_Options::get_option( 'wpseo_social' ); + self::translate_meta_boxes(); + add_filter( 'wpseo_save_metaboxes', array( $this, 'save_meta_boxes' ), 10, 1 ); + add_action( 'wpseo_save_compare_data', array( $this, 'og_data_compare' ), 10, 1 ); + } + + /** + * Translate text strings for use in the meta box + * + * IMPORTANT: if you want to add a new string (option) somewhere, make sure you add that array key to + * the main meta box definition array in the class WPSEO_Meta() as well!!!! + */ + public static function translate_meta_boxes() { + /* translators: %s expands to the social network's name */ + $title_text = __( 'If you don\'t want to use the post title for sharing the post on %s but instead want another title there, write it here.', 'wordpress-seo' ); + /* translators: %s expands to the social network's name */ + $description_text = __( 'If you don\'t want to use the meta description for sharing the post on %s but want another description there, write it here.', 'wordpress-seo' ); + /* translators: %s expands to the social network's name */ + $image_text = __( 'If you want to override the image used on %s for this post, upload / choose an image or add the URL here.', 'wordpress-seo' ); + /* translators: %1$s expands to the social network, %2$s to the recommended image size */ + $image_size_text = __( 'The recommended image size for %1$s is %2$s pixels.', 'wordpress-seo' ); + + $options = WPSEO_Options::get_option( 'wpseo_social' ); + + $social_networks = array( + 'opengraph' => __( 'Facebook', 'wordpress-seo' ), + 'twitter' => __( 'Twitter', 'wordpress-seo' ), + ); + + // Source: https://blog.bufferapp.com/ideal-image-sizes-social-media-posts. + $recommended_image_sizes = array( + /* translators: %1$s expands to the image recommended width, %2$s to its height. */ + 'opengraph' => sprintf( __( '%1$s by %2$s', 'wordpress-seo' ), '1200', '630' ), // Source: https://developers.facebook.com/docs/sharing/best-practices#images. + /* translators: %1$s expands to the image recommended width, %2$s to its height. */ + 'twitter' => sprintf( __( '%1$s by %2$s', 'wordpress-seo' ), '1024', '512' ), + ); + + foreach ( $social_networks as $network => $label ) { + if ( true === $options[ $network ] ) { + /* translators: %s expands to the name of a social network. */ + self::$meta_fields['social'][ $network . '-title' ]['title'] = sprintf( __( '%s Title', 'wordpress-seo' ), $label ); + self::$meta_fields['social'][ $network . '-title' ]['description'] = sprintf( $title_text, $label ); + + /* translators: %s expands to the name of a social network. */ + self::$meta_fields['social'][ $network . '-description' ]['title'] = sprintf( __( '%s Description', 'wordpress-seo' ), $label ); + self::$meta_fields['social'][ $network . '-description' ]['description'] = sprintf( $description_text, $label ); + + /* translators: %s expands to the name of a social network. */ + self::$meta_fields['social'][ $network . '-image' ]['title'] = sprintf( __( '%s Image', 'wordpress-seo' ), $label ); + self::$meta_fields['social'][ $network . '-image' ]['description'] = sprintf( $image_text, $label ) . ' ' . sprintf( $image_size_text, $label, $recommended_image_sizes[ $network ] ); + } + } + } + + /** + * Returns the metabox section for the social settings. + * + * @return WPSEO_Metabox_Tab_Section + */ + public function get_meta_section() { + $tabs = array(); + $social_meta_fields = $this->get_meta_field_defs( 'social' ); + $single = true; + + if ( $this->options['opengraph'] === true && $this->options['twitter'] === true ) { + $single = null; + } + + if ( $this->options['opengraph'] === true ) { + $tabs[] = new WPSEO_Metabox_Form_Tab( + 'facebook', + $this->get_social_tab_content( 'opengraph', $social_meta_fields ), + '' . __( 'Facebook / Open Graph metadata', 'wordpress-seo' ) . '', + array( + 'link_aria_label' => __( 'Facebook / Open Graph metadata', 'wordpress-seo' ), + 'link_class' => 'yoast-tooltip yoast-tooltip-se', + 'single' => $single, + ) + ); + } + + if ( $this->options['twitter'] === true ) { + $tabs[] = new WPSEO_Metabox_Form_Tab( + 'twitter', + $this->get_social_tab_content( 'twitter', $social_meta_fields ), + '' . __( 'Twitter metadata', 'wordpress-seo' ) . '', + array( + 'link_aria_label' => __( 'Twitter metadata', 'wordpress-seo' ), + 'link_class' => 'yoast-tooltip yoast-tooltip-se', + 'single' => $single, + ) + ); + } + + return new WPSEO_Metabox_Tab_Section( + 'social', + '' . __( 'Social', 'wordpress-seo' ) . '', + $tabs, + array( + 'link_aria_label' => __( 'Social', 'wordpress-seo' ), + 'link_class' => 'yoast-tooltip yoast-tooltip-e', + ) + ); + } + + /** + * Generates the html for a social settings tab for one of the supported social media. + * + * @param string $medium can be 'opengraph' or 'twitter'. + * @param array $meta_field_defs The social meta field definitions. + * + * @return string + */ + private function get_social_tab_content( $medium, $meta_field_defs ) { + $field_names = array( + $medium . '-title', + $medium . '-description', + $medium . '-image', + ); + + $tab_content = $this->get_premium_notice( $medium ); + + foreach ( $field_names as $field_name ) { + $tab_content .= $this->do_meta_box( $meta_field_defs[ $field_name ], $field_name ); + } + + return $tab_content; + } + + /** + * Returns the Upgrade to Premium notice. + * + * @param string $network The social network. + * @return string The notice HTML on the free version, empty string on premium. + */ + public function get_premium_notice( $network ) { + $features = new WPSEO_Features(); + if ( $features->is_premium() ) { + return ''; + } + + $network_name = __( 'Facebook', 'wordpress-seo' ); + + if ( 'twitter' === $network ) { + $network_name = __( 'Twitter', 'wordpress-seo' ); + } + + return sprintf( "
    +

    %s

    +

    %s

    +
    ", + /* translators: %1$s expands to the social network's name, %2$s to Yoast SEO Premium. */ + sprintf( __( 'Do you want to preview what it will look like if people share this post on %1$s? You can, with %2$s.', 'wordpress-seo' ), + $network_name, + 'Yoast SEO Premium' + ), + WPSEO_Shortlinker::get( 'https://yoa.st/179' ), + /* translators: %s expands to Yoast SEO Premium. */ + sprintf( 'Find out why you should upgrade to %s', 'Yoast SEO Premium' ) + ); + } + + /** + * Filter over the meta boxes to save, this function adds the Social meta boxes. + * + * @param array $field_defs Array of metaboxes to save. + * + * @return array + */ + public function save_meta_boxes( $field_defs ) { + return array_merge( $field_defs, $this->get_meta_field_defs( 'social' ) ); + } + + /** + * This method will compare opengraph fields with the posted values. + * + * When fields are changed, the facebook cache will be purge. + * + * @param WP_Post $post Post instance. + */ + public function og_data_compare( $post ) { + + // Check if post data is available, if post_id is set and if original post_status is publish. + // @codingStandardsIgnoreStart + if ( + ! empty( $_POST ) && ! empty( $post->ID ) && $post->post_status == 'publish' && + isset( $_POST['original_post_status'] ) && $_POST['original_post_status'] === 'publish' + ) { + // @codingStandardsIgnoreEnd + + $fields_to_compare = array( + 'opengraph-title', + 'opengraph-description', + 'opengraph-image', + ); + + $reset_facebook_cache = false; + + foreach ( $fields_to_compare as $field_to_compare ) { + $old_value = self::get_value( $field_to_compare, $post->ID ); + $new_value = self::get_post_value( self::$form_prefix . $field_to_compare ); + + if ( $old_value !== $new_value ) { + $reset_facebook_cache = true; + break; + } + } + unset( $field_to_compare, $old_value, $new_value ); + + if ( $reset_facebook_cache ) { + wp_remote_get( + 'https://graph.facebook.com/?id=' . get_permalink( $post->ID ) . '&scrape=true&method=post' + ); + } + } + } + + + /********************** DEPRECATED METHODS **********************/ + + // @codeCoverageIgnoreStart + /** + * Define the meta boxes for the Social tab + * + * @deprecated 1.5.0 + * @deprecated use WPSEO_Meta::get_meta_field_defs() + * @see WPSEO_Meta::get_meta_field_defs() + * + * @param string $post_type Optional post type string. + * + * @return array Array containing the meta boxes + */ + public function get_meta_boxes( $post_type = 'post' ) { + _deprecated_function( __METHOD__, 'WPSEO 1.5.0', 'WPSEO_Meta::get_meta_field_defs()' ); + + return $this->get_meta_field_defs( 'social' ); + } + + /** + * @deprecated 3.0 Removed. + * + * @return string + */ + public function tab_header() { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + return ''; + } + + /** + * @deprecated 3.0 Removed. + * + * @return string + */ + public function tab_content() { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + return ''; + } + // @codeCoverageIgnoreEnd +} /* End of class */ diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-social-facebook.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-social-facebook.php new file mode 100644 index 00000000..d4d9e9ec --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-social-facebook.php @@ -0,0 +1,482 @@ +options = get_option( 'wpseo_social' ); + + $this->get_listener(); + + $this->form = new Yoast_Social_Facebook_Form(); + } + + /** + * Returns the output from the form class + */ + public function show_form() { + $this->form->show_form(); + } + + /** + * Adding a new admin + * + * @param string $admin_name Name string. + * @param string $admin_id ID string. + * + * @return string + */ + public function add_admin( $admin_name, $admin_id ) { + $success = 0; + + // If one of the fields is empty. + if ( empty( $admin_name ) || empty( $admin_id ) ) { + $response_body = $this->get_response_body( 'not_present' ); + } + else { + $admin_id = $this->parse_admin_id( $admin_id ); + + if ( ! isset( $this->options['fb_admins'][ $admin_id ] ) ) { + $name = sanitize_text_field( urldecode( $admin_name ) ); + $admin_id = sanitize_text_field( $admin_id ); + + if ( preg_match( '/[0-9]+?/', $admin_id ) && preg_match( '/[\w\s]+?/', $name ) ) { + $this->options['fb_admins'][ $admin_id ]['name'] = $name; + $this->options['fb_admins'][ $admin_id ]['link'] = urldecode( 'http://www.facebook.com/' . $admin_id ); + + $this->save_options(); + + $success = 1; + $response_body = $this->form->get_admin_link( $admin_id, $this->options['fb_admins'][ $admin_id ] ); + } + else { + $response_body = $this->get_response_body( 'invalid_format' ); + } + } + else { + $response_body = $this->get_response_body( 'already_exists' ); + } + } + + return wp_json_encode( + array( + 'success' => $success, + 'html' => $response_body, + ) + ); + } + + /** + * Fetches the id if the full meta tag or a full url was given + * + * @param string $admin_id Admin ID input string to process. + * + * @return string + */ + private function parse_admin_id( $admin_id ) { + if ( preg_match( '/^\

    '; + break; + case 'invalid_format': + $return = "

    " . __( 'Your input contains invalid characters. Please make sure both fields are filled in correctly.', 'wordpress-seo' ) . '

    '; + break; + case 'already_exists': + $return = "

    " . __( 'This Facebook user has already been added as an admin.', 'wordpress-seo' ) . '

    '; + break; + default: + $return = ''; + break; + } + + return $return; + } + + /** + * This method will hook into the defined get params + */ + private function get_listener() { + if ( $delfbadmin = filter_input( INPUT_GET, 'delfbadmin' ) ) { + $this->delete_admin( $delfbadmin ); + } + elseif ( filter_input( INPUT_GET, 'fbclearall' ) ) { + $this->clear_all(); + } + } + + /** + * Deletes the admin from the options + * + * @param string $delfbadmin Facebook admin ID. + */ + private function delete_admin( $delfbadmin ) { + $this->verify_nonce( 'delfbadmin' ); + + $admin_id = sanitize_text_field( $delfbadmin ); + if ( isset( $this->options['fb_admins'][ $admin_id ] ) ) { + $fbadmin = $this->options['fb_admins'][ $admin_id ]['name']; + unset( $this->options['fb_admins'][ $admin_id ] ); + + $this->save_options(); + /* translators: %s expands to the username of the removed Facebook admin. */ + $this->success_notice( sprintf( __( 'Successfully removed admin %s', 'wordpress-seo' ), $fbadmin ) ); + + unset( $fbadmin ); + } + + unset( $admin_id ); + + // Clean up the referrer url for later use. + if ( ! empty( $_SERVER['REQUEST_URI'] ) ) { + $this->cleanup_referrer_url( 'nonce', 'delfbadmin' ); + } + } + + /** + * Clear all the facebook that has been set already + */ + private function clear_all() { + $this->verify_nonce( 'fbclearall' ); + + // Reset to defaults, don't unset as otherwise the old values will be retained. + $this->options['fb_admins'] = WPSEO_Options::get_default( 'wpseo_social', 'fb_admins' ); + + $this->save_options(); + $this->success_notice( __( 'Successfully cleared all Facebook Data', 'wordpress-seo' ) ); + + // Clean up the referrer url for later use. + if ( ! empty( $_SERVER['REQUEST_URI'] ) ) { + $this->cleanup_referrer_url( 'nonce', 'fbclearall' ); + } + } + + /** + * Clean up the request_uri. The given params are the params that will be removed from the URL + */ + private function cleanup_referrer_url() { + $_SERVER['REQUEST_URI'] = remove_query_arg( + func_get_args(), + sanitize_text_field( $_SERVER['REQUEST_URI'] ) + ); + } + + /** + * When something is going well, show a success notice + * + * @param string $notice_text Message string. + */ + private function success_notice( $notice_text ) { + add_settings_error( 'yoast_wpseo_social_options', 'success', $notice_text, 'updated' ); + } + + /** + * Verify the nonce from the URL with the saved nonce + * + * @param string $nonce_name Nonce name string. + */ + private function verify_nonce( $nonce_name ) { + if ( wp_verify_nonce( filter_input( INPUT_GET, 'nonce' ), $nonce_name ) != 1 ) { + die( "I don't think that's really nice of you!." ); + } + } + + /** + * Saving the options + */ + private function save_options() { + update_option( 'wpseo_social', $this->options ); + } +} + +/** + * This will display the HTML for the facebook insights part + */ +class Yoast_Social_Facebook_Form { + + /** + * @var array - The options for social + */ + private $options; + + /** + * @var array - The repository for the buttons that will be shown + */ + private $buttons = array(); + + /** + * @var string - The URL to link to + */ + private $admin_url = 'admin.php?page=wpseo_social'; + + /** + * Setting the options and call the methods to display everything + */ + public function __construct() { + $this->options = get_option( 'wpseo_social' ); + } + + /** + * Returns the output-property + */ + public function show_form() { + $this + ->form_head() + ->manage_user_admin() + ->form_thickbox() + ->show_buttons() + ->manage_app_as_admin(); + } + + /** + * Parses the admin_link + * + * @param string $admin_id Facebook admin ID string. + * @param array $admin Admin data array. + * @param string|bool $nonce Optional nonce string. + * + * @return string + */ + public function get_admin_link( $admin_id, $admin, $nonce = false ) { + if ( $nonce === false ) { + $nonce = $this->get_delete_nonce(); + } + + $return = '
  • ' . esc_html( $admin['name'] ) . ''; + $return .= ' - X
  • '; + + return $return; + } + + /** + * SHow the top of the social insights part of the page + * + * @return $this + */ + private function form_head() { + echo '

    ' . esc_html__( 'Facebook Insights and Admins', 'wordpress-seo' ) . '

    '; + echo '

    ', sprintf( + /* translators: %1$s and %2$s expand to a link to Facebook Insights */ + esc_html__( 'To be able to access %1$sFacebook Insights%2$s for your site, you need to specify a Facebook Admin. This can be a user. If you have an app for your site, you could use that as well.', 'wordpress-seo' ), + '', + '' + ); + echo ' '; + /* translators: %1$s and %2$s expand to a link to the Yoast Knowledge Base */ + printf( __( 'More info can be found %1$son our knowledge base%2$s.', 'wordpress-seo' ), '', '' ); + echo '

    '; + + return $this; + } + + /** + * Show the form inside the thickbox + */ + private function form_thickbox() { + // Adding the thickbox. + add_thickbox(); + + echo ''; + + return $this; + } + + /** + * Display the buttons to add an admin or add another admin from Facebook and display the admin that has been added already. + * + * @return $this + */ + private function manage_user_admin() { + $button_text = __( 'Add Facebook admin', 'wordpress-seo' ); + $nonce = false; + $class_attr = ' class="hidden"'; + + if ( is_array( $this->options['fb_admins'] ) && $this->options['fb_admins'] !== array() ) { + $nonce = $this->get_delete_nonce(); + $button_text = __( 'Add Another Facebook Admin', 'wordpress-seo' ); + $class_attr = ''; + } + + echo "
    "; + echo '

    ' . __( 'Currently connected Facebook admins:', 'wordpress-seo' ) . '

    '; + echo '
      '; + $this->show_user_admins( $nonce ); + echo '
    '; + echo '
    '; + + unset( $nonce ); + + $this->add_button( + array( + 'url' => '#TB_inline?width=600&height=350&inlineId=add_facebook_admin', + 'value' => $button_text, + 'class' => 'thickbox', + 'title' => $button_text, + ) + ); + + return $this; + } + + /** + * Show input field to set a facebook apps as an admin + * + * @return $this + */ + private function manage_app_as_admin() { + echo '

    '; + Yoast_Form::get_instance()->textinput( 'fbadminapp', __( 'Facebook App ID', 'wordpress-seo' ) ); + + return $this; + } + + /** + * Loop through the fb-admins to parse the output for them + * + * @param string $nonce Nonce string. + */ + private function show_user_admins( $nonce ) { + foreach ( $this->options['fb_admins'] as $admin_id => $admin ) { + echo $this->get_admin_link( $admin_id, $admin, $nonce ); + } + } + + /** + * Parsing the link that directs to the admin removal + * + * @param string $admin_id Facebook admin ID. + * @param string $nonce Nonce string. + * + * @return string + */ + private function admin_delete_link( $admin_id, $nonce ) { + return esc_url( + add_query_arg( + array( + 'delfbadmin' => esc_attr( $admin_id ), + 'nonce' => $nonce, + ), + admin_url( $this->admin_url . '#top#facebook' ) + ) + ); + } + + /** + * Adding a button to the button property + * + * @param array $args Arguments data array. + */ + private function add_button( $args ) { + $args = wp_parse_args( + $args, + array( + 'url' => '', + 'value' => '', + 'class' => '', + 'id' => '', + 'title' => '', + + ) + ); + + $this->buttons[] = '' . esc_html( $args['value'] ) . ''; + } + + /** + * Showing the buttons + */ + private function show_buttons() { + if ( $this->get_clearall() ) { + $this->add_button( + array( + 'url' => add_query_arg( array( + 'nonce' => wp_create_nonce( 'fbclearall' ), + 'fbclearall' => 'true', + ), admin_url( $this->admin_url . '#top#facebook' ) ), + 'value' => __( 'Clear all Facebook Data', 'wordpress-seo' ), + ) + ); + } + + if ( is_array( $this->buttons ) && $this->buttons !== array() ) { + echo '

    ' . implode( '', $this->buttons ) . '

    '; + } + + return $this; + } + + /** + * Check if the clear button should be displayed. This is based on the set options. + * + * @return bool + */ + private function get_clearall() { + return is_array( $this->options['fb_admins'] ) && $this->options['fb_admins'] !== array(); + } + + /** + * Creates nonce for removal link + * + * @return mixed + */ + private function get_delete_nonce() { + return wp_create_nonce( 'delfbadmin' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-stop-words.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-stop-words.php new file mode 100644 index 00000000..ca0ef009 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-stop-words.php @@ -0,0 +1,52 @@ +list_stop_words() ); + + // Don't change the slug if there are less than 3 words left. + if ( count( $new_slug_parts ) < 3 ) { + return $original_slug; + } + + // Turn the sanitized array into a string. + $new_slug = join( '-', $new_slug_parts ); + + return $new_slug; + } + + /** + * Returns a translated, filtered list of stop words + * + * @return array An array of stop words. + */ + public function list_stop_words() { + /* translators: this should be an array of stop words for your language, separated by comma's. */ + $stopwords = explode( ',', __( "a,about,above,after,again,against,all,am,an,and,any,are,as,at,be,because,been,before,being,below,between,both,but,by,could,did,do,does,doing,down,during,each,few,for,from,further,had,has,have,having,he,he'd,he'll,he's,her,here,here's,hers,herself,him,himself,his,how,how's,i,i'd,i'll,i'm,i've,if,in,into,is,it,it's,its,itself,let's,me,more,most,my,myself,nor,of,on,once,only,or,other,ought,our,ours,ourselves,out,over,own,same,she,she'd,she'll,she's,should,so,some,such,than,that,that's,the,their,theirs,them,themselves,then,there,there's,these,they,they'd,they'll,they're,they've,this,those,through,to,too,under,until,up,very,was,we,we'd,we'll,we're,we've,were,what,what's,when,when's,where,where's,which,while,who,who's,whom,why,why's,with,would,you,you'd,you'll,you're,you've,your,yours,yourself,yourselves", 'wordpress-seo' ) ); + + /** + * Allows filtering of the stop words list + * Especially useful for users on a language in which WPSEO is not available yet + * and/or users who want to turn off stop word filtering + * + * @api array $stopwords Array of all lowercase stop words to check and/or remove from slug + */ + $stopwords = apply_filters( 'wpseo_stopwords', $stopwords ); + + return $stopwords; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-alerts.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-alerts.php new file mode 100644 index 00000000..317d4666 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-alerts.php @@ -0,0 +1,258 @@ +add_hooks(); + } + + /** + * Add hooks + */ + private function add_hooks() { + + $page = filter_input( INPUT_GET, 'page' ); + if ( self::ADMIN_PAGE === $page ) { + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_assets' ) ); + } + + // Needed for adminbar and Alerts page. + add_action( 'admin_init', array( __CLASS__, 'collect_alerts' ), 99 ); + + // Add AJAX hooks. + add_action( 'wp_ajax_yoast_dismiss_alert', array( $this, 'ajax_dismiss_alert' ) ); + add_action( 'wp_ajax_yoast_restore_alert', array( $this, 'ajax_restore_alert' ) ); + } + + /** + * Enqueue assets + */ + public function enqueue_assets() { + + $asset_manager = new WPSEO_Admin_Asset_Manager(); + $asset_manager->enqueue_style( 'alerts' ); + } + + /** + * Handle ajax request to dismiss an alert + */ + public function ajax_dismiss_alert() { + + $notification = $this->get_notification_from_ajax_request(); + if ( $notification ) { + $notification_center = Yoast_Notification_Center::get(); + $notification_center->maybe_dismiss_notification( $notification ); + + $this->output_ajax_response( $notification->get_type() ); + } + + wp_die(); + } + + /** + * Handle ajax request to restore an alert + */ + public function ajax_restore_alert() { + + $notification = $this->get_notification_from_ajax_request(); + if ( $notification ) { + delete_user_meta( get_current_user_id(), $notification->get_dismissal_key() ); + + $this->output_ajax_response( $notification->get_type() ); + } + + wp_die(); + } + + /** + * Create AJAX response data + * + * @param string $type Alert type. + */ + private function output_ajax_response( $type ) { + + $html = $this->get_view_html( $type ); + echo wp_json_encode( + array( + 'html' => $html, + 'total' => self::get_active_alert_count(), + ) + ); + } + + /** + * Get the HTML to return in the AJAX request + * + * @param string $type Alert type. + * + * @return bool|string + */ + private function get_view_html( $type ) { + + switch ( $type ) { + case 'error': + $view = 'errors'; + break; + + case 'warning': + default: + $view = 'warnings'; + break; + } + + // Re-collect alerts. + self::collect_alerts(); + + /** @noinspection PhpUnusedLocalVariableInspection */ + $alerts_data = self::get_template_variables(); + + ob_start(); + include WPSEO_PATH . 'admin/views/partial-alerts-' . $view . '.php'; + $html = ob_get_clean(); + + return $html; + } + + /** + * Extract the Yoast Notification from the AJAX request + * + * @return null|Yoast_Notification + */ + private function get_notification_from_ajax_request() { + + $notification_center = Yoast_Notification_Center::get(); + $notification_id = filter_input( INPUT_POST, 'notification' ); + + return $notification_center->get_notification_by_id( $notification_id ); + } + + /** + * Show the alerts overview page + */ + public static function show_overview_page() { + + /** @noinspection PhpUnusedLocalVariableInspection */ + $alerts_data = self::get_template_variables(); + + include WPSEO_PATH . 'admin/views/alerts-dashboard.php'; + } + + /** + * Collect the alerts and group them together + */ + public static function collect_alerts() { + + $notification_center = Yoast_Notification_Center::get(); + + $notifications = $notification_center->get_sorted_notifications(); + self::$notification_count = count( $notifications ); + + self::$errors = array_filter( $notifications, array( __CLASS__, 'filter_error_alerts' ) ); + self::$dismissed_errors = array_filter( self::$errors, array( __CLASS__, 'filter_dismissed_alerts' ) ); + self::$active_errors = array_diff( self::$errors, self::$dismissed_errors ); + + self::$warnings = array_filter( $notifications, array( __CLASS__, 'filter_warning_alerts' ) ); + self::$dismissed_warnings = array_filter( self::$warnings, array( __CLASS__, 'filter_dismissed_alerts' ) ); + self::$active_warnings = array_diff( self::$warnings, self::$dismissed_warnings ); + } + + /** + * Get the variables needed in the views + * + * @return array + */ + public static function get_template_variables() { + + return array( + 'metrics' => array( + 'total' => self::$notification_count, + 'active' => self::get_active_alert_count(), + 'errors' => count( self::$errors ), + 'warnings' => count( self::$warnings ), + ), + 'errors' => array( + 'dismissed' => self::$dismissed_errors, + 'active' => self::$active_errors, + ), + 'warnings' => array( + 'dismissed' => self::$dismissed_warnings, + 'active' => self::$active_warnings, + ), + ); + } + + /** + * Get the number of active alerts + * + * @return int + */ + public static function get_active_alert_count() { + + return ( count( self::$active_errors ) + count( self::$active_warnings ) ); + } + + /** + * Filter out any non-errors + * + * @param Yoast_Notification $notification Notification to test. + * + * @return bool + */ + private static function filter_error_alerts( Yoast_Notification $notification ) { + + return $notification->get_type() === 'error'; + } + + /** + * Filter out any non-warnings + * + * @param Yoast_Notification $notification Notification to test. + * + * @return bool + */ + private static function filter_warning_alerts( Yoast_Notification $notification ) { + + return $notification->get_type() !== 'error'; + } + + /** + * Filter out any dismissed notifications + * + * @param Yoast_Notification $notification Notification to test. + * + * @return bool + */ + private static function filter_dismissed_alerts( Yoast_Notification $notification ) { + + return Yoast_Notification_Center::is_notification_dismissed( $notification ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-columns.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-columns.php new file mode 100644 index 00000000..f05ac68f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-columns.php @@ -0,0 +1,42 @@ +add_help_tab( + array( + /* translators: %s expands to Yoast */ + 'title' => sprintf( __( '%s Columns', 'wordpress-seo' ), 'Yoast' ), + 'id' => 'yst-columns', + 'content' => sprintf( + /* translators: %1$s: Yoast SEO, %2$s: Link to article about content analysis, %3$s: Anchor closing, %4$s: Link to article about text links, %5$s: Emphasis open tag, %6$s: Emphasis close tag */ + '

    ' . __( '%1$s adds several columns to this page. We\'ve written an article about %2$show to use the SEO score and Readability score%3$s. The links columns show the number of articles on this site linking %5$sto%6$s this article and the number of URLs linked %5$sfrom%6$s this article. Learn more about %4$show to use these features to improve your internal linking%3$s, which greatly enhances your SEO.', 'wordpress-seo' ) . '

    ', + 'Yoast SEO', + '', + '', + '', + '', + '' + ), + 'priority' => 15, + ) + ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-dashboard-widget.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-dashboard-widget.php new file mode 100644 index 00000000..8fe474df --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-dashboard-widget.php @@ -0,0 +1,141 @@ +statistics = $statistics; + $this->asset_manager = new WPSEO_Admin_Asset_Manager(); + + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_dashboard_assets' ) ); + + if ( $this->show_widget() ) { + add_action( 'wp_dashboard_setup', array( $this, 'add_dashboard_widget' ) ); + } + } + + /** + * Adds dashboard widget to WordPress + */ + public function add_dashboard_widget() { + add_filter( 'postbox_classes_dashboard_wpseo-dashboard-overview', array( $this, 'wpseo_dashboard_overview_class' ) ); + wp_add_dashboard_widget( + 'wpseo-dashboard-overview', + /* translators: %s is the plugin name */ + sprintf( __( '%s Posts Overview', 'wordpress-seo' ), 'Yoast SEO' ), + array( $this, 'display_dashboard_widget' ) + ); + } + + /** + * Adds CSS classes to the dashboard widget. + * + * @param array $classes An array of postbox CSS classes. + * + * @return array + */ + public function wpseo_dashboard_overview_class( $classes ) { + $classes[] = 'yoast wpseo-dashboard-overview'; + return $classes; + } + + /** + * Displays the dashboard widget. + */ + public function display_dashboard_widget() { + echo '
    '; + } + + /** + * Enqueues stylesheet for the dashboard if the current page is the dashboard. + */ + public function enqueue_dashboard_stylesheets() { + _deprecated_function( __METHOD__, 'WPSEO 5.5', 'This method is deprecated, please use the enqueue_dashboard_assets method.' ); + + if ( ! $this->is_dashboard_screen() ) { + return; + } + + $this->asset_manager->enqueue_style( 'wp-dashboard' ); + } + + /** + * Enqueues assets for the dashboard if the current page is the dashboard. + */ + public function enqueue_dashboard_assets() { + if ( ! $this->is_dashboard_screen() ) { + return; + } + + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'dashboard-widget', 'wpseoDashboardWidgetL10n', $this->localize_dashboard_script() ); + $this->asset_manager->enqueue_script( 'dashboard-widget' ); + $this->asset_manager->enqueue_style( 'wp-dashboard' ); + } + + /** + * Translates strings used in the dashboard widget. + * + * @return array The translated strings. + */ + public function localize_dashboard_script() { + return array( + 'feed_header' => __( 'Latest blogposts on Yoast.com', 'wordpress-seo' ), + 'feed_footer' => __( 'Read more like this on our SEO blog', 'wordpress-seo' ), + 'ryte_header' => sprintf( + /* translators: %1$s expands to Ryte. */ + __( 'Indexability check by %1$s', 'wordpress-seo' ), + 'Ryte' + ), + 'ryte_fetch' => __( 'Fetch the current status', 'wordpress-seo' ), + 'ryte_analyze' => __( 'Analyze entire site', 'wordpress-seo' ), + 'ryte_fetch_url' => esc_attr( add_query_arg( 'wpseo-redo-onpage', '1' ) ) . '#wpseo-dashboard-overview', + 'ryte_landing_url' => WPSEO_Shortlinker::get( 'https://yoa.st/rytelp' ), + ); + } + + /** + * Checks if the current screen is the dashboard screen. + * + * @return bool Whether or not this is the dashboard screen. + */ + private function is_dashboard_screen() { + $current_screen = get_current_screen(); + + return ( $current_screen instanceof WP_Screen && $current_screen->id === 'dashboard' ); + } + + /** + * Returns true when the dashboard widget should be shown. + * + * @return bool + */ + private function show_widget() { + $analysis_seo = new WPSEO_Metabox_Analysis_SEO(); + + return $analysis_seo->is_enabled() && current_user_can( 'edit_posts' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-form.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-form.php new file mode 100644 index 00000000..1557c8d3 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-form.php @@ -0,0 +1,596 @@ + +
    + +

    +
    +
    + '; + settings_fields( $option_long_name ); + } + $this->set_option( $option ); + } + + /** + * Set the option used in output for form elements + * + * @since 2.0 + * + * @param string $option_name Option key. + */ + public function set_option( $option_name ) { + $this->option_name = $option_name; + $this->options = $this->get_option(); + } + + /** + * Sets a value in the options. + * + * @since 5.4 + * + * @param string $key The key of the option to set. + * @param mixed $value The value to set the option to. + * @param bool $overwrite Whether to overwrite existing options. Default is false. + */ + public function set_options_value( $key, $value, $overwrite = false ) { + if ( $overwrite || ! array_key_exists( $key, $this->options ) ) { + $this->options[ $key ] = $value; + } + } + + /** + * Retrieve options based on whether we're on multisite or not. + * + * @since 1.2.4 + * @since 2.0 Moved to this class. + * + * @return array + */ + private function get_option() { + if ( is_network_admin() ) { + return get_site_option( $this->option_name ); + } + + return get_option( $this->option_name ); + } + + /** + * Generates the footer for admin pages + * + * @since 2.0 + * + * @param bool $submit Whether or not a submit button and form end tag should be shown. + * @param bool $show_sidebar Whether or not to show the banner sidebar - used by premium plugins to disable it. + */ + public function admin_footer( $submit = true, $show_sidebar = true ) { + if ( $submit ) { + submit_button( __( 'Save changes', 'wordpress-seo' ) ); + + echo ' + '; + } + + /** + * Apply general admin_footer hooks + */ + do_action( 'wpseo_admin_footer' ); + + /** + * Run possibly set actions to add for example an i18n box + */ + do_action( 'wpseo_admin_promo_footer' ); + + echo ' +
    '; + + if ( $show_sidebar ) { + $this->admin_sidebar(); + } + + echo '
    '; + + + if ( ( defined( 'WP_DEBUG' ) && WP_DEBUG === true ) ) { + $xdebug = ( extension_loaded( 'xdebug' ) ? true : false ); + echo ' +
    + +

    ' . __( 'Debug Information', 'wordpress-seo' ) . '

    +
    +

    ' . esc_html( __( 'Current option:', 'wordpress-seo' ) ) . ' ' . esc_html( $this->option_name ) . '

    + ' . ( ( $xdebug ) ? '' : '
    ' );
    +			var_dump( $this->get_option() );
    +			echo '
    +					' . ( ( $xdebug ) ? '' : '
    ' ) . ' +
    +
    '; + } + + echo ' +
    '; + } + + /** + * Generates the sidebar for admin pages. + * + * @since 2.0 + */ + public function admin_sidebar() { + + // No banners in Premium. + if ( class_exists( 'WPSEO_Product_Premium' ) ) { + $license_manager = new Yoast_Plugin_License_Manager( new WPSEO_Product_Premium() ); + if ( $license_manager->license_is_valid() ) { + return; + } + } + + $sidebar_renderer = new WPSEO_Admin_Banner_Sidebar_Renderer( new WPSEO_Admin_Banner_Spot_Renderer() ); + + $banner_renderer = new WPSEO_Admin_Banner_Renderer(); + $banner_renderer->set_base_path( plugins_url( 'images/banner/', WPSEO_FILE ) ); + + /* translators: %1$s expands to "Yoast". */ + $sidebar = new WPSEO_Admin_Banner_Sidebar( sprintf( __( '%1s recommendations for you', 'wordpress-seo' ), 'Yoast' ), $banner_renderer ); + $sidebar->initialize( new WPSEO_Features() ); + + echo $sidebar_renderer->render( $sidebar ); + + } + + /** + * Output a label element + * + * @since 2.0 + * + * @param string $text Label text string. + * @param array $attr HTML attributes set. + */ + public function label( $text, $attr ) { + $attr = wp_parse_args( $attr, array( + 'class' => 'checkbox', + 'close' => true, + 'for' => '', + ) + ); + echo "'; + } + } + + /** + * Output a legend element. + * + * @since 3.4 + * + * @param string $text Legend text string. + * @param array $attr HTML attributes set. + */ + public function legend( $text, $attr ) { + $attr = wp_parse_args( $attr, array( + 'id' => '', + 'class' => '', + ) + ); + $id = ( '' === $attr['id'] ) ? '' : ' id="' . esc_attr( $attr['id'] ) . '"'; + echo '' . $text . ''; + } + + /** + * Create a Checkbox input field. + * + * @since 2.0 + * + * @param string $var The variable within the option to create the checkbox for. + * @param string $label The label to show for the variable. + * @param bool $label_left Whether the label should be left (true) or right (false). + */ + public function checkbox( $var, $label, $label_left = false ) { + if ( ! isset( $this->options[ $var ] ) ) { + $this->options[ $var ] = false; + } + + if ( $this->options[ $var ] === true ) { + $this->options[ $var ] = 'on'; + } + + $class = ''; + if ( $label_left !== false ) { + if ( ! empty( $label_left ) ) { + $label_left .= ':'; + } + $this->label( $label_left, array( 'for' => $var ) ); + } + else { + $class = 'double'; + } + + echo 'options[ $var ], 'on', false ), '/>'; + + if ( ! empty( $label ) ) { + $this->label( $label, array( 'for' => $var ) ); + } + + echo '
    '; + } + + /** + * Create a light switch input field. + * + * @since 3.1 + * + * @param string $var The variable within the option to create the checkbox for. + * @param string $label The label to show for the variable. + * @param array $buttons Array of two labels for the buttons (defaults Off/On). + * @param boolean $reverse Reverse order of buttons (default true). + */ + public function light_switch( $var, $label, $buttons = array(), $reverse = true ) { + + if ( ! isset( $this->options[ $var ] ) ) { + $this->options[ $var ] = false; + } + + if ( $this->options[ $var ] === true ) { + $this->options[ $var ] = 'on'; + } + + $class = 'switch-light switch-candy switch-yoast-seo'; + $aria_labelledby = esc_attr( $var ) . '-label'; + + if ( $reverse ) { + $class .= ' switch-yoast-seo-reverse'; + } + + if ( empty( $buttons ) ) { + $buttons = array( __( 'Disabled', 'wordpress-seo' ), __( 'Enabled', 'wordpress-seo' ) ); + } + + list( $off_button, $on_button ) = $buttons; + + echo '
    '; + } + + /** + * Create a Text input field. + * + * @since 2.0 + * @since 2.1 Introduced the `$attr` parameter. + * + * @param string $var The variable within the option to create the text input field for. + * @param string $label The label to show for the variable. + * @param array|string $attr Extra class to add to the input field. + */ + public function textinput( $var, $label, $attr = array() ) { + if ( ! is_array( $attr ) ) { + $attr = array( + 'class' => $attr, + ); + } + $attr = wp_parse_args( $attr, array( + 'placeholder' => '', + 'class' => '', + ) ); + $val = ( isset( $this->options[ $var ] ) ) ? $this->options[ $var ] : ''; + + $this->label( + $label . ':', + array( + 'for' => $var, + 'class' => 'textinput', + ) + ); + echo '', '
    '; + } + + /** + * Create a textarea. + * + * @since 2.0 + * + * @param string $var The variable within the option to create the textarea for. + * @param string $label The label to show for the variable. + * @param array $attr The CSS class to assign to the textarea. + */ + public function textarea( $var, $label, $attr = array() ) { + if ( ! is_array( $attr ) ) { + $attr = array( + 'class' => $attr, + ); + } + $attr = wp_parse_args( $attr, array( + 'cols' => '', + 'rows' => '', + 'class' => '', + ) ); + $val = ( isset( $this->options[ $var ] ) ) ? $this->options[ $var ] : ''; + + $this->label( + $label . ':', + array( + 'for' => $var, + 'class' => 'textinput', + ) + ); + echo '
    '; + } + + /** + * Create a hidden input field. + * + * @since 2.0 + * + * @param string $var The variable within the option to create the hidden input for. + * @param string $id The ID of the element. + */ + public function hidden( $var, $id = '' ) { + $val = ( isset( $this->options[ $var ] ) ) ? $this->options[ $var ] : ''; + if ( is_bool( $val ) ) { + $val = ( $val === true ) ? 'true' : 'false'; + } + + if ( '' === $id ) { + $id = 'hidden_' . $var; + } + + echo ''; + } + + /** + * Create a Select Box. + * + * @since 2.0 + * + * @param string $field_name The variable within the option to create the select for. + * @param string $label The label to show for the variable. + * @param array $select_options The select options to choose from. + */ + public function select( $field_name, $label, array $select_options ) { + + if ( empty( $select_options ) ) { + return; + } + + $this->label( + $label . ':', + array( + 'for' => $field_name, + 'class' => 'select', + ) + ); + + $select_name = esc_attr( $this->option_name ) . '[' . esc_attr( $field_name ) . ']'; + $active_option = ( isset( $this->options[ $field_name ] ) ) ? $this->options[ $field_name ] : ''; + + $select = new Yoast_Input_Select( $field_name, $select_name, $select_options, $active_option ); + $select->add_attribute( 'class', 'select' ); + $select->output_html(); + + echo '
    '; + } + + /** + * Create a File upload field. + * + * @since 2.0 + * + * @param string $var The variable within the option to create the file upload field for. + * @param string $label The label to show for the variable. + */ + public function file_upload( $var, $label ) { + $val = ''; + if ( isset( $this->options[ $var ] ) && is_array( $this->options[ $var ] ) ) { + $val = $this->options[ $var ]['url']; + } + + $var_esc = esc_attr( $var ); + $this->label( + $label . ':', + array( + 'for' => $var, + 'class' => 'select', + ) + ); + echo ''; + + // Need to save separate array items in hidden inputs, because empty file inputs type will be deleted by settings API. + if ( ! empty( $this->options[ $var ] ) ) { + $this->hidden( 'file', $this->option_name . '_file' ); + $this->hidden( 'url', $this->option_name . '_url' ); + $this->hidden( 'type', $this->option_name . '_type' ); + } + echo '
    '; + } + + /** + * Media input + * + * @since 2.0 + * + * @param string $var Option name. + * @param string $label Label message. + */ + public function media_input( $var, $label ) { + $val = ''; + if ( isset( $this->options[ $var ] ) ) { + $val = $this->options[ $var ]; + } + + $var_esc = esc_attr( $var ); + + $this->label( + $label . ':', + array( + 'for' => 'wpseo_' . $var, + 'class' => 'select', + ) + ); + echo ''; + echo ''; + echo '
    '; + } + + /** + * Create a Radio input field. + * + * @since 2.0 + * + * @param string $var The variable within the option to create the radio button for. + * @param array $values The radio options to choose from. + * @param string $legend Optional. The legend to show for the field set, if any. + * @param array $legend_attr Optional. The attributes for the legend, if any. + */ + public function radio( $var, $values, $legend = '', $legend_attr = array() ) { + if ( ! is_array( $values ) || $values === array() ) { + return; + } + if ( ! isset( $this->options[ $var ] ) ) { + $this->options[ $var ] = false; + } + + $var_esc = esc_attr( $var ); + + echo '
    '; + + if ( is_string( $legend ) && '' !== $legend ) { + + $legend_attr = wp_parse_args( $legend_attr, array( + 'id' => '', + 'class' => 'radiogroup', + ) ); + + $this->legend( $legend, $legend_attr ); + } + + foreach ( $values as $key => $value ) { + $key_esc = esc_attr( $key ); + echo 'options[ $var ], $key_esc, false ) . ' />'; + $this->label( + $value, + array( + 'for' => $var_esc . '-' . $key_esc, + 'class' => 'radio', + ) + ); + } + echo '
    '; + } + + + /** + * Create a toggle switch input field. + * + * @since 3.1 + * + * @param string $var The variable within the option to create the file upload field for. + * @param array $values The radio options to choose from. + * @param string $label The label to show for the variable. + */ + public function toggle_switch( $var, $values, $label ) { + if ( ! is_array( $values ) || $values === array() ) { + return; + } + if ( ! isset( $this->options[ $var ] ) ) { + $this->options[ $var ] = false; + } + if ( $this->options[ $var ] === true ) { + $this->options[ $var ] = 'on'; + } + if ( $this->options[ $var ] === false ) { + $this->options[ $var ] = 'off'; + } + + $var_esc = esc_attr( $var ); + + echo '
    '; + echo '
    ', $label, ' +
    '; + + foreach ( $values as $key => $value ) { + $key_esc = esc_attr( $key ); + $for = $var_esc . '-' . $key_esc; + echo 'options[ $var ], $key_esc, false ) . ' />', + ''; + } + + echo '
    ' . "\n\n"; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-notification-center.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-notification-center.php new file mode 100644 index 00000000..db82d9ba --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-notification-center.php @@ -0,0 +1,610 @@ +retrieve_notifications_from_storage(); + + add_action( 'all_admin_notices', array( $this, 'display_notifications' ) ); + + add_action( 'wp_ajax_yoast_get_notifications', array( $this, 'ajax_get_notifications' ) ); + + add_action( 'wpseo_deactivate', array( $this, 'deactivate_hook' ) ); + add_action( 'shutdown', array( $this, 'update_storage' ) ); + } + + /** + * Singleton getter + * + * @return Yoast_Notification_Center + */ + public static function get() { + + if ( null === self::$instance ) { + self::$instance = new self(); + } + + return self::$instance; + } + + /** + * Dismiss a notification + */ + public static function ajax_dismiss_notification() { + + $notification_center = self::get(); + + $notification_id = filter_input( INPUT_POST, 'notification' ); + if ( empty( $notification_id ) ) { + die( '-1' ); + } + + $notification = $notification_center->get_notification_by_id( $notification_id ); + if ( false === ( $notification instanceof Yoast_Notification ) ) { + + // Permit legacy. + $notification = new Yoast_Notification( '', array( + 'id' => $notification_id, + 'dismissal_key' => $notification_id, + ) ); + } + + if ( $notification_center->maybe_dismiss_notification( $notification ) ) { + die( '1' ); + } + + die( '-1' ); + } + + /** + * Check if the user has dismissed a notification + * + * @param Yoast_Notification $notification The notification to check for dismissal. + * @param null|int $user_id User ID to check on. + * + * @return bool + */ + public static function is_notification_dismissed( Yoast_Notification $notification, $user_id = null ) { + + $user_id = ( ! is_null( $user_id ) ? $user_id : get_current_user_id() ); + $dismissal_key = $notification->get_dismissal_key(); + + $current_value = get_user_meta( $user_id, $dismissal_key, $single = true ); + + return ! empty( $current_value ); + } + + /** + * Check if the nofitication is being dismissed + * + * @param string|Yoast_Notification $notification Notification to check dismissal of. + * @param string $meta_value Value to set the meta value to if dismissed. + * + * @return bool True if dismissed. + */ + public static function maybe_dismiss_notification( Yoast_Notification $notification, $meta_value = 'seen' ) { + + // Only persistent notifications are dismissible. + if ( ! $notification->is_persistent() ) { + return false; + } + + // If notification is already dismissed, we're done. + if ( self::is_notification_dismissed( $notification ) ) { + return true; + } + + $dismissal_key = $notification->get_dismissal_key(); + $notification_id = $notification->get_id(); + + $is_dismissing = ( $dismissal_key === self::get_user_input( 'notification' ) ); + if ( ! $is_dismissing ) { + $is_dismissing = ( $notification_id === self::get_user_input( 'notification' ) ); + } + + // Fallback to ?dismissal_key=1&nonce=bla when JavaScript fails. + if ( ! $is_dismissing ) { + $is_dismissing = ( '1' === self::get_user_input( $dismissal_key ) ); + } + + if ( ! $is_dismissing ) { + return false; + } + + $user_nonce = self::get_user_input( 'nonce' ); + if ( false === wp_verify_nonce( $user_nonce, $notification_id ) ) { + return false; + } + + return self::dismiss_notification( $notification, $meta_value ); + } + + /** + * Clear dismissal information for the specified Notification + * + * When a cause is resolved, the next time it is present we want to show + * the message again. + * + * @param string|Yoast_Notification $notification Notification to clear the dismissal of. + * + * @return bool + */ + public function clear_dismissal( $notification ) { + + if ( $notification instanceof Yoast_Notification ) { + $dismissal_key = $notification->get_dismissal_key(); + } + + if ( is_string( $notification ) ) { + $dismissal_key = $notification; + } + + if ( empty( $dismissal_key ) ) { + return false; + } + + // Remove notification dismissal for all users. + $deleted = delete_metadata( 'user', $user_id = 0, $dismissal_key, $meta_value = '', $delete_all = true ); + + return $deleted; + } + + /** + * Add notification to the cookie + * + * @param Yoast_Notification $notification Notification object instance. + */ + public function add_notification( Yoast_Notification $notification ) { + + // Don't add if the user can't see it. + if ( ! $notification->display_for_current_user() ) { + return; + } + + $notification_id = $notification->get_id(); + + // Empty notifications are always added. + if ( $notification_id !== '' ) { + + // If notification ID exists in notifications, don't add again. + $present_notification = $this->get_notification_by_id( $notification_id ); + if ( ! is_null( $present_notification ) ) { + $this->remove_notification( $present_notification, false ); + } + + if ( is_null( $present_notification ) ) { + $this->new[] = $notification_id; + } + } + + // Add to list. + $this->notifications[] = $notification; + } + + /** + * Get the notification by ID + * + * @param string $notification_id The ID of the notification to search for. + * + * @return null|Yoast_Notification + */ + public function get_notification_by_id( $notification_id ) { + + foreach ( $this->notifications as & $notification ) { + if ( $notification_id === $notification->get_id() ) { + return $notification; + } + } + + return null; + } + + /** + * Display the notifications + * + * @param bool $echo_as_json True when notifications should be printed directly. + * + * @return void + */ + public function display_notifications( $echo_as_json = false ) { + + // Never display notifications for network admin. + if ( function_exists( 'is_network_admin' ) && is_network_admin() ) { + return; + } + + $sorted_notifications = $this->get_sorted_notifications(); + $notifications = array_filter( $sorted_notifications, array( $this, 'is_notification_persistent' ) ); + + if ( empty( $notifications ) ) { + return; + } + + array_walk( $notifications, array( $this, 'remove_notification' ) ); + + if ( $echo_as_json ) { + $notification_json = array(); + foreach ( $notifications as $notification ) { + $notification_json[] = $notification->render(); + } + + echo json_encode( $notification_json, ( JSON_HEX_QUOT | JSON_HEX_TAG ) ); + + return; + } + + foreach ( $notifications as $notification ) { + echo $notification; + } + } + + /** + * Remove notification after it has been displayed + * + * @param Yoast_Notification $notification Notification to remove. + * @param bool $resolve Resolve as fixed. + */ + public function remove_notification( Yoast_Notification $notification, $resolve = true ) { + + $index = false; + + // Match persistent Notifications by ID, non persistent by item in the array. + if ( $notification->is_persistent() ) { + foreach ( $this->notifications as $current_index => $present_notification ) { + if ( $present_notification->get_id() === $notification->get_id() ) { + $index = $current_index; + break; + } + } + } + else { + $index = array_search( $notification, $this->notifications, true ); + } + + if ( false === $index ) { + return; + } + + if ( $notification->is_persistent() && $resolve ) { + $this->resolved++; + $this->clear_dismissal( $notification ); + } + + unset( $this->notifications[ $index ] ); + $this->notifications = array_values( $this->notifications ); + } + + /** + * Get the notification count + * + * @param bool $dismissed Count dismissed notifications. + * + * @return int Number of notifications + */ + public function get_notification_count( $dismissed = false ) { + + $notifications = $this->get_notifications(); + $notifications = array_filter( $notifications, array( $this, 'filter_persistent_notifications' ) ); + + if ( ! $dismissed ) { + $notifications = array_filter( $notifications, array( $this, 'filter_dismissed_notifications' ) ); + } + + return count( $notifications ); + } + + /** + * Get the number of notifications resolved this execution + * + * These notifications have been resolved and should be counted when active again. + * + * @return int + */ + public function get_resolved_notification_count() { + + return $this->resolved; + } + + /** + * Return the notifications sorted on type and priority + * + * @return array|Yoast_Notification[] Sorted Notifications + */ + public function get_sorted_notifications() { + + $notifications = $this->get_notifications(); + if ( empty( $notifications ) ) { + return array(); + } + + // Sort by severity, error first. + usort( $notifications, array( $this, 'sort_notifications' ) ); + + return $notifications; + } + + /** + * AJAX display notifications + */ + public function ajax_get_notifications() { + $echo = filter_input( INPUT_POST, 'version' ) === '2'; + + // Display the notices. + $this->display_notifications( $echo ); + + // AJAX die. + exit; + } + + /** + * Remove storage when the plugin is deactivated + */ + public function deactivate_hook() { + + $this->clear_notifications(); + } + + /** + * Save persistent notifications to storage + * + * We need to be able to retrieve these so they can be dismissed at any time during the execution. + * + * @since 3.2 + * + * @return void + */ + public function update_storage() { + + $notifications = $this->get_notifications(); + + /** + * Filter: 'yoast_notifications_before_storage' - Allows developer to filter notifications before saving them. + * + * @api Yoast_Notification[] $notifications + */ + $notifications = apply_filters( 'yoast_notifications_before_storage', $notifications ); + + // No notifications to store, clear storage. + if ( empty( $notifications ) ) { + $this->remove_storage(); + + return; + } + + $notifications = array_map( array( $this, 'notification_to_array' ), $notifications ); + + // Save the notifications to the storage. + update_user_option( get_current_user_id(), self::STORAGE_KEY, $notifications ); + } + + /** + * Provide a way to verify present notifications + * + * @return array|Yoast_Notification[] Registered notifications. + */ + public function get_notifications() { + + return $this->notifications; + } + + /** + * Get newly added notifications + * + * @return array + */ + public function get_new_notifications() { + + return array_map( array( $this, 'get_notification_by_id' ), $this->new ); + } + + /** + * Get information from the User input + * + * @param string $key Key to retrieve. + * + * @return mixed value of key if set. + */ + private static function get_user_input( $key ) { + + $filter_input_type = INPUT_GET; + if ( 'POST' === strtoupper( $_SERVER['REQUEST_METHOD'] ) ) { + $filter_input_type = INPUT_POST; + } + + return filter_input( $filter_input_type, $key ); + } + + /** + * Retrieve the notifications from storage + * + * @return array Yoast_Notification[] Notifications + */ + private function retrieve_notifications_from_storage() { + + $stored_notifications = get_user_option( self::STORAGE_KEY, get_current_user_id() ); + + // Check if notifications are stored. + if ( empty( $stored_notifications ) ) { + return; + } + + if ( is_array( $stored_notifications ) ) { + $notifications = array_map( array( $this, 'array_to_notification' ), $stored_notifications ); + // Apply array_values to ensure we get a 0-indexed array. + $notifications = array_values( array_filter( $notifications, array( $this, 'filter_notification_current_user' ) ) ); + + $this->notifications = $notifications; + } + } + + /** + * Sort on type then priority + * + * @param Yoast_Notification $a Compare with B. + * @param Yoast_Notification $b Compare with A. + * + * @return int 1, 0 or -1 for sorting offset. + */ + private function sort_notifications( Yoast_Notification $a, Yoast_Notification $b ) { + + $a_type = $a->get_type(); + $b_type = $b->get_type(); + + if ( $a_type === $b_type ) { + return WPSEO_Utils::calc( $b->get_priority(), 'compare', $a->get_priority() ); + } + + if ( 'error' === $a_type ) { + return -1; + } + + if ( 'error' === $b_type ) { + return 1; + } + + return 0; + } + + /** + * Dismiss the notification + * + * @param Yoast_Notification $notification Notification to dismiss. + * @param string $meta_value Value to save in the dismissal. + * + * @return bool + */ + private static function dismiss_notification( Yoast_Notification $notification, $meta_value = 'seen' ) { + // Dismiss notification. + return ( false !== update_user_meta( get_current_user_id(), $notification->get_dismissal_key(), $meta_value ) ); + } + + /** + * Remove all notifications from storage + */ + private function remove_storage() { + + delete_user_option( get_current_user_id(), self::STORAGE_KEY ); + } + + /** + * Clear local stored notifications + */ + private function clear_notifications() { + + $this->notifications = array(); + } + + /** + * Filter out non-persistent notifications. + * + * @param Yoast_Notification $notification Notification to test for persistent. + * + * @since 3.2 + * + * @return bool + */ + private function filter_persistent_notifications( Yoast_Notification $notification ) { + + return $notification->is_persistent(); + } + + /** + * Filter out dismissed notifications + * + * @param Yoast_Notification $notification Notification to check. + * + * @return bool + */ + private function filter_dismissed_notifications( Yoast_Notification $notification ) { + + return ! $this->maybe_dismiss_notification( $notification ); + } + + /** + * Convert Notification to array representation + * + * @param Yoast_Notification $notification Notification to convert. + * + * @since 3.2 + * + * @return array + */ + private function notification_to_array( Yoast_Notification $notification ) { + + return $notification->to_array(); + } + + /** + * Convert stored array to Notification. + * + * @param array $notification_data Array to convert to Notification. + * + * @return Yoast_Notification + */ + private function array_to_notification( $notification_data ) { + + return new Yoast_Notification( + $notification_data['message'], + $notification_data['options'] + ); + } + + /** + * Filter notifications that should not be displayed for the current user + * + * @param Yoast_Notification $notification Notification to test. + * + * @return bool + */ + private function filter_notification_current_user( Yoast_Notification $notification ) { + return $notification->display_for_current_user(); + } + + /** + * Checks if given notification is persistent. + * + * @param Yoast_Notification $notification The notification to check. + * + * @return bool True when notification is not persistent. + */ + private function is_notification_persistent( Yoast_Notification $notification ) { + return ! $notification->is_persistent(); + } + + /** + * Write the notifications to a cookie (hooked on shutdown) + * + * Function renamed to 'update_storage'. + * + * @deprecated 3.2 remove in 3.5 + * @codeCoverageIgnore + */ + public function set_transient() { + _deprecated_function( __METHOD__, 'WPSEO 3.2' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-notification.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-notification.php new file mode 100644 index 00000000..79335d0a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-notification.php @@ -0,0 +1,312 @@ + self::UPDATED, + 'id' => '', + 'nonce' => null, + 'priority' => 0.5, + 'data_json' => array(), + 'dismissal_key' => null, + 'capabilities' => array(), + 'capability_check' => self::MATCH_ALL, + ); + + /** + * Notification class constructor. + * + * @param string $message Message string. + * @param array $options Set of options. + */ + public function __construct( $message, $options = array() ) { + $this->message = $message; + $this->options = $this->normalize_options( $options ); + } + + /** + * Retrieve notification ID string. + * + * @return string + */ + public function get_id() { + return $this->options['id']; + } + + /** + * Retrieve nonce identifier. + * + * @return null|string Nonce for this Notification. + */ + public function get_nonce() { + if ( $this->options['id'] && empty( $this->options['nonce'] ) ) { + $this->options['nonce'] = wp_create_nonce( $this->options['id'] ); + } + + return $this->options['nonce']; + } + + /** + * Make sure the nonce is up to date + */ + public function refresh_nonce() { + if ( $this->options['id'] ) { + $this->options['nonce'] = wp_create_nonce( $this->options['id'] ); + } + } + + /** + * Get the type of the notification + * + * @return string + */ + public function get_type() { + return $this->options['type']; + } + + /** + * Priority of the notification + * + * Relative to the type. + * + * @return float Returns the priority between 0 and 1. + */ + public function get_priority() { + return $this->options['priority']; + } + + /** + * Get the User Meta key to check for dismissal of notification + * + * @return string User Meta Option key that registers dismissal. + */ + public function get_dismissal_key() { + if ( empty( $this->options['dismissal_key'] ) ) { + return $this->options['id']; + } + + return $this->options['dismissal_key']; + } + + /** + * Is this Notification persistent + * + * @return bool True if persistent, False if fire and forget. + */ + public function is_persistent() { + $id = $this->get_id(); + + return ! empty( $id ); + } + + /** + * Check if the notification is relevant for the current user + * + * @return bool True if a user needs to see this Notification, False if not. + */ + public function display_for_current_user() { + // If the notification is for the current page only, always show. + if ( ! $this->is_persistent() ) { + return true; + } + + // If the current user doesn't match capabilities. + return $this->match_capabilities(); + } + + /** + * Does the current user match required capabilities + * + * @return bool + */ + public function match_capabilities() { + // Super Admin can do anything. + if ( is_multisite() && is_super_admin() ) { + return true; + } + + /** + * Filter capabilities that enable the displaying of this notification. + * + * @since 3.2 + * + * @param array $capabilities The capabilities that must be present for this Notification. + * @param Yoast_Notification $notification The notification object. + * + * @return array of capabilities or empty for no restrictions. + */ + $capabilities = apply_filters( 'wpseo_notification_capabilities', $this->options['capabilities'], $this ); + + // Should be an array. + if ( ! is_array( $capabilities ) ) { + $capabilities = (array) $capabilities; + } + + /** + * Filter capability check to enable all or any capabilities. + * + * @since 3.2 + * + * @param string $capability_check The type of check that will be used to determine if an capability is present. + * @param Yoast_Notification $notification The notification object. + * + * @return string self::MATCH_ALL or self::MATCH_ANY. + */ + $capability_check = apply_filters( 'wpseo_notification_capability_check', $this->options['capability_check'], $this ); + + if ( ! in_array( $capability_check, array( self::MATCH_ALL, self::MATCH_ANY ), true ) ) { + $capability_check = self::MATCH_ALL; + } + + if ( ! empty( $capabilities ) ) { + + $has_capabilities = array_filter( $capabilities, array( $this, 'has_capability' ) ); + + switch ( $capability_check ) { + case self::MATCH_ALL: + return $has_capabilities === $capabilities; + case self::MATCH_ANY: + return ! empty( $has_capabilities ); + } + } + + return true; + } + + /** + * Array filter function to find matched capabilities + * + * @param string $capability Capability to test. + * + * @return bool + */ + private function has_capability( $capability ) { + return current_user_can( $capability ); + } + + /** + * Return the object properties as an array + * + * @return array + */ + public function to_array() { + return array( + 'message' => $this->message, + 'options' => $this->options, + ); + } + + /** + * Adds string (view) behaviour to the Notification + * + * @return string + */ + public function __toString() { + return $this->render(); + } + + /** + * Renders the notification as a string. + * + * @return string The rendered notification. + */ + public function render() { + $attributes = array(); + + // Default notification classes. + $classes = array( + 'yoast-alert', + ); + + // Maintain WordPress visualisation of alerts when they are not persistent. + if ( ! $this->is_persistent() ) { + $classes[] = 'notice'; + $classes[] = $this->get_type(); + } + + if ( ! empty( $classes ) ) { + $attributes['class'] = implode( ' ', $classes ); + } + + // Combined attribute key and value into a string. + array_walk( $attributes, array( $this, 'parse_attributes' ) ); + + // Build the output DIV. + return '
    ' . wpautop( $this->message ) . '
    ' . PHP_EOL; + } + + /** + * Get the JSON if provided + * + * @return false|string + */ + public function get_json() { + if ( empty( $this->options['data_json'] ) ) { + return ''; + } + + return wp_json_encode( $this->options['data_json'] ); + } + + /** + * Make sure we only have values that we can work with + * + * @param array $options Options to normalize. + * + * @return array + */ + private function normalize_options( $options ) { + $options = wp_parse_args( $options, $this->defaults ); + + // Should not exceed 0 or 1. + $options['priority'] = min( 1, max( 0, $options['priority'] ) ); + + // Set default capabilities when not supplied. + if ( empty( $options['capabilities'] ) || array() === $options['capabilities'] ) { + $options['capabilities'] = array( 'wpseo_manage_options' ); + } + + return $options; + } + + /** + * Format HTML element attributes + * + * @param string $value Attribute value. + * @param string $key Attribute name. + */ + private function parse_attributes( & $value, $key ) { + $value = sprintf( '%s="%s"', $key, esc_attr( $value ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-plugin-conflict.php b/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-plugin-conflict.php new file mode 100644 index 00000000..2b26ae9d --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/class-yoast-plugin-conflict.php @@ -0,0 +1,333 @@ +plugins the active plugins will be stored in this + * property + * + * @var array + */ + protected $active_plugins = array(); + + /** + * Property for holding instance of itself + * + * @var Yoast_Plugin_Conflict + */ + protected static $instance; + + /** + * For the use of singleton pattern. Create instance of itself and return his instance + * + * @param string $class_name Give the classname to initialize. If classname is false (empty) it will use it's own __CLASS__. + * + * @return Yoast_Plugin_Conflict + */ + public static function get_instance( $class_name = '' ) { + + if ( is_null( self::$instance ) ) { + if ( ! is_string( $class_name ) || $class_name === '' ) { + $class_name = __CLASS__; + } + + self::$instance = new $class_name(); + } + + return self::$instance; + } + + /** + * Setting instance, all active plugins and search for active plugins + * + * Protected constructor to prevent creating a new instance of the + * *Singleton* via the `new` operator from outside of this class. + */ + protected function __construct() { + // Set active plugins. + $this->all_active_plugins = get_option( 'active_plugins' ); + + if ( filter_input( INPUT_GET, 'action' ) === 'deactivate' ) { + $this->remove_deactivated_plugin(); + } + + // Search for active plugins. + $this->search_active_plugins(); + } + + /** + * Check if there are conflicting plugins for given $plugin_section + * + * @param string $plugin_section Type of plugin conflict (such as Open Graph or sitemap). + * + * @return bool + */ + public function check_for_conflicts( $plugin_section ) { + + static $sections_checked; + + if ( $sections_checked === null ) { + $sections_checked = array(); + } + + if ( ! in_array( $plugin_section, $sections_checked ) ) { + $sections_checked[] = $plugin_section; + $has_conflicts = ( ! empty( $this->active_plugins[ $plugin_section ] ) ); + + return $has_conflicts; + } + + return false; + } + + /** + * Getting all the conflicting plugins and return them as a string. + * + * This method will loop through all conflicting plugins to get the details of each plugin. The plugin name + * will be taken from the details to parse a comma separated string, which can be use for by example a notice + * + * @param string $plugin_section Plugin conflict type (such as Open Graph or sitemap). + * + * @return string + */ + public function get_conflicting_plugins_as_string( $plugin_section ) { + if ( ! function_exists( 'get_plugin_data' ) ) { + require_once ABSPATH . 'wp-admin/includes/plugin.php'; + } + + // Getting the active plugins by given section. + $plugins = $this->active_plugins[ $plugin_section ]; + + $plugin_names = array(); + foreach ( $plugins as $plugin ) { + if ( $name = WPSEO_Utils::get_plugin_name( $plugin ) ) { + $plugin_names[] = '' . $name . ''; + } + } + unset( $plugins, $plugin ); + + if ( ! empty( $plugin_names ) ) { + return implode( ' & ', $plugin_names ); + } + } + + /** + * Checks for given $plugin_sections for conflicts + * + * @param array $plugin_sections Set of sections. + */ + public function check_plugin_conflicts( $plugin_sections ) { + foreach ( $plugin_sections as $plugin_section => $readable_plugin_section ) { + // Check for conflicting plugins and show error if there are conflicts. + if ( $this->check_for_conflicts( $plugin_section ) ) { + $this->set_error( $plugin_section, $readable_plugin_section ); + } + } + + // List of all active sections. + $sections = array_keys( $plugin_sections ); + // List of all sections. + $all_plugin_sections = array_keys( $this->plugins ); + + /* + * Get all sections that are inactive. + * These plugins need to be cleared. + * + * This happens when Sitemaps or OpenGraph implementations toggle active/disabled. + */ + $inactive_sections = array_diff( $all_plugin_sections, $sections ); + if ( ! empty( $inactive_sections ) ) { + foreach ( $inactive_sections as $section ) { + array_walk( $this->plugins[ $section ], array( $this, 'clear_error' ) ); + } + } + + // For active sections clear errors for inactive plugins. + foreach ( $sections as $section ) { + // By default clear errors for all plugins of the section. + $inactive_plugins = $this->plugins[ $section ]; + + // If there are active plugins, filter them from being cleared. + if ( isset( $this->active_plugins[ $section ] ) ) { + $inactive_plugins = array_diff( $this->plugins[ $section ], $this->active_plugins[ $section ] ); + } + + array_walk( $inactive_plugins, array( $this, 'clear_error' ) ); + } + } + + /** + * Setting an error on the screen + * + * @param string $plugin_section Type of conflict group (such as Open Graph or sitemap). + * @param string $readable_plugin_section This is the value for the translation. + */ + protected function set_error( $plugin_section, $readable_plugin_section ) { + + $notification_center = Yoast_Notification_Center::get(); + + foreach ( $this->active_plugins[ $plugin_section ] as $plugin_file ) { + + $plugin_name = WPSEO_Utils::get_plugin_name( $plugin_file ); + + $error_message = ''; + /* translators: %1$s: 'Facebook & Open Graph' plugin name(s) of possibly conflicting plugin(s), %2$s to Yoast SEO */ + $error_message .= '

    ' . sprintf( __( 'The %1$s plugin might cause issues when used in conjunction with %2$s.', 'wordpress-seo' ), '' . $plugin_name . '', 'Yoast SEO' ) . '

    '; + $error_message .= '

    ' . sprintf( $readable_plugin_section, 'Yoast SEO', $plugin_name ) . '

    '; + + /* translators: %s: 'Facebook' plugin name of possibly conflicting plugin */ + $error_message .= '' . sprintf( __( 'Deactivate %s', 'wordpress-seo' ), WPSEO_Utils::get_plugin_name( $plugin_file ) ) . ' '; + + $identifier = $this->get_notification_identifier( $plugin_file ); + + // Add the message to the notifications center. + $notification_center->add_notification( + new Yoast_Notification( + $error_message, + array( + 'type' => Yoast_Notification::ERROR, + 'id' => 'wpseo-conflict-' . $identifier, + ) + ) + ); + } + } + + /** + * Clear the notification for a plugin + * + * @param string $plugin_file Clear the optional notification for this plugin. + */ + protected function clear_error( $plugin_file ) { + $identifier = $this->get_notification_identifier( $plugin_file ); + + $notification_center = Yoast_Notification_Center::get(); + $notification = $notification_center->get_notification_by_id( 'wpseo-conflict-' . $identifier ); + + if ( $notification ) { + $notification_center->remove_notification( $notification ); + } + } + + /** + * Loop through the $this->plugins to check if one of the plugins is active. + * + * This method will store the active plugins in $this->active_plugins. + */ + protected function search_active_plugins() { + foreach ( $this->plugins as $plugin_section => $plugins ) { + $this->check_plugins_active( $plugins, $plugin_section ); + } + } + + /** + * Loop through plugins and check if each plugin is active + * + * @param array $plugins Set of plugins. + * @param string $plugin_section Type of conflict group (such as Open Graph or sitemap). + */ + protected function check_plugins_active( $plugins, $plugin_section ) { + foreach ( $plugins as $plugin ) { + if ( $this->check_plugin_is_active( $plugin ) ) { + $this->add_active_plugin( $plugin_section, $plugin ); + } + } + } + + + /** + * Check if given plugin exists in array with all_active_plugins + * + * @param string $plugin Plugin basename string. + * + * @return bool + */ + protected function check_plugin_is_active( $plugin ) { + return in_array( $plugin, $this->all_active_plugins ); + } + + /** + * Add plugin to the list of active plugins. + * + * This method will check first if key $plugin_section exists, if not it will create an empty array + * If $plugin itself doesn't exist it will be added. + * + * @param string $plugin_section Type of conflict group (such as Open Graph or sitemap). + * @param string $plugin Plugin basename string. + */ + protected function add_active_plugin( $plugin_section, $plugin ) { + + if ( ! array_key_exists( $plugin_section, $this->active_plugins ) ) { + $this->active_plugins[ $plugin_section ] = array(); + } + + if ( ! in_array( $plugin, $this->active_plugins[ $plugin_section ] ) ) { + $this->active_plugins[ $plugin_section ][] = $plugin; + } + } + + /** + * Search in $this->plugins for the given $plugin + * + * If there is a result it will return the plugin category + * + * @param string $plugin Plugin basename string. + * + * @return int|string + */ + protected function find_plugin_category( $plugin ) { + + foreach ( $this->plugins as $plugin_section => $plugins ) { + if ( in_array( $plugin, $plugins ) ) { + return $plugin_section; + } + } + + } + + /** + * When being in the deactivation process the currently deactivated plugin has to be removed. + */ + private function remove_deactivated_plugin() { + $deactivated_plugin = filter_input( INPUT_GET, 'plugin' ); + $key_to_remove = array_search( $deactivated_plugin, $this->all_active_plugins ); + + if ( $key_to_remove !== false ) { + unset( $this->all_active_plugins[ $key_to_remove ] ); + } + } + + /** + * Get the identifier from the plugin file + * + * @param string $plugin_file Plugin file to get Identifier from. + * + * @return string + */ + private function get_notification_identifier( $plugin_file ) { + return md5( $plugin_file ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-components.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-components.php new file mode 100644 index 00000000..cab3aeb0 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-components.php @@ -0,0 +1,71 @@ +add_component( new WPSEO_Config_Component_Connect_Google_Search_Console() ); + $this->add_component( new WPSEO_Config_Component_Mailchimp_Signup() ); + $this->add_component( new WPSEO_Config_Component_Configuration_Choices() ); + $this->add_component( new WPSEO_Config_Component_Suggestions() ); + } + + /** + * Add a component + * + * @param WPSEO_Config_Component $component Component to add. + */ + public function add_component( WPSEO_Config_Component $component ) { + $this->components[] = $component; + } + + /** + * Sets the storage to use. + * + * @param WPSEO_Configuration_Storage $storage Storage to use. + */ + public function set_storage( WPSEO_Configuration_Storage $storage ) { + $this->set_adapter( $storage->get_adapter() ); + + foreach ( $this->components as $component ) { + $storage->add_field( $component->get_field() ); + } + } + + /** + * Sets the adapter to use. + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to use. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $this->adapter = $adapter; + + foreach ( $this->components as $component ) { + $adapter->add_custom_lookup( + $component->get_field()->get_identifier(), + array( + $component, + 'get_data', + ), + array( + $component, + 'set_data', + ) + ); + } + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-endpoint.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-endpoint.php new file mode 100644 index 00000000..643e8620 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-endpoint.php @@ -0,0 +1,78 @@ +service = $service; + } + + /** + * Register REST routes. + */ + public function register() { + // Register fetch config. + register_rest_route( self::REST_NAMESPACE, self::ENDPOINT_RETRIEVE, array( + 'methods' => 'GET', + 'callback' => array( + $this->service, + 'get_configuration', + ), + 'permission_callback' => array( + $this, + 'can_retrieve_data', + ), + ) ); + + // Register save changes. + register_rest_route( self::REST_NAMESPACE, self::ENDPOINT_STORE, array( + 'methods' => 'POST', + 'callback' => array( + $this->service, + 'set_configuration', + ), + 'permission_callback' => array( + $this, + 'can_save_data', + ), + ) ); + } + + /** + * Permission callback implementation + * + * @return bool + */ + public function can_retrieve_data() { + return current_user_can( self::CAPABILITY_RETRIEVE ); + } + + /** + * Permission callback implementation + * + * @return bool + */ + public function can_save_data() { + return current_user_can( self::CAPABILITY_STORE ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-options-adapter.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-options-adapter.php new file mode 100644 index 00000000..8e0242b2 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-options-adapter.php @@ -0,0 +1,194 @@ +add_lookup( $class_name, self::OPTION_TYPE_WORDPRESS, $option ); + } + + /** + * Add a lookup for a Yoast option + * + * @param string $class_name Class to bind to the lookup. + * @param string $option Option group to use. + * @param string $key Key in the option group to bind to. + * + * @throws InvalidArgumentException Thrown when invalid input is provided. + */ + public function add_yoast_lookup( $class_name, $option, $key ) { + + $test = WPSEO_Options::get_option( $option ); + if ( is_null( $test ) ) { + /* translators: %1$s resolves to the option name passed to the lookup registration */ + throw new InvalidArgumentException( sprintf( __( 'Yoast option %1$s not found.', 'wordpress-seo' ), $option ) ); + } + + $this->add_lookup( $class_name, self::OPTION_TYPE_YOAST, array( + $option, + $key, + ) ); + } + + /** + * Add a lookup for a custom implementation + * + * @param string $class_name Class to bind to the lookup. + * @param callable $callback_get Callback to retrieve data. + * @param callable $callback_set Callback to save data. + * + * @throws InvalidArgumentException Thrown when invalid input is provided. + */ + public function add_custom_lookup( $class_name, $callback_get, $callback_set ) { + + if ( ! is_callable( $callback_get ) || ! is_callable( $callback_set ) ) { + throw new InvalidArgumentException( 'Custom option must be callable.' ); + } + + $this->add_lookup( $class_name, self::OPTION_TYPE_CUSTOM, array( + $callback_get, + $callback_set, + ) ); + } + + /** + * Add a field lookup. + * + * @param string $class_name Class to add lookup for. + * @param string $type Type of lookup. + * @param string|array $option Implementation of the lookup. + * + * @throws Exception Thrown when invalid input is provided. + */ + protected function add_lookup( $class_name, $type, $option ) { + $this->lookup[ $class_name ] = array( + 'type' => $type, + 'option' => $option, + ); + } + + /** + * Get the data for the provided field + * + * @param WPSEO_Config_Field $field Field to get data for. + * + * @return mixed + */ + public function get( WPSEO_Config_Field $field ) { + $identifier = $field->get_identifier(); + + // Lookup option and retrieve value. + $type = $this->get_option_type( $identifier ); + $option = $this->get_option( $identifier ); + + switch ( $type ) { + case self::OPTION_TYPE_WORDPRESS: + return get_option( $option ); + + case self::OPTION_TYPE_YOAST: + $group = WPSEO_Options::get_option( $option[0] ); + + return $group[ $option[1] ]; + + case self::OPTION_TYPE_CUSTOM: + return call_user_func( $option[0] ); + } + + return null; + } + + /** + * Save data from a field + * + * @param WPSEO_Config_Field $field Field to use for lookup. + * @param mixed $value Value to save to the lookup of the field. + * + * @return bool + */ + public function set( WPSEO_Config_Field $field, $value ) { + $identifier = $field->get_identifier(); + + // Lookup option and retrieve value. + $type = $this->get_option_type( $identifier ); + $option = $this->get_option( $identifier ); + + switch ( $type ) { + case self::OPTION_TYPE_WORDPRESS: + return update_option( $option, $value ); + + case self::OPTION_TYPE_YOAST: + $group = WPSEO_Options::get_option( $option[0] ); + + $group[ $option[1] ] = $value; + update_option( $option[0], $group ); + + $saved = WPSEO_Options::get_option( $option[0] ); + + return $saved[ $option[1] ] === $value; + + case self::OPTION_TYPE_CUSTOM: + return call_user_func( $option[1], $value ); + } + + return false; + } + + /** + * Get the lookup type for a specific class + * + * @param string $class_name Class to get the type of. + * + * @return null|string + */ + protected function get_option_type( $class_name ) { + if ( ! isset( $this->lookup[ $class_name ] ) ) { + return null; + } + + return $this->lookup[ $class_name ]['type']; + } + + /** + * Get the option for a specific class + * + * @param string $class_name Class to get the option of. + * + * @return null|string|array + */ + protected function get_option( $class_name ) { + if ( ! isset( $this->lookup[ $class_name ] ) ) { + return null; + } + + return $this->lookup[ $class_name ]['option']; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-page.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-page.php new file mode 100644 index 00000000..c60ddfa1 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-page.php @@ -0,0 +1,280 @@ +is_config_page() && current_user_can( WPSEO_Configuration_Endpoint::CAPABILITY_RETRIEVE ) ) ) { + return; + } + + if ( $this->should_add_notification() ) { + $this->add_notification(); + } + + // Register the page for the wizard. + add_action( 'admin_menu', array( $this, 'add_wizard_page' ) ); + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_assets' ) ); + add_action( 'admin_init', array( $this, 'render_wizard_page' ) ); + } + + /** + * Check if the configuration is finished. If so, just remove the notification. + */ + public function catch_configuration_request() { + $configuration_page = filter_input( INPUT_GET, 'configuration' ); + $page = filter_input( INPUT_GET, 'page' ); + + if ( ! ( $configuration_page === 'finished' && ( $page === WPSEO_Admin::PAGE_IDENTIFIER ) ) ) { + return; + } + + $this->remove_notification(); + $this->remove_notification_option(); + + wp_redirect( admin_url( 'admin.php?page=' . WPSEO_Admin::PAGE_IDENTIFIER ) ); + exit; + } + + + /** + * Registers the page for the wizard. + */ + public function add_wizard_page() { + add_dashboard_page( '', '', 'wpseo_manage_options', self::PAGE_IDENTIFIER, '' ); + } + + /** + * Renders the wizard page and exits to prevent the wordpress UI from loading. + */ + public function render_wizard_page() { + $this->show_wizard(); + exit; + } + + /** + * Enqueues the assets needed for the wizard. + */ + public function enqueue_assets() { + wp_enqueue_media(); + + /* + * Print the `forms.css` WP stylesheet before any Yoast style, this way + * it's easier to override selectors with the same specificity later. + */ + wp_enqueue_style( 'forms' ); + $asset_manager = new WPSEO_Admin_Asset_Manager(); + $asset_manager->register_assets(); + $asset_manager->enqueue_script( 'configuration-wizard' ); + $asset_manager->enqueue_style( 'yoast-components' ); + + $config = $this->get_config(); + + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'configuration-wizard', 'yoastWizardConfig', $config ); + } + + /** + * Setup Wizard Header. + */ + public function show_wizard() { + $this->enqueue_assets(); + $dashboard_url = admin_url( '/admin.php?page=wpseo_dashboard' ); + ?> + + + + > + + + + + <?php + printf( + /* translators: %s expands to Yoast SEO. */ + __( '%s › Configuration Wizard', 'wordpress-seo' ), + 'Yoast SEO' ); + ?> + tag in the Yoast Configuration wizard. + * + * Allows users to add their own scripts or styles. + * + * @since 4.0 + */ + do_action( 'wpseo_configuration_wizard_head' ); + ?> + + +
    + + tag in the Yoast Configuration wizard. + * + * Allows users to add their own scripts. + * + * @since 4.0 + */ + do_action( 'wpseo_configuration_wizard_footer' ); + + wp_print_scripts( 'yoast-seo-configuration-wizard' ); + ?> + + + WPSEO_Configuration_Endpoint::REST_NAMESPACE, + 'endpoint_retrieve' => WPSEO_Configuration_Endpoint::ENDPOINT_RETRIEVE, + 'endpoint_store' => WPSEO_Configuration_Endpoint::ENDPOINT_STORE, + 'nonce' => wp_create_nonce( 'wp_rest' ), + 'root' => esc_url_raw( rest_url() ), + 'ajaxurl' => admin_url( 'admin-ajax.php' ), + 'finishUrl' => admin_url( 'admin.php?page=wpseo_dashboard&configuration=finished' ), + 'gscAuthURL' => $service->get_client()->createAuthUrl(), + 'gscProfiles' => $service->get_sites(), + 'gscNonce' => wp_create_nonce( 'wpseo-gsc-ajax-security' ), + ); + + return $config; + } + + /** + * Checks if the current page is the configuration page. + * + * @return bool + */ + protected function is_config_page() { + return ( filter_input( INPUT_GET, 'page' ) === self::PAGE_IDENTIFIER ); + } + + /** + * Returns the translations necessary for the configuration wizard. + * + * @deprecated 4.9 + * + * @returns array The translations for the configuration wizard. + */ + public function get_translations() { + _deprecated_function( __METHOD__, 'WPSEO 4.9', 'WPSEO_' ); + + $translations = new WPSEO_Configuration_Translations( WPSEO_Utils::get_user_locale() ); + + return $translations->retrieve(); + } + + /** + * Adds a notification to the notification center. + */ + private function add_notification() { + $notification_center = Yoast_Notification_Center::get(); + $notification_center->add_notification( self::get_notification() ); + } + + /** + * Removes the notification from the notification center. + */ + private function remove_notification() { + $notification_center = Yoast_Notification_Center::get(); + $notification_center->remove_notification( self::get_notification() ); + } + + /** + * Gets the notification. + * + * @return Yoast_Notification + */ + private static function get_notification() { + $message = __( 'The configuration wizard helps you to easily configure your site to have the optimal SEO settings.', 'wordpress-seo' ); + $message .= '
    '; + $message .= sprintf( + /* translators: %1$s resolves to Yoast SEO, %2$s resolves to the starting tag of the link to the wizard, %3$s resolves to the closing link tag */ + __( 'We have detected that you have not finished this wizard yet, so we recommend you to %2$sstart the configuration wizard to configure %1$s%3$s.', 'wordpress-seo' ), + 'Yoast SEO', + '', + '' + ); + + $notification = new Yoast_Notification( + $message, + array( + 'type' => Yoast_Notification::WARNING, + 'id' => 'wpseo-dismiss-onboarding-notice', + 'capabilities' => 'wpseo_manage_options', + 'priority' => 0.8, + ) + ); + + return $notification; + } + + /** + * When the notice should be shown. + * + * @return bool + */ + private function should_add_notification() { + $options = $this->get_options(); + + return $options['show_onboarding_notice'] === true; + } + + /** + * Remove the options that triggers the notice for the configuration wizard. + */ + private function remove_notification_option() { + $options = $this->get_options(); + + $options['show_onboarding_notice'] = false; + + update_option( 'wpseo', $options ); + } + + /** + * Returns the set options + * + * @return mixed|void + */ + private function get_options() { + return get_option( 'wpseo' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-service.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-service.php new file mode 100644 index 00000000..bf7902c0 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-service.php @@ -0,0 +1,160 @@ +set_default_providers(); + $this->endpoint->register(); + } + + /** + * Set default handlers + */ + public function set_default_providers() { + $this->set_storage( new WPSEO_Configuration_Storage() ); + $this->set_options_adapter( new WPSEO_Configuration_Options_Adapter() ); + $this->set_components( new WPSEO_Configuration_Components() ); + $this->set_endpoint( new WPSEO_Configuration_Endpoint() ); + $this->set_structure( new WPSEO_Configuration_Structure() ); + $this->set_translations( new WPSEO_Configuration_Translations( WPSEO_Utils::get_user_locale() ) ); + } + + /** + * Set storage handler + * + * @param WPSEO_Configuration_Storage $storage Storage handler to use. + */ + public function set_storage( WPSEO_Configuration_Storage $storage ) { + $this->storage = $storage; + } + + /** + * Set endpoint handler + * + * @param WPSEO_Configuration_Endpoint $endpoint Endpoint implementation to use. + */ + public function set_endpoint( WPSEO_Configuration_Endpoint $endpoint ) { + $this->endpoint = $endpoint; + $this->endpoint->set_service( $this ); + } + + /** + * Set the options adapter + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to use. + */ + public function set_options_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $this->adapter = $adapter; + } + + /** + * Set components provider + * + * @param WPSEO_Configuration_Components $components Component provider to use. + */ + public function set_components( WPSEO_Configuration_Components $components ) { + $this->components = $components; + } + + /** + * Set structure provider + * + * @param WPSEO_Configuration_Structure $structure Structure provider to use. + */ + public function set_structure( WPSEO_Configuration_Structure $structure ) { + $this->structure = $structure; + } + + /** + * Sets the translations object. + * + * @param WPSEO_Configuration_Translations $translations The translations object. + */ + public function set_translations( WPSEO_Configuration_Translations $translations ) { + $this->translations = $translations; + } + + /** + * Populate the configuration + */ + protected function populate_configuration() { + // Switch to the user locale with fallback to the site locale. + if ( function_exists( 'switch_to_locale' ) ) { + switch_to_locale( WPSEO_Utils::get_user_locale() ); + } + + // Make sure we have our translations available. + wpseo_load_textdomain(); + + $this->structure->initialize(); + + $this->storage->set_adapter( $this->adapter ); + $this->storage->add_default_fields(); + + $this->components->initialize(); + $this->components->set_storage( $this->storage ); + + // @todo: check if this is really needed, since the switch happens only in the API. + if ( function_exists( 'restore_current_locale' ) ) { + restore_current_locale(); + } + } + + /** + * Used by endpoint to retrieve configuration + * + * @return array List of settings. + */ + public function get_configuration() { + $this->populate_configuration(); + $fields = $this->storage->retrieve(); + $steps = $this->structure->retrieve(); + $translations = $this->translations->retrieve(); + + return array( + 'fields' => $fields, + 'steps' => $steps, + 'translations' => $translations, + ); + } + + /** + * Used by endpoint to store changes + * + * @param WP_REST_Request $request Request from the REST API. + * + * @return array List of feedback per option if saving succeeded. + */ + public function set_configuration( WP_REST_Request $request ) { + $this->populate_configuration(); + + return $this->storage->store( $request->get_json_params() ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-storage.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-storage.php new file mode 100644 index 00000000..90fe1a13 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-storage.php @@ -0,0 +1,198 @@ +get_fields() ); + + foreach ( $fields as $field ) { + $this->add_field( $field ); + } + } + + /** + * Allow for field injections + * + * @param WPSEO_Config_Field $field Field to add to the stack. + */ + public function add_field( WPSEO_Config_Field $field ) { + $this->fields[] = $field; + + if ( isset( $this->adapter ) ) { + $field->set_adapter( $this->adapter ); + } + } + + /** + * Set the adapter to use + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to use. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $this->adapter = $adapter; + + foreach ( $this->fields as $field ) { + $field->set_adapter( $this->adapter ); + } + } + + /** + * Retrieve the current adapter + * + * @return WPSEO_Configuration_Options_Adapter + */ + public function get_adapter() { + return $this->adapter; + } + + /** + * Retrieve the registered fields + * + * @returns array List of settings. + */ + public function retrieve() { + $output = array(); + + /** @var WPSEO_Config_Field $field */ + foreach ( $this->fields as $field ) { + + $build = $field->to_array(); + + $data = $this->get_field_data( $field ); + if ( ! is_null( $data ) ) { + $build['data'] = $data; + } + + $output[ $field->get_identifier() ] = $build; + } + + return $output; + } + + /** + * Save the data + * + * @param array $data_to_store Data provided by the API which needs to be processed for saving. + * + * @return string Results + */ + public function store( $data_to_store ) { + $output = array(); + + /** @var WPSEO_Config_Field $field */ + foreach ( $this->fields as $field ) { + + $field_identifier = $field->get_identifier(); + + if ( ! array_key_exists( $field_identifier, $data_to_store ) ) { + continue; + } + + $field_data = array(); + if ( isset( $data_to_store[ $field_identifier ] ) ) { + $field_data = $data_to_store[ $field_identifier ]; + } + + $result = $this->adapter->set( $field, $field_data ); + + $build = array( + 'result' => $result, + ); + + // Set current data to object to be displayed. + $data = $this->get_field_data( $field ); + if ( ! is_null( $data ) ) { + $build['data'] = $data; + } + + $output[ $field_identifier ] = $build; + } + + return $output; + } + + /** + * Filter out null input values + * + * @param mixed $input Input to test against. + * + * @return bool + */ + protected function is_not_null( $input ) { + return ! is_null( $input ); + } + + /** + * Get data from a specific field + * + * @param WPSEO_Config_Field $field Field to get data for. + * + * @return array|mixed + */ + protected function get_field_data( WPSEO_Config_Field $field ) { + $data = $this->adapter->get( $field ); + + if ( is_array( $data ) ) { + $defaults = $field->get_data(); + + // Remove 'null' values from input. + $data = array_filter( $data, array( $this, 'is_not_null' ) ); + + // Merge defaults with data. + $data = array_merge( $defaults, $data ); + } + + if ( is_null( $data ) ) { + // Get default if no data was set. + $data = $field->get_data(); + + return $data; + } + + return $data; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-structure.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-structure.php new file mode 100644 index 00000000..fe9d111b --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-structure.php @@ -0,0 +1,98 @@ +add_step( 'intro', __( 'Welcome!', 'wordpress-seo' ), array( + 'configurationChoices', + ), false, true ); + + $this->add_step( 'environment_type', __( 'Environment', 'wordpress-seo' ), array( 'environment_type' ) ); + $this->add_step( 'siteType', __( 'Site type', 'wordpress-seo' ), array( 'siteType' ) ); + $this->add_step( 'publishingEntity', __( 'Company or person', 'wordpress-seo' ), array( + 'publishingEntity', + 'publishingEntityType', + 'publishingEntityCompanyName', + 'publishingEntityCompanyLogo', + 'publishingEntityPersonName', + ) ); + $this->add_step( 'profileUrls', __( 'Social profiles', 'wordpress-seo' ), array( + 'socialProfilesIntro', + 'profileUrlFacebook', + 'profileUrlTwitter', + 'profileUrlInstagram', + 'profileUrlLinkedIn', + 'profileUrlMySpace', + 'profileUrlPinterest', + 'profileUrlYouTube', + 'profileUrlGooglePlus', + ) ); + + $fields = array( 'postTypeVisibility' ); + + $post_type_factory = new WPSEO_Config_Factory_Post_Type(); + foreach ( $post_type_factory->get_fields() as $post_type_field ) { + $fields[] = $post_type_field->get_identifier(); + } + $this->add_step( 'postTypeVisibility', __( 'Post type visibility', 'wordpress-seo' ), $fields ); + + $this->add_step( 'multipleAuthors', __( 'Multiple authors', 'wordpress-seo' ), array( 'multipleAuthors' ) ); + $this->add_step( 'connectGoogleSearchConsole', __( 'Google Search Console', 'wordpress-seo' ), array( + 'googleSearchConsoleIntro', + 'connectGoogleSearchConsole', + ) ); + $this->add_step( 'titleTemplate', __( 'Title settings', 'wordpress-seo' ), array( + 'titleIntro', + 'siteName', + 'separator', + ) ); + $this->add_step( 'newsletter', __( 'Newsletter', 'wordpress-seo' ), array( + 'mailchimpSignup', + ), true, true ); + $this->add_step( 'suggestions', __( 'You might like', 'wordpress-seo' ), array( + 'suggestions', + ), true, true ); + $this->add_step( 'success', __( 'Success!', 'wordpress-seo' ), array( + 'successMessage', + ), true, true ); + } + + /** + * Add a step to the structure + * + * @param string $identifier Identifier for this step. + * @param string $title Title to display for this step. + * @param array $fields Fields to use on the step. + * @param bool $navigation Show navigation buttons. + * @param bool $full_width Wheter the step content is full width or not. + */ + protected function add_step( $identifier, $title, $fields, $navigation = true, $full_width = false ) { + $this->steps[ $identifier ] = array( + 'title' => $title, + 'fields' => $fields, + 'hideNavigation' => ! (bool) $navigation, + 'fullWidth' => $full_width, + ); + } + + /** + * Retrieve the registered steps + * + * @return array + */ + public function retrieve() { + return $this->steps; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-translations.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-translations.php new file mode 100644 index 00000000..e892931f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/class-configuration-translations.php @@ -0,0 +1,50 @@ +locale = $locale; + $this->translations = $this->get_translations_from_file(); + } + + /** + * Retrieve the translations + * + * @return array + */ + public function retrieve() { + return $this->translations; + } + + /** + * Retrieves the translations from the JSON-file. + * + * @return array Array with the translations. + */ + protected function get_translations_from_file() { + + $file = plugin_dir_path( WPSEO_FILE ) . 'languages/yoast-components-' . $this->locale . '.json'; + if ( file_exists( $file ) && $file = file_get_contents( $file ) ) { + return json_decode( $file, true ); + } + + return array(); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/components/class-component-configuration-choices.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/components/class-component-configuration-choices.php new file mode 100644 index 00000000..01fbcbec --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/components/class-component-configuration-choices.php @@ -0,0 +1,96 @@ +set_property( 'label', sprintf( + /* translators: %s expands to 'Yoast SEO'. */ + __( 'Please choose the %s configuration of your liking:', 'wordpress-seo' ), 'Yoast SEO' ) + ); + + $field->add_choice( + sprintf( + /* translators: %s expands to 'Yoast SEO'. */ + __( 'Configure %s in a few steps', 'wordpress-seo' ), + 'Yoast SEO' + ), + sprintf( + /* translators: %1$s expands to 'Yoast SEO'. */ + __( 'Welcome to the %1$s configuration wizard. In a few simple steps we\'ll help you configure your SEO settings to match your website\'s needs! %1$s will take care of all the technical optimizations your site needs.', 'wordpress-seo' ), + 'Yoast SEO' + ), + array( + 'type' => 'primary', + 'label' => sprintf( + /* translators: %s expands to 'Yoast SEO'. */ + __( 'Configure %s', 'wordpress-seo' ), 'Yoast SEO' + ), + 'action' => 'nextStep', + ), + plugin_dir_url( WPSEO_FILE ) . '/images/Yoast_SEO_Icon.svg' + ); + $field->add_choice( + sprintf( + /* translators: %s expands to 'Yoast SEO'. */ + __( 'Let us set up %s for you', 'wordpress-seo' ), 'Yoast SEO' + ), + sprintf( + /* translators: %1$s expands to 'Yoast SEO', %2$s expands to 'Yoast SEO Premium'. */ + __( 'While we strive to make setting up %1$s as easy as possible, we understand it can still be daunting. If you would rather have us set up %1$s for you (and get a copy of %2$s in the process), order a %1$s configuration service and sit back while we configure your site.', 'wordpress-seo' ), + 'Yoast SEO', + 'Yoast SEO Premium' + ), + array( + 'type' => 'secondary', + 'label' => __( 'Configuration service', 'wordpress-seo' ), + 'action' => 'followURL', + 'url' => WPSEO_Shortlinker::get( 'https://yoa.st/wizard-configuration-upsell' ), + ), + plugin_dir_url( WPSEO_FILE ) . 'images/yoast-configuration-icon.svg' + ); + + return $field; + } + + /** + * Get the data for the field. + * + * @return array + */ + public function get_data() { + return array(); + } + + /** + * Save data + * + * @param array $data Data containing changes. + * + * @return bool + */ + public function set_data( $data ) { + return true; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/components/class-component-connect-google-search-console.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/components/class-component-connect-google-search-console.php new file mode 100644 index 00000000..b5fa7b04 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/components/class-component-connect-google-search-console.php @@ -0,0 +1,149 @@ +gsc_service = new WPSEO_GSC_Service( $this->get_profile() ); + } + + /** + * Set the Google Search Console service. + * + * @param WPSEO_GSC_Service $service Set service to use. + */ + public function set_gsc_service( WPSEO_GSC_Service $service ) { + $this->gsc_service = $service; + } + + /** + * Gets the component identifier. + * + * @return string + */ + public function get_identifier() { + return 'ConnectGoogleSearchConsole'; + } + + /** + * Gets the field. + * + * @return WPSEO_Config_Field + */ + public function get_field() { + return new WPSEO_Config_Field_Connect_Google_Search_Console(); + } + + /** + * Get the data for the field. + * + * @return mixed + */ + public function get_data() { + + $data = array( + 'profileList' => $this->get_profilelist(), + 'profile' => $this->get_profile(), + 'hasAccessToken' => $this->hasAccessToken(), + ); + + return $data; + } + + /** + * Save data + * + * @param array $data Data containing changes. + * + * @return mixed + */ + public function set_data( $data ) { + + $current_data = $this->get_data(); + + $this->handle_profile_change( $current_data, $data ); + + // Save profile. + $has_saved = update_option( + WPSEO_GSC::OPTION_WPSEO_GSC, + array( 'profile' => $data['profile'] ) + ); + + // Collect results to return to the configurator. + $results = array( + 'profile' => $has_saved, + ); + + return $results; + } + + /** + * Remove issues when the profile has changed + * + * @param array $current_data Saved data before changes. + * @param array $data Data after changes. + */ + protected function handle_profile_change( $current_data, $data ) { + // If the profile has been changed, remove issues. + if ( $current_data['profile'] === $data['profile'] ) { + return; + } + + $this->reload_issues(); + } + + /** + * Get the current GSC profile + * + * @return string + */ + protected function get_profile() { + return WPSEO_GSC_Settings::get_profile(); + } + + /** + * Reload GSC issues + */ + protected function reload_issues() { + WPSEO_GSC_Settings::reload_issues(); + } + + /** + * Gets a list with the profiles. + * + * @return array + */ + protected function get_profilelist() { + $profiles = array(); + $sites = $this->gsc_service->get_sites(); + foreach ( $sites as $site_key => $site_value ) { + $profiles[ untrailingslashit( $site_key ) ] = untrailingslashit( $site_value ); + } + + return $profiles; + } + + /** + * Checks if there is an access token. If so, there is a connection. + * + * @return bool + */ + private function hasAccessToken() { + return ( null !== $this->gsc_service->get_client()->getAccessToken() ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/components/class-component-mailchimp-signup.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/components/class-component-mailchimp-signup.php new file mode 100644 index 00000000..a6ab920f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/components/class-component-mailchimp-signup.php @@ -0,0 +1,79 @@ + $this->has_mailchimp_signup(), + ); + + return $data; + } + + /** + * Save data + * + * @param array $data Data containing changes. + * + * @return mixed + */ + public function set_data( $data ) { + + $has_saved = false; + if ( ! empty( $data['hasSignup'] ) ) { + // Saves the user meta. + update_user_meta( get_current_user_id(), self::META_NAME, true ); + + $has_saved = ( $data['hasSignup'] === $this->has_mailchimp_signup() ); + } + + // Collect results to return to the configurator. + $results = array( + 'hasSignup' => $has_saved, + ); + + return $results; + } + + /** + * Checks if the user has entered his email for mailchimp already. + * + * @return bool + */ + protected function has_mailchimp_signup() { + $user_meta = get_user_meta( get_current_user_id(), self::META_NAME, true ); + + return ( ! empty( $user_meta ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/components/class-component-suggestions.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/components/class-component-suggestions.php new file mode 100644 index 00000000..a963073e --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/components/class-component-suggestions.php @@ -0,0 +1,106 @@ +add_suggestion( + /* translators: %s resolves to Yoast SEO Premium */ + sprintf( __( 'Outrank the competition with %s', 'wordpress-seo' ), 'Yoast SEO Premium' ), + /* translators: %1$s resolves to Yoast SEO Premium */ + sprintf( __( 'Do you want to outrank your competition? %1$s gives you awesome additional features that\'ll help you to set up your SEO strategy like a professional. Use the multiple focus keywords functionality, the redirect manager and our internal linking tool. %1$s will also give you access to premium support.', 'wordpress-seo' ), 'Yoast SEO Premium' ), + array( + 'label' => __( 'Upgrade to Premium', 'wordpress-seo' ), + 'type' => 'primary', + 'url' => WPSEO_Shortlinker::get( 'https://yoa.st/wizard-suggestion-premium' ), + ), + WPSEO_Shortlinker::get( 'https://yoa.st/video-yoast-seo-premium' ) + ); + } + + $field->add_suggestion( + __( 'Learn how to write copy that ranks', 'wordpress-seo' ), + /* translators: %1$s resolves to SEO copywriting training */ + sprintf( __( 'Do you want to learn how to write content that generates traffic? Check out our %1$s. We will help you to write awesome copy that will rank in the search engines. The %1$s covers all the main steps in SEO copywriting: from keyword research to publishing.', 'wordpress-seo' ), 'SEO copywriting training' ), + array( + 'label' => 'SEO copywriting training', + 'type' => 'link', + 'url' => WPSEO_Shortlinker::get( 'https://yoa.st/configuration-wizard-copywrite-course-link' ), + ), + WPSEO_Shortlinker::get( 'https://yoa.st/video-course-copywriting' ) + ); + + $field->add_suggestion( + /* translators: %1$s resolves to Yoast SEO, %2$s resolves to Yoast SEO plugin training */ + sprintf( __( 'Get the most out of %1$s with the %2$s', 'wordpress-seo' ), 'Yoast SEO', 'Yoast SEO plugin training' ), + /* translators: %1$s resolves to Yoast SEO */ + sprintf( __( 'Do you want to know all the ins and outs of the %1$s plugin? Do you want to learn all about our advanced settings? Want to be able to really get the most out of the %1$s plugin? Check out our %1$s plugin training and start outranking the competition!', 'wordpress-seo' ), 'Yoast SEO' ), + array( + 'label' => 'Yoast SEO plugin training', + 'type' => 'link', + 'url' => WPSEO_Shortlinker::get( 'https://yoa.st/wizard-suggestion-plugin-course' ), + ), + WPSEO_Shortlinker::get( 'https://yoa.st/video-plugin-course' ) + ); + + // When we are running in Yoast SEO Premium and don't have Local SEO installed, show Local SEO as suggestion. + if ( WPSEO_Utils::is_yoast_seo_premium() && ! defined( 'WPSEO_LOCAL_FILE' ) ) { + $field->add_suggestion( + sprintf( __( 'Attract more customers near you', 'wordpress-seo' ), 'Yoast SEO', 'Yoast SEO plugin training' ), + /* translators: %1$s resolves to Local SEO */ + sprintf( __( 'If you want to outrank the competition in a specific town or region, check out our %1$s plugin! You’ll be able to easily insert Google maps, opening hours, contact information and a store locator. Besides that %1$s helps you to improve the usability of your contact page.', 'wordpress-seo' ), 'Local SEO' ), + array( + 'label' => 'Local SEO', + 'type' => 'link', + 'url' => WPSEO_Shortlinker::get( 'https://yoa.st/wizard-suggestion-localseo' ), + ), + WPSEO_Shortlinker::get( 'https://yoa.st/video-localseo' ) + ); + } + + return $field; + } + + /** + * Get the data for the field. + * + * @return array + */ + public function get_data() { + return array(); + } + + /** + * Save data + * + * @param array $data Data containing changes. + * + * @return bool + */ + public function set_data( $data ) { + return true; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/components/interface-component.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/components/interface-component.php new file mode 100644 index 00000000..265c24e9 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/components/interface-component.php @@ -0,0 +1,33 @@ + true ), 'objects' ); + if ( ! empty( $post_types ) ) { + foreach ( $post_types as $post_type => $post_type_object ) { + $label = $this->decode_html_entities( $post_type_object->label ); + $field = new WPSEO_Config_Field_Choice_Post_Type( $post_type, $label ); + + $this->add_custom_properties( $post_type, $field ); + + $fields[] = $field; + } + } + + self::$fields = $fields; + } + + return self::$fields; + } + + /** + * Add custom properties for specific post types + * + * @param string $post_type Post type of field that is being added. + * @param WPSEO_Config_Field $field Field that corresponds to the post type. + */ + private function add_custom_properties( $post_type, $field ) { + if ( 'attachment' === $post_type ) { + $field->set_property( 'explanation', __( 'WordPress automatically generates an URL for each media item in the library. Enabling this will allow for google to index the generated URL.', 'wordpress-seo' ) ); + } + } + + /** + * Replaces the HTML entity with it's actual symbol. + * + * Because we do not not know what consequences it will have if we convert every HTML entity, + * we will only replace the characters that we have known problems with in text's. + * + * @param string $text The text to decode. + * + * @return string String with decoded HTML entities. + */ + private function decode_html_entities( $text ) { + return str_replace( ''', '’', $text ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-choice-post-type.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-choice-post-type.php new file mode 100644 index 00000000..52171132 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-choice-post-type.php @@ -0,0 +1,92 @@ +post_type = $post_type; + + /* Translators: %1$s expands to the name of the post type. The options given to the user are "visible" and "hidden" */ + $this->set_property( 'label', sprintf( __( 'The post type "%1$s" should be', 'wordpress-seo' ), $label ) ); + + $this->add_choice( 'true', __( 'Visible', 'wordpress-seo' ) ); + $this->add_choice( 'false', __( 'Hidden', 'wordpress-seo' ) ); + } + + /** + * Set adapter + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_custom_lookup( + $this->get_identifier(), + array( $this, 'get_data' ), + array( $this, 'set_data' ) + ); + } + + /** + * Get the post type of this field. + * + * @return string Post type. + */ + public function get_post_type() { + return $this->post_type; + } + + /** + * @return bool + */ + public function get_data() { + $option = WPSEO_Options::get_option( 'wpseo_xml' ); + + $key = 'post_types-' . $this->get_post_type() . '-not_in_sitemap'; + + $stored_data = ! isset( $option[ $key ] ) || false === $option[ $key ]; + + if ( $stored_data ) { + return 'true'; + } + + return 'false'; + } + + /** + * Set new data + * + * @param string $visible Visible (true) or hidden (false). + * + * @return bool + */ + public function set_data( $visible ) { + $post_type = $this->get_post_type(); + + $option = WPSEO_Options::get_option( 'wpseo_xml' ); + + $option[ 'post_types-' . $post_type . '-not_in_sitemap' ] = ( $visible === 'false' ); + + update_option( 'wpseo_xml', $option ); + + // Check if everything got saved properly. + $saved_option = WPSEO_Options::get_option( 'wpseo_xml' ); + + return ( ( $visible === 'false' ) && $saved_option[ 'post_types-' . $post_type . '-not_in_sitemap' ] === true ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-choice.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-choice.php new file mode 100644 index 00000000..e9fe970c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-choice.php @@ -0,0 +1,40 @@ +properties['choices'] = array(); + } + + /** + * Add a choice to the properties + * + * @param string $value Value op the option. + * @param string $label Label to display for the value. + * @param string $screen_reader_text Optional. Screenreader text to use. + */ + public function add_choice( $value, $label, $screen_reader_text = '' ) { + $choice = array( + 'label' => $label, + ); + + if ( $screen_reader_text ) { + $choice['screenReaderText'] = $screen_reader_text; + } + + $this->properties['choices'][ $value ] = $choice; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-company-logo.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-company-logo.php new file mode 100644 index 00000000..8092d61f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-company-logo.php @@ -0,0 +1,28 @@ +set_property( 'label', __( 'Provide an image of the company logo', 'wordpress-seo' ) ); + + $this->set_requires( 'publishingEntityType', 'company' ); + } + + /** + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_yoast_lookup( $this->get_identifier(), 'wpseo', 'company_logo' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-company-name.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-company-name.php new file mode 100644 index 00000000..1247dabb --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-company-name.php @@ -0,0 +1,28 @@ +set_property( 'label', __( 'The name of the company', 'wordpress-seo' ) ); + + $this->set_requires( 'publishingEntityType', 'company' ); + } + + /** + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_yoast_lookup( $this->get_identifier(), 'wpseo', 'company_name' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-company-or-person.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-company-or-person.php new file mode 100644 index 00000000..b1db9ed2 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-company-or-person.php @@ -0,0 +1,32 @@ +set_property( 'label', __( 'Does your site represent a person or company?', 'wordpress-seo' ) ); + + $this->set_property( 'description', __( 'This information will be used in Google\'s Knowledge Graph Card, the big + block of information you see on the right side of the search results.', 'wordpress-seo' ) ); + + $this->add_choice( 'company', __( 'Company', 'wordpress-seo' ) ); + $this->add_choice( 'person', __( 'Person', 'wordpress-seo' ) ); + } + + /** + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_yoast_lookup( $this->get_identifier(), 'wpseo', 'company_or_person' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-configuration-choices.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-configuration-choices.php new file mode 100644 index 00000000..2a37de39 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-configuration-choices.php @@ -0,0 +1,41 @@ +properties['choices'] = array(); + } + + /** + * Adds a choice to the properties + * + * @param string $title The title of the choice. + * @param string $copy The text explaining the choice. + * @param array $button The button details. + * @param null|string $image The image accompanying the choice. + */ + public function add_choice( $title, $copy, $button, $image = null ) { + $choice = array( + 'title' => $title, + 'copy' => $copy, + 'button' => $button, + ); + + if ( ! empty( $image ) ) { + $choice['image'] = $image; + } + + $this->properties['choices'][] = $choice; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-connect-google-search-console.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-connect-google-search-console.php new file mode 100644 index 00000000..f22910c5 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-connect-google-search-console.php @@ -0,0 +1,28 @@ + '', + 'profileList' => '', + ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-environment.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-environment.php new file mode 100644 index 00000000..ff7457cb --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-environment.php @@ -0,0 +1,97 @@ +set_property( 'label', __( 'Please specify if your site is under construction or already active.', 'wordpress-seo' ) ); + + $this->set_property( 'description', __( 'Choose under construction if you want to keep the site out of the index + of search engines. Don\'t forget to activate it once you\'re ready to + publish your site.', 'wordpress-seo' ) ); + + $this->add_choice( 'production', __( 'Option A: My site is live and ready to be indexed', 'wordpress-seo' ) ); + $this->add_choice( 'staging', __( 'Option B: My site is under construction and should not be indexed', 'wordpress-seo' ) ); + } + + /** + * Set adapter + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_custom_lookup( + $this->get_identifier(), + array( $this, 'get_data' ), + array( $this, 'set_data' ) + ); + } + + /** + * Gets the option that is set for this field. + * + * @return string The value for the environment_type wpseo option. + */ + public function get_data() { + $option = WPSEO_Options::get_option( 'wpseo' ); + + return $option['environment_type']; + } + + /** + * Set new data. + * + * @param string $environment_type The site's environment type. + * + * @return bool Returns whether the value is successfully set. + */ + public function set_data( $environment_type ) { + $option = WPSEO_Options::get_option( 'wpseo' ); + + if ( $option['environment_type'] !== $environment_type ) { + $option['environment_type'] = $environment_type; + update_option( 'wpseo', $option ); + if ( ! $this->set_indexation( $environment_type ) ) { + return false; + } + } + + $saved_environment_option = WPSEO_Options::get_option( 'wpseo' ); + + return ( $saved_environment_option['environment_type'] === $option['environment_type'] ); + } + + /** + * Set the WordPress Search Engine Visibility option based on the environment type. + * + * @param string $environment_type The environment the site is running in. + * + * @return bool Returns if the options is set successfully. + */ + protected function set_indexation( $environment_type ) { + $new_blog_public_value = 0; + $current_blog_public_value = get_option( 'blog_public' ); + + if ( $environment_type === 'production' ) { + $new_blog_public_value = 1; + } + + if ( $current_blog_public_value !== $new_blog_public_value ) { + update_option( 'blog_public', $new_blog_public_value ); + + return true; + } + $saved_blog_public_value = get_option( 'blog_public' ); + + return ( $saved_blog_public_value === $new_blog_public_value ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-google-search-console-intro.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-google-search-console-intro.php new file mode 100644 index 00000000..3c9d93b2 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-google-search-console-intro.php @@ -0,0 +1,35 @@ +', + '' ); + + $disclaimer = __( 'Note: we don\'t store your data in any way and don\'t have full access to your account. +Your privacy is safe with us.', 'wordpress-seo' ); + + $html = '

    ' . $html . '

    ' . esc_html( $disclaimer ) . ''; + + $this->set_property( 'html', $html ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-mailchimp-signup.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-mailchimp-signup.php new file mode 100644 index 00000000..17c1e66b --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-mailchimp-signup.php @@ -0,0 +1,58 @@ +ID > 0 ) ? $current_user->user_email : ''; + + $this->set_property( 'title' , __( 'Stay up-to-date', 'wordpress-seo' ) ); + $this->set_property( + 'label', + sprintf( + /* translators: %s expands to Yoast SEO. */ + __( 'Your %1$s plugin is now set up. SEO, however, is subject to constant change. Sign up for our newsletter if you would like to keep up-to-date regarding %1$s, other plugins by Yoast and important news in the world of SEO.', 'wordpress-seo' ), + 'Yoast SEO' + ) + ); + + $this->set_property( 'decoration', plugin_dir_url( WPSEO_FILE ) . 'images/newsletter-collage.png' ); + + $this->set_property( 'mailchimpActionUrl', 'https://yoast.us1.list-manage.com/subscribe/post-json?u=ffa93edfe21752c921f860358&id=972f1c9122' ); + $this->set_property( 'currentUserEmail', $user_email ); + $this->set_property( 'userName', trim( $current_user->user_firstname . ' ' . $current_user->user_lastname ) ); + } + + /** + * Get the data + * + * @return array + */ + public function get_data() { + return array( + 'hasSignup' => $this->has_mailchimp_signup(), + ); + + } + + /** + * Checks if the user has entered his email for mailchimp already. + * + * @return bool + */ + protected function has_mailchimp_signup() { + $user_meta = get_user_meta( get_current_user_id(), WPSEO_Config_Component_Mailchimp_Signup::META_NAME, true ); + return ( ! empty( $user_meta ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-multiple-authors.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-multiple-authors.php new file mode 100644 index 00000000..f1ccf5c2 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-multiple-authors.php @@ -0,0 +1,84 @@ +set_property( 'label', __( 'Does, or will, your site have multiple authors?', 'wordpress-seo' ) ); + + $this->set_property( 'description', __( 'If you choose no, your author archives will be deactivated to prevent + duplicate content issues.', 'wordpress-seo' ) ); + + $this->add_choice( 'yes', __( 'Yes', 'wordpress-seo' ) ); + $this->add_choice( 'no', __( 'No', 'wordpress-seo' ) ); + } + + /** + * Set adapter. + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_custom_lookup( + $this->get_identifier(), + array( $this, 'get_data' ), + array( $this, 'set_data' ) + ); + } + + /** + * Get the data from the stored options. + * + * @return null|string + */ + public function get_data() { + + $option = WPSEO_Options::get_option( 'wpseo' ); + if ( isset( $option['has_multiple_authors'] ) ) { + $value = $option['has_multiple_authors']; + } + + if ( ! isset( $value ) || is_null( $value ) ) { + // If there are more than one users with level > 1 default to multiple authors. + $users = get_users( array( + 'fields' => 'IDs', + 'who' => 'authors', + ) ); + + $value = count( $users ) > 1; + } + + return ( $value ) ? 'yes' : 'no'; + } + + /** + * Set the data in the options. + * + * @param {string} $data The data to set for the field. + * + * @return bool Returns true or false for successful storing the data. + */ + public function set_data( $data ) { + $value = ( $data === 'yes' ); + + // Set multiple authors option. + $result_multiple_authors = WPSEO_Options::save_option( 'wpseo', 'has_multiple_authors', $value ); + + /* + * Set disable author archives option. When multiple authors is set to true, + * the disable author option has to be false. Because of this the $value is inversed. + */ + $result_author_archives = WPSEO_Options::save_option( 'wpseo_titles', 'disable-author', ! $value ); + + return ( $result_multiple_authors === true && $result_author_archives === true ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-person-name.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-person-name.php new file mode 100644 index 00000000..5f0cc4f3 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-person-name.php @@ -0,0 +1,28 @@ +set_property( 'label', __( 'The name of the person', 'wordpress-seo' ) ); + + $this->set_requires( 'publishingEntityType', 'person' ); + } + + /** + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_yoast_lookup( $this->get_identifier(), 'wpseo', 'person_name' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-post-type-visibility.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-post-type-visibility.php new file mode 100644 index 00000000..34a7a543 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-post-type-visibility.php @@ -0,0 +1,28 @@ +' . esc_html( $copy ) . '


    '; + + $this->set_property( 'html', $html ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-facebook.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-facebook.php new file mode 100644 index 00000000..ed84a88c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-facebook.php @@ -0,0 +1,29 @@ +set_property( 'label', __( 'Facebook Page URL', 'wordpress-seo' ) ); + $this->set_property( 'pattern', '^https:\/\/www\.facebook\.com\/([^/]+)\/$' ); + } + + /** + * Set adapter + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_yoast_lookup( $this->get_identifier(), 'wpseo_social', 'facebook_site' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-googleplus.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-googleplus.php new file mode 100644 index 00000000..65a1a3c6 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-googleplus.php @@ -0,0 +1,29 @@ +set_property( 'label', __( 'Google+ URL', 'wordpress-seo' ) ); + $this->set_property( 'pattern', '^https:\/\/plus\.google\.com\/([^/]+)$' ); + } + + /** + * Set adapter + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_yoast_lookup( $this->get_identifier(), 'wpseo_social', 'google_plus_url' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-instagram.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-instagram.php new file mode 100644 index 00000000..6a33b51b --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-instagram.php @@ -0,0 +1,29 @@ +set_property( 'label', __( 'Instagram URL', 'wordpress-seo' ) ); + $this->set_property( 'pattern', '^https:\/\/www\.instagram\.com\/([^/]+)\/$' ); + } + + /** + * Set adapter + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_yoast_lookup( $this->get_identifier(), 'wpseo_social', 'instagram_url' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-linkedin.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-linkedin.php new file mode 100644 index 00000000..b58c96f4 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-linkedin.php @@ -0,0 +1,29 @@ +set_property( 'label', __( 'LinkedIn URL', 'wordpress-seo' ) ); + $this->set_property( 'pattern', '^https:\/\/www\.linkedin\.com\/in\/([^/]+)$' ); + } + + /** + * Set adapter + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_yoast_lookup( $this->get_identifier(), 'wpseo_social', 'linkedin_url' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-myspace.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-myspace.php new file mode 100644 index 00000000..42168ed3 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-myspace.php @@ -0,0 +1,29 @@ +set_property( 'label', __( 'MySpace URL', 'wordpress-seo' ) ); + $this->set_property( 'pattern', '^https:\/\/myspace\.com\/([^/]+)\/$' ); + } + + /** + * Set adapter + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_yoast_lookup( $this->get_identifier(), 'wpseo_social', 'myspace_url' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-pinterest.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-pinterest.php new file mode 100644 index 00000000..544bb646 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-pinterest.php @@ -0,0 +1,29 @@ +set_property( 'label', __( 'Pinterest URL', 'wordpress-seo' ) ); + $this->set_property( 'pattern', '^https:\/\/www\.pinterest\.com\/([^/]+)\/$' ); + } + + /** + * Set adapter + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_yoast_lookup( $this->get_identifier(), 'wpseo_social', 'pinterest_url' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-twitter.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-twitter.php new file mode 100644 index 00000000..223be1b5 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-twitter.php @@ -0,0 +1,28 @@ +set_property( 'label', __( 'Twitter Username', 'wordpress-seo' ) ); + } + + /** + * Set adapter + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_yoast_lookup( $this->get_identifier(), 'wpseo_social', 'twitter_site' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-youtube.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-youtube.php new file mode 100644 index 00000000..5a53b815 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-profile-url-youtube.php @@ -0,0 +1,29 @@ +set_property( 'label', __( 'YouTube URL', 'wordpress-seo' ) ); + $this->set_property( 'pattern', '^https:\/\/www\.youtube\.com\/([^/]+)$' ); + } + + /** + * Set adapter + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_yoast_lookup( $this->get_identifier(), 'wpseo_social', 'youtube_url' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-separator.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-separator.php new file mode 100644 index 00000000..297a6c34 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-separator.php @@ -0,0 +1,43 @@ +set_property( 'label', __( 'Title Separator', 'wordpress-seo' ) ); + $this->set_property( 'explanation', __( 'Choose the symbol to use as your title separator. This will display, for instance, between your post title and site name. Symbols are shown in the size they\'ll appear in the search results.', 'wordpress-seo' ) ); + + $this->add_choice( 'sc-dash', '-', __( 'Dash', 'wordpress-seo' ) ); + $this->add_choice( 'sc-ndash', '–', __( 'En dash', 'wordpress-seo' ) ); + $this->add_choice( 'sc-mdash', '—', __( 'Em dash', 'wordpress-seo' ) ); + $this->add_choice( 'sc-middot', '·', __( 'Middle dot', 'wordpress-seo' ) ); + $this->add_choice( 'sc-bull', '•', __( 'Bullet', 'wordpress-seo' ) ); + $this->add_choice( 'sc-star', '*', __( 'Asterisk', 'wordpress-seo' ) ); + $this->add_choice( 'sc-smstar', '⋆', __( 'Low asterisk', 'wordpress-seo' ) ); + $this->add_choice( 'sc-pipe', '|', __( 'Vertical bar', 'wordpress-seo' ) ); + $this->add_choice( 'sc-tilde', '~', __( 'Small tilde', 'wordpress-seo' ) ); + $this->add_choice( 'sc-laquo', '«', __( 'Left angle quotation mark', 'wordpress-seo' ) ); + $this->add_choice( 'sc-raquo', '»', __( 'Right angle quotation mark', 'wordpress-seo' ) ); + $this->add_choice( 'sc-lt', '<', __( 'Less than sign', 'wordpress-seo' ) ); + $this->add_choice( 'sc-gt', '>', __( 'Greater than sign', 'wordpress-seo' ) ); + } + + /** + * Set adapter + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_yoast_lookup( $this->get_identifier(), 'wpseo_titles', 'separator' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-site-name.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-site-name.php new file mode 100644 index 00000000..e34eba7c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-site-name.php @@ -0,0 +1,69 @@ +set_property( 'label', __( 'Website name', 'wordpress-seo' ) ); + + $this->set_property( 'explanation', __( 'Google shows your website\'s name in the search results, if you want to change it, you can do that here.', 'wordpress-seo' ) ); + } + + /** + * Set adapter + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_custom_lookup( + $this->get_identifier(), + array( $this, 'get_data' ), + array( $this, 'set_data' ) + ); + } + + /** + * Get the data from the stored options. + * + * @return null|string + */ + public function get_data() { + $option = WPSEO_Options::get_option( 'wpseo' ); + if ( ! empty( $option['website_name'] ) ) { + return $option['website_name']; + } + + return get_bloginfo( 'name' ); + } + + /** + * Set the data in the options. + * + * @param {string} $data The data to set for the field. + * + * @return bool Returns true or false for successful storing the data. + */ + public function set_data( $data ) { + $value = $data; + + $option = WPSEO_Options::get_option( 'wpseo' ); + $option['website_name'] = $value; + + update_option( 'wpseo', $option ); + + // Check if everything got saved properly. + $saved_option = WPSEO_Options::get_option( 'wpseo' ); + + return ( $saved_option['website_name'] === $option['website_name'] ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-site-type.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-site-type.php new file mode 100644 index 00000000..0e70dfac --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-site-type.php @@ -0,0 +1,37 @@ +set_property( 'label', sprintf( __( 'What does the site %1$s represent?', 'wordpress-seo' ), get_home_url() ) ); + + $this->add_choice( 'blog', __( 'A blog', 'wordpress-seo' ) ); + $this->add_choice( 'shop', __( 'An online shop', 'wordpress-seo' ) ); + $this->add_choice( 'news', __( 'A news channel', 'wordpress-seo' ) ); + $this->add_choice( 'smallBusiness', __( 'A small offline business', 'wordpress-seo' ) ); + $this->add_choice( 'corporate', __( 'A corporation', 'wordpress-seo' ) ); + $this->add_choice( 'portfolio', __( 'A portfolio', 'wordpress-seo' ) ); + $this->add_choice( 'other', __( 'Something else', 'wordpress-seo' ) ); + } + + /** + * Set adapter + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + $adapter->add_yoast_lookup( $this->get_identifier(), 'wpseo', 'site_type' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-social-profiles-intro.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-social-profiles-intro.php new file mode 100644 index 00000000..431e1990 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-social-profiles-intro.php @@ -0,0 +1,31 @@ +', + '' + ); + + $html = '

    ' . $intro_text . '

    '; + + $this->set_property( 'html', $html ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-success-message.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-success-message.php new file mode 100644 index 00000000..d4f85bb9 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-success-message.php @@ -0,0 +1,35 @@ +set_property( 'title', __( 'You\'ve done it!', 'wordpress-seo' ) ); + $this->set_property( 'message', $success_message ); + $this->set_property( 'video', array( + 'url' => WPSEO_Shortlinker::get( 'https://yoa.st/metabox-screencast' ), + 'title' => sprintf( + /* translators: %1$s expands to Yoast SEO. */ + __( '%1$s video tutorial', 'wordpress-seo' ), + 'Yoast SEO' + ), + ) + ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-suggestions.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-suggestions.php new file mode 100644 index 00000000..b23897a8 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-suggestions.php @@ -0,0 +1,42 @@ +properties['suggestions'] = array(); + } + + /** + * Adds a suggestion to the properties + * + * @param string $title The title of the choice. + * @param string $copy The text explaining the choice. + * @param array $button The button details. + * @param null|string $video The video accompanying the choice. + */ + public function add_suggestion( $title, $copy, $button, $video = null ) { + $suggestion = array( + 'title' => $title, + 'copy' => $copy, + 'button' => $button, + ); + + if ( ! empty( $video ) ) { + $suggestion['video'] = $video; + } + + $this->properties['suggestions'][] = $suggestion; + } +} + diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-title-intro.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-title-intro.php new file mode 100644 index 00000000..245bb057 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-title-intro.php @@ -0,0 +1,27 @@ +' . esc_html( $html ) . '

    '; + + $this->set_property( 'html', $html ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-upsell-configuration-service.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-upsell-configuration-service.php new file mode 100644 index 00000000..bf2dea4a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-upsell-configuration-service.php @@ -0,0 +1,43 @@ +', + '' + ); + + $html = '

    ' . esc_html( $intro_text ) . '

    '; + $html .= '

    ' . wp_kses( $upsell_text, array( + 'a' => array( + 'target' => array( '_blank' ), + 'href' => array(), + ), + ) ) . '

    '; + + + $this->set_property( 'html', $html ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-upsell-site-review.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-upsell-site-review.php new file mode 100644 index 00000000..e243fe69 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field-upsell-site-review.php @@ -0,0 +1,36 @@ +Yoast SEO for WordPress training', + '', + '' + ); + + $html = '

    ' . + wp_kses( $upsell_text, array( + 'a' => array( + 'href' => array(), + 'target' => array( '_blank' ), + ), + ) ) . + '

    '; + + $this->set_property( 'html', $html ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field.php b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field.php new file mode 100644 index 00000000..eacf7dd2 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/config-ui/fields/class-field.php @@ -0,0 +1,134 @@ +field = $field; + $this->component = $component; + } + + /** + * Get the identifier + * + * @return string + */ + public function get_identifier() { + return $this->field; + } + + /** + * Get the component + * + * @return string + */ + public function get_component() { + return $this->component; + } + + /** + * Set a property value + * + * @param string $name Property to set. + * @param mixed $value Value to apply. + */ + public function set_property( $name, $value ) { + $this->properties[ $name ] = $value; + } + + /** + * Get all the properties + * + * @return array + */ + public function get_properties() { + return $this->properties; + } + + /** + * Get the data + * + * @return mixed + */ + public function get_data() { + return $this->data; + } + + /** + * Array representation of this object. + * + * @return array + */ + public function to_array() { + $output = array( + 'componentName' => $this->get_component(), + ); + + $properties = $this->get_properties(); + if ( $properties ) { + $output['properties'] = $properties; + } + + $requires = $this->get_requires(); + if ( ! empty( $requires ) ) { + $output['requires'] = $requires; + } + + return $output; + } + + /** + * Set the adapter to use + * + * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on. + */ + public function set_adapter( WPSEO_Configuration_Options_Adapter $adapter ) { + } + + /** + * Requires another field to have a certain value. + * + * @param string $field Field to check for a certain value. + * @param mixed $value Value of the field. + */ + public function set_requires( $field, $value ) { + $this->requires = array( + 'field' => $field, + 'value' => $value, + ); + } + + /** + * Get the required field settings (if present) + * + * @return array + */ + public function get_requires() { + return $this->requires; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/endpoints/class-endpoint-ryte.php b/pole-sbv-content/plugins/wordpress-seo/admin/endpoints/class-endpoint-ryte.php new file mode 100644 index 00000000..331af95c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/endpoints/class-endpoint-ryte.php @@ -0,0 +1,54 @@ +service = $service; + } + + /** + * Registers the REST routes that are available on the endpoint. + */ + public function register() { + // Register fetch config. + register_rest_route( self::REST_NAMESPACE, self::ENDPOINT_RETRIEVE, array( + 'methods' => 'GET', + 'callback' => array( + $this->service, + 'get_statistics', + ), + 'permission_callback' => array( + $this, + 'can_retrieve_data', + ), + ) ); + } + + /** + * Determines whether or not data can be retrieved for the registered endpoints. + * + * @return bool Whether or not data can be retrieved. + */ + public function can_retrieve_data() { + return current_user_can( self::CAPABILITY_RETRIEVE ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/endpoints/class-endpoint-statistics.php b/pole-sbv-content/plugins/wordpress-seo/admin/endpoints/class-endpoint-statistics.php new file mode 100644 index 00000000..7e2d1ba7 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/endpoints/class-endpoint-statistics.php @@ -0,0 +1,54 @@ +service = $service; + } + + /** + * Registers the REST routes that are available on the endpoint. + */ + public function register() { + // Register fetch config. + register_rest_route( self::REST_NAMESPACE, self::ENDPOINT_RETRIEVE, array( + 'methods' => 'GET', + 'callback' => array( + $this->service, + 'get_statistics', + ), + 'permission_callback' => array( + $this, + 'can_retrieve_data', + ), + ) ); + } + + /** + * Determines whether or not data can be retrieved for the registered endpoints. + * + * @return bool Whether or not data can be retrieved. + */ + public function can_retrieve_data() { + return current_user_can( self::CAPABILITY_RETRIEVE ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/endpoints/class-endpoint.php b/pole-sbv-content/plugins/wordpress-seo/admin/endpoints/class-endpoint.php new file mode 100644 index 00000000..bc18cb8a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/endpoints/class-endpoint.php @@ -0,0 +1,24 @@ +get_post_types() as $post_type ) { + add_filter( 'views_edit-' . $post_type, array( $this, 'add_filter_link' ) ); + } + + add_filter( 'posts_where', array( $this, 'filter_posts' ) ); + + if ( $this->is_filter_active() ) { + add_action( 'restrict_manage_posts', array( $this, 'render_hidden_input' ) ); + } + + if ( $this->is_filter_active() && $this->get_explanation() !== null ) { + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_explanation_assets' ) ); + } + } + + /** + * Enqueues the necessary assets to display a filter explanation. + * + * @return void + */ + public function enqueue_explanation_assets() { + $asset_manager = new WPSEO_Admin_Asset_Manager(); + $asset_manager->enqueue_script( 'filter-explanation' ); + $asset_manager->enqueue_style( 'filter-explanation' ); + wp_localize_script( + WPSEO_Admin_Asset_Manager::PREFIX . 'filter-explanation', + 'yoastFilterExplanation', + array( 'text' => $this->get_explanation() ) + ); + } + + /** + * Adds a filter link to the views. + * + * @param array $views Array with the views. + * + * @return array Array of views including the added view. + */ + public function add_filter_link( array $views ) { + $views[ 'yoast_' . $this->get_query_val() ] = sprintf( + '%3$s (%4$s)', + esc_url( $this->get_filter_url() ), + ( $this->is_filter_active() ) ? ' class="current" aria-current="page"' : '', + $this->get_label(), + $this->get_post_total() + ); + + return $views; + } + + /** + * Returns a text explaining this filter. Null if no explanation is necessary. + * + * @return string|null The explanation or null. + */ + protected function get_explanation() { + return null; + } + + /** + * Renders a hidden input to preserve this filter's state when using sub-filters. + * + * @return void + */ + public function render_hidden_input() { + echo ''; + } + + /** + * Returns an url to edit.php with post_type and this filter as the query arguments. + * + * @return string The url to activate this filter. + */ + protected function get_filter_url() { + return add_query_arg( array( + self::FILTER_QUERY_ARG => $this->get_query_val(), + 'post_type' => $this->get_current_post_type(), + ), 'edit.php' ); + } + + /** + * Returns true when the filter is active. + * + * @return bool Whether or not the filter is active. + */ + protected function is_filter_active() { + return ( $this->is_supported_post_type( $this->get_current_post_type() ) + && filter_input( INPUT_GET, self::FILTER_QUERY_ARG ) === $this->get_query_val() ); + } + + /** + * Returns the current post type. + * + * @return string The current post type. + */ + protected function get_current_post_type() { + return filter_input( + INPUT_GET, 'post_type', FILTER_DEFAULT, array( + 'options' => array( 'default' => 'post' ), + ) + ); + } + + /** + * Returns the post types to which this filter should be added. + * + * @return array The post types to which this filter should be added. + */ + protected function get_post_types() { + return array( 'post', 'page' ); + } + + /** + * Checks if the post type is supported. + * + * @param string $post_type Post type to check against. + * + * @return bool True when it is supported. + */ + protected function is_supported_post_type( $post_type ) { + return in_array( $post_type, $this->get_post_types(), true ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/filters/class-cornerstone-filter.php b/pole-sbv-content/plugins/wordpress-seo/admin/filters/class-cornerstone-filter.php new file mode 100644 index 00000000..c60f49cb --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/filters/class-cornerstone-filter.php @@ -0,0 +1,90 @@ +is_filter_active() ) { + global $wpdb; + + $where .= sprintf( + ' AND ' . $wpdb->posts . '.ID IN( SELECT post_id FROM ' . $wpdb->postmeta . ' WHERE meta_key = "%s" AND meta_value = "1" ) ', + WPSEO_Cornerstone::META_NAME + ); + } + + return $where; + } + + /** + * Returns the label for this filter. + * + * @return string The label for this filter. + */ + protected function get_label() { + return __( 'Cornerstone content', 'wordpress-seo' ); + } + + /** + * Returns a text explaining this filter. + * + * @return string The explanation. + */ + protected function get_explanation() { + $post_type_object = get_post_type_object( $this->get_current_post_type() ); + + if ( $post_type_object === null ) { + return null; + } + + return sprintf( + /* translators: %1$s expands to the posttype label, %2$s expands anchor to blog post about cornerstone content, %3$s expands to */ + __( 'Mark the most important %1$s as \'cornerstone content\' to improve your site structure. %2$sLearn more about cornerstone content%3$s.', 'wordpress-seo' ), + strtolower( $post_type_object->labels->name ), + '', + '' + ); + } + + /** + * Returns the total amount of articles marked as cornerstone content. + * + * @return integer + */ + protected function get_post_total() { + global $wpdb; + + return (int) $wpdb->get_var( + $wpdb->prepare( ' + SELECT COUNT( 1 ) + FROM ' . $wpdb->postmeta . ' + WHERE post_id IN( SELECT ID FROM ' . $wpdb->posts . ' WHERE post_type = %s ) && + meta_value = "1" AND meta_key = %s + ', + $this->get_current_post_type(), + WPSEO_Cornerstone::META_NAME + ) + ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/formatter/class-metabox-formatter.php b/pole-sbv-content/plugins/wordpress-seo/admin/formatter/class-metabox-formatter.php new file mode 100644 index 00000000..2430ef2f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/formatter/class-metabox-formatter.php @@ -0,0 +1,117 @@ +formatter = $formatter; + } + + /** + * Returns the values + * + * @return array + */ + public function get_values() { + $defaults = $this->get_defaults(); + $values = $this->formatter->get_values(); + + return ( $values + $defaults ); + } + + /** + * Returns array with all the values always needed by a scraper object + * + * @return array + */ + private function get_defaults() { + $analysis_seo = new WPSEO_Metabox_Analysis_SEO(); + $analysis_readability = new WPSEO_Metabox_Analysis_Readability(); + + return array( + 'search_url' => '', + 'post_edit_url' => '', + 'base_url' => '', + 'contentTab' => __( 'Readability', 'wordpress-seo' ), + 'keywordTab' => __( 'Keyword:', 'wordpress-seo' ), + 'enterFocusKeyword' => __( 'Enter your focus keyword', 'wordpress-seo' ), + 'removeKeyword' => __( 'Remove keyword', 'wordpress-seo' ), + 'contentLocale' => get_locale(), + 'userLocale' => WPSEO_Utils::get_user_locale(), + 'translations' => $this->get_translations(), + 'keyword_usage' => array(), + 'title_template' => '', + 'metadesc_template' => '', + 'contentAnalysisActive' => $analysis_readability->is_enabled() ? 1 : 0, + 'keywordAnalysisActive' => $analysis_seo->is_enabled() ? 1 : 0, + + /** + * Filter to determine if the markers should be enabled or not. + * + * @param bool $showMarkers Should the markers being enabled. Default = true. + */ + 'show_markers' => apply_filters( 'wpseo_enable_assessment_markers', true ), + 'publish_box' => array( + 'labels' => array( + 'content' => __( 'Readability', 'wordpress-seo' ), + 'keyword' => __( 'SEO', 'wordpress-seo' ), + ), + 'statuses' => array( + 'na' => __( 'Not available', 'wordpress-seo' ), + 'bad' => __( 'Needs improvement', 'wordpress-seo' ), + 'ok' => __( 'OK', 'wordpress-seo' ), + 'good' => __( 'Good', 'wordpress-seo' ), + ), + ), + 'markdownEnabled' => $this->is_markdown_enabled(), + ); + + } + + /** + * Returns Jed compatible YoastSEO.js translations. + * + * @return array + */ + private function get_translations() { + $locale = WPSEO_Utils::get_user_locale(); + + $file = plugin_dir_path( WPSEO_FILE ) . 'languages/wordpress-seo-' . $locale . '.json'; + if ( file_exists( $file ) && $file = file_get_contents( $file ) ) { + return json_decode( $file, true ); + } + + return array(); + } + + /** + * Checks if Jetpack's markdown module is enabled. + * Can be extended to work with other plugins that parse markdown in the content. + * + * @return boolean + */ + private function is_markdown_enabled() { + if ( class_exists( 'Jetpack' ) && method_exists( 'Jetpack', 'get_active_modules' ) ) { + $active_modules = Jetpack::get_active_modules(); + + return in_array( 'markdown', $active_modules ); + } + + return false; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/formatter/class-post-metabox-formatter.php b/pole-sbv-content/plugins/wordpress-seo/admin/formatter/class-post-metabox-formatter.php new file mode 100644 index 00000000..ff215813 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/formatter/class-post-metabox-formatter.php @@ -0,0 +1,218 @@ +post = $post; + $this->options = $options; + $this->permalink = $structure; + } + + /** + * Returns the translated values. + * + * @return array + */ + public function get_values() { + $values = array( + 'search_url' => $this->search_url(), + 'post_edit_url' => $this->edit_url(), + 'base_url' => $this->base_url_for_js(), + 'metaDescriptionDate' => '', + ); + + if ( $this->post instanceof WP_Post ) { + $values_to_set = array( + 'keyword_usage' => $this->get_focus_keyword_usage(), + 'title_template' => $this->get_title_template(), + 'metadesc_template' => $this->get_metadesc_template(), + 'metaDescriptionDate' => $this->get_metadesc_date(), + ); + + $values = ( $values_to_set + $values ); + } + + return $values; + } + + /** + * Returns the url to search for keyword for the post + * + * @return string + */ + private function search_url() { + return admin_url( 'edit.php?seo_kw_filter={keyword}' ); + } + + /** + * Returns the url to edit the taxonomy + * + * @return string + */ + private function edit_url() { + return admin_url( 'post.php?post={id}&action=edit' ); + } + + /** + * Returns a base URL for use in the JS, takes permalink structure into account + * + * @return string + */ + private function base_url_for_js() { + global $pagenow; + + // The default base is the home_url. + $base_url = home_url( '/', null ); + + if ( 'post-new.php' === $pagenow ) { + return $base_url; + } + + // If %postname% is the last tag, just strip it and use that as a base. + if ( 1 === preg_match( '#%postname%/?$#', $this->permalink ) ) { + $base_url = preg_replace( '#%postname%/?$#', '', $this->permalink ); + } + + return $base_url; + } + + /** + * Counts the number of given keywords used for other posts other than the given post_id. + * + * @return array The keyword and the associated posts that use it. + */ + private function get_focus_keyword_usage() { + $keyword = WPSEO_Meta::get_value( 'focuskw', $this->post->ID ); + $usage = array( $keyword => $this->get_keyword_usage_for_current_post( $keyword ) ); + + if ( WPSEO_Utils::is_yoast_seo_premium() ) { + return $this->get_premium_keywords( $usage ); + } + + return $usage; + } + + /** + * Retrieves the additional keywords from Premium, that are associated with the post. + * + * @param array $usage The original keyword usage for the main keyword. + * + * @return array The keyword usage, including the additional keywords. + */ + protected function get_premium_keywords( $usage ) { + $additional_keywords = json_decode( WPSEO_Meta::get_value( 'focuskeywords', $this->post->ID ), true ); + + if ( empty( $additional_keywords ) ) { + return $usage; + } + + foreach ( $additional_keywords as $additional_keyword ) { + $keyword = $additional_keyword['keyword']; + + $usage[ $keyword ] = $this->get_keyword_usage_for_current_post( $keyword ); + } + + return $usage; + } + + /** + * Gets the keyword usage for the current post and the specified keyword. + * + * @param string $keyword The keyword to check the usage of. + * + * @return array The post IDs which use the passed keyword. + */ + protected function get_keyword_usage_for_current_post( $keyword ) { + return WPSEO_Meta::keyword_usage( $keyword, $this->post->ID ); + } + + /** + * Retrieves the title template. + * + * @return string + */ + private function get_title_template() { + return $this->get_template( 'title' ); + } + + /** + * Retrieves the metadesc template. + * + * @return string + */ + private function get_metadesc_template() { + return $this->get_template( 'metadesc' ); + } + + /** + * Retrieves a template. + * + * @param String $template_option_name The name of the option in which the template you want to get is saved. + * + * @return string + */ + private function get_template( $template_option_name ) { + $needed_option = $template_option_name . '-' . $this->post->post_type; + + if ( isset( $this->options[ $needed_option ] ) && $this->options[ $needed_option ] !== '' ) { + return $this->options[ $needed_option ]; + } + + return ''; + } + + /** + * Determines the date to be displayed in the snippet preview + * + * @return string + */ + private function get_metadesc_date() { + $date = ''; + + if ( $this->is_show_date_enabled() ) { + $date = date_i18n( 'M j, Y', mysql2date( 'U', $this->post->post_date ) ); + } + + return $date; + } + + /** + * Returns whether or not showing the date in the snippet preview is enabled. + * + * @return bool + */ + private function is_show_date_enabled() { + $post_type = $this->post->post_type; + $key = sprintf( 'showdate-%s', $post_type ); + + return isset( $this->options[ $key ] ) && true === $this->options[ $key ]; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/formatter/class-term-metabox-formatter.php b/pole-sbv-content/plugins/wordpress-seo/admin/formatter/class-term-metabox-formatter.php new file mode 100644 index 00000000..a99839f6 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/formatter/class-term-metabox-formatter.php @@ -0,0 +1,143 @@ +term = $term; + $this->taxonomy = $taxonomy; + $this->options = $options; + } + + /** + * Returns the translated values. + * + * @return array + */ + public function get_values() { + $values = array(); + + // Todo: a column needs to be added on the termpages to add a filter for the keyword, so this can be used in the focus kw doubles. + if ( is_object( $this->term ) && property_exists( $this->term, 'taxonomy' ) ) { + $values = array( + 'search_url' => $this->search_url(), + 'post_edit_url' => $this->edit_url(), + 'base_url' => $this->base_url_for_js(), + 'taxonomy' => $this->term->taxonomy, + 'keyword_usage' => $this->get_focus_keyword_usage(), + 'title_template' => $this->get_title_template(), + 'metadesc_template' => $this->get_metadesc_template(), + ); + } + + return $values; + } + + /** + * Returns the url to search for keyword for the taxonomy + * + * @return string + */ + private function search_url() { + return admin_url( 'edit-tags.php?taxonomy=' . $this->term->taxonomy . '&seo_kw_filter={keyword}' ); + } + + /** + * Returns the url to edit the taxonomy + * + * @return string + */ + private function edit_url() { + global $wp_version; + $script_filename = version_compare( $wp_version, '4.5', '<' ) ? 'edit-tags' : 'term'; + return admin_url( $script_filename . '.php?action=edit&taxonomy=' . $this->term->taxonomy . '&tag_ID={id}' ); + } + + /** + * Returns a base URL for use in the JS, takes permalink structure into account + * + * @return string + */ + private function base_url_for_js() { + + $base_url = home_url( '/', null ); + $options = WPSEO_Options::get_option( 'wpseo_permalinks' ); + if ( ! $options['stripcategorybase'] ) { + $base_url = trailingslashit( $base_url . $this->taxonomy->rewrite['slug'] ); + } + + return $base_url; + } + + /** + * Counting the number of given keyword used for other term than given term_id + * + * @return array + */ + private function get_focus_keyword_usage() { + $focuskw = WPSEO_Taxonomy_Meta::get_term_meta( $this->term, $this->term->taxonomy, 'focuskw' ); + + return WPSEO_Taxonomy_Meta::get_keyword_usage( $focuskw, $this->term->term_id, $this->term->taxonomy ); + } + + /** + * Retrieves the title template. + * + * @return string + */ + private function get_title_template() { + return $this->get_template( 'title' ); + } + + /** + * Retrieves the metadesc template. + * + * @return string + */ + private function get_metadesc_template() { + return $this->get_template( 'metadesc' ); + } + + /** + * Retrieves a template. + * + * @param String $template_option_name The name of the option in which the template you want to get is saved. + * + * @return string + */ + private function get_template( $template_option_name ) { + $needed_option = $template_option_name . '-tax-' . $this->term->taxonomy; + if ( isset( $this->options[ $needed_option ] ) && $this->options[ $needed_option ] !== '' ) { + return $this->options[ $needed_option ]; + } + + return ''; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/formatter/interface-metabox-formatter.php b/pole-sbv-content/plugins/wordpress-seo/admin/formatter/interface-metabox-formatter.php new file mode 100644 index 00000000..f3be1547 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/formatter/interface-metabox-formatter.php @@ -0,0 +1,18 @@ +valid_nonce() ) { + $marker = new WPSEO_GSC_Marker( filter_input( INPUT_POST, 'url' ) ); + + wp_die( $marker->get_response() ); + } + + wp_die( 'false' ); + } + + /** + * Handle the AJAX request and dismiss the GSC notice + */ + public function dismiss_notice() { + check_ajax_referer( 'dismiss-gsc-notice' ); + + update_user_meta( get_current_user_id(), 'wpseo_dismissed_gsc_notice', true ); + + wp_die( 'true' ); + } + + /** + * Saves the authorization code. + */ + public function save_auth_code() { + if ( ! $this->valid_nonce() ) { + wp_die( '0' ); + } + + // Validate the authorization. + $service = $this->get_service(); + $authorization_code = filter_input( INPUT_POST, 'authorization' ); + $is_authorization_valid = WPSEO_GSC_Settings::validate_authorization( $authorization_code, $service->get_client() ); + if ( ! $is_authorization_valid ) { + wp_die( '0' ); + } + + $this->get_profiles(); + } + + /** + * Clears all authorization data. + */ + public function clear_auth_code() { + if ( ! $this->valid_nonce() ) { + wp_die( '0' ); + } + + $service = $this->get_service(); + + WPSEO_GSC_Settings::clear_data( $service ); + + $this->get_profiles(); + } + + /** + * Check if posted nonce is valid and return true if it is + * + * @return mixed + */ + private function valid_nonce() { + return wp_verify_nonce( filter_input( INPUT_POST, 'ajax_nonce' ), 'wpseo-gsc-ajax-security' ); + } + + /** + * Returns an instance of the Google Search Console service. + * + * @return WPSEO_GSC_Service + */ + private function get_service() { + return new WPSEO_GSC_Service(); + } + + /** + * Prints a JSON encoded string with the current profile config. + */ + private function get_profiles() { + $component = new WPSEO_Config_Component_Connect_Google_Search_Console(); + + wp_die( wp_json_encode( $component->get_data() ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-bulk-action.php b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-bulk-action.php new file mode 100644 index 00000000..df257087 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-bulk-action.php @@ -0,0 +1,92 @@ +handle_bulk_action(); + } + } + + /** + * Handles the bulk action when there is an action posted + */ + private function handle_bulk_action() { + if ( $bulk_action = $this->determine_bulk_action() ) { + $this->run_bulk_action( $bulk_action, $this->posted_issues() ); + + wp_redirect( filter_input( INPUT_POST, '_wp_http_referer' ) ); + exit; + } + } + + /** + * Determine which bulk action is selected and return that value + * + * @return string|bool + */ + private function determine_bulk_action() { + // If posted action is the selected one above the table, return that value. + if ( ( $action = filter_input( INPUT_POST, 'action' ) ) && $action !== '-1' ) { + return $action; + } + + // If posted action is the selected one below the table, return that value. + if ( ( $action = filter_input( INPUT_POST, 'action2' ) ) && $action !== '-1' ) { + return $action; + } + + return false; + } + + /** + * Get the posted issues and return them + * + * @return array + */ + private function posted_issues() { + if ( $issues = filter_input( INPUT_POST, 'wpseo_crawl_issues', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY ) ) { + return $issues; + } + + // Fallback if issues are empty. + return array(); + } + + /** + * Runs the bulk action + * + * @param string $bulk_action Action type. + * @param array $issues Set of issues to apply to. + */ + private function run_bulk_action( $bulk_action, $issues ) { + switch ( $bulk_action ) { + case 'mark_as_fixed': + array_map( array( $this, 'action_mark_as_fixed' ), $issues ); + + break; + } + } + + /** + * Marks the issue as fixed + * + * @param string $issue Issue URL. + * + * @return string + */ + private function action_mark_as_fixed( $issue ) { + new WPSEO_GSC_Marker( $issue ); + + return $issue; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-category-filters.php b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-category-filters.php new file mode 100644 index 00000000..6ad46c61 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-category-filters.php @@ -0,0 +1,197 @@ +set_counts( $platform_counts ); + } + + // Setting the filter values. + $this->set_filter_values(); + + $this->category = $this->get_current_category(); + } + + /** + * Returns the value of the current category + * + * @return mixed|string + */ + public function get_category() { + return $this->category; + } + + /** + * Returns the current filters as an array + * + * Only return categories with more than 0 issues + * + * @return array + */ + public function as_array() { + $new_views = array(); + + foreach ( $this->category_counts as $category_name => $category ) { + $new_views[] = $this->create_view_link( $category_name, $category['count'] ); + } + + return $new_views; + } + + /** + * Getting the current view + */ + private function get_current_category() { + if ( $current_category = filter_input( INPUT_GET, 'category' ) ) { + return $current_category; + } + + // Just prevent redirect loops. + if ( ! empty( $this->category_counts ) ) { + $current_category = 'not_found'; + if ( empty( $this->category_counts[ $current_category ] ) ) { + $current_category = key( $this->category_counts ); + } + + // Just redirect to set the category. + wp_redirect( add_query_arg( 'category', $current_category ) ); + exit; + } + } + + /** + * Setting the view counts based on the saved data. The info will be used to display the category filters + * + * @param array $platform_counts Set of counts by platform. + */ + private function set_counts( array $platform_counts ) { + $this->category_counts = $this->parse_counts( $platform_counts ); + } + + /** + * Setting the values for the filter + */ + private function set_filter_values() { + $this->set_filter_value( 'access_denied', __( 'Access denied', 'wordpress-seo' ), __( 'Server requires authentication or is blocking Googlebot from accessing the site.', 'wordpress-seo' ), __( 'Show information about errors in category \'Access Denied\'', 'wordpress-seo' ) ); + $this->set_filter_value( 'faulty_redirects', __( 'Faulty redirects', 'wordpress-seo' ) ); + $this->set_filter_value( 'not_followed',__( 'Not followed', 'wordpress-seo' ) ); + $this->set_filter_value( 'not_found', __( 'Not found', 'wordpress-seo' ), __( 'URL points to a non-existent page.', 'wordpress-seo' ), __( 'Show information about errors in category \'Not Found\'', 'wordpress-seo' ) ); + $this->set_filter_value( 'other', __( 'Other', 'wordpress-seo' ), __( 'Google was unable to crawl this URL due to an undetermined issue.', 'wordpress-seo' ), __( 'Show information about errors in category \'Other\'', 'wordpress-seo' ) ); + /* Translators: %1$s: expands to 'robots.txt'. */ + $this->set_filter_value( 'roboted', __( 'Blocked', 'wordpress-seo' ), sprintf( __( 'Googlebot could access your site, but certain URLs are blocked for Googlebot in your %1$s file. This block could either be for all Googlebots or even specifically for Googlebot-mobile.', 'wordpress-seo' ), 'robots.txt' ), __( 'Show information about errors in category \'Blocked\'', 'wordpress-seo' ) ); + $this->set_filter_value( 'server_error', __( 'Server Error', 'wordpress-seo' ), __( 'Request timed out or site is blocking Google.', 'wordpress-seo' ), __( 'Show information about errors in category \'Server\'', 'wordpress-seo' ) ); + $this->set_filter_value( 'soft_404', __( 'Soft 404', 'wordpress-seo' ), __( "The target URL doesn't exist, but your server is not returning a 404 (file not found) error.", 'wordpress-seo' ), __( 'Show information about errors in category \'Soft 404\'', 'wordpress-seo' ) ); + } + + /** + * Add new filter value to the filter_values + * + * @param string $key Filter key. + * @param string $value Filter value. + * @param string $description Optional description string. + * @param string $help_button_text Optional help button text. + */ + private function set_filter_value( $key, $value, $description = '', $help_button_text = '' ) { + $this->filter_values[ $key ] = array( + 'value' => $value, + 'description' => $description, + 'help-button' => $help_button_text, + ); + } + + /** + * Creates a filter link + * + * @param string $category Issue type. + * @param integer $count Count for the type. + * + * @return string + */ + private function create_view_link( $category, $count ) { + $href = add_query_arg( + array( + 'category' => $category, + 'paged' => 1, + ) + ); + + $class = 'gsc_category'; + + if ( $this->category === $category ) { + $class .= ' current'; + } + + $help_button = $help_panel = ''; + if ( $this->filter_values[ $category ]['description'] !== '' ) { + $help = new WPSEO_Admin_Help_Panel( $category, $this->filter_values[ $category ]['help-button'], $this->filter_values[ $category ]['description'], 'has-wrapper' ); + $help_button = $help->get_button_html(); + $help_panel = $help->get_panel_html(); + } + + return sprintf( + '%3$s (%5$s) %6$s %7$s', + esc_attr( $href ), + $class, + $this->filter_values[ $category ]['value'], + $category, + $count, + $help_button, + $help_panel + ); + } + + /** + * Parsing the category counts. When there are 0 issues for a specific category, just remove that one from the array + * + * @param array $category_counts Set of counts for categories. + * + * @return mixed + */ + private function parse_counts( $category_counts ) { + foreach ( $category_counts as $category_name => $category ) { + if ( $category['count'] === '0' ) { + unset( $category_counts[ $category_name ] ); + } + } + + return $category_counts; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-config.php b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-config.php new file mode 100644 index 00000000..9b39644a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-config.php @@ -0,0 +1,22 @@ + 'Yoast SEO', + 'client_id' => '395430892738-ushj8aced0cji2j4bkq6bda6felaigb9.apps.googleusercontent.com', + 'client_secret' => 'c2kYgOwMhk1emWxQ3NaA8wOi', + 'redirect_uri' => 'urn:ietf:wg:oauth:2.0:oob', + 'scopes' => array( 'https://www.googleapis.com/auth/webmasters' ), + ); + +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-count.php b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-count.php new file mode 100644 index 00000000..653433d6 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-count.php @@ -0,0 +1,221 @@ +service = $service; + } + + /** + * Getting the counts for given platform and return them as an array + * + * @param string $platform Platform (desktop, mobile, feature phone). + * + * @return array + */ + public function get_platform_counts( $platform ) { + $counts = $this->get_counts(); + if ( array_key_exists( $platform, $counts ) ) { + return $counts[ $platform ]; + } + + return array(); + } + + /** + * Return the fetched issues + * + * @return array + */ + public function get_issues() { + return $this->issues; + } + + /** + * Listing the issues an gives them back as fetched issues + * + * @param string $platform Platform (desktop, mobile, feature phone). + * @param string $category Issue category. + */ + public function list_issues( $platform, $category ) { + $counts = $this->get_counts(); + + if ( array_key_exists( $platform, $counts ) ) { + $counts[ $platform ] = $this->list_category_issues( $counts[ $platform ], $platform, $category ); + + // Write the new counts value. + $this->set_counts( $counts ); + } + } + + /** + * Getting the counts for given platform and category. + * + * @param string $platform Platform (desktop, mobile, feature phone). + * @param string $category Issue type. + * + * @return integer + */ + public function get_issue_count( $platform, $category ) { + $counts = $this->get_counts(); + + if ( ! empty( $counts[ $platform ][ $category ]['count'] ) ) { + return $counts[ $platform ][ $category ]['count']; + } + + return 0; + } + + /** + * Update the count of the issues + * + * @param string $platform Platform (desktop, mobile, feature phone). + * @param string $category Issue type. + * @param integer $new_count Updated count. + */ + public function update_issue_count( $platform, $category, $new_count ) { + $counts = $this->get_counts(); + + if ( ! empty( $counts[ $platform ][ $category ] ) && is_array( $counts[ $platform ][ $category ] ) ) { + $counts[ $platform ][ $category ]['count'] = $new_count; + } + + $this->set_counts( $counts ); + } + + /** + * Fetching the counts from the GSC API + */ + public function fetch_counts() { + if ( WPSEO_GSC_Settings::get_profile() && $this->get_last_fetch() <= strtotime( '-12 hours' ) ) { + // Remove the timestamp. + $this->remove_last_fetch(); + + // Getting the counts and parse them. + $counts = $this->parse_counts( $this->service->get_crawl_issue_counts() ); + + // Fetching the counts by setting an option. + $this->set_counts( $counts ); + + // Saving the current timestamp. + $this->save_last_fetch(); + } + } + + /** + * Parsing the received counts from the API and map the keys to plugin friendly values + * + * @param array $fetched_counts Set of retrieved counts. + * + * @return array + */ + private function parse_counts( array $fetched_counts ) { + $counts = array(); + foreach ( $fetched_counts as $platform_name => $categories ) { + $new_platform = WPSEO_GSC_Mapper::platform_from_api( $platform_name ); + + foreach ( $categories as $category_name => $category ) { + $new_category = WPSEO_GSC_Mapper::category_from_api( $category_name ); + $counts[ $new_platform ][ $new_category ] = $category; + } + } + + return $counts; + } + + /** + * Listing the issues for current category. + * + * @param array $counts Set of counts. + * @param string $platform Platform (desktop, mobile, feature phone). + * @param string $category Issue type. + * + * @return array + */ + private function list_category_issues( array $counts, $platform, $category ) { + // When the issues have to be fetched. + if ( array_key_exists( $category, $counts ) && $counts[ $category ]['count'] > 0 && $counts[ $category ]['last_fetch'] <= strtotime( '-12 hours' ) ) { + if ( $issues = $this->service->fetch_category_issues( WPSEO_GSC_Mapper::platform_to_api( $platform ), WPSEO_GSC_Mapper::category_to_api( $category ) ) ) { + $this->issues = $issues; + } + + // Be sure the total count is correct. + $counts[ $category ]['count'] = count( $this->issues ); + + // Set last fetch. + $counts[ $category ]['last_fetch'] = time(); + } + + return $counts; + } + + /** + * Getting the counts from the options + * + * @return array + */ + private function get_counts() { + return get_option( self::OPTION_CI_COUNTS, array() ); + } + + /** + * Fetching the counts from the service and store them in an option + * + * @param array $counts Set of counts. + */ + private function set_counts( array $counts ) { + update_option( self::OPTION_CI_COUNTS, $counts ); + } + + /** + * Store the timestamp of when crawl errors were saved the last time. + */ + private function save_last_fetch() { + add_option( self::OPTION_CI_LAST_FETCH, time(), '', 'no' ); + } + + /** + * Remove the last checked option + */ + private function remove_last_fetch() { + delete_option( self::OPTION_CI_LAST_FETCH ); + } + + /** + * Get the timestamp of when the crawl errors were last saved + * + * @return int + */ + private function get_last_fetch() { + return get_option( self::OPTION_CI_LAST_FETCH, 0 ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-issue.php b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-issue.php new file mode 100644 index 00000000..b6ea06d4 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-issue.php @@ -0,0 +1,89 @@ +url = $url; + $this->first_detected = $first_detected; + $this->last_crawled = $last_crawled; + $this->response_code = $response_code; + } + + /** + * Put the class properties in array + * + * @return array + */ + public function to_array() { + return array( + 'url' => $this->url, + 'first_detected' => $this->to_date_format( $this->first_detected ), + 'first_detected_raw' => $this->to_timestamp( $this->first_detected ), + 'last_crawled' => $this->to_date_format( $this->last_crawled ), + 'last_crawled_raw' => $this->to_timestamp( $this->last_crawled ), + 'response_code' => $this->response_code, + ); + } + + /** + * Converting the date to a date format + * + * @param DateTime $date_to_convert Date instance. + * @param string $format Format string. + * + * @return string + */ + private function to_date_format( DateTime $date_to_convert, $format = '' ) { + + if ( empty( $format ) ) { + $format = get_option( 'date_format' ); + } + + return date_i18n( $format, $date_to_convert->format( 'U' ) ); + } + + /** + * Converting the date to a timestamp + * + * @param DateTime $date_to_convert Date object instance. + * + * @return string + */ + private function to_timestamp( DateTime $date_to_convert ) { + return $date_to_convert->format( 'U' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-issues.php b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-issues.php new file mode 100644 index 00000000..ed082294 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-issues.php @@ -0,0 +1,175 @@ +option_name = strtolower( 'wpseo-gsc-issues-' . $platform . '-' . $category ); + $this->issues = $this->get_issues(); + + if ( ! empty( $fetched_issues ) && is_array( $fetched_issues ) ) { + $this->save_fetched_issues( $fetched_issues ); + } + } + /** + * Getting the issues from the options. + * + * @return array + */ + public function get_issues() { + return get_option( $this->option_name, array() ); + } + + /** + * Deleting the issue from the issues + * + * @param string $url URL to delete issues for. + * + * @return bool + */ + public function delete_issue( $url ) { + $target_issue = $this->get_issue_by_url( $url ); + if ( $target_issue !== false ) { + unset( $this->issues[ $target_issue ] ); + + $this->save_issues( $this->issues ); + + return true; + } + + return false; + } + + /** + * Fetching the issues for current category and compare them with the already existing issues. + * + * @param array $fetched_issues Set of retrieved issues. + */ + private function save_fetched_issues( array $fetched_issues ) { + $this->set_current_issues(); + + $crawl_issues = $this->get_issues(); + + // Walk through the issues to do the comparison. + foreach ( $fetched_issues as $issue ) { + $this->issue_compare( $crawl_issues, $issue ); + } + + $this->save_issues( $crawl_issues ); + + // Refresh the value of $this->issues. + $this->issues = $this->get_issues(); + } + + /** + * Comparing the issue with the list of current existing issues + * + * @param array $crawl_issues Set of issues by reference. + * @param stdClass $issue Issue object to check against the list. + */ + private function issue_compare( &$crawl_issues, $issue ) { + $issue->pageUrl = WPSEO_Utils::format_url( (string) $issue->pageUrl ); + + if ( ! in_array( $issue->pageUrl, $this->current_issues, true ) ) { + array_push( + $crawl_issues, + $this->get_issue( $this->create_issue( $issue ) ) + ); + } + } + + /** + * The fetched issue from the API will be parsed as an WPSEO_Crawl_Issue object. After initializing the issue as an + * object, the object will be returned + * + * @param stdClass $issue Issue data object. + * + * @return WPSEO_GSC_Issue + */ + private function create_issue( $issue ) { + return new WPSEO_GSC_Issue( + $issue->pageUrl, + new DateTime( (string) $issue->first_detected ), + new DateTime( (string) $issue->last_crawled ), + (string) ( ! empty( $issue->responseCode ) ) ? $issue->responseCode : null + ); + } + + /** + * Returns the crawl issue as an array. + * + * @param WPSEO_GSC_Issue $crawl_issue Issue object instance. + * + * @return array() + */ + private function get_issue( WPSEO_GSC_Issue $crawl_issue ) { + return $crawl_issue->to_array(); + } + + /** + * Saving the issues to the options. The target option is base on current platform and category. + * + * @param array $issues Set of issues. + */ + private function save_issues( array $issues ) { + update_option( $this->option_name, $issues, false ); + } + + /** + * Getting the issues from the options and get only the URL out of it. This is because there will be a comparison + * with the issues from the API. + */ + private function set_current_issues() { + if ( ! empty( $this->issues ) ) { + $this->current_issues = wp_list_pluck( $this->issues, 'url' ); + } + } + + /** + * Search in the issues for the given $url + * + * @param string $url Issue URL to search for. + * + * @return int|string + */ + private function get_issue_by_url( $url ) { + foreach ( $this->issues as $key => $issue ) { + if ( $url === $issue['url'] ) { + return $key; + } + } + + return false; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-mapper.php b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-mapper.php new file mode 100644 index 00000000..afaa1045 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-mapper.php @@ -0,0 +1,112 @@ + 'web', + 'mobile' => 'mobile', + 'smartphone_only' => 'smartphoneOnly', + 'settings' => 'settings', // This one is basicly not a platform, but a tab. + ); + + /** + * The categories which can be mapped + * + * @var array + */ + private static $categories = array( + 'access_denied' => 'authPermissions', + 'faulty_redirects' => 'manyToOneRedirect', + 'not_followed' => 'notFollowed', + 'not_found' => 'notFound', + 'other' => 'other', + 'roboted' => 'roboted', + 'server_error' => 'serverError', + 'soft_404' => 'soft404', + ); + + /** + * If there is no platform, just get the first key out of the array and redirect to it. + * + * @param string $platform Platform (desktop, mobile, feature phone). + * + * @return mixed + */ + public static function get_current_platform( $platform ) { + if ( $current_platform = filter_input( INPUT_GET, $platform ) ) { + return $current_platform; + } + + wp_redirect( add_query_arg( $platform, key( self::$platforms ) ) ); + exit; + } + + /** + * Mapping the platform + * + * @param string $platform Platform (desktop, mobile, feature phone). + * + * @return mixed + */ + public static function platform_to_api( $platform ) { + if ( ! empty( $platform ) && array_key_exists( $platform, self::$platforms ) ) { + return self::$platforms[ $platform ]; + } + } + + /** + * Mapping the given platform by value and return its key + * + * @param string $platform Platform (desktop, mobile, feature phone). + * + * @return string + */ + public static function platform_from_api( $platform ) { + if ( ! empty( $platform ) && $platform = array_search( $platform, self::$platforms ) ) { + return $platform; + } + + return $platform; + } + + /** + * Mapping the given category by searching for its key. + * + * @param string $category Issue type. + * + * @return mixed + */ + public static function category_to_api( $category ) { + if ( ! empty( $category ) && array_key_exists( $category, self::$categories ) ) { + return self::$categories[ $category ]; + } + + return $category; + } + + /** + * Mapping the given category by value and return its key + * + * @param string $category Issue type. + * + * @return string + */ + public static function category_from_api( $category ) { + if ( ! empty( $category ) && $category = array_search( $category, self::$categories ) ) { + return $category; + } + + return $category; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-marker.php b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-marker.php new file mode 100644 index 00000000..f8ae147c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-marker.php @@ -0,0 +1,143 @@ +url = $url; + $this->result = $this->get_result(); + } + + /** + * Getting the response for the AJAX request + * + * @return string + */ + public function get_response() { + return $this->result; + } + + /** + * Setting the result, this method will check if current + * + * @return string + */ + private function get_result() { + if ( $this->can_be_marked_as_fixed() ) { + $service = new WPSEO_GSC_Service( WPSEO_GSC_Settings::get_profile() ); + + if ( $this->set_crawl_issues() && $this->send_mark_as_fixed( $service ) && $this->delete_crawl_issue() ) { + $this->update_issue_count( $service ); + + return 'true'; + } + } + + return 'false'; + } + + /** + * Check if request is valid by verifying the posted nonce and return the URL if this one is set + * + * @return bool|string + */ + private function can_be_marked_as_fixed() { + if ( $this->url !== '' ) { + return $this->url; + } + + return false; + } + + /** + * Storing the data belonging to the current issue, this data is needed in the 'mark as fixed' flow + * + * @return bool + */ + private function set_crawl_issues() { + $this->platform = filter_input( INPUT_POST, 'platform' ); + $this->category = filter_input( INPUT_POST, 'category' ); + if ( $this->platform && $this->category ) { + $this->crawl_issues = new WPSEO_GSC_Issues( $this->platform, $this->category ); + + return true; + } + + return false; + } + + /** + * Sending a request to the Google Search Console API to let them know we marked an issue as fixed. + * + * @param WPSEO_GSC_Service $service Service object instance. + * + * @return bool + */ + private function send_mark_as_fixed( WPSEO_GSC_Service $service ) { + return $service->mark_as_fixed( $this->url, $this->platform, $this->category ); + } + + /** + * Delete the crawl issue from the database + * + * @return bool + */ + private function delete_crawl_issue() { + return $this->crawl_issues->delete_issue( $this->url ); + } + + /** + * Getting the counts for current platform - category combination and update the score of it. + * + * @param WPSEO_GSC_Service $service Service object instance. + */ + private function update_issue_count( WPSEO_GSC_Service $service ) { + $counts = new WPSEO_GSC_Count( $service ); + + // Get the issues. + $total_issues = $counts->get_issue_count( $this->platform, $this->category ); + + // Lower the current count with 1. + $total_issues = ( $total_issues - 1 ); + + // And update the count. + $counts->update_issue_count( $this->platform, $this->category, $total_issues ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-modal.php b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-modal.php new file mode 100644 index 00000000..cbc35ffa --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-modal.php @@ -0,0 +1,56 @@ +view = $view; + $this->height = $height; + $this->view_vars = $view_vars; + } + + /** + * Returns the height of the modal. + * + * @return int The set height. + */ + public function get_height() { + return $this->height; + } + + /** + * Loads the view of the modal. + * + * @param string $unique_id An unique identifier for the modal. + */ + public function load_view( $unique_id ) { + extract( $this->view_vars ); + + echo ''; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-platform-tabs.php b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-platform-tabs.php new file mode 100644 index 00000000..30a988e8 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-platform-tabs.php @@ -0,0 +1,94 @@ +platform_tabs(); + } + + /** + * Getting the current_tab + * + * @return string + */ + public function current_tab() { + return $this->current_tab; + } + + /** + * Loops through the array with all the platforms and convert it into an array + * + * @return string + */ + private function platform_tabs() { + $tabs = array( 'settings' => __( 'Settings', 'wordpress-seo' ) ); + + $platforms = array( + 'web' => __( 'Desktop', 'wordpress-seo' ), + 'smartphone_only' => __( 'Smartphone', 'wordpress-seo' ), + 'mobile' => __( 'Feature phone', 'wordpress-seo' ), + ); + + if ( WPSEO_GSC_Settings::get_profile() !== '' ) { + $tabs = array_merge( $platforms, $tabs ); + } + + $admin_link = admin_url( 'admin.php?page=wpseo_search_console&tab=' ); + + $this->set_current_tab( $tabs ); + + $return = ''; + + foreach ( $tabs as $platform_target => $platform_value ) { + $return .= $this->platform_tab( $platform_target, $platform_value, $admin_link ); + } + + return $return; + } + + /** + * Setting the current tab + * + * @param array $platforms Set of platforms (desktop, mobile, feature phone). + */ + private function set_current_tab( array $platforms ) { + $this->current_tab = key( $platforms ); + if ( $current_platform = filter_input( INPUT_GET, 'tab' ) ) { + $this->current_tab = $current_platform; + } + } + + /** + * Parses the tab + * + * @param string $platform_target Platform (desktop, mobile, feature phone). + * @param string $platform_value Link anchor. + * @param string $admin_link Link URL admin base. + * + * @return string + */ + private function platform_tab( $platform_target, $platform_value, $admin_link ) { + $active = ''; + if ( $this->current_tab === $platform_target ) { + $active = ' nav-tab-active'; + } + + return '' . $platform_value . ''; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-service.php b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-service.php new file mode 100644 index 00000000..e5f4f68c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-service.php @@ -0,0 +1,193 @@ +profile = $profile; + + $this->set_client(); + } + + /** + * Returns the client + * + * @return Yoast_Api_Google_Client + */ + public function get_client() { + return $this->client; + } + + /** + * Removes the option and calls the clients clear_data method to clear that one as well + */ + public function clear_data() { + // Clear client data. + $this->client->clear_data(); + } + + /** + * Get all sites that are registered in the GSC panel + * + * @return array + */ + public function get_sites() { + $sites = array(); + + $response_json = $this->client->do_request( 'sites', true ); + + // Do list sites request. + if ( ! empty( $response_json->siteEntry ) ) { + foreach ( $response_json->siteEntry as $entry ) { + $sites[ str_ireplace( 'sites/', '', (string) $entry->siteUrl ) ] = (string) $entry->siteUrl; + } + + // Sorting the retrieved sites. + asort( $sites ); + } + + return $sites; + } + + /** + * Get crawl issues + * + * @return array + */ + public function get_crawl_issue_counts() { + // Setup crawl error list. + $crawl_error_counts = $this->get_crawl_error_counts( $this->profile ); + + $return = array(); + // Ignore coding standards for object properties. + if ( ! empty( $crawl_error_counts->countPerTypes ) ) { + foreach ( $crawl_error_counts->countPerTypes as $category ) { + $return[ $category->platform ][ $category->category ] = array( + 'count' => $category->entries[0]->count, + 'last_fetch' => null, + ); + } + } + + return $return; + } + + /** + * Sending request to mark issue as fixed + * + * @param string $url Issue URL. + * @param string $platform Platform (desktop, mobile, feature phone). + * @param string $category Issue type. + * + * @return bool + */ + public function mark_as_fixed( $url, $platform, $category ) { + $response = $this->client->do_request( 'sites/' . urlencode( $this->profile ) . '/urlCrawlErrorsSamples/' . urlencode( ltrim( $url, '/' ) ) . '?category=' . WPSEO_GSC_Mapper::category_to_api( $category ) . '&platform=' . WPSEO_GSC_Mapper::platform_to_api( $platform ) . '', false, 'DELETE' ); + return ( $response->getResponseHttpCode() === 204 ); + } + + /** + * Fetching the issues from the GSC API + * + * @param string $platform Platform (desktop, mobile, feature phone). + * @param string $category Issue type. + * + * @return mixed + */ + public function fetch_category_issues( $platform, $category ) { + $issues = $this->client->do_request( + 'sites/' . urlencode( $this->profile ) . '/urlCrawlErrorsSamples?category=' . $category . '&platform=' . $platform, + true + ); + + if ( ! empty( $issues->urlCrawlErrorSample ) ) { + return $issues->urlCrawlErrorSample; + } + } + + /** + * Setting the GSC client + */ + private function set_client() { + try { + new Yoast_Api_Libs( '2.0' ); + } + catch ( Exception $exception ) { + if ( $exception->getMessage() === 'required_version' ) { + $this->incompatible_api_libs( + __( 'Yoast plugins share some code between them to make your site faster. As a result of that, we need all Yoast plugins to be up to date. We\'ve detected this isn\'t the case, so please update the Yoast plugins that aren\'t up to date yet.', 'wordpress-seo' ) + ); + } + } + + if ( class_exists( 'Yoast_Api_Google_Client' ) === false ) { + $this->incompatible_api_libs( + sprintf( + /* translators: %1$s expands to Yoast SEO, %2$s expands to Google Analytics by Yoast */ + __( + '%1$s detected you’re using a version of %2$s which is not compatible with %1$s. Please update %2$s to the latest version to use this feature.', + 'wordpress-seo' + ), + 'Yoast SEO', + 'Google Analytics by Yoast' + ) + ); + + wp_redirect( admin_url( 'admin.php?page=' . WPSEO_Admin::PAGE_IDENTIFIER ) ); + exit; + } + + $this->client = new Yoast_Api_Google_Client( WPSEO_GSC_Config::$gsc, 'wpseo-gsc', 'https://www.googleapis.com/webmasters/v3/' ); + } + + /** + * Adding notice that the api libs has the wrong version + * + * @param string $notice Message string. + */ + private function incompatible_api_libs( $notice ) { + Yoast_Notification_Center::get()->add_notification( + new Yoast_Notification( $notice, array( 'type' => Yoast_Notification::ERROR ) ) + ); + } + + /** + * Getting the crawl error counts + * + * @param string $profile Profile name string. + * + * @return object|bool + */ + private function get_crawl_error_counts( $profile ) { + $crawl_error_counts = $this->client->do_request( + 'sites/' . urlencode( $profile ) . '/urlCrawlErrorsCounts/query', + true + ); + + if ( ! empty( $crawl_error_counts ) ) { + return $crawl_error_counts; + } + + return false; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-settings.php b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-settings.php new file mode 100644 index 00000000..1a3f343a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-settings.php @@ -0,0 +1,102 @@ +clear_data(); + } + + /** + * Reloading all the issues + */ + public static function reload_issues() { + // Remove issue and issue counts. + self::remove(); + } + + /** + * When authorization is successful return true, otherwise false + * + * @param string $authorization_code Code to validate. + * @param Yoast_Api_Google_Client $client Client object instance. + * + * @return bool + */ + public static function validate_authorization( $authorization_code, Yoast_Api_Google_Client $client ) { + return ( $authorization_code !== '' && $client->authenticate_client( $authorization_code ) ); + } + + /** + * Get the GSC profile + * + * @return string + */ + public static function get_profile() { + // Get option. + $option = get_option( WPSEO_GSC::OPTION_WPSEO_GSC, array( 'profile' => '' ) ); + + // Set the profile. + $profile = ''; + if ( ! empty( $option['profile'] ) ) { + $profile = $option['profile']; + } + + // Return the profile. + return trim( $profile, '/' ); + } + + /** + * Removes the issue counts and all the issues from the options + */ + private static function remove() { + // Remove the issue counts from the options. + self::remove_issue_counts(); + + // Removing all issues from the database. + self::remove_issues(); + } + + /** + * Remove the issue counts + */ + private static function remove_issue_counts() { + // Remove the options which are holding the counts. + delete_option( WPSEO_GSC_Count::OPTION_CI_COUNTS ); + delete_option( WPSEO_GSC_Count::OPTION_CI_LAST_FETCH ); + } + + /** + * Delete the issues and their meta data from the database + */ + private static function remove_issues() { + global $wpdb; + + // Remove local crawl issues by running a delete query. + $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE 'wpseo-gsc-issues-%'" ); + } + + /** + * Removes the options for GSC + */ + private static function remove_gsc_option() { + delete_option( WPSEO_GSC::OPTION_WPSEO_GSC ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-table.php b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-table.php new file mode 100644 index 00000000..5e49f845 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc-table.php @@ -0,0 +1,364 @@ +search_string = $search_string; + } + + $this->current_view = $category; + + // Set the crawl issue source. + $this->show_fields( $platform ); + + $this->items = $items; + } + + /** + * Getting the screen id from this table + * + * @return string + */ + public function get_screen_id() { + return $this->screen->id; + } + + /** + * Setup the table variables, fetch the items from the database, search, sort and format the items. + */ + public function prepare_items() { + // Get variables needed for pagination. + $this->per_page = $this->get_items_per_page( 'errors_per_page', $this->per_page ); + $this->current_page = intval( ( $paged = filter_input( INPUT_GET, 'paged' ) ) ? $paged : 1 ); + + $this->setup_columns(); + $this->views(); + $this->parse_items(); + } + + /** + * Set the table columns + * + * @return array + */ + public function get_columns() { + $columns = array( + 'cb' => '', + 'url' => __( 'URL', 'wordpress-seo' ), + 'last_crawled' => __( 'Last crawled', 'wordpress-seo' ), + 'first_detected' => __( 'First detected', 'wordpress-seo' ), + 'response_code' => __( 'Response code', 'wordpress-seo' ), + ); + + return $columns; + } + + /** + * Return the columns that are sortable + * + * @return array + */ + protected function get_sortable_columns() { + $sortable_columns = array( + 'url' => array( 'url', false ), + 'last_crawled' => array( 'last_crawled', false ), + 'first_detected' => array( 'first_detected', false ), + 'response_code' => array( 'response_code', false ), + ); + + return $sortable_columns; + } + + /** + * Return available bulk actions + * + * @return array + */ + protected function get_bulk_actions() { + return array( + 'mark_as_fixed' => __( 'Mark as fixed', 'wordpress-seo' ), + ); + } + + /** + * Default method to display a column + * + * @param array $item Data array. + * @param string $column_name Column name key. + * + * @return mixed + */ + protected function column_default( $item, $column_name ) { + return $item[ $column_name ]; + } + + /** + * Checkbox column + * + * @param array $item Item data array. + * + * @return string + */ + protected function column_cb( $item ) { + return sprintf( + '', + md5( $item['url'] ), + $item['url'], + __( 'Select redirect', 'wordpress-seo' ) + ); + } + + /** + * Formatting the output of the column last crawled into a dateformat + * + * @param array $item Item data array. + * + * @return string + */ + protected function column_last_crawled( $item ) { + return date_i18n( get_option( 'date_format' ), strtotime( $item['last_crawled'] ) ); + } + + /** + * Formatting the output of the column first detected into a dateformat + * + * @param array $item Item data array. + * + * @return string + */ + protected function column_first_detected( $item ) { + return date_i18n( get_option( 'date_format' ), strtotime( $item['first_detected'] ) ); + } + + /** + * URL column + * + * @param array $item Item data array. + * + * @return string + */ + protected function column_url( $item ) { + $actions = array(); + + if ( $this->can_create_redirect() ) { + /** Gets the modal box */ + $modal = $this->get_modal_box( $item['url'] ); + $modal->load_view( md5( $item['url'] ) ); + + $actions['create_redirect'] = '' . __( 'Create redirect', 'wordpress-seo' ) . ''; + } + + $actions['view'] = '' . __( 'View', 'wordpress-seo' ) . ''; + $actions['markasfixed'] = '' . __( 'Mark as fixed', 'wordpress-seo' ) . ''; + + return sprintf( + '%1$s %2$s', + $item['url'], + $this->row_actions( $actions ) + ); + } + + /** + * Running the setup of the columns + */ + private function setup_columns() { + $this->_column_headers = array( $this->get_columns(), array(), $this->get_sortable_columns() ); + } + + /** + * Check if the current category allow creating redirects + * + * @return bool + */ + private function can_create_redirect() { + return in_array( $this->current_view, array( 'soft_404', 'not_found', 'access_denied' ) ); + } + + /** + * Setting the table navigation + * + * @param int $total_items Total number of items. + * @param int $posts_per_page Number of items per page. + */ + private function set_pagination( $total_items, $posts_per_page ) { + $this->set_pagination_args( array( + 'total_items' => $total_items, + 'total_pages' => ceil( ( $total_items / $posts_per_page ) ), + 'per_page' => $posts_per_page, + ) ); + } + + /** + * Setting the items + */ + private function parse_items() { + if ( is_array( $this->items ) && count( $this->items ) > 0 ) { + if ( ! empty( $this->search_string ) ) { + $this->do_search(); + } + + $this->set_pagination( count( $this->items ), $this->per_page ); + + $this->sort_items(); + $this->paginate_items(); + } + } + + /** + * Search through the items + */ + private function do_search() { + $results = array(); + + foreach ( $this->items as $item ) { + foreach ( $item as $value ) { + if ( stristr( $value, $this->search_string ) !== false ) { + $results[] = $item; + continue; + } + } + } + + $this->items = $results; + } + + /** + * Running the pagination + */ + private function paginate_items() { + // Setting the starting point. If starting point is below 1, overwrite it with value 0, otherwise it will be sliced of at the back. + $slice_start = ( $this->current_page - 1 ); + if ( $slice_start < 0 ) { + $slice_start = 0; + } + + // Apply 'pagination'. + $this->items = array_slice( $this->items, ( $slice_start * $this->per_page ), $this->per_page ); + } + + /** + * Sort the items by callback + */ + private function sort_items() { + // Sort the results. + usort( $this->items, array( $this, 'do_reorder' ) ); + } + + /** + * Doing the sorting of the issues + * + * @param array $a First data set for comparison. + * @param array $b Second data set for comparison. + * + * @return int + */ + private function do_reorder( $a, $b ) { + // If no sort, default to title. + $orderby = ( $orderby = filter_input( INPUT_GET, 'orderby' ) ) ? $orderby : 'url'; + + // If no order, default to asc. + $order = ( $order = filter_input( INPUT_GET, 'order' ) ) ? $order : 'asc'; + + // When there is a raw field of it, sort by this field. + if ( array_key_exists( $orderby . '_raw', $a ) && array_key_exists( $orderby . '_raw', $b ) ) { + $orderby = $orderby . '_raw'; + } + + // Determine sort order. + $result = strcmp( $a[ $orderby ], $b[ $orderby ] ); + + // Send final sort direction to usort. + return ( $order === 'asc' ) ? $result : ( - $result ); + } + + /** + * Checks if premium is loaded, if not the nopremium modal will be shown. Otherwise it will load the premium one. + * + * @param string $url URL string. + * + * @return WPSEO_GSC_Modal Instance of the GSC modal. + */ + private function get_modal_box( $url ) { + if ( defined( 'WPSEO_PREMIUM_FILE' ) && class_exists( 'WPSEO_Premium_GSC_Modal' ) ) { + static $premium_modal; + + if ( ! $premium_modal ) { + $premium_modal = new WPSEO_Premium_GSC_Modal(); + } + + return $premium_modal->show( $url ); + } + + return new WPSEO_GSC_Modal( + dirname( __FILE__ ) . '/views/gsc-redirect-nopremium.php', + self::FREE_MODAL_HEIGHT, + array( 'url' => $url ) + ); + } + + /** + * Showing the hidden fields used by the AJAX requests + * + * @param string $platform Platform (desktop, mobile, feature phone). + */ + private function show_fields( $platform ) { + echo ""; + echo ""; + echo ""; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc.php b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc.php new file mode 100644 index 00000000..425c75fc --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/class-gsc.php @@ -0,0 +1,311 @@ +set_hooks(); + $this->set_dependencies(); + $this->request_handler(); + } + + add_action( 'admin_init', array( $this, 'register_gsc_notification' ) ); + add_action( 'admin_init', array( $this, 'register_settings' ) ); + } + + /** + * If the Google Search Console has no credentials, add a notification for the user to give him a heads up. This message is dismissable. + */ + public function register_gsc_notification() { + + $notification = $this->get_profile_notification(); + $notification_center = Yoast_Notification_Center::get(); + + if ( WPSEO_GSC_Settings::get_profile() === '' ) { + $notification_center->add_notification( $notification ); + } + else { + $notification_center->remove_notification( $notification ); + } + } + + /** + * Builds the notification used when GSC is not connected to a profile + * + * @return Yoast_Notification + */ + private function get_profile_notification() { + return new Yoast_Notification( + sprintf( + /* translators: 1: link open tag; 2: link close tag. */ + __( 'Don\'t miss your crawl errors: %1$sconnect with Google Search Console here%2$s.', 'wordpress-seo' ), + '', + '' + ), + array( + 'type' => Yoast_Notification::WARNING, + 'id' => 'wpseo-dismiss-gsc', + 'capabilities' => 'wpseo_manage_options', + ) + ); + } + + /** + * Be sure the settings will be registered, so data can be stored + */ + public function register_settings() { + register_setting( 'yoast_wpseo_gsc_options', self::OPTION_WPSEO_GSC ); + } + + /** + * Function that outputs the redirect page + */ + public function display() { + require_once WPSEO_PATH . 'admin/google_search_console/views/gsc-display.php'; + } + + /** + * Display the table + */ + public function display_table() { + // The list table. + $list_table = new WPSEO_GSC_Table( $this->platform, $this->category, $this->issue_fetch->get_issues() ); + + // Adding filter to display the category filters. + add_filter( 'views_' . $list_table->get_screen_id(), array( $this->category_filter, 'as_array' ) ); + + // Preparing and displaying the table. + $list_table->prepare_items(); + $list_table->search_box( __( 'Search', 'wordpress-seo' ), 'wpseo-crawl-issues-search' ); + $list_table->display(); + } + + /** + * Load the admin redirects scripts + */ + public function page_scripts() { + + $asset_manager = new WPSEO_Admin_Asset_Manager(); + $asset_manager->enqueue_script( 'admin-gsc' ); + $asset_manager->enqueue_style( 'metabox-css' ); + add_screen_option( 'per_page', array( + 'label' => __( 'Crawl errors per page', 'wordpress-seo' ), + 'default' => 50, + 'option' => 'errors_per_page', + ) ); + } + + /** + * Set the screen options + * + * @param string $status Status string. + * @param string $option Option key. + * @param string $value Value to return. + * + * @return mixed + */ + public function set_screen_option( $status, $option, $value ) { + if ( 'errors_per_page' == $option ) { + return $value; + } + } + + /** + * Setting the hooks to be load on page request + */ + private function set_hooks() { + add_action( 'admin_enqueue_scripts', array( $this, 'page_scripts' ) ); + add_filter( 'set-screen-option', array( $this, 'set_screen_option' ), 11, 3 ); + } + + /** + * Handles the POST and GET requests + */ + private function request_handler() { + + // List the table search post to a get. + $this->list_table_search_post_to_get(); + + // Catch the authorization code POST. + $this->catch_authentication_post(); + + // Is there a reset post than we will remove the posts and data. + if ( filter_input( INPUT_GET, 'gsc_reset' ) ) { + // Clear the google data. + WPSEO_GSC_Settings::clear_data( $this->service ); + + // Adding notification to the notification center. + /* Translators: %1$s: expands to Google Search Console. */ + $this->add_notification( sprintf( __( 'The %1$s data has been removed. You will have to reauthenticate if you want to retrieve the data again.', 'wordpress-seo' ), 'Google Search Console' ), Yoast_Notification::UPDATED ); + + // Directly output the notifications. + wp_redirect( remove_query_arg( 'gsc_reset' ) ); + exit; + } + + // Reloads al the issues. + if ( wp_verify_nonce( filter_input( INPUT_POST, 'reload-crawl-issues-nonce' ), 'reload-crawl-issues' ) && filter_input( INPUT_POST, 'reload-crawl-issues' ) ) { + // Reloading all the issues. + WPSEO_GSC_Settings::reload_issues(); + + // Adding the notification. + $this->add_notification( __( 'The issues have been successfully reloaded!', 'wordpress-seo' ), Yoast_Notification::UPDATED ); + + // Directly output the notifications. + Yoast_Notification_Center::get()->display_notifications(); + } + + // Catch bulk action request. + new WPSEO_GSC_Bulk_Action(); + } + + /** + * Catch the redirects search post and redirect it to a search get + */ + private function list_table_search_post_to_get() { + $search_string = filter_input( INPUT_POST, 's' ); + + if ( $search_string === null ) { + return; + } + + // When there is nothing being search and there is no search param in the url, break this method. + if ( $search_string === '' && filter_input( INPUT_GET, 's' ) === null ) { + return; + } + + $url = ( $search_string !== '' ) ? add_query_arg( 's', $search_string ) : remove_query_arg( 's' ); + + // Do the redirect. + wp_redirect( $url ); + exit; + + } + + /** + * Catch the authentication post + */ + private function catch_authentication_post() { + $gsc_values = filter_input( INPUT_POST, 'gsc', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY ); + // Catch the authorization code POST. + if ( ! empty( $gsc_values['authorization_code'] ) && wp_verify_nonce( $gsc_values['gsc_nonce'], 'wpseo-gsc_nonce' ) ) { + if ( ! WPSEO_GSC_Settings::validate_authorization( trim( $gsc_values['authorization_code'] ), $this->service->get_client() ) ) { + $this->add_notification( __( 'Incorrect Google Authorization Code.', 'wordpress-seo' ), Yoast_Notification::ERROR ); + } + + // Redirect user to prevent a post resubmission which causes an oauth error. + wp_redirect( admin_url( 'admin.php' ) . '?page=' . esc_attr( filter_input( INPUT_GET, 'page' ) ) . '&tab=settings' ); + exit; + } + } + + /** + * Adding notification to the yoast notification center + * + * @param string $message Message string. + * @param string $type Message type. + */ + private function add_notification( $message, $type ) { + Yoast_Notification_Center::get()->add_notification( + new Yoast_Notification( $message, array( 'type' => $type ) ) + ); + } + + /** + * Setting dependencies which will be used one this page + */ + private function set_dependencies() { + // Setting the service object. + $this->service = new WPSEO_GSC_Service( WPSEO_GSC_Settings::get_profile() ); + + // Setting the platform. + $this->platform = WPSEO_GSC_Mapper::get_current_platform( 'tab' ); + + // Loading the issue counter. + $issue_count = new WPSEO_GSC_Count( $this->service ); + $issue_count->fetch_counts(); + + // Loading the category filters. + $this->category_filter = new WPSEO_GSC_Category_Filters( $issue_count->get_platform_counts( $this->platform ) ); + + // Setting the current category. + $this->category = $this->category_filter->get_category(); + + // Listing the issues. + $issue_count->list_issues( $this->platform, $this->category ); + + // Fetching the issues. + $this->issue_fetch = new WPSEO_GSC_Issues( $this->platform, $this->category, $issue_count->get_issues() ); + } + + /** + * Setting the tab help on top of the screen + */ + public function set_help() { + $screen = get_current_screen(); + + $screen->add_help_tab( + array( + 'id' => 'basic-help', + 'title' => __( 'Issue categories', 'wordpress-seo' ), + 'content' => '

    ' . __( 'Desktop', 'wordpress-seo' ) . '
    ' . __( 'Errors that occurred when your site was crawled by Googlebot.', 'wordpress-seo' ) . '

    ' + . '

    ' . __( 'Smartphone', 'wordpress-seo' ) . '
    ' . __( 'Errors that occurred only when your site was crawled by Googlebot-Mobile (errors didn\'t appear for desktop).', 'wordpress-seo' ) . '

    ' + . '

    ' . __( 'Feature phone', 'wordpress-seo' ) . '
    ' . __( 'Errors that only occurred when your site was crawled by Googlebot for feature phones (errors didn\'t appear for desktop).', 'wordpress-seo' ) . '

    ', + ) + ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/views/gsc-display.php b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/views/gsc-display.php new file mode 100644 index 00000000..f87cb622 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/views/gsc-display.php @@ -0,0 +1,136 @@ +admin_header( false, 'wpseo-gsc', false, 'yoast_wpseo_gsc_options' ); + +if ( defined( 'WP_DEBUG' ) && WP_DEBUG && WPSEO_GSC_Settings::get_profile() !== '' ) { ?> +
    + ' /> + +
    + + + + +service->get_client()->getAccessToken() ) { + $video_url = WPSEO_Shortlinker::get( 'https://yoa.st/screencast-search-console' ); +} +else { + $video_url = WPSEO_Shortlinker::get( 'https://yoa.st/screencast-connect-search-console' ); +} + +$tab = new WPSEO_Option_Tab( 'GSC', __( 'Google Search Console', 'wordpress-seo' ), array( 'video_url' => $video_url ) ); +$gsc_help_center = new WPSEO_Help_Center( 'google-search-console', $tab, WPSEO_Utils::is_yoast_seo_premium() ); +$gsc_help_center->localize_data(); +$gsc_help_center->mount(); + +switch ( $platform_tabs->current_tab() ) { + case 'settings': + // Check if there is an access token. + if ( null === $this->service->get_client()->getAccessToken() ) { + // Print auth screen. + echo '

    '; + /* Translators: %1$s: expands to Yoast SEO, %2$s expands to Google Search Console. */ + echo sprintf( __( 'To allow %1$s to fetch your %2$s information, please enter your Google Authorization Code. Clicking the button below will open a new window.', 'wordpress-seo' ), 'Yoast SEO', 'Google Search Console' ); + echo "

    \n"; + echo ''; + echo "\n"; + + echo '

    ' . __( 'Enter your Google Authorization Code and press the Authenticate button.', 'wordpress-seo' ) . "

    \n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "
    \n"; + } + else { + $reset_button = '' . __( 'Reauthenticate with Google ', 'wordpress-seo' ) . ''; + echo '

    ', __( 'Current profile', 'wordpress-seo' ), '

    '; + if ( ($profile = WPSEO_GSC_Settings::get_profile() ) !== '' ) { + echo '

    '; + echo $profile; + echo '

    '; + + echo '

    '; + echo $reset_button; + echo '

    '; + + } + else { + echo "
    "; + + settings_fields( 'yoast_wpseo_gsc_options' ); + Yoast_Form::get_instance()->set_option( 'wpseo-gsc' ); + + echo '

    '; + if ( $profiles = $this->service->get_sites() ) { + $show_save = true; + echo Yoast_Form::get_instance()->select( 'profile', __( 'Profile', 'wordpress-seo' ), $profiles ); + } + else { + $show_save = false; + echo __( 'There were no profiles found', 'wordpress-seo' ); + } + echo '

    '; + + echo '

    '; + + if ( $show_save ) { + echo ' ' . __( 'or', 'wordpress-seo' ) , ' '; + } + echo $reset_button; + echo '

    '; + echo '
    '; + } + } + break; + + default: + $form_action_url = add_query_arg( 'page', esc_attr( filter_input( INPUT_GET, 'page' ) ) ); + + get_current_screen()->set_screen_reader_content( array( + // There are no views links in this screen, so no need for the views heading. + 'heading_views' => null, + 'heading_pagination' => __( 'Crawl issues list navigation', 'wordpress-seo' ), + 'heading_list' => __( 'Crawl issues list', 'wordpress-seo' ), + ) ); + + // Open
    . + echo "\n"; + + // AJAX nonce. + echo "\n"; + + $this->display_table(); + + // Close . + echo "
    \n"; + + break; +} +?> +'; + + printf( + /* translators: %1$s expands anchor to knowledge base article, %2$s expands to */ + __( 'Please refer to %1$sour article about how to connect your website to Google Search Console%2$s if you need assistance.', 'wordpress-seo' ), '', '' ); + + echo '

    '; +?> + +
    +admin_footer( false ); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/views/gsc-redirect-nopremium.php b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/views/gsc-redirect-nopremium.php new file mode 100644 index 00000000..1165125a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/google_search_console/views/gsc-redirect-nopremium.php @@ -0,0 +1,18 @@ +', sprintf( __( 'Creating redirects is a %s feature', 'wordpress-seo' ), 'Yoast SEO Premium' ), ''; +echo '

    '; +echo sprintf( + /* Translators: %1$s: expands to 'Yoast SEO Premium', %2$s: links to Yoast SEO Premium plugin page. */ + __( 'To be able to create a redirect and fix this issue, you need %1$s. You can buy the plugin, including one year of support and updates, on %2$s.', 'wordpress-seo' ), + 'Yoast SEO Premium', + 'yoast.com' +); +echo '

    '; +echo ''; diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/import/class-import-aioseo-hooks.php b/pole-sbv-content/plugins/wordpress-seo/admin/import/class-import-aioseo-hooks.php new file mode 100644 index 00000000..3f58cf03 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/import/class-import-aioseo-hooks.php @@ -0,0 +1,40 @@ + wp_create_nonce( 'wpseo-import' ) ), admin_url( 'admin.php?page=wpseo_tools&tool=import-export&import=1&importaioseo=1#top#import-seo' ) ); + /* translators: 1: link open tag; 2: link close tag. */ + echo '

    ', sprintf( esc_html__( 'The plugin All-In-One-SEO has been detected. Do you want to %1$simport its settings%2$s?', 'wordpress-seo' ), sprintf( '', esc_url( $url ) ), '' ), '

    '; + } + + /** + * Throw a notice to inform the user that the plugin has been deactivated + * + * @since 3.0 + */ + public function show_deactivate_notice() { + echo '

    ', esc_html__( 'All-In-One-SEO has been deactivated', 'wordpress-seo' ), '

    '; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/import/class-import-hooks.php b/pole-sbv-content/plugins/wordpress-seo/admin/import/class-import-hooks.php new file mode 100644 index 00000000..7c59f32a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/import/class-import-hooks.php @@ -0,0 +1,89 @@ +is_active() ) { + $this->show_import_message(); + $this->show_deactivate_message(); + } + } + + /** + * Handle deactivation & import of the data data + * + * @since 3.0 + */ + public function show_import_message() { + if ( filter_input( INPUT_GET, 'tool' ) !== 'import-export' ) { + add_action( 'admin_notices', array( $this, 'show_import_settings_notice' ) ); + } + } + + /** + * Handle deactivation of the plugin + * + * @since 3.0 + */ + public function show_deactivate_message() { + if ( filter_input( INPUT_GET, $this->deactivation_listener ) === '1' ) { + // Deactivate AIO. + deactivate_plugins( $this->plugin_file ); + + // Show notice that aioseo has been deactivated. + add_action( 'admin_notices', array( $this, 'show_deactivate_notice' ) ); + + // Clean up the referrer url for later use. + if ( isset( $_SERVER['REQUEST_URI'] ) ) { + $_SERVER['REQUEST_URI'] = remove_query_arg( array( $this->deactivation_listener ), sanitize_text_field( $_SERVER['REQUEST_URI'] ) ); + } + } + } + + /** + * Check if the plugin is active. + * + * @return bool + */ + protected function is_active() { + return is_plugin_active( $this->plugin_file ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/import/class-import-wpseo-hooks.php b/pole-sbv-content/plugins/wordpress-seo/admin/import/class-import-wpseo-hooks.php new file mode 100644 index 00000000..d1c1fe2c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/import/class-import-wpseo-hooks.php @@ -0,0 +1,40 @@ + wp_create_nonce( 'wpseo-import' ) ), admin_url( 'admin.php?page=wpseo_tools&tool=import-export&import=1&importwpseo=1#top#import-seo' ) ); + /* translators: 1: link open tag; 2: link close tag. */ + echo '

    ', sprintf( esc_html__( 'The plugin wpSEO has been detected. Do you want to %1$simport its settings%2$s?', 'wordpress-seo' ), sprintf( '', esc_url( $url ) ), '' ), '

    '; + } + + /** + * Throw a notice to inform the user wpSEO has been deactivated + * + * @since 3.0 + */ + public function show_deactivate_notice() { + echo '

    ', esc_html__( 'wpSEO has been deactivated', 'wordpress-seo' ), '

    '; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/index.php b/pole-sbv-content/plugins/wordpress-seo/admin/index.php new file mode 100644 index 00000000..e94d9a42 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/index.php @@ -0,0 +1,4 @@ +count = $this->get_results( $post_ids ); + } + + /** + * Gets the link count for given post id. + * + * @param int $post_id The post id. + * @param string $target_field The field to show. + * + * @return int The total amount of links. + */ + public function get( $post_id, $target_field = 'internal_link_count' ) { + if ( array_key_exists( $post_id, $this->count ) && array_key_exists( $target_field, $this->count[ $post_id ] ) ) { + return $this->count[ $post_id ][ $target_field ]; + } + + return null; + } + + /** + * Gets the link count for the given post ids. + * + * @param array $post_ids Array with post_ids. + * + * @return array + */ + protected function get_results( $post_ids ) { + global $wpdb; + + $storage = new WPSEO_Meta_Storage(); + + $results = $wpdb->get_results( + $wpdb->prepare( ' + SELECT internal_link_count, incoming_link_count, object_id + FROM ' . $storage->get_table_name() . ' + WHERE object_id IN (' . implode( ',', array_fill( 0, count( $post_ids ), '%d' ) ) . ')', + $post_ids + ), + ARRAY_A + ); + + $output = array(); + foreach ( $results as $result ) { + $output[ (int) $result['object_id'] ] = array( + 'internal_link_count' => $result['internal_link_count'], + 'incoming_link_count' => (int) $result['incoming_link_count'], + ); + } + + // Set unfound items to zero. + foreach ( $post_ids as $post_id ) { + if ( ! array_key_exists( $post_id, $output ) ) { + $output[ $post_id ] = array( + 'internal_link_count' => null, + 'incoming_link_count' => 0, + ); + } + } + + return $output; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-columns.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-columns.php new file mode 100644 index 00000000..d446f8b0 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-columns.php @@ -0,0 +1,234 @@ +storage = $storage; + } + + /** + * Registers the hooks. + */ + public function register_hooks() { + global $pagenow; + $is_ajax_request = defined( 'DOING_AJAX' ) && DOING_AJAX; + + if ( ! WPSEO_Metabox::is_post_overview( $pagenow ) && ! $is_ajax_request ) { + return; + } + + // When table doesn't exists. + if ( ! WPSEO_Link_Table_Accessible::check_table_is_accessible() || ! WPSEO_Meta_Table_Accessible::check_table_is_accessible() ) { + return; + } + + if ( $is_ajax_request ) { + add_action( 'admin_init', array( $this, 'set_count_objects' ) ); + } + + // Hook into tablenav to calculate links and linked. + add_action( 'manage_posts_extra_tablenav', array( $this, 'count_objects' ) ); + + add_filter( 'posts_clauses', array( $this, 'order_by_links' ), 1, 2 ); + add_filter( 'posts_clauses', array( $this, 'order_by_linked' ), 1, 2 ); + + add_filter( 'admin_init', array( $this, 'register_init_hooks' ) ); + } + + /** + * Register hooks that require to be registered after `init`. + */ + public function register_init_hooks() { + $this->public_post_types = WPSEO_Link_Utils::get_public_post_types(); + + if ( is_array( $this->public_post_types ) && $this->public_post_types !== array() ) { + array_walk( $this->public_post_types, array( $this, 'set_post_type_hooks' ) ); + } + } + + /** + * Modifies the query pieces to allow ordering column by links to post. + * + * @param array $pieces Array of Query pieces. + * @param \WP_Query $query The Query on which to apply. + * + * @return array + */ + public function order_by_links( $pieces, $query ) { + if ( 'wpseo-' . self::COLUMN_LINKS !== $query->get( 'orderby' ) ) { + return $pieces; + } + + return $this->build_sort_query_pieces( $pieces, $query, 'internal_link_count' ); + } + + /** + * Modifies the query pieces to allow ordering column by links to post. + * + * @param array $pieces Array of Query pieces. + * @param \WP_Query $query The Query on which to apply. + * + * @return array + */ + public function order_by_linked( $pieces, $query ) { + if ( 'wpseo-' . self::COLUMN_LINKED !== $query->get( 'orderby' ) ) { + return $pieces; + } + + return $this->build_sort_query_pieces( $pieces, $query, 'incoming_link_count' ); + } + + /** + * Builds the pieces for a sorting query. + * + * @param array $pieces Array of Query pieces. + * @param \WP_Query $query The Query on which to apply. + * @param string $field The field in the table to JOIN on. + * + * @return array Modified Query pieces. + */ + protected function build_sort_query_pieces( $pieces, $query, $field ) { + global $wpdb; + + // We only want our code to run in the main WP query. + if ( ! $query->is_main_query() ) { + return $pieces; + } + + // Get the order query variable - ASC or DESC. + $order = strtoupper( $query->get( 'order' ) ); + + // Make sure the order setting qualifies. If not, set default as ASC. + if ( ! in_array( $order, array( 'ASC', 'DESC' ), true ) ) { + $order = 'ASC'; + } + + $table = $this->storage->get_table_name(); + + $pieces['join'] .= " LEFT JOIN $table AS yst_links ON yst_links.object_id = {$wpdb->posts}.ID "; + $pieces['orderby'] = "{$field} $order, FIELD( {$wpdb->posts}.post_status, 'publish' ) $order, {$pieces['orderby']}"; + + return $pieces; + } + + /** + * Sets the hooks for each post type. + * + * @param string $post_type The post type. + */ + public function set_post_type_hooks( $post_type ) { + add_filter( 'manage_' . $post_type . '_posts_columns', array( $this, 'add_post_columns' ) ); + add_action( 'manage_' . $post_type . '_posts_custom_column', array( $this, 'column_content' ), 10, 2 ); + add_filter( 'manage_edit-' . $post_type . '_sortable_columns', array( $this, 'column_sort' ) ); + } + + /** + * Adds the columns for the post overview. + * + * @param array $columns Array with columns. + * + * @return array The extended array with columns. + */ + public function add_post_columns( array $columns ) { + $columns[ 'wpseo-' . self::COLUMN_LINKS ] = '' . __( '# links in post', 'wordpress-seo' ) . ''; + + if ( ! WPSEO_Link_Query::has_unprocessed_posts( $this->public_post_types ) ) { + $columns[ 'wpseo-' . self::COLUMN_LINKED ] = '' . __( '# internal links to', 'wordpress-seo' ) . ''; + } + + return $columns; + } + + /** + * Makes sure we calculate all values in one query. + * + * @param string $target Extra table navigation location which is triggered. + */ + public function count_objects( $target ) { + if ( 'top' === $target ) { + $this->set_count_objects(); + } + } + + /** + * Sets the objects to use for the count. + */ + public function set_count_objects() { + global $wp_query; + + $posts = $wp_query->get_posts(); + $post_ids = array(); + + // Post lists return a list of objects. + if ( isset( $posts[0] ) && is_object( $posts[0] ) ) { + $post_ids = wp_list_pluck( $posts, 'ID' ); + } + elseif ( ! empty( $posts ) ) { + // Page list returns an array of post IDs. + $post_ids = array_keys( $posts ); + } + + $post_ids = WPSEO_Link_Query::filter_unprocessed_posts( $post_ids ); + + $links = new WPSEO_Link_Column_Count(); + $links->set( $post_ids ); + + $this->link_count = $links; + } + + /** + * Displays the column content for the given column + * + * @param string $column_name Column to display the content for. + * @param int $post_id Post to display the column content for. + */ + public function column_content( $column_name, $post_id ) { + switch ( $column_name ) { + case 'wpseo-' . self::COLUMN_LINKS: + echo $this->link_count->get( $post_id, 'internal_link_count' ); + break; + case 'wpseo-' . self::COLUMN_LINKED: + if ( get_post_status( $post_id ) === 'publish' ) { + echo $this->link_count->get( $post_id, 'incoming_link_count' ); + } + break; + } + } + + /** + * Sets the sortable columns. + * + * @param array $columns Array with sortable columns. + * + * @return array The extended array with sortable columns. + */ + public function column_sort( array $columns ) { + $columns[ 'wpseo-' . self::COLUMN_LINKS ] = 'wpseo-' . self::COLUMN_LINKS; + $columns[ 'wpseo-' . self::COLUMN_LINKED ] = 'wpseo-' . self::COLUMN_LINKED; + + return $columns; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-compatibility-notifier.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-compatibility-notifier.php new file mode 100644 index 00000000..740e6e56 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-compatibility-notifier.php @@ -0,0 +1,56 @@ +add_notification( $this->get_notification() ); + } + + /** + * Removes the notification from the notification center. + */ + public function remove_notification() { + Yoast_Notification_Center::get()->remove_notification( $this->get_notification() ); + } + + /** + * Returns the notification when the version is incompatible + * + * @return Yoast_Notification The notification. + */ + protected function get_notification() { + return new Yoast_Notification( + sprintf( + /* translators: %1$s: Yoast SEO. %2$s: Version number of Yoast SEO. %3$s: PHP version %4$s: The current PHP versione. %5$s link to knowledge base article about solving PHP issue. %6$s: is anchor closing. */ + __( + 'The Text link counter feature (introduced in %1$s %2$s) is currently disabled. For this feature to work %1$s requires at least PHP version %3$s. We have detected PHP version %4$s on this website. + Please read the following %5$sknowledge base article%6$s to find out how to resolve this problem.', + 'wordpress-seo' + ), + 'Yoast SEO', + '5.0', + '5.3', + phpversion(), + '', + '' + ), + array( + 'type' => Yoast_Notification::WARNING, + 'id' => self::NOTIFICATION_ID, + 'capabilities' => 'wpseo_manage_options', + 'priority' => 0.8, + ) + ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-content-processor.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-content-processor.php new file mode 100644 index 00000000..f16e1baf --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-content-processor.php @@ -0,0 +1,137 @@ +storage = $storage; + $this->count_storage = $count_storage; + } + + /** + * Process the content for the given post id. + * + * @param int $post_id The post id. + * @param string $content The content to process. + */ + public function process( $post_id, $content ) { + if ( ! WPSEO_Link_Table_Accessible::check_table_is_accessible() || ! WPSEO_Meta_Table_Accessible::is_accessible() ) { + return; + } + + $link_extractor = new WPSEO_Link_Extractor( $content ); + $link_processor = new WPSEO_Link_Factory( + new WPSEO_Link_Type_Classifier( site_url() ), + new WPSEO_Link_Internal_Lookup(), + new WPSEO_Link_Filter( get_permalink( $post_id ) ) + ); + + $extracted_links = $link_extractor->extract(); + $links = $link_processor->build( $extracted_links ); + + $internal_links = array_filter( $links, array( $this, 'filter_internal_link' ) ); + + $stored_links = $this->get_stored_internal_links( $post_id ); + + $this->storage->cleanup( $post_id ); + $this->storage->save_links( $post_id, $links ); + + $this->update_link_counts( $post_id, count( $internal_links ), array_merge( $stored_links, $internal_links ) ); + } + + /** + * Updates the link counts for the post and referenced posts. + * + * @param int $post_id Post to update link counts for. + * @param int|null $count Number of internal links. + * @param array $links Links to process for incoming link count update. + */ + public function update_link_counts( $post_id, $count, array $links ) { + $this->store_internal_link_count( $post_id, $count ); + $this->update_incoming_links( $post_id, $links ); + } + + /** + * Retrieves the stored internal links for the supplied post. + * + * @param int $post_id The post to fetch links for. + * + * @return WPSEO_Link[] List of internal links connected to the post. + */ + public function get_stored_internal_links( $post_id ) { + $links = $this->storage->get_links( $post_id ); + return array_filter( $links, array( $this, 'filter_internal_link' ) ); + } + + /** + * Filters on INTERNAL links. + * + * @param WPSEO_Link $link Link to test type of. + * + * @return bool True for internal link, false for external link. + */ + protected function filter_internal_link( WPSEO_Link $link ) { + return $link->get_type() === WPSEO_Link::TYPE_INTERNAL; + } + + /** + * Stores the total links for the post. + * + * @param int $post_id The post id. + * @param int $internal_link_count Total amount of links in the post. + * + * @return void + */ + protected function store_internal_link_count( $post_id, $internal_link_count ) { + $this->count_storage->save_meta_data( $post_id, array( 'internal_link_count' => $internal_link_count ) ); + } + + /** + * Updates the incoming link count. + * + * @param int $post_id Post which is processed, this needs to be recalculated too. + * @param WPSEO_Link[] $links Links to update the incoming link count of. + * + * @return void + */ + protected function update_incoming_links( $post_id, $links ) { + $post_ids = $this->get_internal_post_ids( $links ); + $post_ids = array_merge( array( $post_id ), $post_ids ); + $this->count_storage->update_incoming_link_count( $post_ids, $this->storage ); + } + + /** + * Extract the post IDs from the links. + * + * @param WPSEO_Link[] $links Links to update the incoming link count of. + * + * @return int[] List of post IDs. + */ + protected function get_internal_post_ids( $links ) { + $post_ids = array(); + foreach ( $links as $link ) { + $post_ids[] = $link->get_target_post_id(); + } + + return array_filter( $post_ids ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-extractor.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-extractor.php new file mode 100644 index 00000000..691528bf --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-extractor.php @@ -0,0 +1,46 @@ +content = $content; + } + + /** + * Extracts the hrefs from the content and returns them as an array. + * + * @return array All the extracted links + */ + public function extract() { + $links = array(); + + if ( strpos( $this->content, 'href' ) === false ) { + return $links; + } + + $regexp = ']*href=("??)([^" >]*?)\\1[^>]*>'; + + // Used modifiers iU to match case insensitive and make greedy quantifiers lazy. + if ( preg_match_all( "/$regexp/iU", $this->content, $matches, PREG_SET_ORDER ) ) { + foreach ( $matches as $match ) { + $links[] = trim( $match[2], "'" ); + } + } + + return $links; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-factory.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-factory.php new file mode 100644 index 00000000..d9d025cf --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-factory.php @@ -0,0 +1,81 @@ +classifier = $classifier; + $this->internal_lookup = $internal_lookup; + $this->filter = $filter; + } + + /** + * Formats an array of links to WPSEO_Link object. + * + * @param array $extracted_links The links for format. + * + * @return WPSEO_Link[] The formatted links. + */ + public function build( array $extracted_links ) { + $extracted_links = array_map( array( $this, 'build_link' ), $extracted_links ); + $filtered_links = array_filter( $extracted_links, array( + $this->filter, + 'internal_link_with_fragment_filter', + ) ); + + return $filtered_links; + } + + /** + * Builds the link. + * + * @param string $link The link to build. + * + * @return WPSEO_Link The built link. + */ + public function build_link( $link ) { + $link_type = $this->classifier->classify( $link ); + + $target_post_id = 0; + if ( $link_type === WPSEO_Link::TYPE_INTERNAL ) { + $target_post_id = $this->internal_lookup->lookup( $link ); + } + + return self::get_link( $link, $target_post_id, $link_type ); + } + + /** + * Returns the link object. + * + * @param string $url The URL of the link. + * @param int $target_post_id The target post ID. + * @param string $type The link type. + * + * @return WPSEO_Link Generated link object. + */ + public static function get_link( $url, $target_post_id, $type ) { + return new WPSEO_Link( $url, $target_post_id, $type ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-filter.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-filter.php new file mode 100644 index 00000000..78d9060f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-filter.php @@ -0,0 +1,55 @@ +current_page_path = untrailingslashit( WPSEO_Link_Utils::get_url_part( $current_page, 'path' ) ); + } + + /** + * Filters all internal links that contains an fragment in the URL. + * + * @param WPSEO_Link $link The link that might be filtered. + * + * @return bool False when url contains a fragment. + */ + public function internal_link_with_fragment_filter( WPSEO_Link $link ) { + // When the type is external. + if ( $link->get_type() === WPSEO_Link::TYPE_EXTERNAL ) { + return true; + } + + $url_parts = wp_parse_url( $link->get_url() ); + + if ( isset( $url_parts['path'] ) ) { + return ! $this->is_current_page( untrailingslashit( $url_parts['path'] ) ); + } + + return ( ! isset( $url_parts['fragment'] ) && ! isset( $url_parts['query'] ) ); + } + + /** + * Is the url path the same as the current page path. + * + * @param string $url_path The url path. + * + * @return bool True when path is equal to the current page path. + */ + protected function is_current_page( $url_path ) { + return ( ! empty( $url_path ) && $url_path === $this->current_page_path ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-installer.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-installer.php new file mode 100644 index 00000000..5d5cc76e --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-installer.php @@ -0,0 +1,50 @@ +installables = array( + new WPSEO_Link_Storage(), + new WPSEO_Meta_Storage(), + ); + } + + /** + * Runs the installation of the link module. + */ + public function install() { + foreach ( $this->get_installables() as $installable ) { + $installable->install(); + } + } + + /** + * Adds a installable object to the installer. + * + * @param WPSEO_Installable $installable The installable object. + */ + public function add_installable( WPSEO_Installable $installable ) { + $this->installables[] = $installable; + } + + /** + * Returns the installable objects. + * + * @return WPSEO_Installable[] The installables to use. + */ + protected function get_installables() { + return $this->installables; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-internal-lookup.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-internal-lookup.php new file mode 100644 index 00000000..4e512d50 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-internal-lookup.php @@ -0,0 +1,23 @@ +has_notification() || $this->requires_notification() ) { + return; + } + + $this->remove_notification( $this->get_notification() ); + } + + /** + * Adds the notification when it isn't set already and the amount of unindexed items is greater than the set. + * threshold. + */ + public function manage_notification() { + if ( $this->has_notification() || ! $this->requires_notification() ) { + return; + } + + $this->add_notification( $this->get_notification() ); + } + + /** + * Checks if the notification has been set already. + * + * @return bool True when there is a notification. + */ + public function has_notification() { + $notification = Yoast_Notification_Center::get()->get_notification_by_id( self::NOTIFICATION_ID ); + + return $notification instanceof Yoast_Notification; + } + + /** + * Adds a notification to the notification center. + * + * @param Yoast_Notification $notification The notification to add. + */ + protected function add_notification( Yoast_Notification $notification ) { + Yoast_Notification_Center::get()->add_notification( $notification ); + } + + /** + * Removes the notification from the notification center. + * + * @param Yoast_Notification $notification The notification to remove. + */ + protected function remove_notification( Yoast_Notification $notification ) { + Yoast_Notification_Center::get()->remove_notification( $notification ); + } + + /** + * Returns an instance of the notification. + * + * @return Yoast_Notification The notification to show. + */ + protected function get_notification() { + return new Yoast_Notification( + sprintf( + /* translators: 1: link to yoast.com post about internal linking suggestion. 2: is anchor closing. 3: button to the recalculation option. 4: closing button */ + __( + 'To make sure all the links in your texts are counted, we need to analyze all your texts. + All you have to do is press the following button and we\'ll go through all your texts for you. + + %3$sCount links%4$s + + The Text link counter feature provides insights in how many links are found in your text and how many links are referring to your text. This is very helpful when you are improving your %1$sinternal linking%2$s.', + 'wordpress-seo' + ), + '', + '', + '' + ), + array( + 'type' => Yoast_Notification::WARNING, + 'id' => self::NOTIFICATION_ID, + 'capabilities' => 'wpseo_manage_options', + 'priority' => 0.8, + ) + ); + } + + /** + * Checks if the unindexed threshold is exceeded. + * + * @return bool True when the threshold is exceeded. + */ + protected function requires_notification() { + return WPSEO_Link_Query::has_unprocessed_posts( WPSEO_Link_Utils::get_public_post_types() ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-query.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-query.php new file mode 100644 index 00000000..dbcab742 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-query.php @@ -0,0 +1,162 @@ +posts . ' AS posts + LEFT JOIN ' . $count_table . ' AS yoast_meta + ON yoast_meta.object_id = posts.ID + WHERE posts.post_status = "publish" + AND posts.post_type IN ( ' . $post_types . ' ) + AND yoast_meta.internal_link_count IS NULL + LIMIT 1'; + + // If anything is found, we have unprocessed posts. + $results = $wpdb->get_var( $query ); + + return ! empty( $results ); + } + + /** + * Filter out posts that have not been processed yet. + * + * @param array $post_ids Post IDs to filter. + * + * @return array + */ + public static function filter_unprocessed_posts( array $post_ids ) { + global $wpdb; + + $post_ids = array_filter( $post_ids ); + if ( empty( $post_ids ) || array() === $post_ids ) { + return $post_ids; + } + + $count_table = self::get_count_table_name(); + + $query = ' + SELECT object_id + FROM ' . $count_table . ' + WHERE object_id IN ( ' . implode( ',', $post_ids ) . ' ) + '; + + $results = $wpdb->get_results( $query, ARRAY_A ); + + return array_map( 'intval', wp_list_pluck( $results, 'object_id' ) ); + } + + /** + * Returns a limited set of unindexed posts. + * + * @param array $post_types The post type. + * @param int $limit The limit for the resultset. + * + * @return array|null|object The set of unindexed posts. + */ + public static function get_unprocessed_posts( array $post_types, $limit = 5 ) { + global $wpdb; + + $count_table = self::get_count_table_name(); + $post_types = self::format_post_types( $post_types ); + + // @codingStandardsIgnoreStart + $results = $wpdb->get_results( + $wpdb->prepare( ' + SELECT posts.ID, posts.post_content + FROM ' . $wpdb->posts . ' AS posts + LEFT JOIN ' . $count_table . ' AS yoast_meta + ON yoast_meta.object_id = posts.ID + WHERE posts.post_status = "publish" + AND posts.post_type IN ( ' . $post_types . ' ) + AND yoast_meta.internal_link_count IS NULL + LIMIT %d + ', + $limit + ) + ); + // @codingStandardsIgnoreEnd + + return $results; + } + + /** + * Returns the total amount of unindexed posts for given post type. + * + * @param array $post_types The post types. + * + * @return int The total of unindexed posts. + */ + public static function get_unprocessed_count( array $post_types ) { + global $wpdb; + + if ( empty( $post_types ) ) { + return 0; + } + + $count_table = self::get_count_table_name(); + $post_types = self::format_post_types( $post_types ); + + // @codingStandardsIgnoreStart + $query = ' + SELECT COUNT( posts.ID ) + FROM ' . $wpdb->posts . ' AS posts + LEFT JOIN ' . $count_table . ' AS yoast_meta + ON yoast_meta.object_id = posts.ID + WHERE posts.post_status = "publish" + AND posts.post_type IN ( ' . $post_types . ' ) + AND yoast_meta.internal_link_count IS NULL'; + // @codingStandardsIgnoreEnd + + return (int) $wpdb->get_var( $query ); + } + + /** + * Returns the table name where the counts are stored. + * + * @return string + */ + protected static function get_count_table_name() { + $storage = new WPSEO_Meta_Storage(); + $count_table = $storage->get_table_name(); + + return $count_table; + } + + /** + * Formats an array with post types as an SQL string. + * + * @param array $post_types The post types to format. + * + * @return array|string + */ + protected static function format_post_types( array $post_types ) { + $sanitized_post_types = array_map( 'esc_sql', $post_types ); + $post_types = sprintf( '"%s"', implode( '", "', $sanitized_post_types ) ); + + return $post_types; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-reindex-dashboard.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-reindex-dashboard.php new file mode 100644 index 00000000..fe275276 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-reindex-dashboard.php @@ -0,0 +1,166 @@ +is_dashboard_page() ) { + return; + } + + add_action( 'admin_enqueue_scripts', array( $this, 'calculate_unprocessed' ), 9 ); + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue' ), 10 ); + + add_action( 'admin_footer', array( $this, 'modal_box' ), 20 ); + add_action( 'wpseo_internal_linking', array( $this, 'add_link_index_interface' ) ); + } + + /** + * Calculates the number of unprocessed items per post type. + * + * @return void + */ + public function calculate_unprocessed() { + $this->public_post_types = WPSEO_Link_Utils::get_public_post_types(); + + if ( is_array( $this->public_post_types ) && $this->public_post_types !== array() ) { + $this->unprocessed = WPSEO_Link_Query::get_unprocessed_count( $this->public_post_types ); + } + } + + /** + * Add the indexing interface for links to the dashboard. + */ + public function add_link_index_interface() { + $html = ''; + $html .= '

    ' . esc_html__( 'Text link counter', 'wordpress-seo' ) . '

    '; + $html .= '

    ' . sprintf( + /* translators: 1: link to yoast.com post about internal linking suggestion. 4: is Yoast.com 3: is anchor closing. */ + __( 'The links in all your public texts need to be counted. This will provide insights of which texts need more links to them. If you want to know more about the why and how of internal linking, check out %1$sthe article about internal linking on %2$s%3$s.', 'wordpress-seo' ), + '', + 'Yoast.com', + '' + ) . '

    '; + + + if ( $this->unprocessed === 0 ) { + $html .= '

    ' . $this->message_already_indexed() . '

    '; + } + + if ( $this->unprocessed > 0 ) { + $html .= ''; + } + + $html .= '
    '; + + echo $html; + } + + /** + * Generates the model box. + */ + public function modal_box() { + if ( ! $this->is_dashboard_page() ) { + return; + } + + // Adding the thickbox. + add_thickbox(); + + $blocks = array(); + + if ( $this->unprocessed === 0 ) { + $inner_text = sprintf( '

    %s

    ', + esc_html( __( 'All your texts are already counted, there is no need to count them again.', 'wordpress-seo' ) ) + ); + } + + if ( $this->unprocessed > 0 ) { + $progress = sprintf( + /* translators: 1: expands to a containing the number of items recalculated. 2: expands to a containing the total number of items. */ + __( 'Text %1$s of %2$s processed.', 'wordpress-seo' ), + '0', + sprintf( '%d', $this->unprocessed ) + ); + + $inner_text = ''; + $inner_text .= sprintf( '

    %s

    ', $progress ); + } + + $blocks[] = sprintf( '

    %s

    %s
    ', + esc_html( __( 'Counting links in your texts', 'wordpress-seo' ) ), + $inner_text + ); + ?> + + enqueue_script( 'reindex-links' ); + + $data = array( + 'amount' => $this->unprocessed, + 'restApi' => array( + 'root' => esc_url_raw( rest_url() ), + 'endpoint' => WPSEO_Link_Reindex_Post_Endpoint::REST_NAMESPACE . '/' . WPSEO_Link_Reindex_Post_Endpoint::ENDPOINT_QUERY, + 'nonce' => wp_create_nonce( 'wp_rest' ), + ), + 'message' => array( + 'indexingCompleted' => $this->message_already_indexed(), + ), + 'l10n' => array( + 'calculationInProgress' => __( 'Calculation in progress...', 'wordpress-seo' ), + 'calculationCompleted' => __( 'Calculation completed.', 'wordpress-seo' ), + ), + ); + + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'reindex-links', 'yoastReindexLinksData', array( 'data' => $data ) ); + } + + + /** + * Checks if the current page is the dashboard page. + * + * @return bool True when current page is the dashboard page. + */ + protected function is_dashboard_page() { + return ( filter_input( INPUT_GET, 'page' ) === 'wpseo_dashboard' ); + } + + /** + * When everything has been indexed already. + * + * @return string + */ + protected function message_already_indexed() { + return '' . esc_html__( 'Good job! All the links in your texts have been counted.', 'wordpress-seo' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-reindex-post-endpoint.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-reindex-post-endpoint.php new file mode 100644 index 00000000..d7dfa5ce --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-reindex-post-endpoint.php @@ -0,0 +1,54 @@ +service = $service; + } + + /** + * Register the REST endpoint to WordPress. + */ + public function register() { + register_rest_route( self::REST_NAMESPACE, self::ENDPOINT_QUERY, array( + 'methods' => 'GET', + 'callback' => array( + $this->service, + 'reindex', + ), + 'permission_callback' => array( + $this, + 'can_retrieve_data', + ), + ) ); + } + + /** + * Determines if the current user is allowed to use this endpoint. + * + * @return bool + */ + public function can_retrieve_data() { + return current_user_can( self::CAPABILITY_RETRIEVE ); + } +} + diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-reindex-post-service.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-reindex-post-service.php new file mode 100644 index 00000000..95eef9b2 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-reindex-post-service.php @@ -0,0 +1,30 @@ +post_content ); + $content = str_replace( ']]>', ']]>', $content ); + + $content_processor->process( $post->ID, $content ); + } + + return new WP_REST_Response( count( $posts ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-storage.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-storage.php new file mode 100644 index 00000000..2ba37811 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-storage.php @@ -0,0 +1,150 @@ +get_blog_prefix(); + } + + $this->table_prefix = $table_prefix; + $this->database_proxy = new WPSEO_Database_Proxy( $GLOBALS['wpdb'], $this->get_table_name(), true ); + } + + /** + * Returns the table name to use. + * + * @return string The table name. + */ + public function get_table_name() { + return $this->table_prefix . self::TABLE_NAME; + } + + /** + * Creates the database table. + * + * @return boolean True if the table was created, false if something went wrong. + */ + public function install() { + return $this->database_proxy->create_table( + array( + 'id bigint(20) unsigned NOT NULL AUTO_INCREMENT', + 'url varchar(255) NOT NULL', + 'post_id bigint(20) unsigned NOT NULL', + 'target_post_id bigint(20) unsigned NOT NULL', + 'type VARCHAR(8) NOT NULL', + ), + array( + 'PRIMARY KEY (id)', + 'KEY link_direction (post_id, type)', + ) + ); + } + + /** + * Returns an array of links from the database. + * + * @param int $post_id The post to get the links for. + * + * @return WPSEO_Link[] The links connected to the post. + */ + public function get_links( $post_id ) { + global $wpdb; + + $results = $this->database_proxy->get_results( + $wpdb->prepare( ' + SELECT url, post_id, target_post_id, type + FROM ' . $this->get_table_name() . ' + WHERE post_id = %d', + $post_id + ) + ); + + if ( $this->database_proxy->has_error() ) { + WPSEO_Link_Table_Accessible::set_inaccessible(); + } + + $links = array(); + foreach ( $results as $link ) { + $links[] = WPSEO_Link_Factory::get_link( $link->url, $link->target_post_id, $link->type ); + } + + return $links; + } + + /** + * Walks the given links to save them. + * + * @param integer $post_id The post id to save. + * @param WPSEO_Link[] $links The link to save. + * + * @return void + */ + public function save_links( $post_id, array $links ) { + array_walk( $links, array( $this, 'save_link' ), $post_id ); + } + + /** + * Removes all records for given post_id. + * + * @param int $post_id The post_id to remove the records for. + * + * @return int|false The number of rows updated, or false on error. + */ + public function cleanup( $post_id ) { + $is_deleted = $this->database_proxy->delete( + array( 'post_id' => $post_id ), + array( '%d' ) + ); + + if ( $is_deleted === false ) { + WPSEO_Link_Table_Accessible::set_inaccessible(); + } + + return $is_deleted; + } + + /** + * Inserts the link into the database. + * + * @param WPSEO_Link $link The link to save. + * @param int $link_key The link key. Unused. + * @param int $post_id The post id to save the link for. + * + * @return void + */ + protected function save_link( WPSEO_Link $link, $link_key, $post_id ) { + $inserted = $this->database_proxy->insert( + array( + 'url' => $link->get_url(), + 'post_id' => $post_id, + 'target_post_id' => $link->get_target_post_id(), + 'type' => $link->get_type(), + ), + array( '%s', '%d', '%d', '%s' ) + ); + + if ( $inserted === false ) { + WPSEO_Link_Table_Accessible::set_inaccessible(); + } + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-table-accessible-notifier.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-table-accessible-notifier.php new file mode 100644 index 00000000..7a6f7ec5 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-table-accessible-notifier.php @@ -0,0 +1,54 @@ +add_notification( $this->get_notification() ); + } + + /** + * Removes the notification from the notification center. + */ + public function remove_notification() { + Yoast_Notification_Center::get()->remove_notification( $this->get_notification() ); + } + + /** + * Returns the notification when the table is not accessible. + * + * @return Yoast_Notification The notification. + */ + protected function get_notification() { + return new Yoast_Notification( + sprintf( + /* translators: %1$s: Yoast SEO. %2$s: Version number of Yoast SEO. %3$s: link to knowledge base article about solving table issue. %4$s: is anchor closing. */ + __( + 'The Text link counter feature (introduced in %1$s %2$s) is currently disabled. For this feature to work %1$s needs to create a table in your database. We were unable to create this table automatically. + Please read the following %3$sknowledge base article%4$s to find out how to resolve this problem.', + 'wordpress-seo' + ), + 'Yoast SEO', + '5.0', + '', + '' + ), + array( + 'type' => Yoast_Notification::WARNING, + 'id' => self::NOTIFICATION_ID, + 'capabilities' => 'wpseo_manage_options', + 'priority' => 0.8, + ) + ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-table-accessible.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-table-accessible.php new file mode 100644 index 00000000..c8536589 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-table-accessible.php @@ -0,0 +1,61 @@ +get_var( 'SHOW TABLES LIKE "' . $storage->get_table_name() . '"' ) !== $storage->get_table_name() ) { + self::set_inaccessible(); + return false; + } + + return true; + } + + /** + * Removes the transient. + * + * @return void + */ + public static function cleanup() { + delete_transient( self::transient_name() ); + } + + /** + * Returns the name of the transient. + * + * @return string The name of the transient to use. + */ + protected static function transient_name() { + return 'wpseo_link_table_accessible'; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-type-classifier.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-type-classifier.php new file mode 100644 index 00000000..25c21180 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-type-classifier.php @@ -0,0 +1,93 @@ +base_host = WPSEO_Link_Utils::get_url_part( $base_url, 'host' ); + + $base_path = WPSEO_Link_Utils::get_url_part( $base_url, 'path' ); + if ( $base_path ) { + $this->base_path = trailingslashit( $base_path ); + } + } + + /** + * Determines if the given link is an outbound or an internal link. + * + * @param string $link The link to classify. + * + * @return string Returns outbound or internal. + */ + public function classify( $link ) { + $url_parts = wp_parse_url( $link ); + + // Because parse_url may return false. + if ( ! is_array( $url_parts ) ) { + $url_parts = array(); + } + + if ( $this->contains_protocol( $url_parts ) && $this->is_external_link( $url_parts ) ) { + return WPSEO_Link::TYPE_EXTERNAL; + } + + return WPSEO_Link::TYPE_INTERNAL; + } + + /** + * Returns true when the link starts with https:// or http:// + * + * @param array $url_parts The url parts to use. + * + * @return bool True if the url starts with a protocol. + */ + protected function contains_protocol( array $url_parts ) { + return isset( $url_parts['scheme'] ) && $url_parts['scheme'] !== null; + } + + /** + * Checks if the link contains the home_url. Returns true if this isn't the case. + * + * @param array $url_parts The url parts to use. + * + * @return bool True when the link doesn't contain the home url. + */ + protected function is_external_link( array $url_parts ) { + if ( isset( $url_parts['scheme'] ) && ! in_array( $url_parts['scheme'], array( 'http', 'https' ), true ) ) { + return true; + } + // When the base host is equal to the host. + if ( isset( $url_parts['host'] ) && $url_parts['host'] !== $this->base_host ) { + return true; + } + + // There is no base path. + if ( empty( $this->base_path ) ) { + return false; + } + + // When there is a path. + if ( isset( $url_parts['path'] ) ) { + return ( strpos( $url_parts['path'], $this->base_path ) === false ); + } + + return true; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-utils.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-utils.php new file mode 100644 index 00000000..ceda79b1 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-utils.php @@ -0,0 +1,50 @@ + true ) ); + + return array_filter( $public_post_types, array( __CLASS__, 'filter_post_types' ) ); + } + + /** + * Returns the value that is part of the given url. + * + * @param string $url The url to parse. + * @param string $part The url part to use. + * + * @return string The value of the url part. + */ + public static function get_url_part( $url, $part ) { + $url_parts = wp_parse_url( $url ); + + if ( isset( $url_parts[ $part ] ) ) { + return $url_parts[ $part ]; + } + + return ''; + } + + /** + * Filters the post types to remove unwanted items. + * + * @param string $public_post_type The post type to filter. + * + * @return bool Returns true if it is kept, false if removed. + */ + protected static function filter_post_types( $public_post_type ) { + return ! ( $public_post_type === 'attachment' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-watcher-loader.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-watcher-loader.php new file mode 100644 index 00000000..5e82c944 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-watcher-loader.php @@ -0,0 +1,23 @@ +register_hooks(); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-watcher.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-watcher.php new file mode 100644 index 00000000..64003769 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link-watcher.php @@ -0,0 +1,104 @@ +content_processor = $content_processor; + } + + /** + * Registers the hooks. + * + * @returns void + */ + public function register_hooks() { + add_action( 'save_post', array( $this, 'save_post' ), 10, 2 ); + add_action( 'delete_post', array( $this, 'delete_post' ) ); + } + + /** + * Saves the links that are used in the post. + * + * @param int $post_id The post id to. + * @param WP_Post $post The post object. + * + * @return void + */ + public function save_post( $post_id, WP_Post $post ) { + // When the post is a revision. + if ( wp_is_post_revision( $post->ID ) ) { + return; + } + + // When the post isn't processable, just remove the saved links. + if ( ! $this->is_processable( $post_id ) ) { + return; + } + + $this->process( $post_id, $post->post_content ); + } + + /** + * Removes the seo links when the post is deleted. + * + * @param int $post_id The post id. + * + * @return void + */ + public function delete_post( $post_id ) { + // Fetch links to update related linked objects. + $links = $this->content_processor->get_stored_internal_links( $post_id ); + + // Update the storage, remove all links for this post. + $storage = new WPSEO_Link_Storage(); + $storage->cleanup( $post_id ); + + // Update link counts for object and referenced links. + $this->content_processor->update_link_counts( $post_id, 0, $links ); + } + + /** + * Checks if the post is processable. + * + * @param int $post_id The post id. + * + * @return bool True when the post is processable. + */ + protected function is_processable( $post_id ) { + // When the post type is not public. + $post_type = get_post_type( $post_id ); + $post_type_object = get_post_type_object( $post_type ); + + return ( $post_type_object !== null && $post_type_object->public === true ); + } + + /** + * Processes the content for the given post id. + * + * @param int $post_id The post id to process. + * @param string $content The content to process. + * + * @return void + */ + private function process( $post_id, $content ) { + // Apply the filters to have the same content as shown on the frontend. + $content = apply_filters( 'the_content', $content ); + $content = str_replace( ']]>', ']]>', $content ); + + $this->content_processor->process( $post_id, $content ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link.php b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link.php new file mode 100644 index 00000000..66fdc5ea --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/links/class-link.php @@ -0,0 +1,62 @@ +url = $url; + $this->target_post_id = $target_post_id; + $this->type = $type; + } + + /** + * Returns the set URL. + * + * @return string The set url. + */ + public function get_url() { + return $this->url; + } + + /** + * Returns the set target post id. + * + * @return int The set target post id. + */ + public function get_target_post_id() { + return (int) $this->target_post_id; + } + + /** + * Return the set link type. + * + * @return string The set link type. + */ + public function get_type() { + return $this->type; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/menu/class-admin-menu.php b/pole-sbv-content/plugins/wordpress-seo/admin/menu/class-admin-menu.php new file mode 100644 index 00000000..8bd137e0 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/menu/class-admin-menu.php @@ -0,0 +1,272 @@ +menu = $menu; + } + + /** + * Registers all hooks to WordPress. + * + * @return void + */ + public function register_hooks() { + // Needs the lower than default priority so other plugins can hook underneath it without issue. + add_action( 'admin_menu', array( $this, 'register_settings_page' ), 5 ); + } + + /** + * Registers the menu item submenus. + */ + public function register_settings_page() { + $can_manage_options = WPSEO_Capability_Utils::current_user_can( $this->get_manage_capability() ); + + if ( $can_manage_options ) { + /* + * The current user has the capability to control anything. + * This means that all submenus and dashboard can be shown. + */ + global $admin_page_hooks; + + add_menu_page( + 'Yoast SEO: ' . __( 'Dashboard', 'wordpress-seo' ), + __( 'SEO', 'wordpress-seo' ) . ' ' . $this->get_notification_counter(), + $this->get_manage_capability(), + $this->menu->get_page_identifier(), + $this->get_admin_page_callback(), + WPSEO_Utils::get_icon_svg(), + '99.31337' + ); + + $admin_page_hooks[ $this->menu->get_page_identifier() ] = 'seo'; // Wipe notification bits from hooks. R. + } + + // Get all submenu pages. + $submenu_pages = $this->get_submenu_pages(); + + // Add submenu items to the main menu if possible. + if ( $can_manage_options ) { + $this->register_submenu_pages( $submenu_pages ); + } + + /* + * If the user does not have the general manage options capability, + * we need to make sure the desired sub-item can be reached. + */ + if ( ! $can_manage_options ) { + $this->register_menu_pages( $submenu_pages ); + } + } + + /** + * Registers submenu pages as menu pages. + * + * @param array $submenu_pages List of submenu pages. + */ + protected function register_menu_pages( $submenu_pages ) { + if ( ! is_array( $submenu_pages ) || $submenu_pages === array() ) { + return; + } + + // Loop through submenu pages and add them. + foreach ( $submenu_pages as $submenu_page ) { + if ( $submenu_page[3] === $this->get_manage_capability() ) { + continue; + } + + // Register submenu as menu page. + add_menu_page( + 'Yoast SEO: ' . $submenu_page[2], + $submenu_page[2], + $submenu_page[3], + $submenu_page[4], + $submenu_page[5], + WPSEO_Utils::get_icon_svg(), + '99.31337' + ); + } + } + + /** + * Returns the list of registered submenu pages. + * + * @return array List of registered submenu pages. + */ + protected function get_submenu_pages() { + global $wpseo_admin; + + /** WPSEO_Admin $wpseo_admin */ + $admin_features = $wpseo_admin->get_admin_features(); + + // Submenu pages. + $submenu_pages = array( + $this->get_submenu_page( __( 'General', 'wordpress-seo' ), $this->menu->get_page_identifier() ), + $this->get_submenu_page( __( 'Titles & Metas', 'wordpress-seo' ), 'wpseo_titles' ), + $this->get_submenu_page( __( 'Social', 'wordpress-seo' ), 'wpseo_social' ), + $this->get_submenu_page( __( 'XML Sitemaps', 'wordpress-seo' ), 'wpseo_xml' ), + $this->get_submenu_page( __( 'Advanced', 'wordpress-seo' ), 'wpseo_advanced' ), + $this->get_submenu_page( __( 'Tools', 'wordpress-seo' ), 'wpseo_tools' ), + $this->get_submenu_page( + __( 'Search Console', 'wordpress-seo' ), + 'wpseo_search_console', + array( $admin_features['google_search_console'], 'display' ), + array( array( $admin_features['google_search_console'], 'set_help' ) ) + ), + $this->get_submenu_page( $this->get_license_page_title(), 'wpseo_licenses' ), + ); + + /** + * Filter: 'wpseo_submenu_pages' - Collects all submenus that need to be shown. + * + * @api array $submenu_pages List with all submenu pages. + */ + return (array) apply_filters( 'wpseo_submenu_pages', $submenu_pages ); + } + + /** + * Creates a submenu formatted array. + * + * @param string $page_title Page title to use. + * @param string $page_slug Page slug to use. + * @param callable $callback Optional. Callback which handles the page request. + * @param callable[] $hook Optional. Hook to trigger when the page is registered. + * + * @return array Formatted submenu. + */ + protected function get_submenu_page( $page_title, $page_slug, $callback = null, $hook = null ) { + if ( $callback === null ) { + $callback = $this->get_admin_page_callback(); + } + + return array( + $this->menu->get_page_identifier(), + '', + $page_title, + $this->get_manage_capability(), + $page_slug, + $callback, + $hook, + ); + } + + /** + * Registers the submenu pages. + * + * This is only done when the user has the `wpseo_manage_options` capability, + * thus all capabilities can be set to this capability. + * + * @param array $submenu_pages List of submenu pages to register. + * + * @return void + */ + protected function register_submenu_pages( $submenu_pages ) { + if ( ! is_array( $submenu_pages ) || $submenu_pages === array() ) { + return; + } + + // Loop through submenu pages and add them. + foreach ( $submenu_pages as $submenu_page ) { + $page_title = $submenu_page[2]; + + // We cannot use $submenu_page[1] because add-ons define that, so hard-code this value. + if ( $submenu_page[4] === 'wpseo_licenses' ) { + $page_title = $this->get_license_page_title(); + } + + $page_title .= ' - Yoast SEO'; + + /* + * Add submenu page. + * + * If we don't register this on `wpseo_manage_options`, admin users with only this capability + * will not be able to see the submenus which are configured with something else, + * thus all submenu pages are registered with the `wpseo_manage_options` capability here. + */ + $admin_page = add_submenu_page( $submenu_page[0], $page_title, $submenu_page[2], $this->get_manage_capability(), $submenu_page[4], $submenu_page[5] ); + + // Check if we need to hook. + if ( isset( $submenu_page[6] ) && ( is_array( $submenu_page[6] ) && $submenu_page[6] !== array() ) ) { + foreach ( $submenu_page[6] as $submenu_page_action ) { + add_action( 'load-' . $admin_page, $submenu_page_action ); + } + } + } + + // Use WordPress global $submenu to directly access it's properties. + global $submenu; + if ( isset( $submenu[ $this->menu->get_page_identifier() ] ) && WPSEO_Capability_Utils::current_user_can( $this->get_manage_capability() ) ) { + $submenu[ $this->menu->get_page_identifier() ][0][0] = __( 'Dashboard', 'wordpress-seo' ); + } + } + + /** + * Returns the notification count in HTML format. + * + * @return string The notification count in HTML format. + */ + protected function get_notification_counter() { + $notification_center = Yoast_Notification_Center::get(); + $notification_count = $notification_center->get_notification_count(); + + // Add main page. + /* translators: %s: number of notifications */ + $notifications = sprintf( _n( '%s notification', '%s notifications', $notification_count, 'wordpress-seo' ), number_format_i18n( $notification_count ) ); + + $counter = sprintf( '%2$s', $notification_count, $notifications ); + + return $counter; + } + + /** + * Returns the capability that is required to manage all options. + * + * @return string Capability to check against. + */ + protected function get_manage_capability() { + /** + * Filter: 'wpseo_manage_options_capability' - Allow changing the capability users need to view the settings pages + * + * @deprecated 5.5 + * @api string unsigned The capability + */ + return apply_filters_deprecated( 'wpseo_manage_options_capability', array( 'wpseo_manage_options' ), 'WPSEO 5.5.0', false,'Use the introduced wpseo_manage_options capability instead.' ); + } + + /** + * Returns the page handler callback. + * + * @return array Callback page handler. + */ + protected function get_admin_page_callback() { + return array( $this->menu, 'load_page' ); + } + + /** + * Returns the page title to use for the licenses page. + * + * @return string The title for the license page. + */ + protected function get_license_page_title() { + static $title = null; + + if ( $title === null ) { + $title = __( 'Premium', 'wordpress-seo' ); + } + + return $title; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/menu/class-menu.php b/pole-sbv-content/plugins/wordpress-seo/admin/menu/class-menu.php new file mode 100644 index 00000000..6d7f4fdf --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/menu/class-menu.php @@ -0,0 +1,104 @@ +register_hooks(); + + $network_admin_menu = new WPSEO_Network_Admin_Menu( $this ); + $network_admin_menu->register_hooks(); + + $submenu_hider = new WPSEO_Submenu_Hider(); + $submenu_hider->register_hooks(); + + $capability_normalizer = new WPSEO_Submenu_Capability_Normalize(); + $capability_normalizer->register_hooks(); + } + + /** + * Returns the main menu page identifier. + * + * @return string Page identifier to use. + */ + public function get_page_identifier() { + return self::PAGE_IDENTIFIER; + } + + /** + * Loads the requested admin settings page. + * + * @return void + */ + public function load_page() { + $page = filter_input( INPUT_GET, 'page' ); + $this->show_page( $page ); + } + + /** + * Shows an admin settings page. + * + * @param string $page Page to display. + * + * @return void + */ + protected function show_page( $page ) { + switch ( $page ) { + case 'wpseo_advanced': + require_once WPSEO_PATH . 'admin/pages/advanced.php'; + break; + + case 'wpseo_tools': + require_once WPSEO_PATH . 'admin/pages/tools.php'; + break; + + case 'wpseo_titles': + require_once WPSEO_PATH . 'admin/pages/metas.php'; + break; + + case 'wpseo_social': + require_once WPSEO_PATH . 'admin/pages/social.php'; + break; + + case 'wpseo_xml': + require_once WPSEO_PATH . 'admin/pages/xml-sitemaps.php'; + break; + + case 'wpseo_licenses': + require_once WPSEO_PATH . 'admin/pages/licenses.php'; + break; + + case 'wpseo_files': + require_once WPSEO_PATH . 'admin/views/tool-file-editor.php'; + break; + + case 'wpseo_tutorial_videos': + require_once WPSEO_PATH . 'admin/pages/tutorial-videos.php'; + break; + + case 'wpseo_configurator': + require_once WPSEO_PATH . 'admin/config-ui/class-configuration-page.php'; + break; + + default: + require_once WPSEO_PATH . 'admin/pages/dashboard.php'; + break; + } + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/menu/class-network-admin-menu.php b/pole-sbv-content/plugins/wordpress-seo/admin/menu/class-network-admin-menu.php new file mode 100644 index 00000000..adaa4d45 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/menu/class-network-admin-menu.php @@ -0,0 +1,82 @@ +menu = $menu; + } + + /** + * Registers all hooks to WordPress. + * + * @return void + */ + public function register_hooks() { + // Needs the lower than default priority so other plugins can hook underneath it without issue. + add_action( 'network_admin_menu', array( $this, 'register_settings_page' ), 5 ); + } + + /** + * Register the settings page for the Network settings. + * + * @return void + */ + public function register_settings_page() { + if ( ! WPSEO_Capability_Utils::current_user_can( 'wpseo_manage_options' ) ) { + return; + } + + $page_callback = array( $this->menu, 'load_page' ); + + add_menu_page( + 'Yoast SEO: ' . __( 'MultiSite Settings', 'wordpress-seo' ), + __( 'SEO', 'wordpress-seo' ), + 'delete_users', + $this->menu->get_page_identifier(), + array( $this, 'network_config_page' ), + WPSEO_Utils::get_icon_svg() + ); + + if ( WPSEO_Utils::allow_system_file_edit() === true ) { + add_submenu_page( + $this->menu->get_page_identifier(), + 'Yoast SEO: ' . __( 'Edit Files', 'wordpress-seo' ), + __( 'Edit Files', 'wordpress-seo' ), + 'delete_users', 'wpseo_files', + $page_callback + ); + } + + // Add Extension submenu page. + add_submenu_page( + $this->menu->get_page_identifier(), + 'Yoast SEO: ' . __( 'Extensions', 'wordpress-seo' ), + __( 'Extensions', 'wordpress-seo' ), + 'delete_users', + 'wpseo_licenses', + $page_callback + ); + } + + /** + * Loads the form for the network configuration page. + * + * @return void + */ + public function network_config_page() { + require_once WPSEO_PATH . 'admin/pages/network.php'; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/menu/class-submenu-capability-normalize.php b/pole-sbv-content/plugins/wordpress-seo/admin/menu/class-submenu-capability-normalize.php new file mode 100644 index 00000000..c7fa3270 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/menu/class-submenu-capability-normalize.php @@ -0,0 +1,39 @@ + $submenu_page ) { + if ( $submenu_page[3] === 'manage_options' ) { + $submenu_pages[ $index ][3] = 'wpseo_manage_options'; + } + } + + return $submenu_pages; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/menu/class-submenu-hider.php b/pole-sbv-content/plugins/wordpress-seo/admin/menu/class-submenu-hider.php new file mode 100644 index 00000000..15605dcd --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/menu/class-submenu-hider.php @@ -0,0 +1,68 @@ +unhide_page( $pages_to_hide, $page ); + } + + foreach ( $pages as $page_key => $page ) { + $page_name = $page[4]; + + if ( in_array( $page_name, $pages_to_hide, true ) ) { + unset( $pages[ $page_key ] ); + } + } + + return $pages; + } + + /** + * Given a list of passed pages that will be disabled, removes the given page from the list so that it will no longer be disabled. + * + * @param array $hidden_pages The pages to search through. + * @param string $page The page to temporarily enable. + * + * @return array The remaining pages that need to be disabled. + */ + private function unhide_page( $hidden_pages, $page ) { + $enable_page = array_search( $page, $hidden_pages, true ); + + if ( $enable_page !== false ) { + unset( $hidden_pages[ $enable_page ] ); + } + + return $hidden_pages; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-add-keyword-tab.php b/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-add-keyword-tab.php new file mode 100644 index 00000000..c185d405 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-add-keyword-tab.php @@ -0,0 +1,67 @@ + +
  • + +
  • + + ' . sprintf( __( 'Great news: you can, with %1$s!', 'wordpress-seo' ), + 'Yoast SEO Premium' + ) . '

    '; + $popup_content .= '

    ' . sprintf( + /* translators: %s expands to 'Yoast SEO Premium'. */ + __( 'Other benefits of %s for you:', 'wordpress-seo' ), 'Yoast SEO Premium' + ) . '

    '; + $popup_content .= '
      '; + $popup_content .= '
    • ' . sprintf( + /* translators: %1$s expands to a 'strong' start tag, %2$s to a 'strong' end tag. */ + __( '%1$sNo more dead links%2$s: easy redirect manager', 'wordpress-seo' ), '', '' + ) . '
    • '; + $popup_content .= '
    • ' . __( 'Superfast internal links suggestions', 'wordpress-seo' ) . '
    • '; + $popup_content .= '
    • ' . sprintf( + /* translators: %1$s expands to a 'strong' start tag, %2$s to a 'strong' end tag. */ + __( '%1$sSocial media preview%2$s: Facebook & Twitter', 'wordpress-seo' ), '', '' + ) . '
    • '; + $popup_content .= '
    • ' . __( '24/7 support', 'wordpress-seo' ) . '
    • '; + $popup_content .= '
    • ' . __( 'No ads!', 'wordpress-seo' ) . '
    • '; + $popup_content .= '
    '; + $premium_popup = new WPSEO_Premium_Popup( 'add-keyword', 'h1', $popup_title, $popup_content ); + echo $premium_popup->get_premium_message(); + + return ob_get_clean(); + } + + /** + * Returns an empty string because this tab has no content + * + * @return string + */ + public function content() { + return ''; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-addon-section.php b/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-addon-section.php new file mode 100644 index 00000000..3f783c98 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-addon-section.php @@ -0,0 +1,37 @@ + +
    +
    +
      + +
    +
    + +
    + is_globally_enabled() && $this->is_user_enabled(); + } + + /** + * Whether or not this analysis is enabled by the user. + * + * @return bool Whether or not this analysis is enabled by the user. + */ + public function is_user_enabled() { + return ! get_the_author_meta( 'wpseo_content_analysis_disable', get_current_user_id() ); + } + + /** + * Whether or not this analysis is enabled globally. + * + * @return bool Whether or not this analysis is enabled globally. + */ + public function is_globally_enabled() { + $options = WPSEO_Options::get_option( 'wpseo' ); + + return (bool) $options['content_analysis_active']; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-analysis-seo.php b/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-analysis-seo.php new file mode 100644 index 00000000..828f6d38 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-analysis-seo.php @@ -0,0 +1,39 @@ +is_globally_enabled() && $this->is_user_enabled(); + } + + /** + * Whether or not this analysis is enabled by the user. + * + * @return bool Whether or not this analysis is enabled by the user. + */ + public function is_user_enabled() { + return ! get_the_author_meta( 'wpseo_keyword_analysis_disable', get_current_user_id() ); + } + + /** + * Whether or not this analysis is enabled globally. + * + * @return bool Whether or not this analysis is enabled globally. + */ + public function is_globally_enabled() { + $options = WPSEO_Options::get_option( 'wpseo' ); + + return (bool) $options['keyword_analysis_active']; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-editor.php b/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-editor.php new file mode 100644 index 00000000..d3dd10b9 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-editor.php @@ -0,0 +1,64 @@ +special_styles(); + /** @var WPSEO_Admin_Asset $inside_editor */ + $inside_editor = $styles['inside-editor']; + + $url = $inside_editor->get_url( WPSEO_Admin_Asset::TYPE_CSS, WPSEO_FILE ); + + if ( '' === $css_files ) { + $css_files = $url; + } + else { + $css_files .= ',' . $url; + } + + return $css_files; + } + + /** + * Adds a custom element to the tinyMCE editor that we need for marking the content. + * + * @param array $tinymce_config The tinyMCE config as configured by WordPress. + * + * @return array The new tinyMCE config with our added custom elements. + */ + public function add_custom_element( $tinymce_config ) { + if ( ! empty( $tinymce_config['custom_elements'] ) ) { + $custom_elements = $tinymce_config['custom_elements']; + + $custom_elements .= ',~yoastmark'; + } + else { + $custom_elements = '~yoastmark'; + } + + $tinymce_config['custom_elements'] = $custom_elements; + + return $tinymce_config; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-form-tab.php b/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-form-tab.php new file mode 100644 index 00000000..2107e002 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-form-tab.php @@ -0,0 +1,115 @@ + '', + 'link_class' => '', + 'link_title' => '', + 'link_aria_label' => '', + 'single' => false, + ); + $options = array_merge( $default_options, $options ); + + $this->name = $name; + $this->content = $content; + $this->link_content = $link_content; + $this->tab_class = $options['tab_class']; + $this->link_class = $options['link_class']; + $this->link_title = $options['link_title']; + $this->link_aria_label = $options['link_aria_label']; + $this->single = $options['single']; + } + + /** + * Returns the html for the tab link. + * + * @return string + */ + public function link() { + + $html = '
  • %6$s
  • '; + + if ( $this->single ) { + $html = '
  • %6$s
  • '; + } + + return sprintf( + $html, + esc_attr( $this->name ), + ( '' !== $this->tab_class ) ? ' ' . esc_attr( $this->tab_class ) : '', + ( '' !== $this->link_class ) ? ' ' . esc_attr( $this->link_class ) : '', + ( '' !== $this->link_title ) ? ' title="' . esc_attr( $this->link_title ) . '"' : '', + ( '' !== $this->link_aria_label ) ? ' aria-label="' . esc_attr( $this->link_aria_label ) . '"' : '', + $this->link_content + ); + } + + /** + * Returns the html for the tab content. + * + * @return string + */ + public function content() { + return sprintf( + '
    %2$s
    ', + esc_attr( $this->name ), + $this->content + ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-tab-section.php b/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-tab-section.php new file mode 100644 index 00000000..e49e97a0 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox-tab-section.php @@ -0,0 +1,140 @@ + '', + 'link_class' => '', + 'link_aria_label' => '', + ); + $options = array_merge( $default_options, $options ); + + $this->name = $name; + foreach ( $tabs as $tab ) { + $this->add_tab( $tab ); + } + $this->link_content = $link_content; + $this->link_title = $options['link_title']; + $this->link_class = $options['link_class']; + $this->link_aria_label = $options['link_aria_label']; + } + + /** + * Outputs the section link if any tab has been added. + */ + public function display_link() { + if ( $this->has_tabs() ) { + printf( + '
  • %5$s
  • ', + esc_attr( $this->name ), + esc_attr( $this->link_class ), + ( '' !== $this->link_title ) ? ' title="' . esc_attr( $this->link_title ) . '"' : '', + ( '' !== $this->link_aria_label ) ? ' aria-label="' . esc_attr( $this->link_aria_label ) . '"' : '', + $this->link_content + ); + } + } + + /** + * Outputs the section content if any tab has been added. + */ + public function display_content() { + if ( $this->has_tabs() ) { + $html = '
    '; + $html .= '
    '; + $html .= '
      %2$s
    %3$s'; + $html .= '
    '; + + printf( $html, esc_attr( $this->name ), $this->tab_links(), $this->tab_content() ); + } + } + + /** + * Add a `WPSEO_Metabox_Tab` object to the tabs. + * + * @param WPSEO_Metabox_Tab $tab Tab to add. + */ + public function add_tab( WPSEO_Metabox_Tab $tab ) { + $this->tabs[] = $tab; + } + + /** + * Checks if any tabs have been added to the section. + * + * @return bool + */ + protected function has_tabs() { + return ! empty( $this->tabs ); + } + + /** + * Concatenates all tabs' links into one html string. + * + * @return string + */ + private function tab_links() { + $links = ''; + foreach ( $this->tabs as $tab ) { + $links .= $tab->link(); + } + return $links; + } + + /** + * Concatenates all tabs' content into one html string. + * + * @return string + */ + private function tab_content() { + $content = ''; + foreach ( $this->tabs as $tab ) { + $content .= $tab->content(); + } + return $content; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox.php b/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox.php new file mode 100644 index 00000000..6eb038f7 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/metabox/class-metabox.php @@ -0,0 +1,1702 @@ +options = WPSEO_Options::get_options( array( 'wpseo', 'wpseo_social' ) ); + + // Check if one of the social settings is checked in the options, if so, initialize the social_admin object. + if ( $this->options['opengraph'] === true || $this->options['twitter'] === true ) { + $this->social_admin = new WPSEO_Social_Admin( $this->options ); + } + + $this->editor = new WPSEO_Metabox_Editor(); + $this->editor->register_hooks(); + + $this->analysis_seo = new WPSEO_Metabox_Analysis_SEO(); + $this->analysis_readability = new WPSEO_Metabox_Analysis_Readability(); + } + + /** + * Translate text strings for use in the meta box + * + * IMPORTANT: if you want to add a new string (option) somewhere, make sure you add that array key to + * the main meta box definition array in the class WPSEO_Meta() as well!!!! + */ + public static function translate_meta_boxes() { + self::$meta_fields['general']['snippetpreview']['title'] = __( 'Snippet editor', 'wordpress-seo' ); + /* translators: 1: link open tag; 2: link close tag. */ + self::$meta_fields['general']['snippetpreview']['help'] = sprintf( __( 'This is a rendering of what this post might look like in Google\'s search results. %1$sLearn more about the Snippet Preview%2$s.', 'wordpress-seo' ), '', '' ); + self::$meta_fields['general']['snippetpreview']['help-button'] = __( 'Show information about the snippet editor', 'wordpress-seo' ); + + self::$meta_fields['general']['pageanalysis']['title'] = __( 'Analysis', 'wordpress-seo' ); + /* translators: 1: link open tag; 2: link close tag. */ + self::$meta_fields['general']['pageanalysis']['help'] = sprintf( __( 'This is the content analysis, a collection of content checks that analyze the content of your page. %1$sLearn more about the Content Analysis Tool%2$s.', 'wordpress-seo' ), '', '' ); + self::$meta_fields['general']['pageanalysis']['help-button'] = __( 'Show information about the content analysis', 'wordpress-seo' ); + + self::$meta_fields['general']['focuskw_text_input']['title'] = __( 'Focus keyword', 'wordpress-seo' ); + self::$meta_fields['general']['focuskw_text_input']['label'] = __( 'Enter a focus keyword', 'wordpress-seo' ); + /* translators: 1: link open tag; 2: link close tag. */ + self::$meta_fields['general']['focuskw_text_input']['help'] = sprintf( __( 'Pick the main keyword or keyphrase that this post/page is about. %1$sLearn more about the Focus Keyword%2$s.', 'wordpress-seo' ), '', '' ); + self::$meta_fields['general']['focuskw_text_input']['help-button'] = __( 'Show information about the focus keyword', 'wordpress-seo' ); + + self::$meta_fields['general']['title']['title'] = __( 'SEO title', 'wordpress-seo' ); + + self::$meta_fields['general']['metadesc']['title'] = __( 'Meta description', 'wordpress-seo' ); + + self::$meta_fields['general']['metakeywords']['title'] = __( 'Meta keywords', 'wordpress-seo' ); + self::$meta_fields['general']['metakeywords']['label'] = __( 'Enter the meta keywords', 'wordpress-seo' ); + /* translators: 1: link open tag; 2: link close tag. */ + self::$meta_fields['general']['metakeywords']['description'] = __( 'If you type something above it will override your %1$smeta keywords template%2$s.', 'wordpress-seo' ); + + + self::$meta_fields['advanced']['meta-robots-noindex']['title'] = __( 'Meta robots index', 'wordpress-seo' ); + if ( '0' == get_option( 'blog_public' ) ) { + self::$meta_fields['advanced']['meta-robots-noindex']['description'] = '

    ' . __( 'Warning: even though you can set the meta robots setting here, the entire site is set to noindex in the sitewide privacy settings, so these settings won\'t have an effect.', 'wordpress-seo' ) . '

    '; + } + /* translators: %s expands to the robots (no)index setting default as set in the site-wide settings.*/ + self::$meta_fields['advanced']['meta-robots-noindex']['options']['0'] = __( 'Default for this post type, currently: %s', 'wordpress-seo' ); + self::$meta_fields['advanced']['meta-robots-noindex']['options']['2'] = 'index'; + self::$meta_fields['advanced']['meta-robots-noindex']['options']['1'] = 'noindex'; + + self::$meta_fields['advanced']['meta-robots-nofollow']['title'] = __( 'Meta robots follow', 'wordpress-seo' ); + self::$meta_fields['advanced']['meta-robots-nofollow']['options']['0'] = 'follow'; + self::$meta_fields['advanced']['meta-robots-nofollow']['options']['1'] = 'nofollow'; + + self::$meta_fields['advanced']['meta-robots-adv']['title'] = __( 'Meta robots advanced', 'wordpress-seo' ); + self::$meta_fields['advanced']['meta-robots-adv']['description'] = __( 'Advanced meta robots settings for this page.', 'wordpress-seo' ); + /* translators: %s expands to the advanced robots settings default as set in the site-wide settings.*/ + self::$meta_fields['advanced']['meta-robots-adv']['options']['-'] = __( 'Site-wide default: %s', 'wordpress-seo' ); + self::$meta_fields['advanced']['meta-robots-adv']['options']['none'] = __( 'None', 'wordpress-seo' ); + self::$meta_fields['advanced']['meta-robots-adv']['options']['noimageindex'] = __( 'No Image Index', 'wordpress-seo' ); + self::$meta_fields['advanced']['meta-robots-adv']['options']['noarchive'] = __( 'No Archive', 'wordpress-seo' ); + self::$meta_fields['advanced']['meta-robots-adv']['options']['nosnippet'] = __( 'No Snippet', 'wordpress-seo' ); + + self::$meta_fields['advanced']['bctitle']['title'] = __( 'Breadcrumbs Title', 'wordpress-seo' ); + self::$meta_fields['advanced']['bctitle']['description'] = __( 'Title to use for this page in breadcrumb paths', 'wordpress-seo' ); + + self::$meta_fields['advanced']['canonical']['title'] = __( 'Canonical URL', 'wordpress-seo' ); + /* translators: 1: link open tag; 2: link close tag. */ + self::$meta_fields['advanced']['canonical']['description'] = sprintf( __( 'The canonical URL that this page should point to, leave empty to default to permalink. %1$sCross domain canonical%2$s supported too.', 'wordpress-seo' ), '', '' ); + + self::$meta_fields['advanced']['redirect']['title'] = __( '301 Redirect', 'wordpress-seo' ); + self::$meta_fields['advanced']['redirect']['description'] = __( 'The URL that this page should redirect to.', 'wordpress-seo' ); + + do_action( 'wpseo_tab_translate' ); + } + + /** + * Test whether the metabox should be hidden either by choice of the admin or because + * the post type is not a public post type + * + * @since 1.5.0 + * + * @param string $post_type (optional) The post type to test, defaults to the current post post_type. + * + * @return bool Whether or not the meta box (and associated columns etc) should be hidden + */ + public function is_metabox_hidden( $post_type = null ) { + if ( ! isset( $post_type ) && ( isset( $GLOBALS['post'] ) && ( is_object( $GLOBALS['post'] ) && isset( $GLOBALS['post']->post_type ) ) ) ) { + $post_type = $GLOBALS['post']->post_type; + } + + if ( isset( $post_type ) ) { + // Don't make static as post_types may still be added during the run. + $cpts = get_post_types( array( 'public' => true ), 'names' ); + $options = get_option( 'wpseo_titles' ); + + return ( ( isset( $options[ 'hideeditbox-' . $post_type ] ) && $options[ 'hideeditbox-' . $post_type ] === true ) || in_array( $post_type, $cpts ) === false ); + } + return false; + } + + /** + * Sets up all the functionality related to the prominence of the page analysis functionality. + */ + public function setup_page_analysis() { + if ( apply_filters( 'wpseo_use_page_analysis', true ) === true ) { + add_action( 'post_submitbox_start', array( $this, 'publish_box' ) ); + } + } + + /** + * Outputs the page analysis score in the Publish Box. + */ + public function publish_box() { + if ( $this->is_metabox_hidden() === true ) { + return; + } + + $post = $this->get_metabox_post(); + if ( self::get_value( 'meta-robots-noindex', $post->ID ) === '1' ) { + $score_label = 'noindex'; + $title = __( 'Post is set to noindex.', 'wordpress-seo' ); + $score_title = $title; + } + else { + $score = self::get_value( 'linkdex', $post->ID ); + if ( $score === '' ) { + $score_label = 'na'; + $title = __( 'No focus keyword set.', 'wordpress-seo' ); + } + else { + $score_label = WPSEO_Utils::translate_score( $score ); + } + + $score_title = WPSEO_Utils::translate_score( $score, false ); + if ( ! isset( $title ) ) { + $title = $score_title; + } + } + } + + /** + * Adds the Yoast SEO meta box to the edit boxes in the edit post, page, + * attachment, and custom post types pages. + */ + public function add_meta_box() { + $post_types = get_post_types( array( 'public' => true ) ); + + if ( is_array( $post_types ) && $post_types !== array() ) { + foreach ( $post_types as $post_type ) { + if ( $this->is_metabox_hidden( $post_type ) === false ) { + $product_title = 'Yoast SEO'; + if ( file_exists( WPSEO_PATH . 'premium/' ) ) { + $product_title .= ' Premium'; + } + + if ( null !== get_current_screen() ) { + $screen_id = get_current_screen()->id; + add_filter( "postbox_classes_{$screen_id}_wpseo_meta", array( $this, 'wpseo_metabox_class' ) ); + } + + add_meta_box( 'wpseo_meta', $product_title, array( + $this, + 'meta_box', + ), $post_type, 'normal', apply_filters( 'wpseo_metabox_prio', 'high' ) ); + } + } + } + } + + /** + * Adds CSS classes to the meta box. + * + * @param array $classes An array of postbox CSS classes. + * + * @return array + */ + public function wpseo_metabox_class( $classes ) { + $classes[] = 'yoast wpseo-metabox'; + return $classes; + } + + /** + * Pass variables to js for use with the post-scraper + * + * @return array + */ + public function localize_post_scraper_script() { + $post = $this->get_metabox_post(); + $permalink = ''; + + if ( is_object( $post ) ) { + $permalink = get_sample_permalink( $post->ID ); + $permalink = $permalink[0]; + } + + $post_formatter = new WPSEO_Metabox_Formatter( + new WPSEO_Post_Metabox_Formatter( $post, WPSEO_Options::get_option( 'wpseo_titles' ), $permalink ) + ); + + return $post_formatter->get_values(); + } + + /** + * Pass some variables to js for replacing variables. + */ + public function localize_replace_vars_script() { + return array( + 'no_parent_text' => __( '(no parent)', 'wordpress-seo' ), + 'replace_vars' => $this->get_replace_vars(), + 'scope' => $this->determine_scope(), + ); + } + + /** + * Determines the scope based on the post type. + * This can be used by the replacevar plugin to determine if a replacement needs to be executed. + * + * @return string String decribing the current scope. + */ + private function determine_scope() { + $post_type = get_post_type( $this->get_metabox_post() ); + + if ( $post_type === 'page' ) { + return 'page'; + } + + return 'post'; + } + + /** + * Pass some variables to js for the edit / post page overview, snippet preview, etc. + * + * @return array + */ + public function localize_shortcode_plugin_script() { + return array( + 'wpseo_filter_shortcodes_nonce' => wp_create_nonce( 'wpseo-filter-shortcodes' ), + 'wpseo_shortcode_tags' => $this->get_valid_shortcode_tags(), + ); + } + + /** + * Output a tab in the Yoast SEO Metabox + * + * @param string $id CSS ID of the tab. + * @param string $heading Heading for the tab. + * @param string $content Content of the tab. This content should be escaped. + */ + public function do_tab( $id, $heading, $content ) { + ?> +
    + +
    + get_content_sections(); + + $helpcenter_tab = new WPSEO_Option_Tab( 'metabox', 'Meta box', + array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/metabox-screencast' ) ) ); + + $help_center = new WPSEO_Help_Center( '', $helpcenter_tab, WPSEO_Utils::is_yoast_seo_premium() ); + $help_center->localize_data(); + $help_center->mount(); + + if ( ! defined( 'WPSEO_PREMIUM_FILE' ) ) { + echo $this->get_buy_premium_link(); + } + + echo '
    '; + echo '
      '; + + foreach ( $content_sections as $content_section ) { + if ( $content_section->name === 'premium' ) { + continue; + } + + $content_section->display_link(); + } + + echo '
    '; + + foreach ( $content_sections as $content_section ) { + $content_section->display_content(); + } + + echo '
    '; + } + + /** + * Returns the relevant metabox sections for the current view. + * + * @return WPSEO_Metabox_Section[] + */ + private function get_content_sections() { + $content_sections = array( $this->get_content_meta_section() ); + + // Check if social_admin is an instance of WPSEO_Social_Admin. + if ( $this->social_admin instanceof WPSEO_Social_Admin ) { + $content_sections[] = $this->social_admin->get_meta_section(); + } + + if ( WPSEO_Capability_Utils::current_user_can( 'wpseo_edit_advanced_metadata' ) || $this->options['disableadvanced_meta'] === false ) { + $content_sections[] = $this->get_advanced_meta_section(); + } + + if ( ! defined( 'WPSEO_PREMIUM_FILE' ) ) { + $content_sections[] = $this->get_buy_premium_section(); + } + + if ( has_action( 'wpseo_tab_header' ) || has_action( 'wpseo_tab_content' ) ) { + $content_sections[] = $this->get_addons_meta_section(); + } + + return $content_sections; + } + + /** + * Returns the metabox section for the content analysis. + * + * @return WPSEO_Metabox_Section + */ + private function get_content_meta_section() { + $content = $this->get_tab_content( 'general' ); + + $tabs = array(); + + $tabs[] = new WPSEO_Metabox_Form_Tab( + 'content', + $content, + '', + array( + 'tab_class' => 'yoast-seo__remove-tab', + ) + ); + + $tabs[] = new Metabox_Add_Keyword_Tab(); + + return new WPSEO_Metabox_Tab_Section( + 'content', + '' . __( 'Content optimization', 'wordpress-seo' ) . '' . $this->traffic_light_svg() . '', + $tabs, + array( + 'link_aria_label' => __( 'Content optimization', 'wordpress-seo' ), + 'link_class' => 'yoast-tooltip yoast-tooltip-e', + ) + ); + } + + /** + * Returns the metabox section for the advanced settings. + * + * @return WPSEO_Metabox_Section + */ + private function get_advanced_meta_section() { + $content = $this->get_tab_content( 'advanced' ); + + $tab = new WPSEO_Metabox_Form_Tab( + 'advanced', + $content, + __( 'Advanced', 'wordpress-seo' ), + array( + 'single' => true, + ) + ); + + return new WPSEO_Metabox_Tab_Section( + 'advanced', + '' . __( 'Advanced', 'wordpress-seo' ) . '', + array( $tab ), + array( + 'link_aria_label' => __( 'Advanced', 'wordpress-seo' ), + 'link_class' => 'yoast-tooltip yoast-tooltip-e', + ) + ); + } + + /** + * Returns a link to activate the Buy Premium tab. + * + * @return string + */ + private function get_buy_premium_link() { + return sprintf( "", + 'wpseo-metabox-buy-premium', + __( 'Go Premium', 'wordpress-seo' ) + ); + } + + /** + * Returns the metabox section for the Premium section. + * + * @return WPSEO_Metabox_Section + */ + private function get_buy_premium_section() { + $content = sprintf( "
    + %s +
      +
    • + %s - %s +
    • +
    • + %s - %s +
    • +
    • + %s - %s +
    • +
    • + %s - %s +
    • +
    + + + %s + + +

    %s

    +
    ", + /* translators: %1$s expands to Yoast SEO Premium. */ + sprintf( __( 'You\'re not getting the benefits of %1$s yet. If you had %1$s, you could use its awesome features:', 'wordpress-seo' ), 'Yoast SEO Premium' ), + __( 'Redirect manager', 'wordpress-seo' ), + __( 'Create and manage redirects within your WordPress install.', 'wordpress-seo' ), + __( 'Multiple focus keywords', 'wordpress-seo' ), + __( 'Optimize a single post for up to 5 keywords.', 'wordpress-seo' ), + __( 'Social Previews', 'wordpress-seo' ), + __( 'Check what your Facebook or Twitter post will look like.', 'wordpress-seo' ), + __( 'Premium support', 'wordpress-seo' ), + __( 'Gain access to our 24/7 support team.', 'wordpress-seo' ), + WPSEO_Shortlinker::get( 'https://yoa.st/pe-buy-premium' ), + /* translators: %s expands to Yoast SEO Premium. */ + sprintf( __( 'Get %s now!', 'wordpress-seo' ), 'Yoast SEO Premium' ), + WPSEO_Shortlinker::get( 'https://yoa.st/pe-premium-page' ), + __( 'More info', 'wordpress-seo' ) + ); + + $tab = new WPSEO_Metabox_Form_Tab( + 'premium', + $content, + 'Yoast SEO Premium', + array( + 'single' => true, + ) + ); + + return new WPSEO_Metabox_Tab_Section( + 'premium', + '', + array( $tab ), + array( + 'link_aria_label' => 'Yoast SEO Premium', + 'link_class' => 'yoast-tooltip yoast-tooltip-e', + ) + ); + } + + /** + * Returns a metabox section dedicated to hosting metabox tabs that have been added by other plugins through the + * `wpseo_tab_header` and `wpseo_tab_content` actions. + * + * @return WPSEO_Metabox_Section + */ + private function get_addons_meta_section() { + return new WPSEO_Metabox_Addon_Tab_Section( + 'addons', + '' . __( 'Add-ons', 'wordpress-seo' ) . '', + array(), + array( + 'link_aria_label' => __( 'Add-ons', 'wordpress-seo' ), + 'link_class' => 'yoast-tooltip yoast-tooltip-e', + ) + ); + } + + /** + * Gets the contents for the metabox tab. + * + * @param string $tab_name Tab for which to retrieve the field definitions. + * + * @return string + */ + private function get_tab_content( $tab_name ) { + $content = ''; + foreach ( $this->get_meta_field_defs( $tab_name ) as $key => $meta_field ) { + $content .= $this->do_meta_box( $meta_field, $key ); + } + unset( $key, $meta_field ); + + return $content; + } + + /** + * Adds a line in the meta box + * + * @todo [JRF] check if $class is added appropriately everywhere + * + * @param array $meta_field_def Contains the vars based on which output is generated. + * @param string $key Internal key (without prefix). + * + * @return string + */ + public function do_meta_box( $meta_field_def, $key = '' ) { + $content = ''; + $esc_form_key = esc_attr( self::$form_prefix . $key ); + $meta_value = self::get_value( $key, $this->get_metabox_post()->ID ); + + $class = ''; + if ( isset( $meta_field_def['class'] ) && $meta_field_def['class'] !== '' ) { + $class = ' ' . $meta_field_def['class']; + } + + $placeholder = ''; + if ( isset( $meta_field_def['placeholder'] ) && $meta_field_def['placeholder'] !== '' ) { + $placeholder = $meta_field_def['placeholder']; + } + + $aria_describedby = $description = ''; + if ( isset( $meta_field_def['description'] ) ) { + $aria_describedby = ' aria-describedby="' . $esc_form_key . '-desc"'; + $description = '

    ' . $meta_field_def['description'] . '

    '; + } + + switch ( $meta_field_def['type'] ) { + case 'pageanalysis': + $content .= '
    '; + $content .= '
    '; + $content .= '

    ' . __( 'Analysis', 'wordpress-seo' ) . '

    '; + $content .= '
    '; + $content .= '
    '; + $content .= '
    '; + $content .= '
    '; + break; + case 'snippetpreview': + $content .= '
    '; + break; + case 'focuskeyword': + if ( $placeholder !== '' ) { + $placeholder = ' placeholder="' . esc_attr( $placeholder ) . '"'; + } + + $content .= '
    '; + $content .= '
    '; + $content .= '

    ' . esc_html( $meta_field_def['title'] ) . '

    '; + $content .= ''; + $content .= ''; + + if ( $this->options['enable_cornerstone_content'] ) { + $cornerstone_field = new WPSEO_Cornerstone_Field(); + + $content .= $cornerstone_field->get_html( $this->get_metabox_post() ); + } + $content .= '
    '; + $content .= '
    '; + break; + case 'metakeywords': + $content .= '
    '; + $content .= '
    '; + $content .= '

    ' . esc_html( $meta_field_def['title'] ) . '

    '; + $content .= ''; + $content .= ''; + $content .= $description; + $content .= '
    '; + $content .= '
    '; + break; + case 'text': + $ac = ''; + if ( isset( $meta_field_def['autocomplete'] ) && $meta_field_def['autocomplete'] === false ) { + $ac = 'autocomplete="off" '; + } + if ( $placeholder !== '' ) { + $placeholder = ' placeholder="' . esc_attr( $placeholder ) . '"'; + } + $content .= ''; + break; + + case 'textarea': + $rows = 3; + if ( isset( $meta_field_def['rows'] ) && $meta_field_def['rows'] > 0 ) { + $rows = $meta_field_def['rows']; + } + $content .= ''; + break; + + case 'hidden': + $content .= '' . "\n"; + break; + case 'select': + if ( isset( $meta_field_def['options'] ) && is_array( $meta_field_def['options'] ) && $meta_field_def['options'] !== array() ) { + $content .= ''; + } + break; + + case 'multiselect': + if ( isset( $meta_field_def['options'] ) && is_array( $meta_field_def['options'] ) && $meta_field_def['options'] !== array() ) { + + // Set $meta_value as $selected_arr. + $selected_arr = $meta_value; + + // If the multiselect field is 'meta-robots-adv' we should explode on ,. + if ( 'meta-robots-adv' === $key ) { + $selected_arr = explode( ',', $meta_value ); + } + + if ( ! is_array( $selected_arr ) ) { + $selected_arr = (array) $selected_arr; + } + + $options_count = count( $meta_field_def['options'] ); + + // This select now uses Select2. + $content .= ''; + unset( $val, $option, $selected, $selected_arr, $options_count ); + } + break; + + case 'checkbox': + $checked = checked( $meta_value, 'on', false ); + $expl = ( isset( $meta_field_def['expl'] ) ) ? esc_html( $meta_field_def['expl'] ) : ''; + $content .= ' '; + unset( $checked, $expl ); + break; + + case 'radio': + if ( isset( $meta_field_def['options'] ) && is_array( $meta_field_def['options'] ) && $meta_field_def['options'] !== array() ) { + foreach ( $meta_field_def['options'] as $val => $option ) { + $checked = checked( $meta_value, $val, false ); + $content .= ' '; + } + unset( $val, $option, $checked ); + } + break; + + case 'upload': + $content .= ''; + $content .= ''; + break; + } + + $html = ''; + if ( $content === '' ) { + $content = apply_filters( 'wpseo_do_meta_box_field_' . $key, $content, $meta_value, $esc_form_key, $meta_field_def, $key ); + } + + if ( $content !== '' ) { + + $title = esc_html( $meta_field_def['title'] ); + + // By default, use the field title as a label element. + $label = ''; + + // Set the inline help and help panel, if any. + $help_button = $help_panel = ''; + if ( isset( $meta_field_def['help'] ) && $meta_field_def['help'] !== '' ) { + $help = new WPSEO_Admin_Help_Panel( $key, $meta_field_def['help-button'], $meta_field_def['help'] ); + $help_button = $help->get_button_html(); + $help_panel = $help->get_panel_html(); + } + + // If it's a set of radio buttons, output proper fieldset and legend. + if ( 'radio' === $meta_field_def['type'] ) { + return '
    ' . $title . '' . $help_button . $help_panel . $content . $description . '
    '; + } + + // If it's a single checkbox, ignore the title. + if ( 'checkbox' === $meta_field_def['type'] ) { + $label = ''; + } + + // Special meta box sections such as the Snippet Preview, the Analysis, etc. + if ( in_array( $meta_field_def['type'], array( + 'snippetpreview', + 'pageanalysis', + 'focuskeyword', + 'metakeywords', + ), true ) + ) { + return $this->create_content_box( $content, $meta_field_def['type'], $help_button, $help_panel ); + } + + // Other meta box content or form fields. + if ( $meta_field_def['type'] === 'hidden' ) { + $html = $content; + } + else { + $html = $label . $help_button . $help_panel . $content . $description; + } + } + + return $html; + } + + /** + * Creates a sections specific row. + * + * @param string $content The content to show. + * @param string $hidden_help_name Escaped form key name. + * @param string $help_button The help button. + * @param string $help_panel The help text. + * + * @return string + */ + private function create_content_box( $content, $hidden_help_name, $help_button, $help_panel ) { + $html = $content; + $html .= '
    ' . $help_button . $help_panel . '
    '; + return $html; + } + + /** + * Save the WP SEO metadata for posts. + * + * {@internal $_POST parameters are validated via sanitize_post_meta().}} + * + * @param int $post_id Post ID. + * + * @return bool|void Boolean false if invalid save post request + */ + public function save_postdata( $post_id ) { + // Bail if this is a multisite installation and the site has been switched. + if ( is_multisite() && ms_is_switched() ) { + return false; + } + + if ( $post_id === null ) { + return false; + } + + if ( wp_is_post_revision( $post_id ) ) { + $post_id = wp_is_post_revision( $post_id ); + } + + /** + * Determine we're not accidentally updating a different post. + * We can't use filter_input here as the ID isn't available at this point, other than in the $_POST data. + */ + // @codingStandardsIgnoreStart + if ( ! isset( $_POST['ID'] ) || $post_id !== (int) $_POST['ID'] ) { + return false; + } + // @codingStandardsIgnoreEnd + + clean_post_cache( $post_id ); + $post = get_post( $post_id ); + + if ( ! is_object( $post ) ) { + // Non-existent post. + return false; + } + + do_action( 'wpseo_save_compare_data', $post ); + + $meta_boxes = apply_filters( 'wpseo_save_metaboxes', array() ); + $meta_boxes = array_merge( $meta_boxes, $this->get_meta_field_defs( 'general', $post->post_type ), $this->get_meta_field_defs( 'advanced' ) ); + + foreach ( $meta_boxes as $key => $meta_box ) { + + // If analysis is disabled remove that analysis score value from the DB. + if ( $this->is_meta_value_disabled( $key ) ) { + self::delete( $key, $post_id ); + continue; + } + + $data = null; + if ( 'checkbox' === $meta_box['type'] ) { + // @codingStandardsIgnoreLine + $data = isset( $_POST[ self::$form_prefix . $key ] ) ? 'on' : 'off'; + } + else { + // @codingStandardsIgnoreLine + if ( isset( $_POST[ self::$form_prefix . $key ] ) ) { + // @codingStandardsIgnoreLine + $data = $_POST[ self::$form_prefix . $key ]; + } + } + if ( isset( $data ) ) { + self::set_value( $key, $data, $post_id ); + } + } + + do_action( 'wpseo_saved_postdata' ); + } + + /** + * Determines if the given meta value key is disabled + * + * @param string $key The key of the meta value. + * @return bool Whether the given meta value key is disabled. + */ + public function is_meta_value_disabled( $key ) { + if ( 'linkdex' === $key && ! $this->analysis_seo->is_enabled() ) { + return true; + } + + if ( 'content_score' === $key && ! $this->analysis_readability->is_enabled() ) { + return true; + } + + return false; + } + + /** + * Enqueues all the needed JS and CSS. + * + * @todo [JRF => whomever] create css/metabox-mp6.css file and add it to the below allowed colors array when done + */ + public function enqueue() { + global $pagenow; + + $asset_manager = new WPSEO_Admin_Asset_Manager(); + + $is_editor = self::is_post_overview( $pagenow ) || self::is_post_edit( $pagenow ); + + /* Filter 'wpseo_always_register_metaboxes_on_admin' documented in wpseo-main.php */ + if ( ( ! $is_editor && apply_filters( 'wpseo_always_register_metaboxes_on_admin', false ) === false ) || $this->is_metabox_hidden() === true + ) { + return; + } + + if ( self::is_post_overview( $pagenow ) ) { + $asset_manager->enqueue_style( 'edit-page' ); + $asset_manager->enqueue_script( 'edit-page-script' ); + } + else { + + if ( 0 != get_queried_object_id() ) { + wp_enqueue_media( array( 'post' => get_queried_object_id() ) ); // Enqueue files needed for upload functionality. + } + + $asset_manager->enqueue_style( 'metabox-css' ); + $asset_manager->enqueue_style( 'scoring' ); + $asset_manager->enqueue_style( 'snippet' ); + $asset_manager->enqueue_style( 'select2' ); + $asset_manager->enqueue_style( 'kb-search' ); + + $asset_manager->enqueue_script( 'metabox' ); + $asset_manager->enqueue_script( 'help-center' ); + $asset_manager->enqueue_script( 'admin-media' ); + + $asset_manager->enqueue_script( 'post-scraper' ); + $asset_manager->enqueue_script( 'replacevar-plugin' ); + $asset_manager->enqueue_script( 'shortcode-plugin' ); + + wp_enqueue_script( 'jquery-ui-autocomplete' ); + + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'admin-media', 'wpseoMediaL10n', $this->localize_media_script() ); + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'post-scraper', 'wpseoPostScraperL10n', $this->localize_post_scraper_script() ); + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'replacevar-plugin', 'wpseoReplaceVarsL10n', $this->localize_replace_vars_script() ); + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'shortcode-plugin', 'wpseoShortcodePluginL10n', $this->localize_shortcode_plugin_script() ); + + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'metabox', 'wpseoAdminL10n', WPSEO_Help_Center::get_translated_texts() ); + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'metabox', 'wpseoSelect2Locale', WPSEO_Utils::get_language( WPSEO_Utils::get_user_locale() ) ); + + if ( post_type_supports( get_post_type(), 'thumbnail' ) ) { + $asset_manager->enqueue_style( 'featured-image' ); + + $asset_manager->enqueue_script( 'featured-image' ); + + $featured_image_l10 = array( 'featured_image_notice' => __( 'SEO issue: The featured image should be at least 200 by 200 pixels to be picked up by Facebook and other social media sites.', 'wordpress-seo' ) ); + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'metabox', 'wpseoFeaturedImageL10n', $featured_image_l10 ); + } + } + } + + /** + * Pass some variables to js for upload module. + * + * @return array + */ + public function localize_media_script() { + return array( + 'choose_image' => __( 'Use Image', 'wordpress-seo' ), + ); + } + + /** + * Returns post in metabox context + * + * @returns WP_Post|array + */ + protected function get_metabox_post() { + if ( $post = filter_input( INPUT_GET, 'post' ) ) { + $post_id = (int) WPSEO_Utils::validate_int( $post ); + + return get_post( $post_id ); + } + + + if ( isset( $GLOBALS['post'] ) ) { + return $GLOBALS['post']; + } + + return array(); + } + + + + /** + * Returns an array with shortcode tags for all registered shortcodes. + * + * @return array + */ + private function get_valid_shortcode_tags() { + $shortcode_tags = array(); + + foreach ( $GLOBALS['shortcode_tags'] as $tag => $description ) { + array_push( $shortcode_tags, $tag ); + } + + return $shortcode_tags; + } + + /** + * Prepares the replace vars for localization. + * + * @return array replace vars + */ + private function get_replace_vars() { + $post = $this->get_metabox_post(); + + $cached_replacement_vars = array(); + + $vars_to_cache = array( + 'date', + 'id', + 'sitename', + 'sitedesc', + 'sep', + 'page', + 'currenttime', + 'currentdate', + 'currentday', + 'currentmonth', + 'currentyear', + ); + + foreach ( $vars_to_cache as $var ) { + $cached_replacement_vars[ $var ] = wpseo_replace_vars( '%%' . $var . '%%', $post ); + } + + // Merge custom replace variables with the WordPress ones. + return array_merge( $cached_replacement_vars, $this->get_custom_replace_vars( $post ) ); + } + + /** + * Gets the custom replace variables for custom taxonomies and fields. + * + * @param WP_Post $post The post to check for custom taxonomies and fields. + * + * @return array Array containing all the replacement variables. + */ + private function get_custom_replace_vars( $post ) { + return array( + 'custom_fields' => $this->get_custom_fields_replace_vars( $post ), + 'custom_taxonomies' => $this->get_custom_taxonomies_replace_vars( $post ), + ); + } + + /** + * Gets the custom replace variables for custom taxonomies. + * + * @param WP_Post $post The post to check for custom taxonomies. + * + * @return array Array containing all the replacement variables. + */ + private function get_custom_taxonomies_replace_vars( $post ) { + $taxonomies = get_object_taxonomies( $post, 'objects' ); + $custom_replace_vars = array(); + + foreach ( $taxonomies as $taxonomy_name => $taxonomy ) { + + if ( is_string( $taxonomy ) ) { // If attachment, see https://core.trac.wordpress.org/ticket/37368 . + $taxonomy_name = $taxonomy; + $taxonomy = get_taxonomy( $taxonomy_name ); + } + + if ( $taxonomy->_builtin && $taxonomy->public ) { + continue; + } + + $custom_replace_vars[ $taxonomy_name ] = array( + 'name' => $taxonomy->name, + 'description' => $taxonomy->description, + ); + } + + return $custom_replace_vars; + } + + /** + * Gets the custom replace variables for custom fields. + * + * @param WP_Post $post The post to check for custom fields. + * + * @return array Array containing all the replacement variables. + */ + private function get_custom_fields_replace_vars( $post ) { + $custom_replace_vars = array(); + + // If no post object is passed, return the empty custom_replace_vars array. + if ( ! is_object( $post ) ) { + return $custom_replace_vars; + } + + $custom_fields = get_post_custom( $post->ID ); + + foreach ( $custom_fields as $custom_field_name => $custom_field ) { + if ( substr( $custom_field_name, 0, 1 ) === '_' ) { + continue; + } + + $custom_replace_vars[ $custom_field_name ] = $custom_field[0]; + } + + return $custom_replace_vars; + } + + + /** + * Return the SVG for the traffic light in the metabox. + */ + public function traffic_light_svg() { + return << + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SVG; + + } + + /** + * Generic tab. + */ + public function template_generic_tab() { + // This template belongs to the post scraper so don't echo it if it isn't enqueued. + if ( ! wp_script_is( WPSEO_Admin_Asset_Manager::PREFIX . 'post-scraper' ) ) { + return; + } + + echo ''; + } + + /** + * Keyword tab for enabling analysis of multiple keywords. + */ + public function template_keyword_tab() { + // This template belongs to the post scraper so don't echo it if it isn't enqueued. + if ( ! wp_script_is( WPSEO_Admin_Asset_Manager::PREFIX . 'post-scraper' ) ) { + return; + } + + echo ''; + } + + /** + * @param string $page The page to check for the post overview page. + * + * @return bool Whether or not the given page is the post overview page. + */ + public static function is_post_overview( $page ) { + return 'edit.php' === $page; + } + + /** + * @param string $page The page to check for the post edit page. + * + * @return bool Whether or not the given page is the post edit page. + */ + public static function is_post_edit( $page ) { + return 'post.php' === $page + || 'post-new.php' === $page; + } + + /********************** DEPRECATED METHODS **********************/ + + // @codeCoverageIgnoreStart + /** + * Adds the Yoast SEO box + * + * @deprecated 1.4.24 + * @deprecated use WPSEO_Metabox::add_meta_box() + * @see WPSEO_Meta::add_meta_box() + */ + public function add_custom_box() { + _deprecated_function( __METHOD__, 'WPSEO 1.4.24', 'WPSEO_Metabox::add_meta_box()' ); + $this->add_meta_box(); + } + + /** + * Retrieve the meta boxes for the given post type. + * + * @deprecated 1.5.0 + * @deprecated use WPSEO_Meta::get_meta_field_defs() + * @see WPSEO_Meta::get_meta_field_defs() + * + * @param string $post_type The post type for which to get the meta fields. + * + * @return array + */ + public function get_meta_boxes( $post_type = 'post' ) { + _deprecated_function( __METHOD__, 'WPSEO 1.5.0', 'WPSEO_Meta::get_meta_field_defs()' ); + + return $this->get_meta_field_defs( 'general', $post_type ); + } + + /** + * Pass some variables to js + * + * @deprecated 1.5.0 + * @deprecated use WPSEO_Meta::localize_script() + * @see WPSEO_Meta::localize_script() + */ + public function script() { + _deprecated_function( __METHOD__, 'WPSEO 1.5.0', 'WPSEO_Meta::localize_script()' ); + + return $this->localize_script(); + } + + /** + * @deprecated 3.0 Removed, use javascript functions instead + * + * @param string $string Deprecated. + * + * @return string + */ + public function strtolower_utf8( $string ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0', __( 'Use javascript instead.', 'wordpress-seo' ) ); + + return $string; + } + + /** + * @deprecated 3.0 Removed. + * + * @return array + */ + public function localize_script() { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + return array(); + } + + /** + * @deprecated 3.0 Removed, use javascript functions instead. + * + * @return string + */ + public function snippet() { + _deprecated_function( __METHOD__, 'WPSEO 3.0', __( 'Use javascript instead.', 'wordpress-seo' ) ); + + return ''; + } + + /** + * @deprecated 3.0 Use WPSEO_Meta_Columns::posts_filter_dropdown instead. + */ + public function posts_filter_dropdown() { + _deprecated_function( __METHOD__, 'WPSEO 3.0', 'WPSEO_Metabox_Columns::posts_filter_dropdown' ); + + /** @var WPSEO_Meta_Columns $meta_columns */ + $meta_columns = $GLOBALS['wpseo_meta_columns']; + + $meta_columns->posts_filter_dropdown(); + } + + /** + * @deprecated 3.0 Use WPSEO_Meta_Columns::column_heading instead. + * + * @param array $columns Already existing columns. + * + * @return array + */ + public function column_heading( $columns ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0', 'WPSEO_Metabox_Columns::column_heading' ); + + /** @var WPSEO_Meta_Columns $meta_columns */ + $meta_columns = $GLOBALS['wpseo_meta_columns']; + return $meta_columns->column_heading( $columns ); + } + + /** + * @deprecated 3.0 Use WPSEO_Meta_Columns::column_content instead. + * + * @param string $column_name Column to display the content for. + * @param int $post_id Post to display the column content for. + */ + public function column_content( $column_name, $post_id ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0', 'WPSEO_Metabox_Columns::column_content' ); + + /** @var WPSEO_Meta_Columns $meta_columns */ + $meta_columns = $GLOBALS['wpseo_meta_columns']; + $meta_columns->column_content( $column_name, $post_id ); + } + + /** + * @deprecated 3.0 Use WPSEO_Meta_Columns::column_sort instead. + * + * @param array $columns appended with their orderby variable. + * + * @return array + */ + public function column_sort( $columns ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0', 'WPSEO_Metabox_Columns::column_sort' ); + + /** @var WPSEO_Meta_Columns $meta_columns */ + $meta_columns = $GLOBALS['wpseo_meta_columns']; + return $meta_columns->column_sort( $columns ); + } + + /** + * @deprecated 3.0 Use WPSEO_Meta_Columns::column_sort_orderby instead. + * + * @param array $vars Query variables. + * + * @return array + */ + public function column_sort_orderby( $vars ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0', 'WPSEO_Metabox_Columns::column_sort_orderby' ); + + /** @var WPSEO_Meta_Columns $meta_columns */ + $meta_columns = $GLOBALS['wpseo_meta_columns']; + return $meta_columns->column_sort_orderby( $vars ); + } + + /** + * @deprecated 3.0 Use WPSEO_Meta_Columns::column_hidden instead. + * + * @param array|false $result The hidden columns. + * @param string $option The option name used to set which columns should be hidden. + * @param WP_User $user The User. + * + * @return array|false $result + */ + public function column_hidden( $result, $option, $user ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0', 'WPSEO_Metabox_Columns::column_hidden' ); + + /** @var WPSEO_Meta_Columns $meta_columns */ + $meta_columns = $GLOBALS['wpseo_meta_columns']; + return $meta_columns->column_hidden( $result, $option, $user ); + } + + /** + * @deprecated 3.0 Use WPSEO_Meta_Columns::seo_score_posts_where instead. + * + * @param string $where Where clause. + * + * @return string + */ + public function seo_score_posts_where( $where ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0', 'WPSEO_Metabox_Columns::seo_score_posts_where' ); + + /** @var WPSEO_Meta_Columns $meta_columns */ + $meta_columns = $GLOBALS['wpseo_meta_columns']; + return $meta_columns->seo_score_posts_where( $where ); + } + + /** + * @deprecated 3.0 Removed. + * + * @param int $post_id Post to retrieve the title for. + * + * @return string + */ + public function page_title( $post_id ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + return ''; + } + + /** + * @deprecated 3.0 + * + * @param array $array Array to sort, array is returned sorted. + * @param string $key Key to sort array by. + */ + public function aasort( &$array, $key ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + } + + /** + * @deprecated 3.0 + * + * @param object $post Post to output the page analysis results for. + * + * @return string + */ + public function linkdex_output( $post ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + return ''; + + } + + /** + * @deprecated 3.0 + * + * @param object $post Post to calculate the results for. + * + * @return array|WP_Error + */ + public function calculate_results( $post ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + return array(); + + } + + /** + * @deprecated 3.0 + * + * @param WP_Post $post Post object instance. + * + * @return array + */ + public function get_sample_permalink( $post ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + return array(); + } + + /** + * @deprecated 3.0 + * + * @param array $results The results array used to store results. + * @param int $score_value The score value. + * @param string $score_message The score message. + * @param string $score_label The label of the score to use in the results array. + * @param string $raw_score The raw score, to be used by other filters. + */ + public function save_score_result( &$results, $score_value, $score_message, $score_label, $raw_score = null ) { + + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + } + + /** + * @deprecated 3.0 + * + * @param string $input_string String to clean up. + * @param bool $remove_optional_characters Whether or not to do a cleanup of optional chars too. + * + * @return string + */ + public function strip_separators_and_fold( $input_string, $remove_optional_characters ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + return ''; + } + + /** + * @deprecated 3.0 + * + * @param array $job Job data array. + * @param array $results Results set by reference. + */ + public function check_double_focus_keyword( $job, &$results ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + } + + /** + * @deprecated 3.0 + * + * @param string $keyword The keyword to check for stopwords. + * @param array $results The results array. + */ + public function score_keyword( $keyword, &$results ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + } + + /** + * @deprecated 3.0 + * + * @param array $job The job array holding both the keyword and the URLs. + * @param array $results The results array. + */ + public function score_url( $job, &$results ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + } + + /** + * @deprecated 3.0 + * + * @param array $job The job array holding both the keyword versions. + * @param array $results The results array. + */ + public function score_title( $job, &$results ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + } + + /** + * @deprecated 3.0 + * + * @param array $job The job array holding both the keyword versions. + * @param array $results The results array. + * @param array $anchor_texts The array holding all anchors in the document. + * @param array $count The number of anchors in the document, grouped by type. + */ + public function score_anchor_texts( $job, &$results, $anchor_texts, $count ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + } + + /** + * @deprecated 3.0 + * + * @param object $xpath An XPATH object of the current document. + * + * @return array + */ + public function get_anchor_texts( &$xpath ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + return array(); + } + + /** + * @deprecated 3.0 + * + * @param object $xpath An XPATH object of the current document. + * + * @return array + */ + public function get_anchor_count( &$xpath ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + return array(); + } + + /** + * @deprecated 3.0 + * + * @param array $job The job array holding both the keyword versions. + * @param array $results The results array. + * @param array $imgs The array with images alt texts. + */ + public function score_images_alt_text( $job, &$results, $imgs ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + } + + /** + * @deprecated 3.0 + * + * @param int $post_id The post to find images in. + * @param string $body The post content to find images in. + * @param array $imgs The array holding the image information. + * + * @return array The updated images array. + */ + public function get_images_alt_text( $post_id, $body, $imgs ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + return array(); + } + + /** + * @deprecated 3.0 + * + * @param array $job The array holding the keywords. + * @param array $results The results array. + * @param array $headings The headings found in the document. + */ + public function score_headings( $job, &$results, $headings ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + } + + /** + * @deprecated 3.0 + * + * @param string $postcontent Post content to find headings in. + * + * @return array Array of heading texts. + */ + public function get_headings( $postcontent ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + return array(); + } + + /** + * @deprecated 3.0 + * + * @param array $job The array holding the keywords. + * @param array $results The results array. + * @param string $description The meta description. + * @param int $maxlength The maximum length of the meta description. + */ + public function score_description( $job, &$results, $description, $maxlength = 155 ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + } + + /** + * @deprecated 3.0 + * + * @param array $job The array holding the keywords. + * @param array $results The results array. + * @param string $body The body. + * @param string $firstp The first paragraph. + */ + public function score_body( $job, &$results, $body, $firstp ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + } + + /** + * @deprecated 3.0 + * + * @param object $post The post object. + * + * @return string The post content. + */ + public function get_body( $post ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + return ''; + } + + /** + * @deprecated 3.0 + * + * @param string $body The post content to retrieve the first paragraph from. + * + * @return string + */ + public function get_first_paragraph( $body ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + return ''; + } + + /** + * @deprecated 3.2 + * + * Retrieves the title template. + * + * @param object $post metabox post. + * + * @return string + */ + public static function get_title_template( $post ) { + _deprecated_function( __METHOD__, 'WPSEO 3.2', 'WPSEO_Post_Scraper::get_title_template' ); + + return ''; + } + + /** + * @deprecated 3.2 + * + * Retrieves the metadesc template. + * + * @param object $post metabox post. + * + * @return string + */ + public static function get_metadesc_template( $post ) { + _deprecated_function( __METHOD__, 'WPSEO 3.2', 'WPSEO_Post_Scraper::get_metadesc_template' ); + return ''; + } + + /** + * @deprecated 3.2 + * Retrieve a post date when post is published, or return current date when it's not. + * + * @param WP_Post $post The post for which to retrieve the post date. + * + * @return string + */ + public function get_post_date( $post ) { + _deprecated_function( __METHOD__, 'WPSEO 3.2', 'WPSEO_Post_Scraper::get_post_date' ); + + return ''; + } + // @codeCoverageIgnoreEnd +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/metabox/interface-metabox-analysis.php b/pole-sbv-content/plugins/wordpress-seo/admin/metabox/interface-metabox-analysis.php new file mode 100644 index 00000000..10060787 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/metabox/interface-metabox-analysis.php @@ -0,0 +1,31 @@ +onpage_option = $this->get_option(); + } + + /** + * Getting the status from the option. + * + * @return string + */ + public function get_status() { + if ( array_key_exists( self::STATUS, $this->onpage_option ) ) { + return $this->onpage_option[ self::STATUS ]; + } + + return self::CANNOT_FETCH; + } + + /** + * Saving the status to the options. + * + * @param string $status The status to save. + */ + public function set_status( $status ) { + $this->onpage_option[ self::STATUS ] = $status; + } + + /** + * Saving the last fetch timestamp to the options. + * + * @param integer $timestamp Timestamp with the new value. + */ + public function set_last_fetch( $timestamp ) { + $this->onpage_option[ self::LAST_FETCH ] = $timestamp; + } + + /** + * Check if the last fetch is within the time of 60 minutes + * + * @return bool + */ + public function should_be_fetched() { + return ( ( time() - $this->onpage_option[ self::LAST_FETCH ] ) > self::FETCH_LIMIT ); + } + + /** + * Saving the option with the current data + */ + public function save_option() { + update_option( self::OPTION_NAME, $this->onpage_option ); + } + + /** + * Returns the value of the onpage_enabled status + * + * @return bool + */ + public function is_enabled() { + $options = get_option( 'wpseo' ); + + return ! empty( $options['onpage_indexability'] ); + } + + /** + * Getting the option with the Ryte data. + * + * @return array + */ + private function get_option() { + $default = array( + self::STATUS => self::NOT_FETCHED, + self::LAST_FETCH => 0, + ); + + return get_option( self::OPTION_NAME, $default ); + } + + /** + * @deprecated 3.0.2 + * @codeCoverageIgnore + * + * Returns the indexable status of the website. + * + * @return bool + */ + public function is_indexable() { + _deprecated_function( __METHOD__, 'WPSEO 3.0.2' ); + + return self::IS_INDEXABLE === $this->get_status(); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/onpage/class-onpage-request.php b/pole-sbv-content/plugins/wordpress-seo/admin/onpage/class-onpage-request.php new file mode 100644 index 00000000..e32949d8 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/onpage/class-onpage-request.php @@ -0,0 +1,79 @@ + $target_url, + 'wp_version' => $GLOBALS['wp_version'], + 'yseo_version' => WPSEO_VERSION, + ), $parameters ); + + $url = add_query_arg( $parameters, $this->onpage_endpoint ); + + $response = wp_remote_get( $url ); + $response_code = wp_remote_retrieve_response_code( $response ); + + // When the request is successful, the response code will be 200. + if ( $response_code === 200 ) { + $response_body = wp_remote_retrieve_body( $response ); + + return json_decode( $response_body, true ); + } + } + + /** + * Sending a request to Ryte to check if the $home_url is indexable. + * + * @param string $target_url The URL that will be send to the API. + * @param array $parameters Array of extra parameters to send to Ryte. + * + * @return array + */ + public function do_request( $target_url, $parameters = array() ) { + $json_body = $this->get_remote( $target_url, $parameters ); + + // Ryte recognized a redirect, fetch the data of that URL by calling this method with the value from Ryte. + if ( ! empty( $json_body['passes_juice_to'] ) ) { + return $this->do_request( $json_body['passes_juice_to'], $parameters ); + } + + return $json_body; + } + + /** + * Returns the fetched response + * + * @deprecated 3.1.2 + * @codeCoverageIgnore + * + * @return array + */ + public function get_response() { + _deprecated_function( __METHOD__, 'WPSEO 3.1.2', 'WPSEO_OnPage_Request::do_request' ); + + return array(); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/onpage/class-onpage.php b/pole-sbv-content/plugins/wordpress-seo/admin/onpage/class-onpage.php new file mode 100644 index 00000000..7d2b7889 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/onpage/class-onpage.php @@ -0,0 +1,234 @@ +onpage_option = new WPSEO_OnPage_Option(); + + if ( $this->onpage_option->is_enabled() ) { + $this->set_hooks(); + $this->catch_redo_listener(); + } + } + } + + /** + * The hooks to run on plugin activation + */ + public function activate_hooks() { + $this->set_cron(); + } + + /** + * Adding a weekly schedule to the schedules array + * + * @param array $schedules Array with schedules. + * + * @return array + */ + public function add_weekly_schedule( array $schedules ) { + $schedules['weekly'] = array( + 'interval' => WEEK_IN_SECONDS, + 'display' => __( 'Once Weekly', 'wordpress-seo' ), + ); + + return $schedules; + } + + /** + * Fetching the data from Ryte. + * + * @return bool + */ + public function fetch_from_onpage() { + if ( $this->onpage_option->should_be_fetched() && false !== ( $new_status = $this->request_indexability() ) ) { + + // Updates the timestamp in the option. + $this->onpage_option->set_last_fetch( time() ); + + // The currently indexability status. + $old_status = $this->onpage_option->get_status(); + + // Saving the new status. + $this->onpage_option->set_status( $new_status ); + + // Saving the option. + $this->onpage_option->save_option(); + + // Check if the status has been changed. + if ( $old_status !== $new_status && $new_status !== WPSEO_OnPage_Option::CANNOT_FETCH ) { + $this->notify_admins(); + } + + return true; + } + + return false; + } + + /** + * Show a notice when the website is not indexable + */ + public function show_notice() { + + $notification = $this->get_indexability_notification(); + $notification_center = Yoast_Notification_Center::get(); + + if ( $this->should_show_notice() ) { + $notification_center->add_notification( $notification ); + + return; + } + + $notification_center->remove_notification( $notification ); + } + + /** + * Builds the indexability notification + * + * @return Yoast_Notification + */ + private function get_indexability_notification() { + $notice = sprintf( + /* translators: 1: opens a link to a related knowledge base article. 2: closes the link */ + __( '%1$sYour homepage cannot be indexed by search engines%2$s. This is very bad for SEO and should be fixed.', 'wordpress-seo' ), + '', + '' + ); + + return new Yoast_Notification( + $notice, + array( + 'type' => Yoast_Notification::ERROR, + 'id' => 'wpseo-dismiss-onpageorg', + 'capabilities' => 'wpseo_manage_options', + ) + ); + } + + /** + * Send a request to Ryte to get the indexability. + * + * @return int(0)|int(1)|false + */ + protected function request_indexability() { + $parameters = array(); + if ( $this->wordfence_protection_enabled() ) { + $parameters['wf_strict'] = 1; + } + + $request = new WPSEO_OnPage_Request(); + $response = $request->do_request( get_option( 'home' ), $parameters ); + + if ( isset( $response['is_indexable'] ) ) { + return (int) $response['is_indexable']; + } + + return WPSEO_OnPage_Option::CANNOT_FETCH; + } + + /** + * Should the notice being given? + * + * @return bool + */ + protected function should_show_notice() { + // If development mode is on or the blog is not public, just don't show this notice. + if ( WPSEO_Utils::is_development_mode() || ( '0' === get_option( 'blog_public' ) ) ) { + return false; + } + + return $this->onpage_option->get_status() === WPSEO_OnPage_Option::IS_NOT_INDEXABLE; + } + + /** + * Notify the admins + */ + protected function notify_admins() { + /* + * Let's start showing the notices to all admins by removing the hide-notice meta data for each admin resulting + * in popping up the notice again. + */ + delete_metadata( 'user', 0, WPSEO_OnPage::USER_META_KEY, '', true ); + } + + /** + * Setting up the hooks. + */ + private function set_hooks() { + // Schedule cronjob when it doesn't exists on activation. + register_activation_hook( WPSEO_FILE, array( $this, 'activate_hooks' ) ); + + // Add weekly schedule to the cron job schedules. + add_filter( 'cron_schedules', array( $this, 'add_weekly_schedule' ) ); + + // Adding admin notice if necessary. + add_filter( 'admin_init', array( $this, 'show_notice' ) ); + + // Setting the action for the Ryte fetch. + add_action( 'wpseo_onpage_fetch', array( $this, 'fetch_from_onpage' ) ); + } + + /** + * Setting the cronjob to get the new indexibility status. + */ + private function set_cron() { + if ( ! wp_next_scheduled( 'wpseo_onpage_fetch' ) ) { + wp_schedule_event( time(), 'weekly', 'wpseo_onpage_fetch' ); + } + } + + /** + * Redo the fetch request for Ryte. + */ + private function catch_redo_listener() { + if ( filter_input( INPUT_GET, 'wpseo-redo-onpage' ) === '1' ) { + $this->is_manual_request = true; + + add_action( 'admin_init', array( $this, 'fetch_from_onpage' ) ); + } + } + + /** + * Checks if WordFence protects the site against 'fake' Google crawlers. + * + * @return boolean + */ + private function wordfence_protection_enabled() { + if ( ! class_exists( 'wfConfig' ) ) { + return false; + } + + if ( ! method_exists( 'wfConfig', 'get' ) ) { + return false; + } + + return (bool) wfConfig::get( 'blockFakeBots' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/onpage/class-ryte-service.php b/pole-sbv-content/plugins/wordpress-seo/admin/onpage/class-ryte-service.php new file mode 100644 index 00000000..c07b80cf --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/onpage/class-ryte-service.php @@ -0,0 +1,100 @@ +option = $option; + } + + /** + * Fetches statistics via REST request. + * + * @return WP_REST_Response The response object. + */ + public function get_statistics() { + $result = false; + + if ( $this->option->is_enabled() ) { + $result = $this->get_score( $this->option->get_status(), $this->option->should_be_fetched() ); + } + + return new WP_REST_Response( array( 'ryte' => $result ) ); + } + + /** + * Returns an the results of the Ryte option based on the passed status. + * + * @param string $status The option's status. + * @param bool $fetch Whether or not the data should be fetched. + * + * @return array The results, contains a score and label. + */ + private function get_score( $status, $fetch = false ) { + if ( $status === WPSEO_OnPage_Option::IS_INDEXABLE ) { + return array( + 'score' => 'good', + 'label' => __( 'Your homepage can be indexed by search engines.', 'wordpress-seo' ), + 'can_fetch' => $fetch, + ); + } + + if ( $status === WPSEO_OnPage_Option::IS_NOT_INDEXABLE ) { + return array( + 'score' => 'bad', + 'label' => sprintf( + /* translators: %1$s: opens a link to a related knowledge base article. %2$s: closes the link. */ + __( '%1$sYour homepage cannot be indexed by search engines%2$s. This is very bad for SEO and should be fixed.', 'wordpress-seo' ), + '', + '' + ), + 'can_fetch' => $fetch, + ); + } + + if ( $status === WPSEO_OnPage_Option::CANNOT_FETCH ) { + return array( + 'score' => 'na', + 'label' => sprintf( + /* translators: %1$s: opens a link to a related knowledge base article, %2$s: expands to Yoast SEO, %3$s: closes the link, %4$s: expands to Ryte. */ + __( '%1$s%2$s has not been able to fetch your site\'s indexability status%3$s from %4$s', 'wordpress-seo' ), + '', + 'Yoast SEO', + '', + 'Ryte' + ), + 'can_fetch' => $fetch, + ); + } + + if ( $status === WPSEO_OnPage_Option::NOT_FETCHED ) { + return array( + 'score' => 'na', + 'label' => esc_html( sprintf( + /* translators: %1$s: expands to Yoast SEO, %2$s: expands to Ryte. */ + __( '%1$s has not fetched your site\'s indexability status yet from %2$s', 'wordpress-seo' ), + 'Yoast SEO', + 'Ryte' + ) ), + 'can_fetch' => $fetch, + ); + } + + return array(); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/pages/advanced.php b/pole-sbv-content/plugins/wordpress-seo/admin/pages/advanced.php new file mode 100644 index 00000000..4355792d --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/pages/advanced.php @@ -0,0 +1,62 @@ +add_tab( + new WPSEO_Option_Tab( + 'breadcrumbs', + __( 'Breadcrumbs', 'wordpress-seo' ), + array( + 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-breadcrumbs' ), + 'opt_group' => 'wpseo_internallinks', + ) + ) +); +$tabs->add_tab( + new WPSEO_Option_Tab( + 'permalinks', + __( 'Permalinks', 'wordpress-seo' ), + array( + 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-permalinks' ), + 'opt_group' => 'wpseo_permalinks', + ) + ) +); +$tabs->add_tab( + new WPSEO_Option_Tab( + 'rss', + __( 'RSS', 'wordpress-seo' ), + array( + 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-rss' ), + 'opt_group' => 'wpseo_rss', + ) + ) +); + +$active_tab = $tabs->get_active_tab(); +Yoast_Form::get_instance()->admin_header( true, $active_tab->get_opt_group() ); + +echo ''; + +$help_center = new WPSEO_Help_Center( '', $tabs, WPSEO_Utils::is_yoast_seo_premium() ); +$help_center->localize_data(); +$help_center->mount(); + +require_once WPSEO_PATH . 'admin/views/tabs/advanced/' . $active_tab->get_name() . '.php'; + +Yoast_Form::get_instance()->admin_footer(); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/pages/dashboard.php b/pole-sbv-content/plugins/wordpress-seo/admin/pages/dashboard.php new file mode 100644 index 00000000..6ac44e1a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/pages/dashboard.php @@ -0,0 +1,72 @@ +admin_header( true, 'wpseo' ); + +do_action( 'wpseo_all_admin_notices' ); + +if ( is_array( $options['blocking_files'] ) && count( $options['blocking_files'] ) > 0 ) { + + $xml_sitemap_options = WPSEO_Options::get_option( 'wpseo_xml' ); + if ( $xml_sitemap_options['enablexmlsitemap'] ) { + + echo '

    '; + printf( + /* translators: %1$s expands to Yoast SEO */ + _n( 'The following file is blocking your XML sitemaps from working properly. Either delete it (this can be done with the "Fix it" button) or disable %1$s XML sitemaps.', 'The following files are blocking your XML sitemaps from working properly. Either delete them (this can be done with the "Fix it" button) or disable %1$s XML sitemaps.', count( $options['blocking_files'] ), 'wordpress-seo' ), + 'Yoast SEO' + ); + foreach ( $options['blocking_files'] as $file ) { + echo '
    ', '', esc_html( $file ), ''; + } + unset( $file ); + echo '
    '; + echo '

    '; + } +} + +$tabs = new WPSEO_Option_Tabs( 'dashboard' ); +$tabs->add_tab( new WPSEO_Option_Tab( 'dashboard', __( 'Dashboard', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-notification-center' ) ) ) ); +$tabs->add_tab( new WPSEO_Option_Tab( 'general', __( 'General', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-general' ) ) ) ); +$tabs->add_tab( new WPSEO_Option_Tab( 'features', __( 'Features', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-features' ) ) ) ); +$knowledge_graph_label = ( 'company' === $options['company_or_person'] ) ? __( 'Company info', 'wordpress-seo' ) : __( 'Your info', 'wordpress-seo' ); +$tabs->add_tab( new WPSEO_Option_Tab( 'knowledge-graph', $knowledge_graph_label, array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-knowledge-graph' ) ) ) ); +$tabs->add_tab( new WPSEO_Option_Tab( 'webmaster-tools', __( 'Webmaster tools', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-general-search-console' ) ) ) ); +$tabs->add_tab( new WPSEO_Option_Tab( 'security', __( 'Security', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-security' ) ) ) ); + +do_action( 'wpseo_settings_tabs_dashboard', $tabs ); + +$tabs->display( $yform, $options ); + +do_action( 'wpseo_dashboard' ); + +$yform->admin_footer(); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/pages/licenses.php b/pole-sbv-content/plugins/wordpress-seo/admin/pages/licenses.php new file mode 100644 index 00000000..f165aa2a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/pages/licenses.php @@ -0,0 +1,15 @@ +get_license_page(); +require WPSEO_PATH . 'admin/views/' . $licenses_page . '.php'; diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/pages/metas.php b/pole-sbv-content/plugins/wordpress-seo/admin/pages/metas.php new file mode 100644 index 00000000..f6260cd1 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/pages/metas.php @@ -0,0 +1,80 @@ +admin_header( true, 'wpseo_titles' ); + +$tabs = new WPSEO_Option_Tabs( 'metas' ); +$tabs->add_tab( new WPSEO_Option_Tab( 'general', __( 'General', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-metas' ) ) ) ); +$tabs->add_tab( new WPSEO_Option_Tab( 'home', __( 'Homepage', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-metas-homepage' ) ) ) ); +$tabs->add_tab( new WPSEO_Option_Tab( 'post-types', __( 'Post Types', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-metas-post-types' ) ) ) ); +$tabs->add_tab( new WPSEO_Option_Tab( 'taxonomies', __( 'Taxonomies', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-metas-taxonomies' ) ) ) ); +$tabs->add_tab( new WPSEO_Option_Tab( 'archives', __( 'Archives', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-metas-archives' ) ) ) ); +$tabs->add_tab( new WPSEO_Option_Tab( 'other', __( 'Other', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-metas-other' ) ) ) ); +$tabs->display( $yform, $options ); + +$yform->admin_footer(); + +/** + * Adds help tabs. + * + * @param array $tabs Current help center tabs. + * + * @return array List containing all the additional tabs. + */ +function yoast_add_meta_options_help_center_tabs( $tabs ) { + + $tabs[] = new WPSEO_Help_Center_Item( + 'template-variables', + __( 'Template explanation', 'wordpress-seo' ), + array( 'content' => add_template_variables_helpcenter() ) + ); + + return $tabs; +} + +/** + * Adds template variables to the help center. + * + * @return string The content for the template variables tab. + */ +function add_template_variables_helpcenter() { + $explanation = sprintf( + /* translators: %1$s expands to Yoast SEO. */ + __( 'The title & metas settings for %1$s are made up of variables that are replaced by specific values from the page when the page is displayed. The table below contains a list of the available variables.', 'wordpress-seo' ), + 'Yoast SEO' + ); + + $output_explanation = sprintf( + '

    %s

    %s

    %s

    ', + esc_html( __( 'Template explanation', 'wordpress-seo' ) ), + esc_html( $explanation ), + esc_html( __( 'Note that not all variables can be used in every template.', 'wordpress-seo' ) ) + ); + + $output_basic = sprintf( + '

    %s

    %s', + esc_html( __( 'Basic Variables', 'wordpress-seo' ) ), + WPSEO_Replace_Vars::get_basic_help_texts() + ); + + $output_advanced = sprintf( + '

    %s

    %s', + esc_html( __( 'Advanced Variables', 'wordpress-seo' ) ), + WPSEO_Replace_Vars::get_advanced_help_texts() + ); + + return $output_explanation . $output_basic . $output_advanced; +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/pages/network.php b/pole-sbv-content/plugins/wordpress-seo/admin/pages/network.php new file mode 100644 index 00000000..6b998624 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/pages/network.php @@ -0,0 +1,152 @@ +blogname ) ), 'updated' ); + } + else { + /* translators: %s expands to the ID of a blog within a multi-site network. */ + add_settings_error( 'wpseo_ms', 'settings_updated', sprintf( __( 'Blog %s not found.', 'wordpress-seo' ), esc_html( $restoreblog ) ), 'error' ); + } + unset( $restoreblog, $blog ); + } +} + +/* Set up selectbox dropdowns for smaller networks (usability) */ +$use_dropdown = true; +if ( get_blog_count() > 100 ) { + $use_dropdown = false; +} +else { + + if ( function_exists( 'get_sites' ) ) { // WP 4.6+. + $sites = array_map( 'get_object_vars', get_sites( array( 'deleted' => 0 ) ) ); + } + else { + $sites = wp_get_sites( array( 'deleted' => 0 ) ); + } + + if ( is_array( $sites ) && $sites !== array() ) { + $dropdown_input = array( + '-' => __( 'None', 'wordpress-seo' ), + ); + + foreach ( $sites as $site ) { + $dropdown_input[ $site['blog_id'] ] = $site['blog_id'] . ': ' . $site['domain']; + + $blog_states = array(); + if ( $site['public'] === '1' ) { + $blog_states[] = __( 'public', 'wordpress-seo' ); + } + if ( $site['archived'] === '1' ) { + $blog_states[] = __( 'archived', 'wordpress-seo' ); + } + if ( $site['mature'] === '1' ) { + $blog_states[] = __( 'mature', 'wordpress-seo' ); + } + if ( $site['spam'] === '1' ) { + $blog_states[] = __( 'spam', 'wordpress-seo' ); + } + if ( $blog_states !== array() ) { + $dropdown_input[ $site['blog_id'] ] .= ' [' . implode( ', ', $blog_states ) . ']'; + } + } + unset( $site, $blog_states ); + } + else { + $use_dropdown = false; + } + unset( $sites ); +} + +$yform->admin_header( false, 'wpseo_ms' ); + +echo '

    ', __( 'MultiSite Settings', 'wordpress-seo' ), '

    '; +echo '
    '; +wp_nonce_field( 'wpseo-network-settings', '_wpnonce', true, true ); + +/* {@internal Important: Make sure the options added to the array here are in line with the options set in the WPSEO_Option_MS::$allowed_access_options property.}} */ +$yform->select( + 'access', + /* translators: %1$s expands to Yoast SEO */ + sprintf( __( 'Who should have access to the %1$s settings', 'wordpress-seo' ), 'Yoast SEO' ), + array( + 'admin' => __( 'Site Admins (default)', 'wordpress-seo' ), + 'superadmin' => __( 'Super Admins only', 'wordpress-seo' ), + ), + 'wpseo_ms' +); + +if ( $use_dropdown === true ) { + $yform->select( + 'defaultblog', + __( 'New sites in the network inherit their SEO settings from this site', 'wordpress-seo' ), + $dropdown_input, + 'wpseo_ms' + ); + echo '

    ' . __( 'Choose the site whose settings you want to use as default for all sites that are added to your network. If you choose \'None\', the normal plugin defaults will be used.', 'wordpress-seo' ) . '

    '; +} +else { + $yform->textinput( 'defaultblog', __( 'New sites in the network inherit their SEO settings from this site', 'wordpress-seo' ), 'wpseo_ms' ); + /* translators: 1: link open tag; 2: link close tag. */ + echo '

    ' . sprintf( __( 'Enter the %1$sSite ID%2$s for the site whose settings you want to use as default for all sites that are added to your network. Leave empty for none (i.e. the normal plugin defaults will be used).', 'wordpress-seo' ), '', '' ) . '

    '; +} + echo '

    ' . __( 'Take note:', 'wordpress-seo' ) . ' ' . __( 'Privacy sensitive (FB admins and such), theme specific (title rewrite) and a few very site specific settings will not be imported to new blogs.', 'wordpress-seo' ) . '

    '; + + +echo ''; +echo '
    '; + +echo '

    ' . __( 'Restore site to default settings', 'wordpress-seo' ) . '

    '; +echo '
    '; +wp_nonce_field( 'wpseo-network-restore', '_wpnonce', true, true ); +echo '

    ' . __( 'Using this form you can reset a site to the default SEO settings.', 'wordpress-seo' ) . '

    '; + +if ( $use_dropdown === true ) { + unset( $dropdown_input['-'] ); + $yform->select( + 'restoreblog', + __( 'Site ID', 'wordpress-seo' ), + $dropdown_input, + 'wpseo_ms' + ); +} +else { + $yform->textinput( 'restoreblog', __( 'Blog ID', 'wordpress-seo' ), 'wpseo_ms' ); +} + +echo ''; +echo '
    '; + +$yform->admin_footer( false ); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/pages/social.php b/pole-sbv-content/plugins/wordpress-seo/admin/pages/social.php new file mode 100644 index 00000000..df81cd72 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/pages/social.php @@ -0,0 +1,23 @@ +admin_header( true, 'wpseo_social' ); + +$tabs = new WPSEO_Option_Tabs( 'social' ); +$tabs->add_tab( new WPSEO_Option_Tab( 'accounts', __( 'Accounts', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-social-accounts' ) ) ) ); +$tabs->add_tab( new WPSEO_Option_Tab( 'facebook', __( 'Facebook', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-social-facebook' ) ) ) ); +$tabs->add_tab( new WPSEO_Option_Tab( 'twitterbox', __( 'Twitter', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-social-twitter' ) ) ) ); +$tabs->add_tab( new WPSEO_Option_Tab( 'pinterest', __( 'Pinterest', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-social-pinterest' ) ) ) ); +$tabs->add_tab( new WPSEO_Option_Tab( 'google', __( 'Google+', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-social-google' ) ) ) ); +$tabs->display( $yform ); + +$yform->admin_footer(); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/pages/tools.php b/pole-sbv-content/plugins/wordpress-seo/admin/pages/tools.php new file mode 100644 index 00000000..ab42e3d6 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/pages/tools.php @@ -0,0 +1,88 @@ +admin_header( false ); + +if ( '' === $tool_page ) { + + $tools = array( + 'bulk-editor' => array( + 'title' => __( 'Bulk editor', 'wordpress-seo' ), + 'desc' => __( 'This tool allows you to quickly change titles and descriptions of your posts and pages without having to go into the editor for each page.', 'wordpress-seo' ), + ), + 'import-export' => array( + 'title' => __( 'Import and Export', 'wordpress-seo' ), + 'desc' => __( 'Import settings from other SEO plugins and export your settings for re-use on (another) blog.', 'wordpress-seo' ), + ), + ); + if ( WPSEO_Utils::allow_system_file_edit() === true && ! is_multisite() ) { + $tools['file-editor'] = array( + 'title' => __( 'File editor', 'wordpress-seo' ), + 'desc' => __( 'This tool allows you to quickly change important files for your SEO, like your robots.txt and, if you have one, your .htaccess file.', 'wordpress-seo' ), + ); + } + + /* + Temporary disabled. See: https://github.com/Yoast/wordpress-seo/issues/4532 + + $tools['recalculate'] = array( + 'href' => '#TB_inline?width=300&height=150&inlineId=wpseo_recalculate', + 'attr' => "id='wpseo_recalculate_link' class='thickbox'", + 'title' => __( 'Recalculate SEO scores', 'wordpress-seo' ), + 'desc' => __( 'Recalculate SEO scores for all pieces of content with a focus keyword.', 'wordpress-seo' ), + ); + + if ( filter_input( INPUT_GET, 'recalculate' ) === '1' ) { + $tools['recalculate']['attr'] .= "data-open='open'"; + } + */ + + /* translators: %1$s expands to Yoast SEO */ + echo '

    ', sprintf( __( '%1$s comes with some very powerful built-in tools:', 'wordpress-seo' ), 'Yoast SEO' ), '

    '; + + asort( $tools ); + + echo '
      '; + + $admin_url = admin_url( 'admin.php?page=wpseo_tools' ); + + foreach ( $tools as $slug => $tool ) { + $href = ( ! empty( $tool['href'] ) ) ? $admin_url . $tool['href'] : add_query_arg( array( 'tool' => $slug ) , $admin_url ); + $attr = ( ! empty( $tool['attr'] ) ) ? $tool['attr'] : ''; + + echo '
    • '; + echo '', esc_html( $tool['title'] ), '
      '; + echo $tool['desc']; + echo '
    • '; + } + echo '
    '; + + echo ''; + +} +else { + echo '', __( '« Back to Tools page', 'wordpress-seo' ), ''; + + $tool_pages = array( 'bulk-editor', 'import-export' ); + + if ( WPSEO_Utils::allow_system_file_edit() === true && ! is_multisite() ) { + $tool_pages[] = 'file-editor'; + } + + if ( in_array( $tool_page, $tool_pages ) ) { + require_once WPSEO_PATH . 'admin/views/tool-' . $tool_page . '.php'; + } +} + +$yform->admin_footer( false ); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/pages/xml-sitemaps.php b/pole-sbv-content/plugins/wordpress-seo/admin/pages/xml-sitemaps.php new file mode 100644 index 00000000..d2913b92 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/pages/xml-sitemaps.php @@ -0,0 +1,52 @@ + whomever] check for other sitemap plugins which may conflict ? + * @todo - [JRF => whomever] check for existance of .xls rewrite rule in .htaccess from + * google-sitemaps-plugin/generator and remove as it will cause errors for our sitemaps + * (or inform the user and disallow enabling of sitemaps ) + * @todo - [JRF => whomever] check if anything along these lines is already being done + */ + + +if ( ! defined( 'WPSEO_VERSION' ) ) { + header( 'Status: 403 Forbidden' ); + header( 'HTTP/1.1 403 Forbidden' ); + exit(); +} + +$yform = Yoast_Form::get_instance(); +$yform->admin_header( true, 'wpseo_xml' ); + +$options = get_option( 'wpseo_xml' ); + +echo '
    '; +$yform->light_switch( 'enablexmlsitemap', __( 'XML sitemap functionality', 'wordpress-seo' ) ); + +$tabs = new WPSEO_Option_Tabs( 'sitemaps' ); +$tabs->add_tab( new WPSEO_Option_Tab( 'general', __( 'General', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-sitemaps' ) ) ) ); + +$title_options = WPSEO_Options::get_option( 'wpseo_titles' ); + +if ( empty( $title_options['disable-author'] ) ) { + $tabs->add_tab( new WPSEO_Option_Tab( 'user-sitemap', __( 'User sitemap', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-sitemaps-user-sitemap' ) ) ) ); +} + +$tabs->add_tab( new WPSEO_Option_Tab( 'post-types', __( 'Post Types', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-sitemaps-post-types' ) ) ) ); +$tabs->add_tab( new WPSEO_Option_Tab( 'exclude-post', __( 'Excluded Posts', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-sitemaps-exclude-post' ) ) ) ); +$tabs->add_tab( new WPSEO_Option_Tab( 'taxonomies', __( 'Taxonomies', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-sitemaps-taxonomies' ) ) ) ); + +echo '
    '; +$tabs->display( $yform, $options ); +echo '
    '; + + +/** + * Fires at the end of XML Sitemaps configuration form. + */ +do_action( 'wpseo_xmlsitemaps_config' ); + +$yform->admin_footer(); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/recalculate/class-recalculate-posts.php b/pole-sbv-content/plugins/wordpress-seo/admin/recalculate/class-recalculate-posts.php new file mode 100644 index 00000000..bf7b0727 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/recalculate/class-recalculate-posts.php @@ -0,0 +1,149 @@ +save_score( $score ); + } + } + + /** + * Save the score. + * + * @param array $score The score to save. + */ + protected function save_score( array $score ) { + WPSEO_Meta::set_value( 'linkdex', $score['score'], $score['item_id'] ); + } + + /** + * Get the posts from the database by doing a WP_Query. + * + * @param integer $paged The page. + * + * @return string + */ + protected function get_items( $paged ) { + $items_per_page = max( 1, $this->items_per_page ); + $post_query = new WP_Query( + array( + 'post_type' => 'any', + 'meta_key' => '_yoast_wpseo_focuskw', + 'posts_per_page' => $items_per_page, + 'paged' => $paged, + ) + ); + + return $post_query->get_posts(); + } + + /** + * Map the posts to a response array + * + * @param WP_Post $item The post for which to build the analyzer data. + * + * @return array + */ + protected function item_to_response( $item ) { + $focus_keyword = WPSEO_Meta::get_value( 'focuskw', $item->ID ); + + $content = $item->post_content; + + // Check if there's a featured image. + $content .= $this->add_featured_image( $item ); + + /** + * Filter the post content for use in the SEO score recalculation. + * + * @param string $content Content of the post. Modify to reflect front-end content. + * @param WP_Post $item The Post object the content comes from. + */ + $content = apply_filters( 'wpseo_post_content_for_recalculation', $content, $item ); + + // Apply shortcodes. + $content = do_shortcode( $content ); + + return array( + 'post_id' => $item->ID, + 'text' => $content, + 'keyword' => $focus_keyword, + 'url' => urldecode( $item->post_name ), + 'pageTitle' => apply_filters( 'wpseo_title', wpseo_replace_vars( $this->get_title( $item->ID, $item->post_type ), $item ) ), + 'meta' => apply_filters( 'wpseo_metadesc', wpseo_replace_vars( $this->get_meta_description( $item->ID, $item->post_type ), $item ) ), + 'keyword_usage' => array( + $focus_keyword => WPSEO_Meta::keyword_usage( $focus_keyword, $item->ID ), + ), + ); + } + + /** + * Get the title for given post + * + * @param integer $post_id The ID of the post for which to get the title. + * @param string $post_type The post type. + * + * @return mixed|string + */ + private function get_title( $post_id, $post_type ) { + $title = WPSEO_Meta::get_value( 'title', $post_id ); + if ( '' !== $title ) { + return $title; + } + + $default_from_options = $this->default_from_options( 'title-tax', $post_type ); + if ( false !== $default_from_options ) { + return str_replace( ' %%page%% ', ' ', $default_from_options ); + } + + return '%%title%%'; + } + + /** + * Get the meta description for given post + * + * @param integer $post_id The ID of the post for which to get the meta description. + * @param string $post_type The post type. + * + * @return bool|string + */ + private function get_meta_description( $post_id, $post_type ) { + $meta_description = WPSEO_Meta::get_value( 'metadesc', $post_id ); + if ( '' !== $meta_description ) { + return $meta_description; + } + + $default_from_options = $this->default_from_options( 'metadesc', $post_type ); + if ( false !== $default_from_options ) { + return $default_from_options; + } + + return ''; + } + + /** + * Retrieves the associated featured image if there is one present. + * + * @param WP_Post $item The post item to check for a featured image. + * + * @return string The image string. + */ + private function add_featured_image( $item ) { + if ( ! has_post_thumbnail( $item->ID ) ) { + return ''; + } + + return ' ' . get_the_post_thumbnail( $item->ID ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/recalculate/class-recalculate-terms.php b/pole-sbv-content/plugins/wordpress-seo/admin/recalculate/class-recalculate-terms.php new file mode 100644 index 00000000..6f3111ef --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/recalculate/class-recalculate-terms.php @@ -0,0 +1,149 @@ +items_per_page ); + + return get_terms( + get_taxonomies(), + array( + 'hide_empty' => false, + 'number' => $items_per_page, + 'offset' => $items_per_page * abs( $paged - 1 ), + ) + ); + } + + /** + * Convert the given term into a analyzable object. + * + * @param mixed $item The term for which to build the analyzer data. + * + * @return array + */ + protected function item_to_response( $item ) { + $focus_keyword = $this->get_focus_keyword( $item ); + $title = str_replace( ' %%page%% ', ' ', $this->get_title( $item ) ); + $meta = $this->get_meta_description( $item ); + + $description = $item->description; + + /** + * Filter the term description for recalculation. + * + * @param string $description Content of the term. Modify to reflect front-end content. + * @oaram WP_Term $item The term the description comes from. + */ + $description = apply_filters( 'wpseo_term_description_for_recalculation', $description, $item ); + + return array( + 'term_id' => $item->term_id, + 'taxonomy' => $item->taxonomy, + 'text' => $description, + 'keyword' => $focus_keyword, + 'url' => urldecode( $item->slug ), + 'pageTitle' => apply_filters( 'wpseo_title', wpseo_replace_vars( $title, $item, array( 'page' ) ) ), + 'meta' => apply_filters( 'wpseo_metadesc', wpseo_replace_vars( $meta, $item ) ), + 'keyword_usage' => array( + $focus_keyword => WPSEO_Taxonomy_Meta::get_keyword_usage( $focus_keyword, $item->term_id, $item->taxonomy ), + ), + ); + } + + /** + * Gets the focus keyword for the term + * + * @param stdClass|WP_Term $term Term to determine the keyword for. + * + * @return bool|string + */ + private function get_focus_keyword( $term ) { + $focus_keyword = WPSEO_Taxonomy_Meta::get_term_meta( 'focuskw', $term->term_id, $term->taxonomy ); + if ( ! empty( $focus_keyword ) ) { + return $focus_keyword; + } + + return $term->name; + } + + /** + * Get the title for given term + * + * @param stdClass|WP_Term $term The term object. + * + * @return mixed|string + */ + private function get_title( $term ) { + $title = WPSEO_Taxonomy_Meta::get_term_meta( $term->term_id, $term->taxonomy, 'title' ); + if ( '' !== $title ) { + return $title; + } + + $default_from_options = $this->default_from_options( 'title-tax', $term->taxonomy ); + if ( false !== $default_from_options ) { + return $default_from_options; + } + + return '%%title%%'; + } + + /** + * Get the meta description for given post + * + * @param stdClass|WP_Term $term The term object. + * + * @return bool|string + */ + private function get_meta_description( $term ) { + $meta_description = WPSEO_Taxonomy_Meta::get_term_meta( $term->term_id, $term->taxonomy, 'desc' ); + if ( '' !== $meta_description ) { + return $meta_description; + } + + $default_from_options = $this->default_from_options( 'metadesc-tax', $term->taxonomy ); + if ( false !== $default_from_options ) { + return $default_from_options; + } + + return ''; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/recalculate/class-recalculate.php b/pole-sbv-content/plugins/wordpress-seo/admin/recalculate/class-recalculate.php new file mode 100644 index 00000000..372d2c09 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/recalculate/class-recalculate.php @@ -0,0 +1,107 @@ +options = WPSEO_Options::get_all(); + + $items = $this->get_items( $paged ); + + $return['items'] = $this->parse_items( $items ); + $return['total_items'] = count( $items ); + + if ( $return['total_items'] >= $this->items_per_page ) { + $return['next_page'] = ( $paged + 1 ); + } + + return $return; + } + + /** + * Parse the posts|terms with the value we need + * + * @param array $items The items to parse. + * + * @return array + */ + protected function parse_items( array $items ) { + $return = array(); + foreach ( $items as $item ) { + $response = $this->item_to_response( $item ); + if ( ! empty( $response ) ) { + $return[] = $response; + } + } + + return $return; + } + + /** + * Get default from the options for given field + * + * @param string $field The field for which to get the default options. + * @param string $suffix The post type. + * + * @return bool|string + */ + protected function default_from_options( $field, $suffix ) { + $target_option_field = $field . '-' . $suffix; + if ( ! empty( $this->options[ $target_option_field ] ) ) { + return $this->options[ $target_option_field ]; + } + + return false; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/roles/class-abstract-role-manager.php b/pole-sbv-content/plugins/wordpress-seo/admin/roles/class-abstract-role-manager.php new file mode 100644 index 00000000..e78bb366 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/roles/class-abstract-role-manager.php @@ -0,0 +1,143 @@ +roles[ $role ] = + (object) array( + 'display_name' => $display_name, + 'template' => $template, + ); + } + + /** + * Returns the list of registered roles. + * + * @return string[] List or registered roles. + */ + public function get_roles() { + return array_keys( $this->roles ); + } + + /** + * Adds the registered roles. + * + * @return void + */ + public function add() { + foreach ( $this->roles as $role => $data ) { + $capabilities = $this->get_capabilities( $data->template ); + $capabilities = $this->filter_existing_capabilties( $role, $capabilities ); + + $this->add_role( $role, $data->display_name, $capabilities ); + } + } + + /** + * Removes the registered roles. + * + * @return void + */ + public function remove() { + $roles = array_keys( $this->roles ); + array_map( array( $this, 'remove_role' ), $roles ); + } + + /** + * Returns the capabilities for the specified role. + * + * @param string $role Role to fetch capabilities from. + * + * @return array List of capabilities. + */ + protected function get_capabilities( $role ) { + if ( ! is_string( $role ) || empty( $role ) ) { + return array(); + } + + $wp_role = get_role( $role ); + if ( ! $wp_role ) { + return array(); + } + + return $wp_role->capabilities; + } + + /** + * Returns true if the capability exists on the role. + * + * @param WP_Role $role Role to check capability against. + * @param string $capability Capability to check. + * + * @return bool True if the capability is defined for the role. + */ + protected function capability_exists( WP_Role $role, $capability ) { + return ! array_key_exists( $capability, $role->capabilities ); + } + + /** + * Filters out capabilities that are already set for the role. + * + * This makes sure we don't override configurations that have been previously set. + * + * @param string $role The role to check against. + * @param array $capabilities The capabilities that should be set. + * + * @return array Capabilties that can be safely set. + */ + protected function filter_existing_capabilties( $role, array $capabilities ) { + if ( $capabilities === array() ) { + return $capabilities; + } + + $wp_role = get_role( $role ); + if ( ! $wp_role ) { + return $capabilities; + } + + foreach ( $capabilities as $capability => $grant ) { + if ( $this->capability_exists( $wp_role, $capability ) ) { + unset( $capabilities[ $capability ] ); + } + } + + return $capabilities; + } + + /** + * Adds a role to the system. + * + * @param string $role Role to add. + * @param string $display_name Name to display for the role. + * @param array $capabilities Capabilities to add to the role. + * + * @return void + */ + abstract protected function add_role( $role, $display_name, array $capabilities = array() ); + + /** + * Removes a role from the system + * + * @param string $role Role to remove. + * + * @return void + */ + abstract protected function remove_role( $role ); +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/roles/class-register-roles.php b/pole-sbv-content/plugins/wordpress-seo/admin/roles/class-register-roles.php new file mode 100644 index 00000000..20f48f3c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/roles/class-register-roles.php @@ -0,0 +1,30 @@ +register( 'wpseo_manager', 'SEO Manager', 'editor' ); + $role_manager->register( 'wpseo_editor', 'SEO Editor', 'editor' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/roles/class-role-manager-factory.php b/pole-sbv-content/plugins/wordpress-seo/admin/roles/class-role-manager-factory.php new file mode 100644 index 00000000..b81c9cff --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/roles/class-role-manager-factory.php @@ -0,0 +1,30 @@ + $grant ) { + if ( $grant ) { + $enabled_capabilities[] = $capability; + } + + if ( ! $grant ) { + $disabled_capabilities[] = $capability; + } + } + + wpcom_vip_add_role( $role, $display_name, $enabled_capabilities ); + if ( $disabled_capabilities !== array() ) { + wpcom_vip_remove_role_caps( $role, $disabled_capabilities ); + } + } + + /** + * Removes a role from the system. + * + * @param string $role Role to remove. + * + * @return void + */ + protected function remove_role( $role ) { + remove_role( $role ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/roles/class-role-manager-wp.php b/pole-sbv-content/plugins/wordpress-seo/admin/roles/class-role-manager-wp.php new file mode 100644 index 00000000..bba1f7e6 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/roles/class-role-manager-wp.php @@ -0,0 +1,60 @@ + $grant ) { + $wp_role->add_cap( $capability, $grant ); + } + + return; + } + + // @codingStandardsIgnoreLine + add_role( $role, $display_name, $capabilities ); + } + + /** + * Removes a role from the system. + * + * @param string $role Role to remove. + * + * @return void + */ + protected function remove_role( $role ) { + remove_role( $role ); + } + + /** + * Formats the capabilities to the required format. + * + * @param array $capabilities Capabilities to format. + * @param bool $enabled Whether these capabilities should be enabled or not. + * + * @return array Formatted capabilities. + */ + protected function format_capabilities( array $capabilities, $enabled = true ) { + // Flip keys and values. + $capabilities = array_flip( $capabilities ); + + // Set all values to $enabled. + return array_fill_keys( array_keys( $capabilities ), $enabled ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/roles/class-role-manager.php b/pole-sbv-content/plugins/wordpress-seo/admin/roles/class-role-manager.php new file mode 100644 index 00000000..2eb56bc3 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/roles/class-role-manager.php @@ -0,0 +1,41 @@ +statistics = $statistics; + $this->labels = $this->labels(); + } + + /** + * Fetches statistics by REST request. + * + * @return WP_REST_Response The response object. + */ + public function get_statistics() { + $statistics = $this->statistic_items(); + + $data = array( + 'header' => $this->get_header_from_statistics( $statistics ), + 'seo_scores' => $statistics['scores'], + ); + + return new WP_REST_Response( $data ); + } + + /** + * Gets a header summarizing the given statistics results. + * + * @param array $statistics The statistics results. + * + * @return string The header summing up the statistics results. + */ + private function get_header_from_statistics( array $statistics ) { + // Personal interpretation to allow release, should be looked at later. + if ( $statistics['division'] === false ) { + return __( 'You don\'t have any published posts, your SEO scores will appear here once you make your first post!', 'wordpress-seo' ); + } + + if ( $statistics['division']['good'] > 0.66 ) { + return __( 'Hey, your SEO is doing pretty well! Check out the stats:', 'wordpress-seo' ); + } + + return __( 'Below are your published posts\' SEO scores. Now is as good a time as any to start improving some of your posts!', 'wordpress-seo' ); + } + + /** + * An array representing items to be added to the At a Glance dashboard widget + * + * @return array The statistics for the current user. + */ + private function statistic_items() { + $transient = $this->get_transient(); + $user_id = get_current_user_id(); + + if ( isset( $transient[ $user_id ] ) ) { + return $transient[ $user_id ]; + } + + return $this->set_statistic_items_for_user( $transient, $user_id ); + } + + /** + * Gets the statistics transient value. Returns array if transient wasn't set. + * + * @return array|mixed Returns the transient or an empty array if the transient doesn't exist. + */ + private function get_transient() { + $transient = get_transient( self::CACHE_TRANSIENT_KEY ); + + if ( $transient === false ) { + return array(); + } + + return $transient; + } + + /** + * Set the statistics transient cache for a specific user + * + * @param array $transient The current stored transient with the cached data. + * @param int $user The user's ID to assign the retrieved values to. + * + * @return array The statistics transient for the user. + */ + private function set_statistic_items_for_user( $transient, $user ) { + $scores = $this->get_seo_scores_with_post_count(); + $division = $this->get_seo_score_division( $scores ); + + $transient[ $user ] = array( + // Use array_values because array_filter may return non-zero indexed arrays. + 'scores' => array_values( array_filter( $scores, array( $this, 'filter_items' ) ) ), + 'division' => $division, + ); + + set_transient( self::CACHE_TRANSIENT_KEY, $transient, DAY_IN_SECONDS ); + + return $transient[ $user ]; + } + + /** + * Gets the division of SEO scores. + * + * @param array $scores The SEO scores. + * + * @return array|bool The division of SEO scores, false if there are no posts. + */ + private function get_seo_score_division( array $scores ) { + $total = 0; + $division = array(); + + foreach ( $scores as $score ) { + $total += $score['count']; + } + + if ( $total === 0 ) { + return false; + } + + foreach ( $scores as $score ) { + $division[ $score['seo_rank'] ] = ( $score['count'] / $total ); + } + + return $division; + } + + /** + * Get all SEO ranks and data associated with them. + * + * @return array An array of SEO scores and associated data. + */ + private function get_seo_scores_with_post_count() { + $ranks = WPSEO_Rank::get_all_ranks(); + + return array_map( array( $this, 'map_rank_to_widget' ), $ranks ); + } + + /** + * Converts a rank to data usable in the dashboard widget. + * + * @param WPSEO_Rank $rank The rank to map. + * + * @return array The mapped rank. + */ + private function map_rank_to_widget( WPSEO_Rank $rank ) { + return array( + 'seo_rank' => $rank->get_rank(), + 'label' => $this->get_label_for_rank( $rank ), + 'count' => $this->statistics->get_post_count( $rank ), + 'link' => $this->get_link_for_rank( $rank ), + ); + } + + /** + * Returns a dashboard widget label to use for a certain rank. + * + * @param WPSEO_Rank $rank The rank to return a label for. + * + * @return string The label for the rank. + */ + private function get_label_for_rank( WPSEO_Rank $rank ) { + return $this->labels[ $rank->get_rank() ]; + } + + /** + * Determines the labels for the various scoring ranks that are known within Yoast SEO. + * + * @return array Array containing the translateable labels. + */ + private function labels() { + return array( + /* translators: %1$s expands to an opening strong tag, %2$s expands to a closing strong tag */ + WPSEO_Rank::NO_FOCUS => sprintf( __( 'Posts %1$swithout%2$s a focus keyword', 'wordpress-seo' ), '', '' ), + /* translators: %1$s expands to an opening strong tag, %2$s expands to a closing strong tag */ + WPSEO_Rank::BAD => sprintf( __( 'Posts with a %1$sneeds improvement%2$s SEO score', 'wordpress-seo' ), '', '' ), + /* translators: %1$s expands to an opening strong tag, %2$s expands to a closing strong tag */ + WPSEO_Rank::OK => sprintf( __( 'Posts with an %1$sOK%2$s SEO score', 'wordpress-seo' ), '', '' ), + /* translators: %1$s expands to an opening strong tag, %2$s expands to a closing strong tag */ + WPSEO_Rank::GOOD => sprintf( __( 'Posts with a %1$sgood%2$s SEO score', 'wordpress-seo' ), '', '' ), + /* translators: %s expands to noindex */ + WPSEO_Rank::NO_INDEX => sprintf( __( 'Posts that are set to “%s”', 'wordpress-seo' ), 'noindex' ), + ); + } + + /** + * Filter items if they have a count of zero. + * + * @param array $item The item to potentially filter out. + * + * @return bool Whether or not the count is zero. + */ + private function filter_items( $item ) { + return $item['count'] !== 0; + } + + /** + * Returns a link for the overview of posts of a certain rank. + * + * @param WPSEO_Rank $rank The rank to return a link for. + * + * @return string The link that shows an overview of posts with that rank. + */ + private function get_link_for_rank( WPSEO_Rank $rank ) { + if ( current_user_can( 'edit_others_posts' ) === false ) { + return esc_url( admin_url( 'edit.php?post_status=publish&post_type=post&seo_filter=' . $rank->get_rank() . '&author=' . get_current_user_id() ) ); + } + + return esc_url( admin_url( 'edit.php?post_status=publish&post_type=post&seo_filter=' . $rank->get_rank() ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-columns.php b/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-columns.php new file mode 100644 index 00000000..17b139f4 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-columns.php @@ -0,0 +1,249 @@ +taxonomy = $this->get_taxonomy(); + + if ( ! empty( $this->taxonomy ) ) { + add_filter( 'manage_edit-' . $this->taxonomy . '_columns', array( $this, 'add_columns' ) ); + add_filter( 'manage_' . $this->taxonomy . '_custom_column', array( $this, 'parse_column' ), 10, 3 ); + } + + $this->analysis_seo = new WPSEO_Metabox_Analysis_SEO(); + $this->analysis_readability = new WPSEO_Metabox_Analysis_Readability(); + } + + /** + * Adds an SEO score column to the terms table, right after the description column. + * + * @param array $columns Current set columns. + * + * @return array + */ + public function add_columns( array $columns ) { + + if ( $this->is_metabox_hidden() === true ) { + return $columns; + } + + $new_columns = array(); + + foreach ( $columns as $column_name => $column_value ) { + $new_columns[ $column_name ] = $column_value; + + if ( $column_name === 'description' && $this->analysis_seo->is_enabled() ) { + $new_columns['wpseo-score'] = '' . __( 'SEO score', 'wordpress-seo' ) . ''; + } + + if ( $column_name === 'description' && $this->analysis_readability->is_enabled() ) { + $new_columns['wpseo-score-readability'] = '' . __( 'Readability score', 'wordpress-seo' ) . ''; + } + } + + return $new_columns; + } + + /** + * Parses the column. + * + * @param string $content The current content of the column. + * @param string $column_name The name of the column. + * @param integer $term_id ID of requested taxonomy. + * + * @return string + */ + public function parse_column( $content, $column_name, $term_id ) { + + switch ( $column_name ) { + case 'wpseo-score': + return $this->get_score_value( $term_id ); + + break; + + case 'wpseo-score-readability': + return $this->get_score_readability_value( $term_id ); + break; + } + + return $content; + } + + + /** + * Returns the posted/get taxonomy value if it is set. + * + * @return string|null + */ + private function get_taxonomy() { + if ( defined( 'DOING_AJAX' ) && DOING_AJAX === true ) { + return FILTER_INPUT( INPUT_POST, 'taxonomy' ); + } + + return FILTER_INPUT( INPUT_GET, 'taxonomy' ); + } + + /** + * Parses the value for the score column. + * + * @param integer $term_id ID of requested term. + * + * @return string + */ + private function get_score_value( $term_id ) { + $term = get_term( $term_id, $this->taxonomy ); + + // When the term isn't indexable. + if ( ! $this->is_indexable( $term ) ) { + return $this->create_score_icon( + new WPSEO_Rank( WPSEO_Rank::NO_INDEX ), + __( 'Term is set to noindex.', 'wordpress-seo' ) + ); + } + + // When there is a focus key word. + if ( $focus_keyword = $this->get_focus_keyword( $term ) ) { + $score = (int) WPSEO_Taxonomy_Meta::get_term_meta( $term_id, $this->taxonomy, 'linkdex' ); + $rank = WPSEO_Rank::from_numeric_score( $score ); + + return $this->create_score_icon( $rank, $rank->get_label() ); + } + + // Default icon. + return $this->create_score_icon( + new WPSEO_Rank( WPSEO_Rank::NO_FOCUS ), + __( 'Focus keyword not set.', 'wordpress-seo' ) + ); + } + + /** + * Parses the value for the readability score column. + * + * @param int $term_id ID of the requested term. + * + * @return string The HTML for the readability score indicator. + */ + private function get_score_readability_value( $term_id ) { + $score = (int) WPSEO_Taxonomy_Meta::get_term_meta( $term_id, $this->taxonomy, 'content_score' ); + $rank = WPSEO_Rank::from_numeric_score( $score ); + + return $this->create_score_icon( $rank ); + } + + /** + * Creates an icon by the given values. + * + * @param WPSEO_Rank $rank The ranking object. + * @param string $title Optional. The title to show. Defaults to the rank label. + * + * @return string The HTML for a score icon. + */ + private function create_score_icon( WPSEO_Rank $rank, $title = '' ) { + if ( empty( $title ) ) { + $title = $rank->get_label(); + } + + return '' . $title . ''; + } + + /** + * Check if the taxonomy is indexable. + * + * @param mixed $term The current term. + * + * @return bool + */ + private function is_indexable( $term ) { + static $options; + + // Saving the options once, because it's static. + if ( $options === null ) { + $options = WPSEO_Options::get_all(); + } + + // When the no_index value is not empty and not default, check if its value is index. + $no_index = WPSEO_Taxonomy_Meta::get_term_meta( $term->term_id, $this->taxonomy, 'noindex' ); + if ( ! empty( $no_index ) && $no_index !== 'default' ) { + return ( $no_index === 'index' ); + } + + // Check if the default for taxonomy is empty (this will be index). + $no_index_key = 'noindex-tax-' . $term->taxonomy; + if ( is_object( $term ) && ( isset( $options[ $no_index_key ] ) ) ) { + return ( empty( $options[ $no_index_key ] ) ); + } + + return true; + } + + /** + * Returns the focus keyword if this is set, otherwise it will give the term name. + * + * @param stdClass|WP_Term $term The current term. + * + * @return string + */ + private function get_focus_keyword( $term ) { + if ( $focus_keyword = WPSEO_Taxonomy_Meta::get_term_meta( 'focuskw', $term->term_id, $term->taxonomy ) ) { + return $focus_keyword; + } + + return $term->name; + } + + /** + * Checks if a taxonomy is being added via a POST method. If not, it defaults to a GET request. + * + * @return int + */ + private function get_taxonomy_input_type() { + + if ( ! empty( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] === 'POST' ) { + return INPUT_POST; + } + + return INPUT_GET; + } + + /** + * Test whether the metabox should be hidden either by choice of the admin + * + * @since 3.1 + * + * @param string $taxonomy (optional) The post type to test, defaults to the current post post_type. + * + * @return bool Whether or not the meta box (and associated columns etc) should be hidden + */ + private function is_metabox_hidden( $taxonomy = null ) { + $get_taxonomy_type = filter_input( $this->get_taxonomy_input_type(), 'taxonomy' ); + + if ( ! isset( $taxonomy ) && $get_taxonomy_type ) { + $taxonomy = sanitize_text_field( $get_taxonomy_type ); + } + + if ( isset( $taxonomy ) ) { + // Don't make static as taxonomies may still be added during the run. + $custom_taxonomies = get_taxonomies( array( 'public' => true ), 'names' ); + $options = get_option( 'wpseo_titles' ); + + return ( ( isset( $options[ 'hideeditbox-tax-' . $taxonomy ] ) && $options[ 'hideeditbox-tax-' . $taxonomy ] === true ) || in_array( $taxonomy, $custom_taxonomies ) === false ); + } + + return false; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-content-fields.php b/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-content-fields.php new file mode 100644 index 00000000..267f4484 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-content-fields.php @@ -0,0 +1,76 @@ + $this->get_field_config( + __( 'Snippet editor', 'wordpress-seo' ), + '', + 'snippetpreview', + array( + 'help-button' => __( 'Show information about the snippet editor', 'wordpress-seo' ), + /* translators: 1: link open tag; 2: link close tag. */ + 'help' => sprintf( __( 'This is a rendering of what this post might look like in Google\'s search results. %1$sLearn more about the Snippet Preview%2$s.', 'wordpress-seo' ), '', '' ), + ) + ), + 'focuskw' => $this->get_field_config( + __( 'Focus keyword', 'wordpress-seo' ), + '', + 'focuskeyword', + array( + 'help-button' => __( 'Show information about the focus keyword', 'wordpress-seo' ), + /* translators: 1: link open tag; 2: link close tag. */ + 'help' => sprintf( __( 'Pick the main keyword or keyphrase that this post/page is about. %1$sLearn more about the Focus Keyword%2$s.', 'wordpress-seo' ), '', '' ), + ) + ), + 'analysis' => $this->get_field_config( + __( 'Analysis', 'wordpress-seo' ), + '', + 'pageanalysis', + array( + 'help-button' => __( 'Show information about the content analysis', 'wordpress-seo' ), + /* translators: 1: link open tag; 2: link close tag. */ + 'help' => sprintf( __( 'This is the content analysis, a collection of content checks that analyze the content of your page. %1$sLearn more about the Content Analysis Tool%2$s.', 'wordpress-seo' ), '', '' ), + ) + ), + 'title' => $this->get_field_config( + '', + '', + 'hidden', + '' + ), + 'desc' => $this->get_field_config( + '', + '', + 'hidden', + '' + ), + 'linkdex' => $this->get_field_config( + '', + '', + 'hidden', + '' + ), + 'content_score' => $this->get_field_config( + '', + '', + 'hidden', + '' + ), + ); + + return $this->filter_hidden_fields( $fields ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-fields-presenter.php b/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-fields-presenter.php new file mode 100644 index 00000000..6a40fd5c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-fields-presenter.php @@ -0,0 +1,228 @@ +tax_meta = WPSEO_Taxonomy_Meta::get_term_meta( (int) $term->term_id, $term->taxonomy ); + } + + /** + * Displaying the form fields + * + * @param array $fields Array with the fields that will be displayed. + */ + public function html( array $fields ) { + $content = ''; + foreach ( $fields as $field_name => $field_configuration ) { + $content .= $this->form_row( 'wpseo_' . $field_name, $field_configuration ); + } + return $content; + } + + /** + * Create a row in the form table. + * + * @param string $field_name Variable the row controls. + * @param array $field_configuration Array with the field configuration. + */ + private function form_row( $field_name, array $field_configuration ) { + $esc_field_name = esc_attr( $field_name ); + + $options = (array) $field_configuration['options']; + + if ( ! empty( $field_configuration['description'] ) ) { + $options['description'] = $field_configuration['description']; + } + + $label = $this->get_label( $field_configuration['label'], $esc_field_name ); + $field = $this->get_field( $field_configuration['type'], $esc_field_name, $this->get_field_value( $field_name ), $options ); + $help_content = isset( $field_configuration['options']['help'] ) ? $field_configuration['options']['help'] : ''; + $help_button_text = isset( $field_configuration['options']['help-button'] ) ? $field_configuration['options']['help-button'] : ''; + $help = new WPSEO_Admin_Help_Panel( $field_name, $help_button_text, $help_content ); + + if ( in_array( $field_configuration['type'], array( 'focuskeyword', 'pageanalysis', 'snippetpreview' ) ) ) { + return $this->parse_section_row( $field, $field_configuration['type'], $help ); + } + + return $this->parse_row( $label, $help, $field ); + } + + /** + * Generates the html for the given field config. + * + * @param string $field_type The fieldtype, e.g: text, checkbox, etc. + * @param string $field_name The name of the field. + * @param string $field_value The value of the field. + * @param array $options Array with additional options. + * + * @return string + */ + private function get_field( $field_type, $field_name, $field_value, array $options ) { + + $class = $this->get_class( $options ); + $field = $description = $aria_describedby = ''; + + if ( ! empty( $options['description'] ) ) { + $aria_describedby = ' aria-describedby="' . $field_name . '-desc"'; + $description = '

    ' . $options['description'] . '

    '; + } + + switch ( $field_type ) { + case 'div': + $field .= '
    '; + break; + + case 'snippetpreview': + $field .= '
    '; + break; + case 'pageanalysis': + $field .= '
    '; + $field .= '
    '; + $field .= '

    ' . __( 'Analysis', 'wordpress-seo' ) . '

    '; + $field .= '
    '; + $field .= '
    '; + $field .= '
    '; + break; + case 'focuskeyword': + $field .= '
    '; + $field .= '
    '; + $field .= '

    ' . __( 'Focus keyword', 'wordpress-seo' ) . '

    '; + $field .= ''; + $field .= '
    '; + $field .= '
    '; + $field .= '
    '; + break; + case 'text': + $field .= ''; + break; + case 'checkbox': + $field .= ''; + break; + case 'textarea': + $rows = 3; + if ( ! empty( $options['rows'] ) ) { + $rows = $options['rows']; + } + $field .= ''; + break; + case 'upload': + $field .= ''; + $field .= ''; + break; + case 'select': + if ( is_array( $options ) && $options !== array() ) { + $field .= ''; + } + break; + case 'hidden': + $field .= ''; + break; + } + + return $field . $description; + } + + /** + * Getting the value for given field_name + * + * @param string $field_name The fieldname to get the value for. + * + * @return string + */ + private function get_field_value( $field_name ) { + if ( isset( $this->tax_meta[ $field_name ] ) && $this->tax_meta[ $field_name ] !== '' ) { + return $this->tax_meta[ $field_name ]; + } + + return ''; + } + + /** + * Getting the class attributes if $options contains a class key + * + * @param array $options The array with field options. + * + * @return string + */ + private function get_class( array $options ) { + if ( ! empty( $options['class'] ) ) { + return ' class="' . esc_attr( $options['class'] ) . '"'; + } + + return ''; + } + + /** + * Getting the label HTML + * + * @param string $label The label value. + * @param string $field_name The target field. + * + * @return string + */ + private function get_label( $label, $field_name ) { + if ( $label !== '' ) { + return ''; + } + + return ''; + } + + /** + * Returns the HTML for the row which contains label, help and the field. + * + * @param string $label The html for the label if there was a label set. + * @param WPSEO_Admin_Help_Panel $help The help panel to render in this row. + * @param string $field The html for the field. + * + * @return string + */ + private function parse_row( $label, WPSEO_Admin_Help_Panel $help, $field ) { + if ( $label !== '' || $help !== '' ) { + return $label . $help->get_button_html() . $help->get_panel_html() . $field; + } + + return $field; + } + + /** + * Creates a sections specific row. + * + * @param string $content The content to show. + * @param string $esc_form_key Escaped form key name. + * @param WPSEO_Admin_Help_Panel $help The help button. + * + * @return string + */ + private function parse_section_row( $content, $esc_form_key, WPSEO_Admin_Help_Panel $help ) { + $html = $content; + $html .= '
    ' . $help->get_button_html() . $help->get_panel_html() . '
    '; + return $html; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-fields.php b/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-fields.php new file mode 100644 index 00000000..2fdafbd4 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-fields.php @@ -0,0 +1,91 @@ +term = $term; + if ( $options !== null ) { + $this->options = $options; + } + else { + $this->options = WPSEO_Options::get_options( array( + 'wpseo_titles', + 'wpseo_internallinks', + 'wpseo_social', + ) ); + } + } + + /** + * This method should return the fields + * + * @return array + */ + abstract public function get(); + + /** + * Returns array with the field data + * + * @param string $label The label displayed before the field. + * @param string $description Description which will explain the field. + * @param string $type The field type, for example: input, select. + * @param string|array $options Optional. Array with additional options. + * @param bool $hide Should the field be hidden. + * + * @return array + */ + protected function get_field_config( $label, $description, $type = 'text', $options = '', $hide = false ) { + return array( + 'label' => $label, + 'description' => $description, + 'type' => $type, + 'options' => $options, + 'hide' => $hide, + ); + } + + /** + * Filter the hidden fields. + * + * @param array $fields Array with the form fields that has will be filtered. + * + * @return array + */ + protected function filter_hidden_fields( array $fields ) { + foreach ( $fields as $field_name => $field_options ) { + if ( ! empty( $field_options['hide'] ) ) { + unset( $fields[ $field_name ] ); + } + } + + return $fields; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-metabox.php b/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-metabox.php new file mode 100644 index 00000000..a1c00a35 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-metabox.php @@ -0,0 +1,415 @@ +term = $term; + $this->taxonomy = $taxonomy; + $this->taxonomy_tab_content = new WPSEO_Taxonomy_Fields_Presenter( $this->term ); + + add_action( 'admin_footer', array( $this, 'template_generic_tab' ) ); + add_action( 'admin_footer', array( $this, 'template_keyword_tab' ) ); + } + + /** + * Shows the Yoast SEO metabox for the term. + */ + public function display() { + + $asset_manager = new WPSEO_Admin_Asset_Manager(); + $asset_manager->enqueue_script( 'help-center' ); + + $content_sections = $this->get_content_sections(); + + $product_title = 'Yoast SEO'; + if ( file_exists( WPSEO_PATH . 'premium/' ) ) { + $product_title .= ' Premium'; + } + + printf( '

    %1$s

    ', $product_title ); + + echo '
    '; + + $helpcenter_tab = new WPSEO_Option_Tab( 'tax-metabox', 'Meta box', + array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/metabox-taxonomy-screencast' ) ) ); + + $helpcenter = new WPSEO_Help_Center( 'tax-metabox', $helpcenter_tab, WPSEO_Utils::is_yoast_seo_premium() ); + $helpcenter->localize_data(); + $helpcenter->mount(); + + echo '
    '; + + if ( ! defined( 'WPSEO_PREMIUM_FILE' ) ) { + echo $this->get_buy_premium_link(); + } + + echo '
      '; + + foreach ( $content_sections as $content_section ) { + if ( $content_section->name === 'premium' ) { + continue; + } + + $content_section->display_link(); + } + + echo '
    '; + + foreach ( $content_sections as $content_section ) { + $content_section->display_content(); + } + echo '
    '; + } + + /** + * Returns the relevant metabox sections for the current view. + * + * @return WPSEO_Metabox_Section[] + */ + private function get_content_sections() { + $content_sections = array( + $this->get_content_meta_section(), + $this->get_social_meta_section(), + $this->get_settings_meta_section(), + ); + + if ( ! defined( 'WPSEO_PREMIUM_FILE' ) ) { + $content_sections[] = $this->get_buy_premium_section(); + } + + return $content_sections; + } + + /** + * Returns the metabox section for the content analysis. + * + * @return WPSEO_Metabox_Section + */ + private function get_content_meta_section() { + $taxonomy_content_fields = new WPSEO_Taxonomy_Content_Fields( $this->term ); + $content = $this->taxonomy_tab_content->html( $taxonomy_content_fields->get() ); + + $tab = new WPSEO_Metabox_Form_Tab( + 'content', + $content, + '', + array( + 'tab_class' => 'yoast-seo__remove-tab', + ) + ); + + return new WPSEO_Metabox_Tab_Section( + 'content', + '' . __( 'Content optimization', 'wordpress-seo' ) . '' . $this->traffic_light_svg() . '', + array( $tab ), + array( + 'link_aria_label' => __( 'Content optimization', 'wordpress-seo' ), + 'link_class' => 'yoast-tooltip yoast-tooltip-e', + ) + ); + } + + /** + * Returns the metabox section for the settings. + * + * @return WPSEO_Metabox_Section + */ + private function get_settings_meta_section() { + $taxonomy_settings_fields = new WPSEO_Taxonomy_Settings_Fields( $this->term ); + $content = $this->taxonomy_tab_content->html( $taxonomy_settings_fields->get() ); + + $tab = new WPSEO_Metabox_Form_Tab( + 'settings', + $content, + __( 'Settings', 'wordpress-seo' ), + array( + 'single' => true, + ) + ); + + return new WPSEO_Metabox_Tab_Section( + 'settings', + '' . __( 'Settings', 'wordpress-seo' ) . '', + array( $tab ), + array( + 'link_aria_label' => __( 'Settings', 'wordpress-seo' ), + 'link_class' => 'yoast-tooltip yoast-tooltip-e', + ) + ); + } + + /** + * Returns the metabox section for the social settings. + * + * @return WPSEO_Metabox_Section + */ + private function get_social_meta_section() { + $options = WPSEO_Options::get_option( 'wpseo_social' ); + $taxonomy_social_fields = new WPSEO_Taxonomy_Social_Fields( $this->term ); + $social_admin = new WPSEO_Social_Admin(); + + $tabs = array(); + $single = true; + + if ( $options['opengraph'] === true && $options['twitter'] === true ) { + $single = null; + } + + if ( $options['opengraph'] === true ) { + $facebook_meta_fields = $taxonomy_social_fields->get_by_network( 'opengraph' ); + + $tabs[] = new WPSEO_Metabox_Form_Tab( + 'facebook', + $social_admin->get_premium_notice( 'opengraph' ) . $this->taxonomy_tab_content->html( $facebook_meta_fields ), + '' . __( 'Facebook / Open Graph metadata', 'wordpress-seo' ) . '', + array( + 'link_aria_label' => __( 'Facebook / Open Graph metadata', 'wordpress-seo' ), + 'link_class' => 'yoast-tooltip yoast-tooltip-se', + 'single' => $single, + ) + ); + } + + if ( $options['twitter'] === true ) { + $twitter_meta_fields = $taxonomy_social_fields->get_by_network( 'twitter' ); + + $tabs[] = new WPSEO_Metabox_Form_Tab( + 'twitter', + $social_admin->get_premium_notice( 'twitter' ) . $this->taxonomy_tab_content->html( $twitter_meta_fields ), + '' . __( 'Twitter metadata', 'wordpress-seo' ) . '', + array( + 'link_aria_label' => __( 'Twitter metadata', 'wordpress-seo' ), + 'link_class' => 'yoast-tooltip yoast-tooltip-se', + 'single' => $single, + ) + ); + } + + return new WPSEO_Metabox_Tab_Section( + 'social', + '' . __( 'Social', 'wordpress-seo' ) . '', + $tabs, + array( + 'link_aria_label' => __( 'Social', 'wordpress-seo' ), + 'link_class' => 'yoast-tooltip yoast-tooltip-e', + ) + ); + } + + /** + * Returns a link to activate the Buy Premium tab. + * + * @return string + */ + private function get_buy_premium_link() { + return sprintf( "", + 'wpseo-metabox-buy-premium', + __( 'Go Premium', 'wordpress-seo' ) + ); + } + + /** + * Returns the metabox section for the Premium section.. + * + * @return WPSEO_Metabox_Section + */ + private function get_buy_premium_section() { + $content = sprintf( "
    + %s +
      +
    • + %s - %s +
    • +
    • + %s - %s +
    • +
    • + %s - %s +
    • +
    • + %s - %s +
    • +
    + + + %s + + +

    %s

    +
    ", + /* translators: %1$s expands to Yoast SEO Premium. */ + sprintf( __( 'You\'re not getting the benefits of %1$s yet. If you had %1$s, you could use its awesome features:', 'wordpress-seo' ), 'Yoast SEO Premium' ), + __( 'Redirect manager', 'wordpress-seo' ), + __( 'Create and manage redirects within your WordPress install.', 'wordpress-seo' ), + __( 'Multiple focus keywords', 'wordpress-seo' ), + __( 'Optimize a single post for up to 5 keywords.', 'wordpress-seo' ), + __( 'Social Previews', 'wordpress-seo' ), + __( 'Check what your Facebook or Twitter post will look like.', 'wordpress-seo' ), + __( 'Premium support', 'wordpress-seo' ), + __( 'Gain access to our 24/7 support team.', 'wordpress-seo' ), + WPSEO_Shortlinker::get( 'https://yoa.st/pe-buy-premium' ), + /* translators: %s expands to Yoast SEO Premium. */ + sprintf( __( 'Get %s now!', 'wordpress-seo' ), 'Yoast SEO Premium' ), + WPSEO_Shortlinker::get( 'https://yoa.st/pe-premium-page' ), + __( 'More info', 'wordpress-seo' ) + ); + + $tab = new WPSEO_Metabox_Form_Tab( + 'premium', + $content, + 'Yoast SEO Premium', + array( + 'single' => true, + ) + ); + + return new WPSEO_Metabox_Tab_Section( + 'premium', + '', + array( $tab ), + array( + 'link_aria_label' => 'Yoast SEO Premium', + 'link_class' => 'yoast-tooltip yoast-tooltip-e', + ) + ); + } + + /** + * Test whether we are on a public taxonomy - no metabox actions needed if we are not + * Unfortunately we have to hook most everything in before the point where all taxonomies are registered and + * we know which taxonomy is being requested, so we need to use this check in nearly every hooked in function. + * + * @since 1.5.0 + */ + private function tax_is_public() { + // Don't make static as taxonomies may still be added during the run. + $taxonomy = get_taxonomy( $this->taxonomy ); + + return $taxonomy->public; + } + + /** + * Return the SVG for the traffic light in the metabox. + */ + public function traffic_light_svg() { + return << + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SVG; + } + + /** + * Generic tab. + */ + public function template_generic_tab() { + // This template belongs to the post scraper so don't echo it if it isn't enqueued. + if ( ! wp_script_is( WPSEO_Admin_Asset_Manager::PREFIX . 'term-scraper' ) ) { + return; + } + + echo ''; + } + + /** + * Keyword tab for enabling analysis of multiple keywords. + */ + public function template_keyword_tab() { + // This template belongs to the term scraper so don't echo it if it isn't enqueued. + if ( ! wp_script_is( WPSEO_Admin_Asset_Manager::PREFIX . 'term-scraper' ) ) { + return; + } + + echo ''; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-settings-fields.php b/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-settings-fields.php new file mode 100644 index 00000000..c9e1b5b7 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-settings-fields.php @@ -0,0 +1,121 @@ +translate_meta_options(); + } + + /** + * Returns array with the fields for the general tab + * + * @return array + */ + public function get() { + $fields = array( + 'metakey' => $this->get_field_config( + __( 'Meta keywords', 'wordpress-seo' ), + esc_html__( 'Meta keywords used on the archive page for this term.', 'wordpress-seo' ), + 'text', + '', + $this->options['usemetakeywords'] !== true + ), + 'noindex' => $this->get_field_config( + esc_html__( 'Meta robots index', 'wordpress-seo' ), + esc_html__( 'This taxonomy follows the indexation rules set under Metas and Titles, you can override it here.', 'wordpress-seo' ), + 'select', + $this->get_noindex_options() + ), + 'sitemap_include' => $this->get_field_config( + esc_html__( 'Include in Sitemap?', 'wordpress-seo' ), + '', + 'select', + $this->sitemap_include_options + ), + 'bctitle' => $this->get_field_config( + __( 'Breadcrumbs Title', 'wordpress-seo' ), + esc_html__( 'The Breadcrumbs Title is used in the breadcrumbs where this taxonomy appears.', 'wordpress-seo' ), + 'text', + '', + $this->options['breadcrumbs-enable'] !== true + ), + 'canonical' => $this->get_field_config( + __( 'Canonical URL', 'wordpress-seo' ), + esc_html__( 'The canonical link is shown on the archive page for this term.', 'wordpress-seo' ) + ), + ); + + return $this->filter_hidden_fields( $fields ); + } + + /** + * Translate options text strings for use in the select fields + * + * {@internal IMPORTANT: if you want to add a new string (option) somewhere, make sure you add + * that array key to the main options definition array in the class WPSEO_Taxonomy_Meta() as well!!!!}} + */ + private function translate_meta_options() { + $this->no_index_options = WPSEO_Taxonomy_Meta::$no_index_options; + $this->sitemap_include_options = WPSEO_Taxonomy_Meta::$sitemap_include_options; + + /* translators: %s expands to the current taxonomy index value */ + $this->no_index_options['default'] = __( 'Default for this taxonomy type, currently: %s', 'wordpress-seo' ); + $this->no_index_options['index'] = __( 'Index', 'wordpress-seo' ); + $this->no_index_options['noindex'] = __( 'Noindex', 'wordpress-seo' ); + + $this->sitemap_include_options['-'] = __( 'Auto detect', 'wordpress-seo' ); + $this->sitemap_include_options['always'] = __( 'Always include', 'wordpress-seo' ); + $this->sitemap_include_options['never'] = __( 'Never include', 'wordpress-seo' ); + } + + /** + * Getting the data for the noindex fields + * + * @return array + */ + private function get_noindex_options() { + $noindex_options['options'] = $this->no_index_options; + $noindex_options['options']['default'] = sprintf( $noindex_options['options']['default'], $this->get_robot_index() ); + + if ( get_option( 'blog_public' ) === 0 ) { + $noindex_options['description'] = '
    ' . esc_html__( 'Warning: even though you can set the meta robots setting here, the entire site is set to noindex in the sitewide privacy settings, so these settings won\'t have an effect.', 'wordpress-seo' ) . ''; + } + + return $noindex_options; + } + + /** + * Returns the current robot index value for the taxonomy + * + * @return string + */ + private function get_robot_index() { + $robot_index = 'index'; + $index_option = 'noindex-tax-' . $this->term->taxonomy; + if ( isset( $this->options[ $index_option ] ) && $this->options[ $index_option ] === true ) { + $robot_index = 'noindex'; + } + + return $robot_index; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-social-fields.php b/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-social-fields.php new file mode 100644 index 00000000..1f16fef8 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-social-fields.php @@ -0,0 +1,140 @@ +networks = $this->get_social_networks(); + } + + /** + * When this method returns false, the social tab in the meta box will be hidden + * + * @return bool + */ + public function show_social() { + return ( $this->options['opengraph'] === true || $this->options['twitter'] === true ); + } + + /** + * Gets the social meta fields by social network for the taxonomy. + * + * @param string $network The social network for which to fetch the fields. + * + * @return array + */ + public function get_by_network( $network ) { + $settings = $this->networks[ $network ]; + + return array( + $settings['network'] . '-title' => $this->get_field_config( + /* translators: %s expands to the social network name */ + sprintf( __( '%s Title', 'wordpress-seo' ), $settings['label'] ), + /* translators: %1$s expands to the social network name */ + sprintf( esc_html__( 'If you don\'t want to use the title for sharing on %1$s but instead want another title there, write it here.', 'wordpress-seo' ), $settings['label'] ), + 'text', + array( 'class' => 'large-text' ) + ), + $settings['network'] . '-description' => $this->get_field_config( + /* translators: %s expands to the social network name */ + sprintf( __( '%s Description', 'wordpress-seo' ), $settings['label'] ), + /* translators: %1$s expands to the social network name */ + sprintf( esc_html__( 'If you don\'t want to use the meta description for sharing on %1$s but want another description there, write it here.', 'wordpress-seo' ), $settings['label'] ), + 'textarea' + ), + $settings['network'] . '-image' => $this->get_field_config( + /* translators: %s expands to the social network name */ + sprintf( __( '%s Image', 'wordpress-seo' ), $settings['label'] ), + /* translators: %1$s expands to the social network name */ + sprintf( esc_html__( 'If you want to use an image for sharing on %1$s, you can upload / choose an image or add the image URL here.', 'wordpress-seo' ), $settings['label'] ) . '
    ' . + /* translators: %1$s expands to the social network name, %2$s expands to the image size */ + sprintf( __( 'The recommended image size for %1$s is %2$s pixels.', 'wordpress-seo' ), $settings['label'], $settings['size'] ), + 'upload' + ), + ); + } + + /** + * Returning the fields for the social media tab + * + * @return array + */ + public function get() { + $fields = array(); + foreach ( $this->networks as $option => $settings ) { + $fields_to_push = $this->get_by_network( $option ); + + $fields = array_merge( $fields, $fields_to_push ); + } + + return $this->filter_hidden_fields( $fields ); + } + + /** + * Getting array with the social networks + * + * @return array + */ + private function get_social_networks() { + $social_networks = array( + // Source: https://developers.facebook.com/docs/sharing/best-practices#images. + 'opengraph' => $this->social_network( 'opengraph', __( 'Facebook', 'wordpress-seo' ), sprintf( + /* translators: %1$s expands to the image recommended width, %2$s to its height. */ + __( '%1$s by %2$s', 'wordpress-seo' ), '1200', '630' + ) ), + 'twitter' => $this->social_network( 'twitter', __( 'Twitter', 'wordpress-seo' ), sprintf( + /* translators: %1$s expands to the image recommended width, %2$s to its height. */ + __( '%1$s by %2$s', 'wordpress-seo' ), '1024', '512' + ) ), + ); + $social_networks = $this->filter_social_networks( $social_networks ); + + return $social_networks; + } + + /** + * Returns array with the config fields for the social network + * + * @param string $network The name of the social network. + * @param string $label The label for the social network. + * @param string $image_size The image dimensions. + * + * @return array + */ + private function social_network( $network, $label, $image_size ) { + return array( + 'network' => $network, + 'label' => $label, + 'size' => $image_size, + ); + } + + /** + * Filter the social networks which are disabled in the configuration + * + * @param array $social_networks Array with the social networks that have to be filtered. + * + * @return array + */ + private function filter_social_networks( array $social_networks ) { + foreach ( $social_networks as $social_network => $settings ) { + if ( empty( $this->options[ $social_network ] ) ) { + unset( $social_networks[ $social_network ] ); + } + } + + return $social_networks; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy.php b/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy.php new file mode 100644 index 00000000..26099057 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy.php @@ -0,0 +1,395 @@ +taxonomy = $this->get_taxonomy(); + + add_action( 'edit_term', array( $this, 'update_term' ), 99, 3 ); + add_action( 'init', array( $this, 'custom_category_descriptions_allow_html' ) ); + add_action( 'admin_init', array( $this, 'admin_init' ) ); + + $this->insert_description_field_editor(); + + add_filter( 'category_description', array( $this, 'custom_category_descriptions_add_shortcode_support' ) ); + + if ( self::is_term_overview( $GLOBALS['pagenow'] ) ) { + new WPSEO_Taxonomy_Columns(); + } + $this->analysis_seo = new WPSEO_Metabox_Analysis_SEO(); + $this->analysis_readability = new WPSEO_Metabox_Analysis_Readability(); + } + + /** + * Add hooks late enough for taxonomy object to be available for checks. + */ + public function admin_init() { + + $taxonomy = get_taxonomy( $this->taxonomy ); + + if ( empty( $taxonomy ) || empty( $taxonomy->public ) || ! $this->show_metabox() ) { + return; + } + + add_action( sanitize_text_field( $this->taxonomy ) . '_edit_form', array( $this, 'term_metabox' ), 90, 1 ); + add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) ); + } + + /** + * Show the SEO inputs for term. + * + * @param stdClass|WP_Term $term Term to show the edit boxes for. + */ + public function term_metabox( $term ) { + $metabox = new WPSEO_Taxonomy_Metabox( $this->taxonomy, $term ); + $metabox->display(); + } + + /** + * Queue assets for taxonomy screens. + * + * @since 1.5.0 + */ + public function admin_enqueue_scripts() { + $pagenow = $GLOBALS['pagenow']; + + if ( ! ( self::is_term_edit( $pagenow ) || self::is_term_overview( $pagenow ) ) ) { + return; + } + + $asset_manager = new WPSEO_Admin_Asset_Manager(); + $asset_manager->enqueue_style( 'scoring' ); + + + $tag_id = filter_input( INPUT_GET, 'tag_ID' ); + if ( + self::is_term_edit( $pagenow ) && + ! empty( $tag_id ) // After we drop support for <4.5 this can be removed. + ) { + wp_enqueue_media(); // Enqueue files needed for upload functionality. + + $asset_manager->enqueue_style( 'metabox-css' ); + $asset_manager->enqueue_style( 'snippet' ); + $asset_manager->enqueue_style( 'scoring' ); + $asset_manager->enqueue_script( 'metabox' ); + $asset_manager->enqueue_script( 'term-scraper' ); + $asset_manager->enqueue_style( 'kb-search' ); + + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'term-scraper', 'wpseoTermScraperL10n', $this->localize_term_scraper_script() ); + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'replacevar-plugin', 'wpseoReplaceVarsL10n', $this->localize_replace_vars_script() ); + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'metabox', 'wpseoSelect2Locale', WPSEO_Utils::get_language( WPSEO_Utils::get_user_locale() ) ); + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'metabox', 'wpseoAdminL10n', WPSEO_Help_Center::get_translated_texts() ); + + $asset_manager->enqueue_script( 'admin-media' ); + + wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'admin-media', 'wpseoMediaL10n', array( + 'choose_image' => __( 'Use Image', 'wordpress-seo' ), + ) ); + } + + if ( self::is_term_overview( $pagenow ) ) { + $asset_manager->enqueue_script( 'edit-page-script' ); + } + } + + /** + * Update the taxonomy meta data on save. + * + * @param int $term_id ID of the term to save data for. + * @param int $tt_id The taxonomy_term_id for the term. + * @param string $taxonomy The taxonomy the term belongs to. + */ + public function update_term( $term_id, $tt_id, $taxonomy ) { + /* Create post array with only our values */ + $new_meta_data = array(); + foreach ( WPSEO_Taxonomy_Meta::$defaults_per_term as $key => $default ) { + if ( $posted_value = filter_input( INPUT_POST, $key ) ) { + $new_meta_data[ $key ] = $posted_value; + } + + // If analysis is disabled remove that analysis score value from the DB. + if ( $this->is_meta_value_disabled( $key ) ) { + $new_meta_data[ $key ] = ''; + } + } + unset( $key, $default ); + + // Saving the values. + WPSEO_Taxonomy_Meta::set_values( $term_id, $taxonomy, $new_meta_data ); + } + + /** + * Determines if the given meta value key is disabled + * + * @param string $key The key of the meta value. + * @return bool Whether the given meta value key is disabled. + */ + public function is_meta_value_disabled( $key ) { + if ( 'wpseo_linkdex' === $key && ! $this->analysis_seo->is_enabled() ) { + return true; + } + + if ( 'wpseo_content_score' === $key && ! $this->analysis_readability->is_enabled() ) { + return true; + } + + return false; + } + + /** + * Allows HTML in descriptions + */ + public function custom_category_descriptions_allow_html() { + $filters = array( + 'pre_term_description', + 'pre_link_description', + 'pre_link_notes', + 'pre_user_description', + ); + + foreach ( $filters as $filter ) { + remove_filter( $filter, 'wp_filter_kses' ); + } + remove_filter( 'term_description', 'wp_kses_data' ); + } + + /** + * Output the WordPress editor. + */ + public function custom_category_description_editor() { + + if ( ! $this->show_metabox() ) { + return; + } + + wp_editor( '', 'description' ); + } + + /** + * Adds shortcode support to category descriptions. + * + * @param string $desc String to add shortcodes in. + * + * @return string + */ + public function custom_category_descriptions_add_shortcode_support( $desc ) { + // Wrap in output buffering to prevent shortcodes that echo stuff instead of return from breaking things. + ob_start(); + $desc = do_shortcode( $desc ); + ob_end_clean(); + + return $desc; + } + + /** + * Pass variables to js for use with the term-scraper + * + * @return array + */ + public function localize_term_scraper_script() { + $term_id = filter_input( INPUT_GET, 'tag_ID' ); + $term = get_term_by( 'id', $term_id, $this->get_taxonomy() ); + $taxonomy = get_taxonomy( $term->taxonomy ); + + $term_formatter = new WPSEO_Metabox_Formatter( + new WPSEO_Term_Metabox_Formatter( $taxonomy, $term, WPSEO_Options::get_option( 'wpseo_titles' ) ) + ); + + return $term_formatter->get_values(); + } + + /** + * Pass some variables to js for replacing variables. + */ + public function localize_replace_vars_script() { + return array( + 'no_parent_text' => __( '(no parent)', 'wordpress-seo' ), + 'replace_vars' => $this->get_replace_vars(), + 'scope' => $this->determine_scope(), + ); + } + + /** + * Determines the scope based on the current taxonomy. + * This can be used by the replacevar plugin to determine if a replacement needs to be executed. + * + * @return string String decribing the current scope. + */ + private function determine_scope() { + $taxonomy = $this->get_taxonomy(); + + if ( $taxonomy === 'category' ) { + return 'category'; + } + + if ( $taxonomy === 'post_tag' ) { + return 'tag'; + } + + return 'term'; + } + + /** + * @param string $page The string to check for the term overview page. + * + * @return bool + */ + public static function is_term_overview( $page ) { + return 'edit-tags.php' === $page; + } + + /** + * @param string $page The string to check for the term edit page. + * + * @return bool + */ + public static function is_term_edit( $page ) { + return 'term.php' === $page; + } + + /** + * Retrieves a template. + * Check if metabox for current taxonomy should be displayed. + * + * @return bool + */ + private function show_metabox() { + $options = WPSEO_Options::get_option( 'wpseo_titles' ); + $option_key = 'hideeditbox-tax-' . $this->taxonomy; + + return ( empty( $options[ $option_key ] ) ); + } + + /** + * Getting the taxonomy from the URL + * + * @return string + */ + private function get_taxonomy() { + return filter_input( INPUT_GET, 'taxonomy', FILTER_DEFAULT, array( 'options' => array( 'default' => '' ) ) ); + } + + /** + * Prepares the replace vars for localization. + * + * @return array replace vars. + */ + private function get_replace_vars() { + $term_id = filter_input( INPUT_GET, 'tag_ID' ); + $term = get_term_by( 'id', $term_id, $this->get_taxonomy() ); + $cached_replacement_vars = array(); + + $vars_to_cache = array( + 'date', + 'id', + 'sitename', + 'sitedesc', + 'sep', + 'page', + 'currenttime', + 'currentdate', + 'currentday', + 'currentmonth', + 'currentyear', + 'term_title', + 'term_description', + 'category_description', + 'tag_description', + 'searchphrase', + ); + + foreach ( $vars_to_cache as $var ) { + $cached_replacement_vars[ $var ] = wpseo_replace_vars( '%%' . $var . '%%', $term ); + } + + return $cached_replacement_vars; + } + + /** + * Adds custom category description editor. + * Needs a hook that runs before the description field. Prior to WP version 4.5 we need to use edit_form as + * term_edit_form_top was introduced in WP 4.5. This can be removed after <4.5 is no longer supported. + * + * @return {void} + */ + private function insert_description_field_editor() { + if ( version_compare( $GLOBALS['wp_version'], '4.5', '<' ) ) { + add_action( "{$this->taxonomy}_edit_form", array( $this, 'custom_category_description_editor' ) ); + return; + } + + add_action( "{$this->taxonomy}_term_edit_form_top", array( $this, 'custom_category_description_editor' ) ); + } + + /********************** DEPRECATED METHODS **********************/ + + // @codeCoverageIgnoreStart + /** + * @deprecated 3.2 + * + * Retrieves the title template. + * + * @param object $term taxonomy term. + * + * @return string + */ + public static function get_title_template( $term ) { + _deprecated_function( __METHOD__, 'WPSEO 3.2', 'WPSEO_Term_Scraper::get_title_template' ); + + return ''; + } + + /** + * @deprecated 3.2 + * + * Retrieves the metadesc template. + * + * @param object $term taxonomy term. + * + * @return string + */ + public static function get_metadesc_template( $term ) { + _deprecated_function( __METHOD__, 'WPSEO 3.2', 'WPSEO_Term_Scraper::get_metadesc_template' ); + + return ''; + } + + /** + * @deprecated 3.2 + * + * Translate options text strings for use in the select fields + * + * {@internal IMPORTANT: if you want to add a new string (option) somewhere, make sure you add + * that array key to the main options definition array in the class WPSEO_Taxonomy_Meta() as well!!!!}} + */ + public function translate_meta_options() { + _deprecated_function( __METHOD__, 'WPSEO 3.2', 'WPSEO_Taxonomy_Settings_Fields::translate_meta_options' ); + } + // @codeCoverageIgnoreEnd +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/tracking/class-tracking-default-data.php b/pole-sbv-content/plugins/wordpress-seo/admin/tracking/class-tracking-default-data.php new file mode 100644 index 00000000..0a160c24 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/tracking/class-tracking-default-data.php @@ -0,0 +1,38 @@ + get_option( 'blogname' ), + '@timestamp' => (int) date( 'Uv' ), + 'wpVersion' => $this->get_wordpress_version(), + 'homeURL' => home_url(), + 'adminURL' => admin_url(), + 'isMultisite' => is_multisite(), + 'siteLanguage' => get_bloginfo( 'language' ), + ); + } + + /** + * Returns the WordPress version. + * + * @return string The version. + */ + protected function get_wordpress_version() { + global $wp_version; + + return $wp_version; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/tracking/class-tracking-plugin-data.php b/pole-sbv-content/plugins/wordpress-seo/admin/tracking/class-tracking-plugin-data.php new file mode 100644 index 00000000..e2677a47 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/tracking/class-tracking-plugin-data.php @@ -0,0 +1,58 @@ + $this->get_plugin_data(), + ); + } + + /** + * Returns all plugins. + * + * @return array The formatted plugins. + */ + protected function get_plugin_data() { + + if ( ! function_exists( 'get_plugin_data' ) ) { + require_once ABSPATH . 'wp-admin/includes/plugin.php'; + } + + $plugins = wp_get_active_and_valid_plugins(); + $plugins = array_map( 'get_plugin_data', $plugins ); + $plugins = array_map( array( $this, 'format_plugin' ), $plugins ); + + return $plugins; + } + + /** + * Formats the plugin array. + * + * @param array $plugin The plugin details. + * + * @return array The formatted array. + */ + protected function format_plugin( array $plugin ) { + return array( + 'name' => $plugin['Name'], + 'url' => $plugin['PluginURI'], + 'version' => $plugin['Version'], + 'author' => array( + 'name' => strip_tags( $plugin['Author'] ), + 'url' => $plugin['AuthorURI'], + ), + ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/tracking/class-tracking-server-data.php b/pole-sbv-content/plugins/wordpress-seo/admin/tracking/class-tracking-server-data.php new file mode 100644 index 00000000..d8573b45 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/tracking/class-tracking-server-data.php @@ -0,0 +1,83 @@ + $this->get_server_data(), + ); + } + + /** + * Returns the values with server details. + * + * @return array Array with the value. + */ + protected function get_server_data() { + $server_data = array(); + + // Validate if the server address is a valid IP-address. + $ipaddress = filter_input( INPUT_SERVER , 'SERVER_ADDR', FILTER_VALIDATE_IP ); + if ( $ipaddress ) { + $server_data['ip'] = $ipaddress; + $server_data['Hostname'] = gethostbyaddr( $ipaddress ); + } + + $server_data['os'] = php_uname( 's r' ); + $server_data['PhpVersion'] = PHP_VERSION; + $server_data['CurlVersion'] = $this->get_curl_info(); + $server_data['PhpExtensions'] = $this->get_php_extensions(); + + return $server_data; + } + + /** + * Returns details about the curl version. + * + * @return array|null The curl info. Or null when curl isn't available.. + */ + protected function get_curl_info() { + if ( ! function_exists( 'curl_version' ) ) { + return null; + } + + $curl = curl_version(); + + $ssl_support = true; + if ( ! $curl['features'] && CURL_VERSION_SSL ) { + $ssl_support = false; + } + + return array( + 'version' => $curl['version'], + 'sslSupport' => $ssl_support, + ); + } + + /** + * Returns a list with php extensions. + * + * @return array Returns the state of the php extensions. + */ + protected function get_php_extensions() { + return array( + 'imagick' => extension_loaded( 'imagick' ), + 'filter' => extension_loaded( 'filter' ), + 'bcmath' => extension_loaded( 'bcmath' ), + 'modXml' => extension_loaded( 'modXml' ), + 'pcre' => extension_loaded( 'pcre' ), + 'xml' => extension_loaded( 'xml' ), + ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/tracking/class-tracking-theme-data.php b/pole-sbv-content/plugins/wordpress-seo/admin/tracking/class-tracking-theme-data.php new file mode 100644 index 00000000..3434df3e --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/tracking/class-tracking-theme-data.php @@ -0,0 +1,47 @@ + array( + 'name' => $theme->get( 'Name' ), + 'url' => $theme->get( 'ThemeURI' ), + 'version' => $theme->get( 'Version' ), + 'author' => array( + 'name' => $theme->get( 'Author' ), + 'url' => $theme->get( 'AuthorURI' ), + ), + 'parentTheme' => $this->get_parent_theme( $theme ), + ), + ); + } + + /** + * Returns the name of the parent theme. + * + * @param WP_Theme $theme The theme object. + * + * @return null|string The name of the parent theme or null. + */ + private function get_parent_theme( WP_Theme $theme ) { + if ( is_child_theme() ) { + return $theme->get( 'Template' ); + } + + return null; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/tracking/class-tracking.php b/pole-sbv-content/plugins/wordpress-seo/admin/tracking/class-tracking.php new file mode 100644 index 00000000..bf2ac8dc --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/tracking/class-tracking.php @@ -0,0 +1,93 @@ +endpoint = $endpoint; + $this->threshold = $threshold; + } + + /** + * Registers all hooks to WordPress + */ + public function send() { + + $current_time = time(); + if ( ! $this->should_send_tracking( $current_time ) ) { + return; + } + + $collector = $this->get_collector(); + + $request = new WPSEO_Remote_Request( $this->endpoint ); + $request->set_body( $collector->get_as_json() ); + $request->send(); + + update_option( $this->option_name, $current_time, 'yes' ); + } + + /** + * Returns true when last tracking data was send more than two weeks ago. + * + * @param int $current_time The current timestamp. + * + * @return bool True when tracking data should be send. + */ + protected function should_send_tracking( $current_time ) { + $last_time = get_option( $this->option_name ); + + // When there is no data being set. + if ( ! $last_time ) { + return true; + } + + return $this->exceeds_treshhold( $current_time - $last_time ); + } + + /** + * Checks if the given amount of seconds exceeds the set threshold. + * + * @param int $seconds The amount of seconds to check. + * + * @return bool True when seconds is bigger than threshold. + */ + protected function exceeds_treshhold( $seconds ) { + return ( $seconds > $this->threshold ); + } + + /** + * Returns the collector for collecting the data. + * + * @return WPSEO_Collector The instance of the collector. + */ + protected function get_collector() { + $collector = new WPSEO_Collector(); + $collector->add_collection( new WPSEO_Tracking_Default_Data() ); + $collector->add_collection( new WPSEO_Tracking_Server_Data() ); + $collector->add_collection( new WPSEO_Tracking_Theme_Data() ); + $collector->add_collection( new WPSEO_Tracking_Plugin_Data() ); + + return $collector; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/about.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/about.php new file mode 100644 index 00000000..7f089d5d --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/about.php @@ -0,0 +1,240 @@ + $dev ) { + echo '
  • '; + echo '', $dev->name, ''; + echo '', $dev->role, "
  • \n"; + } +} + +?> + +
    + +

    + +

    + ', '', 'Yoast SEO' ); + echo ' '; + /* translators: 1: link open tag; 2: link close tag. */ + printf( __( 'Want to help us develop? Read our %1$scontribution guidelines%2$s!', 'wordpress-seo' ), '', '' ); + ?> +

    + +
    + + + +
    +

    + +

    +
      + (object) array( + 'name' => 'Joost de Valk', + 'role' => __( 'Project Lead', 'wordpress-seo' ), + 'gravatar' => 'f08c3c3253bf14b5616b4db53cea6b78', + ), + 'mariekerakt' => (object) array( + 'name' => 'Marieke van de Rakt', + 'role' => __( 'Head R&D', 'wordpress-seo' ), + 'gravatar' => '1d83533e299c379140f9fcc2cb0015cb', + ), + 'irenestr' => (object) array( + 'name' => 'Irene Strikkers', + 'role' => __( 'Linguist', 'wordpress-seo' ), + 'gravatar' => '074d67179d52561e36e57e8e9ea8f8cf', + ), + ); + + wpseo_display_contributors( $people ); + ?> +
    +

    +
      + (object) array( + 'name' => 'Omar Reiss', + 'role' => __( 'CTO', 'wordpress-seo' ), + 'gravatar' => '86aaa606a1904e7e0cf9857a663c376e', + ), + 'atimmer' => (object) array( + 'name' => 'Anton Timmermans', + 'role' => __( 'Architect', 'wordpress-seo' ), + 'gravatar' => 'b3acbabfdd208ecbf950d864b86fe968', + ), + 'moorscode' => (object) array( + 'name' => 'Jip Moors', + 'role' => __( 'Architect', 'wordpress-seo' ), + 'gravatar' => '1751c5afc377ef4ec07a50791db1bc52', + ), + ); + + wpseo_display_contributors( $people ); + ?> +
    +

    +
      + (object) array( + 'name' => 'Andrea Fercia', + 'role' => __( 'Developer', 'wordpress-seo' ), + 'gravatar' => '074af62ea5ff218b6a6eeab89104f616', + ), + 'rarst' => (object) array( + 'name' => 'Andrey Savchenko', + 'role' => __( 'Developer', 'wordpress-seo' ), + 'gravatar' => 'c445c2491f9f55409b2e4dccee357961', + ), + 'andizer' => (object) array( + 'name' => 'Andy Meerwaldt', + 'role' => __( 'Developer', 'wordpress-seo' ), + 'gravatar' => 'a9b43e766915b48031eab78f9916ca8e', + ), + 'boblinthorst' => (object) array( + 'name' => 'Bob Linthorst', + 'role' => __( 'Developer', 'wordpress-seo' ), + 'gravatar' => '8063b1955f54681ef3a2deb21972faa1', + ), + 'CarolineGeven' => (object) array( + 'name' => 'Caroline Geven', + 'role' => __( 'Developer', 'wordpress-seo' ), + 'gravatar' => 'f2596a568c3974e35f051266a63d791f', + ), + 'terw-dan' => (object) array( + 'name' => 'Danny Terwindt', + 'role' => __( 'Developer', 'wordpress-seo' ), + 'gravatar' => '20a04b0736e630e80ce2dbefe3f1d62f', + ), + 'diedexx' => (object) array( + 'name' => 'Diede Exterkate', + 'role' => __( 'Developer', 'wordpress-seo' ), + 'gravatar' => '59908788f406037240ee011388db29f8', + ), + 'irenestr' => (object) array( + 'name' => 'Irene Strikkers', + 'role' => __( 'Developer', 'wordpress-seo' ), + 'gravatar' => '074d67179d52561e36e57e8e9ea8f8cf', + ), + 'jcomack' => (object) array( + 'name' => 'Jimmy Comack', + 'role' => __( 'Developer', 'wordpress-seo' ), + 'gravatar' => '41073ef9e1f3e01b03cbee75cee33bd4', + ), + ); + + wpseo_display_contributors( $people ); + ?> +
    +

    +
      + (object) array( + 'name' => 'Taco Verdonschot', + 'role' => __( 'QA & Translations Manager', 'wordpress-seo' ), + 'gravatar' => 'd2d3ecb38cacd521926979b5c678297b', + ), + 'benvaassen' => (object) array( + 'name' => 'Ben Vaassen', + 'role' => __( 'QA', 'wordpress-seo' ), + 'gravatar' => 'e186ff6435b02a7bc1c7185dd66b7e64', + ), + 'monbauza' => (object) array( + 'name' => 'Ramon Bauza', + 'role' => __( 'Tester', 'wordpress-seo' ), + 'gravatar' => 'de09b8491ab1d927e770f7519219cfc9', + ), + 'boblinthorst' => (object) array( + 'name' => 'Bob Linthorst', + 'role' => __( 'Tester', 'wordpress-seo' ), + 'gravatar' => '8063b1955f54681ef3a2deb21972faa1', + ), + ); + + wpseo_display_contributors( $people ); + ?> +
    + +

    +

    + + +
    + +
    +

    Yoast SEO Integrations

    +

    + Yoast SEO 3.0 brought a way for theme builders and custom field plugins to integrate with Yoast SEO. These + integrations make sure that all the data on your page is used for the content analysis. On this + page, we highlight the frameworks that have nicely working integrations. +

    + +
      +
    1. Yoast ACF + Integration - an integration built by Marcus Forsberg, + Thomas Kräftner, + Angry Creative + and Team Yoast +
    2. +
    3. Divi Builder
    4. +
    5. Visual Composer
    6. +
    + +

    Other integrations

    +

    + We've got another integration we'd like to tell you about: +

    + +
      +
    1. Glue for Yoast SEO & + AMP - an integration between the WordPress AMP + plugin and Yoast SEO. +
    2. +
    +
    +
    diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/class-yoast-form-fieldset.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/class-yoast-form-fieldset.php new file mode 100644 index 00000000..7203cb03 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/class-yoast-form-fieldset.php @@ -0,0 +1,168 @@ + 'yoast-form-fieldset', + ); + + /** + * @var string The grouped form elements for the fieldset. + */ + private $content; + + /** + * @var array The fieldset legend HTML default attributes. + */ + private $legend_attributes = array( + 'class' => 'yoast-form-legend', + ); + + /** + * @var string A translatable string for the fieldset legend content. + */ + private $legend_content; + + /** + * Constructor. + * + * @param string $id ID for the fieldset. + * @param string $legend_content The translatable legend text. + * @param string $content The grouped form elements for the fieldset. + */ + public function __construct( $id, $legend_content, $content ) { + $this->id = $id; + $this->legend_content = $legend_content; + $this->content = $content; + } + + /** + * Render the view. + */ + public function render_view() { + /* + * Extract because we want values accessible via variables for later use + * in the view instead of accessing them as an array. + */ + extract( $this->get_parts() ); + + require WPSEO_PATH . 'admin/views/form/fieldset.php'; + } + + /** + * Start output buffering to catch the form elements to wrap in the fieldset. + */ + public function start() { + ob_start(); + } + + /** + * Return output buffering with the form elements to wrap in the fieldset. + */ + public function end() { + $this->content = ob_get_clean(); + } + + /** + * Return the rendered view. + * + * @return string + */ + public function get_html() { + ob_start(); + $this->render_view(); + return ob_get_clean(); + } + + /** + * Output the rendered view. + */ + public function html() { + echo $this->get_html(); + } + + /** + * Add attributes to the fieldset default attributes. + * + * @param array $attributes Array of attributes names and values to merge with the defaults. + */ + public function add_attributes( $attributes ) { + $this->attributes = wp_parse_args( $attributes, $this->attributes ); + } + + /** + * Add attributes to the fieldset legend default attributes. + * + * @param array $attributes Array of attributes names and values to merge with the defaults. + */ + public function legend_add_attributes( $attributes ) { + $this->legend_attributes = wp_parse_args( $attributes, $this->legend_attributes ); + } + + /** + * Visually hide the fieldset legend but keep it available to assistive technologies. + */ + public function legend_hide() { + $this->legend_attributes = wp_parse_args( + array( 'class' => 'screen-reader-text' ), + $this->legend_attributes + ); + } + + /** + * Return the set of attributes and content for the fieldset. + * + * @return array + */ + private function get_parts() { + return array( + 'id' => $this->id, + 'attributes' => $this->get_attributes_html( $this->attributes ), + 'legend_content' => $this->legend_content, + 'legend_attributes' => $this->get_attributes_html( $this->legend_attributes ), + 'content' => $this->content, + ); + } + + /** + * Return HTML formatted attributes as a string, when there are attributes set. + * + * @param array $attributes Fieldset or legend attributes. + * + * @return string A space separated list of HTML formatted attributes or empty string. + */ + private function get_attributes_html( $attributes ) { + if ( ! empty( $attributes ) ) { + array_walk( $attributes, array( $this, 'parse_attribute' ) ); + + // Use an initial space as `implode()` adds a space only between array elements. + return ' ' . implode( ' ', $attributes ); + } + + return ''; + } + + /** + * Escape and format an attribute as an HTML attribute. + * + * @param string $value The value of the attribute. + * @param string $attribute The attribute to look for. + */ + private function parse_attribute( & $value, $attribute ) { + $value = sprintf( '%s="%s"', esc_html( $attribute ), esc_attr( $value ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/class-yoast-input-select.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/class-yoast-input-select.php new file mode 100644 index 00000000..282bc01a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/class-yoast-input-select.php @@ -0,0 +1,128 @@ +select_id = $select_id; + $this->select_name = $select_name; + $this->select_options = $select_options; + $this->selected_option = $selected_option; + } + + /** + * Print the rendered view. + */ + public function output_html() { + // Extract it, because we want each value accessible via a variable instead of accessing it as an array. + extract( $this->get_select_values() ); + + require WPSEO_PATH . 'admin/views/form/select.php'; + } + + /** + * Return the rendered view + * + * @return string + */ + public function get_html() { + ob_start(); + + $this->output_html(); + + $rendered_output = ob_get_contents(); + ob_end_clean(); + + return $rendered_output; + } + + /** + * Add an attribute to the attributes property + * + * @param string $attribute The name of the attribute to add. + * @param string $value The value of the attribute. + */ + public function add_attribute( $attribute, $value ) { + $this->select_attributes[ $attribute ] = $value; + } + + /** + * Return the set fields for the select + * + * @return array + */ + private function get_select_values() { + return array( + 'id' => $this->select_id, + 'name' => $this->select_name, + 'attributes' => $this->get_attributes(), + 'options' => $this->select_options, + 'selected' => $this->selected_option, + ); + } + + /** + * Return the attribute string, when there are attributes set. + * + * @return string + */ + private function get_attributes() { + $attributes = $this->select_attributes; + + if ( ! empty( $attributes ) ) { + array_walk( $attributes, array( $this, 'parse_attribute' ) ); + + return implode( ' ', $attributes ) . ' '; + } + + return ''; + } + + /** + * Get an attribute from the attributes. + * + * @param string $value The value of the attribute. + * @param string $attribute The attribute to look for. + */ + private function parse_attribute( & $value, $attribute ) { + $value = sprintf( '%s="%s"', esc_html( $attribute ), esc_attr( $value ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/form/fieldset.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/form/fieldset.php new file mode 100644 index 00000000..a9d4e415 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/form/fieldset.php @@ -0,0 +1,24 @@ + + +
    > + > + +
    diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/form/select.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/form/select.php new file mode 100644 index 00000000..4b42f73f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/form/select.php @@ -0,0 +1,24 @@ + + diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/interface-yoast-form-element.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/interface-yoast-form-element.php new file mode 100644 index 00000000..aeec5f00 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/interface-yoast-form-element.php @@ -0,0 +1,17 @@ + + + + + + + diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/licenses.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/licenses.php new file mode 100644 index 00000000..882f0c32 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/licenses.php @@ -0,0 +1,244 @@ +get(); + +// First invalidate all licenses. +array_map( array( $extension_list, 'invalidate' ), $extensions ); + +$extensions = new WPSEO_Extension_Manager(); + +$extensions->add( + 'wordpress-seo-premium', + new WPSEO_Extension( + array( + 'url' => WPSEO_Shortlinker::get( 'https://yoa.st/pe-premium-page' ), + 'title' => 'Yoast SEO Premium', + /* translators: %1$s expands to Yoast SEO */ + 'desc' => sprintf( __( 'The premium version of %1$s with more features & support.', 'wordpress-seo' ), 'Yoast SEO' ), + 'image' => plugins_url( 'images/extensions-premium-ribbon.png', WPSEO_FILE ), + 'benefits' => array(), + ) + ) +); + +$extensions->add( + 'wpseo-video', + new WPSEO_Extension( + array( + 'buyUrl' => WPSEO_Shortlinker::get( 'https://yoa.st/zx/' ), + 'infoUrl' => WPSEO_Shortlinker::get( 'https://yoa.st/zw/' ), + 'title' => 'Video SEO', + 'desc' => __( 'Optimize your videos to show them off in search results and get more clicks!', 'wordpress-seo' ), + 'image' => plugins_url( 'images/extensions-video.png', WPSEO_FILE ), + 'benefits' => array( + __( 'Show your videos in Google Videos', 'wordpress-seo' ), + __( 'Enhance the experience of sharing posts with videos', 'wordpress-seo' ), + __( 'Make videos responsive through enabling fitvids.js', 'wordpress-seo' ), + ), + ) + ) +); + +$extensions->add( + 'wpseo-news', + new WPSEO_Extension( + array( + 'buyUrl' => WPSEO_Shortlinker::get( 'https://yoa.st/zv/' ), + 'infoUrl' => WPSEO_Shortlinker::get( 'https://yoa.st/zu/' ), + 'title' => 'News SEO', + 'desc' => __( 'Are you in Google News? Increase your traffic from Google News by optimizing for it!', 'wordpress-seo' ), + 'image' => plugins_url( 'images/extensions-news.png', WPSEO_FILE ), + 'benefits' => array( + __( 'Optimize your site for Google News', 'wordpress-seo' ), + __( 'Immediately pings Google on the publication of a new post', 'wordpress-seo' ), + __( 'Creates XML News Sitemaps', 'wordpress-seo' ), + ), + ) + ) +); + +$extensions->add( + 'wpseo-local', + new WPSEO_Extension( + array( + 'buyUrl' => WPSEO_Shortlinker::get( 'https://yoa.st/zt' ), + 'infoUrl' => WPSEO_Shortlinker::get( 'https://yoa.st/zs' ), + 'title' => 'Local SEO', + 'desc' => __( 'Rank better locally and in Google Maps, without breaking a sweat!', 'wordpress-seo' ), + 'image' => plugins_url( 'images/extensions-local.png', WPSEO_FILE ), + 'benefits' => array( + __( 'Get found by potential clients', 'wordpress-seo' ), + __( 'Easily insert Google Maps, a store locator, opening hours and more', 'wordpress-seo' ), + __( 'Improve the usability of your contact page', 'wordpress-seo' ), + ), + ) + ) +); + +// Add Yoast WooCommerce SEO when WooCommerce is active. +if ( class_exists( 'Woocommerce' ) ) { + $extensions->add( + 'wpseo-woocommerce', + new WPSEO_Extension( + array( + 'buyUrl' => WPSEO_Shortlinker::get( 'https://yoa.st/zr' ), + 'infoUrl' => WPSEO_Shortlinker::get( 'https://yoa.st/zq' ), + 'title' => 'Yoast WooCommerce SEO', + /* translators: %1$s expands to Yoast SEO */ + 'desc' => sprintf( __( 'Seamlessly integrate WooCommerce with %1$s and get extra features!', 'wordpress-seo' ), 'Yoast SEO' ), + 'image' => plugins_url( 'images/extensions-woo.png', WPSEO_FILE ), + 'benefits' => array( + sprintf( __( 'Improve sharing on Pinterest', 'wordpress-seo' ) ), + + /* translators: %1$s expands to Yoast, %2$s expands to WooCommerce */ + sprintf( __( 'Use %1$s breadcrumbs instead of %2$s ones', 'wordpress-seo' ), 'Yoast', 'WooCommerce' ), + + /* translators: %1$s expands to Yoast SEO, %2$s expands to WooCommerce */ + sprintf( __( 'A seamless integration between %1$s and %2$s', 'wordpress-seo' ), 'Yoast SEO', 'WooCommerce' ), + ), + 'buy_button' => 'WooCommerce SEO', + ) + ) + ); +} +?> + +
    + +

    + +
    +
    + get( 'wordpress-seo-premium' ); + $extensions->remove( 'wordpress-seo-premium' ); + ?> +

    ' . $extension->get_title() . '' ); + ?>

    + +
      +
    • + + +
    • +
    • + + +
    • +
    • + + +
    • +
    • + + +
    • +
    + + is_installed( $extension->get_title() ) ) : ?> +
    + + is_activated( 'wordpress-seo-premium' ) ) : ?> +
    + + +
    + + + + + + + + get_title() ); + ?> + + ', + '', + $extension->get_title() ); + ?> + + +

    +
    + + + +
    +

    ' . $yoast_seo_extensions . ''; + + /* translators: %1$s expands to Yoast SEO extensions */ + printf( __( '%1$s to optimize your site even further', 'wordpress-seo' ), $yoast_seo_extensions ); + ?>

    + + get_all() as $id => $extension ) : ?> +
    + +

    get_title() ); ?>

    + +
      + get_benefits() as $benefit ) : ?> +
    • + +
    + +
    + is_installed( $extension->get_title() ) ) : ?> +
    + + is_activated( $id ) ) : ?> +
    + + +
    + + + + + + get_buy_button() ); ?> + + + ', + '', + $extension->get_title() ); + ?> + + +
    +
    + +
    +
    + +
    diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/partial-alerts-errors.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/partial-alerts-errors.php new file mode 100644 index 00000000..e8e4c576 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/partial-alerts-errors.php @@ -0,0 +1,20 @@ +%1$s', __( 'Dismiss this item.', 'wordpress-seo' ) ); + break; + + case 'dismissed': + $button = sprintf( '', __( 'Restore this item.', 'wordpress-seo' ) ); + break; + } + + printf( '
    %4$s%5$s
    ', $notification->get_id(), $notification->get_nonce(), $notification->get_json(), $notification, $button ); + } + } +} + +if ( ! $active ) { + $dashicon = 'yes'; +} + +?> +

    ()

    + +
    + + +

    + +
    + +
    + + +

    + + +
    + +
    + + + +

    + + +
    diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/partial-alerts-warnings.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/partial-alerts-warnings.php new file mode 100644 index 00000000..b587bce0 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/partial-alerts-warnings.php @@ -0,0 +1,20 @@ + +

    +
    +
    +
    +
    + +
    +

    +

    +

    +

    +
    + +
    + +

    + +

    +

    +

    +
    +
    + +
    + + +
    + currentoption = 'wpseo_internallinks'; + +echo '

    ' . __( 'Breadcrumbs settings', 'wordpress-seo' ) . '

    '; + +if ( ! current_theme_supports( 'yoast-seo-breadcrumbs' ) ) { + $yform->light_switch( 'breadcrumbs-enable', __( 'Enable Breadcrumbs', 'wordpress-seo' ) ); + echo '
    '; +} +echo ' +

    +

    + ', '' ); + ?> +

    diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/advanced/permalinks.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/advanced/permalinks.php new file mode 100644 index 00000000..ce99cef9 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/advanced/permalinks.php @@ -0,0 +1,59 @@ +currentoption = 'wpseo_permalinks'; + +echo '

    ', __( 'Change URLs', 'wordpress-seo' ), '

    '; + +$remove_buttons = array( __( 'Keep', 'wordpress-seo' ), __( 'Remove', 'wordpress-seo' ) ); +$yform->light_switch( + 'stripcategorybase', + /* translators: %s expands to /category/ */ + sprintf( __( 'Strip the category base (usually %s) from the category URL.', 'wordpress-seo' ), '/category/' ), + $remove_buttons, + false +); + +$redirect_buttons = array( __( 'No redirect', 'wordpress-seo' ), __( 'Redirect', 'wordpress-seo' ) ); +$yform->light_switch( 'redirectattachment', __( 'Redirect attachment URLs to parent post URL.', 'wordpress-seo' ), $redirect_buttons ); +echo '

    ' . __( 'Attachments to posts are stored in the database as posts, this means they\'re accessible under their own URLs if you do not redirect them, enabling this will redirect them to the post they were attached to.', 'wordpress-seo' ) . '

    '; + +echo '

    ', __( 'Clean up permalinks', 'wordpress-seo' ), '

    '; +$yform->light_switch( 'cleanslugs', __( 'Stop words in slugs.', 'wordpress-seo' ), $remove_buttons, false ); +echo '

    ' . __( 'This helps you to create cleaner URLs by automatically removing the stopwords from them.', 'wordpress-seo' ) . '

    '; + +/* translators: %s expands to ?replytocom */ +$yform->light_switch( 'cleanreplytocom', sprintf( __( 'Remove the %s variables.', 'wordpress-seo' ), '?replytocom' ), $remove_buttons, false ); +echo '

    ' . __( 'This prevents threaded replies from working when the user has JavaScript disabled, but on a large site can mean a huge improvement in crawl efficiency for search engines when you have a lot of comments.', 'wordpress-seo' ) . '

    '; + +$options = WPSEO_Options::get_all(); +if ( substr( get_option( 'permalink_structure' ), -1 ) !== '/' && $options['trailingslash'] ) { + $yform->light_switch( 'trailingslash', __( 'Enforce a trailing slash on all category and tag URLs', 'wordpress-seo' ) ); + echo '

    ' . __( 'Note: this feature has been deprecated, as the SEO value is close to 0 these days. If you disable it you will not be able to put it back on.', 'wordpress-seo' ) . '

    '; + /* translators: %1$s expands to .html, %2$s expands to / */ + echo '

    ' . sprintf( __( 'If you choose a permalink for your posts with %1$s, or anything else but a %2$s at the end, this will force WordPress to add a trailing slash to non-post pages nonetheless.', 'wordpress-seo' ), '.html', '/' ) . '

    '; +} + +$yform->light_switch( 'cleanpermalinks', __( 'Redirect ugly URLs to clean permalinks. (Not recommended in many cases!)', 'wordpress-seo' ), $redirect_buttons ); +echo '

    ' . __( 'People make mistakes in their links towards you sometimes, or unwanted parameters are added to the end of your URLs, this allows you to redirect them all away. Please note that while this is a feature that is actively maintained, it is known to break several plugins, and should for that reason be the first feature you disable when you encounter issues after installing this plugin.', 'wordpress-seo' ) . '

    '; + +echo '
    '; +$yform->light_switch( 'cleanpermalink-googlesitesearch', __( 'Prevent cleaning out Google Site Search URLs.', 'wordpress-seo' ) ); +echo '

    ' . __( 'Google Site Search URLs look weird, and ugly, but if you\'re using Google Site Search, you probably do not want them cleaned out.', 'wordpress-seo' ) . '

    '; + +$yform->light_switch( 'cleanpermalink-googlecampaign', __( 'Prevent cleaning out Google Analytics Campaign & Google AdWords Parameters.', 'wordpress-seo' ) ); +/* translators: %s expands to ?utm_ */ +echo '

    ' . sprintf( __( 'If you use Google Analytics campaign parameters starting with %s, check this box. However, you\'re advised not to use these. Instead, use the version with a hash.', 'wordpress-seo' ), '?utm_' ) . '

    '; + +$yform->textinput( 'cleanpermalink-extravars', __( 'Other variables not to clean', 'wordpress-seo' ) ); +echo '

    ' . __( 'You might have extra variables you want to prevent from cleaning out, add them here, comma separated.', 'wordpress-seo' ) . '

    '; +echo '
    '; diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/advanced/rss.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/advanced/rss.php new file mode 100644 index 00000000..a7083d38 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/advanced/rss.php @@ -0,0 +1,55 @@ +set_option( 'wpseo_rss' ); + +echo '

    ' . __( 'RSS feed settings', 'wordpress-seo' ) . '

    '; + +echo '

    ' . __( "This feature is used to automatically add content to your RSS, more specifically, it's meant to add links back to your blog and your blog posts, so dumb scrapers will automatically add these links too, helping search engines identify you as the original source of the content.", 'wordpress-seo' ) . '

    '; + +$textarea_atts = array( + 'cols' => '50', + 'rows' => '5', +); +$yform->textarea( 'rssbefore', __( 'Content to put before each post in the feed', 'wordpress-seo' ), '', $textarea_atts ); +$yform->textarea( 'rssafter', __( 'Content to put after each post in the feed', 'wordpress-seo' ), '', $textarea_atts ); + +echo '

    ' . __( 'Available variables', 'wordpress-seo' ) . '

    '; +?> + +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    %%AUTHORLINK%%
    %%POSTLINK%%
    %%BLOGLINK%%
    %%BLOGDESCLINK%%
    diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/dashboard.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/dashboard.php new file mode 100644 index 00000000..63067759 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/dashboard.php @@ -0,0 +1,24 @@ + +
    + +

    +
    + +
    + +
    + +
    + +
    diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/features.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/features.php new file mode 100644 index 00000000..127c41c6 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/features.php @@ -0,0 +1,98 @@ + __( 'Readability analysis', 'wordpress-seo' ), + 'setting' => 'content_analysis_active', + 'label' => __( 'Removes the readability tab from the metabox and disables all readability-related suggestions.', 'wordpress-seo' ), + ), + (object) array( + 'name' => __( 'Keyword analysis', 'wordpress-seo' ), + 'setting' => 'keyword_analysis_active', + 'label' => __( 'Removes the keyword tab from the metabox and disables all keyword-related suggestions.', 'wordpress-seo' ), + ), + (object) array( + 'name' => __( 'Advanced settings pages', 'wordpress-seo' ), + 'setting' => 'enable_setting_pages', + 'label' => __( 'The advanced settings include site-wide settings for your titles and meta descriptions, social metadata, sitemaps and much more.', 'wordpress-seo' ), + ), + (object) array( + 'name' => 'Ryte', + 'setting' => 'onpage_indexability', + /* translators: %1$s expands to Ryte. */ + 'label' => sprintf( __( 'The %1$s integration checks daily if your site is still indexable by search engines and notifies you when this is not the case.', 'wordpress-seo' ), 'Ryte' ), + ), + (object) array( + 'name' => __( 'Admin bar menu', 'wordpress-seo' ), + 'setting' => 'enable_admin_bar_menu', + /* translators: %1$s expands to Yoast SEO*/ + 'label' => sprintf( __( 'The %1$s admin bar menu contains useful links to third-party tools for analyzing pages and makes it easy to see if you have new notifications.', 'wordpress-seo' ), 'Yoast SEO' ), + ), + (object) array( + 'name' => __( 'Cornerstone content', 'wordpress-seo' ), + 'setting' => 'enable_cornerstone_content', + 'label' => sprintf( + /* translators: 1: open link tag 2: close link tag */ + __( 'The Cornerstone content functionality enables you to mark and filter cornerstone content on your website. %1$sRead more about how cornerstone content can help you improve your site structure.%2$s', 'wordpress-seo' ), + '', + '' + ), + ), + (object) array( + 'name' => __( 'Text link counter', 'wordpress-seo' ), + 'setting' => 'enable_text_link_counter', + 'label' => sprintf( + /* translators: 1: open link tag 2: close link tag */ + __( 'This feature helps you improve the internal link structure of your site. If you want to know more about the why and how of internal linking, check out the %1$sarticle about internal linking on Yoast.com%2$s.', 'wordpress-seo' ), + '', + '' + ), + ), +); + +/** + * Filter to add feature toggles from add-ons. + * + * @param array $feature_toggles Array with feature toggle objects where each object should have a `name`, `setting` and `label` property. + */ +$feature_toggles = apply_filters( 'wpseo_feature_toggles', $feature_toggles ); + +?> +

    + + + +

    name ); ?>

    +

    + toggle_switch( + $feature->setting, + array( + 'on' => __( 'Enabled', 'wordpress-seo' ), + 'off' => __( 'Disabled', 'wordpress-seo' ), + ), + $feature->label + ); + ?> +

    +
    + + + +hidden( 'show_onboarding_notice', 'wpseo_show_onboarding_notice' ); +?> diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/general.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/general.php new file mode 100644 index 00000000..51671b31 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/general.php @@ -0,0 +1,63 @@ +' . esc_html__( 'Configuration wizard', 'wordpress-seo' ) . ''; + ?> +

    + +

    +

    + +

    + +
    +' . esc_html__( 'Credits', 'wordpress-seo' ) . ''; +?> +

    + +

    + +

    + +

    +
    +' . esc_html__( 'Restore default settings', 'wordpress-seo' ) . ''; +?> +

    + +

    + +

    + +

    diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/knowledge-graph.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/knowledge-graph.php new file mode 100644 index 00000000..35ee01c8 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/knowledge-graph.php @@ -0,0 +1,50 @@ +' . esc_html__( 'Website name', 'wordpress-seo' ) . ''; +?> +

    + +

    +textinput( 'website_name', __( 'Website name', 'wordpress-seo' ), array( 'placeholder' => get_bloginfo( 'name' ) ) ); +$yform->textinput( 'alternate_website_name', __( 'Alternate name', 'wordpress-seo' ) ); + +echo '

    ' . esc_html__( 'Company or person', 'wordpress-seo' ) . '

    '; +?> +

    + +

    +select( 'company_or_person', __( 'Company or person', 'wordpress-seo' ), array( + '' => __( 'Choose whether you\'re a company or person', 'wordpress-seo' ), + 'company' => __( 'Company', 'wordpress-seo' ), + 'person' => __( 'Person', 'wordpress-seo' ), +) ); +?> + +
    +

    + textinput( 'company_name', __( 'Company name', 'wordpress-seo' ) ); + $yform->media_input( 'company_logo', __( 'Company logo', 'wordpress-seo' ) ); + ?> +
    + +
    +

    + textinput( 'person_name', __( 'Your name', 'wordpress-seo' ) ); ?> +
    diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/security.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/security.php new file mode 100644 index 00000000..4536c203 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/security.php @@ -0,0 +1,25 @@ +' . esc_html__( 'Security setting', 'wordpress-seo' ) . ''; + +$yform->toggle_switch( + 'disableadvanced_meta', + array( + 'off' => __( 'Enabled', 'wordpress-seo' ), + 'on' => __( 'Disabled', 'wordpress-seo' ), + ), + /* translators: %1$s expands to Yoast SEO */ + sprintf( __( 'Advanced part of the %1$s meta box', 'wordpress-seo' ), 'Yoast SEO' ) +); + +/* translators: %1$s expands to Yoast SEO */ +echo '

    ', sprintf( __( 'The advanced section of the %1$s meta box allows a user to noindex posts or change the canonical. These are things you might not want if you don\'t trust your authors, so by default, only administrators can do this. Enabling the advanced box allows all users to change these settings.', 'wordpress-seo' ), 'Yoast SEO' ), '

    '; diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/site-analysis.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/site-analysis.php new file mode 100644 index 00000000..38d7929d --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/dashboard/site-analysis.php @@ -0,0 +1,17 @@ +' . esc_html__( 'Webmaster Tools verification', 'wordpress-seo' ) . ''; +printf( '

    %s

    ', __( 'You can use the boxes below to verify with the different Webmaster Tools, if your site is already verified, you can just forget about these. Enter the verify meta values for:', 'wordpress-seo' ) ); + +$yform->textinput( 'msverify', '' . __( 'Bing Webmaster Tools', 'wordpress-seo' ) . '' ); +$yform->textinput( 'googleverify', 'Google Search Console' ); +$yform->textinput( 'yandexverify', '' . __( 'Yandex Webmaster Tools', 'wordpress-seo' ) . '' ); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/archives.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/archives.php new file mode 100644 index 00000000..9fc2498f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/archives.php @@ -0,0 +1,69 @@ +'; +/* translators: %1$s / %2$s: links to an article about duplicate content on yoast.com */ +printf( __( 'If you\'re running a one author blog, the author archive will be exactly the same as your homepage. This is what\'s called a %1$sduplicate content problem%2$s.', 'wordpress-seo' ), '', '' ); +echo ' '; +/* translators: %s expands to noindex, follow */ +printf( __( 'If this is the case on your site, you can choose to either disable it (which makes it redirect to the homepage), or to add %s to it so it doesn\'t show up in the search results.', 'wordpress-seo' ), 'noindex,follow' ); +echo ' '; +echo __( 'Note that links to archives might be still output by your theme and you would need to remove them separately.', 'wordpress-seo' ); +echo ' '; +_e( 'Date-based archives could in some cases also be seen as duplicate content.', 'wordpress-seo' ); +echo '

    '; + +echo "
    "; +echo '

    ' . esc_html__( 'Author archives settings', 'wordpress-seo' ) . '

    '; +$yform->toggle_switch( 'disable-author', array( + 'off' => __( 'Enabled', 'wordpress-seo' ), + 'on' => __( 'Disabled', 'wordpress-seo' ), +), __( 'Author archives', 'wordpress-seo' ) ); + +echo "
    "; +$yform->textinput( 'title-author-wpseo', __( 'Title template', 'wordpress-seo' ), 'template author-template' ); +$yform->textarea( 'metadesc-author-wpseo', __( 'Meta description template', 'wordpress-seo' ), array( 'class' => 'template author-template' ) ); +if ( $options['usemetakeywords'] === true ) { + $yform->textinput( 'metakey-author-wpseo', __( 'Meta keywords template', 'wordpress-seo' ) ); +} +$yform->toggle_switch( 'noindex-author-wpseo', $index_switch_values, __( 'Meta Robots', 'wordpress-seo' ) ); +echo '
    '; +echo '
    '; + +echo '
    '; + +echo "
    "; +echo '

    ' . esc_html__( 'Date archives settings', 'wordpress-seo' ) . '

    '; +$yform->toggle_switch( 'disable-date', array( + 'off' => __( 'Enabled', 'wordpress-seo' ), + 'on' => __( 'Disabled', 'wordpress-seo' ), +), __( 'Date archives', 'wordpress-seo' ) ); + +echo "
    "; +$yform->textinput( 'title-archive-wpseo', __( 'Title template', 'wordpress-seo' ), 'template date-template' ); +$yform->textarea( 'metadesc-archive-wpseo', __( 'Meta description template', 'wordpress-seo' ), array( 'class' => 'template date-template' ) ); +$yform->toggle_switch( 'noindex-archive-wpseo', $index_switch_values, __( 'Meta Robots', 'wordpress-seo' ) ); +echo '
    '; +echo '
    '; + +echo '
    '; + +echo '
    '; +echo '

    ' . esc_html__( 'Special Pages', 'wordpress-seo' ) . '

    '; +/* translators: %s expands to noindex, follow */ +echo '

    ' . sprintf( __( 'These pages will be %s by default, so they will never show up in search results.', 'wordpress-seo' ), 'noindex, follow' ) . '

    '; +echo '

    ' . __( 'Search pages', 'wordpress-seo' ) . '
    '; +$yform->textinput( 'title-search-wpseo', __( 'Title template', 'wordpress-seo' ), 'template search-template' ); +echo '

    '; +echo '

    ' . __( '404 pages', 'wordpress-seo' ) . '
    '; +$yform->textinput( 'title-404-wpseo', __( 'Title template', 'wordpress-seo' ), 'template error404-template' ); +echo '

    '; +echo '
    '; diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/general.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/general.php new file mode 100644 index 00000000..5b165e10 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/general.php @@ -0,0 +1,27 @@ +light_switch( 'forcerewritetitle', __( 'Force rewrite titles', 'wordpress-seo' ) ); + echo '

    ', + sprintf( + /* translators: %1$s expands to Yoast SEO */ + __( '%1$s has auto-detected whether it needs to force rewrite the titles for your pages, if you think it\'s wrong and you know what you\'re doing, you can change the setting here.', 'wordpress-seo' ), + 'Yoast SEO' + ) . '

    '; +} + +echo '

    ' . esc_html__( 'Title Separator', 'wordpress-seo' ) . '

    '; + +$legend = __( 'Title separator symbol', 'wordpress-seo' ); +$legend_attr = array( 'class' => 'radiogroup screen-reader-text' ); +$yform->radio( 'separator', WPSEO_Option_Titles::get_instance()->get_separator_options(), $legend, $legend_attr ); +echo '

    ', __( 'Choose the symbol to use as your title separator. This will display, for instance, between your post title and site name.', 'wordpress-seo' ), ' ', __( 'Symbols are shown in the size they\'ll appear in the search results.', 'wordpress-seo' ), '

    '; diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/home.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/home.php new file mode 100644 index 00000000..3543e28a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/home.php @@ -0,0 +1,32 @@ +'; + echo '

    ', esc_html__( 'Homepage', 'wordpress-seo' ), '

    '; + $yform->textinput( 'title-home-wpseo', __( 'Title template', 'wordpress-seo' ), 'template homepage-template' ); + $yform->textarea( 'metadesc-home-wpseo', __( 'Meta description template', 'wordpress-seo' ), array( 'class' => 'template homepage-template' ) ); + if ( $options['usemetakeywords'] === true ) { + $yform->textinput( 'metakey-home-wpseo', __( 'Meta keywords template', 'wordpress-seo' ) ); + } + echo ''; +} +else { + echo '

    ', esc_html__( 'Homepage & Front page', 'wordpress-seo' ), '

    '; + echo '

    '; + /* translators: 1: link open tag; 2: link close tag. */ + printf( __( 'You can determine the title and description for the front page by %1$sediting the front page itself »%2$s', 'wordpress-seo' ), '', '' ); + echo '

    '; + if ( get_option( 'page_for_posts' ) > 0 ) { + /* translators: 1: link open tag; 2: link close tag. */ + echo '

    ', sprintf( __( 'You can determine the title and description for the blog page by %1$sediting the blog page itself »%2$s', 'wordpress-seo' ), '', '' ), '

    '; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/other.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/other.php new file mode 100644 index 00000000..93eb8e5b --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/other.php @@ -0,0 +1,18 @@ +', esc_html__( 'Sitewide meta settings', 'wordpress-seo' ), ''; + +$yform->toggle_switch( 'noindex-subpages-wpseo', $index_switch_values, __( 'Subpages of archives', 'wordpress-seo' ) ); +echo '

    ', __( 'If you want to prevent /page/2/ and further of any archive to show up in the search results, set this to "noindex".', 'wordpress-seo' ), '

    '; + +$yform->light_switch( 'usemetakeywords', __( 'Use meta keywords tag?', 'wordpress-seo' ) ); +echo '

    ', __( 'I don\'t know why you\'d want to use meta keywords, but if you want to, enable this.', 'wordpress-seo' ), '

    '; diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/post-types.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/post-types.php new file mode 100644 index 00000000..83803359 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/post-types.php @@ -0,0 +1,86 @@ + true ), 'objects' ); +$index_switch_values = array( + 'off' => 'index', + 'on' => 'noindex', +); + +if ( is_array( $post_types ) && $post_types !== array() ) { + foreach ( $post_types as $post_type ) { + $name = $post_type->name; + echo "
    "; + echo '

    ' . esc_html( ucfirst( $post_type->labels->name ) ) . ' (' . esc_html( $post_type->name ) . ')

    '; + if ( $options['redirectattachment'] === true && $name === 'attachment' ) { + // The `inline` CSS class prevents the notice from being moved to the top via JavaScript. + echo '

    '; + /* translators: %1$s and %2$s expand to a link to the SEO Permalinks settings page. */ + echo sprintf( __( 'As you are redirecting attachment URLs to parent post URLs, these settings will currently only have an effect on unattached media items! So remember: If you change the %1$sattachment redirection setting%2$s in the future, the below settings will take effect for *all* media items.', 'wordpress-seo' ), '', '' ); + echo '

    '; + } + $yform->textinput( 'title-' . $name, __( 'Title template', 'wordpress-seo' ), 'template posttype-template' ); + $yform->textarea( 'metadesc-' . $name, __( 'Meta description template', 'wordpress-seo' ), array( 'class' => 'template posttype-template' ) ); + if ( $options['usemetakeywords'] === true ) { + $yform->textinput( 'metakey-' . $name, __( 'Meta keywords template', 'wordpress-seo' ) ); + } + $yform->toggle_switch( 'noindex-' . $name, $index_switch_values, __( 'Meta Robots', 'wordpress-seo' ) ); + $yform->toggle_switch( 'showdate-' . $name, array( + 'on' => __( 'Show', 'wordpress-seo' ), + 'off' => __( 'Hide', 'wordpress-seo' ), + ), __( 'Date in Snippet Preview', 'wordpress-seo' ) ); + $yform->toggle_switch( 'hideeditbox-' . $name, array( + 'off' => __( 'Show', 'wordpress-seo' ), + 'on' => __( 'Hide', 'wordpress-seo' ), + /* translators: %1$s expands to Yoast SEO */ + ), sprintf( __( '%1$s Meta Box', 'wordpress-seo' ), 'Yoast SEO' ) ); + echo '
    '; + /** + * Allow adding a custom checkboxes to the admin meta page - Post Types tab + * + * @api WPSEO_Admin_Pages $yform The WPSEO_Admin_Pages object + * @api String $name The post type name + */ + do_action( 'wpseo_admin_page_meta_post_types', $yform, $name ); + echo '

    '; + } + unset( $post_type ); +} +unset( $post_types ); + +$post_types = get_post_types( + array( + '_builtin' => false, + 'has_archive' => true, + ), + 'objects' +); +if ( is_array( $post_types ) && $post_types !== array() ) { + echo '

    ' . esc_html__( 'Custom Post Type Archives', 'wordpress-seo' ) . '

    '; + echo '

    ' . __( 'Note: instead of templates these are the actual titles and meta descriptions for these custom post type archive pages.', 'wordpress-seo' ) . '

    '; + foreach ( $post_types as $post_type ) { + $name = $post_type->name; + echo '

    ' . esc_html( ucfirst( $post_type->labels->name ) ) . '

    '; + $yform->textinput( 'title-ptarchive-' . $name, __( 'Title', 'wordpress-seo' ), 'template posttype-template' ); + $yform->textarea( 'metadesc-ptarchive-' . $name, __( 'Meta description', 'wordpress-seo' ), array( 'class' => 'template posttype-template' ) ); + if ( $options['usemetakeywords'] === true ) { + $yform->textinput( 'metakey-ptarchive-' . $name, __( 'Meta keywords', 'wordpress-seo' ) ); + } + if ( $options['breadcrumbs-enable'] === true ) { + $yform->textinput( 'bctitle-ptarchive-' . $name, __( 'Breadcrumbs title', 'wordpress-seo' ) ); + } + $yform->toggle_switch( 'noindex-ptarchive-' . $name, $index_switch_values, __( 'Meta Robots', 'wordpress-seo' ) ); + + echo '

    '; + } + unset( $post_type ); +} +unset( $post_types ); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/taxonomies.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/taxonomies.php new file mode 100644 index 00000000..a6667c02 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/metas/taxonomies.php @@ -0,0 +1,57 @@ + true ), 'objects' ); +if ( is_array( $taxonomies ) && $taxonomies !== array() ) { + foreach ( $taxonomies as $tax ) { + // Explicitly hide all the core taxonomies we never want to do stuff for. + if ( in_array( $tax->name, array( 'link_category', 'nav_menu' ) ) ) { + continue; + } + + echo '

    ' . esc_html( ucfirst( $tax->labels->name ) ) . ' (' . esc_html( $tax->name ) . ')

    '; + if ( $tax->name === 'post_format' ) { + $yform->light_switch( + 'disable-post_format', + __( 'Format-based archives', 'wordpress-seo' ), + array( __( 'Enabled', 'wordpress-seo' ), __( 'Disabled', 'wordpress-seo' ) ), + false + ); + } + echo "
    "; + $yform->textinput( 'title-tax-' . $tax->name, __( 'Title template', 'wordpress-seo' ), 'template taxonomy-template' ); + $yform->textarea( 'metadesc-tax-' . $tax->name, __( 'Meta description template', 'wordpress-seo' ), array( 'class' => 'template taxonomy-template' ) ); + if ( $options['usemetakeywords'] === true ) { + $yform->textinput( 'metakey-tax-' . $tax->name, __( 'Meta keywords template', 'wordpress-seo' ) ); + } + $yform->toggle_switch( 'noindex-tax-' . $tax->name, $index_switch_values, __( 'Meta Robots', 'wordpress-seo' ) ); + if ( $tax->name !== 'post_format' ) { + /* translators: %1$s expands to Yoast SEO */ + $yform->toggle_switch( 'hideeditbox-tax-' . $tax->name, + array( + 'off' => __( 'Show', 'wordpress-seo' ), + 'on' => __( 'Hide', 'wordpress-seo' ), + /* translators: %1$s expands to Yoast SEO */ + ), sprintf( __( '%1$s Meta Box', 'wordpress-seo' ), 'Yoast SEO' ) ); + } + /** + * Allow adding custom checkboxes to the admin meta page - Taxonomies tab + * + * @api WPSEO_Admin_Pages $yform The WPSEO_Admin_Pages object + * @api Object $tax The taxonomy + */ + do_action( 'wpseo_admin_page_meta_taxonomies', $yform, $tax ); + echo '

    '; + echo '
    '; + } + unset( $tax ); +} +unset( $taxonomies ); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/sitemaps/exclude-post.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/sitemaps/exclude-post.php new file mode 100644 index 00000000..857c6261 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/sitemaps/exclude-post.php @@ -0,0 +1,16 @@ +' . esc_html__( 'Excluded posts settings', 'wordpress-seo' ) . ''; + +/* Translators: %1$s: expands to '1,2,99,100' */ +echo '

    ', sprintf( __( 'You can exclude posts from the sitemap by entering a comma separated string with the Post ID\'s. The format will become something like: %1$s.', 'wordpress-seo' ), '1,2,99,100' ), '

    '; +$yform->textinput( 'excluded-posts', __( 'Posts to exclude', 'wordpress-seo' ) ); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/sitemaps/general.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/sitemaps/general.php new file mode 100644 index 00000000..0bc3ef2a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/sitemaps/general.php @@ -0,0 +1,44 @@ +' . esc_html__( 'Your XML Sitemap', 'wordpress-seo' ) . ''; + +if ( $options['enablexmlsitemap'] === true ) { + echo '

    '; + printf( + /* translators: %1$s opening tag of the link to the Sitemap, %2$s closing tag for the link. */ + esc_html__( 'You can find your XML Sitemap here: %1$sXML Sitemap%2$s', 'wordpress-seo' ), + '', + '' + ); + echo '
    '; + echo '
    '; + _e( 'You do not need to generate the XML sitemap, nor will it take up time to generate after publishing a post.', 'wordpress-seo' ); + echo '

    '; +} +else { + echo '

    ', __( 'Save your settings to activate your XML Sitemap.', 'wordpress-seo' ), '

    '; +} + +echo '

    ' . esc_html__( 'Entries per sitemap page', 'wordpress-seo' ) . '

    '; +?> +

    + +

    + +textinput( 'entries-per-page', __( 'Max entries per sitemap', 'wordpress-seo' ) ); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/sitemaps/post-types.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/sitemaps/post-types.php new file mode 100644 index 00000000..bfc611aa --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/sitemaps/post-types.php @@ -0,0 +1,40 @@ +' . esc_html__( 'Post types sitemap settings', 'wordpress-seo' ) . ''; + +$switch_values = array( + 'off' => __( 'In sitemap', 'wordpress-seo' ), + 'on' => __( 'Not in sitemap', 'wordpress-seo' ), +); + +/** + * Filter the post types to present in interface for exclusion. + * + * @param array $post_types Array of post type objects. + */ +$post_types = apply_filters( 'wpseo_sitemaps_supported_post_types', get_post_types( array( 'public' => true ), 'objects' ) ); +if ( is_array( $post_types ) && $post_types !== array() ) { + foreach ( $post_types as $pt ) { + $yform->toggle_switch( + 'post_types-' . $pt->name . '-not_in_sitemap', + $switch_values, + $pt->labels->name . ' (' . $pt->name . ')' + ); + /** + * Allow adding custom checkboxes to the admin sitemap page - Post Types tab + * + * @api Yoast_Form $yform The Yoast_Form object + * @api Object $pt The post type + */ + do_action( 'wpseo_admin_page_sitemap_post_types', $yform, $pt ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/sitemaps/taxonomies.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/sitemaps/taxonomies.php new file mode 100644 index 00000000..8068c7b5 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/sitemaps/taxonomies.php @@ -0,0 +1,41 @@ +' . esc_html__( 'Taxonomies sitemap settings', 'wordpress-seo' ) . ''; + +/** + * Filter the taxonomies to present in interface for exclusion. + * + * @param array $taxonomies Array of taxonomy objects. + */ +$taxonomies = apply_filters( 'wpseo_sitemaps_supported_taxonomies', get_taxonomies( array( 'public' => true ), 'objects' ) ); +if ( is_array( $taxonomies ) && $taxonomies !== array() ) { + foreach ( $taxonomies as $tax ) { + // Explicitly hide all the core taxonomies we never want in our sitemap. + if ( in_array( $tax->name, array( 'link_category', 'nav_menu' ) ) ) { + continue; + } + + $title_options = WPSEO_Options::get_option( 'wpseo_titles' ); + + if ( 'post_format' === $tax->name && ! empty( $title_options['disable-post_format'] ) ) { + continue; + } + + if ( isset( $tax->labels->name ) && trim( $tax->labels->name ) != '' ) { + $yform->toggle_switch( + 'taxonomies-' . $tax->name . '-not_in_sitemap', + $switch_values, + $tax->labels->name . ' (' . $tax->name . ')' + ); + } + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/sitemaps/user-sitemap.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/sitemaps/user-sitemap.php new file mode 100644 index 00000000..8fc9d669 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/sitemaps/user-sitemap.php @@ -0,0 +1,44 @@ +' . esc_html__( 'User sitemap settings', 'wordpress-seo' ) . ''; + +$yform->toggle_switch( + 'disable_author_sitemap', + array( + 'off' => __( 'Enabled', 'wordpress-seo' ), + 'on' => __( 'Disabled', 'wordpress-seo' ), + ), + __( 'Author / user sitemap', 'wordpress-seo' ) +); + +printf( '

    %s

    ', __( 'The user sitemap contains the author archive URLs for every user on your site.', 'wordpress-seo' ) ); + +echo '
    '; + +$switch_values = array( + 'off' => __( 'In sitemap', 'wordpress-seo' ), + 'on' => __( 'Not in sitemap', 'wordpress-seo' ), +); +$yform->toggle_switch( 'disable_author_noposts', $switch_values, __( 'Users without posts', 'wordpress-seo' ) ); + +printf( '

    %s

    ', __( 'You can choose to not include users without posts.', 'wordpress-seo' ) ); + +$roles = WPSEO_Utils::get_roles(); +unset( $roles['subscriber'] ); +if ( is_array( $roles ) && $roles !== array() ) { + echo '

    ' . esc_html__( 'Filter specific user roles', 'wordpress-seo' ) . '

    '; + foreach ( $roles as $role_key => $role_name ) { + $yform->toggle_switch( 'user_role-' . $role_key . '-not_in_sitemap', $switch_values, $role_name ); + } +} + +echo '
    '; diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/social/accounts.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/social/accounts.php new file mode 100644 index 00000000..728dfc5b --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/social/accounts.php @@ -0,0 +1,27 @@ +' . esc_html__( 'Your social profiles', 'wordpress-seo' ) . ''; + +echo '

    '; +_e( 'To let search engines know which social profiles are associated to this site, enter them below:', 'wordpress-seo' ); +echo '

    '; + +$yform->textinput( 'facebook_site', __( 'Facebook Page URL', 'wordpress-seo' ) ); +$yform->textinput( 'twitter_site', __( 'Twitter Username', 'wordpress-seo' ) ); +$yform->textinput( 'instagram_url', __( 'Instagram URL', 'wordpress-seo' ) ); +$yform->textinput( 'linkedin_url', __( 'LinkedIn URL', 'wordpress-seo' ) ); +$yform->textinput( 'myspace_url', __( 'MySpace URL', 'wordpress-seo' ) ); +$yform->textinput( 'pinterest_url', __( 'Pinterest URL', 'wordpress-seo' ) ); +$yform->textinput( 'youtube_url', __( 'YouTube URL', 'wordpress-seo' ) ); +$yform->textinput( 'google_plus_url', __( 'Google+ URL', 'wordpress-seo' ) ); + +do_action( 'wpseo_admin_other_section' ); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/social/facebook.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/social/facebook.php new file mode 100644 index 00000000..7fbbe61d --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/social/facebook.php @@ -0,0 +1,54 @@ +' . esc_html__( 'Facebook settings', 'wordpress-seo' ) . ''; + +$yform->light_switch( 'opengraph', __( 'Add Open Graph meta data', 'wordpress-seo' ) ); + +?> +

    + <head> */ + printf( __( 'Add Open Graph meta data to your site\'s %s section, Facebook and other social networks use this data when your pages are shared.', 'wordpress-seo' ), '<head>' ); + ?> +

    + +' . esc_html__( 'Frontpage settings', 'wordpress-seo' ) . ''; + echo '

    ' . esc_html__( 'These are the title, description and image used in the Open Graph meta tags on the front page of your site.', 'wordpress-seo' ) . '

    '; + + $yform->media_input( 'og_frontpage_image', __( 'Image URL', 'wordpress-seo' ) ); + $yform->textinput( 'og_frontpage_title', __( 'Title', 'wordpress-seo' ) ); + $yform->textinput( 'og_frontpage_desc', __( 'Description', 'wordpress-seo' ) ); + + // Offer copying of meta description. + $meta_options = get_option( 'wpseo_titles' ); + echo ''; + echo '

    ', esc_html__( 'Copy home meta description', 'wordpress-seo' ), '

    '; + +} + +echo '

    ' . esc_html__( 'Default settings', 'wordpress-seo' ) . '

    '; + +$yform->media_input( 'og_default_image', __( 'Image URL', 'wordpress-seo' ) ); + +?> +

    + +

    + +show_form(); + +do_action( 'wpseo_admin_opengraph_section' ); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/social/google.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/social/google.php new file mode 100644 index 00000000..9008b874 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/social/google.php @@ -0,0 +1,18 @@ +' . esc_html__( 'Google+ settings', 'wordpress-seo' ) . ''; + +printf( '

    %s

    ', __( 'If you have a Google+ page for your business, add that URL here and link it on your Google+ page\'s about page.', 'wordpress-seo' ) ); + +$yform->textinput( 'plus-publisher', __( 'Google Publisher Page', 'wordpress-seo' ) ); + +do_action( 'wpseo_admin_googleplus_section' ); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/social/pinterest.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/social/pinterest.php new file mode 100644 index 00000000..b9cace38 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/social/pinterest.php @@ -0,0 +1,23 @@ +' . esc_html__( 'Pinterest settings', 'wordpress-seo' ) . ''; + +printf( '

    %s

    ', __( 'Pinterest uses Open Graph metadata just like Facebook, so be sure to keep the Open Graph checkbox on the Facebook tab checked if you want to optimize your site for Pinterest.', 'wordpress-seo' ) ); +printf( '

    %s

    ', __( 'If you have already confirmed your website with Pinterest, you can skip the step below.', 'wordpress-seo' ) ); + +/* translators: %1$s / %2$s expands to a link to pinterest.com's help page. */ +$p = sprintf( __( 'To %1$sconfirm your site with Pinterest%2$s, add the meta tag here:', 'wordpress-seo' ), '', '' ); +printf( '

    %s

    ', $p ); + +$yform->textinput( 'pinterestverify', __( 'Pinterest confirmation', 'wordpress-seo' ) ); + +do_action( 'wpseo_admin_pinterest_section' ); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/social/twitterbox.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/social/twitterbox.php new file mode 100644 index 00000000..9bc06bb4 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/social/twitterbox.php @@ -0,0 +1,24 @@ +' . esc_html__( 'Twitter settings', 'wordpress-seo' ) . ''; + +$yform->light_switch( 'twitter', __( 'Add Twitter card meta data', 'wordpress-seo' ) ); + +/* translators: %s expands to <head> */ +$p = sprintf( __( 'Add Twitter card meta data to your site\'s %s section.', 'wordpress-seo' ), '<head>' ); +printf( '

    %s

    ', $p ); + +echo '
    '; + +$yform->select( 'twitter_card_type', __( 'The default card type to use', 'wordpress-seo' ), WPSEO_Option_Social::$twitter_card_types ); + +do_action( 'wpseo_admin_twitter_section' ); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/tool/import-seo.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/tool/import-seo.php new file mode 100644 index 00000000..3c46952f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/tool/import-seo.php @@ -0,0 +1,40 @@ + +

    + +

    ', '' ); +?>

    + +
    + checkbox( 'importheadspace', __( 'Import from HeadSpace2', 'wordpress-seo' ) ); + $yform->checkbox( 'importaioseo', __( 'Import from All-in-One SEO', 'wordpress-seo' ) ); + $yform->checkbox( 'importjetpackseo', __( 'Import from Jetpack SEO', 'wordpress-seo' ) ); + $yform->checkbox( 'importwoo', __( 'Import from WooThemes SEO framework', 'wordpress-seo' ) ); + $yform->checkbox( 'importwpseo', __( 'Import from wpSEO', 'wordpress-seo' ) ); + + do_action( 'wpseo_import_other_plugins' ); + ?> +
    + checkbox( 'deleteolddata', __( 'Delete the old data after import? (recommended)', 'wordpress-seo' ) ); + ?> +
    + +
    diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/tool/wpseo-export.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/tool/wpseo-export.php new file mode 100644 index 00000000..418f40e9 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/tool/wpseo-export.php @@ -0,0 +1,26 @@ +

    +
    + checkbox( 'include_taxonomy_meta', __( 'Include Taxonomy Metadata', 'wordpress-seo' ) ); ?>
    + + +
    diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/tool/wpseo-import.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/tool/wpseo-import.php new file mode 100644 index 00000000..2e7fc1ad --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tabs/tool/wpseo-import.php @@ -0,0 +1,26 @@ + +

    settings.zip and clicking "Import settings"', 'wordpress-seo' ); ?>

    + +
    + + + +
    +
    + +
    diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tool-bulk-editor.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tool-bulk-editor.php new file mode 100644 index 00000000..0dcef85c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tool-bulk-editor.php @@ -0,0 +1,88 @@ +set_screen_reader_content( array( + 'heading_views' => __( 'Filter posts list', 'wordpress-seo' ), + 'heading_pagination' => __( 'Posts list navigation', 'wordpress-seo' ), + 'heading_list' => __( 'Posts list', 'wordpress-seo' ), +) ); + +// If type is empty, fill it with value of first tab (title). +$_GET['type'] = ( ! empty( $_GET['type'] ) ) ? $_GET['type'] : 'title'; + +if ( ! empty( $_REQUEST['_wp_http_referer'] ) ) { + wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), stripslashes( $_SERVER['REQUEST_URI'] ) ) ); + exit; +} + +/** + * Outputs a help center. + */ +function render_help_center() { + $tabs = new WPSEO_Option_Tabs( '', '' ); + $tabs->add_tab( new WPSEO_Option_Tab( 'title', __( 'Bulk editor', 'wordpress-seo' ), + array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-tools-bulk-editor' ) ) ) ); + + $tabs->add_tab( new WPSEO_Option_Tab( 'description', __( 'Bulk editor', 'wordpress-seo' ), + array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-tools-bulk-editor' ) ) ) ); + + $helpcenter = new WPSEO_Help_Center( '', $tabs, WPSEO_Utils::is_yoast_seo_premium() ); + $helpcenter->localize_data(); + $helpcenter->mount(); +} + +/** + * Renders a bulk editor tab. + * + * @param WPSEO_Bulk_List_Table $table The table to render. + * @param string $id The id for the tab. + */ +function get_rendered_tab( $table, $id ) { + ?> +
    + show_page(); + ?> +
    + + + +

    + +
    + + + + + +
    + + +
    +
    diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tool-file-editor.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tool-file-editor.php new file mode 100644 index 00000000..759491db --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tool-file-editor.php @@ -0,0 +1,151 @@ +

    ', esc_html( $msg ), '

    '; +} + +if ( is_multisite() ) { + $action_url = network_admin_url( 'admin.php?page=wpseo_files' ); +} +else { + $action_url = admin_url( 'admin.php?page=wpseo_tools&tool=file-editor' ); +} + +echo '

    '; +$helpcenter_tab = new WPSEO_Option_Tab( 'bulk-editor', 'Bulk editor', + array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-tools-file-editor' ) ) ); + +$helpcenter = new WPSEO_Help_Center( 'bulk-editor', $helpcenter_tab, WPSEO_Utils::is_yoast_seo_premium() ); +$helpcenter->localize_data(); +$helpcenter->mount(); + +echo '

    ', __( 'Robots.txt', 'wordpress-seo' ), '

    '; + + +if ( ! file_exists( $robots_file ) ) { + if ( is_writable( get_home_path() ) ) { + echo '
    '; + wp_nonce_field( 'wpseo_create_robots', '_wpnonce', true, true ); + echo '

    ', __( 'You don\'t have a robots.txt file, create one here:', 'wordpress-seo' ), '

    '; + echo ''; + echo '
    '; + } + else { + echo '

    ', __( 'If you had a robots.txt file and it was editable, you could edit it from here.', 'wordpress-seo' ), '

    '; + } +} +else { + $f = fopen( $robots_file, 'r' ); + + $content = ''; + if ( filesize( $robots_file ) > 0 ) { + $content = fread( $f, filesize( $robots_file ) ); + } + $robots_txt_content = esc_textarea( $content ); + + if ( ! is_writable( $robots_file ) ) { + echo '

    ', __( 'If your robots.txt were writable, you could edit it from here.', 'wordpress-seo' ), '

    '; + echo '
    '; + } + else { + echo '
    '; + wp_nonce_field( 'wpseo-robotstxt', '_wpnonce', true, true ); + echo '

    '; + echo '
    '; + echo '
    '; + echo '
    '; + } +} +if ( ( isset( $_SERVER['SERVER_SOFTWARE'] ) && stristr( $_SERVER['SERVER_SOFTWARE'], 'nginx' ) === false ) ) { + + echo '

    ', __( '.htaccess file', 'wordpress-seo' ), '

    '; + + if ( file_exists( $ht_access_file ) ) { + $f = fopen( $ht_access_file, 'r' ); + + $contentht = ''; + if ( filesize( $ht_access_file ) > 0 ) { + $contentht = fread( $f, filesize( $ht_access_file ) ); + } + $contentht = esc_textarea( $contentht ); + + if ( ! is_writable( $ht_access_file ) ) { + echo '

    ', __( 'If your .htaccess were writable, you could edit it from here.', 'wordpress-seo' ), '

    '; + echo '
    '; + } + else { + echo '
    '; + wp_nonce_field( 'wpseo-htaccess', '_wpnonce', true, true ); + echo '

    '; + echo '
    '; + echo '
    '; + echo '
    '; + } + } + else { + echo '

    ', __( 'If you had a .htaccess file and it was editable, you could edit it from here.', 'wordpress-seo' ), '

    '; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/tool-import-export.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/tool-import-export.php new file mode 100644 index 00000000..21e74c31 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/tool-import-export.php @@ -0,0 +1,144 @@ +import_headspace(); + } + + if ( ! empty( $post_wpseo['importjetpackseo'] ) || filter_input( INPUT_GET, 'importjetpackseo' ) ) { + $import = new WPSEO_Import_Jetpack_SEO( $replace ); + } + + if ( ! empty( $post_wpseo['importwpseo'] ) || filter_input( INPUT_GET, 'importwpseo' ) ) { + $import = new WPSEO_Import_WPSEO( $replace ); + } +} + +if ( isset( $_FILES['settings_import_file'] ) ) { + check_admin_referer( 'wpseo-import-file' ); + + $import = new WPSEO_Import(); +} + +/** + * Allow custom import actions. + * + * @api bool|object $import Contains info about the handled import + */ +$import = apply_filters( 'wpseo_handle_import', $import ); + +if ( $import ) { + /** + * Allow customization of import&export message + * + * @api string $msg The message. + */ + $msg = apply_filters( 'wpseo_import_message', isset( $import->msg ) ? $import->msg : '' ); + + if ( $msg != '' ) { + // Check if we've deleted old data and adjust message to match it. + if ( $replace ) { + $msg .= ' ' . __( 'The old data of the imported plugin was deleted successfully.', 'wordpress-seo' ); + } + + $status = ( $import->success ) ? 'updated' : 'error'; + + echo '

    ', $msg, '

    '; + } +} + +$tabs = array( + 'wpseo-import' => array( + 'label' => __( 'Import settings', 'wordpress-seo' ), + 'screencast_video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-tools-import-export' ), + ), + 'wpseo-export' => array( + 'label' => __( 'Export settings', 'wordpress-seo' ), + 'screencast_video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-tools-import-export' ), + ), + 'import-seo' => array( + 'label' => __( 'Import from other SEO plugins', 'wordpress-seo' ), + 'screencast_video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-tools-import-export' ), + ), +); + +?> +

    + + + + $tab ) { + if ( ! empty( $tab['screencast_video_url'] ) ) { + $tab_video_url = $tab['screencast_video_url']; + + $helpcenter_tab = new WPSEO_Option_Tab( $identifier, $tab['label'], + array( 'video_url' => $tab['screencast_video_url'] ) ); + } + + $helpcenter_tabs->add_tab( $helpcenter_tab ); +} + +$helpcenter = new WPSEO_Help_Center( '', $helpcenter_tabs, WPSEO_Utils::is_yoast_seo_premium() ); +$helpcenter->localize_data(); +$helpcenter->mount(); + +foreach ( $tabs as $identifier => $tab ) { + printf( '
    ', $identifier ); + require_once WPSEO_PATH . 'admin/views/tabs/tool/' . $identifier . '.php'; + echo '
    '; +} + +/** + * Allow adding a custom import tab + */ +do_action( 'wpseo_import_tab_content' ); diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/views/user-profile.php b/pole-sbv-content/plugins/wordpress-seo/admin/views/user-profile.php new file mode 100644 index 00000000..2d9a7a3b --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/views/user-profile.php @@ -0,0 +1,53 @@ + + +
    + +

    + + +
    + + +
    + + + +
    + + ID ) === 'on' ) ? 'checked' : ''; ?> /> +
    + + + ID ) === 'on' ) ? 'checked' : ''; ?> /> +
    +

    + +

    + + + + ID ) === 'on' ) ? 'checked' : ''; ?> /> +
    +

    + +

    + +
    diff --git a/pole-sbv-content/plugins/wordpress-seo/admin/watchers/class-slug-change-watcher.php b/pole-sbv-content/plugins/wordpress-seo/admin/watchers/class-slug-change-watcher.php new file mode 100644 index 00000000..a2fe80dd --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/admin/watchers/class-slug-change-watcher.php @@ -0,0 +1,116 @@ +enqueue_script( 'quick-edit-handler' ); + } + + /** + * Detects if the slug changed, hooked into 'post_updated'. + * + * @param integer $post_id The ID of the post. Unused. + * @param WP_Post $post The post with the new values. + * @param WP_Post $post_before The post with the previous values. + * + * @return void + */ + public function detect_slug_change( $post_id, $post, $post_before ) { + // If post is a revision do not advise creating a redirect. + if ( wp_is_post_revision( $post_before ) && wp_is_post_revision( $post ) ) { + return; + } + + // There is no slug change. + if ( $post->post_name === $post_before->post_name ) { + return; + } + + // If the post URL wasn't visible before, or isn't visible now, don't advise creating a redirect. + if ( ! $this->check_visible_post_status( $post_before->post_status ) || ! $this->check_visible_post_status( $post->post_status ) ) { + return; + } + + $post_type_object = get_post_type_object( $post->post_type ); + + // If the post type of this post wasn't registered default back to post. + if ( $post_type_object === null ) { + $post_type_object = get_post_type_object( 'post' ); + } + + $this->add_notification( $post_type_object->labels->singular_name ); + } + + /** + * Checks whether the given post status is visible or not. + * + * @param string $post_status The post status to check. + * + * @return bool Whether or not the post is visible. + */ + protected function check_visible_post_status( $post_status ) { + $visible_post_statuses = array( + 'publish', + 'static', + 'private', + ); + + return in_array( $post_status, $visible_post_statuses, true ); + } + + /** + * Adds a notification to be shown on the next page request since posts are updated in an ajax request. + * + * @param string $post_type_label The singular_name label from a post_type_object. + * + * @return void + */ + protected function add_notification( $post_type_label ) { + $notification = new Yoast_Notification( + sprintf( + /* translators: %1$s expands to the translated name of the post type, %2$s expands to the anchor opening tag, %3$s to the anchor closing tag. */ + __( + 'You just changed the URL of this %1$s. To ensure your visitors do not see a 404 on the old URL, you should create a redirect. %2$sLearn how to create redirects here.%3$s', + 'wordpress-seo' + ), + $post_type_label, + '', + '' + ), array( 'type' => 'notice-info' ) + ); + + $notification_center = Yoast_Notification_Center::get(); + $notification_center->add_notification( $notification ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/admin-global-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/admin-global-571-rtl.min.css new file mode 100644 index 00000000..4422218c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/admin-global-571-rtl.min.css @@ -0,0 +1 @@ +.wpseo-premium-indicator{display:inline-block;width:1px;height:1px}#adminmenu .wpseo-premium-indicator{margin:-2px 2px -3px 0;color:inherit}.wpseo-premium-indicator svg{display:none;width:auto;height:100%}.yoast-tooltip{position:relative}.yoast-tooltip::after,.yoast-tooltip::before{display:none;position:absolute;opacity:0;pointer-events:none}button.yoast-tooltip{overflow:visible}.yoast-tooltip::after{z-index:1000000;padding:6px 8px 5px;border-radius:3px;color:#fff;background:rgba(0,0,0,.8);text-shadow:none;font:normal normal 11px/1.45454545 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";text-align:center;white-space:pre;text-decoration:none;letter-spacing:normal;text-transform:none;word-wrap:break-word;content:attr(aria-label);-webkit-font-smoothing:subpixel-antialiased}.yoast-tooltip-alt::after{content:attr(data-label)}.yoast-tooltip::before{z-index:1000001;width:0;height:0;border:5px solid transparent;color:rgba(0,0,0,.8);content:"\00a0"}@keyframes yoast-tooltip-appear{from{opacity:0}to{opacity:1}}.yoast-tooltip:active::after,.yoast-tooltip:active::before,.yoast-tooltip:focus::after,.yoast-tooltip:focus::before,.yoast-tooltip:hover::after,.yoast-tooltip:hover::before{display:inline-block;text-decoration:none;animation-name:yoast-tooltip-appear;animation-duration:.1s;animation-timing-function:ease-in;animation-delay:.4s;animation-fill-mode:forwards}.yoast-tooltip-no-delay:active::after,.yoast-tooltip-no-delay:active::before,.yoast-tooltip-no-delay:focus::after,.yoast-tooltip-no-delay:focus::before,.yoast-tooltip-no-delay:hover::after,.yoast-tooltip-no-delay:hover::before{opacity:1;animation:none}.yoast-tooltip-multiline:active::after,.yoast-tooltip-multiline:focus::after,.yoast-tooltip-multiline:hover::after{display:table-cell}.yoast-tooltip-s::after,.yoast-tooltip-se::after,.yoast-tooltip-sw::after{top:100%;left:50%;margin-top:5px}.yoast-tooltip-s::before,.yoast-tooltip-se::before,.yoast-tooltip-sw::before{top:auto;left:50%;bottom:-5px;margin-left:-5px;border-bottom-color:rgba(0,0,0,.8)}.yoast-tooltip-se::after{left:auto;right:50%;margin-right:-15px}.yoast-tooltip-sw::after{margin-left:-15px}.yoast-tooltip-n::after,.yoast-tooltip-ne::after,.yoast-tooltip-nw::after{left:50%;bottom:100%;margin-bottom:5px}.yoast-tooltip-n::before,.yoast-tooltip-ne::before,.yoast-tooltip-nw::before{top:-5px;left:50%;bottom:auto;margin-left:-5px;border-top-color:rgba(0,0,0,.8)}.yoast-tooltip-ne::after{left:auto;right:50%;margin-right:-15px}.yoast-tooltip-nw::after{margin-left:-15px}.yoast-tooltip-n::after,.yoast-tooltip-s::after{-ms-transform:translateX(-50%);transform:translateX(-50%)}.yoast-tooltip-w::after{left:100%;bottom:50%;margin-left:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-w::before{top:50%;bottom:50%;right:-5px;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.yoast-tooltip-e::after{bottom:50%;right:100%;margin-right:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-e::before{top:50%;left:-5px;bottom:50%;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.yoast-tooltip-multiline::after{width:250px;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;border-collapse:separate;white-space:pre-line;word-wrap:normal;word-break:break-word}.yoast-tooltip-multiline.yoast-tooltip-n::after,.yoast-tooltip-multiline.yoast-tooltip-s::after{left:auto;right:50%;-ms-transform:translateX(50%);transform:translateX(50%)}.yoast-tooltip-multiline.yoast-tooltip-e::after,.yoast-tooltip-multiline.yoast-tooltip-w::after{left:100%}@media screen and (min-width:0\0){.yoast-tooltip-multiline::after{width:250px}}.yoast-tooltip-sticky::after,.yoast-tooltip-sticky::before{display:inline-block}.yoast-tooltip-sticky.yoast-tooltip-multiline::after{display:table-cell}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-moz-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.yoast-tooltip-w::after{margin-left:4.5px}}.yoast-tooltip.yoast-tooltip-hidden::after,.yoast-tooltip.yoast-tooltip-hidden::before{display:none}.yoast-measure{max-width:600px}#TB_window .wpseo_content_wrapper p{font-size:14px;font-style:normal}#TB_window .wpseo_content_wrapper label{margin:0 0 0 10px;font-size:14px;font-weight:600}.wpseo-premium-popup-title{margin:1em 0!important;padding:0!important;font-size:1.3em!important;font-weight:600!important}.wpseo-premium-popup-icon{margin:10px}.edit-tags-php .column-description img{max-width:100%;height:auto}.select2-search__field{margin:0}.select2-results__option,.select2-search--inline,.select2-selection__choice{margin-bottom:0}.select2-container .select2-search--inline .select2-search__field{margin-top:6px!important;line-height:inherit}.yoast-label-strong{font-weight:600}.yoast-video-container-max-width{max-width:560px}.yoast-video-container{overflow:hidden;position:relative;height:0;padding-bottom:56.25%}.yoast-video-container iframe{position:absolute;top:0;right:0;width:100%;height:100%}.yoast-settings{margin-bottom:2em;padding-right:220px}.yoast-settings h2{margin-bottom:0;margin-right:-220px}.yoast-settings label{display:inline-block;width:200px;margin-left:6px;margin-right:-220px;padding-top:4px;padding-left:10px;color:#23282d;font-size:14px;font-weight:600;line-height:1.3;vertical-align:top}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio,.yoast-settings fieldset,.yoast-settings input[type=text],.yoast-settings label,.yoast-settings select,.yoast-settings textarea{margin-top:2em;margin-bottom:.5em}.yoast-settings__textarea--medium{width:100%;max-width:600px}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{position:relative;top:1px;vertical-align:top}.yoast-settings__group--checkbox,.yoast-settings__group--radio{padding-top:1em}.yoast-settings__group--checkbox .yoast-settings__checkbox,.yoast-settings__group--radio .yoast-settings__radio{margin:0 0 10px 4px}.yoast-settings__checkbox+label,.yoast-settings__radio+label{width:auto;max-width:calc(100% - 25px);margin-left:0;margin-right:0;padding:0}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{margin-top:0;margin-bottom:10px;font-weight:400}.yoast-settings legend{color:#23282d;font-size:14px;font-weight:600}.yoast-settings .description{margin-top:0;font-size:14px}td .wpseo-score-icon{display:inline-block;width:12px;height:12px;margin-right:5px;border-radius:50%;background:#888;line-height:16px;margin-top:3px}.fixed th.column-wpseo-linked,.fixed th.column-wpseo-links,.fixed th.column-wpseo-score,.fixed th.column-wpseo-score-readability{width:3em;padding:0}th.column-wpseo-linked a,th.column-wpseo-links a,th.column-wpseo-score .yoast-tooltip,th.column-wpseo-score-readability .yoast-tooltip{display:inline-block;overflow:visible;padding:8px 0;vertical-align:middle}th.column-wpseo-score .yoast-tooltip,th.column-wpseo-score-readability .yoast-tooltip{padding:8px 11px}.column-wpseo-links .yoast-tooltip-multiline::after{width:999px;max-width:160px}.column-wpseo-linked .yoast-tooltip-multiline::after{width:999px;max-width:170px}.yoast-column-header-has-tooltip{position:relative}.manage-column .yoast-column-header-has-tooltip:before{display:inline-block;width:20px;height:20px;padding:0;color:#444;vertical-align:top;text-decoration:none!important;content:""}.manage-column .yoast-linked-to:before{background:url(../../images/link-out-icon.svg) 100% 0 no-repeat;background-size:20px}.manage-column .yoast-linked-from:before{background:url(../../images/link-in-icon.svg) 100% 0 no-repeat;background-size:20px}.manage-column .yoast-column-seo-score:before{background:url(../../images/Yoast_SEO_negative_icon.svg) 100% 0 no-repeat;background-size:20px}.manage-column .yoast-column-readability:before{background:url(../../images/readability-icon.svg) 100% 0 no-repeat;background-size:20px}td.column-wpseo-linked,td.column-wpseo-links{word-wrap:normal}#screen-meta .yoast-column-header-has-tooltip .screen-reader-text{visibility:visible;position:static;width:auto;height:auto}@media screen and (max-width:782px){.yoast-settings{padding-right:0}.yoast-settings h2{margin-right:0}.yoast-settings label{width:auto;margin-left:0;margin-right:0;padding:0}.yoast .yoast-settings__radio,.yoast-settings__radio+label{margin-bottom:1em}.yoast-settings__checkbox+label,.yoast-settings__radio+label{max-width:calc(100% - 35px);padding-top:8px}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{padding-top:4px}.yoast-settings input[type=text],.yoast-settings select,.yoast-settings textarea{display:block;box-sizing:border-box;width:100%;max-width:none;margin-top:0;margin-bottom:0;padding:7px 10px;line-height:1.5}}#yoast-help-center-container{margin:16px 0 24px}.react-tabs__tab-panel{max-width:900px;margin:0 auto}.react-tabs__tab-panel li{max-width:none!important}.yoast-help-center-open #sidebar-container{display:none}.contact-premium-support-container{text-align:center}.wpseo-premium-description{margin-top:.5em}.wpseo-premium-advantages-list{padding-right:1.5em;list-style:disc} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/admin-global-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/admin-global-571.min.css new file mode 100644 index 00000000..6c41f728 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/admin-global-571.min.css @@ -0,0 +1 @@ +.wpseo-premium-indicator{display:inline-block;width:1px;height:1px}#adminmenu .wpseo-premium-indicator{margin:-2px 0 -3px 2px;color:inherit}.wpseo-premium-indicator svg{display:none;width:auto;height:100%}.yoast-tooltip{position:relative}.yoast-tooltip::after,.yoast-tooltip::before{display:none;position:absolute;opacity:0;pointer-events:none}button.yoast-tooltip{overflow:visible}.yoast-tooltip::after{z-index:1000000;padding:6px 8px 5px;border-radius:3px;color:#fff;background:rgba(0,0,0,.8);text-shadow:none;font:normal normal 11px/1.45454545 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";text-align:center;white-space:pre;text-decoration:none;letter-spacing:normal;text-transform:none;word-wrap:break-word;content:attr(aria-label);-webkit-font-smoothing:subpixel-antialiased}.yoast-tooltip-alt::after{content:attr(data-label)}.yoast-tooltip::before{z-index:1000001;width:0;height:0;border:5px solid transparent;color:rgba(0,0,0,.8);content:"\00a0"}@keyframes yoast-tooltip-appear{from{opacity:0}to{opacity:1}}.yoast-tooltip:active::after,.yoast-tooltip:active::before,.yoast-tooltip:focus::after,.yoast-tooltip:focus::before,.yoast-tooltip:hover::after,.yoast-tooltip:hover::before{display:inline-block;text-decoration:none;animation-name:yoast-tooltip-appear;animation-duration:.1s;animation-timing-function:ease-in;animation-delay:.4s;animation-fill-mode:forwards}.yoast-tooltip-no-delay:active::after,.yoast-tooltip-no-delay:active::before,.yoast-tooltip-no-delay:focus::after,.yoast-tooltip-no-delay:focus::before,.yoast-tooltip-no-delay:hover::after,.yoast-tooltip-no-delay:hover::before{opacity:1;animation:none}.yoast-tooltip-multiline:active::after,.yoast-tooltip-multiline:focus::after,.yoast-tooltip-multiline:hover::after{display:table-cell}.yoast-tooltip-s::after,.yoast-tooltip-se::after,.yoast-tooltip-sw::after{top:100%;right:50%;margin-top:5px}.yoast-tooltip-s::before,.yoast-tooltip-se::before,.yoast-tooltip-sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.yoast-tooltip-se::after{right:auto;left:50%;margin-left:-15px}.yoast-tooltip-sw::after{margin-right:-15px}.yoast-tooltip-n::after,.yoast-tooltip-ne::after,.yoast-tooltip-nw::after{right:50%;bottom:100%;margin-bottom:5px}.yoast-tooltip-n::before,.yoast-tooltip-ne::before,.yoast-tooltip-nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.yoast-tooltip-ne::after{right:auto;left:50%;margin-left:-15px}.yoast-tooltip-nw::after{margin-right:-15px}.yoast-tooltip-n::after,.yoast-tooltip-s::after{-ms-transform:translateX(50%);transform:translateX(50%)}.yoast-tooltip-w::after{right:100%;bottom:50%;margin-right:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.yoast-tooltip-e::after{bottom:50%;left:100%;margin-left:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.yoast-tooltip-multiline::after{width:250px;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;border-collapse:separate;white-space:pre-line;word-wrap:normal;word-break:break-word}.yoast-tooltip-multiline.yoast-tooltip-n::after,.yoast-tooltip-multiline.yoast-tooltip-s::after{right:auto;left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%)}.yoast-tooltip-multiline.yoast-tooltip-e::after,.yoast-tooltip-multiline.yoast-tooltip-w::after{right:100%}@media screen and (min-width:0\0){.yoast-tooltip-multiline::after{width:250px}}.yoast-tooltip-sticky::after,.yoast-tooltip-sticky::before{display:inline-block}.yoast-tooltip-sticky.yoast-tooltip-multiline::after{display:table-cell}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-moz-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.yoast-tooltip-w::after{margin-right:4.5px}}.yoast-tooltip.yoast-tooltip-hidden::after,.yoast-tooltip.yoast-tooltip-hidden::before{display:none}.yoast-measure{max-width:600px}#TB_window .wpseo_content_wrapper p{font-size:14px;font-style:normal}#TB_window .wpseo_content_wrapper label{margin:0 10px 0 0;font-size:14px;font-weight:600}.wpseo-premium-popup-title{margin:1em 0!important;padding:0!important;font-size:1.3em!important;font-weight:600!important}.wpseo-premium-popup-icon{margin:10px}.edit-tags-php .column-description img{max-width:100%;height:auto}.select2-search__field{margin:0}.select2-results__option,.select2-search--inline,.select2-selection__choice{margin-bottom:0}.select2-container .select2-search--inline .select2-search__field{margin-top:6px!important;line-height:inherit}.yoast-label-strong{font-weight:600}.yoast-video-container-max-width{max-width:560px}.yoast-video-container{overflow:hidden;position:relative;height:0;padding-bottom:56.25%}.yoast-video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.yoast-settings{margin-bottom:2em;padding-left:220px}.yoast-settings h2{margin-bottom:0;margin-left:-220px}.yoast-settings label{display:inline-block;width:200px;margin-right:6px;margin-left:-220px;padding-top:4px;padding-right:10px;color:#23282d;font-size:14px;font-weight:600;line-height:1.3;vertical-align:top}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio,.yoast-settings fieldset,.yoast-settings input[type=text],.yoast-settings label,.yoast-settings select,.yoast-settings textarea{margin-top:2em;margin-bottom:.5em}.yoast-settings__textarea--medium{width:100%;max-width:600px}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{position:relative;top:1px;vertical-align:top}.yoast-settings__group--checkbox,.yoast-settings__group--radio{padding-top:1em}.yoast-settings__group--checkbox .yoast-settings__checkbox,.yoast-settings__group--radio .yoast-settings__radio{margin:0 4px 10px 0}.yoast-settings__checkbox+label,.yoast-settings__radio+label{width:auto;max-width:calc(100% - 25px);margin-right:0;margin-left:0;padding:0}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{margin-top:0;margin-bottom:10px;font-weight:400}.yoast-settings legend{color:#23282d;font-size:14px;font-weight:600}.yoast-settings .description{margin-top:0;font-size:14px}td .wpseo-score-icon{display:inline-block;width:12px;height:12px;margin-left:5px;border-radius:50%;background:#888;line-height:16px;margin-top:3px}.fixed th.column-wpseo-linked,.fixed th.column-wpseo-links,.fixed th.column-wpseo-score,.fixed th.column-wpseo-score-readability{width:3em;padding:0}th.column-wpseo-linked a,th.column-wpseo-links a,th.column-wpseo-score .yoast-tooltip,th.column-wpseo-score-readability .yoast-tooltip{display:inline-block;overflow:visible;padding:8px 0;vertical-align:middle}th.column-wpseo-score .yoast-tooltip,th.column-wpseo-score-readability .yoast-tooltip{padding:8px 11px}.column-wpseo-links .yoast-tooltip-multiline::after{width:999px;max-width:160px}.column-wpseo-linked .yoast-tooltip-multiline::after{width:999px;max-width:170px}.yoast-column-header-has-tooltip{position:relative}.manage-column .yoast-column-header-has-tooltip:before{display:inline-block;width:20px;height:20px;padding:0;color:#444;vertical-align:top;text-decoration:none!important;content:""}.manage-column .yoast-linked-to:before{background:url(../../images/link-out-icon.svg) no-repeat;background-size:20px}.manage-column .yoast-linked-from:before{background:url(../../images/link-in-icon.svg) no-repeat;background-size:20px}.manage-column .yoast-column-seo-score:before{background:url(../../images/Yoast_SEO_negative_icon.svg) no-repeat;background-size:20px}.manage-column .yoast-column-readability:before{background:url(../../images/readability-icon.svg) no-repeat;background-size:20px}td.column-wpseo-linked,td.column-wpseo-links{word-wrap:normal}#screen-meta .yoast-column-header-has-tooltip .screen-reader-text{visibility:visible;position:static;width:auto;height:auto}@media screen and (max-width:782px){.yoast-settings{padding-left:0}.yoast-settings h2{margin-left:0}.yoast-settings label{width:auto;margin-right:0;margin-left:0;padding:0}.yoast .yoast-settings__radio,.yoast-settings__radio+label{margin-bottom:1em}.yoast-settings__checkbox+label,.yoast-settings__radio+label{max-width:calc(100% - 35px);padding-top:8px}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{padding-top:4px}.yoast-settings input[type=text],.yoast-settings select,.yoast-settings textarea{display:block;box-sizing:border-box;width:100%;max-width:none;margin-top:0;margin-bottom:0;padding:7px 10px;line-height:1.5}}#yoast-help-center-container{margin:16px 0 24px}.react-tabs__tab-panel{max-width:900px;margin:0 auto}.react-tabs__tab-panel li{max-width:none!important}.yoast-help-center-open #sidebar-container{display:none}.contact-premium-support-container{text-align:center}.wpseo-premium-description{margin-top:.5em}.wpseo-premium-advantages-list{padding-left:1.5em;list-style:disc} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/adminbar-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/adminbar-571-rtl.min.css new file mode 100644 index 00000000..c69393ee --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/adminbar-571-rtl.min.css @@ -0,0 +1 @@ +.wpseo-score-icon{display:inline-block!important;float:right;width:12px!important;height:12px!important;border-radius:50%!important;background-color:#999}.wpseo-score-icon.good{background-color:#7ad03a}.wpseo-score-icon.ok{background-color:#ee7c1b}.wpseo-score-icon.bad{background-color:#dc3232}.wpseo-score-icon.na{background-color:#999}.wpseo-score-icon.noindex{background-color:#1e8cbe}.adminbar-seo-score{margin:10px 4px 0 10px!important}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{position:absolute;top:32px;right:0;min-width:300px;padding:2px 8px;border-radius:10px 0 10px 10px;color:#fff;background-color:#a4286a;box-shadow:-1px 1px 1px 1px grey}#wpadminbar .yoast-issue-added{display:none}#wpadminbar .yoast-issue-counter{display:inline;padding:1px 6px 1px 7px!important;border-radius:50%;color:#fff}.yoast-issue-counter{background-color:#d54e21}#wpadminbar .yoast-logo.svg{float:right;width:26px;height:30px;background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgc3R5bGU9ImZpbGw6IzgyODc4YyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxnPjxnPjxnPjxnPjxwYXRoIGQ9Ik0yMDMuNiwzOTVjNi44LTE3LjQsNi44LTM2LjYsMC01NGwtNzkuNC0yMDRoNzAuOWw0Ny43LDE0OS40bDc0LjgtMjA3LjZIMTE2LjRjLTQxLjgsMC03NiwzNC4yLTc2LDc2VjM1N2MwLDQxLjgsMzQuMiw3Niw3Niw3NkgxNzNDMTg5LDQyNC4xLDE5Ny42LDQxMC4zLDIwMy42LDM5NXoiLz48L2c+PGc+PHBhdGggZD0iTTQ3MS42LDE1NC44YzAtNDEuOC0zNC4yLTc2LTc2LTc2aC0zTDI4NS43LDM2NWMtOS42LDI2LjctMTkuNCw0OS4zLTMwLjMsNjhoMjE2LjJWMTU0Ljh6Ii8+PC9nPjwvZz48cGF0aCBzdHJva2Utd2lkdGg9IjIuOTc0IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik0zMzgsMS4zbC05My4zLDI1OS4xbC00Mi4xLTEzMS45aC04OS4xbDgzLjgsMjE1LjJjNiwxNS41LDYsMzIuNSwwLDQ4Yy03LjQsMTktMTksMzcuMy01Myw0MS45bC03LjIsMXY3Nmg4LjNjODEuNywwLDExOC45LTU3LjIsMTQ5LjYtMTQyLjlMNDMxLjYsMS4zSDMzOHogTTI3OS40LDM2MmMtMzIuOSw5Mi02Ny42LDEyOC43LTEyNS43LDEzMS44di00NWMzNy41LTcuNSw1MS4zLTMxLDU5LjEtNTEuMWM3LjUtMTkuMyw3LjUtNDAuNywwLTYwbC03NS0xOTIuN2g1Mi44bDUzLjMsMTY2LjhsMTA1LjktMjk0aDU4LjFMMjc5LjQsMzYyeiIvPjwvZz48L2c+PC9zdmc+);background-repeat:no-repeat;background-position:100% 6px;background-size:20px}#wpadminbar #wp-admin-bar-wpseo-licenses .ab-item{color:#f18500}@media screen and (max-width:782px){#wpadminbar #wp-admin-bar-wpseo-menu{display:block;position:static}#wpadminbar .yoast-logo.svg{width:52px;height:46px;background-position:50% 8px;background-size:30px}#wpadminbar .yoast-logo+.yoast-issue-counter{margin-right:-10px}#wpadminbar .ab-sub-wrapper .yoast-issue-counter{position:relative;top:-5px;vertical-align:text-top}#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-kwresearch,#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-settings{display:none}#wpadminbar .yoast-issue-added{top:46px}} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/adminbar-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/adminbar-571.min.css new file mode 100644 index 00000000..28543e00 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/adminbar-571.min.css @@ -0,0 +1 @@ +.wpseo-score-icon{display:inline-block!important;float:left;width:12px!important;height:12px!important;border-radius:50%!important;background-color:#999}.wpseo-score-icon.good{background-color:#7ad03a}.wpseo-score-icon.ok{background-color:#ee7c1b}.wpseo-score-icon.bad{background-color:#dc3232}.wpseo-score-icon.na{background-color:#999}.wpseo-score-icon.noindex{background-color:#1e8cbe}.adminbar-seo-score{margin:10px 10px 0 4px!important}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{position:absolute;top:32px;left:0;min-width:300px;padding:2px 8px;border-radius:0 10px 10px;color:#fff;background-color:#a4286a;box-shadow:1px 1px 1px 1px grey}#wpadminbar .yoast-issue-added{display:none}#wpadminbar .yoast-issue-counter{display:inline;padding:1px 7px 1px 6px!important;border-radius:50%;color:#fff}.yoast-issue-counter{background-color:#d54e21}#wpadminbar .yoast-logo.svg{float:left;width:26px;height:30px;background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgc3R5bGU9ImZpbGw6IzgyODc4YyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxnPjxnPjxnPjxnPjxwYXRoIGQ9Ik0yMDMuNiwzOTVjNi44LTE3LjQsNi44LTM2LjYsMC01NGwtNzkuNC0yMDRoNzAuOWw0Ny43LDE0OS40bDc0LjgtMjA3LjZIMTE2LjRjLTQxLjgsMC03NiwzNC4yLTc2LDc2VjM1N2MwLDQxLjgsMzQuMiw3Niw3Niw3NkgxNzNDMTg5LDQyNC4xLDE5Ny42LDQxMC4zLDIwMy42LDM5NXoiLz48L2c+PGc+PHBhdGggZD0iTTQ3MS42LDE1NC44YzAtNDEuOC0zNC4yLTc2LTc2LTc2aC0zTDI4NS43LDM2NWMtOS42LDI2LjctMTkuNCw0OS4zLTMwLjMsNjhoMjE2LjJWMTU0Ljh6Ii8+PC9nPjwvZz48cGF0aCBzdHJva2Utd2lkdGg9IjIuOTc0IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik0zMzgsMS4zbC05My4zLDI1OS4xbC00Mi4xLTEzMS45aC04OS4xbDgzLjgsMjE1LjJjNiwxNS41LDYsMzIuNSwwLDQ4Yy03LjQsMTktMTksMzcuMy01Myw0MS45bC03LjIsMXY3Nmg4LjNjODEuNywwLDExOC45LTU3LjIsMTQ5LjYtMTQyLjlMNDMxLjYsMS4zSDMzOHogTTI3OS40LDM2MmMtMzIuOSw5Mi02Ny42LDEyOC43LTEyNS43LDEzMS44di00NWMzNy41LTcuNSw1MS4zLTMxLDU5LjEtNTEuMWM3LjUtMTkuMyw3LjUtNDAuNywwLTYwbC03NS0xOTIuN2g1Mi44bDUzLjMsMTY2LjhsMTA1LjktMjk0aDU4LjFMMjc5LjQsMzYyeiIvPjwvZz48L2c+PC9zdmc+);background-repeat:no-repeat;background-position:0 6px;background-size:20px}#wpadminbar #wp-admin-bar-wpseo-licenses .ab-item{color:#f18500}@media screen and (max-width:782px){#wpadminbar #wp-admin-bar-wpseo-menu{display:block;position:static}#wpadminbar .yoast-logo.svg{width:52px;height:46px;background-position:50% 8px;background-size:30px}#wpadminbar .yoast-logo+.yoast-issue-counter{margin-left:-10px}#wpadminbar .ab-sub-wrapper .yoast-issue-counter{position:relative;top:-5px;vertical-align:text-top}#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-kwresearch,#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-settings{display:none}#wpadminbar .yoast-issue-added{top:46px}} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/alerts-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/alerts-571-rtl.min.css new file mode 100644 index 00000000..29529886 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/alerts-571-rtl.min.css @@ -0,0 +1 @@ +.yoast-alert{padding:0 12px;border-right:4px solid #fff;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}.yoast-alerts .yoast-alert-holder{margin-bottom:.8em}.yoast-alerts .yoast-alert{width:100%}.yoast-container__alert .yoast-alert{border-right-color:#dc3232}#yoast-alerts-dismissed .yoast-alert{border-right-color:#d93f69}.yoast-container__warning .yoast-alert{border-right-color:#5d237a}#yoast-warnings-dismissed .yoast-alert{border-right-color:#0075b3}.yoast-container{position:relative;max-width:1280px;margin:20px 0 1px;padding:20px 20px 0;border:1px solid #e5e5e5;background-color:#fdfdfd;box-shadow:0 1px 1px rgba(0,0,0,.04)}.yoast-alerts>h2:first-child{margin:0;padding:9px 0 4px;font-size:23px;font-weight:400;line-height:29px}.yoast-alerts .yoast-container h3{margin:-20px -20px 0;padding:1em;border-bottom:1px solid #ccc;background-color:#fdfdfd;font-size:1.4em}h3 .dashicons-warning{color:#dc3232}.yoast-container .container{max-width:980px}.yoast-container .yoast-alert-holder{display:-ms-flexbox;display:flex}.dismiss .dashicons,.restore .dashicons{width:24px;height:24px;font-size:24px}.yoast-bottom-spacing{margin-bottom:20px}.yoast-alerts .button.dismiss,.yoast-alerts .button.restore{width:45px;height:45px;margin-right:10px;padding:0;outline:0;line-height:inherit;cursor:pointer;-ms-flex:0 0 45px;flex:0 0 45px}.yoast-alerts .button.dismiss:focus,.yoast-alerts .button.dismiss:hover,.yoast-alerts .button.restore:focus,.yoast-alerts .button.restore:hover{background:0 0}.yoast-container .separator{margin-top:1em;margin-bottom:1em;border-top:1px solid #ddd}.yoast-container .dashicons-yes{color:#77b227}.yoast-container__warning .dashicons-flag{color:#5d237a}.yoast-container-disabled{display:table-cell;position:absolute;top:0;left:0;bottom:0;right:0;border-radius:4px;background-color:rgba(232,232,232,.7)}.yoast-no-issues{padding:1em 16px 1em 1em;color:#666}.yoast-muted-title{overflow:hidden;font-weight:600;font-style:italic}.yoast-muted-title:after{display:inline-block;width:100%;height:.5em;margin-left:-100%;margin-right:10px;border-top:1px solid #ddd;vertical-align:bottom;content:""} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/alerts-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/alerts-571.min.css new file mode 100644 index 00000000..84809b7f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/alerts-571.min.css @@ -0,0 +1 @@ +.yoast-alert{padding:0 12px;border-left:4px solid #fff;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}.yoast-alerts .yoast-alert-holder{margin-bottom:.8em}.yoast-alerts .yoast-alert{width:100%}.yoast-container__alert .yoast-alert{border-left-color:#dc3232}#yoast-alerts-dismissed .yoast-alert{border-left-color:#d93f69}.yoast-container__warning .yoast-alert{border-left-color:#5d237a}#yoast-warnings-dismissed .yoast-alert{border-left-color:#0075b3}.yoast-container{position:relative;max-width:1280px;margin:20px 0 1px;padding:20px 20px 0;border:1px solid #e5e5e5;background-color:#fdfdfd;box-shadow:0 1px 1px rgba(0,0,0,.04)}.yoast-alerts>h2:first-child{margin:0;padding:9px 0 4px;font-size:23px;font-weight:400;line-height:29px}.yoast-alerts .yoast-container h3{margin:-20px -20px 0;padding:1em;border-bottom:1px solid #ccc;background-color:#fdfdfd;font-size:1.4em}h3 .dashicons-warning{color:#dc3232}.yoast-container .container{max-width:980px}.yoast-container .yoast-alert-holder{display:-ms-flexbox;display:flex}.dismiss .dashicons,.restore .dashicons{width:24px;height:24px;font-size:24px}.yoast-bottom-spacing{margin-bottom:20px}.yoast-alerts .button.dismiss,.yoast-alerts .button.restore{width:45px;height:45px;margin-left:10px;padding:0;outline:0;line-height:inherit;cursor:pointer;-ms-flex:0 0 45px;flex:0 0 45px}.yoast-alerts .button.dismiss:focus,.yoast-alerts .button.dismiss:hover,.yoast-alerts .button.restore:focus,.yoast-alerts .button.restore:hover{background:0 0}.yoast-container .separator{margin-top:1em;margin-bottom:1em;border-top:1px solid #ddd}.yoast-container .dashicons-yes{color:#77b227}.yoast-container__warning .dashicons-flag{color:#5d237a}.yoast-container-disabled{display:table-cell;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:4px;background-color:rgba(232,232,232,.7)}.yoast-no-issues{padding:1em 1em 1em 16px;color:#666}.yoast-muted-title{overflow:hidden;font-weight:600;font-style:italic}.yoast-muted-title:after{display:inline-block;width:100%;height:.5em;margin-right:-100%;margin-left:10px;border-top:1px solid #ddd;vertical-align:bottom;content:""} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/dashboard-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/dashboard-571-rtl.min.css new file mode 100644 index 00000000..7bdf614b --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/dashboard-571-rtl.min.css @@ -0,0 +1 @@ +#yoast-seo-dashboard-widget h3{font-weight:700}#yoast-seo-dashboard-widget .assessments,#yoast-seo-dashboard-widget .score-assessments{padding-right:0}#yoast-seo-dashboard-widget .wordpress-feed{margin:16px -12px 0;padding:12px 12px 0;border-top:1px solid #eee}#yoast-seo-dashboard-widget .wordpress-feed .wordpress-feed__post{margin-top:12px}#yoast-seo-dashboard-widget .wordpress-feed .wordpress-feed__footer{margin:0 -12px;padding:4px 12px 0;border-top:1px solid #eee}#yoast-seo-ryte-assessment{margin:12px -12px 0;padding:12px 12px 0;border-top:1px solid #eee}#yoast-seo-ryte-assessment .button{margin-left:8px}#yoast-seo-ryte-assessment .button.landing-page{border-color:#7b1e4f #6f1b47 #6f1b47;color:#fff;background:#a4286a;box-shadow:0 1px 0 #6f1b47}#yoast-seo-ryte-assessment .button.landing-page:focus,#yoast-seo-ryte-assessment .button.landing-page:hover{border-color:#6f1b47;background:#90235d}#yoast-seo-ryte-assessment .button.landing-page:focus{box-shadow:0 1px 0 #7b1e4f,0 0 2px 1px #a35685}#yoast-seo-ryte-assessment .button.landing-page:active{border-color:#6f1b47;background:#7b1e4f;box-shadow:inset 0 2px 0 #6f1b47;vertical-align:top}#yoast-seo-dashboard-widget:empty:before{display:block;width:40px;height:40px;margin:25px auto;background-image:url(../../images/Yoast_SEO_Icon.svg);content:"";animation:rotate 2s infinite linear}@keyframes rotate{0%{-webkit-transform:perspective(120px) rotateX(0) rotateY(0);transform:perspective(120px) rotateX(0) rotateY(0)}100%{-webkit-transform:perspective(120px) rotateX(0) rotateY(360deg);transform:perspective(120px) rotateX(0) rotateY(360deg)}} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/dashboard-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/dashboard-571.min.css new file mode 100644 index 00000000..408b9312 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/dashboard-571.min.css @@ -0,0 +1 @@ +#yoast-seo-dashboard-widget h3{font-weight:700}#yoast-seo-dashboard-widget .assessments,#yoast-seo-dashboard-widget .score-assessments{padding-left:0}#yoast-seo-dashboard-widget .wordpress-feed{margin:16px -12px 0;padding:12px 12px 0;border-top:1px solid #eee}#yoast-seo-dashboard-widget .wordpress-feed .wordpress-feed__post{margin-top:12px}#yoast-seo-dashboard-widget .wordpress-feed .wordpress-feed__footer{margin:0 -12px;padding:4px 12px 0;border-top:1px solid #eee}#yoast-seo-ryte-assessment{margin:12px -12px 0;padding:12px 12px 0;border-top:1px solid #eee}#yoast-seo-ryte-assessment .button{margin-right:8px}#yoast-seo-ryte-assessment .button.landing-page{border-color:#7b1e4f #6f1b47 #6f1b47;color:#fff;background:#a4286a;box-shadow:0 1px 0 #6f1b47}#yoast-seo-ryte-assessment .button.landing-page:focus,#yoast-seo-ryte-assessment .button.landing-page:hover{border-color:#6f1b47;background:#90235d}#yoast-seo-ryte-assessment .button.landing-page:focus{box-shadow:0 1px 0 #7b1e4f,0 0 2px 1px #a35685}#yoast-seo-ryte-assessment .button.landing-page:active{border-color:#6f1b47;background:#7b1e4f;box-shadow:inset 0 2px 0 #6f1b47;vertical-align:top}#yoast-seo-dashboard-widget:empty:before{display:block;width:40px;height:40px;margin:25px auto;background-image:url(../../images/Yoast_SEO_Icon.svg);content:"";animation:rotate 2s infinite linear}@keyframes rotate{0%{-webkit-transform:perspective(120px) rotateX(0) rotateY(0);transform:perspective(120px) rotateX(0) rotateY(0)}100%{-webkit-transform:perspective(120px) rotateX(0) rotateY(360deg);transform:perspective(120px) rotateX(0) rotateY(360deg)}} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/edit-page-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/edit-page-571-rtl.min.css new file mode 100644 index 00000000..969f17a0 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/edit-page-571-rtl.min.css @@ -0,0 +1 @@ +.wpseo-score-icon.good{background-color:#7ad03a}.wpseo-score-icon.ok{background-color:#ee7c1b}.wpseo-score-icon.bad{background-color:#dc3232}.wpseo-score-icon.na{background-color:#888}.wpseo-score-icon.noindex{background-color:#1e8cbe}@media screen and (max-width:782px){.column-wpseo-focuskw,.column-wpseo-metadesc,.column-wpseo-score,.column-wpseo-title{display:none}} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/edit-page-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/edit-page-571.min.css new file mode 100644 index 00000000..969f17a0 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/edit-page-571.min.css @@ -0,0 +1 @@ +.wpseo-score-icon.good{background-color:#7ad03a}.wpseo-score-icon.ok{background-color:#ee7c1b}.wpseo-score-icon.bad{background-color:#dc3232}.wpseo-score-icon.na{background-color:#888}.wpseo-score-icon.noindex{background-color:#1e8cbe}@media screen and (max-width:782px){.column-wpseo-focuskw,.column-wpseo-metadesc,.column-wpseo-score,.column-wpseo-title{display:none}} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/featured-image-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/featured-image-571-rtl.min.css new file mode 100644 index 00000000..336c6100 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/featured-image-571-rtl.min.css @@ -0,0 +1 @@ +#yst_opengraph_image_warning{margin-top:0}.yoast-opengraph-image-notice #set-post-thumbnail>img{box-shadow:0 0 0 2px #fff,0 0 0 5px #dc3232} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/featured-image-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/featured-image-571.min.css new file mode 100644 index 00000000..336c6100 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/featured-image-571.min.css @@ -0,0 +1 @@ +#yst_opengraph_image_warning{margin-top:0}.yoast-opengraph-image-notice #set-post-thumbnail>img{box-shadow:0 0 0 2px #fff,0 0 0 5px #dc3232} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/filter-explanation-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/filter-explanation-571-rtl.min.css new file mode 100644 index 00000000..01b9a723 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/filter-explanation-571-rtl.min.css @@ -0,0 +1 @@ +#posts-filter .wpseo-filter-explanation{margin:10px 1px 5px} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/filter-explanation-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/filter-explanation-571.min.css new file mode 100644 index 00000000..01b9a723 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/filter-explanation-571.min.css @@ -0,0 +1 @@ +#posts-filter .wpseo-filter-explanation{margin:10px 1px 5px} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/help-center-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/help-center-571-rtl.min.css new file mode 100644 index 00000000..a72d21d7 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/help-center-571-rtl.min.css @@ -0,0 +1 @@ +.wpseo-tab-video-container{margin-bottom:20px;border-bottom:1px solid #a4286a}.yoast-help-center-open .wpseo-tab-video-container{border-bottom:none}.postbox .wpseo-tab-video-container{margin-left:-12px;margin-right:-12px}.wpseo-tab-video-container__handle{width:100%;margin:0;padding:10px 12px;border:none;outline:0;color:#a4286a;background:0 0;line-height:19px;text-align:right;cursor:pointer}.wpseo-tab-video-container__handle:focus,.wpseo-tab-video-container__handle:hover{text-decoration:underline}.wpseo-tab-video-container__handle .toggle__arrow,.wpseo-tab-video-slideout a.button,.wpseo-tab-video-slideout a.button-primary{text-decoration:none}.wpseo-tab-video-container__handle .dashicons-before:before{margin-left:5px}.wpseo-tab-video-container .wpseo-premium-popup{max-width:770px}.wpseo-tab-video-slideout{display:-ms-flexbox;display:flex;padding:2em 0;background-color:#a4286a;box-shadow:inset 0 10px 10px -5px rgba(123,30,80,.5),inset 0 -10px 10px -5px rgba(123,30,80,.5)}.wpseo-admin-page .wpseo-tab-video-slideout{border:1px solid #e5e5e5;border-top:0}.wpseo-tab-video-slideout.hidden{display:none}.wpseo-tab-video-slideout .yoast-help-center-tabs{padding:0 0 1em;color:#fff;background-color:#a4286a;-ms-flex:0 0 164px;flex:0 0 164px}.wpseo-tab-video-slideout .yoast-help-center-tabs ul{margin:0}.wpseo-tab-video-slideout .yoast-help-center-tabs-wrap{max-width:916px;padding:0;-ms-flex:0 1 916px;flex:0 1 916px}.wpseo-tab-video-slideout .yoast-help-tab-content{display:none;padding:0 12px;color:#fff;font-weight:300}.wpseo-tab-video-slideout .yoast-help-tab-content.active{display:block}.wpseo-tab-video-slideout .yoast-help-tab-content.active.yoast-help-tab-content-video{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.wpseo-tab-video-slideout .yoast-help-tab-content li{margin:2px 10px;list-style:disc inside}.wpseo-tab-video-slideout .wpseo-tab-video__panel--video{max-width:560px;margin-left:12px;padding-bottom:12px;-ms-flex:0 1 560px;flex:0 1 560px}.wpseo-tab-video-slideout .wpseo-tab-video__panel--video iframe{vertical-align:middle}.wpseo-tab-video-slideout .wpseo-tab-video__panel--text{min-width:220px;max-width:560px;-ms-flex:1 1 220px;flex:1 1 220px}.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea{margin:0 0 12px;padding:15px 15px 5px;border:1px solid #fff;border-radius:30px 30px 30px 0;color:#fff;background-color:#a4286a}.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea a,.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea a:focus,.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea a:hover{color:#fff;font-weight:500}.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea h3{margin:0}.wpseo-tab-video-slideout a{color:#fff}#wpseo_meta .wpseo-tab-video-slideout h2,.wpseo-tab-video-slideout h1,.wpseo-tab-video-slideout h2,.wpseo-tab-video-slideout h3,.wpseo-tab-video-slideout h4,.wpseo-tab-video-slideout h5,.wpseo-tab-video-slideout h6{margin-top:.5em;margin-bottom:1em;padding:0;color:#fff;font-size:1.3em;font-weight:400;line-height:1.4}.wpseo-help-center-item{display:inline}.wpseo-help-center-item a{display:block;padding:10px 12px;color:#fff;line-height:20px;text-decoration:none}.wpseo-help-center-item a:focus,.wpseo-help-center-item a:hover{text-decoration:underline}.wpseo-help-center-item a.dashicons-before:before{margin-left:3px;text-decoration:none}.wpseo-help-center-item.active a{color:#a4286a;background-color:#fff}@media screen and (max-width:1280px){.columns-2 .wpseo-tab-video-slideout .wpseo-tab-video__panel--video{margin-left:0}}@media screen and (max-width:1024px){.wpseo-tab-video-slideout .wpseo-tab-video__panel--video{margin-left:0;flex-basis:100%;-ms-flex-preferred-size:100%}.columns-2 .wpseo-tab-video-slideout{display:block}.columns-2 .wpseo-tab-video-slideout.hidden{display:none}.columns-2 .wpseo-tab-video-slideout .yoast-help-center-tabs{width:auto;padding-left:12px;padding-right:12px}.columns-2 .wpseo-tab-video-slideout .yoast-help-tab-content.active.yoast-help-tab-content-video{display:block;padding:0}.columns-2 .wpseo-tab-video-slideout .wpseo-tab-video__panel--video{max-width:none}.columns-2 .wpseo-tab-video-slideout .wpseo-tab-video__panel--text{max-width:none;padding:0 12px}.columns-2 .wpseo-help-center-item a{display:inline-block;margin:0 0 8px 4px;border:1px solid rgba(255,255,255,.5)}}@media screen and (max-width:782px){.wpseo-tab-video-slideout{display:block}.wpseo-tab-video-slideout .yoast-help-center-tabs{width:auto;padding-left:12px;padding-right:12px}.wpseo-tab-video-slideout .yoast-help-tab-content.active.yoast-help-tab-content-video{display:block;padding:0}.wpseo-tab-video-slideout .wpseo-tab-video__panel--video{max-width:none}.wpseo-tab-video-slideout .wpseo-tab-video__panel--text{max-width:none;padding:0 12px}.wpseo-help-center-item a{display:inline-block;margin:0 0 8px 4px;border:1px solid rgba(255,255,255,.5)}.wpseo-premium-popup-icon{display:none}} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/help-center-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/help-center-571.min.css new file mode 100644 index 00000000..227ce746 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/help-center-571.min.css @@ -0,0 +1 @@ +.wpseo-tab-video-container{margin-bottom:20px;border-bottom:1px solid #a4286a}.yoast-help-center-open .wpseo-tab-video-container{border-bottom:none}.postbox .wpseo-tab-video-container{margin-right:-12px;margin-left:-12px}.wpseo-tab-video-container__handle{width:100%;margin:0;padding:10px 12px;border:none;outline:0;color:#a4286a;background:0 0;line-height:19px;text-align:left;cursor:pointer}.wpseo-tab-video-container__handle:focus,.wpseo-tab-video-container__handle:hover{text-decoration:underline}.wpseo-tab-video-container__handle .toggle__arrow,.wpseo-tab-video-slideout a.button,.wpseo-tab-video-slideout a.button-primary{text-decoration:none}.wpseo-tab-video-container__handle .dashicons-before:before{margin-right:5px}.wpseo-tab-video-container .wpseo-premium-popup{max-width:770px}.wpseo-tab-video-slideout{display:-ms-flexbox;display:flex;padding:2em 0;background-color:#a4286a;box-shadow:inset 0 10px 10px -5px rgba(123,30,80,.5),inset 0 -10px 10px -5px rgba(123,30,80,.5)}.wpseo-admin-page .wpseo-tab-video-slideout{border:1px solid #e5e5e5;border-top:0}.wpseo-tab-video-slideout.hidden{display:none}.wpseo-tab-video-slideout .yoast-help-center-tabs{padding:0 0 1em;color:#fff;background-color:#a4286a;-ms-flex:0 0 164px;flex:0 0 164px}.wpseo-tab-video-slideout .yoast-help-center-tabs ul{margin:0}.wpseo-tab-video-slideout .yoast-help-center-tabs-wrap{max-width:916px;padding:0;-ms-flex:0 1 916px;flex:0 1 916px}.wpseo-tab-video-slideout .yoast-help-tab-content{display:none;padding:0 12px;color:#fff;font-weight:300}.wpseo-tab-video-slideout .yoast-help-tab-content.active{display:block}.wpseo-tab-video-slideout .yoast-help-tab-content.active.yoast-help-tab-content-video{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.wpseo-tab-video-slideout .yoast-help-tab-content li{margin:2px 10px;list-style:disc inside}.wpseo-tab-video-slideout .wpseo-tab-video__panel--video{max-width:560px;margin-right:12px;padding-bottom:12px;-ms-flex:0 1 560px;flex:0 1 560px}.wpseo-tab-video-slideout .wpseo-tab-video__panel--video iframe{vertical-align:middle}.wpseo-tab-video-slideout .wpseo-tab-video__panel--text{min-width:220px;max-width:560px;-ms-flex:1 1 220px;flex:1 1 220px}.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea{margin:0 0 12px;padding:15px 15px 5px;border:1px solid #fff;border-radius:30px 30px 0;color:#fff;background-color:#a4286a}.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea a,.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea a:focus,.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea a:hover{color:#fff;font-weight:500}.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea h3{margin:0}.wpseo-tab-video-slideout a{color:#fff}#wpseo_meta .wpseo-tab-video-slideout h2,.wpseo-tab-video-slideout h1,.wpseo-tab-video-slideout h2,.wpseo-tab-video-slideout h3,.wpseo-tab-video-slideout h4,.wpseo-tab-video-slideout h5,.wpseo-tab-video-slideout h6{margin-top:.5em;margin-bottom:1em;padding:0;color:#fff;font-size:1.3em;font-weight:400;line-height:1.4}.wpseo-help-center-item{display:inline}.wpseo-help-center-item a{display:block;padding:10px 12px;color:#fff;line-height:20px;text-decoration:none}.wpseo-help-center-item a:focus,.wpseo-help-center-item a:hover{text-decoration:underline}.wpseo-help-center-item a.dashicons-before:before{margin-right:3px;text-decoration:none}.wpseo-help-center-item.active a{color:#a4286a;background-color:#fff}@media screen and (max-width:1280px){.columns-2 .wpseo-tab-video-slideout .wpseo-tab-video__panel--video{margin-right:0}}@media screen and (max-width:1024px){.wpseo-tab-video-slideout .wpseo-tab-video__panel--video{margin-right:0;flex-basis:100%;-ms-flex-preferred-size:100%}.columns-2 .wpseo-tab-video-slideout{display:block}.columns-2 .wpseo-tab-video-slideout.hidden{display:none}.columns-2 .wpseo-tab-video-slideout .yoast-help-center-tabs{width:auto;padding-right:12px;padding-left:12px}.columns-2 .wpseo-tab-video-slideout .yoast-help-tab-content.active.yoast-help-tab-content-video{display:block;padding:0}.columns-2 .wpseo-tab-video-slideout .wpseo-tab-video__panel--video{max-width:none}.columns-2 .wpseo-tab-video-slideout .wpseo-tab-video__panel--text{max-width:none;padding:0 12px}.columns-2 .wpseo-help-center-item a{display:inline-block;margin:0 4px 8px 0;border:1px solid rgba(255,255,255,.5)}}@media screen and (max-width:782px){.wpseo-tab-video-slideout{display:block}.wpseo-tab-video-slideout .yoast-help-center-tabs{width:auto;padding-right:12px;padding-left:12px}.wpseo-tab-video-slideout .yoast-help-tab-content.active.yoast-help-tab-content-video{display:block;padding:0}.wpseo-tab-video-slideout .wpseo-tab-video__panel--video{max-width:none}.wpseo-tab-video-slideout .wpseo-tab-video__panel--text{max-width:none;padding:0 12px}.wpseo-help-center-item a{display:inline-block;margin:0 4px 8px 0;border:1px solid rgba(255,255,255,.5)}.wpseo-premium-popup-icon{display:none}} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/inside-editor-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/inside-editor-571-rtl.min.css new file mode 100644 index 00000000..d16fec52 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/inside-editor-571-rtl.min.css @@ -0,0 +1 @@ +.yoast-text-mark{background-color:#e1bee7}.yoast-text-mark__highlight{color:#fff;background-color:#4a148c} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/inside-editor-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/inside-editor-571.min.css new file mode 100644 index 00000000..d16fec52 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/inside-editor-571.min.css @@ -0,0 +1 @@ +.yoast-text-mark{background-color:#e1bee7}.yoast-text-mark__highlight{color:#fff;background-color:#4a148c} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/kb-search-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/kb-search-571-rtl.min.css new file mode 100644 index 00000000..36099215 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/kb-search-571-rtl.min.css @@ -0,0 +1 @@ +.wpseo-kb-search-search-bar{border-bottom:1px solid #ccc}.wpseo-kb-search-search-bar form{display:-ms-flexbox;display:flex;max-width:600px}.wpseo-kb-search-search-bar input[type=text]{margin:0 0 1em 7px;padding:0 5px 1px;font-size:13px;line-height:26px;-ms-flex:1 1 auto;flex:1 1 auto}.wpseo-kb-search-search-bar .wpseo-kb-search-search-button{margin:0 0 1em}.wpseo-kb-search-results{overflow:auto;height:500px;margin:0;padding:0;list-style:none}.yoast-help-tab-content .wpseo-kb-search-results li{max-width:none;margin:0;list-style:none}.wpseo-kb-search-result{display:block;margin:0;padding-right:5px;border-bottom:1px solid #efefef;text-decoration:none}.wpseo-kb-search-result p{max-width:none;margin-top:0}.wpseo-kb-search-result-link{display:block;outline:0;text-decoration:none;cursor:pointer}.wpseo-kb-search-result-link:focus,.wpseo-kb-search-result-link:hover{background-color:rgba(93,12,55,.5);box-shadow:none;text-decoration:underline}.wpseo-kb-search-result .wpseo-kb-search-result-title{margin:0;padding:14px 0}.wpseo-kb-search-ext-link{float:left}.wpseo-kb-search-back-button:before{content:"\f139"}.wpseo-kb-search-ext-link:before{content:"\f504"}.dashicon-button:before{display:inline-block;font-family:dashicons;font-size:20px;line-height:1.35em;vertical-align:middle}.wpseo-kb-search-navigation{z-index:10;padding:1em 0}.kb-search-content-frame{width:100%;height:543px;background:url("data:image/svg+xml;charset=utf-8,Loading article...") 100% 0 no-repeat}.wpseo-kb-loader,.wpseo-kb-loader:after,.wpseo-kb-loader:before{width:2.5em;height:2.5em;border-radius:50%;animation:load7 1.8s infinite ease-in-out;animation-fill-mode:both}.wpseo-kb-loader{position:relative;margin:80px auto;font-size:10px;text-indent:-9999em;-ms-transform:translateZ(0);transform:translateZ(0);animation-delay:-.16s}.wpseo-kb-loader:before{right:-3.5em;animation-delay:-.32s}.wpseo-kb-loader:after{right:3.5em}.wpseo-kb-loader:after,.wpseo-kb-loader:before{position:absolute;top:0;content:""}.dashicons{text-decoration:none}@keyframes load7{0%,100%,80%{box-shadow:0 2.5em 0 -1.3em}40%{box-shadow:0 2.5em 0 0}}@media screen and (max-width:782px){.wpseo-kb-search-search-bar input[type=text]{padding:6px 5px;font-size:14px;line-height:normal}}@media screen and (max-width:600px){.wpseo-kb-search-search-bar form{display:block;max-width:none}.wpseo-kb-search-search-bar input[type=text]{width:100%;margin-left:0}} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/kb-search-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/kb-search-571.min.css new file mode 100644 index 00000000..337e9463 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/kb-search-571.min.css @@ -0,0 +1 @@ +.wpseo-kb-search-search-bar{border-bottom:1px solid #ccc}.wpseo-kb-search-search-bar form{display:-ms-flexbox;display:flex;max-width:600px}.wpseo-kb-search-search-bar input[type=text]{margin:0 7px 1em 0;padding:0 5px 1px;font-size:13px;line-height:26px;-ms-flex:1 1 auto;flex:1 1 auto}.wpseo-kb-search-search-bar .wpseo-kb-search-search-button{margin:0 0 1em}.wpseo-kb-search-results{overflow:auto;height:500px;margin:0;padding:0;list-style:none}.yoast-help-tab-content .wpseo-kb-search-results li{max-width:none;margin:0;list-style:none}.wpseo-kb-search-result{display:block;margin:0;padding-left:5px;border-bottom:1px solid #efefef;text-decoration:none}.wpseo-kb-search-result p{max-width:none;margin-top:0}.wpseo-kb-search-result-link{display:block;outline:0;text-decoration:none;cursor:pointer}.wpseo-kb-search-result-link:focus,.wpseo-kb-search-result-link:hover{background-color:rgba(93,12,55,.5);box-shadow:none;text-decoration:underline}.wpseo-kb-search-result .wpseo-kb-search-result-title{margin:0;padding:14px 0}.wpseo-kb-search-ext-link{float:right}.wpseo-kb-search-back-button:before{content:"\f141"}.wpseo-kb-search-ext-link:before{content:"\f504"}.dashicon-button:before{display:inline-block;font-family:dashicons;font-size:20px;line-height:1.35em;vertical-align:middle}.wpseo-kb-search-navigation{z-index:10;padding:1em 0}.kb-search-content-frame{width:100%;height:543px;background:url("data:image/svg+xml;charset=utf-8,Loading article...") no-repeat}.wpseo-kb-loader,.wpseo-kb-loader:after,.wpseo-kb-loader:before{width:2.5em;height:2.5em;border-radius:50%;animation:load7 1.8s infinite ease-in-out;animation-fill-mode:both}.wpseo-kb-loader{position:relative;margin:80px auto;font-size:10px;text-indent:-9999em;-ms-transform:translateZ(0);transform:translateZ(0);animation-delay:-.16s}.wpseo-kb-loader:before{left:-3.5em;animation-delay:-.32s}.wpseo-kb-loader:after{left:3.5em}.wpseo-kb-loader:after,.wpseo-kb-loader:before{position:absolute;top:0;content:""}.dashicons{text-decoration:none}@keyframes load7{0%,100%,80%{box-shadow:0 2.5em 0 -1.3em}40%{box-shadow:0 2.5em 0 0}}@media screen and (max-width:782px){.wpseo-kb-search-search-bar input[type=text]{padding:6px 5px;font-size:14px;line-height:normal}}@media screen and (max-width:600px){.wpseo-kb-search-search-bar form{display:block;max-width:none}.wpseo-kb-search-search-bar input[type=text]{width:100%;margin-right:0}} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/metabox-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/metabox-571-rtl.min.css new file mode 100644 index 00000000..ebe9bdb2 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/metabox-571-rtl.min.css @@ -0,0 +1 @@ +.yoast-section{width:auto;max-width:640px}.snippet_container:after,.snippet_container:before{display:table;content:" "}.snippet_container:after{clear:both}.snippet-editor__view{clear:both;background:#fff}.snippet-editor__view-toggle{display:inline-block;margin-top:10px;margin-right:20px;border:1px solid #dbdbdb;border-radius:4px;background-color:#f7f7f7;vertical-align:top}.snippet-editor__view-icon{float:right;width:31px;height:31px;border:none;border-bottom:4px solid transparent;outline:0;background-color:transparent;background-repeat:no-repeat;background-position:center,center;cursor:pointer}.snippet-editor__view-icon:focus,.snippet-editor__view-icon:hover{border-color:#1074a8;background-color:#fff;transition:.15s color ease-in-out,.15s background-color ease-in-out,.15s border-color ease-in-out}.snippet-editor__view-icon--active{border-color:#555;transition:.15s color ease-in-out,.15s background-color ease-in-out,.15s border-color ease-in-out}.snippet-editor__view-icon.yoast-tooltip:before{bottom:-10px}.snippet-editor__view-icon.yoast-tooltip:after{margin-top:10px}.snippet-editor__view-icon-desktop{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M1728%20992v%2D832q0%2D13%2D9%2E5%2D22%2E5t%2D22%2E5%2D9%2E5h%2D1600q%2D13%200%2D22%2E5%209%2E5t%2D9%2E5%2022%2E5v832q0%2013%209%2E5%2022%2E5t22%2E5%209%2E5h1600q13%200%2022%2E5%2D9%2E5t9%2E5%2D22%2E5zm128%2D832v1088q0%2066%2D47%20113t%2D113%2047h%2D544q0%2037%2016%2077%2E5t32%2071%2016%2043%2E5q0%2026%2D19%2045t%2D45%2019h%2D512q%2D26%200%2D45%2D19t%2D19%2D45q0%2D14%2016%2D44t32%2D70%2016%2D78h%2D544q%2D66%200%2D113%2D47t%2D47%2D113v%2D1088q0%2D66%2047%2D113t113%2D47h1600q66%200%20113%2047t47%20113z%22%2F%3E%3C%2Fsvg%3E");background-size:18px}.snippet-editor__view-icon-desktop:focus,.snippet-editor__view-icon-desktop:hover{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%231074a8%22%20d%3D%22M1728%20992v%2D832q0%2D13%2D9%2E5%2D22%2E5t%2D22%2E5%2D9%2E5h%2D1600q%2D13%200%2D22%2E5%209%2E5t%2D9%2E5%2022%2E5v832q0%2013%209%2E5%2022%2E5t22%2E5%209%2E5h1600q13%200%2022%2E5%2D9%2E5t9%2E5%2D22%2E5zm128%2D832v1088q0%2066%2D47%20113t%2D113%2047h%2D544q0%2037%2016%2077%2E5t32%2071%2016%2043%2E5q0%2026%2D19%2045t%2D45%2019h%2D512q%2D26%200%2D45%2D19t%2D19%2D45q0%2D14%2016%2D44t32%2D70%2016%2D78h%2D544q%2D66%200%2D113%2D47t%2D47%2D113v%2D1088q0%2D66%2047%2D113t113%2D47h1600q66%200%20113%2047t47%20113z%22%2F%3E%3C%2Fsvg%3E")}.snippet-editor__view-icon-mobile{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M976%201408q0%2D33%2D23%2E5%2D56%2E5t%2D56%2E5%2D23%2E5%2D56%2E5%2023%2E5%2D23%2E5%2056%2E5%2023%2E5%2056%2E5%2056%2E5%2023%2E5%2056%2E5%2D23%2E5%2023%2E5%2D56%2E5zm208%2D160v%2D704q0%2D13%2D9%2E5%2D22%2E5t%2D22%2E5%2D9%2E5h%2D512q%2D13%200%2D22%2E5%209%2E5t%2D9%2E5%2022%2E5v704q0%2013%209%2E5%2022%2E5t22%2E5%209%2E5h512q13%200%2022%2E5%2D9%2E5t9%2E5%2D22%2E5zm%2D192%2D848q0%2D16%2D16%2D16h%2D160q%2D16%200%2D16%2016t16%2016h160q16%200%2016%2D16zm288%2D16v1024q0%2052%2D38%2090t%2D90%2038h%2D512q%2D52%200%2D90%2D38t%2D38%2D90v%2D1024q0%2D52%2038%2D90t90%2D38h512q52%200%2090%2038t38%2090z%22%2F%3E%3C%2Fsvg%3E");background-size:22px}.snippet-editor__view-icon-mobile:focus,.snippet-editor__view-icon-mobile:hover{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%231074a8%22%20d%3D%22M976%201408q0%2D33%2D23%2E5%2D56%2E5t%2D56%2E5%2D23%2E5%2D56%2E5%2023%2E5%2D23%2E5%2056%2E5%2023%2E5%2056%2E5%2056%2E5%2023%2E5%2056%2E5%2D23%2E5%2023%2E5%2D56%2E5zm208%2D160v%2D704q0%2D13%2D9%2E5%2D22%2E5t%2D22%2E5%2D9%2E5h%2D512q%2D13%200%2D22%2E5%209%2E5t%2D9%2E5%2022%2E5v704q0%2013%209%2E5%2022%2E5t22%2E5%209%2E5h512q13%200%2022%2E5%2D9%2E5t9%2E5%2D22%2E5zm%2D192%2D848q0%2D16%2D16%2D16h%2D160q%2D16%200%2D16%2016t16%2016h160q16%200%2016%2D16zm288%2D16v1024q0%2052%2D38%2090t%2D90%2038h%2D512q%2D52%200%2D90%2D38t%2D38%2D90v%2D1024q0%2D52%2038%2D90t90%2D38h512q52%200%2090%2038t38%2090z%22%2F%3E%3C%2Fsvg%3E")}.snippet-editor__view--desktop{overflow:auto;width:640px;max-width:100%;padding:0 20px}.snippet-editor__view .snippet_container__title{width:600px;white-space:nowrap}.snippet-editor__view .snippet_container__title .title{display:inline-block;overflow:hidden;max-width:600px;vertical-align:top;text-overflow:ellipsis}.snippet-editor__view .snippet_container__title .title#snippet_sitename{display:inline}.snippet-editor__view .snippet_container__url{width:600px;line-height:1;white-space:nowrap}.snippet-editor__view .snippet_container__url .urlFull{display:inline-block;overflow:hidden;max-width:586px;font-size:14px;line-height:16px;vertical-align:top;text-overflow:ellipsis}.snippet-editor__view .snippet_container .down_arrow{display:inline-block;margin-top:6px;margin-right:6px;border-top:5px solid #006621;border-left:4px solid transparent;border-right:4px solid transparent;vertical-align:top}.snippet-editor__view .snippet_container__meta{width:600px}.snippet-editor__view--mobile{margin:0 20px 10px;padding:11px 0;border-bottom:1px hidden #fff;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.2)}.snippet-editor__view--mobile .snippet_container{display:block;line-height:20px}.snippet-editor__view--mobile .snippet_container__meta,.snippet-editor__view--mobile .snippet_container__title,.snippet-editor__view--mobile .snippet_container__url{box-sizing:border-box;width:100%}.snippet-editor__view--mobile .snippet_container__title{overflow:visible;padding:0 16px;white-space:normal;word-wrap:break-word}.snippet-editor__view--mobile .snippet_container__title .title{font-size:16px;line-height:20px}.snippet-editor__view--mobile .snippet_container__url{margin-bottom:9px;padding:0 16px 9px;border-bottom:1px solid #ebebeb}.snippet-editor__view--mobile .snippet_container__url .urlFull{max-width:100%;font-size:14px;line-height:20px}.snippet-editor__view--mobile .snippet_container .down_arrow{display:none}.snippet-editor__view--mobile .snippet_container__meta{padding:0 16px;font-size:14px;line-height:20px}.snippet-editor__view--mobile .snippet_container .desc{font-size:14px;line-height:20px}.snippet-editor__is-scrollable-hintwrapper{display:none;margin:1em 0 5px;text-align:center}.snippet-editor__view--desktop.snippet-editor__view--desktop-has-scroll+.snippet-editor__is-scrollable-hintwrapper{display:block}.snippet-editor__is-scrollable-hint{display:inline-block}.snippet-editor__is-scrollable-hint:before{display:inline-block;margin-left:10px;font-size:20px;line-height:inherit;vertical-align:text-top;content:"\21c4"}.snippet-editor__container{position:relative;cursor:pointer}.snippet-editor__container.editable-preview__container--no-caret{cursor:auto}.snippet-editor__heading{margin:0 0 15px;padding:8px 20px;color:#555;font-family:"Open Sans",sans-serif;font-size:.9rem;font-weight:300}.snippet-editor__heading-editor{border-top:1px solid #f7f7f7}.snippet-editor__heading-icon{padding-right:45px;background-repeat:no-repeat;background-position:right 20px top .6em;background-size:16px}.snippet-editor__container--focus:before,.snippet-editor__container--focus:hover:before,.snippet-editor__container:hover:before{position:absolute;right:-22px;width:24px;height:24px;background-size:25px;content:"";display:block;top:-3px}.snippet-editor__heading-icon-eye{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M1664%20960q%2D152%2D236%2D381%2D353%2061%20104%2061%20225%200%20185%2D131%2E5%20316%2E5t%2D316%2E5%20131%2E5%2D316%2E5%2D131%2E5%2D131%2E5%2D316%2E5q0%2D121%2061%2D225%2D229%20117%2D381%20353%20133%20205%20333%2E5%20326%2E5t434%2E5%20121%2E5%20434%2E5%2D121%2E5%20333%2E5%2D326%2E5zm%2D720%2D384q0%2D20%2D14%2D34t%2D34%2D14q%2D125%200%2D214%2E5%2089%2E5t%2D89%2E5%20214%2E5q0%2020%2014%2034t34%2014%2034%2D14%2014%2D34q0%2D86%2061%2D147t147%2D61q20%200%2034%2D14t14%2D34zm848%20384q0%2034%2D20%2069%2D140%20230%2D376%2E5%20368%2E5t%2D499%2E5%20138%2E5%2D499%2E5%2D139%2D376%2E5%2D368q%2D20%2D35%2D20%2D69t20%2D69q140%2D229%20376%2E5%2D368t499%2E5%2D139%20499%2E5%20139%20376%2E5%20368q20%2035%2020%2069z%22%20%2F%3E%3C%2Fsvg%3E")}.snippet-editor__container:hover:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23bfbfbf%22%20d%3D%22M1152%20896q0%2026%2D19%2045l%2D448%20448q%2D19%2019%2D45%2019t%2D45%2D19%2D19%2D45v%2D896q0%2D26%2019%2D45t45%2D19%2045%2019l448%20448q19%2019%2019%2045z%22%20%2F%3E%3C%2Fsvg%3E")}.snippet-editor__container--focus:before,.snippet-editor__container--focus:hover:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M1152%20896q0%2026%2D19%2045l%2D448%20448q%2D19%2019%2D45%2019t%2D45%2D19%2D19%2D45v%2D896q0%2D26%2019%2D45t45%2D19%2045%2019l448%20448q19%2019%2019%2045z%22%20%2F%3E%3C%2Fsvg%3E")}.snippet-editor__preview{max-width:640px;padding:0 0 15px}.snippet-editor__preview #help-yoast-snippetpreview{padding:0 20px}.snippet-editor__button{padding:8px 10px;border:1px solid #dbdbdb;border-radius:4px;color:#555;background:#f7f7f7;font-size:.8rem;line-height:15px;cursor:pointer}.snippet-editor__edit-button{display:inline-block;box-sizing:border-box;margin-top:10px;padding-right:32px;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M491%201536l91%2D91%2D235%2D235%2D91%2091v107h128v128h107zm523%2D928q0%2D22%2D22%2D22%2D10%200%2D17%207l%2D542%20542q%2D7%207%2D7%2017%200%2022%2022%2022%2010%200%2017%2D7l542%2D542q7%2D7%207%2D17zm%2D54%2D192l416%20416%2D832%20832h%2D416v%2D416zm683%2096q0%2053%2D37%2090l%2D166%20166%2D416%2D416%20166%2D165q36%2D38%2090%2D38%2053%200%2091%2038l235%20234q37%2039%2037%2091z%22%20%2F%3E%3C%2Fsvg%3E") right 8px top 50% no-repeat #f7f7f7;background-size:16px}.snippet-editor__form{padding:20px}.snippet-editor__label{display:block;position:relative;width:100%;margin-top:1em}.snippet-editor__label--focus:before,.snippet-editor__label--hover:before{right:-22px;width:24px;height:24px;background-size:25px;display:block;position:absolute;content:""}.snippet-editor__label:first-child{margin-top:0}.snippet-editor__label--hover:before{top:-3px;top:20px;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23bfbfbf%22%20d%3D%22M1152%20896q0%2026%2D19%2045l%2D448%20448q%2D19%2019%2D45%2019t%2D45%2D19%2D19%2D45v%2D896q0%2D26%2019%2D45t45%2D19%2045%2019l448%20448q19%2019%2019%2045z%22%20%2F%3E%3C%2Fsvg%3E")}.snippet-editor__label--focus:before{top:-3px;top:20px;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%231074a8%22%20d%3D%22M1152%20896q0%2026%2D19%2045l%2D448%20448q%2D19%2019%2D45%2019t%2D45%2D19%2D19%2D45v%2D896q0%2D26%2019%2D45t45%2D19%2045%2019l448%20448q19%2019%2019%2045z%22%20%2F%3E%3C%2Fsvg%3E")}.snippet-editor__input{display:block;box-sizing:border-box;width:100%;max-width:100%;margin-top:5px;border:1px solid #bfbfbf}.snippet-editor__input:focus{border:1px solid #1074a8;outline:0}.rtl .snippet-editor__container:hover:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23bfbfbf%22%20d%3D%22M1216%20448v896q0%2026%2D19%2045t%2D45%2019%2D45%2D19l%2D448%2D448q%2D19%2D19%2D19%2D45t19%2D45l448%2D448q19%2D19%2045%2D19t45%2019%2019%2045z%22%2F%3E%3C%2Fsvg%3E")}.rtl .snippet-editor__container--focus:before,.rtl .snippet-editor__container--focus:hover:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M1216%20448v896q0%2026%2D19%2045t%2D45%2019%2D45%2D19l%2D448%2D448q%2D19%2D19%2D19%2D45t19%2D45l448%2D448q19%2D19%2045%2D19t45%2019%2019%2045z%22%2F%3E%3C%2Fsvg%3E")}.rtl .snippet-editor__label--hover:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23bfbfbf%22%20d%3D%22M1216%20448v896q0%2026%2D19%2045t%2D45%2019%2D45%2D19l%2D448%2D448q%2D19%2D19%2D19%2D45t19%2D45l448%2D448q19%2D19%2045%2D19t45%2019%2019%2045z%22%2F%3E%3C%2Fsvg%3E")}.rtl .snippet-editor__label--focus:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%231074a8%22%20d%3D%22M1216%20448v896q0%2026%2D19%2045t%2D45%2019%2D45%2D19l%2D448%2D448q%2D19%2D19%2D19%2D45t19%2D45l448%2D448q19%2D19%2045%2D19t45%2019%2019%2045z%22%2F%3E%3C%2Fsvg%3E")}.snippet-editor__meta-description{height:70px}.snippet-editor__submit{margin-top:1em}#snippet_cite{min-width:20px}#meta_container{clear:both;min-height:20px}.snippet_container .title{margin:0;color:#1e0fbe;font-size:18px;font-weight:400;line-height:1.2;text-decoration:none}.snippet-editor__date,.snippet_container .desc{font-size:13px;line-height:1.4}.snippet_container .url{color:#006621;font-style:normal}.snippet_container .url strong{font-weight:700}.snippet_container .desc-default{color:#545454}.snippet_container .desc-default strong{color:#6a6a6a;font-weight:700}.snippet_container .desc-render{color:#777}.snippet_container .tooLong{color:red!important}.snippet-editor__field--invalid{color:red}.snippet-editor__progress{display:block;box-sizing:border-box;width:100%;height:8px;margin-top:5px;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.snippet-editor__progress::-webkit-progress-bar{height:8px;border:1px solid #bfbfbf;background-color:#f7f7f7}.snippet-editor__progress--fallback{height:8px;border:1px solid #bfbfbf;background-color:#f7f7f7}.snippet-editor__progress-bar{width:0;max-width:100%;height:100%}.snippet-editor__date{color:grey}.snippet-editor--hidden{display:none}.yoast-measurement-elements-holder{position:absolute;right:-9999em}.snippet-editor__progress--bad[value]{color:#dc3232}.snippet-editor__progress--bad[value]::-webkit-progress-value{background-color:#dc3232;transition:width 250ms}.snippet-editor__progress--bad[value]::-moz-progress-bar{background-color:#dc3232}.snippet-editor__progress--bad[value] .snippet-editor__progress-bar{background-color:#dc3232}.snippet-editor__progress--ok[value]{color:#ee7c1b}.snippet-editor__progress--ok[value]::-webkit-progress-value{background-color:#ee7c1b;transition:width 250ms}.snippet-editor__progress--ok[value]::-moz-progress-bar{background-color:#ee7c1b}.snippet-editor__progress--ok[value] .snippet-editor__progress-bar{background-color:#ee7c1b}.snippet-editor__progress--good[value]{color:#7ad03a}.snippet-editor__progress--good[value]::-webkit-progress-value{background-color:#7ad03a;transition:width 250ms}.snippet-editor__progress--good[value]::-moz-progress-bar{background-color:#7ad03a}.snippet-editor__progress--good[value] .snippet-editor__progress-bar{background-color:#7ad03a}.wpseoanalysis{padding-left:0}.wpseo-score-text{float:right;width:86%;width:calc(100% - 56px)}.assessment-results .wpseo-score-icon{float:right;width:12px;height:12px;margin:3px 0 0 10px;border-radius:50%;background:#888}.wpseo-score-icon.good{background-color:#7ad03a}.wpseo-score-icon.ok{background-color:#ee7c1b}.wpseo-score-icon.bad{background-color:#dc3232}.wpseo-score-icon.na{background-color:#999}.wpseo-score-icon.noindex{background-color:#1e8cbe}li.score{margin-bottom:6px;list-style-type:none!important}li.score:after{display:table;clear:both;content:""}.screen-reader-text{overflow:hidden;clip:rect(1px,1px,1px,1px);position:absolute!important;width:1px;height:1px}.assessment-results{clear:both}.assessment-results__mark.icon-eye-active,.assessment-results__mark.icon-eye-disabled,.assessment-results__mark.icon-eye-inactive{float:right;width:28px;height:28px;margin:-5px 3px 0;padding:4px;border:0;border-radius:100%;outline:0;background:center no-repeat;background-size:16px;cursor:pointer}.assessment-results__mark.icon-eye-inactive{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M1664%20960q%2D152%2D236%2D381%2D353%2061%20104%2061%20225%200%20185%2D131%2E5%20316%2E5t%2D316%2E5%20131%2E5%2D316%2E5%2D131%2E5%2D131%2E5%2D316%2E5q0%2D121%2061%2D225%2D229%20117%2D381%20353%20133%20205%20333%2E5%20326%2E5t434%2E5%20121%2E5%20434%2E5%2D121%2E5%20333%2E5%2D326%2E5zm%2D720%2D384q0%2D20%2D14%2D34t%2D34%2D14q%2D125%200%2D214%2E5%2089%2E5t%2D89%2E5%20214%2E5q0%2020%2014%2034t34%2014%2034%2D14%2014%2D34q0%2D86%2061%2D147t147%2D61q20%200%2034%2D14t14%2D34zm848%20384q0%2034%2D20%2069%2D140%20230%2D376%2E5%20368%2E5t%2D499%2E5%20138%2E5%2D499%2E5%2D139%2D376%2E5%2D368q%2D20%2D35%2D20%2D69t20%2D69q140%2D229%20376%2E5%2D368t499%2E5%2D139%20499%2E5%20139%20376%2E5%20368q20%2035%2020%2069z%22%20%2F%3E%3C%2Fsvg%3E")}.assessment-results__mark.icon-eye-active{background-color:#a4286a;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M1664%20960q%2D152%2D236%2D381%2D353%2061%20104%2061%20225%200%20185%2D131%2E5%20316%2E5t%2D316%2E5%20131%2E5%2D316%2E5%2D131%2E5%2D131%2E5%2D316%2E5q0%2D121%2061%2D225%2D229%20117%2D381%20353%20133%20205%20333%2E5%20326%2E5t434%2E5%20121%2E5%20434%2E5%2D121%2E5%20333%2E5%2D326%2E5zm%2D720%2D384q0%2D20%2D14%2D34t%2D34%2D14q%2D125%200%2D214%2E5%2089%2E5t%2D89%2E5%20214%2E5q0%2020%2014%2034t34%2014%2034%2D14%2014%2D34q0%2D86%2061%2D147t147%2D61q20%200%2034%2D14t14%2D34zm848%20384q0%2034%2D20%2069%2D140%20230%2D376%2E5%20368%2E5t%2D499%2E5%20138%2E5%2D499%2E5%2D139%2D376%2E5%2D368q%2D20%2D35%2D20%2D69t20%2D69q140%2D229%20376%2E5%2D368t499%2E5%2D139%20499%2E5%20139%20376%2E5%20368q20%2035%2020%2069z%22%20%2F%3E%3C%2Fsvg%3E")}.assessment-results__mark.icon-eye-disabled{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23e6e6e6%22%20d%3D%22M1664%20960q%2D152%2D236%2D381%2D353%2061%20104%2061%20225%200%20185%2D131%2E5%20316%2E5t%2D316%2E5%20131%2E5%2D316%2E5%2D131%2E5%2D131%2E5%2D316%2E5q0%2D121%2061%2D225%2D229%20117%2D381%20353%20133%20205%20333%2E5%20326%2E5t434%2E5%20121%2E5%20434%2E5%2D121%2E5%20333%2E5%2D326%2E5zm%2D720%2D384q0%2D20%2D14%2D34t%2D34%2D14q%2D125%200%2D214%2E5%2089%2E5t%2D89%2E5%20214%2E5q0%2020%2014%2034t34%2014%2034%2D14%2014%2D34q0%2D86%2061%2D147t147%2D61q20%200%2034%2D14t14%2D34zm848%20384q0%2034%2D20%2069%2D140%20230%2D376%2E5%20368%2E5t%2D499%2E5%20138%2E5%2D499%2E5%2D139%2D376%2E5%2D368q%2D20%2D35%2D20%2D69t20%2D69q140%2D229%20376%2E5%2D368t499%2E5%2D139%20499%2E5%20139%20376%2E5%20368q20%2035%2020%2069z%22%20%2F%3E%3C%2Fsvg%3E")}.assessment-results__mark-container{display:inline-block;float:left;width:33px;min-height:1px}.YoastSEO_msg .left,.YoastSEO_msg .right{display:none}@keyframes animatedBackground{from{background-position:100% 0}to{background-position:0 0}}.YoastSEO_msg .bufferbar{display:block;width:100%;height:12px;margin:10px 0;border:1px solid #dfdfdf;background-image:linear-gradient(to right,#fff,#0063ff,#fff,#0063ff);background-position:100% 0;background-size:300% 100%;animation:animatedBackground 5s linear infinite}.yoast-tooltip{position:relative}button.yoast-tooltip{overflow:visible}.yoast-tooltip::after{display:none;position:absolute;z-index:1000000;padding:6px 8px 5px;border-radius:3px;opacity:0;color:#fff;background:rgba(0,0,0,.8);text-shadow:none;font:normal normal 11px/1.45454545 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";text-align:center;white-space:pre;text-decoration:none;letter-spacing:normal;text-transform:none;word-wrap:break-word;content:attr(aria-label);pointer-events:none;-webkit-font-smoothing:subpixel-antialiased}.yoast-tooltip-alt::after{content:attr(data-label)}.yoast-tooltip::before{display:none;position:absolute;z-index:1000001;width:0;height:0;border:5px solid transparent;opacity:0;color:rgba(0,0,0,.8);content:"\00a0";pointer-events:none}@keyframes yoast-tooltip-appear{from{opacity:0}to{opacity:1}}.yoast-tooltip:active::after,.yoast-tooltip:active::before,.yoast-tooltip:focus::after,.yoast-tooltip:focus::before,.yoast-tooltip:hover::after,.yoast-tooltip:hover::before{display:inline-block;text-decoration:none;animation-name:yoast-tooltip-appear;animation-duration:.1s;animation-timing-function:ease-in;animation-delay:.4s;animation-fill-mode:forwards}.yoast-tooltip-no-delay:active::after,.yoast-tooltip-no-delay:active::before,.yoast-tooltip-no-delay:focus::after,.yoast-tooltip-no-delay:focus::before,.yoast-tooltip-no-delay:hover::after,.yoast-tooltip-no-delay:hover::before{opacity:1;animation:none}.yoast-tooltip-multiline:active::after,.yoast-tooltip-multiline:focus::after,.yoast-tooltip-multiline:hover::after{display:table-cell}.yoast-tooltip-s::after,.yoast-tooltip-se::after,.yoast-tooltip-sw::after{top:100%;left:50%;margin-top:5px}.yoast-tooltip-s::before,.yoast-tooltip-se::before,.yoast-tooltip-sw::before{top:auto;left:50%;bottom:-5px;margin-left:-5px;border-bottom-color:rgba(0,0,0,.8)}.yoast-tooltip-se::after{left:auto;right:50%;margin-right:-15px}.yoast-tooltip-sw::after{margin-left:-15px}.yoast-tooltip-n::after,.yoast-tooltip-ne::after,.yoast-tooltip-nw::after{left:50%;bottom:100%;margin-bottom:5px}.yoast-tooltip-n::before,.yoast-tooltip-ne::before,.yoast-tooltip-nw::before{top:-5px;left:50%;bottom:auto;margin-left:-5px;border-top-color:rgba(0,0,0,.8)}.yoast-tooltip-ne::after{left:auto;right:50%;margin-right:-15px}.yoast-tooltip-nw::after{margin-left:-15px}.yoast-tooltip-n::after,.yoast-tooltip-s::after{-ms-transform:translateX(-50%);transform:translateX(-50%)}.yoast-tooltip-w::after{left:100%;bottom:50%;margin-left:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-w::before{top:50%;bottom:50%;right:-5px;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.yoast-tooltip-e::after{bottom:50%;right:100%;margin-right:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-e::before{top:50%;left:-5px;bottom:50%;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.yoast-tooltip-multiline::after{width:250px;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;border-collapse:separate;white-space:pre-line;word-wrap:normal;word-break:break-word}.yoast-tooltip-multiline.yoast-tooltip-n::after,.yoast-tooltip-multiline.yoast-tooltip-s::after{left:auto;right:50%;-ms-transform:translateX(50%);transform:translateX(50%)}.yoast-tooltip-multiline.yoast-tooltip-e::after,.yoast-tooltip-multiline.yoast-tooltip-w::after{left:100%}@media screen and (min-width:0\0){.yoast-tooltip-multiline::after{width:250px}}.yoast-tooltip-sticky::after,.yoast-tooltip-sticky::before{display:inline-block}.yoast-tooltip-sticky.yoast-tooltip-multiline::after{display:table-cell}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-moz-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.yoast-tooltip-w::after{margin-left:4.5px}}.wpseo-tab-video-container{margin-bottom:20px;border-bottom:1px solid #a4286a}.yoast-help-center-open .wpseo-tab-video-container{border-bottom:none}.postbox .wpseo-tab-video-container{margin-left:-12px;margin-right:-12px}.wpseo-tab-video-container__handle{width:100%;margin:0;padding:10px 12px;border:none;outline:0;color:#a4286a;background:0 0;line-height:19px;text-align:right;cursor:pointer}.wpseo-tab-video-container__handle:focus,.wpseo-tab-video-container__handle:hover{text-decoration:underline}.wpseo-tab-video-container__handle .toggle__arrow,.wpseo-tab-video-slideout a.button,.wpseo-tab-video-slideout a.button-primary{text-decoration:none}.wpseo-tab-video-container__handle .dashicons-before:before{margin-left:5px}.wpseo-tab-video-container .wpseo-premium-popup{max-width:770px}.wpseo-tab-video-slideout{display:-ms-flexbox;display:flex;padding:2em 0;background-color:#a4286a;box-shadow:inset 0 10px 10px -5px rgba(123,30,80,.5),inset 0 -10px 10px -5px rgba(123,30,80,.5)}.wpseo-admin-page .wpseo-tab-video-slideout{border:1px solid #e5e5e5;border-top:0}.wpseo-tab-video-slideout.hidden{display:none}.wpseo-tab-video-slideout .yoast-help-center-tabs{padding:0 0 1em;color:#fff;background-color:#a4286a;-ms-flex:0 0 164px;flex:0 0 164px}.wpseo-tab-video-slideout .yoast-help-center-tabs ul{margin:0}.wpseo-tab-video-slideout .yoast-help-center-tabs-wrap{max-width:916px;padding:0;-ms-flex:0 1 916px;flex:0 1 916px}.wpseo-tab-video-slideout .yoast-help-tab-content{display:none;padding:0 12px;color:#fff;font-weight:300}.wpseo-tab-video-slideout .yoast-help-tab-content.active{display:block}.wpseo-tab-video-slideout .yoast-help-tab-content.active.yoast-help-tab-content-video{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.wpseo-tab-video-slideout .yoast-help-tab-content li{margin:2px 10px;list-style:disc inside}.wpseo-tab-video-slideout .wpseo-tab-video__panel--video{max-width:560px;margin-left:12px;padding-bottom:12px;-ms-flex:0 1 560px;flex:0 1 560px}.wpseo-tab-video-slideout .wpseo-tab-video__panel--video iframe{vertical-align:middle}.wpseo-tab-video-slideout .wpseo-tab-video__panel--text{min-width:220px;max-width:560px;-ms-flex:1 1 220px;flex:1 1 220px}.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea{margin:0 0 12px;padding:15px 15px 5px;border:1px solid #fff;border-radius:30px 30px 30px 0;color:#fff;background-color:#a4286a}.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea a,.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea a:focus,.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea a:hover{color:#fff;font-weight:500}.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea h3{margin:0}.wpseo-tab-video-slideout a{color:#fff}#wpseo_meta .wpseo-tab-video-slideout h2,.wpseo-tab-video-slideout h1,.wpseo-tab-video-slideout h2,.wpseo-tab-video-slideout h3,.wpseo-tab-video-slideout h4,.wpseo-tab-video-slideout h5,.wpseo-tab-video-slideout h6{margin-top:.5em;margin-bottom:1em;padding:0;color:#fff;font-size:1.3em;font-weight:400;line-height:1.4}.wpseo-help-center-item{display:inline}.wpseo-help-center-item a{display:block;padding:10px 12px;color:#fff;line-height:20px;text-decoration:none}.wpseo-help-center-item a:focus,.wpseo-help-center-item a:hover{text-decoration:underline}.wpseo-help-center-item a.dashicons-before:before{margin-left:3px;text-decoration:none}.wpseo-help-center-item.active a{color:#a4286a;background-color:#fff}@media screen and (max-width:1280px){.columns-2 .wpseo-tab-video-slideout .wpseo-tab-video__panel--video{margin-left:0}}@media screen and (max-width:1024px){.wpseo-tab-video-slideout .wpseo-tab-video__panel--video{margin-left:0;flex-basis:100%;-ms-flex-preferred-size:100%}.columns-2 .wpseo-tab-video-slideout{display:block}.columns-2 .wpseo-tab-video-slideout.hidden{display:none}.columns-2 .wpseo-tab-video-slideout .yoast-help-center-tabs{width:auto;padding-left:12px;padding-right:12px}.columns-2 .wpseo-tab-video-slideout .yoast-help-tab-content.active.yoast-help-tab-content-video{display:block;padding:0}.columns-2 .wpseo-tab-video-slideout .wpseo-tab-video__panel--video{max-width:none}.columns-2 .wpseo-tab-video-slideout .wpseo-tab-video__panel--text{max-width:none;padding:0 12px}.columns-2 .wpseo-help-center-item a{display:inline-block;margin:0 0 8px 4px;border:1px solid rgba(255,255,255,.5)}}@media screen and (max-width:782px){.wpseo-tab-video-slideout{display:block}.wpseo-tab-video-slideout .yoast-help-center-tabs{width:auto;padding-left:12px;padding-right:12px}.wpseo-tab-video-slideout .yoast-help-tab-content.active.yoast-help-tab-content-video{display:block;padding:0}.wpseo-tab-video-slideout .wpseo-tab-video__panel--video{max-width:none}.wpseo-tab-video-slideout .wpseo-tab-video__panel--text{max-width:none;padding:0 12px}.wpseo-help-center-item a{display:inline-block;margin:0 0 8px 4px;border:1px solid rgba(255,255,255,.5)}.wpseo-premium-popup-icon{display:none}}.yoast-section{position:relative;padding:0 20px 15px;background-color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}.yoast-section__heading{margin:0 -20px 15px;padding:8px 20px;color:#555;font-family:"Open Sans",sans-serif;font-size:.9rem;font-weight:300}.wpseotab label,.wpseotab legend{font-weight:600}.yoast-section__heading-icon{padding-right:45px;background-repeat:no-repeat;background-position:right 20px top .6em;background-size:16px}.yoast-section__heading-icon-file-text-o{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20file%3D%22%23555%22%20d%3D%22M1596%20380q28%2028%2048%2076t20%2088v1152q0%2040%2D28%2068t%2D68%2028h%2D1344q%2D40%200%2D68%2D28t%2D28%2D68v%2D1600q0%2D40%2028%2D68t68%2D28h896q40%200%2088%2020t76%2048zm%2D444%2D244v376h376q%2D10%2D29%2D22%2D41l%2D313%2D313q%2D12%2D12%2D41%2D22zm384%201528v%2D1024h%2D416q%2D40%200%2D68%2D28t%2D28%2D68v%2D416h%2D768v1536h1280zm%2D1024%2D864q0%2D14%209%2D23t23%2D9h704q14%200%2023%209t9%2023v64q0%2014%2D9%2023t%2D23%209h%2D704q%2D14%200%2D23%2D9t%2D9%2D23v%2D64zm736%20224q14%200%2023%209t9%2023v64q0%2014%2D9%2023t%2D23%209h%2D704q%2D14%200%2D23%2D9t%2D9%2D23v%2D64q0%2D14%209%2D23t23%2D9h704zm0%20256q14%200%2023%209t9%2023v64q0%2014%2D9%2023t%2D23%209h%2D704q%2D14%200%2D23%2D9t%2D9%2D23v%2D64q0%2D14%209%2D23t23%2D9h704z%22%2F%3E%3C%2Fsvg%3E")}.yoast-section,.yoast-section *,.yoast-section :after,.yoast-section :before,.yoast-section:after,.yoast-section:before{box-sizing:border-box}#edittag>#wp-description-wrap{display:none}#wp-description-wrap .wp-editor-area{border:0}.term-description-wrap td>textarea#description{min-height:530px}ul.wpseo-metabox-tabs{display:none;margin-top:6px;margin-bottom:0}ul.wpseo-metabox-tabs:after{display:table;clear:both;content:""}.wpseo-metabox-tabs-div ul{list-style:none}ul.wpseo-metabox-tabs li.active{background-color:#fdfdfd}.wpseo-meta-section{display:none;width:100%;max-width:calc(100% - 50px);vertical-align:top}.wpseo-meta-section.active{display:inline-block}.wpseo-metabox-sidebar{float:right;width:50px;padding:0;background-color:#fff}.wpseo-metabox-sidebar ul{margin:0}.wpseo-metabox-sidebar li{display:inline-block;margin-bottom:0;padding:5px}.wpseo-metabox-sidebar a{display:inline-block;width:35px;height:35px;font-size:20px;line-height:30px;text-decoration:none}.wpseo-metabox-sidebar li span{margin:3px -5px 0 0;padding:0 5px 0 2px;border:0 solid transparent;border-right-width:3px;border-radius:3px}.wpseo-metabox-sidebar li span.wpseo-buy-premium{color:#a4286a}.wpseo-metabox-sidebar li span.wpseo-buy-premium:hover{color:#832055}.wpseo-metabox-sidebar li.active span{border-color:#333;color:#333}.wpseo-metabox-sidebar li.active span.wpseo-buy-premium{border-color:#a4286a;color:#a4286a}.wpseo-metabox-sidebar li.active span.wpseo-buy-premium:hover{border-color:#832055;color:#832055}ul.wpseo-metabox-tabs li{float:right;margin-left:5px;margin-bottom:-1px;padding:0;border:1px solid #dfdfdf;border-bottom:0 none}ul.wpseo-metabox-tabs li .wpseo-keyword{display:inline-block;overflow:hidden;max-width:8em;max-width:8rem;vertical-align:top;white-space:nowrap;text-overflow:ellipsis}.wpseotab{display:none;padding:20px 35px;border:1px solid #ddd;background-color:#fdfdfd}.wpseotab .wpseo-cornerstone-checkbox{margin-left:.5em}.wpseotab.content{padding:20px 15px}.wpseotab.active{display:block}#wpseofocuskeyword,#wpseometakeywords,#wpseosnippet{margin-bottom:2em}.wpseo-metabox-tabs .wpseo_tablink{display:inline-block;padding:5px 12px 6px;vertical-align:top;text-decoration:none}.wpseo-metabox-tabs .wpseo_content_tab a,.wpseo-metabox-tabs .wpseo_content_tab+.wpseo_keyword_tab a{padding-left:12px}.wpseo-metabox-tabs .wpseo-score-icon{margin-right:0}#wpseo-meta-section-social .wpseo-metabox-tabs .wpseo_tablink{padding:5px 7px}.wpseo-metabox-tabs .wpseo_tablink .dashicons{width:16px;height:16px;font-size:16px}.wpseo-metabox-sidebar .dashicons{width:30px;height:30px;font-size:30px}.wpseo-metabox-tabs-div div.wpseo-tabs-panel{overflow:auto;padding:.5em .9em;border:1px solid}#wpseo_meta .inside{margin:0}#wpseo_meta .postbox .inside .wpseotab{font-size:13px!important}.wpseotab .select2-container,.wpseotab input,.wpseotab label,.wpseotab p.error-message,.wpseotab textarea,.yoast-metabox__description{max-width:600px}.wpseotab fieldset{padding-top:5px}.wpseotab label{display:block}.wpseotab input[type=radio]+label,.wpseotab input[type=checkbox]+label{display:inline-block;font-weight:400}.wpseotab fieldset,.wpseotab label{margin-top:2em;margin-bottom:.5em}.wpseotab input[type=checkbox],.wpseotab input[type=checkbox]+label{margin-top:2em;margin-bottom:0;font-size:1em}.wpseotab fieldset:first-child,.wpseotab input[type=checkbox]:first-child,.wpseotab input[type=checkbox]:first-child+label,.wpseotab label:first-child{margin-top:10px}.wpseotab input[type=radio]{margin-top:0}.wpseotab input[type=radio]+label{margin:0 0 0 1em}.wpseotab p.error-message,.yoast-metabox__description{margin:.5em 0}.wpseotab #yoast_wpseo_focuskw_text_input,.wpseotab #yoast_wpseo_metakeywords,.wpseotab select[multiple]{margin-top:0}.wpseotab .wpseo_image_upload_button{margin-right:3px}.good,.warn,.wrong{font-weight:600}.good{color:green}.warn{color:maroon}.wrong{color:#dc3232}#current_seo_title span{padding:2px 5px;background-color:#ffffe0}#focuskwresults ul{margin:0}#focuskwresults li,#focuskwresults p{font-size:13px}#focuskwresults li{margin:0 20px 0 0;list-style-type:disc}.wpseo_hidden{display:none}.wpseo_msg{margin:5px 0 10px;padding:0 5px;border:1px solid #e6db55;background-color:#ffffe0}ul.wpseo-metabox-tabs li.wpseo-tab-add-keyword{border:1px dashed #dfdfdf;border-bottom:none}.wpseo-tab-add-keyword .wpseo-add-keyword.button{height:auto;padding:5px 10px 5px 12px;background:0 0;box-shadow:none;font-size:inherit;font-weight:700;line-height:inherit;vertical-align:top;text-decoration:none}.wpseo-tab-add-keyword .wpseo-add-keyword.button:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wpseo-tab-add-keyword .wpseo-add-keyword.button:active{-ms-transform:none;transform:none}.wpseo-add-keyword-plus{display:inline-block;margin:-1px 0 0 3px;font-size:20px;vertical-align:top}#wpseo-add-keyword-popup-title{margin:1em 0;font-size:1.3em}.snippet-editor__button.snippet-editor__edit-button:focus{border-color:#5b9dd9;outline:0;color:#23282d;background-color:#fafafa;box-shadow:0 0 3px rgba(0,115,170,.8)}.yoast_help.yoast-help-button{overflow:visible;position:relative;width:20px;height:20px;margin:0;padding:0;border:0;outline:0;color:#72777c;background:0 0;box-shadow:none;vertical-align:top;cursor:pointer}.wpseotab .yoast_help.yoast-help-button{float:left}.wpseotab.content .yoast_help.yoast-help-button{margin-top:-47px}.wpseo-admin-page .yoast_help.yoast-help-button{margin-left:6px}.yoast_help.yoast-help-button:before{position:absolute;top:0;right:0;padding:4px;content:"\f223"}.yoast_help.yoast-help-button:focus,.yoast_help.yoast-help-button:hover{color:#0073aa}.assessment-results__mark:focus,.yoast_help.yoast-help-button:focus:before{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-help-panel{display:none;max-width:30em!important;padding:0 0 1em;font-weight:400;white-space:normal}.wpseo-admin-page .subsubsub li{display:inline;max-width:none}.yoast-seo-help-container{float:right;width:100%;max-width:none}.yoast-seo-help-container .yoast-help-panel{margin:.5em 0!important}.wpseo_content_wrapper p.search-box{margin:10px 0 5px}.wpseo-metabox-tabs .active a{color:#333}#wpseotab .ui-widget-content .ui-state-hover{border:1px solid #dfdfdf;color:#333;background:#f1f1f1}.yst-traffic-light-container{display:block;height:30px}.yst-traffic-light{width:19px;height:30px;margin:0 5px 0 0}.yst-traffic-light .traffic-light-color{display:none}.yst-traffic-light.bad .traffic-light-red,.yst-traffic-light.good .traffic-light-green,.yst-traffic-light.init .traffic-light-init,.yst-traffic-light.na .traffic-light-empty,.yst-traffic-light.ok .traffic-light-orange{display:inline}#wpseo-score{float:right;margin:0 -5px 0 5px}.yoast-seo-score .yoast-logo.svg{float:right;width:18px;height:18px;margin-left:5px;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23999%22%20d%3D%22M403%20218h691l%2D26%2072h%2D665q%2D110%200%2D188%2E5%2079t%2D78%2E5%20189v771q0%2095%2060%2E5%20169%2E5t153%2E5%2093%2E5q23%205%2098%205v72h%2D45q%2D140%200%2D239%2E5%2D100t%2D99%2E5%2D240v%2D771q0%2D140%2099%2E5%2D240t239%2E5%2D100zm851%2D218h247l%2D482%201294q%2D23%2061%2D40%2E5%20103%2E5t%2D45%2098%2D54%2093%2E5%2D64%2E5%2078%2E5%2D79%2E5%2065%2D95%2E5%2041%2D116%2018%2E5v%2D195q163%2D26%20220%2D182%2020%2D52%2020%2D105%200%2D54%2D20%2D106l%2D285%2D733h228l187%20585zm474%20558v1111h%2D795q37%2D55%2045%2D73h678v%2D1038q0%2D85%2D49%2E5%2D155t%2D129%2E5%2D99l25%2D67q101%2034%20163%2E5%20123%2E5t62%2E5%20197%2E5z%22%2F%3E%3C%2Fsvg%3E") no-repeat;background-size:18px}.yoast-seo-score .yoast-logo.svg.good{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%237ad03a%22%20d%3D%22M403%20218h691l%2D26%2072h%2D665q%2D110%200%2D188%2E5%2079t%2D78%2E5%20189v771q0%2095%2060%2E5%20169%2E5t153%2E5%2093%2E5q23%205%2098%205v72h%2D45q%2D140%200%2D239%2E5%2D100t%2D99%2E5%2D240v%2D771q0%2D140%2099%2E5%2D240t239%2E5%2D100zm851%2D218h247l%2D482%201294q%2D23%2061%2D40%2E5%20103%2E5t%2D45%2098%2D54%2093%2E5%2D64%2E5%2078%2E5%2D79%2E5%2065%2D95%2E5%2041%2D116%2018%2E5v%2D195q163%2D26%20220%2D182%2020%2D52%2020%2D105%200%2D54%2D20%2D106l%2D285%2D733h228l187%20585zm474%20558v1111h%2D795q37%2D55%2045%2D73h678v%2D1038q0%2D85%2D49%2E5%2D155t%2D129%2E5%2D99l25%2D67q101%2034%20163%2E5%20123%2E5t62%2E5%20197%2E5z%22%2F%3E%3C%2Fsvg%3E")}.yoast-seo-score .yoast-logo.svg.ok{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23ee7c1b%22%20d%3D%22M403%20218h691l%2D26%2072h%2D665q%2D110%200%2D188%2E5%2079t%2D78%2E5%20189v771q0%2095%2060%2E5%20169%2E5t153%2E5%2093%2E5q23%205%2098%205v72h%2D45q%2D140%200%2D239%2E5%2D100t%2D99%2E5%2D240v%2D771q0%2D140%2099%2E5%2D240t239%2E5%2D100zm851%2D218h247l%2D482%201294q%2D23%2061%2D40%2E5%20103%2E5t%2D45%2098%2D54%2093%2E5%2D64%2E5%2078%2E5%2D79%2E5%2065%2D95%2E5%2041%2D116%2018%2E5v%2D195q163%2D26%20220%2D182%2020%2D52%2020%2D105%200%2D54%2D20%2D106l%2D285%2D733h228l187%20585zm474%20558v1111h%2D795q37%2D55%2045%2D73h678v%2D1038q0%2D85%2D49%2E5%2D155t%2D129%2E5%2D99l25%2D67q101%2034%20163%2E5%20123%2E5t62%2E5%20197%2E5z%22%2F%3E%3C%2Fsvg%3E")}.yoast-seo-score .yoast-logo.svg.bad{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23dc3232%22%20d%3D%22M403%20218h691l%2D26%2072h%2D665q%2D110%200%2D188%2E5%2079t%2D78%2E5%20189v771q0%2095%2060%2E5%20169%2E5t153%2E5%2093%2E5q23%205%2098%205v72h%2D45q%2D140%200%2D239%2E5%2D100t%2D99%2E5%2D240v%2D771q0%2D140%2099%2E5%2D240t239%2E5%2D100zm851%2D218h247l%2D482%201294q%2D23%2061%2D40%2E5%20103%2E5t%2D45%2098%2D54%2093%2E5%2D64%2E5%2078%2E5%2D79%2E5%2065%2D95%2E5%2041%2D116%2018%2E5v%2D195q163%2D26%20220%2D182%2020%2D52%2020%2D105%200%2D54%2D20%2D106l%2D285%2D733h228l187%20585zm474%20558v1111h%2D795q37%2D55%2045%2D73h678v%2D1038q0%2D85%2D49%2E5%2D155t%2D129%2E5%2D99l25%2D67q101%2034%20163%2E5%20123%2E5t62%2E5%20197%2E5z%22%2F%3E%3C%2Fsvg%3E")}.yoast-seo-score .yoast-logo.svg.na{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23999%22%20d%3D%22M403%20218h691l%2D26%2072h%2D665q%2D110%200%2D188%2E5%2079t%2D78%2E5%20189v771q0%2095%2060%2E5%20169%2E5t153%2E5%2093%2E5q23%205%2098%205v72h%2D45q%2D140%200%2D239%2E5%2D100t%2D99%2E5%2D240v%2D771q0%2D140%2099%2E5%2D240t239%2E5%2D100zm851%2D218h247l%2D482%201294q%2D23%2061%2D40%2E5%20103%2E5t%2D45%2098%2D54%2093%2E5%2D64%2E5%2078%2E5%2D79%2E5%2065%2D95%2E5%2041%2D116%2018%2E5v%2D195q163%2D26%20220%2D182%2020%2D52%2020%2D105%200%2D54%2D20%2D106l%2D285%2D733h228l187%20585zm474%20558v1111h%2D795q37%2D55%2045%2D73h678v%2D1038q0%2D85%2D49%2E5%2D155t%2D129%2E5%2D99l25%2D67q101%2034%20163%2E5%20123%2E5t62%2E5%20197%2E5z%22%2F%3E%3C%2Fsvg%3E")}.yoast-seo-score .yoast-logo.svg.noindex{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%231e8cbe%22%20d%3D%22M403%20218h691l%2D26%2072h%2D665q%2D110%200%2D188%2E5%2079t%2D78%2E5%20189v771q0%2095%2060%2E5%20169%2E5t153%2E5%2093%2E5q23%205%2098%205v72h%2D45q%2D140%200%2D239%2E5%2D100t%2D99%2E5%2D240v%2D771q0%2D140%2099%2E5%2D240t239%2E5%2D100zm851%2D218h247l%2D482%201294q%2D23%2061%2D40%2E5%20103%2E5t%2D45%2098%2D54%2093%2E5%2D64%2E5%2078%2E5%2D79%2E5%2065%2D95%2E5%2041%2D116%2018%2E5v%2D195q163%2D26%20220%2D182%2020%2D52%2020%2D105%200%2D54%2D20%2D106l%2D285%2D733h228l187%20585zm474%20558v1111h%2D795q37%2D55%2045%2D73h678v%2D1038q0%2D85%2D49%2E5%2D155t%2D129%2E5%2D99l25%2D67q101%2034%20163%2E5%20123%2E5t62%2E5%20197%2E5z%22%2F%3E%3C%2Fsvg%3E")}.term-php .wpseo-taxonomy-metabox-postbox>h2{margin:0;padding:8px 12px;border-bottom:1px solid #eee;font-size:14px;line-height:1.4}.wpseo-buy-premium{padding-left:5px;color:#a4286a}.wpseo-metabox-go-to::after{position:static;top:auto;left:auto;width:auto;height:auto;border:none;content:" \00BB"}#wpseo-buy-premium-popup-button.button-buy-premium{border-color:#a4286a;color:#fff;background:#a4286a}.wpseo-metabox-buy-premium{position:absolute;top:0;left:12px;padding:8px 0}.wpseosnippet .yoast-section{width:auto;max-width:640px;padding:0}#TB_window #TB_ajaxContent p{margin:5px 0 0;padding:5px 0 0}#TB_window #TB_ajaxContent ul{margin:5px 0 10px}#TB_window #TB_ajaxContent li{margin:5px 0 0;list-style:none}#TB_window #TB_ajaxContent li::before{margin:0 0 0 10px;font-weight:700;content:"+"}.yoast-section__heading-icon-list{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555%22%20d%3D%22M384%201408q0%2080%2D56%20136t%2D136%2056%2D136%2D56%2D56%2D136%2056%2D136%20136%2D56%20136%2056%2056%20136zm0%2D512q0%2080%2D56%20136t%2D136%2056%2D136%2D56%2D56%2D136%2056%2D136%20136%2D56%20136%2056%2056%20136zm1408%20416v192q0%2013%2D9%2E5%2022%2E5t%2D22%2E5%209%2E5h%2D1216q%2D13%200%2D22%2E5%2D9%2E5t%2D9%2E5%2D22%2E5v%2D192q0%2D13%209%2E5%2D22%2E5t22%2E5%2D9%2E5h1216q13%200%2022%2E5%209%2E5t9%2E5%2022%2E5zm%2D1408%2D928q0%2080%2D56%20136t%2D136%2056%2D136%2D56%2D56%2D136%2056%2D136%20136%2D56%20136%2056%2056%20136zm1408%20416v192q0%2013%2D9%2E5%2022%2E5t%2D22%2E5%209%2E5h%2D1216q%2D13%200%2D22%2E5%2D9%2E5t%2D9%2E5%2D22%2E5v%2D192q0%2D13%209%2E5%2D22%2E5t22%2E5%2D9%2E5h1216q13%200%2022%2E5%209%2E5t9%2E5%2022%2E5zm0%2D512v192q0%2013%2D9%2E5%2022%2E5t%2D22%2E5%209%2E5h%2D1216q%2D13%200%2D22%2E5%2D9%2E5t%2D9%2E5%2D22%2E5v%2D192q0%2D13%209%2E5%2D22%2E5t22%2E5%2D9%2E5h1216q13%200%2022%2E5%209%2E5t9%2E5%2022%2E5z%22%2F%3E%3C%2Fsvg%3E")}.yoast-section__heading-icon-key{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555%22%20d%3D%22M832%20512q0%2D80%2D56%2D136t%2D136%2D56%2D136%2056%2D56%20136q0%2042%2019%2083%2D41%2D19%2D83%2D19%2D80%200%2D136%2056t%2D56%20136%2056%20136%20136%2056%20136%2D56%2056%2D136q0%2D42%2D19%2D83%2041%2019%2083%2019%2080%200%20136%2D56t56%2D136zm851%20704q0%2017%2D49%2066t%2D66%2049q%2D9%200%2D28%2E5%2D16t%2D36%2E5%2D33%2D38%2E5%2D40%2D24%2E5%2D26l%2D96%2096%20220%20220q28%2028%2028%2068%200%2042%2D39%2081t%2D81%2039q%2D40%200%2D68%2D28l%2D671%2D671q%2D176%20131%2D365%20131%2D163%200%2D265%2E5%2D102%2E5t%2D102%2E5%2D265%2E5q0%2D160%2095%2D313t248%2D248%20313%2D95q163%200%20265%2E5%20102%2E5t102%2E5%20265%2E5q0%20189%2D131%20365l355%20355%2096%2D96q%2D3%2D3%2D26%2D24%2E5t%2D40%2D38%2E5%2D33%2D36%2E5%2D16%2D28%2E5q0%2D17%2049%2D66t66%2D49q13%200%2023%2010%206%206%2046%2044%2E5t82%2079%2E5%2086%2E5%2086%2073%2078%2028%2E5%2041z%22%2F%3E%3C%2Fsvg%3E")}.yoast-section__heading-icon-edit{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555%22%20d%3D%22M491%201536l91%2D91%2D235%2D235%2D91%2091v107h128v128h107zm523%2D928q0%2D22%2D22%2D22%2D10%200%2D17%207l%2D542%20542q%2D7%207%2D7%2017%200%2022%2022%2022%2010%200%2017%2D7l542%2D542q7%2D7%207%2D17zm%2D54%2D192l416%20416%2D832%20832h%2D416v%2D416zm683%2096q0%2053%2D37%2090l%2D166%20166%2D416%2D416%20166%2D165q36%2D38%2090%2D38%2053%200%2091%2038l235%20234q37%2039%2037%2091z%22%20%2F%3E%3C%2Fsvg%3E")}.yoast-tooltip.yoast-tooltip-hidden::after,.yoast-tooltip.yoast-tooltip-hidden::before{display:none}.screen-reader-text.wpseo-generic-tab-textual-score,.screen-reader-text.wpseo-keyword-tab-textual-score{display:block}.yoast-notice-go-premium{border-right-color:#a4286a;background:#f1f1f1}@media screen and (max-width:782px){.wpseo-metabox-sidebar{display:inline-block;float:none;width:auto;margin:0 -5px 10px 0;padding:0;vertical-align:top}.wpseo-meta-section.active{display:block;clear:both;max-width:none}.wpseo-metabox-sidebar ul{display:inline-block}.wpseo-metabox-sidebar li{float:right;text-align:center}.wpseo-metabox-sidebar .wpseo-meta-section-link{width:40px;height:40px}.wpseo-meta-section-link .dashicons,.wpseo-meta-section-link .yst-traffic-light-container{display:block;width:40px;height:35px;margin:0;padding:5px 0 2px;border-bottom-width:3px;border-right-width:0}.wpseo-meta-section-link .dashicons:before,.wpseo-meta-section-link .yst-traffic-light{margin:0}.wpseo-meta-section-link .dashicons-admin-generic:before{position:relative;right:1px}.wpseo-metabox-buy-premium .wpseo-buy-premium{display:inline-block;width:20px;height:20px;padding:0 5px}.yoast-help-panel{max-width:none!important}#wpseo-crawl-issues-table-form .subsubsub{float:none;max-width:calc(100vw - 20px)}#wpseo-crawl-issues-table-form .yoast-help-button{margin-top:3px}.wpseotab select[multiple]{height:auto!important}}@media screen and (max-width:600px){.wpseotab{padding:20px}.wpseotab.content{padding:20px 0}}.yoast-help-center .yoast-help-center__button{min-height:0;margin:0;padding:8px 0;border:none;color:#0073aa;box-shadow:none;font:inherit;text-decoration:underline;text-transform:none}.yoast-help-center .yoast-help-center__button svg{margin:0 13px}#edittag .yoast-video-tutorial__video-container{float:none;max-width:100%;margin:0 auto}#edittag .yoast-video-tutorial__descriptions{margin:0 auto;padding:0}@media screen and (max-width:1480px){#poststuff .yoast-video-tutorial__video-container{float:none;max-width:100%;margin:0 auto}#poststuff .yoast-video-tutorial__descriptions{margin:0 auto;padding:0}}.wpseo-metabox #yoast-help-center-container{margin:8px 0} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/metabox-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/metabox-571.min.css new file mode 100644 index 00000000..d492a677 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/metabox-571.min.css @@ -0,0 +1 @@ +.yoast-section{width:auto;max-width:640px}.snippet_container:after,.snippet_container:before{display:table;content:" "}.snippet_container:after{clear:both}.snippet-editor__view{clear:both;background:#fff}.snippet-editor__view-toggle{display:inline-block;margin-top:10px;margin-left:20px;border:1px solid #dbdbdb;border-radius:4px;background-color:#f7f7f7;vertical-align:top}.snippet-editor__view-icon{float:left;width:31px;height:31px;border:none;border-bottom:4px solid transparent;outline:0;background-color:transparent;background-repeat:no-repeat;background-position:center,center;cursor:pointer}.snippet-editor__view-icon:focus,.snippet-editor__view-icon:hover{border-color:#1074a8;background-color:#fff;transition:.15s color ease-in-out,.15s background-color ease-in-out,.15s border-color ease-in-out}.snippet-editor__view-icon--active{border-color:#555;transition:.15s color ease-in-out,.15s background-color ease-in-out,.15s border-color ease-in-out}.snippet-editor__view-icon.yoast-tooltip:before{bottom:-10px}.snippet-editor__view-icon.yoast-tooltip:after{margin-top:10px}.snippet-editor__view-icon-desktop{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M1728%20992v%2D832q0%2D13%2D9%2E5%2D22%2E5t%2D22%2E5%2D9%2E5h%2D1600q%2D13%200%2D22%2E5%209%2E5t%2D9%2E5%2022%2E5v832q0%2013%209%2E5%2022%2E5t22%2E5%209%2E5h1600q13%200%2022%2E5%2D9%2E5t9%2E5%2D22%2E5zm128%2D832v1088q0%2066%2D47%20113t%2D113%2047h%2D544q0%2037%2016%2077%2E5t32%2071%2016%2043%2E5q0%2026%2D19%2045t%2D45%2019h%2D512q%2D26%200%2D45%2D19t%2D19%2D45q0%2D14%2016%2D44t32%2D70%2016%2D78h%2D544q%2D66%200%2D113%2D47t%2D47%2D113v%2D1088q0%2D66%2047%2D113t113%2D47h1600q66%200%20113%2047t47%20113z%22%2F%3E%3C%2Fsvg%3E");background-size:18px}.snippet-editor__view-icon-desktop:focus,.snippet-editor__view-icon-desktop:hover{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%231074a8%22%20d%3D%22M1728%20992v%2D832q0%2D13%2D9%2E5%2D22%2E5t%2D22%2E5%2D9%2E5h%2D1600q%2D13%200%2D22%2E5%209%2E5t%2D9%2E5%2022%2E5v832q0%2013%209%2E5%2022%2E5t22%2E5%209%2E5h1600q13%200%2022%2E5%2D9%2E5t9%2E5%2D22%2E5zm128%2D832v1088q0%2066%2D47%20113t%2D113%2047h%2D544q0%2037%2016%2077%2E5t32%2071%2016%2043%2E5q0%2026%2D19%2045t%2D45%2019h%2D512q%2D26%200%2D45%2D19t%2D19%2D45q0%2D14%2016%2D44t32%2D70%2016%2D78h%2D544q%2D66%200%2D113%2D47t%2D47%2D113v%2D1088q0%2D66%2047%2D113t113%2D47h1600q66%200%20113%2047t47%20113z%22%2F%3E%3C%2Fsvg%3E")}.snippet-editor__view-icon-mobile{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M976%201408q0%2D33%2D23%2E5%2D56%2E5t%2D56%2E5%2D23%2E5%2D56%2E5%2023%2E5%2D23%2E5%2056%2E5%2023%2E5%2056%2E5%2056%2E5%2023%2E5%2056%2E5%2D23%2E5%2023%2E5%2D56%2E5zm208%2D160v%2D704q0%2D13%2D9%2E5%2D22%2E5t%2D22%2E5%2D9%2E5h%2D512q%2D13%200%2D22%2E5%209%2E5t%2D9%2E5%2022%2E5v704q0%2013%209%2E5%2022%2E5t22%2E5%209%2E5h512q13%200%2022%2E5%2D9%2E5t9%2E5%2D22%2E5zm%2D192%2D848q0%2D16%2D16%2D16h%2D160q%2D16%200%2D16%2016t16%2016h160q16%200%2016%2D16zm288%2D16v1024q0%2052%2D38%2090t%2D90%2038h%2D512q%2D52%200%2D90%2D38t%2D38%2D90v%2D1024q0%2D52%2038%2D90t90%2D38h512q52%200%2090%2038t38%2090z%22%2F%3E%3C%2Fsvg%3E");background-size:22px}.snippet-editor__view-icon-mobile:focus,.snippet-editor__view-icon-mobile:hover{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%231074a8%22%20d%3D%22M976%201408q0%2D33%2D23%2E5%2D56%2E5t%2D56%2E5%2D23%2E5%2D56%2E5%2023%2E5%2D23%2E5%2056%2E5%2023%2E5%2056%2E5%2056%2E5%2023%2E5%2056%2E5%2D23%2E5%2023%2E5%2D56%2E5zm208%2D160v%2D704q0%2D13%2D9%2E5%2D22%2E5t%2D22%2E5%2D9%2E5h%2D512q%2D13%200%2D22%2E5%209%2E5t%2D9%2E5%2022%2E5v704q0%2013%209%2E5%2022%2E5t22%2E5%209%2E5h512q13%200%2022%2E5%2D9%2E5t9%2E5%2D22%2E5zm%2D192%2D848q0%2D16%2D16%2D16h%2D160q%2D16%200%2D16%2016t16%2016h160q16%200%2016%2D16zm288%2D16v1024q0%2052%2D38%2090t%2D90%2038h%2D512q%2D52%200%2D90%2D38t%2D38%2D90v%2D1024q0%2D52%2038%2D90t90%2D38h512q52%200%2090%2038t38%2090z%22%2F%3E%3C%2Fsvg%3E")}.snippet-editor__view--desktop{overflow:auto;width:640px;max-width:100%;padding:0 20px}.snippet-editor__view .snippet_container__title{width:600px;white-space:nowrap}.snippet-editor__view .snippet_container__title .title{display:inline-block;overflow:hidden;max-width:600px;vertical-align:top;text-overflow:ellipsis}.snippet-editor__view .snippet_container__title .title#snippet_sitename{display:inline}.snippet-editor__view .snippet_container__url{width:600px;line-height:1;white-space:nowrap}.snippet-editor__view .snippet_container__url .urlFull{display:inline-block;overflow:hidden;max-width:586px;font-size:14px;line-height:16px;vertical-align:top;text-overflow:ellipsis}.snippet-editor__view .snippet_container .down_arrow{display:inline-block;margin-top:6px;margin-left:6px;border-top:5px solid #006621;border-right:4px solid transparent;border-left:4px solid transparent;vertical-align:top}.snippet-editor__view .snippet_container__meta{width:600px}.snippet-editor__view--mobile{margin:0 20px 10px;padding:11px 0;border-bottom:1px hidden #fff;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.2)}.snippet-editor__view--mobile .snippet_container{display:block;line-height:20px}.snippet-editor__view--mobile .snippet_container__meta,.snippet-editor__view--mobile .snippet_container__title,.snippet-editor__view--mobile .snippet_container__url{box-sizing:border-box;width:100%}.snippet-editor__view--mobile .snippet_container__title{overflow:visible;padding:0 16px;white-space:normal;word-wrap:break-word}.snippet-editor__view--mobile .snippet_container__title .title{font-size:16px;line-height:20px}.snippet-editor__view--mobile .snippet_container__url{margin-bottom:9px;padding:0 16px 9px;border-bottom:1px solid #ebebeb}.snippet-editor__view--mobile .snippet_container__url .urlFull{max-width:100%;font-size:14px;line-height:20px}.snippet-editor__view--mobile .snippet_container .down_arrow{display:none}.snippet-editor__view--mobile .snippet_container__meta{padding:0 16px;font-size:14px;line-height:20px}.snippet-editor__view--mobile .snippet_container .desc{font-size:14px;line-height:20px}.snippet-editor__is-scrollable-hintwrapper{display:none;margin:1em 0 5px;text-align:center}.snippet-editor__view--desktop.snippet-editor__view--desktop-has-scroll+.snippet-editor__is-scrollable-hintwrapper{display:block}.snippet-editor__is-scrollable-hint{display:inline-block}.snippet-editor__is-scrollable-hint:before{display:inline-block;margin-right:10px;font-size:20px;line-height:inherit;vertical-align:text-top;content:"\21c4"}.snippet-editor__container{position:relative;cursor:pointer}.snippet-editor__container.editable-preview__container--no-caret{cursor:auto}.snippet-editor__heading{margin:0 0 15px;padding:8px 20px;color:#555;font-family:"Open Sans",sans-serif;font-size:.9rem;font-weight:300}.snippet-editor__heading-editor{border-top:1px solid #f7f7f7}.snippet-editor__heading-icon{padding-left:45px;background-repeat:no-repeat;background-position:left 20px top .6em;background-size:16px}.snippet-editor__container--focus:before,.snippet-editor__container--focus:hover:before,.snippet-editor__container:hover:before{position:absolute;left:-22px;width:24px;height:24px;background-size:25px;content:"";display:block;top:-3px}.snippet-editor__heading-icon-eye{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M1664%20960q%2D152%2D236%2D381%2D353%2061%20104%2061%20225%200%20185%2D131%2E5%20316%2E5t%2D316%2E5%20131%2E5%2D316%2E5%2D131%2E5%2D131%2E5%2D316%2E5q0%2D121%2061%2D225%2D229%20117%2D381%20353%20133%20205%20333%2E5%20326%2E5t434%2E5%20121%2E5%20434%2E5%2D121%2E5%20333%2E5%2D326%2E5zm%2D720%2D384q0%2D20%2D14%2D34t%2D34%2D14q%2D125%200%2D214%2E5%2089%2E5t%2D89%2E5%20214%2E5q0%2020%2014%2034t34%2014%2034%2D14%2014%2D34q0%2D86%2061%2D147t147%2D61q20%200%2034%2D14t14%2D34zm848%20384q0%2034%2D20%2069%2D140%20230%2D376%2E5%20368%2E5t%2D499%2E5%20138%2E5%2D499%2E5%2D139%2D376%2E5%2D368q%2D20%2D35%2D20%2D69t20%2D69q140%2D229%20376%2E5%2D368t499%2E5%2D139%20499%2E5%20139%20376%2E5%20368q20%2035%2020%2069z%22%20%2F%3E%3C%2Fsvg%3E")}.snippet-editor__container:hover:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23bfbfbf%22%20d%3D%22M1152%20896q0%2026%2D19%2045l%2D448%20448q%2D19%2019%2D45%2019t%2D45%2D19%2D19%2D45v%2D896q0%2D26%2019%2D45t45%2D19%2045%2019l448%20448q19%2019%2019%2045z%22%20%2F%3E%3C%2Fsvg%3E")}.snippet-editor__container--focus:before,.snippet-editor__container--focus:hover:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M1152%20896q0%2026%2D19%2045l%2D448%20448q%2D19%2019%2D45%2019t%2D45%2D19%2D19%2D45v%2D896q0%2D26%2019%2D45t45%2D19%2045%2019l448%20448q19%2019%2019%2045z%22%20%2F%3E%3C%2Fsvg%3E")}.snippet-editor__preview{max-width:640px;padding:0 0 15px}.snippet-editor__preview #help-yoast-snippetpreview{padding:0 20px}.snippet-editor__button{padding:8px 10px;border:1px solid #dbdbdb;border-radius:4px;color:#555;background:#f7f7f7;font-size:.8rem;line-height:15px;cursor:pointer}.snippet-editor__edit-button{display:inline-block;box-sizing:border-box;margin-top:10px;padding-left:32px;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M491%201536l91%2D91%2D235%2D235%2D91%2091v107h128v128h107zm523%2D928q0%2D22%2D22%2D22%2D10%200%2D17%207l%2D542%20542q%2D7%207%2D7%2017%200%2022%2022%2022%2010%200%2017%2D7l542%2D542q7%2D7%207%2D17zm%2D54%2D192l416%20416%2D832%20832h%2D416v%2D416zm683%2096q0%2053%2D37%2090l%2D166%20166%2D416%2D416%20166%2D165q36%2D38%2090%2D38%2053%200%2091%2038l235%20234q37%2039%2037%2091z%22%20%2F%3E%3C%2Fsvg%3E") left 8px top 50% no-repeat #f7f7f7;background-size:16px}.snippet-editor__form{padding:20px}.snippet-editor__label{display:block;position:relative;width:100%;margin-top:1em}.snippet-editor__label--focus:before,.snippet-editor__label--hover:before{left:-22px;width:24px;height:24px;background-size:25px;display:block;position:absolute;content:""}.snippet-editor__label:first-child{margin-top:0}.snippet-editor__label--hover:before{top:-3px;top:20px;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23bfbfbf%22%20d%3D%22M1152%20896q0%2026%2D19%2045l%2D448%20448q%2D19%2019%2D45%2019t%2D45%2D19%2D19%2D45v%2D896q0%2D26%2019%2D45t45%2D19%2045%2019l448%20448q19%2019%2019%2045z%22%20%2F%3E%3C%2Fsvg%3E")}.snippet-editor__label--focus:before{top:-3px;top:20px;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%231074a8%22%20d%3D%22M1152%20896q0%2026%2D19%2045l%2D448%20448q%2D19%2019%2D45%2019t%2D45%2D19%2D19%2D45v%2D896q0%2D26%2019%2D45t45%2D19%2045%2019l448%20448q19%2019%2019%2045z%22%20%2F%3E%3C%2Fsvg%3E")}.snippet-editor__input{display:block;box-sizing:border-box;width:100%;max-width:100%;margin-top:5px;border:1px solid #bfbfbf}.snippet-editor__input:focus{border:1px solid #1074a8;outline:0}.rtl .snippet-editor__container:hover:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23bfbfbf%22%20d%3D%22M1216%20448v896q0%2026%2D19%2045t%2D45%2019%2D45%2D19l%2D448%2D448q%2D19%2D19%2D19%2D45t19%2D45l448%2D448q19%2D19%2045%2D19t45%2019%2019%2045z%22%2F%3E%3C%2Fsvg%3E")}.rtl .snippet-editor__container--focus:before,.rtl .snippet-editor__container--focus:hover:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M1216%20448v896q0%2026%2D19%2045t%2D45%2019%2D45%2D19l%2D448%2D448q%2D19%2D19%2D19%2D45t19%2D45l448%2D448q19%2D19%2045%2D19t45%2019%2019%2045z%22%2F%3E%3C%2Fsvg%3E")}.rtl .snippet-editor__label--hover:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23bfbfbf%22%20d%3D%22M1216%20448v896q0%2026%2D19%2045t%2D45%2019%2D45%2D19l%2D448%2D448q%2D19%2D19%2D19%2D45t19%2D45l448%2D448q19%2D19%2045%2D19t45%2019%2019%2045z%22%2F%3E%3C%2Fsvg%3E")}.rtl .snippet-editor__label--focus:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%231074a8%22%20d%3D%22M1216%20448v896q0%2026%2D19%2045t%2D45%2019%2D45%2D19l%2D448%2D448q%2D19%2D19%2D19%2D45t19%2D45l448%2D448q19%2D19%2045%2D19t45%2019%2019%2045z%22%2F%3E%3C%2Fsvg%3E")}.snippet-editor__meta-description{height:70px}.snippet-editor__submit{margin-top:1em}#snippet_cite{min-width:20px}#meta_container{clear:both;min-height:20px}.snippet_container .title{margin:0;color:#1e0fbe;font-size:18px;font-weight:400;line-height:1.2;text-decoration:none}.snippet-editor__date,.snippet_container .desc{font-size:13px;line-height:1.4}.snippet_container .url{color:#006621;font-style:normal}.snippet_container .url strong{font-weight:700}.snippet_container .desc-default{color:#545454}.snippet_container .desc-default strong{color:#6a6a6a;font-weight:700}.snippet_container .desc-render{color:#777}.snippet_container .tooLong{color:red!important}.snippet-editor__field--invalid{color:red}.snippet-editor__progress{display:block;box-sizing:border-box;width:100%;height:8px;margin-top:5px;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.snippet-editor__progress::-webkit-progress-bar{height:8px;border:1px solid #bfbfbf;background-color:#f7f7f7}.snippet-editor__progress--fallback{height:8px;border:1px solid #bfbfbf;background-color:#f7f7f7}.snippet-editor__progress-bar{width:0;max-width:100%;height:100%}.snippet-editor__date{color:grey}.snippet-editor--hidden{display:none}.yoast-measurement-elements-holder{position:absolute;left:-9999em}.snippet-editor__progress--bad[value]{color:#dc3232}.snippet-editor__progress--bad[value]::-webkit-progress-value{background-color:#dc3232;transition:width 250ms}.snippet-editor__progress--bad[value]::-moz-progress-bar{background-color:#dc3232}.snippet-editor__progress--bad[value] .snippet-editor__progress-bar{background-color:#dc3232}.snippet-editor__progress--ok[value]{color:#ee7c1b}.snippet-editor__progress--ok[value]::-webkit-progress-value{background-color:#ee7c1b;transition:width 250ms}.snippet-editor__progress--ok[value]::-moz-progress-bar{background-color:#ee7c1b}.snippet-editor__progress--ok[value] .snippet-editor__progress-bar{background-color:#ee7c1b}.snippet-editor__progress--good[value]{color:#7ad03a}.snippet-editor__progress--good[value]::-webkit-progress-value{background-color:#7ad03a;transition:width 250ms}.snippet-editor__progress--good[value]::-moz-progress-bar{background-color:#7ad03a}.snippet-editor__progress--good[value] .snippet-editor__progress-bar{background-color:#7ad03a}.wpseoanalysis{padding-right:0}.wpseo-score-text{float:left;width:86%;width:calc(100% - 56px)}.assessment-results .wpseo-score-icon{float:left;width:12px;height:12px;margin:3px 10px 0 0;border-radius:50%;background:#888}.wpseo-score-icon.good{background-color:#7ad03a}.wpseo-score-icon.ok{background-color:#ee7c1b}.wpseo-score-icon.bad{background-color:#dc3232}.wpseo-score-icon.na{background-color:#999}.wpseo-score-icon.noindex{background-color:#1e8cbe}li.score{margin-bottom:6px;list-style-type:none!important}li.score:after{display:table;clear:both;content:""}.screen-reader-text{overflow:hidden;clip:rect(1px,1px,1px,1px);position:absolute!important;width:1px;height:1px}.assessment-results{clear:both}.assessment-results__mark.icon-eye-active,.assessment-results__mark.icon-eye-disabled,.assessment-results__mark.icon-eye-inactive{float:left;width:28px;height:28px;margin:-5px 3px 0;padding:4px;border:0;border-radius:100%;outline:0;background:center no-repeat;background-size:16px;cursor:pointer}.assessment-results__mark.icon-eye-inactive{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M1664%20960q%2D152%2D236%2D381%2D353%2061%20104%2061%20225%200%20185%2D131%2E5%20316%2E5t%2D316%2E5%20131%2E5%2D316%2E5%2D131%2E5%2D131%2E5%2D316%2E5q0%2D121%2061%2D225%2D229%20117%2D381%20353%20133%20205%20333%2E5%20326%2E5t434%2E5%20121%2E5%20434%2E5%2D121%2E5%20333%2E5%2D326%2E5zm%2D720%2D384q0%2D20%2D14%2D34t%2D34%2D14q%2D125%200%2D214%2E5%2089%2E5t%2D89%2E5%20214%2E5q0%2020%2014%2034t34%2014%2034%2D14%2014%2D34q0%2D86%2061%2D147t147%2D61q20%200%2034%2D14t14%2D34zm848%20384q0%2034%2D20%2069%2D140%20230%2D376%2E5%20368%2E5t%2D499%2E5%20138%2E5%2D499%2E5%2D139%2D376%2E5%2D368q%2D20%2D35%2D20%2D69t20%2D69q140%2D229%20376%2E5%2D368t499%2E5%2D139%20499%2E5%20139%20376%2E5%20368q20%2035%2020%2069z%22%20%2F%3E%3C%2Fsvg%3E")}.assessment-results__mark.icon-eye-active{background-color:#a4286a;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M1664%20960q%2D152%2D236%2D381%2D353%2061%20104%2061%20225%200%20185%2D131%2E5%20316%2E5t%2D316%2E5%20131%2E5%2D316%2E5%2D131%2E5%2D131%2E5%2D316%2E5q0%2D121%2061%2D225%2D229%20117%2D381%20353%20133%20205%20333%2E5%20326%2E5t434%2E5%20121%2E5%20434%2E5%2D121%2E5%20333%2E5%2D326%2E5zm%2D720%2D384q0%2D20%2D14%2D34t%2D34%2D14q%2D125%200%2D214%2E5%2089%2E5t%2D89%2E5%20214%2E5q0%2020%2014%2034t34%2014%2034%2D14%2014%2D34q0%2D86%2061%2D147t147%2D61q20%200%2034%2D14t14%2D34zm848%20384q0%2034%2D20%2069%2D140%20230%2D376%2E5%20368%2E5t%2D499%2E5%20138%2E5%2D499%2E5%2D139%2D376%2E5%2D368q%2D20%2D35%2D20%2D69t20%2D69q140%2D229%20376%2E5%2D368t499%2E5%2D139%20499%2E5%20139%20376%2E5%20368q20%2035%2020%2069z%22%20%2F%3E%3C%2Fsvg%3E")}.assessment-results__mark.icon-eye-disabled{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23e6e6e6%22%20d%3D%22M1664%20960q%2D152%2D236%2D381%2D353%2061%20104%2061%20225%200%20185%2D131%2E5%20316%2E5t%2D316%2E5%20131%2E5%2D316%2E5%2D131%2E5%2D131%2E5%2D316%2E5q0%2D121%2061%2D225%2D229%20117%2D381%20353%20133%20205%20333%2E5%20326%2E5t434%2E5%20121%2E5%20434%2E5%2D121%2E5%20333%2E5%2D326%2E5zm%2D720%2D384q0%2D20%2D14%2D34t%2D34%2D14q%2D125%200%2D214%2E5%2089%2E5t%2D89%2E5%20214%2E5q0%2020%2014%2034t34%2014%2034%2D14%2014%2D34q0%2D86%2061%2D147t147%2D61q20%200%2034%2D14t14%2D34zm848%20384q0%2034%2D20%2069%2D140%20230%2D376%2E5%20368%2E5t%2D499%2E5%20138%2E5%2D499%2E5%2D139%2D376%2E5%2D368q%2D20%2D35%2D20%2D69t20%2D69q140%2D229%20376%2E5%2D368t499%2E5%2D139%20499%2E5%20139%20376%2E5%20368q20%2035%2020%2069z%22%20%2F%3E%3C%2Fsvg%3E")}.assessment-results__mark-container{display:inline-block;float:right;width:33px;min-height:1px}.YoastSEO_msg .left,.YoastSEO_msg .right{display:none}@keyframes animatedBackground{from{background-position:0 0}to{background-position:100% 0}}.YoastSEO_msg .bufferbar{display:block;width:100%;height:12px;margin:10px 0;border:1px solid #dfdfdf;background-image:linear-gradient(to left,#fff,#0063ff,#fff,#0063ff);background-position:0 0;background-size:300% 100%;animation:animatedBackground 5s linear infinite}.yoast-tooltip{position:relative}button.yoast-tooltip{overflow:visible}.yoast-tooltip::after{display:none;position:absolute;z-index:1000000;padding:6px 8px 5px;border-radius:3px;opacity:0;color:#fff;background:rgba(0,0,0,.8);text-shadow:none;font:normal normal 11px/1.45454545 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";text-align:center;white-space:pre;text-decoration:none;letter-spacing:normal;text-transform:none;word-wrap:break-word;content:attr(aria-label);pointer-events:none;-webkit-font-smoothing:subpixel-antialiased}.yoast-tooltip-alt::after{content:attr(data-label)}.yoast-tooltip::before{display:none;position:absolute;z-index:1000001;width:0;height:0;border:5px solid transparent;opacity:0;color:rgba(0,0,0,.8);content:"\00a0";pointer-events:none}@keyframes yoast-tooltip-appear{from{opacity:0}to{opacity:1}}.yoast-tooltip:active::after,.yoast-tooltip:active::before,.yoast-tooltip:focus::after,.yoast-tooltip:focus::before,.yoast-tooltip:hover::after,.yoast-tooltip:hover::before{display:inline-block;text-decoration:none;animation-name:yoast-tooltip-appear;animation-duration:.1s;animation-timing-function:ease-in;animation-delay:.4s;animation-fill-mode:forwards}.yoast-tooltip-no-delay:active::after,.yoast-tooltip-no-delay:active::before,.yoast-tooltip-no-delay:focus::after,.yoast-tooltip-no-delay:focus::before,.yoast-tooltip-no-delay:hover::after,.yoast-tooltip-no-delay:hover::before{opacity:1;animation:none}.yoast-tooltip-multiline:active::after,.yoast-tooltip-multiline:focus::after,.yoast-tooltip-multiline:hover::after{display:table-cell}.yoast-tooltip-s::after,.yoast-tooltip-se::after,.yoast-tooltip-sw::after{top:100%;right:50%;margin-top:5px}.yoast-tooltip-s::before,.yoast-tooltip-se::before,.yoast-tooltip-sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.yoast-tooltip-se::after{right:auto;left:50%;margin-left:-15px}.yoast-tooltip-sw::after{margin-right:-15px}.yoast-tooltip-n::after,.yoast-tooltip-ne::after,.yoast-tooltip-nw::after{right:50%;bottom:100%;margin-bottom:5px}.yoast-tooltip-n::before,.yoast-tooltip-ne::before,.yoast-tooltip-nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.yoast-tooltip-ne::after{right:auto;left:50%;margin-left:-15px}.yoast-tooltip-nw::after{margin-right:-15px}.yoast-tooltip-n::after,.yoast-tooltip-s::after{-ms-transform:translateX(50%);transform:translateX(50%)}.yoast-tooltip-w::after{right:100%;bottom:50%;margin-right:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.yoast-tooltip-e::after{bottom:50%;left:100%;margin-left:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.yoast-tooltip-multiline::after{width:250px;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;border-collapse:separate;white-space:pre-line;word-wrap:normal;word-break:break-word}.yoast-tooltip-multiline.yoast-tooltip-n::after,.yoast-tooltip-multiline.yoast-tooltip-s::after{right:auto;left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%)}.yoast-tooltip-multiline.yoast-tooltip-e::after,.yoast-tooltip-multiline.yoast-tooltip-w::after{right:100%}@media screen and (min-width:0\0){.yoast-tooltip-multiline::after{width:250px}}.yoast-tooltip-sticky::after,.yoast-tooltip-sticky::before{display:inline-block}.yoast-tooltip-sticky.yoast-tooltip-multiline::after{display:table-cell}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-moz-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.yoast-tooltip-w::after{margin-right:4.5px}}.wpseo-tab-video-container{margin-bottom:20px;border-bottom:1px solid #a4286a}.yoast-help-center-open .wpseo-tab-video-container{border-bottom:none}.postbox .wpseo-tab-video-container{margin-right:-12px;margin-left:-12px}.wpseo-tab-video-container__handle{width:100%;margin:0;padding:10px 12px;border:none;outline:0;color:#a4286a;background:0 0;line-height:19px;text-align:left;cursor:pointer}.wpseo-tab-video-container__handle:focus,.wpseo-tab-video-container__handle:hover{text-decoration:underline}.wpseo-tab-video-container__handle .toggle__arrow,.wpseo-tab-video-slideout a.button,.wpseo-tab-video-slideout a.button-primary{text-decoration:none}.wpseo-tab-video-container__handle .dashicons-before:before{margin-right:5px}.wpseo-tab-video-container .wpseo-premium-popup{max-width:770px}.wpseo-tab-video-slideout{display:-ms-flexbox;display:flex;padding:2em 0;background-color:#a4286a;box-shadow:inset 0 10px 10px -5px rgba(123,30,80,.5),inset 0 -10px 10px -5px rgba(123,30,80,.5)}.wpseo-admin-page .wpseo-tab-video-slideout{border:1px solid #e5e5e5;border-top:0}.wpseo-tab-video-slideout.hidden{display:none}.wpseo-tab-video-slideout .yoast-help-center-tabs{padding:0 0 1em;color:#fff;background-color:#a4286a;-ms-flex:0 0 164px;flex:0 0 164px}.wpseo-tab-video-slideout .yoast-help-center-tabs ul{margin:0}.wpseo-tab-video-slideout .yoast-help-center-tabs-wrap{max-width:916px;padding:0;-ms-flex:0 1 916px;flex:0 1 916px}.wpseo-tab-video-slideout .yoast-help-tab-content{display:none;padding:0 12px;color:#fff;font-weight:300}.wpseo-tab-video-slideout .yoast-help-tab-content.active{display:block}.wpseo-tab-video-slideout .yoast-help-tab-content.active.yoast-help-tab-content-video{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.wpseo-tab-video-slideout .yoast-help-tab-content li{margin:2px 10px;list-style:disc inside}.wpseo-tab-video-slideout .wpseo-tab-video__panel--video{max-width:560px;margin-right:12px;padding-bottom:12px;-ms-flex:0 1 560px;flex:0 1 560px}.wpseo-tab-video-slideout .wpseo-tab-video__panel--video iframe{vertical-align:middle}.wpseo-tab-video-slideout .wpseo-tab-video__panel--text{min-width:220px;max-width:560px;-ms-flex:1 1 220px;flex:1 1 220px}.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea{margin:0 0 12px;padding:15px 15px 5px;border:1px solid #fff;border-radius:30px 30px 0;color:#fff;background-color:#a4286a}.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea a,.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea a:focus,.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea a:hover{color:#fff;font-weight:500}.wpseo-tab-video-slideout .wpseo-tab-video__panel__textarea h3{margin:0}.wpseo-tab-video-slideout a{color:#fff}#wpseo_meta .wpseo-tab-video-slideout h2,.wpseo-tab-video-slideout h1,.wpseo-tab-video-slideout h2,.wpseo-tab-video-slideout h3,.wpseo-tab-video-slideout h4,.wpseo-tab-video-slideout h5,.wpseo-tab-video-slideout h6{margin-top:.5em;margin-bottom:1em;padding:0;color:#fff;font-size:1.3em;font-weight:400;line-height:1.4}.wpseo-help-center-item{display:inline}.wpseo-help-center-item a{display:block;padding:10px 12px;color:#fff;line-height:20px;text-decoration:none}.wpseo-help-center-item a:focus,.wpseo-help-center-item a:hover{text-decoration:underline}.wpseo-help-center-item a.dashicons-before:before{margin-right:3px;text-decoration:none}.wpseo-help-center-item.active a{color:#a4286a;background-color:#fff}@media screen and (max-width:1280px){.columns-2 .wpseo-tab-video-slideout .wpseo-tab-video__panel--video{margin-right:0}}@media screen and (max-width:1024px){.wpseo-tab-video-slideout .wpseo-tab-video__panel--video{margin-right:0;flex-basis:100%;-ms-flex-preferred-size:100%}.columns-2 .wpseo-tab-video-slideout{display:block}.columns-2 .wpseo-tab-video-slideout.hidden{display:none}.columns-2 .wpseo-tab-video-slideout .yoast-help-center-tabs{width:auto;padding-right:12px;padding-left:12px}.columns-2 .wpseo-tab-video-slideout .yoast-help-tab-content.active.yoast-help-tab-content-video{display:block;padding:0}.columns-2 .wpseo-tab-video-slideout .wpseo-tab-video__panel--video{max-width:none}.columns-2 .wpseo-tab-video-slideout .wpseo-tab-video__panel--text{max-width:none;padding:0 12px}.columns-2 .wpseo-help-center-item a{display:inline-block;margin:0 4px 8px 0;border:1px solid rgba(255,255,255,.5)}}@media screen and (max-width:782px){.wpseo-tab-video-slideout{display:block}.wpseo-tab-video-slideout .yoast-help-center-tabs{width:auto;padding-right:12px;padding-left:12px}.wpseo-tab-video-slideout .yoast-help-tab-content.active.yoast-help-tab-content-video{display:block;padding:0}.wpseo-tab-video-slideout .wpseo-tab-video__panel--video{max-width:none}.wpseo-tab-video-slideout .wpseo-tab-video__panel--text{max-width:none;padding:0 12px}.wpseo-help-center-item a{display:inline-block;margin:0 4px 8px 0;border:1px solid rgba(255,255,255,.5)}.wpseo-premium-popup-icon{display:none}}.yoast-section{position:relative;padding:0 20px 15px;background-color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}.yoast-section__heading{margin:0 -20px 15px;padding:8px 20px;color:#555;font-family:"Open Sans",sans-serif;font-size:.9rem;font-weight:300}.wpseotab label,.wpseotab legend{font-weight:600}.yoast-section__heading-icon{padding-left:45px;background-repeat:no-repeat;background-position:left 20px top .6em;background-size:16px}.yoast-section__heading-icon-file-text-o{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20file%3D%22%23555%22%20d%3D%22M1596%20380q28%2028%2048%2076t20%2088v1152q0%2040%2D28%2068t%2D68%2028h%2D1344q%2D40%200%2D68%2D28t%2D28%2D68v%2D1600q0%2D40%2028%2D68t68%2D28h896q40%200%2088%2020t76%2048zm%2D444%2D244v376h376q%2D10%2D29%2D22%2D41l%2D313%2D313q%2D12%2D12%2D41%2D22zm384%201528v%2D1024h%2D416q%2D40%200%2D68%2D28t%2D28%2D68v%2D416h%2D768v1536h1280zm%2D1024%2D864q0%2D14%209%2D23t23%2D9h704q14%200%2023%209t9%2023v64q0%2014%2D9%2023t%2D23%209h%2D704q%2D14%200%2D23%2D9t%2D9%2D23v%2D64zm736%20224q14%200%2023%209t9%2023v64q0%2014%2D9%2023t%2D23%209h%2D704q%2D14%200%2D23%2D9t%2D9%2D23v%2D64q0%2D14%209%2D23t23%2D9h704zm0%20256q14%200%2023%209t9%2023v64q0%2014%2D9%2023t%2D23%209h%2D704q%2D14%200%2D23%2D9t%2D9%2D23v%2D64q0%2D14%209%2D23t23%2D9h704z%22%2F%3E%3C%2Fsvg%3E")}.yoast-section,.yoast-section *,.yoast-section :after,.yoast-section :before,.yoast-section:after,.yoast-section:before{box-sizing:border-box}#edittag>#wp-description-wrap{display:none}#wp-description-wrap .wp-editor-area{border:0}.term-description-wrap td>textarea#description{min-height:530px}ul.wpseo-metabox-tabs{display:none;margin-top:6px;margin-bottom:0}ul.wpseo-metabox-tabs:after{display:table;clear:both;content:""}.wpseo-metabox-tabs-div ul{list-style:none}ul.wpseo-metabox-tabs li.active{background-color:#fdfdfd}.wpseo-meta-section{display:none;width:100%;max-width:calc(100% - 50px);vertical-align:top}.wpseo-meta-section.active{display:inline-block}.wpseo-metabox-sidebar{float:left;width:50px;padding:0;background-color:#fff}.wpseo-metabox-sidebar ul{margin:0}.wpseo-metabox-sidebar li{display:inline-block;margin-bottom:0;padding:5px}.wpseo-metabox-sidebar a{display:inline-block;width:35px;height:35px;font-size:20px;line-height:30px;text-decoration:none}.wpseo-metabox-sidebar li span{margin:3px 0 0 -5px;padding:0 2px 0 5px;border:0 solid transparent;border-left-width:3px;border-radius:3px}.wpseo-metabox-sidebar li span.wpseo-buy-premium{color:#a4286a}.wpseo-metabox-sidebar li span.wpseo-buy-premium:hover{color:#832055}.wpseo-metabox-sidebar li.active span{border-color:#333;color:#333}.wpseo-metabox-sidebar li.active span.wpseo-buy-premium{border-color:#a4286a;color:#a4286a}.wpseo-metabox-sidebar li.active span.wpseo-buy-premium:hover{border-color:#832055;color:#832055}ul.wpseo-metabox-tabs li{float:left;margin-right:5px;margin-bottom:-1px;padding:0;border:1px solid #dfdfdf;border-bottom:0 none}ul.wpseo-metabox-tabs li .wpseo-keyword{display:inline-block;overflow:hidden;max-width:8em;max-width:8rem;vertical-align:top;white-space:nowrap;text-overflow:ellipsis}.wpseotab{display:none;padding:20px 35px;border:1px solid #ddd;background-color:#fdfdfd}.wpseotab .wpseo-cornerstone-checkbox{margin-right:.5em}.wpseotab.content{padding:20px 15px}.wpseotab.active{display:block}#wpseofocuskeyword,#wpseometakeywords,#wpseosnippet{margin-bottom:2em}.wpseo-metabox-tabs .wpseo_tablink{display:inline-block;padding:5px 12px 6px;vertical-align:top;text-decoration:none}.wpseo-metabox-tabs .wpseo_content_tab a,.wpseo-metabox-tabs .wpseo_content_tab+.wpseo_keyword_tab a{padding-right:12px}.wpseo-metabox-tabs .wpseo-score-icon{margin-left:0}#wpseo-meta-section-social .wpseo-metabox-tabs .wpseo_tablink{padding:5px 7px}.wpseo-metabox-tabs .wpseo_tablink .dashicons{width:16px;height:16px;font-size:16px}.wpseo-metabox-sidebar .dashicons{width:30px;height:30px;font-size:30px}.wpseo-metabox-tabs-div div.wpseo-tabs-panel{overflow:auto;padding:.5em .9em;border:1px solid}#wpseo_meta .inside{margin:0}#wpseo_meta .postbox .inside .wpseotab{font-size:13px!important}.wpseotab .select2-container,.wpseotab input,.wpseotab label,.wpseotab p.error-message,.wpseotab textarea,.yoast-metabox__description{max-width:600px}.wpseotab fieldset{padding-top:5px}.wpseotab label{display:block}.wpseotab input[type=radio]+label,.wpseotab input[type=checkbox]+label{display:inline-block;font-weight:400}.wpseotab fieldset,.wpseotab label{margin-top:2em;margin-bottom:.5em}.wpseotab input[type=checkbox],.wpseotab input[type=checkbox]+label{margin-top:2em;margin-bottom:0;font-size:1em}.wpseotab fieldset:first-child,.wpseotab input[type=checkbox]:first-child,.wpseotab input[type=checkbox]:first-child+label,.wpseotab label:first-child{margin-top:10px}.wpseotab input[type=radio]{margin-top:0}.wpseotab input[type=radio]+label{margin:0 1em 0 0}.wpseotab p.error-message,.yoast-metabox__description{margin:.5em 0}.wpseotab #yoast_wpseo_focuskw_text_input,.wpseotab #yoast_wpseo_metakeywords,.wpseotab select[multiple]{margin-top:0}.wpseotab .wpseo_image_upload_button{margin-left:3px}.good,.warn,.wrong{font-weight:600}.good{color:green}.warn{color:maroon}.wrong{color:#dc3232}#current_seo_title span{padding:2px 5px;background-color:#ffffe0}#focuskwresults ul{margin:0}#focuskwresults li,#focuskwresults p{font-size:13px}#focuskwresults li{margin:0 0 0 20px;list-style-type:disc}.wpseo_hidden{display:none}.wpseo_msg{margin:5px 0 10px;padding:0 5px;border:1px solid #e6db55;background-color:#ffffe0}ul.wpseo-metabox-tabs li.wpseo-tab-add-keyword{border:1px dashed #dfdfdf;border-bottom:none}.wpseo-tab-add-keyword .wpseo-add-keyword.button{height:auto;padding:5px 12px 5px 10px;background:0 0;box-shadow:none;font-size:inherit;font-weight:700;line-height:inherit;vertical-align:top;text-decoration:none}.wpseo-tab-add-keyword .wpseo-add-keyword.button:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wpseo-tab-add-keyword .wpseo-add-keyword.button:active{-ms-transform:none;transform:none}.wpseo-add-keyword-plus{display:inline-block;margin:-1px 3px 0 0;font-size:20px;vertical-align:top}#wpseo-add-keyword-popup-title{margin:1em 0;font-size:1.3em}.snippet-editor__button.snippet-editor__edit-button:focus{border-color:#5b9dd9;outline:0;color:#23282d;background-color:#fafafa;box-shadow:0 0 3px rgba(0,115,170,.8)}.yoast_help.yoast-help-button{overflow:visible;position:relative;width:20px;height:20px;margin:0;padding:0;border:0;outline:0;color:#72777c;background:0 0;box-shadow:none;vertical-align:top;cursor:pointer}.wpseotab .yoast_help.yoast-help-button{float:right}.wpseotab.content .yoast_help.yoast-help-button{margin-top:-47px}.wpseo-admin-page .yoast_help.yoast-help-button{margin-right:6px}.yoast_help.yoast-help-button:before{position:absolute;top:0;left:0;padding:4px;content:"\f223"}.yoast_help.yoast-help-button:focus,.yoast_help.yoast-help-button:hover{color:#0073aa}.assessment-results__mark:focus,.yoast_help.yoast-help-button:focus:before{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-help-panel{display:none;max-width:30em!important;padding:0 0 1em;font-weight:400;white-space:normal}.wpseo-admin-page .subsubsub li{display:inline;max-width:none}.yoast-seo-help-container{float:left;width:100%;max-width:none}.yoast-seo-help-container .yoast-help-panel{margin:.5em 0!important}.wpseo_content_wrapper p.search-box{margin:10px 0 5px}.wpseo-metabox-tabs .active a{color:#333}#wpseotab .ui-widget-content .ui-state-hover{border:1px solid #dfdfdf;color:#333;background:#f1f1f1}.yst-traffic-light-container{display:block;height:30px}.yst-traffic-light{width:19px;height:30px;margin:0 0 0 5px}.yst-traffic-light .traffic-light-color{display:none}.yst-traffic-light.bad .traffic-light-red,.yst-traffic-light.good .traffic-light-green,.yst-traffic-light.init .traffic-light-init,.yst-traffic-light.na .traffic-light-empty,.yst-traffic-light.ok .traffic-light-orange{display:inline}#wpseo-score{float:left;margin:0 5px 0 -5px}.yoast-seo-score .yoast-logo.svg{float:left;width:18px;height:18px;margin-right:5px;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23999%22%20d%3D%22M403%20218h691l%2D26%2072h%2D665q%2D110%200%2D188%2E5%2079t%2D78%2E5%20189v771q0%2095%2060%2E5%20169%2E5t153%2E5%2093%2E5q23%205%2098%205v72h%2D45q%2D140%200%2D239%2E5%2D100t%2D99%2E5%2D240v%2D771q0%2D140%2099%2E5%2D240t239%2E5%2D100zm851%2D218h247l%2D482%201294q%2D23%2061%2D40%2E5%20103%2E5t%2D45%2098%2D54%2093%2E5%2D64%2E5%2078%2E5%2D79%2E5%2065%2D95%2E5%2041%2D116%2018%2E5v%2D195q163%2D26%20220%2D182%2020%2D52%2020%2D105%200%2D54%2D20%2D106l%2D285%2D733h228l187%20585zm474%20558v1111h%2D795q37%2D55%2045%2D73h678v%2D1038q0%2D85%2D49%2E5%2D155t%2D129%2E5%2D99l25%2D67q101%2034%20163%2E5%20123%2E5t62%2E5%20197%2E5z%22%2F%3E%3C%2Fsvg%3E") no-repeat;background-size:18px}.yoast-seo-score .yoast-logo.svg.good{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%237ad03a%22%20d%3D%22M403%20218h691l%2D26%2072h%2D665q%2D110%200%2D188%2E5%2079t%2D78%2E5%20189v771q0%2095%2060%2E5%20169%2E5t153%2E5%2093%2E5q23%205%2098%205v72h%2D45q%2D140%200%2D239%2E5%2D100t%2D99%2E5%2D240v%2D771q0%2D140%2099%2E5%2D240t239%2E5%2D100zm851%2D218h247l%2D482%201294q%2D23%2061%2D40%2E5%20103%2E5t%2D45%2098%2D54%2093%2E5%2D64%2E5%2078%2E5%2D79%2E5%2065%2D95%2E5%2041%2D116%2018%2E5v%2D195q163%2D26%20220%2D182%2020%2D52%2020%2D105%200%2D54%2D20%2D106l%2D285%2D733h228l187%20585zm474%20558v1111h%2D795q37%2D55%2045%2D73h678v%2D1038q0%2D85%2D49%2E5%2D155t%2D129%2E5%2D99l25%2D67q101%2034%20163%2E5%20123%2E5t62%2E5%20197%2E5z%22%2F%3E%3C%2Fsvg%3E")}.yoast-seo-score .yoast-logo.svg.ok{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23ee7c1b%22%20d%3D%22M403%20218h691l%2D26%2072h%2D665q%2D110%200%2D188%2E5%2079t%2D78%2E5%20189v771q0%2095%2060%2E5%20169%2E5t153%2E5%2093%2E5q23%205%2098%205v72h%2D45q%2D140%200%2D239%2E5%2D100t%2D99%2E5%2D240v%2D771q0%2D140%2099%2E5%2D240t239%2E5%2D100zm851%2D218h247l%2D482%201294q%2D23%2061%2D40%2E5%20103%2E5t%2D45%2098%2D54%2093%2E5%2D64%2E5%2078%2E5%2D79%2E5%2065%2D95%2E5%2041%2D116%2018%2E5v%2D195q163%2D26%20220%2D182%2020%2D52%2020%2D105%200%2D54%2D20%2D106l%2D285%2D733h228l187%20585zm474%20558v1111h%2D795q37%2D55%2045%2D73h678v%2D1038q0%2D85%2D49%2E5%2D155t%2D129%2E5%2D99l25%2D67q101%2034%20163%2E5%20123%2E5t62%2E5%20197%2E5z%22%2F%3E%3C%2Fsvg%3E")}.yoast-seo-score .yoast-logo.svg.bad{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23dc3232%22%20d%3D%22M403%20218h691l%2D26%2072h%2D665q%2D110%200%2D188%2E5%2079t%2D78%2E5%20189v771q0%2095%2060%2E5%20169%2E5t153%2E5%2093%2E5q23%205%2098%205v72h%2D45q%2D140%200%2D239%2E5%2D100t%2D99%2E5%2D240v%2D771q0%2D140%2099%2E5%2D240t239%2E5%2D100zm851%2D218h247l%2D482%201294q%2D23%2061%2D40%2E5%20103%2E5t%2D45%2098%2D54%2093%2E5%2D64%2E5%2078%2E5%2D79%2E5%2065%2D95%2E5%2041%2D116%2018%2E5v%2D195q163%2D26%20220%2D182%2020%2D52%2020%2D105%200%2D54%2D20%2D106l%2D285%2D733h228l187%20585zm474%20558v1111h%2D795q37%2D55%2045%2D73h678v%2D1038q0%2D85%2D49%2E5%2D155t%2D129%2E5%2D99l25%2D67q101%2034%20163%2E5%20123%2E5t62%2E5%20197%2E5z%22%2F%3E%3C%2Fsvg%3E")}.yoast-seo-score .yoast-logo.svg.na{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23999%22%20d%3D%22M403%20218h691l%2D26%2072h%2D665q%2D110%200%2D188%2E5%2079t%2D78%2E5%20189v771q0%2095%2060%2E5%20169%2E5t153%2E5%2093%2E5q23%205%2098%205v72h%2D45q%2D140%200%2D239%2E5%2D100t%2D99%2E5%2D240v%2D771q0%2D140%2099%2E5%2D240t239%2E5%2D100zm851%2D218h247l%2D482%201294q%2D23%2061%2D40%2E5%20103%2E5t%2D45%2098%2D54%2093%2E5%2D64%2E5%2078%2E5%2D79%2E5%2065%2D95%2E5%2041%2D116%2018%2E5v%2D195q163%2D26%20220%2D182%2020%2D52%2020%2D105%200%2D54%2D20%2D106l%2D285%2D733h228l187%20585zm474%20558v1111h%2D795q37%2D55%2045%2D73h678v%2D1038q0%2D85%2D49%2E5%2D155t%2D129%2E5%2D99l25%2D67q101%2034%20163%2E5%20123%2E5t62%2E5%20197%2E5z%22%2F%3E%3C%2Fsvg%3E")}.yoast-seo-score .yoast-logo.svg.noindex{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%231e8cbe%22%20d%3D%22M403%20218h691l%2D26%2072h%2D665q%2D110%200%2D188%2E5%2079t%2D78%2E5%20189v771q0%2095%2060%2E5%20169%2E5t153%2E5%2093%2E5q23%205%2098%205v72h%2D45q%2D140%200%2D239%2E5%2D100t%2D99%2E5%2D240v%2D771q0%2D140%2099%2E5%2D240t239%2E5%2D100zm851%2D218h247l%2D482%201294q%2D23%2061%2D40%2E5%20103%2E5t%2D45%2098%2D54%2093%2E5%2D64%2E5%2078%2E5%2D79%2E5%2065%2D95%2E5%2041%2D116%2018%2E5v%2D195q163%2D26%20220%2D182%2020%2D52%2020%2D105%200%2D54%2D20%2D106l%2D285%2D733h228l187%20585zm474%20558v1111h%2D795q37%2D55%2045%2D73h678v%2D1038q0%2D85%2D49%2E5%2D155t%2D129%2E5%2D99l25%2D67q101%2034%20163%2E5%20123%2E5t62%2E5%20197%2E5z%22%2F%3E%3C%2Fsvg%3E")}.term-php .wpseo-taxonomy-metabox-postbox>h2{margin:0;padding:8px 12px;border-bottom:1px solid #eee;font-size:14px;line-height:1.4}.wpseo-buy-premium{padding-right:5px;color:#a4286a}.wpseo-metabox-go-to::after{position:static;top:auto;right:auto;width:auto;height:auto;border:none;content:" \00BB"}#wpseo-buy-premium-popup-button.button-buy-premium{border-color:#a4286a;color:#fff;background:#a4286a}.wpseo-metabox-buy-premium{position:absolute;top:0;right:12px;padding:8px 0}.wpseosnippet .yoast-section{width:auto;max-width:640px;padding:0}#TB_window #TB_ajaxContent p{margin:5px 0 0;padding:5px 0 0}#TB_window #TB_ajaxContent ul{margin:5px 0 10px}#TB_window #TB_ajaxContent li{margin:5px 0 0;list-style:none}#TB_window #TB_ajaxContent li::before{margin:0 10px 0 0;font-weight:700;content:"+"}.yoast-section__heading-icon-list{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555%22%20d%3D%22M384%201408q0%2080%2D56%20136t%2D136%2056%2D136%2D56%2D56%2D136%2056%2D136%20136%2D56%20136%2056%2056%20136zm0%2D512q0%2080%2D56%20136t%2D136%2056%2D136%2D56%2D56%2D136%2056%2D136%20136%2D56%20136%2056%2056%20136zm1408%20416v192q0%2013%2D9%2E5%2022%2E5t%2D22%2E5%209%2E5h%2D1216q%2D13%200%2D22%2E5%2D9%2E5t%2D9%2E5%2D22%2E5v%2D192q0%2D13%209%2E5%2D22%2E5t22%2E5%2D9%2E5h1216q13%200%2022%2E5%209%2E5t9%2E5%2022%2E5zm%2D1408%2D928q0%2080%2D56%20136t%2D136%2056%2D136%2D56%2D56%2D136%2056%2D136%20136%2D56%20136%2056%2056%20136zm1408%20416v192q0%2013%2D9%2E5%2022%2E5t%2D22%2E5%209%2E5h%2D1216q%2D13%200%2D22%2E5%2D9%2E5t%2D9%2E5%2D22%2E5v%2D192q0%2D13%209%2E5%2D22%2E5t22%2E5%2D9%2E5h1216q13%200%2022%2E5%209%2E5t9%2E5%2022%2E5zm0%2D512v192q0%2013%2D9%2E5%2022%2E5t%2D22%2E5%209%2E5h%2D1216q%2D13%200%2D22%2E5%2D9%2E5t%2D9%2E5%2D22%2E5v%2D192q0%2D13%209%2E5%2D22%2E5t22%2E5%2D9%2E5h1216q13%200%2022%2E5%209%2E5t9%2E5%2022%2E5z%22%2F%3E%3C%2Fsvg%3E")}.yoast-section__heading-icon-key{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555%22%20d%3D%22M832%20512q0%2D80%2D56%2D136t%2D136%2D56%2D136%2056%2D56%20136q0%2042%2019%2083%2D41%2D19%2D83%2D19%2D80%200%2D136%2056t%2D56%20136%2056%20136%20136%2056%20136%2D56%2056%2D136q0%2D42%2D19%2D83%2041%2019%2083%2019%2080%200%20136%2D56t56%2D136zm851%20704q0%2017%2D49%2066t%2D66%2049q%2D9%200%2D28%2E5%2D16t%2D36%2E5%2D33%2D38%2E5%2D40%2D24%2E5%2D26l%2D96%2096%20220%20220q28%2028%2028%2068%200%2042%2D39%2081t%2D81%2039q%2D40%200%2D68%2D28l%2D671%2D671q%2D176%20131%2D365%20131%2D163%200%2D265%2E5%2D102%2E5t%2D102%2E5%2D265%2E5q0%2D160%2095%2D313t248%2D248%20313%2D95q163%200%20265%2E5%20102%2E5t102%2E5%20265%2E5q0%20189%2D131%20365l355%20355%2096%2D96q%2D3%2D3%2D26%2D24%2E5t%2D40%2D38%2E5%2D33%2D36%2E5%2D16%2D28%2E5q0%2D17%2049%2D66t66%2D49q13%200%2023%2010%206%206%2046%2044%2E5t82%2079%2E5%2086%2E5%2086%2073%2078%2028%2E5%2041z%22%2F%3E%3C%2Fsvg%3E")}.yoast-section__heading-icon-edit{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555%22%20d%3D%22M491%201536l91%2D91%2D235%2D235%2D91%2091v107h128v128h107zm523%2D928q0%2D22%2D22%2D22%2D10%200%2D17%207l%2D542%20542q%2D7%207%2D7%2017%200%2022%2022%2022%2010%200%2017%2D7l542%2D542q7%2D7%207%2D17zm%2D54%2D192l416%20416%2D832%20832h%2D416v%2D416zm683%2096q0%2053%2D37%2090l%2D166%20166%2D416%2D416%20166%2D165q36%2D38%2090%2D38%2053%200%2091%2038l235%20234q37%2039%2037%2091z%22%20%2F%3E%3C%2Fsvg%3E")}.yoast-tooltip.yoast-tooltip-hidden::after,.yoast-tooltip.yoast-tooltip-hidden::before{display:none}.screen-reader-text.wpseo-generic-tab-textual-score,.screen-reader-text.wpseo-keyword-tab-textual-score{display:block}.yoast-notice-go-premium{border-left-color:#a4286a;background:#f1f1f1}@media screen and (max-width:782px){.wpseo-metabox-sidebar{display:inline-block;float:none;width:auto;margin:0 0 10px -5px;padding:0;vertical-align:top}.wpseo-meta-section.active{display:block;clear:both;max-width:none}.wpseo-metabox-sidebar ul{display:inline-block}.wpseo-metabox-sidebar li{float:left;text-align:center}.wpseo-metabox-sidebar .wpseo-meta-section-link{width:40px;height:40px}.wpseo-meta-section-link .dashicons,.wpseo-meta-section-link .yst-traffic-light-container{display:block;width:40px;height:35px;margin:0;padding:5px 0 2px;border-bottom-width:3px;border-left-width:0}.wpseo-meta-section-link .dashicons:before,.wpseo-meta-section-link .yst-traffic-light{margin:0}.wpseo-meta-section-link .dashicons-admin-generic:before{position:relative;left:1px}.wpseo-metabox-buy-premium .wpseo-buy-premium{display:inline-block;width:20px;height:20px;padding:0 5px}.yoast-help-panel{max-width:none!important}#wpseo-crawl-issues-table-form .subsubsub{float:none;max-width:calc(100vw - 20px)}#wpseo-crawl-issues-table-form .yoast-help-button{margin-top:3px}.wpseotab select[multiple]{height:auto!important}}@media screen and (max-width:600px){.wpseotab{padding:20px}.wpseotab.content{padding:20px 0}}.yoast-help-center .yoast-help-center__button{min-height:0;margin:0;padding:8px 0;border:none;color:#0073aa;box-shadow:none;font:inherit;text-decoration:underline;text-transform:none}.yoast-help-center .yoast-help-center__button svg{margin:0 13px}#edittag .yoast-video-tutorial__video-container{float:none;max-width:100%;margin:0 auto}#edittag .yoast-video-tutorial__descriptions{margin:0 auto;padding:0}@media screen and (max-width:1480px){#poststuff .yoast-video-tutorial__video-container{float:none;max-width:100%;margin:0 auto}#poststuff .yoast-video-tutorial__descriptions{margin:0 auto;padding:0}}.wpseo-metabox #yoast-help-center-container{margin:8px 0} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/metabox-primary-category-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/metabox-primary-category-571-rtl.min.css new file mode 100644 index 00000000..a84238fa --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/metabox-primary-category-571-rtl.min.css @@ -0,0 +1 @@ +.wpseo-is-primary-term,.wpseo-primary-term>label{font-weight:600}.wpseo-non-primary-term>.wpseo-is-primary-term,.wpseo-primary-term>.wpseo-make-primary-term,.wpseo-term-unchecked>.wpseo-is-primary-term,.wpseo-term-unchecked>.wpseo-make-primary-term{display:none}.wpseo-is-primary-term,.wpseo-make-primary-term{float:left}.wpseo-non-primary-term:after,.wpseo-non-primary-term:before,.wpseo-primary-term:after,.wpseo-primary-term:before{display:table;content:""}.wpseo-non-primary-term:after,.wpseo-primary-term:after{clear:both}.wpseo-make-primary-term{margin:4px 0 0;padding:0;border:none;color:#0073aa;background:0 0;text-decoration:underline;cursor:pointer}.wpseo-make-primary-term:hover{color:#00a0d2} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/metabox-primary-category-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/metabox-primary-category-571.min.css new file mode 100644 index 00000000..04564fad --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/metabox-primary-category-571.min.css @@ -0,0 +1 @@ +.wpseo-is-primary-term,.wpseo-primary-term>label{font-weight:600}.wpseo-non-primary-term>.wpseo-is-primary-term,.wpseo-primary-term>.wpseo-make-primary-term,.wpseo-term-unchecked>.wpseo-is-primary-term,.wpseo-term-unchecked>.wpseo-make-primary-term{display:none}.wpseo-is-primary-term,.wpseo-make-primary-term{float:right}.wpseo-non-primary-term:after,.wpseo-non-primary-term:before,.wpseo-primary-term:after,.wpseo-primary-term:before{display:table;content:""}.wpseo-non-primary-term:after,.wpseo-primary-term:after{clear:both}.wpseo-make-primary-term{margin:4px 0 0;padding:0;border:none;color:#0073aa;background:0 0;text-decoration:underline;cursor:pointer}.wpseo-make-primary-term:hover{color:#00a0d2} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/select2/select2.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/select2/select2.min.css new file mode 100644 index 00000000..76de04d9 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/select2/select2.min.css @@ -0,0 +1 @@ +.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/snippet-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/snippet-571-rtl.min.css new file mode 100644 index 00000000..0d539c51 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/snippet-571-rtl.min.css @@ -0,0 +1 @@ +#snippet_preview{font-family:Arial,Helvetica,sans-serif;font-style:normal}.wpseosnippet .snippet-editor__label{font-size:1rem;font-weight:400;line-height:1}input[type=text].snippet-editor__field--invalid{color:#dc3232} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/snippet-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/snippet-571.min.css new file mode 100644 index 00000000..0d539c51 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/snippet-571.min.css @@ -0,0 +1 @@ +#snippet_preview{font-family:Arial,Helvetica,sans-serif;font-style:normal}.wpseosnippet .snippet-editor__label{font-size:1rem;font-weight:400;line-height:1}input[type=text].snippet-editor__field--invalid{color:#dc3232} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/toggle-switch-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/toggle-switch-571-rtl.min.css new file mode 100644 index 00000000..d4c5cd96 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/toggle-switch-571-rtl.min.css @@ -0,0 +1 @@ +@charset "UTF-8";.switch-light span span,.switch-toggle a{display:none}@media only screen{.switch-light,.switch-toggle{display:block;position:relative;padding:0!important}.switch-light::after,.switch-toggle::after{display:table;clear:both;content:""}.switch-light *,.switch-light :after,.switch-light :before,.switch-toggle *,.switch-toggle :after,.switch-toggle :before{box-sizing:border-box}.switch-light a,.switch-toggle a{display:block;transition:all .2s ease-out}.switch-light label,.switch-light>span,.switch-toggle label,.switch-toggle>span{line-height:2em;vertical-align:middle}.switch-light input{position:absolute;z-index:3;opacity:0}.switch-light input:checked~span a{left:0}.switch-light strong{font-weight:inherit}.switch-light>span{position:relative;min-height:2em;padding:0;text-align:right}.switch-light span span{display:block;float:right;position:relative;z-index:2;width:50%;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch-light a{display:block;position:absolute;z-index:1;top:0;left:50%;width:50%;height:100%;padding:0}.switch-toggle input{position:absolute;right:0;opacity:0}.switch-toggle input+label{display:block;float:right;position:relative;z-index:2;margin:0;padding:0 .5em;text-align:center}.switch-toggle a{position:absolute;z-index:1;top:0;right:0;width:10px;height:100%;padding:0}.switch-toggle label:nth-child(2):nth-last-child(4),.switch-toggle label:nth-child(2):nth-last-child(4)~a,.switch-toggle label:nth-child(2):nth-last-child(4)~label{width:50%}.switch-toggle label:nth-child(2):nth-last-child(4)~input:checked:nth-child(3)+label~a{right:50%}.switch-toggle label:nth-child(2):nth-last-child(6),.switch-toggle label:nth-child(2):nth-last-child(6)~a,.switch-toggle label:nth-child(2):nth-last-child(6)~label{width:33.33%}.switch-toggle label:nth-child(2):nth-last-child(6)~input:checked:nth-child(3)+label~a{right:33.33%}.switch-toggle label:nth-child(2):nth-last-child(6)~input:checked:nth-child(5)+label~a{right:66.66%}.switch-toggle label:nth-child(2):nth-last-child(8),.switch-toggle label:nth-child(2):nth-last-child(8)~a,.switch-toggle label:nth-child(2):nth-last-child(8)~label{width:25%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(3)+label~a{right:25%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(5)+label~a{right:50%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(7)+label~a{right:75%}.switch-toggle label:nth-child(2):nth-last-child(10),.switch-toggle label:nth-child(2):nth-last-child(10)~a,.switch-toggle label:nth-child(2):nth-last-child(10)~label{width:20%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(3)+label~a{right:20%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(5)+label~a{right:40%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(7)+label~a{right:60%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(9)+label~a{right:80%}.switch-toggle label:nth-child(2):nth-last-child(12),.switch-toggle label:nth-child(2):nth-last-child(12)~a,.switch-toggle label:nth-child(2):nth-last-child(12)~label{width:16.6%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(3)+label~a{right:16.6%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(5)+label~a{right:33.2%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(7)+label~a{right:49.8%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(9)+label~a{right:66.4%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(11)+label~a{right:83%}.switch-candy a{box-shadow:0 1px 1px rgba(0,0,0,.2),inset 0 1px 1px rgba(255,255,255,.45)}}@media only screen and (-webkit-max-device-pixel-ratio:2) and (max-device-width:80em){.switch-light,.switch-toggle{-webkit-animation:webkitSiblingBugfix infinite 1s}}.fieldset-switch-toggle label{float:none}@media only screen{.switch-light.switch-yoast-seo{margin-bottom:.2em}.fieldset-switch-toggle legend,.switch-light.switch-yoast-seo>strong{display:block;box-sizing:border-box;min-width:200px;margin-top:10px;padding-left:1em;font-weight:600;line-height:2em;vertical-align:middle}.switch-light.switch-yoast-seo>span,.switch-toggle.switch-yoast-seo{width:250px;border:1px solid #ccc;border-radius:.5em;background-color:#dcdcdc;box-shadow:inset 0 2px 4px rgba(0,0,0,.15)}.switch-light.switch-yoast-seo,.switch-toggle.switch-yoast-seo{float:right}.switch-light.switch-yoast-seo>span{display:inline-block;overflow:visible}.switch-light.switch-yoast-seo a,.switch-toggle.switch-yoast-seo a{border:1px solid #b5b5b5;border-radius:.5em;background:#a4286a}.switch-light.switch-yoast-seo input:focus+label,.switch-light.switch-yoast-seo input:focus~span a,.switch-toggle.switch-yoast-seo input:focus+label,.switch-toggle.switch-yoast-seo input:focus~span a{outline:0}.switch-light.switch-yoast-seo input:focus~span a,.switch-toggle.switch-yoast-seo input:focus~a{border-color:#5b9dd9!important;box-shadow:0 0 2px rgba(0,115,170,.8)!important}.switch-light.switch-yoast-seo input:checked~span a,.switch-toggle.switch-yoast-seo input:checked~span a{border:1px solid #b5b5b5;background:#a4286a}.switch-light.switch-yoast-seo input:checked~span span:first-child,.switch-light.switch-yoast-seo span span,.switch-toggle.switch-yoast-seo label{color:#333;text-shadow:none;font-weight:inherit}.switch-candy.switch-yoast-seo input:checked+label,.switch-candy.switch-yoast-seo input:checked~span span:nth-child(2),.switch-candy.switch-yoast-seo input~span span:first-child{color:#fff;text-shadow:none}.switch-light.switch-yoast-seo-reverse input:checked~span a{right:0}.switch-light.switch-yoast-seo-reverse a{right:50%}.switch-light.switch-yoast-seo-reverse span span{float:left}.switch-toggle.switch-yoast-seo label,label.switch-light.switch-yoast-seo{margin-right:0;cursor:pointer}.switch-yoast-seo .switch-yoast-seo-jaws-a11y{display:block;overflow:hidden;height:1px;margin-bottom:-1px}.switch-light.switch-yoast-seo label code,.switch-toggle.switch-yoast-seo label code{background-color:inherit;vertical-align:top}.switch-container .label-text{display:block;margin:.5em 0;font-weight:600}.switch-container{clear:both;margin:0 0 1em}.switch-container+.switch-container{margin-top:.5em}.switch-container+p{margin:-.5em 0 1em}} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/toggle-switch-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/toggle-switch-571.min.css new file mode 100644 index 00000000..af082b71 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/toggle-switch-571.min.css @@ -0,0 +1 @@ +@charset "UTF-8";.switch-light span span,.switch-toggle a{display:none}@media only screen{.switch-light,.switch-toggle{display:block;position:relative;padding:0!important}.switch-light::after,.switch-toggle::after{display:table;clear:both;content:""}.switch-light *,.switch-light :after,.switch-light :before,.switch-toggle *,.switch-toggle :after,.switch-toggle :before{box-sizing:border-box}.switch-light a,.switch-toggle a{display:block;transition:all .2s ease-out}.switch-light label,.switch-light>span,.switch-toggle label,.switch-toggle>span{line-height:2em;vertical-align:middle}.switch-light input{position:absolute;z-index:3;opacity:0}.switch-light input:checked~span a{right:0}.switch-light strong{font-weight:inherit}.switch-light>span{position:relative;min-height:2em;padding:0;text-align:left}.switch-light span span{display:block;float:left;position:relative;z-index:2;width:50%;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch-light a{display:block;position:absolute;z-index:1;top:0;right:50%;width:50%;height:100%;padding:0}.switch-toggle input{position:absolute;left:0;opacity:0}.switch-toggle input+label{display:block;float:left;position:relative;z-index:2;margin:0;padding:0 .5em;text-align:center}.switch-toggle a{position:absolute;z-index:1;top:0;left:0;width:10px;height:100%;padding:0}.switch-toggle label:nth-child(2):nth-last-child(4),.switch-toggle label:nth-child(2):nth-last-child(4)~a,.switch-toggle label:nth-child(2):nth-last-child(4)~label{width:50%}.switch-toggle label:nth-child(2):nth-last-child(4)~input:checked:nth-child(3)+label~a{left:50%}.switch-toggle label:nth-child(2):nth-last-child(6),.switch-toggle label:nth-child(2):nth-last-child(6)~a,.switch-toggle label:nth-child(2):nth-last-child(6)~label{width:33.33%}.switch-toggle label:nth-child(2):nth-last-child(6)~input:checked:nth-child(3)+label~a{left:33.33%}.switch-toggle label:nth-child(2):nth-last-child(6)~input:checked:nth-child(5)+label~a{left:66.66%}.switch-toggle label:nth-child(2):nth-last-child(8),.switch-toggle label:nth-child(2):nth-last-child(8)~a,.switch-toggle label:nth-child(2):nth-last-child(8)~label{width:25%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(3)+label~a{left:25%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(5)+label~a{left:50%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(7)+label~a{left:75%}.switch-toggle label:nth-child(2):nth-last-child(10),.switch-toggle label:nth-child(2):nth-last-child(10)~a,.switch-toggle label:nth-child(2):nth-last-child(10)~label{width:20%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(3)+label~a{left:20%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(5)+label~a{left:40%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(7)+label~a{left:60%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(9)+label~a{left:80%}.switch-toggle label:nth-child(2):nth-last-child(12),.switch-toggle label:nth-child(2):nth-last-child(12)~a,.switch-toggle label:nth-child(2):nth-last-child(12)~label{width:16.6%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(3)+label~a{left:16.6%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(5)+label~a{left:33.2%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(7)+label~a{left:49.8%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(9)+label~a{left:66.4%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(11)+label~a{left:83%}.switch-candy a{box-shadow:0 1px 1px rgba(0,0,0,.2),inset 0 1px 1px rgba(255,255,255,.45)}}@media only screen and (-webkit-max-device-pixel-ratio:2) and (max-device-width:80em){.switch-light,.switch-toggle{-webkit-animation:webkitSiblingBugfix infinite 1s}}.fieldset-switch-toggle label{float:none}@media only screen{.switch-light.switch-yoast-seo{margin-bottom:.2em}.fieldset-switch-toggle legend,.switch-light.switch-yoast-seo>strong{display:block;box-sizing:border-box;min-width:200px;margin-top:10px;padding-right:1em;font-weight:600;line-height:2em;vertical-align:middle}.switch-light.switch-yoast-seo>span,.switch-toggle.switch-yoast-seo{width:250px;border:1px solid #ccc;border-radius:.5em;background-color:#dcdcdc;box-shadow:inset 0 2px 4px rgba(0,0,0,.15)}.switch-light.switch-yoast-seo,.switch-toggle.switch-yoast-seo{float:left}.switch-light.switch-yoast-seo>span{display:inline-block;overflow:visible}.switch-light.switch-yoast-seo a,.switch-toggle.switch-yoast-seo a{border:1px solid #b5b5b5;border-radius:.5em;background:#a4286a}.switch-light.switch-yoast-seo input:focus+label,.switch-light.switch-yoast-seo input:focus~span a,.switch-toggle.switch-yoast-seo input:focus+label,.switch-toggle.switch-yoast-seo input:focus~span a{outline:0}.switch-light.switch-yoast-seo input:focus~span a,.switch-toggle.switch-yoast-seo input:focus~a{border-color:#5b9dd9!important;box-shadow:0 0 2px rgba(0,115,170,.8)!important}.switch-light.switch-yoast-seo input:checked~span a,.switch-toggle.switch-yoast-seo input:checked~span a{border:1px solid #b5b5b5;background:#a4286a}.switch-light.switch-yoast-seo input:checked~span span:first-child,.switch-light.switch-yoast-seo span span,.switch-toggle.switch-yoast-seo label{color:#333;text-shadow:none;font-weight:inherit}.switch-candy.switch-yoast-seo input:checked+label,.switch-candy.switch-yoast-seo input:checked~span span:nth-child(2),.switch-candy.switch-yoast-seo input~span span:first-child{color:#fff;text-shadow:none}.switch-light.switch-yoast-seo-reverse input:checked~span a{left:0}.switch-light.switch-yoast-seo-reverse a{left:50%}.switch-light.switch-yoast-seo-reverse span span{float:right}.switch-toggle.switch-yoast-seo label,label.switch-light.switch-yoast-seo{margin-left:0;cursor:pointer}.switch-yoast-seo .switch-yoast-seo-jaws-a11y{display:block;overflow:hidden;height:1px;margin-bottom:-1px}.switch-light.switch-yoast-seo label code,.switch-toggle.switch-yoast-seo label code{background-color:inherit;vertical-align:top}.switch-container .label-text{display:block;margin:.5em 0;font-weight:600}.switch-container{clear:both;margin:0 0 1em}.switch-container+.switch-container{margin-top:.5em}.switch-container+p{margin:-.5em 0 1em}} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-571-rtl.min.css new file mode 100644 index 00000000..f7d21e53 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-571-rtl.min.css @@ -0,0 +1 @@ +.yoast-notice-dismiss{position:absolute;top:0;left:1px;margin:0;padding:9px;border:none;color:#b4b9be;background:0 0;cursor:pointer;text-decoration:none}.yoast-notice-dismiss:before{display:block!important;width:20px;height:20px;color:#b4b9be;background:0 0;font:400 16px/1 dashicons;text-align:center;content:"\f153";-webkit-font-smoothing:antialiased!important;speak:none;position:relative;top:0;right:0;line-height:20px}.yoast-notice-dismiss:active:before,.yoast-notice-dismiss:focus:before,.yoast-notice-dismiss:hover:before{color:#c00}.yoast-notice-dismiss:focus{outline:0;color:#c00;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 .yoast-notice-dismiss:focus{outline:#5b9dd9 solid 1px}.yoast-notice.is-dismissible{position:relative} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-571.min.css new file mode 100644 index 00000000..f90fda18 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-571.min.css @@ -0,0 +1 @@ +.yoast-notice-dismiss{position:absolute;top:0;right:1px;margin:0;padding:9px;border:none;color:#b4b9be;background:0 0;cursor:pointer;text-decoration:none}.yoast-notice-dismiss:before{display:block!important;width:20px;height:20px;color:#b4b9be;background:0 0;font:400 16px/1 dashicons;text-align:center;content:"\f153";-webkit-font-smoothing:antialiased!important;speak:none;position:relative;top:0;left:0;line-height:20px}.yoast-notice-dismiss:active:before,.yoast-notice-dismiss:focus:before,.yoast-notice-dismiss:hover:before{color:#c00}.yoast-notice-dismiss:focus{outline:0;color:#c00;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 .yoast-notice-dismiss:focus{outline:#5b9dd9 solid 1px}.yoast-notice.is-dismissible{position:relative} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/yoast-components-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/yoast-components-571-rtl.min.css new file mode 100644 index 00000000..0a2a54b2 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/yoast-components-571-rtl.min.css @@ -0,0 +1 @@ +.yoast-wizard--step--container:focus,a{outline:0}body{background:#f1f1f1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;line-height:1.375}a{color:#0073aa;transition-timing-function:ease-in-out;transition-duration:50ms;transition-property:border,background,color}a:active,a:hover{color:#00a0d2}a:focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.screen-reader-text{overflow:hidden;clip:rect(1px,1px,1px,1px);position:absolute!important;width:1px;height:1px;padding:0;border:0;word-wrap:normal!important;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.yoast-search-result-preview{overflow:hidden;background-color:#fff;font-family:Arial,sans-serif}.yoast-search-result-preview__heading{margin:0 -20px 15px;padding:8px 20px;border-bottom:1px solid #f7f7f7;color:#555;font-family:"Open Sans",sans-serif;font-size:.9rem;font-weight:300}.yoast-search-result-preview__field{overflow:hidden;position:relative;width:600px;cursor:pointer}.yoast-search-result-preview__field:after,.yoast-search-result-preview__field:before{display:table;content:" "}.yoast-search-result-preview__field--focus:before,.yoast-search-result-preview__field--hover:before{position:absolute;right:-3px;width:24px;height:24px;margin-top:-3px;background-size:25px;content:"";display:block}.yoast-search-result-preview__field:after{clear:both}.yoast-search-result-preview__field--hover:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23646464%22%20d%3D%22M1152%20896q0%2026%2D19%2045l%2D448%20448q%2D19%2019%2D45%2019t%2D45%2D19%2D19%2D45v%2D896q0%2D26%2019%2D45t45%2D19%2045%2019l448%20448q19%2019%2019%2045z%22%20%2F%3E%3C%2Fsvg%3E")}.yoast-search-result-preview__field--focus:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%230066cd%22%20d%3D%22M1152%20896q0%2026%2D19%2045l%2D448%20448q%2D19%2019%2D45%2019t%2D45%2D19%2D19%2D45v%2D896q0%2D26%2019%2D45t45%2D19%2045%2019l448%20448q19%2019%2019%2045z%22%20%2F%3E%3C%2Fsvg%3E")}.yoast-search-result-preview__title{overflow:hidden;margin:0;color:#1a0dab;font-size:18px;font-weight:400;line-height:1.2;white-space:nowrap;text-decoration:none;text-overflow:ellipsis}.yoast-search-result-preview__url{color:#006621;font-size:14px;font-style:normal;line-height:16px}.yoast-search-result-preview__date,.yoast-search-result-preview__description{font-size:13px;line-height:1.4}.yoast-search-result-preview__date{color:grey}.yoast-search-result-preview__description{color:#545454}.yoast-icon,.yoast-icon__eye{padding-right:45px}.yoast-icon__eye{background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555%22%20d%3D%22M1664%20960q%2D152%2D236%2D381%2D353%2061%20104%2061%20225%200%20185%2D131%2E5%20316%2E5t%2D316%2E5%20131%2E5%2D316%2E5%2D131%2E5%2D131%2E5%2D316%2E5q0%2D121%2061%2D225%2D229%20117%2D381%20353%20133%20205%20333%2E5%20326%2E5t434%2E5%20121%2E5%20434%2E5%2D121%2E5%20333%2E5%2D326%2E5zm%2D720%2D384q0%2D20%2D14%2D34t%2D34%2D14q%2D125%200%2D214%2E5%2089%2E5t%2D89%2E5%20214%2E5q0%2020%2014%2034t34%2014%2034%2D14%2014%2D34q0%2D86%2061%2D147t147%2D61q20%200%2034%2D14t14%2D34zm848%20384q0%2034%2D20%2069%2D140%20230%2D376%2E5%20368%2E5t%2D499%2E5%20138%2E5%2D499%2E5%2D139%2D376%2E5%2D368q%2D20%2D35%2D20%2D69t20%2D69q140%2D229%20376%2E5%2D368t499%2E5%2D139%20499%2E5%20139%20376%2E5%20368q20%2035%2020%2069z%22%20%2F%3E%3C%2Fsvg%3E") 20px center/16px 16px no-repeat}.yoast-button,.yoast-button__edit{padding:8px 10px;border:1px solid #ccc;border-radius:4px;color:#555;background:#f7f7f7;font-size:.8rem;cursor:pointer}.yoast-button__edit{display:block;margin-top:1em;padding-right:32px;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555%22%20d%3D%22M491%201536l91%2D91%2D235%2D235%2D91%2091v107h128v128h107zm523%2D928q0%2D22%2D22%2D22%2D10%200%2D17%207l%2D542%20542q%2D7%207%2D7%2017%200%2022%2022%2022%2010%200%2017%2D7l542%2D542q7%2D7%207%2D17zm%2D54%2D192l416%20416%2D832%20832h%2D416v%2D416zm683%2096q0%2053%2D37%2090l%2D166%20166%2D416%2D416%20166%2D165q36%2D38%2090%2D38%2053%200%2091%2038l235%20234q37%2039%2037%2091z%22%20%2F%3E%3C%2Fsvg%3E") 8px center/16px 16px no-repeat #f7f7f7;background-size:16px}.yoast-search-result-form{overflow:hidden;background-color:#fff;font-family:Arial,sans-serif}.yoast-search-result-form__heading{margin:0 -20px 15px;padding:8px 20px;border-bottom:1px solid #f7f7f7;color:#555;font-family:"Open Sans",sans-serif;font-size:.9rem;font-weight:300}.yoast-search-result-form__container--focus:before,.yoast-search-result-form__container--hover:before{position:absolute;right:-3px;width:24px;height:24px;margin-top:15px;background-size:25px;content:"";display:block}.yoast-search-result-form__container--hover:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23646464%22%20d%3D%22M1152%20896q0%2026%2D19%2045l%2D448%20448q%2D19%2019%2D45%2019t%2D45%2D19%2D19%2D45v%2D896q0%2D26%2019%2D45t45%2D19%2045%2019l448%20448q19%2019%2019%2045z%22%20%2F%3E%3C%2Fsvg%3E")}.yoast-search-result-form__container--focus:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%230066cd%22%20d%3D%22M1152%20896q0%2026%2D19%2045l%2D448%20448q%2D19%2019%2D45%2019t%2D45%2D19%2D19%2D45v%2D896q0%2D26%2019%2D45t45%2D19%2045%2019l448%20448q19%2019%2019%2045z%22%20%2F%3E%3C%2Fsvg%3E")}.yoast-search-result-form__label{display:block;width:100%;margin-top:1em}.yoast-search-result-form__field{box-sizing:border-box;width:100%;border:1px solid #ddd}.yoast-search-result-form__description{display:block;box-sizing:border-box;width:100%;height:70px;border:1px solid #ddd}.yoast-search-result-form__progress{display:block;box-sizing:border-box;width:100%;height:8px;margin-top:5px;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.yoast-search-result-form__progress::-webkit-progress-bar{border:1px solid #ddd;background-color:#f7f7f7}.yoast-search-result-form__close-button{margin-top:1em}.yoast-search-result-form__progress--bad{color:#dc3232}.yoast-search-result-form__progress--bad::-webkit-progress-value{background-color:#dc3232;transition:width 250ms}.yoast-search-result-form__progress--bad::-moz-progress-bar{background-color:#dc3232}.yoast-search-result-form__progress--bad--fallback{overflow:hidden;max-width:100%;background-color:#dc3232}.yoast-search-result-form__progress--ok{color:#ee7c1b}.yoast-search-result-form__progress--ok::-webkit-progress-value{background-color:#ee7c1b;transition:width 250ms}.yoast-search-result-form__progress--ok::-moz-progress-bar{background-color:#ee7c1b}.yoast-search-result-form__progress--ok--fallback{overflow:hidden;max-width:100%;background-color:#ee7c1b}.yoast-search-result-form__progress--good{color:#7ad03a}.yoast-search-result-form__progress--good::-webkit-progress-value{background-color:#7ad03a;transition:width 250ms}.yoast-search-result-form__progress--good::-moz-progress-bar{background-color:#7ad03a}.yoast-search-result-form__progress--good--fallback{overflow:hidden;max-width:100%;background-color:#7ad03a}.yoast-search-result-editor{position:relative;width:640px;padding:0 20px 20px;border:1px solid #f7f7f7;border-radius:20px;background-color:#fff;font-family:Arial,sans-serif}body{margin:0;padding:0}#container{max-width:1660px;margin:0 auto}.yoast-wizard-body{box-sizing:border-box;width:80%;margin:1rem auto 4rem}@media screen and (max-width:768px){.yoast-wizard-body{width:auto;margin:0}}.yoast-wizard__logo{display:block;margin:0 auto}.yoast-wizard{box-sizing:border-box;width:100%;min-height:20px;padding:2em;background:#fff;text-align:right}@media screen and (max-width:768px){.yoast-wizard{padding:1em 1em 2em}}.yoast-wizard--header{text-align:center}.yoast-wizard--header--page-title{margin:0 0 -16px;padding:0 8px;color:#a4286a;font-size:1.25em;font-weight:400;line-height:2.5;letter-spacing:.03em}.yoast-wizard--navigation{width:100%;text-align:left}.yoast-wizard--button{margin-top:1em}.yoast-wizard--button__next{margin-right:1em}.yoast-wizard--button__next button:focus,.yoast-wizard--button__next button:hover{background-color:#6c2548!important}.yoast-wizard--button__next button:focus div,.yoast-wizard--button__next button:hover div{background-color:transparent!important}.yoast-wizard--button__previous button:focus{background:#ddd!important}.yoast-wizard--button__previous button:focus:active{background:0 0!important}.yoast-wizard--button__previous button:focus>div>span,.yoast-wizard--button__previous button:hover>div>span{color:#000!important}.yoast-wizard--step__inactive div{pointer-events:none}@media screen and (max-width:768px){.yoast-wizard--header--page-title{font-size:1.5em;line-height:1.25}.yoast-wizard--step__active{overflow:hidden;width:38px}.yoast-wizard--step__active div{display:inline-block!important;vertical-align:middle}.yoast-wizard--step__active div>span>span{display:block!important;margin-right:-7px;padding-left:99px!important}.yoast-wizard--step__inactive{display:none!important}}.yoast-wizard--step--container h1{margin:0;color:#a4286a;font-size:2.25em;font-weight:100;line-height:3.68rem;letter-spacing:.03em}@media screen and (max-width:768px){.yoast-wizard--step--container h1{font-size:2em;line-height:1.25}}.yoast-wizard--step--container h2{color:#a4286a;font-size:1.375em;font-weight:100}.yoast-wizard--emphasis,.yoast-wizard-field-description{font-weight:700}.yoast-wizard--stepper{width:100%;margin:auto}.yoast-wizard-overlay{position:absolute;z-index:10;top:0;right:0;width:100%;height:100%;opacity:.2;color:#fff;background-color:#000;text-align:center}.yoast-wizard-overlay-loader{position:relative}.yoast-wizard-container{position:relative;min-height:20px;border:1px solid #ccc;box-shadow:rgba(0,0,0,.15) 0 3px 10px,rgba(0,0,0,.2) 0 3px 10px;text-align:right}.yoast-wizard-container--no-navigation{margin-top:40px}.yoast-wizard-container--no-navigation .yoast-wizard{padding-top:3em}@media screen and (max-width:768px){.yoast-wizard-container{box-shadow:none}}.yoast-wizard-container fieldset{margin:1em 0;border:0}.yoast-wizard-text-input{padding-bottom:.5em;font-size:14px}.yoast-wizard-text-input-label{display:block;margin:.5em 0 0;font-size:14px;font-weight:700;cursor:pointer}.yoast-wizard-text-input [type=text]{box-sizing:border-box;width:100%;max-width:450px}.yoast-video-container-max-width,.yoast-wizard-content-container{max-width:560px}.yoast-wizard input{margin:.5em 0;padding:5px;font-size:14px;line-height:140%}.yoast-wizard label{cursor:pointer}.yoast-wizard input[type=radio]{margin:.3em 0 .3em .7em;vertical-align:middle}.yoast-wizard-input__explanation{margin-top:0;color:#555;font-style:italic}.yoast-wizard-input-radio{font-size:14px}.yoast-wizard-input-radio-option label{padding-top:2px}.yoast-wizard-input-radio-separator{padding:0}.yoast-wizard-input-radio-separator input{position:absolute;right:-9999em;width:1px;height:1px}.yoast-wizard-input-radio-separator input+label{float:right;width:30px!important;margin:0 0 5px 5px!important;padding:6px 3px;border:1px solid #ccc;font-family:Arial,Helvetica,sans-serif!important;font-size:18px!important;line-height:24px;text-align:center;cursor:pointer}.yoast-wizard-input-radio-separator input:checked+label{border:1px solid #a4286a;background-color:#fff;box-shadow:inset 0 0 0 2px #a4286a}.yoast-wizard-input-radio-separator input:checked+label,.yoast-wizard-input-radio-separator input:focus+label{border-radius:10px 10px 10px 0}.yoast-video-container{overflow:hidden;position:relative;height:0;padding-bottom:56.25%}.yoast-video-container iframe{position:absolute;top:0;right:0;width:100%;height:100%}.yoast-wizard-notice__error{margin-bottom:15px;padding:12px;border-right:4px solid #dc3232;background:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.yoast-wizard-content-container.yoast-wizard-content-container__is-full-width{max-width:none}@keyframes heartbeat{0%{opacity:.4;transform:scale(.7)}80%{opacity:1}100%{opacity:1;transform:scale(.95)}}.yoast-loader{animation:heartbeat 1.15s infinite;animation-timing-function:cubic-bezier(.96,.02,.63,.86);animation-direction:alternate}#wizard{overflow:hidden}.yoast-wizard{padding-top:2em}.yoast-wizard input[type=text]{min-width:250px}.yoast-wizard #gsc_authorization_code,.yoast-wizard input[type=text]+div{margin-left:1em}.yoast-wizard-body{max-width:80em}.yoast-wizard-return-link-container{text-align:center}.wp-core-ui .yoast-wizard-return-link.button{display:-ms-inline-flexbox;display:inline-flex;height:36px;margin:0 0 1em;padding:0 10px 0 16px;border-color:transparent;border-radius:2px;color:#646d78;background:#fff;box-shadow:rgba(0,0,0,.12) 0 1px 6px,rgba(0,0,0,.12) 0 1px 4px;text-align:center;text-transform:uppercase;transition:all 450ms cubic-bezier(.23,1,.32,1) 0s;align-items:center;-ms-flex-align:center}.wp-core-ui .yoast-wizard-return-link.button:hover{border-color:transparent;background:#ebebeb}.wp-core-ui .yoast-wizard-return-link.button:focus{outline:0;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .yoast-wizard-return-link.button:active{background:#ebebeb;box-shadow:rgba(0,0,0,.16) 0 3px 10px,rgba(0,0,0,.23) 0 3px 10px;-ms-transform:none;transform:none}.wp-core-ui .yoast-wizard-return-link.button .dashicons{margin-left:8px}.yoast-wizard-mailchimp-message-error{color:#dc3232}.yoast-wizard-mailchimp-message-success{color:#008a00}.yoast-wizard-input{padding-bottom:.5em}.yoast-wizard-input__select{margin:1em 0;font-size:14px}.yoast-wizard--columns>div,.yoast-wizard-image-upload-container-buttons__remove{margin-right:1em}.yoast-wizard-image-upload-container__image{max-width:151px}.yoast-wizard-image-upload-container-buttons{margin-top:1em}.yoast-wizard-image-upload-container-description{display:block}.yoast-wizard--navigation{margin-top:2em;padding-top:1em;border-top:1px solid #a4286a}.yoast-wizard--rows{display:-ms-flexbox;display:flex;flex-direction:column;-ms-flex-direction:column}.yoast-wizard--columns{display:-ms-flexbox;display:flex}.yoast-wizard--columns .yoast-wizard-text-input-field{max-width:100%}.yoast-wizard--columns__even>div{flex-basis:50%;-ms-flex-preferred-size:50%}.yoast-wizard--columns>div:first-child{margin-right:0}.yoast-wizard--columns .yoast-wizard--heading{margin:0;color:#a4286a}.yoast-wizard--columns>.yoast-wizard--column__push_right{-ms-flex-order:2;order:2}.yoast-wizard--columns>.yoast-wizard--column__push_left{margin-left:1em;margin-right:0;-ms-flex-order:1;order:1}.yoast-wizard--choice>.yoast-wizard--rows{height:100%}.yoast-wizard--choice div{align-self:flex-start;-ms-flex-item-align:start}.yoast-wizard--choice p{height:100%;margin-top:.3em}.yoast-wizard--box{padding:1em;border:1px solid #a4286a}.yoast-wizard--box>div:first-child{flex-basis:100px;-ms-flex-preferred-size:100px}.yoast-wizard-newsletter--header svg{position:relative;top:4px;margin-left:6px;fill:#a4286a}.yoast-wizard-newsletter--decoration{width:100%;max-width:490px}.yoast-wizard-newsletter--decoration img{width:490px;max-width:100%;margin-top:-3em}.yoast-wizard--video-frame iframe{border:none}@media screen and (max-width:80em){.yoast-wizard--columns{display:block}.yoast-wizard--columns>div{margin-right:0}.yoast-wizard--columns>.yoast-wizard--column__push_left{margin-top:2em;margin-left:0}.yoast-wizard--box{display:-ms-flexbox;display:flex;margin-top:1em}.yoast-wizard--box:first-child{margin-top:0}.yoast-wizard--box>div{margin-right:1em}.yoast-wizard .hide-on-tablet{display:none}}.yoast-wizard--suggestion{margin-bottom:2em;padding-top:2em;border-top:1px solid #a4286a}.yoast-wizard--suggestion:first-child{padding-top:0;border-top:none}@media screen and (max-width:50rem){.yoast-wizard .hide-on-mobile{display:none}.yoast-wizard--box{display:block}.yoast-wizard--box>div{margin-right:0}.yoast-wizard--video-frame{position:relative;height:0;padding-bottom:56.25%}.yoast-wizard--video-frame iframe{position:absolute;top:0;right:0;width:100%;height:100%}}.ie9 .yoast-wizard--stepper{display:none} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/yoast-components-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/yoast-components-571.min.css new file mode 100644 index 00000000..5fffc825 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/yoast-components-571.min.css @@ -0,0 +1 @@ +.yoast-wizard--step--container:focus,a{outline:0}body{background:#f1f1f1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;line-height:1.375}a{color:#0073aa;transition-timing-function:ease-in-out;transition-duration:50ms;transition-property:border,background,color}a:active,a:hover{color:#00a0d2}a:focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.screen-reader-text{overflow:hidden;clip:rect(1px,1px,1px,1px);position:absolute!important;width:1px;height:1px;padding:0;border:0;word-wrap:normal!important;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.yoast-search-result-preview{overflow:hidden;background-color:#fff;font-family:Arial,sans-serif}.yoast-search-result-preview__heading{margin:0 -20px 15px;padding:8px 20px;border-bottom:1px solid #f7f7f7;color:#555;font-family:"Open Sans",sans-serif;font-size:.9rem;font-weight:300}.yoast-search-result-preview__field{overflow:hidden;position:relative;width:600px;cursor:pointer}.yoast-search-result-preview__field:after,.yoast-search-result-preview__field:before{display:table;content:" "}.yoast-search-result-preview__field--focus:before,.yoast-search-result-preview__field--hover:before{position:absolute;left:-3px;width:24px;height:24px;margin-top:-3px;background-size:25px;content:"";display:block}.yoast-search-result-preview__field:after{clear:both}.yoast-search-result-preview__field--hover:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23646464%22%20d%3D%22M1152%20896q0%2026%2D19%2045l%2D448%20448q%2D19%2019%2D45%2019t%2D45%2D19%2D19%2D45v%2D896q0%2D26%2019%2D45t45%2D19%2045%2019l448%20448q19%2019%2019%2045z%22%20%2F%3E%3C%2Fsvg%3E")}.yoast-search-result-preview__field--focus:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%230066cd%22%20d%3D%22M1152%20896q0%2026%2D19%2045l%2D448%20448q%2D19%2019%2D45%2019t%2D45%2D19%2D19%2D45v%2D896q0%2D26%2019%2D45t45%2D19%2045%2019l448%20448q19%2019%2019%2045z%22%20%2F%3E%3C%2Fsvg%3E")}.yoast-search-result-preview__title{overflow:hidden;margin:0;color:#1a0dab;font-size:18px;font-weight:400;line-height:1.2;white-space:nowrap;text-decoration:none;text-overflow:ellipsis}.yoast-search-result-preview__url{color:#006621;font-size:14px;font-style:normal;line-height:16px}.yoast-search-result-preview__date,.yoast-search-result-preview__description{font-size:13px;line-height:1.4}.yoast-search-result-preview__date{color:grey}.yoast-search-result-preview__description{color:#545454}.yoast-icon,.yoast-icon__eye{padding-left:45px}.yoast-icon__eye{background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555%22%20d%3D%22M1664%20960q%2D152%2D236%2D381%2D353%2061%20104%2061%20225%200%20185%2D131%2E5%20316%2E5t%2D316%2E5%20131%2E5%2D316%2E5%2D131%2E5%2D131%2E5%2D316%2E5q0%2D121%2061%2D225%2D229%20117%2D381%20353%20133%20205%20333%2E5%20326%2E5t434%2E5%20121%2E5%20434%2E5%2D121%2E5%20333%2E5%2D326%2E5zm%2D720%2D384q0%2D20%2D14%2D34t%2D34%2D14q%2D125%200%2D214%2E5%2089%2E5t%2D89%2E5%20214%2E5q0%2020%2014%2034t34%2014%2034%2D14%2014%2D34q0%2D86%2061%2D147t147%2D61q20%200%2034%2D14t14%2D34zm848%20384q0%2034%2D20%2069%2D140%20230%2D376%2E5%20368%2E5t%2D499%2E5%20138%2E5%2D499%2E5%2D139%2D376%2E5%2D368q%2D20%2D35%2D20%2D69t20%2D69q140%2D229%20376%2E5%2D368t499%2E5%2D139%20499%2E5%20139%20376%2E5%20368q20%2035%2020%2069z%22%20%2F%3E%3C%2Fsvg%3E") 20px center/16px 16px no-repeat}.yoast-button,.yoast-button__edit{padding:8px 10px;border:1px solid #ccc;border-radius:4px;color:#555;background:#f7f7f7;font-size:.8rem;cursor:pointer}.yoast-button__edit{display:block;margin-top:1em;padding-left:32px;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23555%22%20d%3D%22M491%201536l91%2D91%2D235%2D235%2D91%2091v107h128v128h107zm523%2D928q0%2D22%2D22%2D22%2D10%200%2D17%207l%2D542%20542q%2D7%207%2D7%2017%200%2022%2022%2022%2010%200%2017%2D7l542%2D542q7%2D7%207%2D17zm%2D54%2D192l416%20416%2D832%20832h%2D416v%2D416zm683%2096q0%2053%2D37%2090l%2D166%20166%2D416%2D416%20166%2D165q36%2D38%2090%2D38%2053%200%2091%2038l235%20234q37%2039%2037%2091z%22%20%2F%3E%3C%2Fsvg%3E") 8px center/16px 16px no-repeat #f7f7f7;background-size:16px}.yoast-search-result-form{overflow:hidden;background-color:#fff;font-family:Arial,sans-serif}.yoast-search-result-form__heading{margin:0 -20px 15px;padding:8px 20px;border-bottom:1px solid #f7f7f7;color:#555;font-family:"Open Sans",sans-serif;font-size:.9rem;font-weight:300}.yoast-search-result-form__container--focus:before,.yoast-search-result-form__container--hover:before{position:absolute;left:-3px;width:24px;height:24px;margin-top:15px;background-size:25px;content:"";display:block}.yoast-search-result-form__container--hover:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23646464%22%20d%3D%22M1152%20896q0%2026%2D19%2045l%2D448%20448q%2D19%2019%2D45%2019t%2D45%2D19%2D19%2D45v%2D896q0%2D26%2019%2D45t45%2D19%2045%2019l448%20448q19%2019%2019%2045z%22%20%2F%3E%3C%2Fsvg%3E")}.yoast-search-result-form__container--focus:before{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%230066cd%22%20d%3D%22M1152%20896q0%2026%2D19%2045l%2D448%20448q%2D19%2019%2D45%2019t%2D45%2D19%2D19%2D45v%2D896q0%2D26%2019%2D45t45%2D19%2045%2019l448%20448q19%2019%2019%2045z%22%20%2F%3E%3C%2Fsvg%3E")}.yoast-search-result-form__label{display:block;width:100%;margin-top:1em}.yoast-search-result-form__field{box-sizing:border-box;width:100%;border:1px solid #ddd}.yoast-search-result-form__description{display:block;box-sizing:border-box;width:100%;height:70px;border:1px solid #ddd}.yoast-search-result-form__progress{display:block;box-sizing:border-box;width:100%;height:8px;margin-top:5px;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.yoast-search-result-form__progress::-webkit-progress-bar{border:1px solid #ddd;background-color:#f7f7f7}.yoast-search-result-form__close-button{margin-top:1em}.yoast-search-result-form__progress--bad{color:#dc3232}.yoast-search-result-form__progress--bad::-webkit-progress-value{background-color:#dc3232;transition:width 250ms}.yoast-search-result-form__progress--bad::-moz-progress-bar{background-color:#dc3232}.yoast-search-result-form__progress--bad--fallback{overflow:hidden;max-width:100%;background-color:#dc3232}.yoast-search-result-form__progress--ok{color:#ee7c1b}.yoast-search-result-form__progress--ok::-webkit-progress-value{background-color:#ee7c1b;transition:width 250ms}.yoast-search-result-form__progress--ok::-moz-progress-bar{background-color:#ee7c1b}.yoast-search-result-form__progress--ok--fallback{overflow:hidden;max-width:100%;background-color:#ee7c1b}.yoast-search-result-form__progress--good{color:#7ad03a}.yoast-search-result-form__progress--good::-webkit-progress-value{background-color:#7ad03a;transition:width 250ms}.yoast-search-result-form__progress--good::-moz-progress-bar{background-color:#7ad03a}.yoast-search-result-form__progress--good--fallback{overflow:hidden;max-width:100%;background-color:#7ad03a}.yoast-search-result-editor{position:relative;width:640px;padding:0 20px 20px;border:1px solid #f7f7f7;border-radius:20px;background-color:#fff;font-family:Arial,sans-serif}body{margin:0;padding:0}#container{max-width:1660px;margin:0 auto}.yoast-wizard-body{box-sizing:border-box;width:80%;margin:1rem auto 4rem}@media screen and (max-width:768px){.yoast-wizard-body{width:auto;margin:0}}.yoast-wizard__logo{display:block;margin:0 auto}.yoast-wizard{box-sizing:border-box;width:100%;min-height:20px;padding:2em;background:#fff;text-align:left}@media screen and (max-width:768px){.yoast-wizard{padding:1em 1em 2em}}.yoast-wizard--header{text-align:center}.yoast-wizard--header--page-title{margin:0 0 -16px;padding:0 8px;color:#a4286a;font-size:1.25em;font-weight:400;line-height:2.5;letter-spacing:.03em}.yoast-wizard--navigation{width:100%;text-align:right}.yoast-wizard--button{margin-top:1em}.yoast-wizard--button__next{margin-left:1em}.yoast-wizard--button__next button:focus,.yoast-wizard--button__next button:hover{background-color:#6c2548!important}.yoast-wizard--button__next button:focus div,.yoast-wizard--button__next button:hover div{background-color:transparent!important}.yoast-wizard--button__previous button:focus{background:#ddd!important}.yoast-wizard--button__previous button:focus:active{background:0 0!important}.yoast-wizard--button__previous button:focus>div>span,.yoast-wizard--button__previous button:hover>div>span{color:#000!important}.yoast-wizard--step__inactive div{pointer-events:none}@media screen and (max-width:768px){.yoast-wizard--header--page-title{font-size:1.5em;line-height:1.25}.yoast-wizard--step__active{overflow:hidden;width:38px}.yoast-wizard--step__active div{display:inline-block!important;vertical-align:middle}.yoast-wizard--step__active div>span>span{display:block!important;margin-left:-7px;padding-right:99px!important}.yoast-wizard--step__inactive{display:none!important}}.yoast-wizard--step--container h1{margin:0;color:#a4286a;font-size:2.25em;font-weight:100;line-height:3.68rem;letter-spacing:.03em}@media screen and (max-width:768px){.yoast-wizard--step--container h1{font-size:2em;line-height:1.25}}.yoast-wizard--step--container h2{color:#a4286a;font-size:1.375em;font-weight:100}.yoast-wizard--emphasis,.yoast-wizard-field-description{font-weight:700}.yoast-wizard--stepper{width:100%;margin:auto}.yoast-wizard-overlay{position:absolute;z-index:10;top:0;left:0;width:100%;height:100%;opacity:.2;color:#fff;background-color:#000;text-align:center}.yoast-wizard-overlay-loader{position:relative}.yoast-wizard-container{position:relative;min-height:20px;border:1px solid #ccc;box-shadow:rgba(0,0,0,.15) 0 3px 10px,rgba(0,0,0,.2) 0 3px 10px;text-align:left}.yoast-wizard-container--no-navigation{margin-top:40px}.yoast-wizard-container--no-navigation .yoast-wizard{padding-top:3em}@media screen and (max-width:768px){.yoast-wizard-container{box-shadow:none}}.yoast-wizard-container fieldset{margin:1em 0;border:0}.yoast-wizard-text-input{padding-bottom:.5em;font-size:14px}.yoast-wizard-text-input-label{display:block;margin:.5em 0 0;font-size:14px;font-weight:700;cursor:pointer}.yoast-wizard-text-input [type=text]{box-sizing:border-box;width:100%;max-width:450px}.yoast-video-container-max-width,.yoast-wizard-content-container{max-width:560px}.yoast-wizard input{margin:.5em 0;padding:5px;font-size:14px;line-height:140%}.yoast-wizard label{cursor:pointer}.yoast-wizard input[type=radio]{margin:.3em .7em .3em 0;vertical-align:middle}.yoast-wizard-input__explanation{margin-top:0;color:#555;font-style:italic}.yoast-wizard-input-radio{font-size:14px}.yoast-wizard-input-radio-option label{padding-top:2px}.yoast-wizard-input-radio-separator{padding:0}.yoast-wizard-input-radio-separator input{position:absolute;left:-9999em;width:1px;height:1px}.yoast-wizard-input-radio-separator input+label{float:left;width:30px!important;margin:0 5px 5px 0!important;padding:6px 3px;border:1px solid #ccc;font-family:Arial,Helvetica,sans-serif!important;font-size:18px!important;line-height:24px;text-align:center;cursor:pointer}.yoast-wizard-input-radio-separator input:checked+label{border:1px solid #a4286a;background-color:#fff;box-shadow:inset 0 0 0 2px #a4286a}.yoast-wizard-input-radio-separator input:checked+label,.yoast-wizard-input-radio-separator input:focus+label{border-radius:10px 10px 0}.yoast-video-container{overflow:hidden;position:relative;height:0;padding-bottom:56.25%}.yoast-video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.yoast-wizard-notice__error{margin-bottom:15px;padding:12px;border-left:4px solid #dc3232;background:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.yoast-wizard-content-container.yoast-wizard-content-container__is-full-width{max-width:none}@keyframes heartbeat{0%{opacity:.4;transform:scale(.7)}80%{opacity:1}100%{opacity:1;transform:scale(.95)}}.yoast-loader{animation:heartbeat 1.15s infinite;animation-timing-function:cubic-bezier(.96,.02,.63,.86);animation-direction:alternate}#wizard{overflow:hidden}.yoast-wizard{padding-top:2em}.yoast-wizard input[type=text]{min-width:250px}.yoast-wizard #gsc_authorization_code,.yoast-wizard input[type=text]+div{margin-right:1em}.yoast-wizard-body{max-width:80em}.yoast-wizard-return-link-container{text-align:center}.wp-core-ui .yoast-wizard-return-link.button{display:-ms-inline-flexbox;display:inline-flex;height:36px;margin:0 0 1em;padding:0 16px 0 10px;border-color:transparent;border-radius:2px;color:#646d78;background:#fff;box-shadow:rgba(0,0,0,.12) 0 1px 6px,rgba(0,0,0,.12) 0 1px 4px;text-align:center;text-transform:uppercase;transition:all 450ms cubic-bezier(.23,1,.32,1) 0s;align-items:center;-ms-flex-align:center}.wp-core-ui .yoast-wizard-return-link.button:hover{border-color:transparent;background:#ebebeb}.wp-core-ui .yoast-wizard-return-link.button:focus{outline:0;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .yoast-wizard-return-link.button:active{background:#ebebeb;box-shadow:rgba(0,0,0,.16) 0 3px 10px,rgba(0,0,0,.23) 0 3px 10px;-ms-transform:none;transform:none}.wp-core-ui .yoast-wizard-return-link.button .dashicons{margin-right:8px}.yoast-wizard-mailchimp-message-error{color:#dc3232}.yoast-wizard-mailchimp-message-success{color:#008a00}.yoast-wizard-input{padding-bottom:.5em}.yoast-wizard-input__select{margin:1em 0;font-size:14px}.yoast-wizard--columns>div,.yoast-wizard-image-upload-container-buttons__remove{margin-left:1em}.yoast-wizard-image-upload-container__image{max-width:151px}.yoast-wizard-image-upload-container-buttons{margin-top:1em}.yoast-wizard-image-upload-container-description{display:block}.yoast-wizard--navigation{margin-top:2em;padding-top:1em;border-top:1px solid #a4286a}.yoast-wizard--rows{display:-ms-flexbox;display:flex;flex-direction:column;-ms-flex-direction:column}.yoast-wizard--columns{display:-ms-flexbox;display:flex}.yoast-wizard--columns .yoast-wizard-text-input-field{max-width:100%}.yoast-wizard--columns__even>div{flex-basis:50%;-ms-flex-preferred-size:50%}.yoast-wizard--columns>div:first-child{margin-left:0}.yoast-wizard--columns .yoast-wizard--heading{margin:0;color:#a4286a}.yoast-wizard--columns>.yoast-wizard--column__push_right{-ms-flex-order:2;order:2}.yoast-wizard--columns>.yoast-wizard--column__push_left{margin-right:1em;margin-left:0;-ms-flex-order:1;order:1}.yoast-wizard--choice>.yoast-wizard--rows{height:100%}.yoast-wizard--choice div{align-self:flex-start;-ms-flex-item-align:start}.yoast-wizard--choice p{height:100%;margin-top:.3em}.yoast-wizard--box{padding:1em;border:1px solid #a4286a}.yoast-wizard--box>div:first-child{flex-basis:100px;-ms-flex-preferred-size:100px}.yoast-wizard-newsletter--header svg{position:relative;top:4px;margin-right:6px;fill:#a4286a}.yoast-wizard-newsletter--decoration{width:100%;max-width:490px}.yoast-wizard-newsletter--decoration img{width:490px;max-width:100%;margin-top:-3em}.yoast-wizard--video-frame iframe{border:none}@media screen and (max-width:80em){.yoast-wizard--columns{display:block}.yoast-wizard--columns>div{margin-left:0}.yoast-wizard--columns>.yoast-wizard--column__push_left{margin-top:2em;margin-right:0}.yoast-wizard--box{display:-ms-flexbox;display:flex;margin-top:1em}.yoast-wizard--box:first-child{margin-top:0}.yoast-wizard--box>div{margin-left:1em}.yoast-wizard .hide-on-tablet{display:none}}.yoast-wizard--suggestion{margin-bottom:2em;padding-top:2em;border-top:1px solid #a4286a}.yoast-wizard--suggestion:first-child{padding-top:0;border-top:none}@media screen and (max-width:50rem){.yoast-wizard .hide-on-mobile{display:none}.yoast-wizard--box{display:block}.yoast-wizard--box>div{margin-left:0}.yoast-wizard--video-frame{position:relative;height:0;padding-bottom:56.25%}.yoast-wizard--video-frame iframe{position:absolute;top:0;left:0;width:100%;height:100%}}.ie9 .yoast-wizard--stepper{display:none} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/yoast-extensions-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/yoast-extensions-571-rtl.min.css new file mode 100644 index 00000000..347b34f2 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/yoast-extensions-571-rtl.min.css @@ -0,0 +1 @@ +@charset "UTF-8";.yoast-list--usp{margin-bottom:1em;padding:0;font-family:"Open Sans",Arial,sans-serif}.yoast-list--usp li{position:relative;padding-right:1.2533333333rem;list-style:none!important}.yoast-list--usp li::before{position:absolute;top:0;right:0;color:#77b227;font-family:FontAwesome,"Open Sans",Arial,sans-serif;content:"\f00c\0020"}.yoast .h1,.yoast .h2,.yoast .h3,.yoast .h4,.yoast .h5,.yoast .h6,.yoast h1,.yoast h2,.yoast h3,.yoast h4,.yoast h5,.yoast h6{display:block;margin-top:0;font-family:"Open Sans",Arial,sans-serif;font-weight:300}.yoast .h1,.yoast h1{margin-bottom:1.35rem;font-size:2.5em;line-height:3.68rem;letter-spacing:normal}@media only screen and (min-width:30rem){.yoast .h1,.yoast h1{font-size:2.75em}}.yoast .h2,.yoast h2{margin-bottom:1.2rem;font-size:1.88em;line-height:2.5rem}.yoast .h2.tight,.yoast h2.tight{margin-bottom:.6rem}.yoast .h3,.yoast h3{margin-bottom:.8rem;font-size:1.25em;line-height:1.88rem}.yoast .h3.tight,.yoast h3.tight{margin-bottom:.4rem}@media only screen and (min-width:30rem){.yoast .h3,.yoast h3{font-size:1.375em}}@media only screen and (min-width:50rem){.yoast .h3,.yoast h3{font-size:1.5em}}.yoast .h4,.yoast .h5,.yoast .h6,.yoast h4,.yoast h5,.yoast h6{margin-bottom:.2rem;font-size:1.13em;font-weight:400;line-height:1.88rem}.yoast-button{display:inline-block;position:relative;width:100%;padding:.345em 1em .345em 1.5em;border:0;color:#dc5c04;background-color:#dc5c04;font-family:"Open Sans",Arial,sans-serif;font-size:1.1em;text-decoration:none;cursor:pointer}@media only screen and (min-width:30rem){.yoast-button{width:auto;max-height:2.86rem;margin-left:1.36rem}.yoast-button.left::before,.yoast-button::after{position:absolute;top:0;width:0;height:0;border-top:1.43rem solid transparent;border-bottom:1.44rem solid transparent}.yoast-button::after{left:-1.36rem;border-left:0;border-right:1.43rem solid #dc5c04;content:""}.yoast-button.left{margin-left:0;margin-right:1.36rem}.yoast-button.left::after{content:none}.yoast-button.left::before{right:-1.36rem;border-left:1.43rem solid #dc5c04;border-right:0;content:""}}.yoast-button--full::after,.yoast-button--naked::after,.yoast-button--noarrow::after{content:none}.yoast-button.alignleft{margin:1rem 0 0 2.5rem!important}.yoast-button .arrow{display:none}.yoast-button+.yoast-button{margin-top:1em;margin-right:1.88rem}.yoast-button--full{width:100%}.yoast-button.default{color:#fff;background-color:#dc5c04}.yoast-button.default::after{border-right-color:#dc5c04}.yoast-button.default::before{border-left-color:#dc5c04}.yoast-button a:focus,.yoast-button:hover{color:#fff;background-color:#f58223;text-decoration:underline}.yoast-button a:focus::after,.yoast-button:hover::after{border-right-color:#f58223}.yoast-button a:focus::before,.yoast-button:hover::before{border-left-color:#f58223}.yoast-button.academy{color:#fff;background-color:#5d237a}.yoast-button.academy::after{border-right-color:#5d237a}.yoast-button.academy::before{border-left-color:#5d237a}@media only screen and (max-width:20rem){.yoast-button.academy{background-color:#5d237a}.yoast-button.academy--secondary{background-color:#a4286a}}.yoast-button.academy--secondary{color:#fff;background-color:#a4286a}.yoast-button.academy--secondary::after{border-right-color:#a4286a}.yoast-button.academy--secondary::before{border-left-color:#a4286a}.yoast-button.software{color:#fff;background-color:#0075b3}.yoast-button.software::after{border-right-color:#0075b3}.yoast-button.software::before{border-left-color:#0075b3}.yoast-button.review{color:#fff;background-color:#009288}.yoast-button.about,.yoast_academy .yoast-button{background-color:#d93f69;color:#fff}.yoast-button.review::after{border-right-color:#009288}.yoast-button.about::after,.yoast_academy .yoast-button::after{border-right-color:#d93f69}.yoast-button.review::before{border-left-color:#009288}.yoast-button.about::before,.yoast_academy .yoast-button::before{border-left-color:#d93f69}.yoast_academy .yoast-button a:focus,.yoast_academy .yoast-button:hover{color:#fff;background-color:#d42a59;text-decoration:underline}.yoast_academy .yoast-button a:focus::after,.yoast_academy .yoast-button:hover::after{border-right-color:#d42a59}.yoast_academy .yoast-button a:focus::before,.yoast_academy .yoast-button:hover::before{border-left-color:#d42a59}.yoast_academy .yoast-button.dimmed,body .yoast-button.dimmed{color:#646464;background-color:#dcdcdc}.yoast_academy .yoast-button.dimmed::after,body .yoast-button.dimmed::after{border-right-color:#dcdcdc}.yoast_academy .yoast-button.dimmed::before,body .yoast-button.dimmed::before{border-left-color:#dcdcdc}.yoast_academy .yoast-button.dimmed a:focus,.yoast_academy .yoast-button.dimmed:hover,body .yoast-button.dimmed a:focus,body .yoast-button.dimmed:hover{color:#646464;background-color:#cdcdcd;text-decoration:underline}.yoast_academy .yoast-button.dimmed a:focus::after,.yoast_academy .yoast-button.dimmed:hover::after,body .yoast-button.dimmed a:focus::after,body .yoast-button.dimmed:hover::after{border-right-color:#cdcdcd}.yoast_academy .yoast-button.dimmed a:focus:before,.yoast_academy .yoast-button.dimmed:hover:before,body .yoast-button.dimmed a:focus:before,body .yoast-button.dimmed:hover:before{border-left-color:#cdcdcd}.yoast-button--naked{padding:0;border:none;background-color:transparent}.yoast-button i.fa{margin:4px 0 0 10px;font-size:140%}.theme-academy .yoast-promoblock{border-color:#5d237a}.theme-academy--secondary .yoast-promoblock{border-color:#a4286a}.theme-software .yoast-promoblock{border-color:#0075b3}.theme-review .yoast-promoblock{border-color:#009288}.theme-about .yoast-promoblock,.theme-home .yoast-promoblock{border-color:#d93f69}.theme-academy.yoast-promoblock{border-color:#5d237a}.theme-academy--secondary.yoast-promoblock{border-color:#a4286a}.theme-software.yoast-promoblock{border-color:#0075b3}.theme-review.yoast-promoblock,.theme-software--secondary.yoast-promoblock{border-color:#009288}.theme-review--secondary.yoast-promoblock{border-color:#77b227}.theme-about.yoast-promoblock{border-color:#d93f69}.theme-about--secondary.yoast-promoblock{border-color:#a4286a}.cta.yoast-promoblock,.link.yoast-promoblock{border-color:#dc5c04}.link.yoast-promoblock::after{-moz-filter:drop-shadow(1px 0 0 #dc5c04);-ms-filter:drop-shadow(1px 0 0 #dc5c04);-o-filter:drop-shadow(1px 0 0 #dc5c04);filter:drop-shadow(1px 0 0 #dc5c04)}.cta.yoast-promoblock::after{-moz-filter:drop-shadow(1px 0 0 #dc5c04);-ms-filter:drop-shadow(1px 0 0 #dc5c04);-o-filter:drop-shadow(1px 0 0 #dc5c04);filter:drop-shadow(1px 0 0 #dc5c04)}.yoast-promoblock{display:block;position:relative;margin-bottom:1.88rem;padding:20px;border:1px solid;border-radius:30px 30px 30px 0;background-color:#fff;font-family:Merriweather,Georgia,serif}.yoast-promoblock p{color:#000}.yoast-promoblock p:last-of-type{margin-bottom:0}.yoast-promoblock i.blockicon{position:absolute;left:10px;bottom:10px;padding:0 .5em 0 0;font-size:2.25em}.yoast-promoblock a img{border:1px solid #dcdcdc}.yoast-promoblock p a{font-weight:600!important;text-decoration:underline}.yoast-button--extension-activated:hover,.yoast-button--extension-installed:hover,.yoast-button--extension-not-activated:hover,a.promoblock,a.promoblock:hover{text-decoration:none}.yoast-promoblock form a{font-family:"Open Sans",Arial,sans-serif;font-weight:400!important;text-decoration:none}.yoast-heading-highlight,.yoast-link--license,.yoast-link--more-info{font-weight:600;color:#a4286a}.yoast-promoblock .h4,.yoast-promoblock h4{margin-bottom:.7rem}.yoast-promoblock.link{border-color:#dc5c04}.yoast-promoblock.link a,.yoast-promoblock.link a:hover{color:#dc5c04}.yoast-promoblock--white{border-color:#fff!important}.yoast-promoblock.theme-academy a{color:#5d237a!important}.yoast-promoblock.theme-academy.secondary a{color:#a4286a!important}.yoast-promoblock.theme-software a{color:#0075b3!important}.yoast-promoblock.theme-review a{color:#009288!important}.yoast-promoblock.theme-review.secondary a{color:#77b227!important}.yoast-promoblock.theme-about a{color:#d93f69!important}.product .yoast-promoblock{overflow:hidden}.yoast-promoblock--hometitle{display:-ms-flexbox;display:flex;max-width:16em;height:11em;margin:1rem auto 2rem;border-color:#fff!important;background-color:rgba(217,63,105,.25);font-size:16px;font-size:1rem;line-height:1;-webkit-box-pack:center;-ms-flex-align:center;-ms-flex-line-pack:center;-ms-flex-pack:justify}.old-ie .yoast-promoblock--hometitle{text-align:justify}.old-ie .yoast-promoblock--hometitle::after{display:inline-block;width:100%;content:""}.old-ie .yoast-promoblock--hometitle>*{display:inline-block;text-align:right}@media only screen and (max-width:30rem){.yoast-promoblock--hometitle::after{content:none!important}}.yoast-promoblock--imageholder{margin-bottom:0;padding:0}.yoast-promoblock--imageholdersmall{position:absolute}.yoast-promoblock--imageholdersmall:first-child{right:4rem}.yoast-promoblock--imageholdersmall:last-child{top:4rem}@media only screen and (max-width:50rem){.yoast-promoblock h2{margin-bottom:0}}a.promoblock{color:#000}.promoblockimage__holder{position:relative;width:240px;height:295px}@media only screen and (min-width:50rem){[class*=promoblock--icon]::before{position:absolute;left:.47rem;bottom:.47rem;font-family:FontAwesome,"Open Sans",Arial,sans-serif;font-size:2.2rem;line-height:1}body.theme-about [class*=promoblock--icon]::before{color:#d93f69}body.theme-about .promoblock a.color-cta{color:#009288!important}body.theme-academy [class*=promoblock--icon]::before{color:#5d237a}body.theme-software [class*=promoblock--icon]::before{color:#0075b3}.promoblock--icon-academy::before{content:"\f19d"}.promoblock--icon-blog::before{content:"\f1ea"}.promoblock--icon-book::before{content:"\f02d"}.promoblock--icon-calendar::before{content:"\f073"}.promoblock--icon-check::before{content:"\f046"}.promoblock--icon-drupal::before{content:"\f1a9"}.promoblock--icon-gears::before{content:"\f085"}.promoblock--icon-pencil::before{content:"\f040"}.promoblock--icon-plug::before{content:"\f1e6"}.promoblock--icon-video::before{content:"\f008"}.promoblock--icon-wordpress::before{content:"\f19a"}}.yoast,.yoast-link--license,.yoast-link--more-info{font-family:"Open Sans",Arial,sans-serif}.yoast{color:#000;font-size:1rem;line-height:1.88;letter-spacing:.01em}.yoast-button--extension-buy:visited,.yoast-promo-extension .yoast-button--installed{color:#fff}.yoast *,.yoast :after,.yoast :before{box-sizing:border-box}.yoast-hr{position:relative;margin:0;padding-bottom:1.88rem;border:0;border-top:1px solid #a4286a}.yoast-list--usp li:before{width:1em;height:100%;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E") right .4em no-repeat;background-size:contain;content:""}.yoast-button--purple{background-color:#5d237a}.yoast-button-go-to:after{position:static;top:auto;left:auto;width:auto;height:auto;border:none;content:" \00BB"}.yoast-button--extension{padding-left:.8em;padding-right:.8em;color:#fff;text-transform:uppercase}.yoast-button--extension+.yoast-button--extension-activated,.yoast-button--extension+.yoast-button--extension-not-activated{margin-right:0}.yoast-button--extension-buy,.yoast-button--extension-buy:hover{background-color:#a4286a}.yoast-button--extension-installed{margin-left:.2rem}.yoast-button--extension-installed,.yoast-button--extension-installed:hover{background-color:#008a00}.yoast-button--extension-not-activated,.yoast-button--extension-not-activated:hover{background-color:#dc3232}.yoast-button--extension-activated,.yoast-button--extension-activated:hover{background-color:#008a00}.yoast-promo-extensions{display:-ms-flexbox;display:flex;margin-right:-24px;-ms-flex-wrap:wrap;flex-wrap:wrap}.yoast-promo-extensions>h2{width:100%;margin-bottom:32px;margin-right:32px}.yoast-promo-extension{max-width:340px;margin-right:32px;padding-bottom:120px;border-color:#a4286a;background-color:transparent}.yoast-promo-extension:first-child{margin-right:0}.yoast-promo-extension img{width:100%;height:auto;margin-bottom:.8rem}.yoast-promo-extension .yoast-button-container{position:absolute;left:20px;bottom:20px;right:20px}.yoast-promo-extension .yoast-button-container div.yoast-button--extension{cursor:default}.yoast-promo-extension .yoast-button{width:100%;max-height:none;font-size:.9rem}.yoast-promo-extension .yoast-button--extension{margin-top:0;font-size:.9rem;text-align:center}.yoast-promo-extension .yoast-button--extension-installed{width:48%;margin:0 0 0 2%}.yoast-promo-extension .yoast-button--extension-activated,.yoast-promo-extension .yoast-button--extension-not-activated{width:48%;margin-left:0;margin-right:0}.yoast-promo-extension h3{color:#a4286a}@media screen and (max-width:900px){.yoast-promo-extension img{display:none}.yoast-promo-extension{width:100%;max-width:none}}.yoast-seo-premium-extension{margin:2em .5em 1.5em}.yoast-seo-premium-extension:after,.yoast-seo-premium-extension:before{display:table;content:""}.yoast-seo-premium-extension:after{clear:both}.yoast-seo-premium-benefits__title{font-weight:600}.yoast-seo-premium-benefits__description:before{content:"– "}.yoast-link--license:after,.yoast-link--more-info:after{content:" \00BB"}.yoast-link--license{margin:1em 0 0}.yoast-promo-extension .yoast-link--license{display:block;margin:1em 0 0}.yoast-link--more-info{padding-right:calc(1em + 5px);background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23A4286A%22%20d%3D%22M1152%201376v%2D160q0%2D14%2D9%2D23t%2D23%2D9h%2D96v%2D512q0%2D14%2D9%2D23t%2D23%2D9h%2D320q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h96v320h%2D96q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h448q14%200%2023%2D9t9%2D23zm%2D128%2D896v%2D160q0%2D14%2D9%2D23t%2D23%2D9h%2D192q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h192q14%200%2023%2D9t9%2D23zm640%20416q0%20209%2D103%20385%2E5t%2D279%2E5%20279%2E5%2D385%2E5%20103%2D385%2E5%2D103%2D279%2E5%2D279%2E5%2D103%2D385%2E5%20103%2D385%2E5%20279%2E5%2D279%2E5%20385%2E5%2D103%20385%2E5%20103%20279%2E5%20279%2E5%20103%20385%2E5z%22%2F%3E%3C%2Fsvg%3E") right .2em no-repeat;background-size:1em}.yoast-promo-extension .yoast-link--more-info{display:block;margin:1em 0 0;background-position:right .4em}.yoast-money-back-guarantee{font-size:1.1em;font-style:italic}.yoast-license-status-active{padding:3px 6px;color:#fff;background:#008a00}.yoast-license-status-inactive{padding:3px 6px;color:#fff;background:#dc3232} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/yoast-extensions-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/yoast-extensions-571.min.css new file mode 100644 index 00000000..d8d513d4 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/yoast-extensions-571.min.css @@ -0,0 +1 @@ +@charset "UTF-8";.yoast-list--usp{margin-bottom:1em;padding:0;font-family:"Open Sans",Arial,sans-serif}.yoast-list--usp li{position:relative;padding-left:1.2533333333rem;list-style:none!important}.yoast-list--usp li::before{position:absolute;top:0;left:0;color:#77b227;font-family:FontAwesome,"Open Sans",Arial,sans-serif;content:"\f00c\0020"}.yoast .h1,.yoast .h2,.yoast .h3,.yoast .h4,.yoast .h5,.yoast .h6,.yoast h1,.yoast h2,.yoast h3,.yoast h4,.yoast h5,.yoast h6{display:block;margin-top:0;font-family:"Open Sans",Arial,sans-serif;font-weight:300}.yoast .h1,.yoast h1{margin-bottom:1.35rem;font-size:2.5em;line-height:3.68rem;letter-spacing:normal}@media only screen and (min-width:30rem){.yoast .h1,.yoast h1{font-size:2.75em}}.yoast .h2,.yoast h2{margin-bottom:1.2rem;font-size:1.88em;line-height:2.5rem}.yoast .h2.tight,.yoast h2.tight{margin-bottom:.6rem}.yoast .h3,.yoast h3{margin-bottom:.8rem;font-size:1.25em;line-height:1.88rem}.yoast .h3.tight,.yoast h3.tight{margin-bottom:.4rem}@media only screen and (min-width:30rem){.yoast .h3,.yoast h3{font-size:1.375em}}@media only screen and (min-width:50rem){.yoast .h3,.yoast h3{font-size:1.5em}}.yoast .h4,.yoast .h5,.yoast .h6,.yoast h4,.yoast h5,.yoast h6{margin-bottom:.2rem;font-size:1.13em;font-weight:400;line-height:1.88rem}.yoast-button{display:inline-block;position:relative;width:100%;padding:.345em 1.5em .345em 1em;border:0;color:#dc5c04;background-color:#dc5c04;font-family:"Open Sans",Arial,sans-serif;font-size:1.1em;text-decoration:none;cursor:pointer}@media only screen and (min-width:30rem){.yoast-button{width:auto;max-height:2.86rem;margin-right:1.36rem}.yoast-button.left::before,.yoast-button::after{position:absolute;top:0;width:0;height:0;border-top:1.43rem solid transparent;border-bottom:1.44rem solid transparent}.yoast-button::after{right:-1.36rem;border-right:0;border-left:1.43rem solid #dc5c04;content:""}.yoast-button.left{margin-right:0;margin-left:1.36rem}.yoast-button.left::after{content:none}.yoast-button.left::before{left:-1.36rem;border-right:1.43rem solid #dc5c04;border-left:0;content:""}}.yoast-button--full::after,.yoast-button--naked::after,.yoast-button--noarrow::after{content:none}.yoast-button.alignleft{margin:1rem 2.5rem 0 0!important}.yoast-button .arrow{display:none}.yoast-button+.yoast-button{margin-top:1em;margin-left:1.88rem}.yoast-button--full{width:100%}.yoast-button.default{color:#fff;background-color:#dc5c04}.yoast-button.default::after{border-left-color:#dc5c04}.yoast-button.default::before{border-right-color:#dc5c04}.yoast-button a:focus,.yoast-button:hover{color:#fff;background-color:#f58223;text-decoration:underline}.yoast-button a:focus::after,.yoast-button:hover::after{border-left-color:#f58223}.yoast-button a:focus::before,.yoast-button:hover::before{border-right-color:#f58223}.yoast-button.academy{color:#fff;background-color:#5d237a}.yoast-button.academy::after{border-left-color:#5d237a}.yoast-button.academy::before{border-right-color:#5d237a}@media only screen and (max-width:20rem){.yoast-button.academy{background-color:#5d237a}.yoast-button.academy--secondary{background-color:#a4286a}}.yoast-button.academy--secondary{color:#fff;background-color:#a4286a}.yoast-button.academy--secondary::after{border-left-color:#a4286a}.yoast-button.academy--secondary::before{border-right-color:#a4286a}.yoast-button.software{color:#fff;background-color:#0075b3}.yoast-button.software::after{border-left-color:#0075b3}.yoast-button.software::before{border-right-color:#0075b3}.yoast-button.review{color:#fff;background-color:#009288}.yoast-button.about,.yoast_academy .yoast-button{background-color:#d93f69;color:#fff}.yoast-button.review::after{border-left-color:#009288}.yoast-button.about::after,.yoast_academy .yoast-button::after{border-left-color:#d93f69}.yoast-button.review::before{border-right-color:#009288}.yoast-button.about::before,.yoast_academy .yoast-button::before{border-right-color:#d93f69}.yoast_academy .yoast-button a:focus,.yoast_academy .yoast-button:hover{color:#fff;background-color:#d42a59;text-decoration:underline}.yoast_academy .yoast-button a:focus::after,.yoast_academy .yoast-button:hover::after{border-left-color:#d42a59}.yoast_academy .yoast-button a:focus::before,.yoast_academy .yoast-button:hover::before{border-right-color:#d42a59}.yoast_academy .yoast-button.dimmed,body .yoast-button.dimmed{color:#646464;background-color:#dcdcdc}.yoast_academy .yoast-button.dimmed::after,body .yoast-button.dimmed::after{border-left-color:#dcdcdc}.yoast_academy .yoast-button.dimmed::before,body .yoast-button.dimmed::before{border-right-color:#dcdcdc}.yoast_academy .yoast-button.dimmed a:focus,.yoast_academy .yoast-button.dimmed:hover,body .yoast-button.dimmed a:focus,body .yoast-button.dimmed:hover{color:#646464;background-color:#cdcdcd;text-decoration:underline}.yoast_academy .yoast-button.dimmed a:focus::after,.yoast_academy .yoast-button.dimmed:hover::after,body .yoast-button.dimmed a:focus::after,body .yoast-button.dimmed:hover::after{border-left-color:#cdcdcd}.yoast_academy .yoast-button.dimmed a:focus:before,.yoast_academy .yoast-button.dimmed:hover:before,body .yoast-button.dimmed a:focus:before,body .yoast-button.dimmed:hover:before{border-right-color:#cdcdcd}.yoast-button--naked{padding:0;border:none;background-color:transparent}.yoast-button i.fa{margin:4px 10px 0 0;font-size:140%}.theme-academy .yoast-promoblock{border-color:#5d237a}.theme-academy--secondary .yoast-promoblock{border-color:#a4286a}.theme-software .yoast-promoblock{border-color:#0075b3}.theme-review .yoast-promoblock{border-color:#009288}.theme-about .yoast-promoblock,.theme-home .yoast-promoblock{border-color:#d93f69}.theme-academy.yoast-promoblock{border-color:#5d237a}.theme-academy--secondary.yoast-promoblock{border-color:#a4286a}.theme-software.yoast-promoblock{border-color:#0075b3}.theme-review.yoast-promoblock,.theme-software--secondary.yoast-promoblock{border-color:#009288}.theme-review--secondary.yoast-promoblock{border-color:#77b227}.theme-about.yoast-promoblock{border-color:#d93f69}.theme-about--secondary.yoast-promoblock{border-color:#a4286a}.cta.yoast-promoblock,.link.yoast-promoblock{border-color:#dc5c04}.link.yoast-promoblock::after{-moz-filter:drop-shadow(1px 0 0 #dc5c04);-ms-filter:drop-shadow(1px 0 0 #dc5c04);-o-filter:drop-shadow(1px 0 0 #dc5c04);filter:drop-shadow(1px 0 0 #dc5c04)}.cta.yoast-promoblock::after{-moz-filter:drop-shadow(1px 0 0 #dc5c04);-ms-filter:drop-shadow(1px 0 0 #dc5c04);-o-filter:drop-shadow(1px 0 0 #dc5c04);filter:drop-shadow(1px 0 0 #dc5c04)}.yoast-promoblock{display:block;position:relative;margin-bottom:1.88rem;padding:20px;border:1px solid;border-radius:30px 30px 0;background-color:#fff;font-family:Merriweather,Georgia,serif}.yoast-promoblock p{color:#000}.yoast-promoblock p:last-of-type{margin-bottom:0}.yoast-promoblock i.blockicon{position:absolute;right:10px;bottom:10px;padding:0 0 0 .5em;font-size:2.25em}.yoast-promoblock a img{border:1px solid #dcdcdc}.yoast-promoblock p a{font-weight:600!important;text-decoration:underline}.yoast-button--extension-activated:hover,.yoast-button--extension-installed:hover,.yoast-button--extension-not-activated:hover,a.promoblock,a.promoblock:hover{text-decoration:none}.yoast-promoblock form a{font-family:"Open Sans",Arial,sans-serif;font-weight:400!important;text-decoration:none}.yoast-heading-highlight,.yoast-link--license,.yoast-link--more-info{font-weight:600;color:#a4286a}.yoast-promoblock .h4,.yoast-promoblock h4{margin-bottom:.7rem}.yoast-promoblock.link{border-color:#dc5c04}.yoast-promoblock.link a,.yoast-promoblock.link a:hover{color:#dc5c04}.yoast-promoblock--white{border-color:#fff!important}.yoast-promoblock.theme-academy a{color:#5d237a!important}.yoast-promoblock.theme-academy.secondary a{color:#a4286a!important}.yoast-promoblock.theme-software a{color:#0075b3!important}.yoast-promoblock.theme-review a{color:#009288!important}.yoast-promoblock.theme-review.secondary a{color:#77b227!important}.yoast-promoblock.theme-about a{color:#d93f69!important}.product .yoast-promoblock{overflow:hidden}.yoast-promoblock--hometitle{display:-ms-flexbox;display:flex;max-width:16em;height:11em;margin:1rem auto 2rem;border-color:#fff!important;background-color:rgba(217,63,105,.25);font-size:16px;font-size:1rem;line-height:1;-webkit-box-pack:center;-ms-flex-align:center;-ms-flex-line-pack:center;-ms-flex-pack:justify}.old-ie .yoast-promoblock--hometitle{text-align:justify}.old-ie .yoast-promoblock--hometitle::after{display:inline-block;width:100%;content:""}.old-ie .yoast-promoblock--hometitle>*{display:inline-block;text-align:left}@media only screen and (max-width:30rem){.yoast-promoblock--hometitle::after{content:none!important}}.yoast-promoblock--imageholder{margin-bottom:0;padding:0}.yoast-promoblock--imageholdersmall{position:absolute}.yoast-promoblock--imageholdersmall:first-child{left:4rem}.yoast-promoblock--imageholdersmall:last-child{top:4rem}@media only screen and (max-width:50rem){.yoast-promoblock h2{margin-bottom:0}}a.promoblock{color:#000}.promoblockimage__holder{position:relative;width:240px;height:295px}@media only screen and (min-width:50rem){[class*=promoblock--icon]::before{position:absolute;right:.47rem;bottom:.47rem;font-family:FontAwesome,"Open Sans",Arial,sans-serif;font-size:2.2rem;line-height:1}body.theme-about [class*=promoblock--icon]::before{color:#d93f69}body.theme-about .promoblock a.color-cta{color:#009288!important}body.theme-academy [class*=promoblock--icon]::before{color:#5d237a}body.theme-software [class*=promoblock--icon]::before{color:#0075b3}.promoblock--icon-academy::before{content:"\f19d"}.promoblock--icon-blog::before{content:"\f1ea"}.promoblock--icon-book::before{content:"\f02d"}.promoblock--icon-calendar::before{content:"\f073"}.promoblock--icon-check::before{content:"\f046"}.promoblock--icon-drupal::before{content:"\f1a9"}.promoblock--icon-gears::before{content:"\f085"}.promoblock--icon-pencil::before{content:"\f040"}.promoblock--icon-plug::before{content:"\f1e6"}.promoblock--icon-video::before{content:"\f008"}.promoblock--icon-wordpress::before{content:"\f19a"}}.yoast,.yoast-link--license,.yoast-link--more-info{font-family:"Open Sans",Arial,sans-serif}.yoast{color:#000;font-size:1rem;line-height:1.88;letter-spacing:.01em}.yoast-button--extension-buy:visited,.yoast-promo-extension .yoast-button--installed{color:#fff}.yoast *,.yoast :after,.yoast :before{box-sizing:border-box}.yoast-hr{position:relative;margin:0;padding-bottom:1.88rem;border:0;border-top:1px solid #a4286a}.yoast-list--usp li:before{width:1em;height:100%;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E") left .4em no-repeat;background-size:contain;content:""}.yoast-button--purple{background-color:#5d237a}.yoast-button-go-to:after{position:static;top:auto;right:auto;width:auto;height:auto;border:none;content:" \00BB"}.yoast-button--extension{padding-right:.8em;padding-left:.8em;color:#fff;text-transform:uppercase}.yoast-button--extension+.yoast-button--extension-activated,.yoast-button--extension+.yoast-button--extension-not-activated{margin-left:0}.yoast-button--extension-buy,.yoast-button--extension-buy:hover{background-color:#a4286a}.yoast-button--extension-installed{margin-right:.2rem}.yoast-button--extension-installed,.yoast-button--extension-installed:hover{background-color:#008a00}.yoast-button--extension-not-activated,.yoast-button--extension-not-activated:hover{background-color:#dc3232}.yoast-button--extension-activated,.yoast-button--extension-activated:hover{background-color:#008a00}.yoast-promo-extensions{display:-ms-flexbox;display:flex;margin-left:-24px;-ms-flex-wrap:wrap;flex-wrap:wrap}.yoast-promo-extensions>h2{width:100%;margin-bottom:32px;margin-left:32px}.yoast-promo-extension{max-width:340px;margin-left:32px;padding-bottom:120px;border-color:#a4286a;background-color:transparent}.yoast-promo-extension:first-child{margin-left:0}.yoast-promo-extension img{width:100%;height:auto;margin-bottom:.8rem}.yoast-promo-extension .yoast-button-container{position:absolute;right:20px;bottom:20px;left:20px}.yoast-promo-extension .yoast-button-container div.yoast-button--extension{cursor:default}.yoast-promo-extension .yoast-button{width:100%;max-height:none;font-size:.9rem}.yoast-promo-extension .yoast-button--extension{margin-top:0;font-size:.9rem;text-align:center}.yoast-promo-extension .yoast-button--extension-installed{width:48%;margin:0 2% 0 0}.yoast-promo-extension .yoast-button--extension-activated,.yoast-promo-extension .yoast-button--extension-not-activated{width:48%;margin-right:0;margin-left:0}.yoast-promo-extension h3{color:#a4286a}@media screen and (max-width:900px){.yoast-promo-extension img{display:none}.yoast-promo-extension{width:100%;max-width:none}}.yoast-seo-premium-extension{margin:2em .5em 1.5em}.yoast-seo-premium-extension:after,.yoast-seo-premium-extension:before{display:table;content:""}.yoast-seo-premium-extension:after{clear:both}.yoast-seo-premium-benefits__title{font-weight:600}.yoast-seo-premium-benefits__description:before{content:"– "}.yoast-link--license:after,.yoast-link--more-info:after{content:" \00BB"}.yoast-link--license{margin:1em 0 0}.yoast-promo-extension .yoast-link--license{display:block;margin:1em 0 0}.yoast-link--more-info{padding-left:calc(1em + 5px);background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23A4286A%22%20d%3D%22M1152%201376v%2D160q0%2D14%2D9%2D23t%2D23%2D9h%2D96v%2D512q0%2D14%2D9%2D23t%2D23%2D9h%2D320q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h96v320h%2D96q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h448q14%200%2023%2D9t9%2D23zm%2D128%2D896v%2D160q0%2D14%2D9%2D23t%2D23%2D9h%2D192q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h192q14%200%2023%2D9t9%2D23zm640%20416q0%20209%2D103%20385%2E5t%2D279%2E5%20279%2E5%2D385%2E5%20103%2D385%2E5%2D103%2D279%2E5%2D279%2E5%2D103%2D385%2E5%20103%2D385%2E5%20279%2E5%2D279%2E5%20385%2E5%2D103%20385%2E5%20103%20279%2E5%20279%2E5%20103%20385%2E5z%22%2F%3E%3C%2Fsvg%3E") left .2em no-repeat;background-size:1em}.yoast-promo-extension .yoast-link--more-info{display:block;margin:1em 0 0;background-position:left .4em}.yoast-money-back-guarantee{font-size:1.1em;font-style:italic}.yoast-license-status-active{padding:3px 6px;color:#fff;background:#008a00}.yoast-license-status-inactive{padding:3px 6px;color:#fff;background:#dc3232} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-571-rtl.min.css new file mode 100644 index 00000000..1b3edffc --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-571-rtl.min.css @@ -0,0 +1 @@ +.yoast-sidebar__title,.yoast-table-scrollable,.yoast-table-scrollable td,.yoast-table-scrollable th{box-sizing:border-box}.wpseo_content_wrapper{display:table;width:100%;table-layout:fixed}.wpseo_content_cell{display:table-cell;height:500px;margin:0;padding:0;vertical-align:top}#wpseo_content_top{width:100%}#sidebar-container{width:261px;padding:0 19px 0 0}tr.yst_row{margin:5px 0 0;padding:5px 0 0}tr.yst_row.even{background-color:#f6f6f6}.postbox{margin:10px 0 0 10px}label.select,label.textinput{float:right;width:200px;margin:5px 0}.yoast-inline-label{float:none;margin:0}input.textinput,select,textarea{width:400px}input.textinput,select.select,textarea.textinput{margin:0 0 15px}input.checkbox,input.checkbox.double,input.radio{margin:6px 0 6px 10px}.textinput.metadesc{height:50px}textarea.import{width:500px;height:100px}p.desc{margin:6px 0 10px;padding:0 25px 8px 0}p.desc.label{margin:0 0 20px;padding:0 200px 10px 0}.wpseo-gsc-reload-crawl-issues-form{position:relative;top:9px}.wp-core-ui .button.wpseo-gsc-save-profile{margin-right:200px}.wpseo_content_wrapper h3{margin:1em 0 .5em}h4{clear:both;margin:1.2em 0 .5em}.wpseo_content_wrapper li,.wpseo_content_wrapper p{max-width:600px}.wpseo_content_wrapper .notice p,.wpseo_content_wrapper .yoast-blocking-files-error p,.yoast .search-box{max-width:none}table.wpseo th{text-align:right}#wpseo-tabs+.notice{margin-top:1.5em}.wpseo-variable-warning-element{border:1px solid #c62d2d!important}.wpseo-variable-warning{clear:both;margin:5px 0 0;padding:5px;color:#c62d2d}.wpseo-variable-warning code{color:#b02828}.wpseo-variable-warning a{color:#c62d2d}.wpseo_content_wrapper h1.wpseo-redirect-url-title{margin:1em 0 .5em;font-size:1.3em}.postbox form{line-height:150%}.text{width:250px}table.yoast_help{width:100%;border-collapse:collapse}table.yoast_help,table.yoast_help td,table.yoast_help th{border:1px solid #ddd;color:#444}table.yoast_help td,table.yoast_help th{padding:5px 10px;text-align:right;vertical-align:top}.correct,.wrong{padding:5px;color:#fff}table.yoast_help tr{background-color:#f1f1f1}table.yoast_help tr:nth-child(2n){background-color:#fbfbfe}table.yoast_help tr:hover{background-color:#ddd}table.yoast_help thead tr,table.yoast_help thead tr:hover{background-color:#fff}table.yoast_help .yoast-variable-name{font-weight:600;white-space:nowrap}table.yoast_help .yoast-variable-desc{font-weight:400}.correct{background-color:green}.wrong{background-color:#dc3232}.wrong code{padding:3px 8px;color:#000}.yoast-notice-blocking-files code{color:#000;line-height:2}.yoast-notice-blocking-files .button{margin:.5em 0}.button.checkit,.button.fixit{float:left;margin:0 5px}.button.checkit{padding:5px 8px}.fb-buttons .button,.fb-buttons .button-primary{margin-left:8px}.wpseotab{display:none}.wpseotab.active{display:block}.wpseotab p.expl{margin-right:6px}.wpseotab p.expl strong{font-size:115%}#wpseo-debug-info{clear:both;margin:20px 0 0;padding:20px 20px 0;border:1px solid #e5e5e5;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}#wpseo-debug-info h2{margin:0;cursor:auto}#wpseo-debug-info .wpseo-debug-heading{font-size:1em}#wpseo-debug-info .wpseo-debug{display:inline-block;padding-right:20px;color:#c00}input.wpseo-new-title,textarea.wpseo-new-metadesc{width:100%;max-width:100%}#separator{margin:1.5em 0 .5em}#separator input.radio{position:absolute;right:-9999em;width:1px;height:1px}#separator input.radio+label{float:right;width:30px!important;margin:0 0 .5em 5px!important;padding:9px 6px;border:1px solid #ccc;font-family:Arial,Helvetica,sans-serif!important;font-size:18px!important;line-height:24px;text-align:center;cursor:pointer}#separator input.radio:checked+label{border:1px solid #a4286a;background-color:#fff;box-shadow:inset 0 0 0 2px #a4286a}#separator input.radio:focus+label{border-radius:10px 10px 10px 0}.svg-container{text-align:center}.svg-container .dashicons{width:200px;height:100px;font-size:100px}body.toplevel_page_wpseo_dashboard .wp-badge{background:url(../../images/Yoast_SEO_Icon.svg) 50% 10px no-repeat;background-size:140px 140px;box-shadow:none}.nav-tab .dashicons{width:18px;height:18px;font-size:18px;line-height:24px}.nav-tab .pinteresticon{width:12px;height:24px;margin-left:2px;background-image:url(../../images/pinterest-23x30.png);background-repeat:no-repeat;background-position:center center;background-size:contain}#wpseo_progressbar .ui-progressbar-value,.wpseo-progressbar .ui-progressbar-value{height:25px;background:#006691}#wpseo_progressbar{height:25px;border:1px solid #006691}.wpseo-progressbar-wrapper{display:inline;width:100%}.wpseo-progressbar{display:block;width:100%;height:25px;border:1px solid #006691}.wpseo-add-fb-admin-form-wrap .notice span{margin-right:10px}.archives-titles-metas-content{padding-top:1em}.yoast-sidebar__title{width:100%;margin:46px 0 20px;padding:10px 0;border-bottom:1px solid #a4286a;color:#a4286a;line-height:19px;text-align:right}.yoast-sidebar__spot{padding:10px 0;border-bottom:1px solid #ddd}.yoast-sidebar__spot a,.yoast-sidebar__spot h2{color:#a4286a}.yoast-sidebar__spot h2{margin-top:0}.yoast-sidebar__spot ul{position:relative}.yoast-sidebar__spot li{margin-right:20px;list-style:none}.yoast-sidebar__spot li::before{position:absolute;right:0;font-weight:700;content:"+"}.wpseo-banner__link{display:inline-block}.wpseo-banner__image{vertical-align:top}.yoast_premium_upsell_admin_block{overflow:hidden;max-width:650px;margin-top:2em;padding:10px;border:1px solid #ccc;background-color:#fff}.yoast_premium_upsell_admin_block--close{padding:1px 4px;border:1px solid #ccc;color:#333;font-size:16px;font-weight:700;text-decoration:none}.yoast_premium_upsell_admin_block--header{margin-top:.3em;font-size:1.7em;font-weight:700}.yoast_premium_upsell_admin_block--motivation{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.yoast_premium_upsell_admin_block--motivation li{list-style:none;-ms-flex:0 0 50%;flex:0 0 50%}.yoast_premium_upsell_admin_block--argument{padding:0 20px 0 8px}.yoast_premium_upsell_admin_block--argument::before{position:relative;top:-1px;right:-16px;margin-left:-10px;font-weight:700;content:"+"}@media screen and (max-width:480px){.yoast_premium_upsell_admin_block--motivation{display:block}}@media screen and (max-width:1024px){.wpseo-tab-video-slideout .yoast-table-scrollable{width:120%}}.page-wpseo_rss .yoast-variable-desc{min-width:300px}.yoast-table-scrollable__container.yoast-has-scroll{overflow:hidden;position:relative}.yoast-table-scrollable__container.yoast-has-scroll:after{position:absolute;top:0;right:100%;width:50px;height:calc(100% - 16px);border-radius:0 10px 10px 0/0 50% 50% 0;box-shadow:5px 0 10px rgba(0,0,0,.25);content:""}.yoast-table-scrollable__container.yoast-has-scroll .yoast-table-scrollable__inner{overflow-x:scroll;padding-bottom:16px}.yoast-table-scrollable__hintwrapper{display:none}.yoast-table-scrollable__hintwrapper.yoast-has-scroll{display:block;margin:1em 0;text-align:center}.yoast-has-scroll .yoast-table-scrollable__hint{display:inline-block}.yoast-has-scroll .yoast-table-scrollable__hint:before{display:inline-block;margin-left:10px;font-size:20px;line-height:inherit;vertical-align:text-top;content:"\21c4"}@media screen and (max-width:1024px){.wpseo_content_cell,.wpseo_content_wrapper{display:block;height:auto}#wpseo_content_top{width:auto}#sidebar-container{width:auto;padding:0}.yoast-sidebar__spot{float:right;width:50%;border:none;text-align:center}.yoast-sidebar__spot>strong:first-child{display:block;max-width:261px;margin:0 auto;text-align:right}.yoast-sidebar__spot p,.yoast-sidebar__spot ul{max-width:261px;margin:1em auto;text-align:right}}@media screen and (max-width:782px){label.select,label.textinput{display:inline-block;float:none;width:auto}input.textinput,textarea,textarea.textinput{display:block;width:100%}.select2-container,select,select.select{display:block;max-width:100%}p.desc.label{padding-right:0}.wp-core-ui .button.wpseo-gsc-save-profile{margin-right:0}.wpseo-gsc-reload-crawl-issues-form{top:0;margin:1em 0}.wpseo-gsc-reload-crawl-issues-form .alignright{float:none}}@media screen and (max-width:600px){.wpseo-gsc-reload-crawl-issues-form{margin-bottom:0}.yoast-sidebar__spot{float:none;width:261px;margin:0 auto;border-bottom:1px solid #ddd}}@media screen and (max-width:500px){body.toplevel_page_wpseo_dashboard .wp-badge{padding-top:80px;background-color:#a4286a;background-size:100px 100px;box-shadow:0 1px 3px rgba(0,0,0,.2)}}.wpseo-checkmark-ok-icon{float:right;width:18px;height:18px;margin-left:5px;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E") no-repeat;background-size:18px;vertical-align:top} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-571.min.css new file mode 100644 index 00000000..2e656130 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-571.min.css @@ -0,0 +1 @@ +.yoast-sidebar__title,.yoast-table-scrollable,.yoast-table-scrollable td,.yoast-table-scrollable th{box-sizing:border-box}.wpseo_content_wrapper{display:table;width:100%;table-layout:fixed}.wpseo_content_cell{display:table-cell;height:500px;margin:0;padding:0;vertical-align:top}#wpseo_content_top{width:100%}#sidebar-container{width:261px;padding:0 0 0 19px}tr.yst_row{margin:5px 0 0;padding:5px 0 0}tr.yst_row.even{background-color:#f6f6f6}.postbox{margin:10px 10px 0 0}label.select,label.textinput{float:left;width:200px;margin:5px 0}.yoast-inline-label{float:none;margin:0}input.textinput,select,textarea{width:400px}input.textinput,select.select,textarea.textinput{margin:0 0 15px}input.checkbox,input.checkbox.double,input.radio{margin:6px 10px 6px 0}.textinput.metadesc{height:50px}textarea.import{width:500px;height:100px}p.desc{margin:6px 0 10px;padding:0 0 8px 25px}p.desc.label{margin:0 0 20px;padding:0 0 10px 200px}.wpseo-gsc-reload-crawl-issues-form{position:relative;top:9px}.wp-core-ui .button.wpseo-gsc-save-profile{margin-left:200px}.wpseo_content_wrapper h3{margin:1em 0 .5em}h4{clear:both;margin:1.2em 0 .5em}.wpseo_content_wrapper li,.wpseo_content_wrapper p{max-width:600px}.wpseo_content_wrapper .notice p,.wpseo_content_wrapper .yoast-blocking-files-error p,.yoast .search-box{max-width:none}table.wpseo th{text-align:left}#wpseo-tabs+.notice{margin-top:1.5em}.wpseo-variable-warning-element{border:1px solid #c62d2d!important}.wpseo-variable-warning{clear:both;margin:5px 0 0;padding:5px;color:#c62d2d}.wpseo-variable-warning code{color:#b02828}.wpseo-variable-warning a{color:#c62d2d}.wpseo_content_wrapper h1.wpseo-redirect-url-title{margin:1em 0 .5em;font-size:1.3em}.postbox form{line-height:150%}.text{width:250px}table.yoast_help{width:100%;border-collapse:collapse}table.yoast_help,table.yoast_help td,table.yoast_help th{border:1px solid #ddd;color:#444}table.yoast_help td,table.yoast_help th{padding:5px 10px;text-align:left;vertical-align:top}.correct,.wrong{padding:5px;color:#fff}table.yoast_help tr{background-color:#f1f1f1}table.yoast_help tr:nth-child(2n){background-color:#fbfbfe}table.yoast_help tr:hover{background-color:#ddd}table.yoast_help thead tr,table.yoast_help thead tr:hover{background-color:#fff}table.yoast_help .yoast-variable-name{font-weight:600;white-space:nowrap}table.yoast_help .yoast-variable-desc{font-weight:400}.correct{background-color:green}.wrong{background-color:#dc3232}.wrong code{padding:3px 8px;color:#000}.yoast-notice-blocking-files code{color:#000;line-height:2}.yoast-notice-blocking-files .button{margin:.5em 0}.button.checkit,.button.fixit{float:right;margin:0 5px}.button.checkit{padding:5px 8px}.fb-buttons .button,.fb-buttons .button-primary{margin-right:8px}.wpseotab{display:none}.wpseotab.active{display:block}.wpseotab p.expl{margin-left:6px}.wpseotab p.expl strong{font-size:115%}#wpseo-debug-info{clear:both;margin:20px 0 0;padding:20px 20px 0;border:1px solid #e5e5e5;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}#wpseo-debug-info h2{margin:0;cursor:auto}#wpseo-debug-info .wpseo-debug-heading{font-size:1em}#wpseo-debug-info .wpseo-debug{display:inline-block;padding-left:20px;color:#c00}input.wpseo-new-title,textarea.wpseo-new-metadesc{width:100%;max-width:100%}#separator{margin:1.5em 0 .5em}#separator input.radio{position:absolute;left:-9999em;width:1px;height:1px}#separator input.radio+label{float:left;width:30px!important;margin:0 5px .5em 0!important;padding:9px 6px;border:1px solid #ccc;font-family:Arial,Helvetica,sans-serif!important;font-size:18px!important;line-height:24px;text-align:center;cursor:pointer}#separator input.radio:checked+label{border:1px solid #a4286a;background-color:#fff;box-shadow:inset 0 0 0 2px #a4286a}#separator input.radio:focus+label{border-radius:10px 10px 0}.svg-container{text-align:center}.svg-container .dashicons{width:200px;height:100px;font-size:100px}body.toplevel_page_wpseo_dashboard .wp-badge{background:url(../../images/Yoast_SEO_Icon.svg) 50% 10px no-repeat;background-size:140px 140px;box-shadow:none}.nav-tab .dashicons{width:18px;height:18px;font-size:18px;line-height:24px}.nav-tab .pinteresticon{width:12px;height:24px;margin-right:2px;background-image:url(../../images/pinterest-23x30.png);background-repeat:no-repeat;background-position:center center;background-size:contain}#wpseo_progressbar .ui-progressbar-value,.wpseo-progressbar .ui-progressbar-value{height:25px;background:#006691}#wpseo_progressbar{height:25px;border:1px solid #006691}.wpseo-progressbar-wrapper{display:inline;width:100%}.wpseo-progressbar{display:block;width:100%;height:25px;border:1px solid #006691}.wpseo-add-fb-admin-form-wrap .notice span{margin-left:10px}.archives-titles-metas-content{padding-top:1em}.yoast-sidebar__title{width:100%;margin:46px 0 20px;padding:10px 0;border-bottom:1px solid #a4286a;color:#a4286a;line-height:19px;text-align:left}.yoast-sidebar__spot{padding:10px 0;border-bottom:1px solid #ddd}.yoast-sidebar__spot a,.yoast-sidebar__spot h2{color:#a4286a}.yoast-sidebar__spot h2{margin-top:0}.yoast-sidebar__spot ul{position:relative}.yoast-sidebar__spot li{margin-left:20px;list-style:none}.yoast-sidebar__spot li::before{position:absolute;left:0;font-weight:700;content:"+"}.wpseo-banner__link{display:inline-block}.wpseo-banner__image{vertical-align:top}.yoast_premium_upsell_admin_block{overflow:hidden;max-width:650px;margin-top:2em;padding:10px;border:1px solid #ccc;background-color:#fff}.yoast_premium_upsell_admin_block--close{padding:1px 4px;border:1px solid #ccc;color:#333;font-size:16px;font-weight:700;text-decoration:none}.yoast_premium_upsell_admin_block--header{margin-top:.3em;font-size:1.7em;font-weight:700}.yoast_premium_upsell_admin_block--motivation{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.yoast_premium_upsell_admin_block--motivation li{list-style:none;-ms-flex:0 0 50%;flex:0 0 50%}.yoast_premium_upsell_admin_block--argument{padding:0 8px 0 20px}.yoast_premium_upsell_admin_block--argument::before{position:relative;top:-1px;left:-16px;margin-right:-10px;font-weight:700;content:"+"}@media screen and (max-width:480px){.yoast_premium_upsell_admin_block--motivation{display:block}}@media screen and (max-width:1024px){.wpseo-tab-video-slideout .yoast-table-scrollable{width:120%}}.page-wpseo_rss .yoast-variable-desc{min-width:300px}.yoast-table-scrollable__container.yoast-has-scroll{overflow:hidden;position:relative}.yoast-table-scrollable__container.yoast-has-scroll:after{position:absolute;top:0;left:100%;width:50px;height:calc(100% - 16px);border-radius:10px 0 0 10px/50% 0 0 50%;box-shadow:-5px 0 10px rgba(0,0,0,.25);content:""}.yoast-table-scrollable__container.yoast-has-scroll .yoast-table-scrollable__inner{overflow-x:scroll;padding-bottom:16px}.yoast-table-scrollable__hintwrapper{display:none}.yoast-table-scrollable__hintwrapper.yoast-has-scroll{display:block;margin:1em 0;text-align:center}.yoast-has-scroll .yoast-table-scrollable__hint{display:inline-block}.yoast-has-scroll .yoast-table-scrollable__hint:before{display:inline-block;margin-right:10px;font-size:20px;line-height:inherit;vertical-align:text-top;content:"\21c4"}@media screen and (max-width:1024px){.wpseo_content_cell,.wpseo_content_wrapper{display:block;height:auto}#wpseo_content_top{width:auto}#sidebar-container{width:auto;padding:0}.yoast-sidebar__spot{float:left;width:50%;border:none;text-align:center}.yoast-sidebar__spot>strong:first-child{display:block;max-width:261px;margin:0 auto;text-align:left}.yoast-sidebar__spot p,.yoast-sidebar__spot ul{max-width:261px;margin:1em auto;text-align:left}}@media screen and (max-width:782px){label.select,label.textinput{display:inline-block;float:none;width:auto}input.textinput,textarea,textarea.textinput{display:block;width:100%}.select2-container,select,select.select{display:block;max-width:100%}p.desc.label{padding-left:0}.wp-core-ui .button.wpseo-gsc-save-profile{margin-left:0}.wpseo-gsc-reload-crawl-issues-form{top:0;margin:1em 0}.wpseo-gsc-reload-crawl-issues-form .alignright{float:none}}@media screen and (max-width:600px){.wpseo-gsc-reload-crawl-issues-form{margin-bottom:0}.yoast-sidebar__spot{float:none;width:261px;margin:0 auto;border-bottom:1px solid #ddd}}@media screen and (max-width:500px){body.toplevel_page_wpseo_dashboard .wp-badge{padding-top:80px;background-color:#a4286a;background-size:100px 100px;box-shadow:0 1px 3px rgba(0,0,0,.2)}}.wpseo-checkmark-ok-icon{float:left;width:18px;height:18px;margin-right:5px;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E") no-repeat;background-size:18px;vertical-align:top} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/yst_seo_score-571-rtl.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/yst_seo_score-571-rtl.min.css new file mode 100644 index 00000000..01c4325f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/yst_seo_score-571-rtl.min.css @@ -0,0 +1 @@ +.wpseo-score-icon{display:inline-block;width:12px;height:12px;margin:3px 3px 0 10px;border-radius:50%;background:#888;vertical-align:top}.wpseo-score-icon.good{background-color:#7ad03a}.wpseo-score-icon.ok{background-color:#ee7c1b}.wpseo-score-icon.bad{background-color:#dc3232}.wpseo-score-icon.na{background-color:#888}.wpseo-score-icon.noindex{background-color:#1e8cbe}.wpseo-score-title{font-weight:600}#taxonomy_overall{position:absolute;top:0;margin-right:87.5%} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/dist/yst_seo_score-571.min.css b/pole-sbv-content/plugins/wordpress-seo/css/dist/yst_seo_score-571.min.css new file mode 100644 index 00000000..df91e15b --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/dist/yst_seo_score-571.min.css @@ -0,0 +1 @@ +.wpseo-score-icon{display:inline-block;width:12px;height:12px;margin:3px 10px 0 3px;border-radius:50%;background:#888;vertical-align:top}.wpseo-score-icon.good{background-color:#7ad03a}.wpseo-score-icon.ok{background-color:#ee7c1b}.wpseo-score-icon.bad{background-color:#dc3232}.wpseo-score-icon.na{background-color:#888}.wpseo-score-icon.noindex{background-color:#1e8cbe}.wpseo-score-title{font-weight:600}#taxonomy_overall{position:absolute;top:0;margin-left:87.5%} \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/css/xml-sitemap-xsl.php b/pole-sbv-content/plugins/wordpress-seo/css/xml-sitemap-xsl.php new file mode 100644 index 00000000..858a735c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/css/xml-sitemap-xsl.php @@ -0,0 +1,177 @@ +'; +?> + + + + + + XML Sitemap + + + + +
    +

    XML Sitemap

    +

    + Generated by Yoast SEO, this is an XML Sitemap, meant for consumption by search engines.
    + You can find more information about XML sitemaps on sitemaps.org. +

    + +

    + This XML Sitemap Index file contains sitemaps. +

    + + + + + + + + + + + + + + + + + + +
    SitemapLast Modified
    + + + +
    +
    + +

    + This XML Sitemap contains URLs. +

    +

    ↑ Sitemap Index

    + + + + + + + + + + + + + + + + + + + +
    URLImagesLast Mod.
    + + + + + + + + + + +
    +
    +
    + + + + + +
    +
    '', + '1' => '', + ); + } + + /** + * @deprecated 3.0.7 + */ + public function get_message() { + _deprecated_function( __METHOD__, 'WPSEO 3.0.7' ); + + return ''; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/deprecated/class-onpage-notifier.php b/pole-sbv-content/plugins/wordpress-seo/deprecated/class-onpage-notifier.php new file mode 100644 index 00000000..6ed700e8 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/deprecated/class-onpage-notifier.php @@ -0,0 +1,45 @@ +content + * + * @return string html for snippet preview + * + * @deprecated 3.0 Removed, use javascript instead. + */ + public function get_content() { + _deprecated_function( __METHOD__, 'WPSEO 3.0', __( 'Use javascript instead.', 'wordpress-seo' ) ); + return $this->content; + } + + /** + * Sets date if available + * + * @deprecated 3.0 Removed, use javascript instead. + */ + protected function set_date() { + _deprecated_function( __METHOD__, 'WPSEO 3.0', __( 'Use javascript instead.', 'wordpress-seo' ) ); + } + + /** + * Retrieves a post date when post is published, or return current date when it's not. + * + * @return string + * + * @deprecated 3.0 Removed, use javascript instead. + */ + protected function get_post_date() { + _deprecated_function( __METHOD__, 'WPSEO 3.0', __( 'Use javascript instead.', 'wordpress-seo' ) ); + return ''; + } + + /** + * Generates the url that is displayed in the snippet preview. + * + * @deprecated 3.0 Removed, use javascript instead. + */ + protected function set_url() { + _deprecated_function( __METHOD__, 'WPSEO 3.0', __( 'Use javascript instead.', 'wordpress-seo' ) ); + } + + /** + * Sets the slug and adds it to the url if the post has been published and the post name exists. + * + * If the post is set to be the homepage the slug is also not included. + * + * @deprecated 3.0 Removed, use javascript instead. + */ + protected function set_slug() { + _deprecated_function( __METHOD__, 'WPSEO 3.0', __( 'Use javascript instead.', 'wordpress-seo' ) ); + } + + /** + * Generates the html for the snippet preview and assign it to $this->content. + * + * @deprecated 3.0 Removed, use javascript instead. + */ + protected function set_content() { + _deprecated_function( __METHOD__, 'WPSEO 3.0', __( 'Use javascript instead.', 'wordpress-seo' ) ); + } + + /** + * Sets the html for the snippet preview through a filter + * + * @param string $content Content string. + * + * @deprecated 3.0 Removed, use javascript instead. + */ + protected function set_content_through_filter( $content ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0', __( 'Use javascript instead.', 'wordpress-seo' ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/deprecated/class-yoast-textstatistics.php b/pole-sbv-content/plugins/wordpress-seo/deprecated/class-yoast-textstatistics.php new file mode 100644 index 00000000..498a1dcf --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/deprecated/class-yoast-textstatistics.php @@ -0,0 +1,198 @@ +options = WPSEO_Options::get_options( array( 'wpseo_titles', 'wpseo_internallinks', 'wpseo_xml' ) ); + $this->post = ( isset( $GLOBALS['post'] ) ? $GLOBALS['post'] : null ); + $this->show_on_front = get_option( 'show_on_front' ); + $this->page_for_posts = get_option( 'page_for_posts' ); + + $this->filter_element(); + $this->filter_separator(); + $this->filter_wrapper(); + + $this->set_crumbs(); + $this->prepare_links(); + $this->links_to_string(); + $this->wrap_breadcrumb(); + } + + /** + * Get breadcrumb string using the singleton instance of this class + * + * @param string $before Optional string to prepend. + * @param string $after Optional string to append. + * @param bool $display Echo or return flag. + * + * @return object + */ + public static function breadcrumb( $before = '', $after = '', $display = true ) { + if ( ! ( self::$instance instanceof self ) ) { + self::$instance = new self(); + } + // Remember the last used before/after for use in case the object goes __toString(). + self::$before = $before; + self::$after = $after; + + $output = $before . self::$instance->output . $after; + + if ( $display === true ) { + echo $output; + + return true; + } + else { + return $output; + } + } + + /** + * Magic method to use in case the class would be send to string + * + * @return string + */ + public function __toString() { + return self::$before . $this->output . self::$after; + } + + + /** + * Filter: 'wpseo_breadcrumb_single_link_wrapper' - Allows developer to change or wrap each breadcrumb element + * + * @api string $element + */ + private function filter_element() { + $this->element = esc_attr( apply_filters( 'wpseo_breadcrumb_single_link_wrapper', $this->element ) ); + } + + /** + * Filter: 'wpseo_breadcrumb_separator' - Allow (theme) developer to change the Yoast SEO breadcrumb separator. + * + * @api string $breadcrumbs_sep Breadcrumbs separator + */ + private function filter_separator() { + $separator = apply_filters( 'wpseo_breadcrumb_separator', $this->options['breadcrumbs-sep'] ); + $this->separator = ' ' . $separator . ' '; + } + + /** + * Filter: 'wpseo_breadcrumb_output_wrapper' - Allow changing the HTML wrapper element for the Yoast SEO breadcrumbs output + * + * @api string $wrapper The wrapper element + */ + private function filter_wrapper() { + $wrapper = apply_filters( 'wpseo_breadcrumb_output_wrapper', $this->wrapper ); + $wrapper = tag_escape( $wrapper ); + if ( is_string( $wrapper ) && '' !== $wrapper ) { + $this->wrapper = $wrapper; + } + } + + + /** + * Get a term's parents. + * + * @param object $term Term to get the parents for. + * + * @return array + */ + private function get_term_parents( $term ) { + $tax = $term->taxonomy; + $parents = array(); + while ( $term->parent != 0 ) { + $term = get_term( $term->parent, $tax ); + $parents[] = $term; + } + + return array_reverse( $parents ); + } + + /** + * Find the deepest term in an array of term objects + * + * @param array $terms Terms set. + * + * @return object + */ + private function find_deepest_term( $terms ) { + /* + * Let's find the deepest term in this array, by looping through and then + * unsetting every term that is used as a parent by another one in the array. + */ + $terms_by_id = array(); + foreach ( $terms as $term ) { + $terms_by_id[ $term->term_id ] = $term; + } + foreach ( $terms as $term ) { + unset( $terms_by_id[ $term->parent ] ); + } + unset( $term ); + + /* + * As we could still have two subcategories, from different parent categories, + * let's pick the one with the lowest ordered ancestor. + */ + $parents_count = 0; + $term_order = 9999; // Because ASC. + reset( $terms_by_id ); + $deepest_term = current( $terms_by_id ); + foreach ( $terms_by_id as $term ) { + $parents = $this->get_term_parents( $term ); + + if ( count( $parents ) >= $parents_count ) { + $parents_count = count( $parents ); + + // If higher count. + if ( count( $parents ) > $parents_count ) { + // Reset order. + $term_order = 9999; + } + + $parent_order = 9999; // Set default order. + foreach ( $parents as $parent ) { + if ( $parent->parent == 0 && isset( $parent->term_order ) ) { + $parent_order = $parent->term_order; + } + } + unset( $parent ); + + // Check if parent has lowest order. + if ( $parent_order < $term_order ) { + $term_order = $parent_order; + $deepest_term = $term; + } + } + } + + return $deepest_term; + } + + /** + * Retrieve the hierachical ancestors for the current 'post' + * + * @return array + */ + private function get_post_ancestors() { + $ancestors = array(); + + if ( isset( $this->post->ancestors ) ) { + if ( is_array( $this->post->ancestors ) ) { + $ancestors = array_values( $this->post->ancestors ); + } + else { + $ancestors = array( $this->post->ancestors ); + } + } + elseif ( isset( $this->post->post_parent ) ) { + $ancestors = array( $this->post->post_parent ); + } + + /** + * Filter: Allow changing the ancestors for the Yoast SEO breadcrumbs output + * + * @api array $ancestors Ancestors + */ + $ancestors = apply_filters( 'wp_seo_get_bc_ancestors', $ancestors ); + + if ( ! is_array( $ancestors ) ) { + trigger_error( 'The return value for the "wp_seo_get_bc_ancestors" filter should be an array.', E_USER_WARNING ); + $ancestors = (array) $ancestors; + } + + // Reverse the order so it's oldest to newest. + $ancestors = array_reverse( $ancestors ); + + return $ancestors; + } + + /** + * Determine the crumbs which should form the breadcrumb. + */ + private function set_crumbs() { + /** @var WP_Query $wp_query */ + global $wp_query; + + $this->maybe_add_home_crumb(); + $this->maybe_add_blog_crumb(); + + // Ignore coding standards for empty if statement. + // @codingStandardsIgnoreStart + if ( ( $this->show_on_front === 'page' && is_front_page() ) || ( $this->show_on_front === 'posts' && is_home() ) ) { + // Do nothing. + // @codingStandardsIgnoreEnd + } + elseif ( $this->show_on_front == 'page' && is_home() ) { + $this->add_blog_crumb(); + } + elseif ( is_singular() ) { + $this->maybe_add_pt_archive_crumb_for_post(); + + if ( isset( $this->post->post_parent ) && 0 == $this->post->post_parent ) { + $this->maybe_add_taxonomy_crumbs_for_post(); + } + else { + $this->add_post_ancestor_crumbs(); + } + + if ( isset( $this->post->ID ) ) { + $this->add_single_post_crumb( $this->post->ID ); + } + } + else { + if ( is_post_type_archive() ) { + $post_type = $wp_query->get( 'post_type' ); + + if ( $post_type && is_string( $post_type ) ) { + $this->add_ptarchive_crumb( $post_type ); + } + } + elseif ( is_tax() || is_tag() || is_category() ) { + $this->add_crumbs_for_taxonomy(); + } + elseif ( is_date() ) { + if ( is_day() ) { + $this->add_linked_month_year_crumb(); + $this->add_date_crumb(); + } + elseif ( is_month() ) { + $this->add_month_crumb(); + } + elseif ( is_year() ) { + $this->add_year_crumb(); + } + } + elseif ( is_author() ) { + $user = $wp_query->get_queried_object(); + $display_name = get_the_author_meta( 'display_name', $user->ID ); + $this->add_predefined_crumb( + $this->options['breadcrumbs-archiveprefix'] . ' ' . $display_name, + null, + true + ); + } + elseif ( is_search() ) { + $this->add_predefined_crumb( + $this->options['breadcrumbs-searchprefix'] . ' "' . esc_html( get_search_query() ) . '"', + null, + true + ); + } + elseif ( is_404() ) { + $this->add_predefined_crumb( + $this->options['breadcrumbs-404crumb'], + null, + true + ); + } + } + + /** + * Filter: 'wpseo_breadcrumb_links' - Allow the developer to filter the Yoast SEO breadcrumb links, add to them, change order, etc. + * + * @api array $crumbs The crumbs array + */ + $this->crumbs = apply_filters( 'wpseo_breadcrumb_links', $this->crumbs ); + + $this->crumb_count = count( $this->crumbs ); + } + + + /** + * Add a single id based crumb to the crumbs property + * + * @param int $id Post ID. + */ + private function add_single_post_crumb( $id ) { + $this->crumbs[] = array( + 'id' => $id, + ); + } + + /** + * Add a term based crumb to the crumbs property + * + * @param object $term Term data object. + */ + private function add_term_crumb( $term ) { + $this->crumbs[] = array( + 'term' => $term, + ); + } + + /** + * Add a ptarchive based crumb to the crumbs property + * + * @param string $pt Post type. + */ + private function add_ptarchive_crumb( $pt ) { + $this->crumbs[] = array( + 'ptarchive' => $pt, + ); + } + + /** + * Add a predefined crumb to the crumbs property + * + * @param string $text Text string. + * @param string $url URL string. + * @param bool $allow_html Flag to allow HTML. + */ + private function add_predefined_crumb( $text, $url = '', $allow_html = false ) { + $this->crumbs[] = array( + 'text' => $text, + 'url' => $url, + 'allow_html' => $allow_html, + ); + } + + /** + * Add Homepage crumb to the crumbs property + */ + private function maybe_add_home_crumb() { + if ( $this->options['breadcrumbs-home'] !== '' ) { + $this->add_predefined_crumb( + $this->options['breadcrumbs-home'], + WPSEO_Utils::home_url(), + true + ); + } + } + + /** + * Add Blog crumb to the crumbs property + */ + private function add_blog_crumb() { + $this->add_single_post_crumb( $this->page_for_posts ); + } + + /** + * Add Blog crumb to the crumbs property for single posts where Home != blogpage + */ + private function maybe_add_blog_crumb() { + if ( ( 'page' === $this->show_on_front && 'post' === get_post_type() ) && ( ! is_home() && ! is_search() ) ) { + if ( $this->page_for_posts && $this->options['breadcrumbs-blog-remove'] === false ) { + $this->add_blog_crumb(); + } + } + } + + /** + * Add ptarchive crumb to the crumbs property if it can be linked to, for a single post + */ + private function maybe_add_pt_archive_crumb_for_post() { + // Never do this for the Post type archive for posts, as that would break `maybe_add_blog_crumb`. + if ( $this->post->post_type === 'post' ) { + return; + } + if ( isset( $this->post->post_type ) && get_post_type_archive_link( $this->post->post_type ) ) { + $this->add_ptarchive_crumb( $this->post->post_type ); + } + } + + /** + * Add taxonomy crumbs to the crumbs property for a single post + */ + private function maybe_add_taxonomy_crumbs_for_post() { + if ( isset( $this->options[ 'post_types-' . $this->post->post_type . '-maintax' ] ) && $this->options[ 'post_types-' . $this->post->post_type . '-maintax' ] != '0' ) { + $main_tax = $this->options[ 'post_types-' . $this->post->post_type . '-maintax' ]; + if ( isset( $this->post->ID ) ) { + $terms = get_the_terms( $this->post, $main_tax ); + + if ( is_array( $terms ) && $terms !== array() ) { + + $primary_term = new WPSEO_Primary_Term( $main_tax, $this->post->ID ); + if ( $primary_term->get_primary_term() ) { + $breadcrumb_term = get_term( $primary_term->get_primary_term(), $main_tax ); + } + else { + $breadcrumb_term = $this->find_deepest_term( $terms ); + } + + if ( is_taxonomy_hierarchical( $main_tax ) && $breadcrumb_term->parent != 0 ) { + $parent_terms = $this->get_term_parents( $breadcrumb_term ); + foreach ( $parent_terms as $parent_term ) { + $this->add_term_crumb( $parent_term ); + } + } + + $this->add_term_crumb( $breadcrumb_term ); + } + } + } + } + + /** + * Add hierarchical ancestor crumbs to the crumbs property for a single post + */ + private function add_post_ancestor_crumbs() { + $ancestors = $this->get_post_ancestors(); + if ( is_array( $ancestors ) && $ancestors !== array() ) { + foreach ( $ancestors as $ancestor ) { + $this->add_single_post_crumb( $ancestor ); + } + } + } + + /** + * Add taxonomy parent crumbs to the crumbs property for a taxonomy + */ + private function add_crumbs_for_taxonomy() { + $term = $GLOBALS['wp_query']->get_queried_object(); + + // @todo adjust function name!! + $this->maybe_add_preferred_term_parent_crumb( $term ); + + $this->maybe_add_term_parent_crumbs( $term ); + + $this->add_term_crumb( $term ); + } + + /** + * Add parent taxonomy crumb based on user defined preference + * + * @param object $term Term data object. + */ + private function maybe_add_preferred_term_parent_crumb( $term ) { + if ( isset( $this->options[ 'taxonomy-' . $term->taxonomy . '-ptparent' ] ) && $this->options[ 'taxonomy-' . $term->taxonomy . '-ptparent' ] != '0' ) { + if ( 'post' == $this->options[ 'taxonomy-' . $term->taxonomy . '-ptparent' ] && $this->show_on_front == 'page' ) { + if ( $this->page_for_posts ) { + $this->add_blog_crumb(); + } + } + else { + $this->add_ptarchive_crumb( $this->options[ 'taxonomy-' . $term->taxonomy . '-ptparent' ] ); + } + } + } + + /** + * Add parent taxonomy crumbs to the crumb property for hierachical taxonomy + * + * @param object $term Term data object. + */ + private function maybe_add_term_parent_crumbs( $term ) { + if ( is_taxonomy_hierarchical( $term->taxonomy ) && $term->parent != 0 ) { + foreach ( $this->get_term_parents( $term ) as $parent_term ) { + $this->add_term_crumb( $parent_term ); + } + } + } + + /** + * Add month-year crumb to crumbs property + */ + private function add_linked_month_year_crumb() { + $this->add_predefined_crumb( + $GLOBALS['wp_locale']->get_month( get_query_var( 'monthnum' ) ) . ' ' . get_query_var( 'year' ), + get_month_link( get_query_var( 'year' ), get_query_var( 'monthnum' ) ) + ); + } + + /** + * Add (non-link) month crumb to crumbs property + */ + private function add_month_crumb() { + $this->add_predefined_crumb( + $this->options['breadcrumbs-archiveprefix'] . ' ' . esc_html( single_month_title( ' ', false ) ), + null, + true + ); + } + + /** + * Add (non-link) year crumb to crumbs property + */ + private function add_year_crumb() { + $this->add_predefined_crumb( + $this->options['breadcrumbs-archiveprefix'] . ' ' . esc_html( get_query_var( 'year' ) ), + null, + true + ); + } + + /** + * Add (non-link) date crumb to crumbs property + * + * @param string $date Optional date string, defaults to post's date. + */ + private function add_date_crumb( $date = null ) { + if ( is_null( $date ) ) { + $date = get_the_date(); + } + else { + $date = mysql2date( get_option( 'date_format' ), $date, true ); + $date = apply_filters( 'get_the_date', $date, '' ); + } + + $this->add_predefined_crumb( + $this->options['breadcrumbs-archiveprefix'] . ' ' . esc_html( $date ), + null, + true + ); + } + + + /** + * Take the crumbs array and convert each crumb to a single breadcrumb string. + * + * @link http://support.google.com/webmasters/bin/answer.py?hl=en&answer=185417 Google documentation on RDFA + */ + private function prepare_links() { + if ( ! is_array( $this->crumbs ) || $this->crumbs === array() ) { + return; + } + + foreach ( $this->crumbs as $i => $crumb ) { + $link_info = $crumb; // Keep pre-set url/text combis. + + if ( isset( $crumb['id'] ) ) { + $link_info = $this->get_link_info_for_id( $crumb['id'] ); + } + if ( isset( $crumb['term'] ) ) { + $link_info = $this->get_link_info_for_term( $crumb['term'] ); + } + if ( isset( $crumb['ptarchive'] ) ) { + $link_info = $this->get_link_info_for_ptarchive( $crumb['ptarchive'] ); + } + + $this->links[] = $this->crumb_to_link( $link_info, $i ); + } + } + + /** + * Retrieve link url and text based on post id + * + * @param int $id Post ID. + * + * @return array Array of link text and url + */ + private function get_link_info_for_id( $id ) { + $link = array(); + + $link['url'] = get_permalink( $id ); + $link['text'] = WPSEO_Meta::get_value( 'bctitle', $id ); + if ( $link['text'] === '' ) { + $link['text'] = strip_tags( get_the_title( $id ) ); + } + + /** + * Filter: 'wp_seo_get_bc_title' - Allow developer to filter the Yoast SEO Breadcrumb title. + * + * @api string $link_text The Breadcrumb title text + * + * @param int $link_id The post ID + */ + $link['text'] = apply_filters( 'wp_seo_get_bc_title', $link['text'], $id ); + + return $link; + } + + /** + * Retrieve link url and text based on term object + * + * @param object $term Term object. + * + * @return array Array of link text and url + */ + private function get_link_info_for_term( $term ) { + $link = array(); + + $bctitle = WPSEO_Taxonomy_Meta::get_term_meta( $term, $term->taxonomy, 'bctitle' ); + if ( ! is_string( $bctitle ) || $bctitle === '' ) { + $bctitle = $term->name; + } + + $link['url'] = get_term_link( $term ); + $link['text'] = $bctitle; + + return $link; + } + + /** + * Retrieve link url and text based on post type + * + * @param string $pt Post type. + * + * @return array Array of link text and url + */ + private function get_link_info_for_ptarchive( $pt ) { + $link = array(); + $archive_title = ''; + + if ( isset( $this->options[ 'bctitle-ptarchive-' . $pt ] ) && $this->options[ 'bctitle-ptarchive-' . $pt ] !== '' ) { + + $archive_title = $this->options[ 'bctitle-ptarchive-' . $pt ]; + } + else { + $post_type_obj = get_post_type_object( $pt ); + if ( is_object( $post_type_obj ) ) { + if ( isset( $post_type_obj->label ) && $post_type_obj->label !== '' ) { + $archive_title = $post_type_obj->label; + } + elseif ( isset( $post_type_obj->labels->menu_name ) && $post_type_obj->labels->menu_name !== '' ) { + $archive_title = $post_type_obj->labels->menu_name; + } + else { + $archive_title = $post_type_obj->name; + } + } + } + + $link['url'] = get_post_type_archive_link( $pt ); + $link['text'] = $archive_title; + + return $link; + } + + + /** + * Create a breadcrumb element string + * + * @todo The `$paged` variable only works for archives, not for paged articles, so this does not work + * for paged article at this moment. + * + * @param array $link Link info array containing the keys: + * 'text' => (string) link text + * 'url' => (string) link url + * (optional) 'title' => (string) link title attribute text + * (optional) 'allow_html' => (bool) whether to (not) escape html in the link text + * This prevents html stripping from the text strings set in the + * WPSEO -> Internal Links options page. + * @param int $i Index for the current breadcrumb. + * + * @return string + */ + private function crumb_to_link( $link, $i ) { + $link_output = ''; + + if ( isset( $link['text'] ) && ( is_string( $link['text'] ) && $link['text'] !== '' ) ) { + + $link['text'] = trim( $link['text'] ); + if ( ! isset( $link['allow_html'] ) || $link['allow_html'] !== true ) { + $link['text'] = esc_html( $link['text'] ); + } + + $inner_elm = 'span'; + if ( $this->options['breadcrumbs-boldlast'] === true && $i === ( $this->crumb_count - 1 ) ) { + $inner_elm = 'strong'; + } + + if ( ( isset( $link['url'] ) && ( is_string( $link['url'] ) && $link['url'] !== '' ) ) + && ( $i < ( $this->crumb_count - 1 ) ) + ) { + if ( $i === 0 ) { + $link_output .= '<' . $this->element . ' typeof="v:Breadcrumb">'; + } + else { + $link_output .= '<' . $this->element . ' rel="v:child" typeof="v:Breadcrumb">'; + } + $title_attr = isset( $link['title'] ) ? ' title="' . esc_attr( $link['title'] ) . '"' : ''; + $link_output .= '' . $link['text'] . ''; + } + else { + $link_output .= '<' . $inner_elm . ' class="breadcrumb_last">' . $link['text'] . ''; + // This is the last element, now close all previous elements. + while ( $i > 0 ) { + $link_output .= 'element . '>'; + $i--; + } + } + } + + /** + * Filter: 'wpseo_breadcrumb_single_link' - Allow changing of each link being put out by the Yoast SEO breadcrumbs class + * + * @api string $link_output The output string + * + * @param array $link The link array. + */ + + return apply_filters( 'wpseo_breadcrumb_single_link', $link_output, $link ); + } + + + /** + * Create a complete breadcrumb string from an array of breadcrumb element strings + */ + private function links_to_string() { + if ( is_array( $this->links ) && $this->links !== array() ) { + // Remove any effectively empty links. + $links = array_map( 'trim', $this->links ); + $links = array_filter( $links ); + + $this->output = implode( $this->separator, $links ); + } + } + + /** + * Wrap a complete breadcrumb string in a Breadcrumb RDFA wrapper + */ + private function wrap_breadcrumb() { + if ( is_string( $this->output ) && $this->output !== '' ) { + $output = '<' . $this->wrapper . $this->get_output_id() . $this->get_output_class() . ' xmlns:v="http://rdf.data-vocabulary.org/#">' . $this->output . 'wrapper . '>'; + + /** + * Filter: 'wpseo_breadcrumb_output' - Allow changing the HTML output of the Yoast SEO breadcrumbs class + * + * @api string $unsigned HTML output + */ + $output = apply_filters( 'wpseo_breadcrumb_output', $output ); + + if ( $this->options['breadcrumbs-prefix'] !== '' ) { + $output = "\t" . $this->options['breadcrumbs-prefix'] . "\n" . $output; + } + + $this->output = $output; + } + } + + + /** + * Filter: 'wpseo_breadcrumb_output_id' - Allow changing the HTML ID on the Yoast SEO breadcrumbs wrapper element + * + * @api string $unsigned ID to add to the wrapper element + */ + private function get_output_id() { + $id = apply_filters( 'wpseo_breadcrumb_output_id', '' ); + if ( is_string( $id ) && '' !== $id ) { + $id = ' id="' . esc_attr( $id ) . '"'; + } + + return $id; + } + + /** + * Filter: 'wpseo_breadcrumb_output_class' - Allow changing the HTML class on the Yoast SEO breadcrumbs wrapper element + * + * @api string $unsigned class to add to the wrapper element + */ + private function get_output_class() { + $class = apply_filters( 'wpseo_breadcrumb_output_class', '' ); + if ( is_string( $class ) && '' !== $class ) { + $class = ' class="' . esc_attr( $class ) . '"'; + } + + return $class; + } + + + /********************** DEPRECATED METHODS **********************/ + + // @codeCoverageIgnoreStart + /** + * Wrapper function for the breadcrumb so it can be output for the supported themes. + * + * @deprecated 1.5.0 + */ + public function breadcrumb_output() { + _deprecated_function( __METHOD__, '1.5.0', 'yoast_breadcrumb' ); + self::breadcrumb( '
    ', '
    ' ); + } + + /** + * Take the links array and return a full breadcrumb string. + * + * @deprecated 1.5.2.3 + * + * @param string $links Unused. + * @param string $wrapper Unused. + * @param string $element Unused. + * + * @return void + */ + public function create_breadcrumbs_string( $links, $wrapper = 'span', $element = 'span' ) { + _deprecated_function( __METHOD__, 'WPSEO 1.5.2.3', 'yoast_breadcrumbs' ); + } + // @codeCoverageIgnoreEnd +} diff --git a/pole-sbv-content/plugins/wordpress-seo/frontend/class-frontend.php b/pole-sbv-content/plugins/wordpress-seo/frontend/class-frontend.php new file mode 100644 index 00000000..b0a93b44 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/frontend/class-frontend.php @@ -0,0 +1,1950 @@ +options = WPSEO_Options::get_options( $this->required_options ); + + add_action( 'wp_head', array( $this, 'front_page_specific_init' ), 0 ); + add_action( 'wp_head', array( $this, 'head' ), 1 ); + + // The head function here calls action wpseo_head, to which we hook all our functionality. + add_action( 'wpseo_head', array( $this, 'debug_mark' ), 2 ); + add_action( 'wpseo_head', array( $this, 'metadesc' ), 6 ); + add_action( 'wpseo_head', array( $this, 'robots' ), 10 ); + add_action( 'wpseo_head', array( $this, 'metakeywords' ), 11 ); + add_action( 'wpseo_head', array( $this, 'canonical' ), 20 ); + add_action( 'wpseo_head', array( $this, 'adjacent_rel_links' ), 21 ); + add_action( 'wpseo_head', array( $this, 'publisher' ), 22 ); + + // Remove actions that we will handle through our wpseo_head call, and probably change the output of. + remove_action( 'wp_head', 'rel_canonical' ); + remove_action( 'wp_head', 'index_rel_link' ); + remove_action( 'wp_head', 'start_post_rel_link' ); + remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head' ); + remove_action( 'wp_head', 'noindex', 1 ); + + // When using WP 4.4, just use the new hook. + add_filter( 'pre_get_document_title', array( $this, 'title' ), 15 ); + add_filter( 'wp_title', array( $this, 'title' ), 15, 3 ); + + add_filter( 'thematic_doctitle', array( $this, 'title' ), 15 ); + + add_action( 'wp', array( $this, 'page_redirect' ), 99 ); + + add_action( 'template_redirect', array( $this, 'noindex_feed' ) ); + + add_filter( 'loginout', array( $this, 'nofollow_link' ) ); + add_filter( 'register', array( $this, 'nofollow_link' ) ); + + // Fix the WooThemes woo_title() output. + add_filter( 'woo_title', array( $this, 'fix_woo_title' ), 99 ); + + if ( $this->options['disable-date'] === true + || $this->options['disable-author'] === true + || $this->options['disable-post_format'] === true + ) { + add_action( 'wp', array( $this, 'archive_redirect' ) ); + } + if ( $this->options['redirectattachment'] === true ) { + add_action( 'template_redirect', array( $this, 'attachment_redirect' ), 1 ); + } + + /* + * The setting to get here has been deprecated, but don't remove the code as that would break + * the functionality for those that still have it! + */ + if ( $this->options['trailingslash'] === true ) { + add_filter( 'user_trailingslashit', array( $this, 'add_trailingslash' ), 10, 2 ); + } + if ( $this->options['cleanpermalinks'] === true ) { + add_action( 'template_redirect', array( $this, 'clean_permalink' ), 1 ); + } + if ( $this->options['cleanreplytocom'] === true ) { + add_filter( 'comment_reply_link', array( $this, 'remove_reply_to_com' ) ); + add_action( 'template_redirect', array( $this, 'replytocom_redirect' ), 1 ); + } + add_filter( 'the_content_feed', array( $this, 'embed_rssfooter' ) ); + add_filter( 'the_excerpt_rss', array( $this, 'embed_rssfooter_excerpt' ) ); + + // For WordPress functions below 4.4. + if ( ! current_theme_supports( 'title-tag' ) && $this->options['forcerewritetitle'] === true ) { + add_action( 'template_redirect', array( $this, 'force_rewrite_output_buffer' ), 99999 ); + add_action( 'wp_footer', array( $this, 'flush_cache' ), - 1 ); + } + + if ( $this->options['title_test'] > 0 ) { + add_filter( 'wpseo_title', array( $this, 'title_test_helper' ) ); + } + + $primary_category = new WPSEO_Frontend_Primary_Category(); + $primary_category->register_hooks(); + + $json_ld = new WPSEO_JSON_LD(); + $json_ld->register_hooks(); + + $this->hooks = array( $primary_category, $json_ld ); + } + + /** + * Initialize the functions that only need to run on the frontpage + */ + public function front_page_specific_init() { + if ( ! is_front_page() ) { + return; + } + + add_action( 'wpseo_head', array( $this, 'webmaster_tools_authentication' ), 90 ); + } + + /** + * Resets the entire class so canonicals, titles etc can be regenerated. + */ + public function reset() { + foreach ( get_class_vars( __CLASS__ ) as $name => $default ) { + if ( $name == 'instance' ) { + self::$instance = null; + } + else { + $this->$name = $default; + } + } + $this->options = WPSEO_Options::get_options( $this->required_options ); + } + + /** + * Get the singleton instance of this class + * + * @return WPSEO_Frontend + */ + public static function get_instance() { + if ( ! ( self::$instance instanceof self ) ) { + self::$instance = new self(); + } + + return self::$instance; + } + + /** + * Override Woo's title with our own. + * + * @param string $title Title string. + * + * @return string + */ + public function fix_woo_title( $title ) { + return $this->title( $title ); + } + + /** + * Determine whether this is the homepage and shows posts. + * + * @return bool + */ + public function is_home_posts_page() { + return ( is_home() && 'posts' == get_option( 'show_on_front' ) ); + } + + /** + * Determine whether the this is the static frontpage. + * + * @return bool + */ + public function is_home_static_page() { + return ( is_front_page() && 'page' == get_option( 'show_on_front' ) && is_page( get_option( 'page_on_front' ) ) ); + } + + /** + * Determine whether this is the posts page, when it's not the frontpage. + * + * @return bool + */ + public function is_posts_page() { + return ( is_home() && 'page' == get_option( 'show_on_front' ) ); + } + + /** + * Used for static home and posts pages as well as singular titles. + * + * @param object|null $object If filled, object to get the title for. + * + * @return string + */ + public function get_content_title( $object = null ) { + if ( is_null( $object ) ) { + $object = $GLOBALS['wp_query']->get_queried_object(); + } + + if ( is_object( $object ) ) { + $title = WPSEO_Meta::get_value( 'title', $object->ID ); + + if ( $title !== '' ) { + return wpseo_replace_vars( $title, $object ); + } + + $post_type = ( isset( $object->post_type ) ? $object->post_type : $object->query_var ); + + return $this->get_title_from_options( 'title-' . $post_type, $object ); + } + + return $this->get_title_from_options( 'title-404-wpseo' ); + } + + /** + * Used for category, tag, and tax titles. + * + * @return string + */ + public function get_taxonomy_title() { + $object = $GLOBALS['wp_query']->get_queried_object(); + + $title = WPSEO_Taxonomy_Meta::get_term_meta( $object, $object->taxonomy, 'title' ); + + if ( is_string( $title ) && $title !== '' ) { + return wpseo_replace_vars( $title, $object ); + } + else { + return $this->get_title_from_options( 'title-tax-' . $object->taxonomy, $object ); + } + } + + /** + * Used for author titles. + * + * @return string + */ + public function get_author_title() { + $author_id = get_query_var( 'author' ); + $title = trim( get_the_author_meta( 'wpseo_title', $author_id ) ); + + if ( $title !== '' ) { + return wpseo_replace_vars( $title, array() ); + } + + return $this->get_title_from_options( 'title-author-wpseo' ); + } + + /** + * Simple function to use to pull data from $options. + * + * All titles pulled from options will be run through the wpseo_replace_vars function. + * + * @param string $index name of the page to get the title from the settings for. + * @param object|array $var_source possible object to pull variables from. + * + * @return string + */ + public function get_title_from_options( $index, $var_source = array() ) { + if ( ! isset( $this->options[ $index ] ) || $this->options[ $index ] === '' ) { + if ( is_singular() ) { + return wpseo_replace_vars( '%%title%% %%sep%% %%sitename%%', $var_source ); + } + else { + return ''; + } + } + else { + return wpseo_replace_vars( $this->options[ $index ], $var_source ); + } + } + + /** + * Get the default title for the current page. + * + * This is the fallback title generator used when a title hasn't been set for the specific content, taxonomy, author + * details, or in the options. It scrubs off any present prefix before or after the title (based on $seplocation) in + * order to prevent duplicate seperations from appearing in the title (this happens when a prefix is supplied to the + * wp_title call on singular pages). + * + * @param string $sep The separator used between variables. + * @param string $seplocation Whether the separator should be left or right. + * @param string $title Possible title that's already set. + * + * @return string + */ + public function get_default_title( $sep, $seplocation, $title = '' ) { + if ( 'right' == $seplocation ) { + $regex = '`\s*' . preg_quote( trim( $sep ), '`' ) . '\s*`u'; + } + else { + $regex = '`^\s*' . preg_quote( trim( $sep ), '`' ) . '\s*`u'; + } + $title = preg_replace( $regex, '', $title ); + + if ( ! is_string( $title ) || ( is_string( $title ) && $title === '' ) ) { + $title = get_bloginfo( 'name' ); + $title = $this->add_paging_to_title( $sep, $seplocation, $title ); + $title = $this->add_to_title( $sep, $seplocation, $title, strip_tags( get_bloginfo( 'description' ) ) ); + + return $title; + } + + $title = $this->add_paging_to_title( $sep, $seplocation, $title ); + $title = $this->add_to_title( $sep, $seplocation, $title, strip_tags( get_bloginfo( 'name' ) ) ); + + return $title; + } + + /** + * This function adds paging details to the title. + * + * @param string $sep Separator used in the title. + * @param string $seplocation Whether the separator should be left or right. + * @param string $title The title to append the paging info to. + * + * @return string + */ + public function add_paging_to_title( $sep, $seplocation, $title ) { + global $wp_query; + + if ( ! empty( $wp_query->query_vars['paged'] ) && $wp_query->query_vars['paged'] > 1 ) { + return $this->add_to_title( $sep, $seplocation, $title, $wp_query->query_vars['paged'] . '/' . $wp_query->max_num_pages ); + } + + return $title; + } + + /** + * Add part to title, while ensuring that the $seplocation variable is respected. + * + * @param string $sep Separator used in the title. + * @param string $seplocation Whether the separator should be left or right. + * @param string $title The title to append the title_part to. + * @param string $title_part The part to append to the title. + * + * @return string + */ + public function add_to_title( $sep, $seplocation, $title, $title_part ) { + if ( 'right' === $seplocation ) { + return $title . $sep . $title_part; + } + + return $title_part . $sep . $title; + } + + /** + * Main title function. + * + * @param string $title Title that might have already been set. + * @param string $separator Separator determined in theme (unused). + * @param string $separator_location Whether the separator should be left or right. + * + * @return string + */ + public function title( $title, $separator = '', $separator_location = '' ) { + if ( is_null( $this->title ) ) { + $this->title = $this->generate_title( $title, $separator_location ); + } + + return $this->title; + } + + /** + * Main title generation function. + * + * @param string $title Title that might have already been set. + * @param string $separator_location Whether the separator should be left or right. + * + * @return string + */ + private function generate_title( $title, $separator_location ) { + + if ( is_feed() ) { + return $title; + } + + $separator = wpseo_replace_vars( '%%sep%%', array() ); + $separator = ' ' . trim( $separator ) . ' '; + + if ( '' === trim( $separator_location ) ) { + $separator_location = ( is_rtl() ) ? 'left' : 'right'; + } + + // This needs to be kept track of in order to generate + // default titles for singular pages. + $original_title = $title; + + // This flag is used to determine if any additional + // processing should be done to the title after the + // main section of title generation completes. + $modified_title = true; + + // This variable holds the page-specific title part + // that is used to generate default titles. + $title_part = ''; + + if ( $this->is_home_static_page() ) { + $title = $this->get_content_title(); + } + elseif ( $this->is_home_posts_page() ) { + $title = $this->get_title_from_options( 'title-home-wpseo' ); + } + elseif ( $this->is_posts_page() ) { + $title = $this->get_content_title( get_post( get_option( 'page_for_posts' ) ) ); + } + elseif ( is_singular() ) { + $title = $this->get_content_title(); + + if ( ! is_string( $title ) || '' === $title ) { + $title_part = $original_title; + } + } + elseif ( is_search() ) { + $title = $this->get_title_from_options( 'title-search-wpseo' ); + + if ( ! is_string( $title ) || '' === $title ) { + /* translators: %s expands to the search phrase. */ + $title_part = sprintf( __( 'Search for "%s"', 'wordpress-seo' ), esc_html( get_search_query() ) ); + } + } + elseif ( is_category() || is_tag() || is_tax() ) { + $title = $this->get_taxonomy_title(); + + if ( ! is_string( $title ) || '' === $title ) { + if ( is_category() ) { + $title_part = single_cat_title( '', false ); + } + elseif ( is_tag() ) { + $title_part = single_tag_title( '', false ); + } + else { + $title_part = single_term_title( '', false ); + if ( $title_part === '' ) { + $term = $GLOBALS['wp_query']->get_queried_object(); + $title_part = $term->name; + } + } + } + } + elseif ( is_author() ) { + $title = $this->get_author_title(); + + if ( ! is_string( $title ) || '' === $title ) { + $title_part = get_the_author_meta( 'display_name', get_query_var( 'author' ) ); + } + } + elseif ( is_post_type_archive() ) { + $post_type = get_query_var( 'post_type' ); + + if ( is_array( $post_type ) ) { + $post_type = reset( $post_type ); + } + + $title = $this->get_title_from_options( 'title-ptarchive-' . $post_type ); + + if ( ! is_string( $title ) || '' === $title ) { + $post_type_obj = get_post_type_object( $post_type ); + if ( isset( $post_type_obj->labels->menu_name ) ) { + $title_part = $post_type_obj->labels->menu_name; + } + elseif ( isset( $post_type_obj->name ) ) { + $title_part = $post_type_obj->name; + } + else { + $title_part = ''; // To be determined what this should be. + } + } + } + elseif ( is_archive() ) { + $title = $this->get_title_from_options( 'title-archive-wpseo' ); + + // @todo [JRF => Yoast] Should these not use the archive default if no title found ? + // WPSEO_Options::get_default( 'wpseo_titles', 'title-archive-wpseo' ) + // Replacement would be needed! + if ( empty( $title ) ) { + if ( is_month() ) { + /* translators: %s expands to a time period, i.e. month name, year or specific date. */ + $title_part = sprintf( __( '%s Archives', 'wordpress-seo' ), single_month_title( ' ', false ) ); + } + elseif ( is_year() ) { + /* translators: %s expands to a time period, i.e. month name, year or specific date. */ + $title_part = sprintf( __( '%s Archives', 'wordpress-seo' ), get_query_var( 'year' ) ); + } + elseif ( is_day() ) { + /* translators: %s expands to a time period, i.e. month name, year or specific date. */ + $title_part = sprintf( __( '%s Archives', 'wordpress-seo' ), get_the_date() ); + } + else { + $title_part = __( 'Archives', 'wordpress-seo' ); + } + } + } + elseif ( is_404() ) { + + $title = $this->get_title_from_options( 'title-404-wpseo' ); + + // @todo [JRF => Yoast] Should these not use the 404 default if no title found ? + // WPSEO_Options::get_default( 'wpseo_titles', 'title-404-wpseo' ) + // Replacement would be needed! + if ( empty( $title ) ) { + $title_part = __( 'Page not found', 'wordpress-seo' ); + } + } + else { + // In case the page type is unknown, leave the title alone. + $modified_title = false; + + // If you would like to generate a default title instead, + // the following code could be used + // $title_part = $title; + // instead of the line above. + } + + if ( ( $modified_title && empty( $title ) ) || ! empty( $title_part ) ) { + $title = $this->get_default_title( $separator, $separator_location, $title_part ); + } + + if ( defined( 'ICL_LANGUAGE_CODE' ) && false !== strpos( $title, ICL_LANGUAGE_CODE ) ) { + $title = str_replace( ' @' . ICL_LANGUAGE_CODE, '', $title ); + } + + /** + * Filter: 'wpseo_title' - Allow changing the Yoast SEO output + * + * @api string $title The page title being put out. + */ + + return esc_html( strip_tags( stripslashes( apply_filters( 'wpseo_title', $title ) ) ) ); + } + + /** + * Function used when title needs to be force overridden. + * + * @return string + */ + public function force_wp_title() { + global $wp_query; + $old_wp_query = null; + + if ( ! $wp_query->is_main_query() ) { + $old_wp_query = $wp_query; + wp_reset_query(); + } + + $title = $this->title( '' ); + + if ( ! empty( $old_wp_query ) ) { + $GLOBALS['wp_query'] = $old_wp_query; + unset( $old_wp_query ); + } + + return $title; + } + + /** + * Outputs or returns the debug marker, which is also used for title replacement when force rewrite is active. + * + * @param bool $echo Whether or not to echo the debug marker. + * + * @return string + */ + public function debug_mark( $echo = true ) { + $marker = sprintf( + '<!-- This site is optimized with the ' . $this->head_product_name() . '%1$s - https://yoast.com/wordpress/plugins/seo/ -->', + /** + * Filter: 'wpseo_hide_version' - can be used to hide the Yoast SEO version in the debug marker (only available in Yoast SEO Premium) + * + * @api bool + */ + ( ( apply_filters( 'wpseo_hide_version', false ) && $this->is_premium() ) ? '' : ' v' . WPSEO_VERSION ) + ); + + if ( $echo === false ) { + return $marker; + } + else { + echo "\n${marker}\n"; + } + } + + /** + * Output Webmaster Tools authentication strings + */ + public function webmaster_tools_authentication() { + // Bing. + if ( $this->options['msverify'] !== '' ) { + echo '<meta name="msvalidate.01" content="' . esc_attr( $this->options['msverify'] ) . "\" />\n"; + } + + // Google. + if ( $this->options['googleverify'] !== '' ) { + echo '<meta name="google-site-verification" content="' . esc_attr( $this->options['googleverify'] ) . "\" />\n"; + } + + // Pinterest. + if ( $this->options['pinterestverify'] !== '' ) { + echo '<meta name="p:domain_verify" content="' . esc_attr( $this->options['pinterestverify'] ) . "\" />\n"; + } + + // Yandex. + if ( $this->options['yandexverify'] !== '' ) { + echo '<meta name="yandex-verification" content="' . esc_attr( $this->options['yandexverify'] ) . "\" />\n"; + } + } + + /** + * Main wrapper function attached to wp_head. This combines all the output on the frontend of the Yoast SEO plugin. + */ + public function head() { + global $wp_query; + + $old_wp_query = null; + + if ( ! $wp_query->is_main_query() ) { + $old_wp_query = $wp_query; + wp_reset_query(); + } + + /** + * Action: 'wpseo_head' - Allow other plugins to output inside the Yoast SEO section of the head section. + */ + do_action( 'wpseo_head' ); + + echo '<!-- / ', $this->head_product_name(), ". -->\n\n"; + + if ( ! empty( $old_wp_query ) ) { + $GLOBALS['wp_query'] = $old_wp_query; + unset( $old_wp_query ); + } + + return; + } + + + /** + * Output the meta robots value. + * + * @return string + */ + public function robots() { + global $wp_query, $post; + + $robots = array(); + $robots['index'] = 'index'; + $robots['follow'] = 'follow'; + $robots['other'] = array(); + + if ( is_singular() && is_object( $post ) ) { + + $option_name = 'noindex-' . $post->post_type; + $noindex = isset( $this->options[ $option_name ] ) && $this->options[ $option_name ] === true; + $private = 'private' === $post->post_status; + + if ( $noindex || $private ) { + $robots['index'] = 'noindex'; + } + + $robots = $this->robots_for_single_post( $robots ); + + } + else { + if ( is_search() || is_404() ) { + $robots['index'] = 'noindex'; + } + elseif ( is_tax() || is_tag() || is_category() ) { + $term = $wp_query->get_queried_object(); + if ( is_object( $term ) && ( isset( $this->options[ 'noindex-tax-' . $term->taxonomy ] ) && $this->options[ 'noindex-tax-' . $term->taxonomy ] === true ) ) { + $robots['index'] = 'noindex'; + } + + // Three possible values, index, noindex and default, do nothing for default. + $term_meta = WPSEO_Taxonomy_Meta::get_term_meta( $term, $term->taxonomy, 'noindex' ); + if ( is_string( $term_meta ) && 'default' !== $term_meta ) { + $robots['index'] = $term_meta; + } + + if ( $this->is_multiple_terms_query() ) { + $robots['index'] = 'noindex'; + } + } + elseif ( + ( is_author() && $this->options['noindex-author-wpseo'] === true ) || + ( is_date() && $this->options['noindex-archive-wpseo'] === true ) + ) { + $robots['index'] = 'noindex'; + } + elseif ( is_home() ) { + if ( get_query_var( 'paged' ) > 1 && $this->options['noindex-subpages-wpseo'] === true ) { + $robots['index'] = 'noindex'; + } + + $page_for_posts = get_option( 'page_for_posts' ); + if ( $page_for_posts ) { + $robots = $this->robots_for_single_post( $robots, $page_for_posts ); + } + unset( $page_for_posts ); + + } + elseif ( is_post_type_archive() ) { + $post_type = get_query_var( 'post_type' ); + + if ( is_array( $post_type ) ) { + $post_type = reset( $post_type ); + } + + if ( isset( $this->options[ 'noindex-ptarchive-' . $post_type ] ) && $this->options[ 'noindex-ptarchive-' . $post_type ] === true ) { + $robots['index'] = 'noindex'; + } + } + + $is_paged = isset( $wp_query->query_vars['paged'] ) && ( $wp_query->query_vars['paged'] && $wp_query->query_vars['paged'] > 1 ); + $noindex_subpages = $this->options['noindex-subpages-wpseo'] === true; + if ( $is_paged && $noindex_subpages ) { + $robots['index'] = 'noindex'; + } + unset( $robot ); + } + + // Force override to respect the WP settings. + if ( '0' == get_option( 'blog_public' ) || isset( $_GET['replytocom'] ) ) { + $robots['index'] = 'noindex'; + } + + + $robotsstr = $robots['index'] . ',' . $robots['follow']; + + if ( $robots['other'] !== array() ) { + $robots['other'] = array_unique( $robots['other'] ); // @todo Most likely no longer needed, needs testing. + $robotsstr .= ',' . implode( ',', $robots['other'] ); + } + + $robotsstr = preg_replace( '`^index,follow,?`', '', $robotsstr ); + $robotsstr = str_replace( array( 'noodp,', 'noodp' ), '', $robotsstr ); + + /** + * Filter: 'wpseo_robots' - Allows filtering of the meta robots output of Yoast SEO + * + * @api string $robotsstr The meta robots directives to be echoed. + */ + $robotsstr = apply_filters( 'wpseo_robots', $robotsstr ); + + if ( is_string( $robotsstr ) && $robotsstr !== '' ) { + echo '<meta name="robots" content="', esc_attr( $robotsstr ), '"/>', "\n"; + } + + return $robotsstr; + } + + /** + * Determine $robots values for a single post + * + * @param array $robots Robots data array. + * @param int $post_id The post ID for which to determine the $robots values, defaults to current post. + * + * @return array + */ + public function robots_for_single_post( $robots, $post_id = 0 ) { + $noindex = WPSEO_Meta::get_value( 'meta-robots-noindex', $post_id ); + if ( $noindex === '1' ) { + $robots['index'] = 'noindex'; + } + elseif ( $noindex === '2' ) { + $robots['index'] = 'index'; + } + + if ( WPSEO_Meta::get_value( 'meta-robots-nofollow', $post_id ) === '1' ) { + $robots['follow'] = 'nofollow'; + } + + $meta_robots_adv = WPSEO_Meta::get_value( 'meta-robots-adv', $post_id ); + + if ( $meta_robots_adv !== '' && ( $meta_robots_adv !== '-' && $meta_robots_adv !== 'none' ) ) { + $meta_robots_adv = explode( ',', $meta_robots_adv ); + foreach ( $meta_robots_adv as $robot ) { + $robots['other'][] = $robot; + } + unset( $robot ); + } + unset( $meta_robots_adv ); + + return $robots; + } + + /** + * This function normally outputs the canonical but is also used in other places to retrieve + * the canonical URL for the current page. + * + * @param bool $echo Whether or not to output the canonical element. + * @param bool $un_paged Whether or not to return the canonical with or without pagination added to the URL. + * @param bool $no_override Whether or not to return a manually overridden canonical. + * + * @return string $canonical + */ + public function canonical( $echo = true, $un_paged = false, $no_override = false ) { + if ( is_null( $this->canonical ) ) { + $this->generate_canonical(); + } + + $canonical = $this->canonical; + + if ( $un_paged ) { + $canonical = $this->canonical_unpaged; + } + elseif ( $no_override ) { + $canonical = $this->canonical_no_override; + } + + if ( $echo === false ) { + return $canonical; + } + + if ( is_string( $canonical ) && '' !== $canonical ) { + echo '<link rel="canonical" href="' . esc_url( $canonical, null, 'other' ) . '" />' . "\n"; + } + } + + /** + * This function normally outputs the canonical but is also used in other places to retrieve + * the canonical URL for the current page. + * + * @return void + */ + private function generate_canonical() { + $canonical = false; + $canonical_override = false; + + // Set decent canonicals for homepage, singulars and taxonomy pages. + if ( is_singular() ) { + $obj = get_queried_object(); + $canonical = get_permalink( $obj->ID ); + + $this->canonical_unpaged = $canonical; + + $canonical_override = WPSEO_Meta::get_value( 'canonical' ); + + // Fix paginated pages canonical, but only if the page is truly paginated. + if ( get_query_var( 'page' ) > 1 ) { + $num_pages = ( substr_count( $obj->post_content, '<!--nextpage-->' ) + 1 ); + if ( $num_pages && get_query_var( 'page' ) <= $num_pages ) { + if ( ! $GLOBALS['wp_rewrite']->using_permalinks() ) { + $canonical = add_query_arg( 'page', get_query_var( 'page' ), $canonical ); + } + else { + $canonical = user_trailingslashit( trailingslashit( $canonical ) . get_query_var( 'page' ) ); + } + } + } + } + else { + if ( is_search() ) { + $search_query = get_search_query(); + + // Regex catches case when /search/page/N without search term is itself mistaken for search term. R. + if ( ! empty( $search_query ) && ! preg_match( '|^page/\d+$|', $search_query ) ) { + $canonical = get_search_link(); + } + } + elseif ( is_front_page() ) { + $canonical = WPSEO_Utils::home_url(); + } + elseif ( $this->is_posts_page() ) { + + $posts_page_id = get_option( 'page_for_posts' ); + $canonical = WPSEO_Meta::get_value( 'canonical', $posts_page_id ); + + if ( empty( $canonical ) ) { + $canonical = get_permalink( $posts_page_id ); + } + } + elseif ( is_tax() || is_tag() || is_category() ) { + + $term = get_queried_object(); + + if ( ! empty( $term ) && ! $this->is_multiple_terms_query() ) { + + $canonical_override = WPSEO_Taxonomy_Meta::get_term_meta( $term, $term->taxonomy, 'canonical' ); + $term_link = get_term_link( $term, $term->taxonomy ); + + if ( ! is_wp_error( $term_link ) ) { + $canonical = $term_link; + } + } + } + elseif ( is_post_type_archive() ) { + $post_type = get_query_var( 'post_type' ); + if ( is_array( $post_type ) ) { + $post_type = reset( $post_type ); + } + $canonical = get_post_type_archive_link( $post_type ); + } + elseif ( is_author() ) { + $canonical = get_author_posts_url( get_query_var( 'author' ), get_query_var( 'author_name' ) ); + } + elseif ( is_archive() ) { + if ( is_date() ) { + if ( is_day() ) { + $canonical = get_day_link( get_query_var( 'year' ), get_query_var( 'monthnum' ), get_query_var( 'day' ) ); + } + elseif ( is_month() ) { + $canonical = get_month_link( get_query_var( 'year' ), get_query_var( 'monthnum' ) ); + } + elseif ( is_year() ) { + $canonical = get_year_link( get_query_var( 'year' ) ); + } + } + } + + $this->canonical_unpaged = $canonical; + + if ( $canonical && get_query_var( 'paged' ) > 1 ) { + global $wp_rewrite; + if ( ! $wp_rewrite->using_permalinks() ) { + if ( is_front_page() ) { + $canonical = trailingslashit( $canonical ); + } + $canonical = add_query_arg( 'paged', get_query_var( 'paged' ), $canonical ); + } + else { + if ( is_front_page() ) { + $canonical = WPSEO_Sitemaps_Router::get_base_url( '' ); + } + $canonical = user_trailingslashit( trailingslashit( $canonical ) . trailingslashit( $wp_rewrite->pagination_base ) . get_query_var( 'paged' ) ); + } + } + } + + $this->canonical_no_override = $canonical; + + if ( is_string( $canonical ) && $canonical !== '' ) { + // Force canonical links to be absolute, relative is NOT an option. + if ( WPSEO_Utils::is_url_relative( $canonical ) === true ) { + $canonical = $this->base_url( $canonical ); + } + } + + if ( is_string( $canonical_override ) && $canonical_override !== '' ) { + $canonical = $canonical_override; + } + + /** + * Filter: 'wpseo_canonical' - Allow filtering of the canonical URL put out by Yoast SEO + * + * @api string $canonical The canonical URL + */ + $this->canonical = apply_filters( 'wpseo_canonical', $canonical ); + } + + /** + * Parse the home URL setting to find the base URL for relative URLs. + * + * @param string $path Optional path string. + * + * @return string + */ + private function base_url( $path = null ) { + $url = get_option( 'home' ); + + $parts = wp_parse_url( $url ); + + $base_url = trailingslashit( $parts['scheme'] . '://' . $parts['host'] ); + + if ( ! is_null( $path ) ) { + $base_url .= ltrim( $path, '/' ); + } + + return $base_url; + } + + /** + * Adds 'prev' and 'next' links to archives. + * + * @link http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html + * @since 1.0.3 + */ + public function adjacent_rel_links() { + // Don't do this for Genesis, as the way Genesis handles homepage functionality is different and causes issues sometimes. + /** + * Filter 'wpseo_genesis_force_adjacent_rel_home' - Allows devs to allow echoing rel="next" / rel="prev" by Yoast SEO on Genesis installs + * + * @api bool $unsigned Whether or not to rel=next / rel=prev + */ + if ( is_home() && function_exists( 'genesis' ) && apply_filters( 'wpseo_genesis_force_adjacent_rel_home', false ) === false ) { + return; + } + + /** + * Filter: 'wpseo_disable_adjacent_rel_links' - Allows disabling of Yoast adjacent links if this is being handled by other code. + * + * @api bool $links_generated Indicates if other code has handled adjacent links. + */ + if ( true === apply_filters( 'wpseo_disable_adjacent_rel_links', false ) ) { + return; + } + + global $wp_query; + + if ( ! is_singular() ) { + $url = $this->canonical( false, true, true ); + + if ( is_string( $url ) && $url !== '' ) { + $paged = get_query_var( 'paged' ); + + if ( 0 == $paged ) { + $paged = 1; + } + + if ( $paged == 2 ) { + $this->adjacent_rel_link( 'prev', $url, ( $paged - 1 ), true ); + } + + // Make sure to use index.php when needed, done after paged == 2 check so the prev links to homepage will not have index.php erroneously. + if ( is_front_page() ) { + $url = WPSEO_Sitemaps_Router::get_base_url( '' ); + } + + if ( $paged > 2 ) { + $this->adjacent_rel_link( 'prev', $url, ( $paged - 1 ), true ); + } + + if ( $paged < $wp_query->max_num_pages ) { + $this->adjacent_rel_link( 'next', $url, ( $paged + 1 ), true ); + } + } + } + else { + $numpages = 0; + if ( isset( $wp_query->post->post_content ) ) { + $numpages = ( substr_count( $wp_query->post->post_content, '<!--nextpage-->' ) + 1 ); + } + if ( $numpages > 1 ) { + $page = get_query_var( 'page' ); + if ( ! $page ) { + $page = 1; + } + + $url = get_permalink( $wp_query->post->ID ); + + // If the current page is the frontpage, pagination should use /base/. + if ( $this->is_home_static_page() ) { + $usebase = true; + } + else { + $usebase = false; + } + + if ( $page > 1 ) { + $this->adjacent_rel_link( 'prev', $url, ( $page - 1 ), $usebase, 'single_paged' ); + } + if ( $page < $numpages ) { + $this->adjacent_rel_link( 'next', $url, ( $page + 1 ), $usebase, 'single_paged' ); + } + } + } + } + + /** + * Get adjacent pages link for archives + * + * @since 1.0.2 + * + * @param string $rel Link relationship, prev or next. + * @param string $url the un-paginated URL of the current archive. + * @param string $page the page number to add on to $url for the $link tag. + * @param boolean $incl_pagination_base whether or not to include /page/ or not. + * + * @return void + */ + private function adjacent_rel_link( $rel, $url, $page, $incl_pagination_base ) { + global $wp_rewrite; + if ( ! $wp_rewrite->using_permalinks() ) { + if ( $page > 1 ) { + $url = add_query_arg( 'paged', $page, $url ); + } + } + else { + if ( $page > 1 ) { + $base = ''; + if ( $incl_pagination_base ) { + $base = trailingslashit( $wp_rewrite->pagination_base ); + } + $url = user_trailingslashit( trailingslashit( $url ) . $base . $page ); + } + } + /** + * Filter: 'wpseo_' . $rel . '_rel_link' - Allow changing link rel output by Yoast SEO + * + * @api string $unsigned The full `<link` element. + */ + $link = apply_filters( 'wpseo_' . $rel . '_rel_link', '<link rel="' . esc_attr( $rel ) . '" href="' . esc_url( $url ) . "\" />\n" ); + + if ( is_string( $link ) && $link !== '' ) { + echo $link; + } + } + + /** + * Output the rel=publisher code on every page of the site. + * + * @return boolean Boolean indicating whether the publisher link was printed + */ + public function publisher() { + + if ( $this->options['plus-publisher'] !== '' ) { + echo '<link rel="publisher" href="', esc_url( $this->options['plus-publisher'] ), '"/>', "\n"; + + return true; + } + + return false; + } + + /** + * Outputs the meta keywords element. + * + * @return void + */ + public function metakeywords() { + global $wp_query, $post; + + if ( $this->options['usemetakeywords'] === false ) { + return; + } + + $keywords = ''; + + if ( is_singular() ) { + $keywords = WPSEO_Meta::get_value( 'metakeywords' ); + if ( $keywords === '' && ( is_object( $post ) && ( ( isset( $this->options[ 'metakey-' . $post->post_type ] ) && $this->options[ 'metakey-' . $post->post_type ] !== '' ) ) ) ) { + $keywords = wpseo_replace_vars( $this->options[ 'metakey-' . $post->post_type ], $post ); + } + } + else { + if ( $this->is_home_posts_page() && $this->options['metakey-home-wpseo'] !== '' ) { + $keywords = wpseo_replace_vars( $this->options['metakey-home-wpseo'], array() ); + } + elseif ( $this->is_home_static_page() ) { + $keywords = WPSEO_Meta::get_value( 'metakeywords' ); + if ( $keywords === '' && ( is_object( $post ) && ( isset( $this->options[ 'metakey-' . $post->post_type ] ) && $this->options[ 'metakey-' . $post->post_type ] !== '' ) ) ) { + $keywords = wpseo_replace_vars( $this->options[ 'metakey-' . $post->post_type ], $post ); + } + } + elseif ( $this->is_posts_page() ) { + $keywords = $this->get_keywords( get_post( get_option( 'page_for_posts' ) ) ); + } + elseif ( is_category() || is_tag() || is_tax() ) { + $term = $wp_query->get_queried_object(); + + if ( is_object( $term ) ) { + $keywords = WPSEO_Taxonomy_Meta::get_term_meta( $term, $term->taxonomy, 'metakey' ); + if ( ( ! is_string( $keywords ) || $keywords === '' ) && ( isset( $this->options[ 'metakey-tax-' . $term->taxonomy ] ) && $this->options[ 'metakey-tax-' . $term->taxonomy ] !== '' ) ) { + $keywords = wpseo_replace_vars( $this->options[ 'metakey-tax-' . $term->taxonomy ], $term ); + } + } + } + elseif ( is_author() ) { + $author_id = get_query_var( 'author' ); + $keywords = get_the_author_meta( 'metakey', $author_id ); + if ( ! $keywords && $this->options['metakey-author-wpseo'] !== '' ) { + $keywords = wpseo_replace_vars( $this->options['metakey-author-wpseo'], $wp_query->get_queried_object() ); + } + } + elseif ( is_post_type_archive() ) { + $post_type = get_query_var( 'post_type' ); + if ( is_array( $post_type ) ) { + $post_type = reset( $post_type ); + } + if ( isset( $this->options[ 'metakey-ptarchive-' . $post_type ] ) && $this->options[ 'metakey-ptarchive-' . $post_type ] !== '' ) { + $keywords = wpseo_replace_vars( $this->options[ 'metakey-ptarchive-' . $post_type ], $wp_query->get_queried_object() ); + } + } + } + + $keywords = apply_filters( 'wpseo_metakey', trim( $keywords ) ); // @todo Make deprecated. + + /** + * Filter: 'wpseo_metakeywords' - Allow changing the Yoast SEO meta keywords + * + * @api string $keywords The meta keywords to be echoed. + */ + $keywords = apply_filters( 'wpseo_metakeywords', trim( $keywords ) ); // More appropriately named. + + if ( is_string( $keywords ) && $keywords !== '' ) { + echo '<meta name="keywords" content="', esc_attr( strip_tags( stripslashes( $keywords ) ) ), '"/>', "\n"; + } + } + + /** + * Outputs the meta description element or returns the description text. + * + * @param bool $echo Echo or return output flag. + * + * @return string + */ + public function metadesc( $echo = true ) { + if ( is_null( $this->metadesc ) ) { + $this->generate_metadesc(); + } + + if ( $echo !== false ) { + if ( is_string( $this->metadesc ) && $this->metadesc !== '' ) { + echo '<meta name="description" content="', esc_attr( strip_tags( stripslashes( $this->metadesc ) ) ), '"/>', "\n"; + } + elseif ( current_user_can( 'wpseo_manage_options' ) && is_singular() ) { + echo '<!-- ', __( 'Admin only notice: this page doesn\'t show a meta description because it doesn\'t have one, either write it for this page specifically or go into the SEO -> Titles menu and set up a template.', 'wordpress-seo' ), ' -->', "\n"; + } + } + else { + return $this->metadesc; + } + } + + /** + * Generates the meta description text. + */ + private function generate_metadesc() { + global $post, $wp_query; + + $metadesc = ''; + $metadesc_override = false; + $post_type = ''; + $template = ''; + + if ( is_object( $post ) && ( isset( $post->post_type ) && $post->post_type !== '' ) ) { + $post_type = $post->post_type; + } + + if ( is_singular() ) { + if ( ( $metadesc === '' && $post_type !== '' ) && isset( $this->options[ 'metadesc-' . $post_type ] ) ) { + $template = $this->options[ 'metadesc-' . $post_type ]; + $term = $post; + } + $metadesc_override = WPSEO_Meta::get_value( 'metadesc' ); + } + else { + if ( is_search() ) { + $metadesc = ''; + } + elseif ( $this->is_home_posts_page() ) { + $template = $this->options['metadesc-home-wpseo']; + $term = array(); + + if ( empty( $template ) ) { + $template = get_bloginfo( 'description' ); + } + } + elseif ( $this->is_posts_page() ) { + $metadesc = WPSEO_Meta::get_value( 'metadesc', get_option( 'page_for_posts' ) ); + if ( ( $metadesc === '' && $post_type !== '' ) && isset( $this->options[ 'metadesc-' . $post_type ] ) ) { + $page = get_post( get_option( 'page_for_posts' ) ); + $template = $this->options[ 'metadesc-' . $post_type ]; + $term = $page; + } + } + elseif ( $this->is_home_static_page() ) { + $metadesc = WPSEO_Meta::get_value( 'metadesc' ); + if ( ( $metadesc === '' && $post_type !== '' ) && isset( $this->options[ 'metadesc-' . $post_type ] ) ) { + $template = $this->options[ 'metadesc-' . $post_type ]; + } + } + elseif ( is_category() || is_tag() || is_tax() ) { + $term = $wp_query->get_queried_object(); + $metadesc_override = WPSEO_Taxonomy_Meta::get_term_meta( $term, $term->taxonomy, 'desc' ); + if ( is_object( $term ) && isset( $term->taxonomy, $this->options[ 'metadesc-tax-' . $term->taxonomy ] ) ) { + $template = $this->options[ 'metadesc-tax-' . $term->taxonomy ]; + } + } + elseif ( is_author() ) { + $author_id = get_query_var( 'author' ); + $metadesc = get_the_author_meta( 'wpseo_metadesc', $author_id ); + if ( ( ! is_string( $metadesc ) || $metadesc === '' ) && '' !== $this->options['metadesc-author-wpseo'] ) { + $template = $this->options['metadesc-author-wpseo']; + } + } + elseif ( is_post_type_archive() ) { + $post_type = get_query_var( 'post_type' ); + if ( is_array( $post_type ) ) { + $post_type = reset( $post_type ); + } + if ( isset( $this->options[ 'metadesc-ptarchive-' . $post_type ] ) ) { + $template = $this->options[ 'metadesc-ptarchive-' . $post_type ]; + } + } + elseif ( is_archive() ) { + $template = $this->options['metadesc-archive-wpseo']; + } + + // If we're on a paginated page, and the template doesn't change for paginated pages, bail. + if ( ( ! is_string( $metadesc ) || $metadesc === '' ) && get_query_var( 'paged' ) && get_query_var( 'paged' ) > 1 && $template !== '' ) { + if ( strpos( $template, '%%page' ) === false ) { + $metadesc = ''; + } + } + } + + $post_data = $post; + + if ( is_string( $metadesc_override ) && '' !== $metadesc_override ) { + $metadesc = $metadesc_override; + if ( isset( $term ) ) { + $post_data = $term; + } + } + elseif ( ( ! is_string( $metadesc ) || '' === $metadesc ) && '' !== $template ) { + if ( ! isset( $term ) ) { + $term = $wp_query->get_queried_object(); + } + + $metadesc = $template; + $post_data = $term; + } + + $metadesc = wpseo_replace_vars( $metadesc, $post_data ); + + /** + * Filter: 'wpseo_metadesc' - Allow changing the Yoast SEO meta description sentence. + * + * @api string $metadesc The description sentence. + */ + $this->metadesc = apply_filters( 'wpseo_metadesc', trim( $metadesc ) ); + } + + /** + * Based on the redirect meta value, this function determines whether it should redirect the current post / page. + * + * @return boolean + */ + public function page_redirect() { + if ( is_singular() ) { + global $post; + if ( ! isset( $post ) || ! is_object( $post ) ) { + return false; + } + + $redir = WPSEO_Meta::get_value( 'redirect', $post->ID ); + if ( $redir !== '' ) { + wp_redirect( $redir, 301 ); + exit; + } + } + + return false; + } + + /** + * Outputs noindex values for the current page. + */ + public function noindex_page() { + echo '<meta name="robots" content="noindex" />', "\n"; + } + + /** + * Send a Robots HTTP header preventing URL from being indexed in the search results while allowing search engines + * to follow the links in the object at the URL. + * + * @since 1.1.7 + * @return boolean Boolean indicating whether the noindex header was sent + */ + public function noindex_feed() { + + if ( ( is_feed() || is_robots() ) && headers_sent() === false ) { + header( 'X-Robots-Tag: noindex, follow', true ); + + return true; + } + + return false; + } + + /** + * Adds rel="nofollow" to a link, only used for login / registration links. + * + * @param string $input The link element as a string. + * + * @return string + */ + public function nofollow_link( $input ) { + return str_replace( '<a ', '<a rel="nofollow" ', $input ); + } + + /** + * When certain archives are disabled, this redirects those to the homepage. + * + * @return boolean False when no redirect was triggered + */ + public function archive_redirect() { + global $wp_query; + + if ( + ( $this->options['disable-date'] === true && $wp_query->is_date ) || + ( $this->options['disable-author'] === true && $wp_query->is_author ) || + ( $this->options['disable-post_format'] === true && $wp_query->is_tax( 'post_format' ) ) + ) { + wp_safe_redirect( get_bloginfo( 'url' ), 301 ); + exit; + } + + return false; + } + + /** + * If the option to redirect attachments to their parent is checked, this performs the redirect. + * + * An extra check is done for when the attachment has no parent. + * + * @return boolean False when no redirect was triggered + */ + public function attachment_redirect() { + global $post; + if ( is_attachment() && ( ( is_object( $post ) && isset( $post->post_parent ) ) && ( is_numeric( $post->post_parent ) && $post->post_parent != 0 ) ) ) { + wp_safe_redirect( get_permalink( $post->post_parent ), 301 ); + exit; + } + + return false; + } + + /** + * Trailing slashes for everything except is_single(). + * + * Thanks to Mark Jaquith for this code. + * + * @param string $url URL string. + * @param string $type Context (such as single). + * + * @return string + */ + public function add_trailingslash( $url, $type ) { + if ( 'single' === $type || 'single_paged' === $type ) { + return $url; + } + else { + return trailingslashit( $url ); + } + } + + /** + * Removes the ?replytocom variable from the link, replacing it with a #comment-<number> anchor. + * + * @todo Should this function also allow for relative urls ? + * + * @param string $link The comment link as a string. + * + * @return string + */ + public function remove_reply_to_com( $link ) { + return preg_replace( '`href=(["\'])(?:.*(?:\?|&|&)replytocom=(\d+)#respond)`', 'href=$1#comment-$2', $link ); + } + + /** + * Redirect out the ?replytocom variables when cleanreplytocom is enabled + * + * @since 1.4.13 + * @return boolean + */ + public function replytocom_redirect() { + + if ( isset( $_GET['replytocom'] ) && is_singular() ) { + $url = get_permalink( $GLOBALS['post']->ID ); + $hash = sanitize_text_field( $_GET['replytocom'] ); + $query_string = remove_query_arg( 'replytocom', sanitize_text_field( $_SERVER['QUERY_STRING'] ) ); + if ( ! empty( $query_string ) ) { + $url .= '?' . $query_string; + } + $url .= '#comment-' . $hash; + wp_safe_redirect( $url, 301 ); + exit; + } + + return false; + } + + /** + * Removes unneeded query variables from the URL. + * + * @return boolean + */ + public function clean_permalink() { + if ( is_robots() || get_query_var( 'sitemap' ) || empty( $_GET ) ) { + return false; + } + + global $wp_query; + + // Recreate current URL. + $cururl = 'http'; + if ( isset( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] == 'on' ) { + $cururl .= 's'; + } + $cururl .= '://'; + + if ( $_SERVER['SERVER_PORT'] != '80' && $_SERVER['SERVER_PORT'] != '443' ) { + $cururl .= $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] . $_SERVER['REQUEST_URI']; + } + else { + $cururl .= $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; + } + $properurl = ''; + + if ( is_singular() ) { + global $post; + if ( empty( $post ) ) { + $post = $wp_query->get_queried_object(); + } + + $properurl = get_permalink( $post->ID ); + + $page = get_query_var( 'page' ); + if ( $page && $page != 1 ) { + $post = get_post( $post->ID ); + $page_count = substr_count( $post->post_content, '<!--nextpage-->' ); + if ( $page > ( $page_count + 1 ) ) { + $properurl = user_trailingslashit( trailingslashit( $properurl ) . ( $page_count + 1 ) ); + } + else { + $properurl = user_trailingslashit( trailingslashit( $properurl ) . $page ); + } + } + + // Fix reply to comment links, whoever decided this should be a GET variable? + if ( preg_match( '`(\?replytocom=[^&]+)`', sanitize_text_field( $_SERVER['REQUEST_URI'] ), $matches ) ) { + $properurl .= str_replace( '?replytocom=', '#comment-', $matches[0] ); + } + unset( $matches ); + + // Prevent cleaning out posts & page previews for people capable of viewing them. + if ( isset( $_GET['preview'], $_GET['preview_nonce'] ) && current_user_can( 'edit_post' ) ) { + $properurl = ''; + } + } + elseif ( is_front_page() ) { + if ( $this->is_home_posts_page() ) { + $properurl = get_bloginfo( 'url' ) . '/'; + } + elseif ( $this->is_home_static_page() ) { + $properurl = get_permalink( $GLOBALS['post']->ID ); + } + } + elseif ( is_category() || is_tag() || is_tax() ) { + $term = $wp_query->get_queried_object(); + if ( is_feed() ) { + $properurl = get_term_feed_link( $term->term_id, $term->taxonomy ); + } + else { + $properurl = get_term_link( $term, $term->taxonomy ); + } + } + elseif ( is_search() ) { + $s = urlencode( preg_replace( '`(%20|\+)`', ' ', get_search_query() ) ); + $properurl = get_bloginfo( 'url' ) . '/?s=' . $s; + } + elseif ( is_404() ) { + if ( is_multisite() && ! is_subdomain_install() && is_main_site() ) { + if ( $cururl == get_bloginfo( 'url' ) . '/blog/' || $cururl == get_bloginfo( 'url' ) . '/blog' ) { + if ( $this->is_home_static_page() ) { + $properurl = get_permalink( get_option( 'page_for_posts' ) ); + } + else { + $properurl = get_bloginfo( 'url' ) . '/'; + } + } + } + } + + if ( ! empty( $properurl ) && $wp_query->query_vars['paged'] != 0 && $wp_query->post_count != 0 ) { + if ( is_search() && ! empty( $s ) ) { + $properurl = get_bloginfo( 'url' ) . '/page/' . $wp_query->query_vars['paged'] . '/?s=' . $s; + } + else { + $properurl = user_trailingslashit( trailingslashit( $properurl ) . 'page/' . $wp_query->query_vars['paged'] ); + } + } + + // Prevent cleaning out the WP Subscription managers interface for everyone. + if ( isset( $_GET['wp-subscription-manager'] ) ) { + $properurl = ''; + } + + /** + * Filter: 'wpseo_whitelist_permalink_vars' - Allow plugins to register their own variables not to clean + * + * @api array $unsigned Array of permalink variables _not_ to clean. Empty by default. + */ + $whitelisted_extravars = apply_filters( 'wpseo_whitelist_permalink_vars', array() ); + + if ( $this->options['cleanpermalink-googlesitesearch'] === true ) { + // Prevent cleaning out Google Site searches. + $whitelisted_extravars = array_merge( $whitelisted_extravars, array( + 'q', + 'cx', + 'debug', + 'cof', + 'ie', + 'sa', + ) ); + } + + if ( $this->options['cleanpermalink-googlecampaign'] === true ) { + // Prevent cleaning out Google Analytics campaign variables. + $whitelisted_extravars = array_merge( $whitelisted_extravars, array( + 'utm_campaign', + 'utm_medium', + 'utm_source', + 'utm_content', + 'utm_term', + 'utm_id', + 'gclid', + ) ); + } + + if ( $this->options['cleanpermalink-extravars'] !== '' ) { + $extravars = explode( ',', $this->options['cleanpermalink-extravars'] ); + $extravars = array_map( 'trim', $extravars ); + $whitelisted_extravars = array_merge( $whitelisted_extravars, $extravars ); + unset( $extravars ); + } + + foreach ( $whitelisted_extravars as $get ) { + if ( isset( $_GET[ trim( $get ) ] ) ) { + $properurl = ''; + } + } + unset( $get ); + + if ( ! empty( $properurl ) && $cururl != $properurl ) { + wp_safe_redirect( $properurl, 301 ); + exit; + } + } + + /** + * Replaces the possible RSS variables with their actual values. + * + * @param string $content The RSS content that should have the variables replaced. + * + * @return string + */ + public function rss_replace_vars( $content ) { + global $post; + + /** + * Allow the developer to determine whether or not to follow the links in the bits Yoast SEO adds to the RSS feed, defaults to true. + * + * @api bool $unsigned Whether or not to follow the links in RSS feed, defaults to true. + * + * @since 1.4.20 + */ + $no_follow = apply_filters( 'nofollow_rss_links', true ); + $no_follow_attr = ''; + if ( $no_follow === true ) { + $no_follow_attr = 'rel="nofollow" '; + } + + $author_link = ''; + if ( is_object( $post ) ) { + $author_link = '<a ' . $no_follow_attr . 'href="' . esc_url( get_author_posts_url( $post->post_author ) ) . '">' . esc_html( get_the_author() ) . '</a>'; + } + + $post_link = '<a ' . $no_follow_attr . 'href="' . esc_url( get_permalink() ) . '">' . esc_html( get_the_title() ) . '</a>'; + $blog_link = '<a ' . $no_follow_attr . 'href="' . esc_url( get_bloginfo( 'url' ) ) . '">' . esc_html( get_bloginfo( 'name' ) ) . '</a>'; + $blog_desc_link = '<a ' . $no_follow_attr . 'href="' . esc_url( get_bloginfo( 'url' ) ) . '">' . esc_html( get_bloginfo( 'name' ) ) . ' - ' . esc_html( get_bloginfo( 'description' ) ) . '</a>'; + + $content = stripslashes( trim( $content ) ); + $content = str_replace( '%%AUTHORLINK%%', $author_link, $content ); + $content = str_replace( '%%POSTLINK%%', $post_link, $content ); + $content = str_replace( '%%BLOGLINK%%', $blog_link, $content ); + $content = str_replace( '%%BLOGDESCLINK%%', $blog_desc_link, $content ); + + return $content; + } + + /** + * Adds the RSS footer (or header) to the full RSS feed item. + * + * @param string $content Feed item content. + * + * @return string + */ + public function embed_rssfooter( $content ) { + return $this->embed_rss( $content, 'full' ); + } + + /** + * Adds the RSS footer (or header) to the excerpt RSS feed item. + * + * @param string $content Feed item excerpt. + * + * @return string + */ + public function embed_rssfooter_excerpt( $content ) { + return $this->embed_rss( $content, 'excerpt' ); + } + + /** + * Adds the RSS footer and/or header to an RSS feed item. + * + * @since 1.4.14 + * + * @param string $content Feed item content. + * @param string $context Feed item context, either 'excerpt' or 'full'. + * + * @return string + */ + public function embed_rss( $content, $context = 'full' ) { + + /** + * Filter: 'wpseo_include_rss_footer' - Allow the RSS footer to be dynamically shown/hidden. + * + * @api boolean $show_embed Indicates if the RSS footer should be shown or not + * + * @param string $context The context of the RSS content - 'full' or 'excerpt'. + */ + if ( ! apply_filters( 'wpseo_include_rss_footer', true, $context ) ) { + return $content; + } + + if ( is_feed() ) { + $before = ''; + $after = ''; + + if ( $this->options['rssbefore'] !== '' ) { + $before = wpautop( $this->rss_replace_vars( $this->options['rssbefore'] ) ); + } + if ( $this->options['rssafter'] !== '' ) { + $after = wpautop( $this->rss_replace_vars( $this->options['rssafter'] ) ); + } + if ( $before !== '' || $after !== '' ) { + if ( ( isset( $context ) && $context === 'excerpt' ) && trim( $content ) !== '' ) { + $content = wpautop( $content ); + } + $content = $before . $content . $after; + } + } + + return $content; + } + + + /** + * Used in the force rewrite functionality this retrieves the output, replaces the title with the proper SEO + * title and then flushes the output. + */ + public function flush_cache() { + + global $wp_query; + + if ( $this->ob_started !== true ) { + return false; + } + + $content = ob_get_clean(); + + $old_wp_query = $wp_query; + + wp_reset_query(); + + $title = $this->title( '' ); + + // Find all titles, strip them out and add the new one in within the debug marker, so it's easily identified whether a site uses force rewrite. + $content = preg_replace( '/<title.*?\/title>/i', '', $content ); + $content = str_replace( $this->debug_mark( false ), $this->debug_mark( false ) . "\n" . '<title>' . $title . '', $content ); + + $GLOBALS['wp_query'] = $old_wp_query; + + echo $content; + + return true; + } + + /** + * Starts the output buffer so it can later be fixed by flush_cache() + */ + public function force_rewrite_output_buffer() { + $this->ob_started = true; + ob_start(); + } + + /** + * Function used in testing whether the title should be force rewritten or not. + * + * @param string $title Title string. + * + * @return string + */ + public function title_test_helper( $title ) { + $wpseo_titles = get_option( 'wpseo_titles' ); + + $wpseo_titles['title_test'] ++; + update_option( 'wpseo_titles', $wpseo_titles ); + + // Prevent this setting from being on forever when something breaks, as it breaks caching. + if ( $wpseo_titles['title_test'] > 5 ) { + $wpseo_titles['title_test'] = 0; + update_option( 'wpseo_titles', $wpseo_titles ); + + remove_filter( 'wpseo_title', array( $this, 'title_test_helper' ) ); + + return $title; + } + + if ( ! defined( 'DONOTCACHEPAGE' ) ) { + define( 'DONOTCACHEPAGE', true ); + } + if ( ! defined( 'DONOTCACHCEOBJECT' ) ) { + define( 'DONOTCACHCEOBJECT', true ); + } + if ( ! defined( 'DONOTMINIFY' ) ) { + define( 'DONOTMINIFY', true ); + } + + if ( $_SERVER['HTTP_USER_AGENT'] === "WordPress/{$GLOBALS['wp_version']}; " . get_bloginfo( 'url' ) . ' - Yoast' ) { + return 'This is a Yoast Test Title'; + } + + return $title; + } + + /** + * Get the product name in the head section + * + * @return string + */ + private function head_product_name() { + if ( $this->is_premium() ) { + return 'Yoast SEO Premium plugin'; + } + else { + return 'Yoast SEO plugin'; + } + } + + /** + * Check if this plugin is the premium version of WPSEO + * + * @return bool + */ + private function is_premium() { + return file_exists( WPSEO_PATH . 'premium/' ); + } + + /** + * Getting the keywords + * + * @param WP_Post $post The post object with the values. + * + * @return string + */ + private function get_keywords( $post ) { + $keywords = WPSEO_Meta::get_value( 'metakeywords', $post->ID ); + $option_meta_key = 'metakey-' . $post->post_type; + + if ( $keywords === '' && ( is_object( $post ) && ( isset( $this->options[ $option_meta_key ] ) && $this->options[ $option_meta_key ] !== '' ) ) ) { + $keywords = wpseo_replace_vars( $this->options[ $option_meta_key ], $post ); + } + + return $keywords; + } + + /** + * Check if term archive query is for multiple terms (/term-1,term2/ or /term-1+term-2/). + * + * @return bool + */ + protected function is_multiple_terms_query() { + + global $wp_query; + + if ( ! is_tax() && ! is_tag() && ! is_category() ) { + return false; + } + + $term = get_queried_object(); + $queried_terms = $wp_query->tax_query->queried_terms; + + if ( empty( $queried_terms[ $term->taxonomy ]['terms'] ) ) { + return false; + } + + return count( $queried_terms[ $term->taxonomy ]['terms'] ) > 1; + } + + /** Deprecated functions */ + // @codeCoverageIgnoreStart + /** + * Outputs or returns the debug marker, which is also used for title replacement when force rewrite is active. + * + * @deprecated 4.4 + * + * @param bool $echo Whether or not to echo the debug marker. + * @return string + */ + public function debug_marker( $echo = false ) { + return $this->debug_mark( $echo ); + } + + // @codeCoverageIgnoreEnd +} diff --git a/pole-sbv-content/plugins/wordpress-seo/frontend/class-json-ld.php b/pole-sbv-content/plugins/wordpress-seo/frontend/class-json-ld.php new file mode 100644 index 00000000..f28badf1 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/frontend/class-json-ld.php @@ -0,0 +1,275 @@ +options = WPSEO_Options::get_options( array( 'wpseo', 'wpseo_social' ) ); + } + + /** + * Registers the hooks. + */ + public function register_hooks() { + add_action( 'wpseo_head', array( $this, 'json_ld' ), 90 ); + add_action( 'wpseo_json_ld', array( $this, 'website' ), 10 ); + add_action( 'wpseo_json_ld', array( $this, 'organization_or_person' ), 20 ); + } + + /** + * JSON LD output function that the functions for specific code can hook into + * + * @since 1.8 + */ + public function json_ld() { + do_action( 'wpseo_json_ld' ); + } + + /** + * Outputs code to allow Google to recognize social profiles for use in the Knowledge graph + * + * @since 1.8 + */ + public function organization_or_person() { + if ( '' === $this->options['company_or_person'] ) { + return; + } + + $this->prepare_organization_person_markup(); + + switch ( $this->options['company_or_person'] ) { + case 'company': + $this->organization(); + break; + case 'person': + $this->person(); + break; + } + + $this->output( $this->options['company_or_person'] ); + } + + /** + * Outputs code to allow recognition of the internal search engine + * + * @since 1.5.7 + * + * @link https://developers.google.com/structured-data/site-name + */ + public function website() { + $this->data = array( + '@context' => 'http://schema.org', + '@type' => 'WebSite', + '@id' => '#website', + 'url' => $this->get_home_url(), + 'name' => $this->get_website_name(), + ); + + $this->add_alternate_name(); + $this->internal_search_section(); + + $this->output( 'website' ); + } + + /** + * Outputs the JSON LD code in a valid JSON+LD wrapper + * + * @since 1.8 + * + * @param string $context The context of the output, useful for filtering. + */ + private function output( $context ) { + /** + * Filter: 'wpseo_json_ld_output' - Allows filtering of the JSON+LD output + * + * @api array $output The output array, before its JSON encoded + * + * @param string $context The context of the output, useful to determine whether to filter or not. + */ + $this->data = apply_filters( 'wpseo_json_ld_output', $this->data, $context ); + + if ( is_array( $this->data ) && ! empty( $this->data ) ) { + $json_data = wp_json_encode( $this->data ); + + echo "', "\n"; + } + + // Empty the $data array so we don't output it twice. + $this->data = array(); + } + + /** + * Schema for Organization + */ + private function organization() { + if ( '' !== $this->options['company_name'] ) { + $this->data['@type'] = 'Organization'; + $this->data['@id'] = '#organization'; + $this->data['name'] = $this->options['company_name']; + $this->data['logo'] = $this->options['company_logo']; + return; + } + $this->data = false; + } + + /** + * Schema for Person + */ + private function person() { + if ( '' !== $this->options['person_name'] ) { + $this->data['@type'] = 'Person'; + $this->data['@id'] = '#person'; + $this->data['name'] = $this->options['person_name']; + return; + } + $this->data = false; + } + + /** + * Prepares the organization or person markup + */ + private function prepare_organization_person_markup() { + $this->fetch_social_profiles(); + + $this->data = array( + '@context' => 'http://schema.org', + '@type' => '', + 'url' => WPSEO_Frontend::get_instance()->canonical( false, true ), + 'sameAs' => $this->profiles, + ); + } + + /** + * Retrieve the social profiles to display in the organization output. + * + * @since 1.8 + * + * @link https://developers.google.com/webmasters/structured-data/customize/social-profiles + */ + private function fetch_social_profiles() { + $social_profiles = array( + 'facebook_site', + 'instagram_url', + 'linkedin_url', + 'plus-publisher', + 'myspace_url', + 'youtube_url', + 'pinterest_url', + ); + foreach ( $social_profiles as $profile ) { + if ( $this->options[ $profile ] !== '' ) { + $this->profiles[] = $this->options[ $profile ]; + } + } + + if ( ! empty( $this->options['twitter_site'] ) ) { + $this->profiles[] = 'https://twitter.com/' . $this->options['twitter_site']; + } + } + + /** + * Retrieves the home URL + * + * @return string + */ + private function get_home_url() { + /** + * Filter: 'wpseo_json_home_url' - Allows filtering of the home URL for Yoast SEO's JSON+LD output + * + * @api unsigned string + */ + return apply_filters( 'wpseo_json_home_url', WPSEO_Utils::home_url() ); + } + + /** + * Returns an alternate name if one was specified in the Yoast SEO settings + */ + private function add_alternate_name() { + if ( '' !== $this->options['alternate_website_name'] ) { + $this->data['alternateName'] = $this->options['alternate_website_name']; + } + } + + /** + * Adds the internal search JSON LD code if it's not disabled + * + * @link https://developers.google.com/structured-data/slsb-overview + */ + private function internal_search_section() { + /** + * Filter: 'disable_wpseo_json_ld_search' - Allow disabling of the json+ld output + * + * @api bool $display_search Whether or not to display json+ld search on the frontend + */ + if ( ! apply_filters( 'disable_wpseo_json_ld_search', false ) ) { + /** + * Filter: 'wpseo_json_ld_search_url' - Allows filtering of the search URL for Yoast SEO + * + * @api string $search_url The search URL for this site with a `{search_term_string}` variable. + */ + $search_url = apply_filters( 'wpseo_json_ld_search_url', $this->get_home_url() . '?s={search_term_string}' ); + + $this->data['potentialAction'] = array( + '@type' => 'SearchAction', + 'target' => $search_url, + 'query-input' => 'required name=search_term_string', + ); + } + } + + /** + * Returns the website name either from Yoast SEO's options or from the site settings + * + * @since 2.1 + * + * @return string + */ + private function get_website_name() { + if ( '' !== $this->options['website_name'] ) { + return $this->options['website_name']; + } + + return get_bloginfo( 'name' ); + } + + /** + * Renders internal search schema markup + * + * @deprecated 2.1 + * @deprecated use WPSEO_JSON_LD::website() + + * @codeCoverageIgnore + */ + public function internal_search() { + _deprecated_function( __METHOD__, 'WPSEO 2.1', 'WPSEO_JSON_LD::website()' ); + + $this->website(); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/frontend/class-opengraph.php b/pole-sbv-content/plugins/wordpress-seo/frontend/class-opengraph.php new file mode 100644 index 00000000..2cf27ece --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/frontend/class-opengraph.php @@ -0,0 +1,1102 @@ +options = WPSEO_Options::get_option( 'wpseo_social' ); + + if ( isset( $GLOBALS['fb_ver'] ) || class_exists( 'Facebook_Loader', false ) ) { + add_filter( 'fb_meta_tags', array( $this, 'facebook_filter' ), 10, 1 ); + } + else { + add_filter( 'language_attributes', array( $this, 'add_opengraph_namespace' ), 15 ); + + add_action( 'wpseo_opengraph', array( $this, 'locale' ), 1 ); + add_action( 'wpseo_opengraph', array( $this, 'type' ), 5 ); + add_action( 'wpseo_opengraph', array( $this, 'og_title' ), 10 ); + add_action( 'wpseo_opengraph', array( $this, 'site_owner' ), 20 ); + add_action( 'wpseo_opengraph', array( $this, 'description' ), 11 ); + add_action( 'wpseo_opengraph', array( $this, 'url' ), 12 ); + add_action( 'wpseo_opengraph', array( $this, 'site_name' ), 13 ); + add_action( 'wpseo_opengraph', array( $this, 'website_facebook' ), 14 ); + if ( is_singular() && ! is_front_page() ) { + add_action( 'wpseo_opengraph', array( $this, 'article_author_facebook' ), 15 ); + add_action( 'wpseo_opengraph', array( $this, 'tags' ), 16 ); + add_action( 'wpseo_opengraph', array( $this, 'category' ), 17 ); + add_action( 'wpseo_opengraph', array( $this, 'publish_date' ), 19 ); + } + + add_action( 'wpseo_opengraph', array( $this, 'image' ), 30 ); + } + add_filter( 'jetpack_enable_open_graph', '__return_false' ); + add_action( 'wpseo_head', array( $this, 'opengraph' ), 30 ); + } + + /** + * Main OpenGraph output. + */ + public function opengraph() { + wp_reset_query(); + /** + * Action: 'wpseo_opengraph' - Hook to add all Facebook OpenGraph output to so they're close together. + */ + do_action( 'wpseo_opengraph' ); + } + + /** + * Internal function to output FB tags. This also adds an output filter to each bit of output based on the property. + * + * @param string $property Property attribute value. + * @param string $content Content attribute value. + * + * @return boolean + */ + public function og_tag( $property, $content ) { + $og_property = str_replace( ':', '_', $property ); + /** + * Filter: 'wpseo_og_' . $og_property - Allow developers to change the content of specific OG meta tags. + * + * @api string $content The content of the property + */ + $content = apply_filters( 'wpseo_og_' . $og_property, $content ); + if ( empty( $content ) ) { + return false; + } + + echo '', "\n"; + + return true; + } + + /** + * Filter the Facebook plugins metadata + * + * @param array $meta_tags the array to fix. + * + * @return array $meta_tags + */ + public function facebook_filter( $meta_tags ) { + $meta_tags['http://ogp.me/ns#type'] = $this->type( false ); + $meta_tags['http://ogp.me/ns#title'] = $this->og_title( false ); + + // Filter the locale too because the Facebook plugin locale code is not as good as ours. + $meta_tags['http://ogp.me/ns#locale'] = $this->locale( false ); + + $ogdesc = $this->description( false ); + if ( ! empty( $ogdesc ) ) { + $meta_tags['http://ogp.me/ns#description'] = $ogdesc; + } + + return $meta_tags; + } + + /** + * Filter for the namespace, adding the OpenGraph namespace. + * + * @link https://developers.facebook.com/docs/web/tutorials/scrumptious/open-graph-object/ + * + * @param string $input The input namespace string. + * + * @return string + */ + public function add_opengraph_namespace( $input ) { + $namespaces = array( + 'og: http://ogp.me/ns#', + ); + if ( $this->options['fbadminapp'] != 0 || ( is_array( $this->options['fb_admins'] ) && $this->options['fb_admins'] !== array() ) ) { + $namespaces[] = 'fb: http://ogp.me/ns/fb#'; + } + + /** + * Allow for adding additional namespaces to the prefix attributes. + * + * @since 3.9.0 + * + * @param array $namespaces Currently registered namespaces which are to be + * added to the prefix attribute. + * Namespaces are strings and have the following syntax: + * ns: http://url.to.namespace/definition + */ + $namespaces = apply_filters( 'wpseo_html_namespaces', $namespaces ); + $namespace_string = implode( ' ', array_unique( $namespaces ) ); + + if ( strpos( $input, ' prefix=' ) !== false ) { + $regex = '`prefix=([\'"])(.+?)\1`'; + $replace = 'prefix="$2 ' . $namespace_string . '"'; + $input = preg_replace( $regex, $replace, $input ); + } + else { + $input .= ' prefix="' . $namespace_string . '"'; + } + + return $input; + } + + /** + * Outputs the authors FB page. + * + * @link https://developers.facebook.com/blog/post/2013/06/19/platform-updates--new-open-graph-tags-for-media-publishers-and-more/ + * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/ + * + * @return boolean + */ + public function article_author_facebook() { + if ( ! is_singular() ) { + return false; + } + + /** + * Filter: 'wpseo_opengraph_author_facebook' - Allow developers to filter the Yoast SEO post authors facebook profile URL + * + * @api bool|string $unsigned The Facebook author URL, return false to disable + */ + $facebook = apply_filters( 'wpseo_opengraph_author_facebook', get_the_author_meta( 'facebook', $GLOBALS['post']->post_author ) ); + + if ( $facebook && ( is_string( $facebook ) && $facebook !== '' ) ) { + $this->og_tag( 'article:author', $facebook ); + + return true; + } + + return false; + } + + /** + * Outputs the websites FB page. + * + * @link https://developers.facebook.com/blog/post/2013/06/19/platform-updates--new-open-graph-tags-for-media-publishers-and-more/ + * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/ + * @return boolean + */ + public function website_facebook() { + + if ( 'article' === $this->type( false ) && ! empty( $this->options['facebook_site'] ) ) { + $this->og_tag( 'article:publisher', $this->options['facebook_site'] ); + + return true; + } + + return false; + } + + /** + * Outputs the site owner + * + * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/ + * @return boolean + */ + public function site_owner() { + if ( isset( $this->options['fbadminapp'] ) && $this->options['fbadminapp'] != 0 ) { + $this->og_tag( 'fb:app_id', $this->options['fbadminapp'] ); + + return true; + } + elseif ( isset( $this->options['fb_admins'] ) && is_array( $this->options['fb_admins'] ) && $this->options['fb_admins'] !== array() ) { + $adminstr = implode( ',', array_keys( $this->options['fb_admins'] ) ); + /** + * Filter: 'wpseo_opengraph_admin' - Allow developer to filter the fb:admins string put out by Yoast SEO + * + * @api string $adminstr The admin string + */ + $adminstr = apply_filters( 'wpseo_opengraph_admin', $adminstr ); + if ( is_string( $adminstr ) && $adminstr !== '' ) { + + $admins = explode( ',', $adminstr ); + + foreach ( $admins as $admin_id ) { + $this->og_tag( 'fb:admins', $admin_id ); + } + + return true; + } + } + + return false; + } + + /** + * Outputs the SEO title as OpenGraph title. + * + * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/ + * + * @param bool $echo Whether or not to echo the output. + * + * @return string|boolean + */ + public function og_title( $echo = true ) { + + $frontend = WPSEO_Frontend::get_instance(); + $is_posts_page = $frontend->is_posts_page(); + + if ( is_singular() || $is_posts_page ) { + + $post_id = ( $is_posts_page ) ? get_option( 'page_for_posts' ) : get_the_ID(); + $post = get_post( $post_id ); + $title = WPSEO_Meta::get_value( 'opengraph-title', $post_id ); + + if ( $title === '' ) { + $title = $frontend->title( '' ); + } + else { + // Replace Yoast SEO Variables. + $title = wpseo_replace_vars( $title, $post ); + } + } + elseif ( is_front_page() ) { + $title = ( isset( $this->options['og_frontpage_title'] ) && $this->options['og_frontpage_title'] !== '' ) ? $this->options['og_frontpage_title'] : $frontend->title( '' ); + } + elseif ( is_category() || is_tax() || is_tag() ) { + $title = WPSEO_Taxonomy_Meta::get_meta_without_term( 'opengraph-title' ); + if ( $title === '' ) { + $title = $frontend->title( '' ); + } + else { + // Replace Yoast SEO Variables. + $title = wpseo_replace_vars( $title, $GLOBALS['wp_query']->get_queried_object() ); + } + } + else { + $title = $frontend->title( '' ); + } + + /** + * Filter: 'wpseo_opengraph_title' - Allow changing the title specifically for OpenGraph + * + * @api string $unsigned The title string + */ + $title = trim( apply_filters( 'wpseo_opengraph_title', $title ) ); + + if ( is_string( $title ) && $title !== '' ) { + if ( $echo !== false ) { + $this->og_tag( 'og:title', $title ); + + return true; + } + } + + if ( $echo === false ) { + return $title; + } + + return false; + } + + /** + * Outputs the canonical URL as OpenGraph URL, which consolidates likes and shares. + * + * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/ + * @return boolean + */ + public function url() { + /** + * Filter: 'wpseo_opengraph_url' - Allow changing the OpenGraph URL + * + * @api string $unsigned Canonical URL + */ + $url = apply_filters( 'wpseo_opengraph_url', WPSEO_Frontend::get_instance()->canonical( false ) ); + + if ( is_string( $url ) && $url !== '' ) { + $this->og_tag( 'og:url', esc_url( $url ) ); + + return true; + } + + return false; + } + + /** + * Output the locale, doing some conversions to make sure the proper Facebook locale is outputted. + * + * Last update/compare with FB list done on 2015-03-16 by Rarst + * + * @see http://www.facebook.com/translations/FacebookLocales.xml for the list of supported locales + * + * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/ + * + * @param bool $echo Whether to echo or return the locale. + * + * @return string $locale + */ + public function locale( $echo = true ) { + /** + * Filter: 'wpseo_locale' - Allow changing the locale output + * + * @api string $unsigned Locale string + */ + $locale = apply_filters( 'wpseo_locale', get_locale() ); + + // Catch some weird locales served out by WP that are not easily doubled up. + $fix_locales = array( + 'ca' => 'ca_ES', + 'en' => 'en_US', + 'el' => 'el_GR', + 'et' => 'et_EE', + 'ja' => 'ja_JP', + 'sq' => 'sq_AL', + 'uk' => 'uk_UA', + 'vi' => 'vi_VN', + 'zh' => 'zh_CN', + ); + + if ( isset( $fix_locales[ $locale ] ) ) { + $locale = $fix_locales[ $locale ]; + } + + // Convert locales like "es" to "es_ES", in case that works for the given locale (sometimes it does). + if ( strlen( $locale ) == 2 ) { + $locale = strtolower( $locale ) . '_' . strtoupper( $locale ); + } + + // These are the locales FB supports. + $fb_valid_fb_locales = array( + 'af_ZA', // Afrikaans. + 'ak_GH', // Akan. + 'am_ET', // Amharic. + 'ar_AR', // Arabic. + 'as_IN', // Assamese. + 'ay_BO', // Aymara. + 'az_AZ', // Azerbaijani. + 'be_BY', // Belarusian. + 'bg_BG', // Bulgarian. + 'bn_IN', // Bengali. + 'br_FR', // Breton. + 'bs_BA', // Bosnian. + 'ca_ES', // Catalan. + 'cb_IQ', // Sorani Kurdish. + 'ck_US', // Cherokee. + 'co_FR', // Corsican. + 'cs_CZ', // Czech. + 'cx_PH', // Cebuano. + 'cy_GB', // Welsh. + 'da_DK', // Danish. + 'de_DE', // German. + 'el_GR', // Greek. + 'en_GB', // English (UK). + 'en_IN', // English (India). + 'en_PI', // English (Pirate). + 'en_UD', // English (Upside Down). + 'en_US', // English (US). + 'eo_EO', // Esperanto. + 'es_CL', // Spanish (Chile). + 'es_CO', // Spanish (Colombia). + 'es_ES', // Spanish (Spain). + 'es_LA', // Spanish. + 'es_MX', // Spanish (Mexico). + 'es_VE', // Spanish (Venezuela). + 'et_EE', // Estonian. + 'eu_ES', // Basque. + 'fa_IR', // Persian. + 'fb_LT', // Leet Speak. + 'ff_NG', // Fulah. + 'fi_FI', // Finnish. + 'fo_FO', // Faroese. + 'fr_CA', // French (Canada). + 'fr_FR', // French (France). + 'fy_NL', // Frisian. + 'ga_IE', // Irish. + 'gl_ES', // Galician. + 'gn_PY', // Guarani. + 'gu_IN', // Gujarati. + 'gx_GR', // Classical Greek. + 'ha_NG', // Hausa. + 'he_IL', // Hebrew. + 'hi_IN', // Hindi. + 'hr_HR', // Croatian. + 'hu_HU', // Hungarian. + 'hy_AM', // Armenian. + 'id_ID', // Indonesian. + 'ig_NG', // Igbo. + 'is_IS', // Icelandic. + 'it_IT', // Italian. + 'ja_JP', // Japanese. + 'ja_KS', // Japanese (Kansai). + 'jv_ID', // Javanese. + 'ka_GE', // Georgian. + 'kk_KZ', // Kazakh. + 'km_KH', // Khmer. + 'kn_IN', // Kannada. + 'ko_KR', // Korean. + 'ku_TR', // Kurdish (Kurmanji). + 'ky_KG', // Kyrgyz. + 'la_VA', // Latin. + 'lg_UG', // Ganda. + 'li_NL', // Limburgish. + 'ln_CD', // Lingala. + 'lo_LA', // Lao. + 'lt_LT', // Lithuanian. + 'lv_LV', // Latvian. + 'mg_MG', // Malagasy. + 'mi_NZ', // Maori. + 'mk_MK', // Macedonian. + 'ml_IN', // Malayalam. + 'mn_MN', // Mongolian. + 'mr_IN', // Marathi. + 'ms_MY', // Malay. + 'mt_MT', // Maltese. + 'my_MM', // Burmese. + 'nb_NO', // Norwegian (bokmal). + 'nd_ZW', // Ndebele. + 'ne_NP', // Nepali. + 'nl_BE', // Dutch (Belgie). + 'nl_NL', // Dutch. + 'nn_NO', // Norwegian (nynorsk). + 'ny_MW', // Chewa. + 'or_IN', // Oriya. + 'pa_IN', // Punjabi. + 'pl_PL', // Polish. + 'ps_AF', // Pashto. + 'pt_BR', // Portuguese (Brazil). + 'pt_PT', // Portuguese (Portugal). + 'qu_PE', // Quechua. + 'rm_CH', // Romansh. + 'ro_RO', // Romanian. + 'ru_RU', // Russian. + 'rw_RW', // Kinyarwanda. + 'sa_IN', // Sanskrit. + 'sc_IT', // Sardinian. + 'se_NO', // Northern Sami. + 'si_LK', // Sinhala. + 'sk_SK', // Slovak. + 'sl_SI', // Slovenian. + 'sn_ZW', // Shona. + 'so_SO', // Somali. + 'sq_AL', // Albanian. + 'sr_RS', // Serbian. + 'sv_SE', // Swedish. + 'sw_KE', // Swahili. + 'sy_SY', // Syriac. + 'sz_PL', // Silesian. + 'ta_IN', // Tamil. + 'te_IN', // Telugu. + 'tg_TJ', // Tajik. + 'th_TH', // Thai. + 'tk_TM', // Turkmen. + 'tl_PH', // Filipino. + 'tl_ST', // Klingon. + 'tr_TR', // Turkish. + 'tt_RU', // Tatar. + 'tz_MA', // Tamazight. + 'uk_UA', // Ukrainian. + 'ur_PK', // Urdu. + 'uz_UZ', // Uzbek. + 'vi_VN', // Vietnamese. + 'wo_SN', // Wolof. + 'xh_ZA', // Xhosa. + 'yi_DE', // Yiddish. + 'yo_NG', // Yoruba. + 'zh_CN', // Simplified Chinese (China). + 'zh_HK', // Traditional Chinese (Hong Kong). + 'zh_TW', // Traditional Chinese (Taiwan). + 'zu_ZA', // Zulu. + 'zz_TR', // Zazaki. + ); + + // Check to see if the locale is a valid FB one, if not, use en_US as a fallback. + if ( ! in_array( $locale, $fb_valid_fb_locales ) ) { + $locale = strtolower( substr( $locale, 0, 2 ) ) . '_' . strtoupper( substr( $locale, 0, 2 ) ); + if ( ! in_array( $locale, $fb_valid_fb_locales ) ) { + $locale = 'en_US'; + } + } + + if ( $echo !== false ) { + $this->og_tag( 'og:locale', $locale ); + } + + return $locale; + } + + /** + * Output the OpenGraph type. + * + * @param boolean $echo Whether to echo or return the type. + * + * @link https://developers.facebook.com/docs/reference/opengraph/object-type/object/ + * + * @return string $type + */ + public function type( $echo = true ) { + + if ( is_front_page() || is_home() ) { + $type = 'website'; + } + elseif ( is_singular() ) { + + // This'll usually only be changed by plugins right now. + $type = WPSEO_Meta::get_value( 'og_type' ); + + if ( $type === '' ) { + $type = 'article'; + } + } + else { + // We use "object" for archives etc. as article doesn't apply there. + $type = 'object'; + } + + /** + * Filter: 'wpseo_opengraph_type' - Allow changing the OpenGraph type of the page + * + * @api string $type The OpenGraph type string. + */ + $type = apply_filters( 'wpseo_opengraph_type', $type ); + + if ( is_string( $type ) && $type !== '' ) { + if ( $echo !== false ) { + $this->og_tag( 'og:type', $type ); + } + else { + return $type; + } + } + + return ''; + } + + /** + * Create new WPSEO_OpenGraph_Image class and get the images to set the og:image + * + * @param string|boolean $image Optional image URL. + */ + public function image( $image = false ) { + $opengraph_images = new WPSEO_OpenGraph_Image( $this->options, $image ); + + foreach ( $opengraph_images->get_images() as $img ) { + $this->og_tag( 'og:image', esc_url( $img ) ); + + if ( 0 === strpos( $img, 'https://' ) ) { + $this->og_tag( 'og:image:secure_url', esc_url( $img ) ); + } + } + + $dimensions = $opengraph_images->get_dimensions(); + + if ( ! empty( $dimensions['width'] ) ) { + $this->og_tag( 'og:image:width', absint( $dimensions['width'] ) ); + } + + if ( ! empty( $dimensions['height'] ) ) { + $this->og_tag( 'og:image:height', absint( $dimensions['height'] ) ); + } + } + + /** + * Fallback method for plugins using image_output + * + * @param string $image Image URL. + */ + public function image_output( $image ) { + $this->image( $image ); + } + + /** + * Output the OpenGraph description, specific OG description first, if not, grab the meta description. + * + * @param bool $echo Whether to echo or return the description. + * + * @return string $ogdesc + */ + public function description( $echo = true ) { + $ogdesc = ''; + $frontend = WPSEO_Frontend::get_instance(); + + if ( is_front_page() ) { + if ( isset( $this->options['og_frontpage_desc'] ) && $this->options['og_frontpage_desc'] !== '' ) { + $ogdesc = wpseo_replace_vars( $this->options['og_frontpage_desc'], null ); + } + else { + $ogdesc = $frontend->metadesc( false ); + } + } + + $is_posts_page = $frontend->is_posts_page(); + + if ( is_singular() || $is_posts_page ) { + $post_id = ( $is_posts_page ) ? get_option( 'page_for_posts' ) : get_the_ID(); + $post = get_post( $post_id ); + $ogdesc = WPSEO_Meta::get_value( 'opengraph-description', $post_id ); + + // Replace Yoast SEO Variables. + $ogdesc = wpseo_replace_vars( $ogdesc, $post ); + + // Use metadesc if $ogdesc is empty. + if ( $ogdesc === '' ) { + $ogdesc = $frontend->metadesc( false ); + } + + // Tag og:description is still blank so grab it from get_the_excerpt(). + if ( ! is_string( $ogdesc ) || ( is_string( $ogdesc ) && $ogdesc === '' ) ) { + $ogdesc = str_replace( '[…]', '…', strip_tags( get_the_excerpt() ) ); + } + } + + if ( is_category() || is_tag() || is_tax() ) { + $ogdesc = WPSEO_Taxonomy_Meta::get_meta_without_term( 'opengraph-description' ); + if ( $ogdesc === '' ) { + $ogdesc = $frontend->metadesc( false ); + } + + if ( $ogdesc === '' ) { + $ogdesc = trim( strip_tags( term_description() ) ); + } + + if ( $ogdesc === '' ) { + $ogdesc = WPSEO_Taxonomy_Meta::get_meta_without_term( 'desc' ); + } + } + + // Strip shortcodes if any. + $ogdesc = strip_shortcodes( $ogdesc ); + + /** + * Filter: 'wpseo_opengraph_desc' - Allow changing the OpenGraph description + * + * @api string $ogdesc The description string. + */ + $ogdesc = trim( apply_filters( 'wpseo_opengraph_desc', $ogdesc ) ); + + if ( is_string( $ogdesc ) && $ogdesc !== '' ) { + if ( $echo !== false ) { + $this->og_tag( 'og:description', $ogdesc ); + } + } + + return $ogdesc; + } + + /** + * Output the site name straight from the blog info. + */ + public function site_name() { + /** + * Filter: 'wpseo_opengraph_site_name' - Allow changing the OpenGraph site name + * + * @api string $unsigned Blog name string + */ + $name = apply_filters( 'wpseo_opengraph_site_name', get_bloginfo( 'name' ) ); + if ( is_string( $name ) && $name !== '' ) { + $this->og_tag( 'og:site_name', $name ); + } + } + + /** + * Output the article tags as article:tag tags. + * + * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/ + * @return boolean + */ + public function tags() { + if ( ! is_singular() ) { + return false; + } + + $tags = get_the_tags(); + if ( ! is_wp_error( $tags ) && ( is_array( $tags ) && $tags !== array() ) ) { + + foreach ( $tags as $tag ) { + $this->og_tag( 'article:tag', $tag->name ); + } + + return true; + } + + return false; + } + + /** + * Output the article category as an article:section tag. + * + * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/ + * @return boolean; + */ + public function category() { + + if ( ! is_singular() ) { + return false; + } + + $post = get_post(); + if ( ! $post ) { + return false; + } + + $primary_term = new WPSEO_Primary_Term( 'category', $post->ID ); + $primary_category = $primary_term->get_primary_term(); + + if ( $primary_category ) { + // We can only show one section here, so we take the first one. + $this->og_tag( 'article:section', get_cat_name( $primary_category ) ); + + return true; + } + + $terms = get_the_category(); + + if ( ! is_wp_error( $terms ) && ( is_array( $terms ) && $terms !== array() ) ) { + // We can only show one section here, so we take the first one. + $this->og_tag( 'article:section', $terms[0]->name ); + + return true; + } + + return false; + } + + /** + * Output the article publish and last modification date + * + * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/ + * @return boolean; + */ + public function publish_date() { + + if ( ! is_singular( 'post' ) ) { + /** + * Filter: 'wpseo_opengraph_show_publish_date' - Allow showing publication date for other post types + * + * @api bool $unsigned Whether or not to show publish date + * + * @param string $post_type The current URL's post type. + */ + if ( false === apply_filters( 'wpseo_opengraph_show_publish_date', false, get_post_type() ) ) { + return false; + } + } + + $pub = get_the_date( DATE_W3C ); + $this->og_tag( 'article:published_time', $pub ); + + $mod = get_the_modified_date( DATE_W3C ); + if ( $mod != $pub ) { + $this->og_tag( 'article:modified_time', $mod ); + $this->og_tag( 'og:updated_time', $mod ); + } + + return true; + } +} /* End of class */ + +/** + * Class WPSEO_OpenGraph_Image + */ +class WPSEO_OpenGraph_Image { + + /** + * @var array $options Holds options passed to the constructor + */ + private $options; + + /** + * @var array $images Holds the images that have been put out as OG image. + */ + private $images = array(); + + /** + * @todo This needs to be refactored since we only hold one set of dimensions for multiple images. R. + * @var array $dimensions Holds image dimensions, if determined. + */ + protected $dimensions = array(); + + /** + * Constructor + * + * @param array $options Options set. + * @param string|boolean $image Optional image URL. + */ + public function __construct( $options, $image = false ) { + $this->options = $options; + + // If an image was not supplied or could not be added. + if ( empty( $image ) || ! $this->add_image( $image ) ) { + $this->set_images(); + } + } + + /** + * Return the images array + * + * @return array + */ + public function get_images() { + return $this->images; + } + + /** + * Return the dimensions array. + * + * @return array + */ + public function get_dimensions() { + return $this->dimensions; + } + + /** + * Display an OpenGraph image tag + * + * @param string $img - Source URL to the image. + * + * @return bool + */ + public function add_image( $img ) { + + $original = trim( $img ); + + // Filter: 'wpseo_opengraph_image' - Allow changing the OpenGraph image. + $img = trim( apply_filters( 'wpseo_opengraph_image', $img ) ); + + if ( $original !== $img ) { + $this->dimensions = array(); + } + + if ( empty( $img ) ) { + return false; + } + + if ( WPSEO_Utils::is_url_relative( $img ) === true ) { + $img = $this->get_relative_path( $img ); + } + + if ( in_array( $img, $this->images ) ) { + return false; + } + array_push( $this->images, $img ); + + return true; + } + + /** + * Check if page is front page or singular and call the corresponding functions. If not, call get_default_image. + */ + private function set_images() { + + /** + * Filter: wpseo_add_opengraph_images - Allow developers to add images to the OpenGraph tags + * + * @api WPSEO_OpenGraph_Image The current object. + */ + do_action( 'wpseo_add_opengraph_images', $this ); + + if ( is_front_page() ) { + $this->get_front_page_image(); + } + elseif ( is_home() ) { // Posts page, which won't be caught by is_singular() below. + $this->get_posts_page_image(); + } + + if ( is_singular() ) { + $this->get_singular_image(); + } + + if ( is_category() || is_tax() || is_tag() ) { + $this->get_opengraph_image_taxonomy(); + } + + $this->get_default_image(); + } + + /** + * If the frontpage image exists, call add_image + */ + private function get_front_page_image() { + if ( $this->options['og_frontpage_image'] !== '' ) { + $this->add_image( $this->options['og_frontpage_image'] ); + } + } + + /** + * Get the images of the posts page. + */ + private function get_posts_page_image() { + + $post_id = get_option( 'page_for_posts' ); + + if ( $this->get_opengraph_image_post( $post_id ) ) { + return; + } + + if ( $this->get_featured_image( $post_id ) ) { + return; + } + } + + /** + * Get the images of the singular post. + */ + private function get_singular_image() { + global $post; + + if ( $this->get_opengraph_image_post() ) { + return; + } + + if ( $this->get_attachment_page_image( $post->ID ) ) { + return; + } + + if ( $this->get_featured_image( $post->ID ) ) { + return; + } + + $this->get_content_images( $post ); + } + + /** + * Get default image and call add_image + */ + private function get_default_image() { + if ( count( $this->images ) === 0 && isset( $this->options['og_default_image'] ) && $this->options['og_default_image'] !== '' ) { + $this->add_image( $this->options['og_default_image'] ); + } + } + + /** + * If opengraph-image is set, call add_image and return true. + * + * @param int $post_id Optional post ID to use. + * + * @return bool + */ + private function get_opengraph_image_post( $post_id = 0 ) { + $ogimg = WPSEO_Meta::get_value( 'opengraph-image', $post_id ); + if ( $ogimg !== '' ) { + $this->add_image( $ogimg ); + + return true; + } + + return false; + } + + /** + * Check if taxonomy has an image and add this image + */ + private function get_opengraph_image_taxonomy() { + if ( ( $ogimg = WPSEO_Taxonomy_Meta::get_meta_without_term( 'opengraph-image' ) ) !== '' ) { + $this->add_image( $ogimg ); + } + } + + /** + * If there is a featured image, check image size. If image size is correct, call add_image and return true + * + * @param int $post_id The post ID. + * + * @return bool + */ + private function get_featured_image( $post_id ) { + + if ( has_post_thumbnail( $post_id ) ) { + /** + * Filter: 'wpseo_opengraph_image_size' - Allow changing the image size used for OpenGraph sharing + * + * @api string $unsigned Size string + */ + $thumb = wp_get_attachment_image_src( get_post_thumbnail_id( $post_id ), apply_filters( 'wpseo_opengraph_image_size', 'original' ) ); + + if ( $this->check_featured_image_size( $thumb ) ) { + + $this->dimensions['width'] = $thumb[1]; + $this->dimensions['height'] = $thumb[2]; + + return $this->add_image( $thumb[0] ); + } + } + + return false; + } + + /** + * If this is an attachment page, call add_image with the attachment and return true + * + * @param int $post_id The post ID. + * + * @return bool + */ + private function get_attachment_page_image( $post_id ) { + if ( get_post_type( $post_id ) === 'attachment' ) { + $mime_type = get_post_mime_type( $post_id ); + switch ( $mime_type ) { + case 'image/jpeg': + case 'image/png': + case 'image/gif': + return $this->add_image( wp_get_attachment_url( $post_id ) ); + } + } + + return false; + } + + /** + * Filter: 'wpseo_pre_analysis_post_content' - Allow filtering the content before analysis + * + * @api string $post_content The Post content string + * + * @param object $post - The post object. + */ + private function get_content_images( $post ) { + $content = apply_filters( 'wpseo_pre_analysis_post_content', $post->post_content, $post ); + + if ( preg_match_all( '`]+>`', $content, $matches ) ) { + foreach ( $matches[0] as $img ) { + if ( preg_match( '`src=(["\'])(.*?)\1`', $img, $match ) ) { + $this->add_image( $match[2] ); + } + } + } + } + + /** + * Check size of featured image. If image is too small, return false, else return true + * + * @param array $img_data wp_get_attachment_image_src: url, width, height, icon. + * + * @return bool + */ + private function check_featured_image_size( $img_data ) { + + if ( ! is_array( $img_data ) ) { + return false; + } + + // Get the width and height of the image. + if ( $img_data[1] < 200 || $img_data[2] < 200 ) { + return false; + } + + return true; + } + + /** + * Get the relative path of the image + * + * @param array $img Image data array. + * + * @return bool|string + */ + private function get_relative_path( $img ) { + if ( $img[0] != '/' ) { + return false; + } + + // If it's a relative URL, it's relative to the domain, not necessarily to the WordPress install, we + // want to preserve domain name and URL scheme (http / https) though. + $parsed_url = wp_parse_url( home_url() ); + $img = $parsed_url['scheme'] . '://' . $parsed_url['host'] . $img; + + return $img; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/frontend/class-primary-category.php b/pole-sbv-content/plugins/wordpress-seo/frontend/class-primary-category.php new file mode 100644 index 00000000..bbf63400 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/frontend/class-primary-category.php @@ -0,0 +1,69 @@ +get_primary_category( $post ); + + if ( false !== $primary_category && $primary_category !== $category->cat_ID ) { + $category = $this->get_category( $primary_category ); + } + + return $category; + } + + /** + * Get the id of the primary category + * + * @param WP_Post $post The post in question. + * + * @return int primary category id + */ + protected function get_primary_category( $post = null ) { + $post = get_post( $post ); + + if ( $post === null ) { + return false; + } + + $primary_term = new WPSEO_Primary_Term( 'category', $post->ID ); + + return $primary_term->get_primary_term(); + } + + /** + * Wrapper for get category to make mocking easier + * + * @param int $primary_category id of primary category. + * + * @return array|null|object|WP_Error + */ + protected function get_category( $primary_category ) { + $category = get_category( $primary_category ); + + return $category; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/frontend/class-twitter.php b/pole-sbv-content/plugins/wordpress-seo/frontend/class-twitter.php new file mode 100644 index 00000000..f0cae16c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/frontend/class-twitter.php @@ -0,0 +1,655 @@ +options = WPSEO_Options::get_option( 'wpseo_social' ); + $this->twitter(); + } + + /** + * Outputs the Twitter Card code on singular pages. + */ + public function twitter() { + + /** + * Filter: 'wpseo_output_twitter_card' - Allow disabling of the Twitter card + * + * @api bool $enabled Enabled/disabled flag + */ + if ( false === apply_filters( 'wpseo_output_twitter_card', true ) ) { + return; + } + + wp_reset_query(); + + $this->type(); + $this->description(); + $this->title(); + $this->site_twitter(); + $this->image(); + if ( is_singular() ) { + $this->author(); + } + + /** + * Action: 'wpseo_twitter' - Hook to add all Yoast SEO Twitter output to so they're close together. + */ + do_action( 'wpseo_twitter' ); + } + + /** + * Display the Twitter card type. + * + * This defaults to summary but can be filtered using the wpseo_twitter_card_type filter. + * + * @link https://dev.twitter.com/docs/cards + */ + protected function type() { + $this->determine_card_type(); + $this->sanitize_card_type(); + + $this->output_metatag( 'card', $this->type ); + } + + /** + * Determines the twitter card type for the current page + */ + private function determine_card_type() { + $this->type = $this->options['twitter_card_type']; + + // @todo This should be reworked to use summary_large_image for any fitting image R. + if ( is_singular() && has_shortcode( $GLOBALS['post']->post_content, 'gallery' ) ) { + + $this->images = get_post_gallery_images(); + + if ( count( $this->images ) > 0 ) { + $this->type = 'summary_large_image'; + } + } + + /** + * Filter: 'wpseo_twitter_card_type' - Allow changing the Twitter Card type as output in the Twitter card by Yoast SEO + * + * @api string $unsigned The type string + */ + $this->type = apply_filters( 'wpseo_twitter_card_type', $this->type ); + } + + /** + * Determines whether the card type is of a type currently allowed by Twitter + * + * @link https://dev.twitter.com/cards/types + */ + private function sanitize_card_type() { + if ( ! in_array( $this->type, array( + 'summary', + 'summary_large_image', + 'app', + 'player', + ) ) + ) { + $this->type = 'summary'; + } + } + + /** + * Output the metatag + * + * @param string $name Tag name string. + * @param string $value Tag value string. + * @param bool $escaped Force escape flag. + */ + private function output_metatag( $name, $value, $escaped = false ) { + + // Escape the value if not escaped. + if ( false === $escaped ) { + $value = esc_attr( $value ); + } + + /** + * Filter: 'wpseo_twitter_metatag_key' - Make the Twitter metatag key filterable + * + * @api string $key The Twitter metatag key + */ + $metatag_key = apply_filters( 'wpseo_twitter_metatag_key', 'name' ); + + // Output meta. + echo '', "\n"; + } + + /** + * Displays the description for Twitter. + * + * Only used when OpenGraph is inactive. + */ + protected function description() { + if ( is_singular() ) { + $meta_desc = $this->single_description(); + } + elseif ( WPSEO_Frontend::get_instance()->is_posts_page() ) { + $meta_desc = $this->single_description( get_option( 'page_for_posts' ) ); + } + elseif ( is_category() || is_tax() || is_tag() ) { + $meta_desc = $this->taxonomy_description(); + } + else { + $meta_desc = $this->fallback_description(); + } + + /** + * Filter: 'wpseo_twitter_description' - Allow changing the Twitter description as output in the Twitter card by Yoast SEO + * + * @api string $twitter The description string + */ + $meta_desc = apply_filters( 'wpseo_twitter_description', $meta_desc ); + if ( is_string( $meta_desc ) && $meta_desc !== '' ) { + $this->output_metatag( 'description', $meta_desc ); + } + } + + /** + * Returns the description for a singular page + * + * @param int $post_id Post ID. + * + * @return string + */ + private function single_description( $post_id = 0 ) { + $meta_desc = trim( WPSEO_Meta::get_value( 'twitter-description', $post_id ) ); + + if ( is_string( $meta_desc ) && '' !== $meta_desc ) { + return $meta_desc; + } + + $meta_desc = $this->fallback_description(); + if ( is_string( $meta_desc ) && '' !== $meta_desc ) { + return $meta_desc; + } + + return strip_tags( get_the_excerpt() ); + } + + + /** + * Getting the description for the taxonomy + * + * @return bool|mixed|string + */ + private function taxonomy_description() { + $meta_desc = WPSEO_Taxonomy_Meta::get_meta_without_term( 'twitter-description' ); + + if ( ! is_string( $meta_desc ) || $meta_desc === '' ) { + $meta_desc = $this->fallback_description(); + } + + if ( is_string( $meta_desc ) || $meta_desc !== '' ) { + return $meta_desc; + } + + return trim( strip_tags( term_description() ) ); + + } + + /** + * Returns a fallback description + * + * @return string + */ + private function fallback_description() { + return trim( WPSEO_Frontend::get_instance()->metadesc( false ) ); + } + + /** + * Displays the title for Twitter. + * + * Only used when OpenGraph is inactive. + */ + protected function title() { + if ( is_singular() ) { + $title = $this->single_title(); + } + elseif ( WPSEO_Frontend::get_instance()->is_posts_page() ) { + $title = $this->single_title( get_option( 'page_for_posts' ) ); + } + elseif ( is_category() || is_tax() || is_tag() ) { + $title = $this->taxonomy_title(); + } + else { + $title = $this->fallback_title(); + } + + /** + * Filter: 'wpseo_twitter_title' - Allow changing the Twitter title as output in the Twitter card by Yoast SEO + * + * @api string $twitter The title string + */ + $title = apply_filters( 'wpseo_twitter_title', $title ); + if ( is_string( $title ) && $title !== '' ) { + $this->output_metatag( 'title', $title ); + } + } + + /** + * Returns the Twitter title for a single post + * + * @param int $post_id Post ID. + * + * @return string + */ + private function single_title( $post_id = 0 ) { + $title = WPSEO_Meta::get_value( 'twitter-title', $post_id ); + if ( ! is_string( $title ) || $title === '' ) { + return $this->fallback_title(); + } + + return $title; + } + + /** + * Getting the title for the taxonomy + * + * @return bool|mixed|string + */ + private function taxonomy_title() { + $title = WPSEO_Taxonomy_Meta::get_meta_without_term( 'twitter-title' ); + + if ( ! is_string( $title ) || $title === '' ) { + return $this->fallback_title(); + } + + return $title; + } + + /** + * Returns the Twitter title for any page + * + * @return string + */ + private function fallback_title() { + return WPSEO_Frontend::get_instance()->title( '' ); + } + + /** + * Displays the Twitter account for the site. + */ + protected function site_twitter() { + /** + * Filter: 'wpseo_twitter_site' - Allow changing the Twitter site account as output in the Twitter card by Yoast SEO + * + * @api string $unsigned Twitter site account string + */ + $site = apply_filters( 'wpseo_twitter_site', $this->options['twitter_site'] ); + $site = $this->get_twitter_id( $site ); + + if ( is_string( $site ) && $site !== '' ) { + $this->output_metatag( 'site', '@' . $site ); + } + } + + /** + * Checks if the given id is actually an id or a url and if url, distills the id from it. + * + * Solves issues with filters returning urls and theme's/other plugins also adding a user meta + * twitter field which expects url rather than an id (which is what we expect). + * + * @param string $id Twitter ID or url. + * + * @return string|bool Twitter ID or false if it failed to get a valid Twitter ID. + */ + private function get_twitter_id( $id ) { + if ( preg_match( '`([A-Za-z0-9_]{1,25})$`', $id, $match ) ) { + return $match[1]; + } + else { + return false; + } + } + + /** + * Displays the image for Twitter + * + * Only used when OpenGraph is inactive or Summary Large Image card is chosen. + */ + protected function image() { + + if ( is_category() || is_tax() || is_tag() ) { + $this->taxonomy_image_output(); + } + else { + $this->single_image_output(); + } + + if ( count( $this->shown_images ) === 0 && $this->options['og_default_image'] !== '' ) { + $this->image_output( $this->options['og_default_image'] ); + } + } + + /** + * Outputs the first image of a gallery. + */ + private function gallery_images_output() { + + $this->image_output( reset( $this->images ) ); + } + + /** + * @return bool + */ + private function taxonomy_image_output() { + foreach ( array( 'twitter-image', 'opengraph-image' ) as $tag ) { + $img = WPSEO_Taxonomy_Meta::get_meta_without_term( $tag ); + if ( $img !== '' ) { + $this->image_output( $img ); + + return true; + } + } + + return false; + } + + /** + * Takes care of image output when we only need to display a single image. + */ + private function single_image_output() { + if ( $this->homepage_image_output() ) { + return; + } + elseif ( $this->posts_page_image_output() ) { // Posts page, which won't be caught by is_singular() below. + return; + } + + if ( is_singular() ) { + if ( $this->image_from_meta_values_output() ) { + return; + } + + $post_id = get_the_ID(); + + if ( $this->image_of_attachment_page_output( $post_id ) ) { + return; + } + if ( $this->image_thumbnail_output() ) { + return; + } + if ( count( $this->images ) > 0 ) { + $this->gallery_images_output(); + return; + } + if ( $this->image_from_content_output() ) { + return; + } + } + } + + /** + * Show the front page image + * + * @return bool + */ + private function homepage_image_output() { + if ( is_front_page() ) { + if ( $this->options['og_frontpage_image'] !== '' ) { + $this->image_output( $this->options['og_frontpage_image'] ); + + return true; + } + } + + return false; + } + + /** + * Show the posts page image. + * + * @return bool + */ + private function posts_page_image_output() { + + if ( is_front_page() || ! is_home() ) { + return false; + } + + $post_id = get_option( 'page_for_posts' ); + + if ( $this->image_from_meta_values_output( $post_id ) ) { + return true; + } + + if ( $this->image_thumbnail_output( $post_id ) ) { + return true; + } + + return false; + } + + /** + * Outputs a Twitter image tag for a given image + * + * @param string $img The source URL to the image. + * @param boolean $tag Deprecated argument, previously used for gallery images. + * + * @return bool + */ + protected function image_output( $img, $tag = false ) { + + if ( $tag ) { + _deprecated_argument( __METHOD__, 'WPSEO 2.4' ); + } + + /** + * Filter: 'wpseo_twitter_image' - Allow changing the Twitter Card image + * + * @api string $img Image URL string + */ + $img = apply_filters( 'wpseo_twitter_image', $img ); + + if ( WPSEO_Utils::is_url_relative( $img ) === true && $img[0] === '/' ) { + $parsed_url = wp_parse_url( home_url() ); + $img = $parsed_url['scheme'] . '://' . $parsed_url['host'] . $img; + } + + $escaped_img = esc_url( $img ); + + if ( in_array( $escaped_img, $this->shown_images ) ) { + return false; + } + + if ( is_string( $escaped_img ) && $escaped_img !== '' ) { + $this->output_metatag( 'image', $escaped_img, true ); + array_push( $this->shown_images, $escaped_img ); + + return true; + } + + return false; + } + + /** + * Retrieve images from the post meta values + * + * @param int $post_id Optional post ID to use. + * + * @return bool + */ + private function image_from_meta_values_output( $post_id = 0 ) { + foreach ( array( 'twitter-image', 'opengraph-image' ) as $tag ) { + $img = WPSEO_Meta::get_value( $tag, $post_id ); + if ( $img !== '' ) { + $this->image_output( $img ); + + return true; + } + } + + return false; + } + + /** + * Retrieve an attachment page's attachment + * + * @param string $attachment_id The ID of the attachment for which to retrieve the image. + * + * @return bool + */ + private function image_of_attachment_page_output( $attachment_id ) { + if ( get_post_type( $attachment_id ) === 'attachment' ) { + $mime_type = get_post_mime_type( $attachment_id ); + switch ( $mime_type ) { + case 'image/jpeg': + case 'image/png': + case 'image/gif': + $this->image_output( wp_get_attachment_url( $attachment_id ) ); + return true; + } + } + + return false; + } + + /** + * Retrieve the featured image + * + * @param int $post_id Optional post ID to use. + * + * @return bool + */ + private function image_thumbnail_output( $post_id = 0 ) { + + if ( empty( $post_id ) ) { + $post_id = get_the_ID(); + } + + if ( function_exists( 'has_post_thumbnail' ) && has_post_thumbnail( $post_id ) ) { + /** + * Filter: 'wpseo_twitter_image_size' - Allow changing the Twitter Card image size + * + * @api string $featured_img Image size string + */ + $featured_img = wp_get_attachment_image_src( get_post_thumbnail_id( $post_id ), apply_filters( 'wpseo_twitter_image_size', 'full' ) ); + + if ( $featured_img ) { + $this->image_output( $featured_img[0] ); + + return true; + } + } + + return false; + } + + /** + * Retrieve the image from the content + * + * @return bool + */ + private function image_from_content_output() { + /** + * Filter: 'wpseo_pre_analysis_post_content' - Allow filtering the content before analysis + * + * @api string $post_content The Post content string + * + * @param object $post - The post object. + */ + global $post; + $content = apply_filters( 'wpseo_pre_analysis_post_content', $post->post_content, $post ); + + if ( preg_match_all( '`]+>`', $content, $matches ) ) { + foreach ( $matches[0] as $img ) { + if ( preg_match( '`src=(["\'])(.*?)\1`', $img, $match ) ) { + $this->image_output( $match[2] ); + + return true; + } + } + } + + return false; + } + + /** + * Displays the authors Twitter account. + */ + protected function author() { + $twitter = ltrim( trim( get_the_author_meta( 'twitter', get_post()->post_author ) ), '@' ); + /** + * Filter: 'wpseo_twitter_creator_account' - Allow changing the Twitter account as output in the Twitter card by Yoast SEO + * + * @api string $twitter The twitter account name string + */ + $twitter = apply_filters( 'wpseo_twitter_creator_account', $twitter ); + $twitter = $this->get_twitter_id( $twitter ); + + if ( is_string( $twitter ) && $twitter !== '' ) { + $this->output_metatag( 'creator', '@' . $twitter ); + } + elseif ( $this->options['twitter_site'] !== '' ) { + if ( is_string( $this->options['twitter_site'] ) && $this->options['twitter_site'] !== '' ) { + $this->output_metatag( 'creator', '@' . $this->options['twitter_site'] ); + } + } + } + + /** + * Get the singleton instance of this class + * + * @return object + */ + public static function get_instance() { + if ( ! ( self::$instance instanceof self ) ) { + self::$instance = new self(); + } + + return self::$instance; + } + + /** + * Displays the domain tag for the site. + * + * @deprecated 3.0 + * + * @codeCoverageIgnore + */ + protected function site_domain() { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + } +} /* End of class */ diff --git a/pole-sbv-content/plugins/wordpress-seo/frontend/index.php b/pole-sbv-content/plugins/wordpress-seo/frontend/index.php new file mode 100644 index 00000000..e94d9a42 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/frontend/index.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/images/Yoast_SEO_negative_icon.svg b/pole-sbv-content/plugins/wordpress-seo/images/Yoast_SEO_negative_icon.svg new file mode 100644 index 00000000..282952c8 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/images/Yoast_SEO_negative_icon.svg @@ -0,0 +1 @@ +Artboard 1 \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/images/banner/basic-seo-training.png b/pole-sbv-content/plugins/wordpress-seo/images/banner/basic-seo-training.png new file mode 100644 index 00000000..60c98246 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/banner/basic-seo-training.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/banner/configuration-service.png b/pole-sbv-content/plugins/wordpress-seo/images/banner/configuration-service.png new file mode 100644 index 00000000..ac85f038 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/banner/configuration-service.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/banner/keyword-research-training.png b/pole-sbv-content/plugins/wordpress-seo/images/banner/keyword-research-training.png new file mode 100644 index 00000000..2fec4c45 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/banner/keyword-research-training.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/banner/local-seo-for-woocommerce.png b/pole-sbv-content/plugins/wordpress-seo/images/banner/local-seo-for-woocommerce.png new file mode 100644 index 00000000..5252d87c Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/banner/local-seo-for-woocommerce.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/banner/local-seo.png b/pole-sbv-content/plugins/wordpress-seo/images/banner/local-seo.png new file mode 100644 index 00000000..a0f12513 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/banner/local-seo.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/banner/news-seo.png b/pole-sbv-content/plugins/wordpress-seo/images/banner/news-seo.png new file mode 100644 index 00000000..674f2131 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/banner/news-seo.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/banner/premium-seo.png b/pole-sbv-content/plugins/wordpress-seo/images/banner/premium-seo.png new file mode 100644 index 00000000..df87c6b4 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/banner/premium-seo.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/banner/seo-care.png b/pole-sbv-content/plugins/wordpress-seo/images/banner/seo-care.png new file mode 100644 index 00000000..d5abb7d7 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/banner/seo-care.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/banner/seo-copywriting-training.png b/pole-sbv-content/plugins/wordpress-seo/images/banner/seo-copywriting-training.png new file mode 100644 index 00000000..4be73be4 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/banner/seo-copywriting-training.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/banner/site-structure-training.png b/pole-sbv-content/plugins/wordpress-seo/images/banner/site-structure-training.png new file mode 100644 index 00000000..10b07ed3 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/banner/site-structure-training.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/banner/structured-data-course.png b/pole-sbv-content/plugins/wordpress-seo/images/banner/structured-data-course.png new file mode 100644 index 00000000..d9c1aff1 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/banner/structured-data-course.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/banner/technical-seo-training.png b/pole-sbv-content/plugins/wordpress-seo/images/banner/technical-seo-training.png new file mode 100644 index 00000000..1ceb947c Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/banner/technical-seo-training.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/banner/video-seo.png b/pole-sbv-content/plugins/wordpress-seo/images/banner/video-seo.png new file mode 100644 index 00000000..6e4950cf Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/banner/video-seo.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/banner/website-review.png b/pole-sbv-content/plugins/wordpress-seo/images/banner/website-review.png new file mode 100644 index 00000000..231793af Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/banner/website-review.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/banner/woocommerce-seo.png b/pole-sbv-content/plugins/wordpress-seo/images/banner/woocommerce-seo.png new file mode 100644 index 00000000..58a74b22 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/banner/woocommerce-seo.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/banner/yoast-seo-for-wordpress-training.png b/pole-sbv-content/plugins/wordpress-seo/images/banner/yoast-seo-for-wordpress-training.png new file mode 100644 index 00000000..3520ef12 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/banner/yoast-seo-for-wordpress-training.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/editicon.png b/pole-sbv-content/plugins/wordpress-seo/images/editicon.png new file mode 100644 index 00000000..2463f1b2 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/editicon.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/extensions-local.png b/pole-sbv-content/plugins/wordpress-seo/images/extensions-local.png new file mode 100644 index 00000000..efc82b01 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/extensions-local.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/extensions-news.png b/pole-sbv-content/plugins/wordpress-seo/images/extensions-news.png new file mode 100644 index 00000000..f05ea47b Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/extensions-news.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/extensions-premium-ribbon.png b/pole-sbv-content/plugins/wordpress-seo/images/extensions-premium-ribbon.png new file mode 100644 index 00000000..4345f252 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/extensions-premium-ribbon.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/extensions-video.png b/pole-sbv-content/plugins/wordpress-seo/images/extensions-video.png new file mode 100644 index 00000000..1d9091aa Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/extensions-video.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/extensions-woo.png b/pole-sbv-content/plugins/wordpress-seo/images/extensions-woo.png new file mode 100644 index 00000000..45c61565 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/extensions-woo.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/index.php b/pole-sbv-content/plugins/wordpress-seo/images/index.php new file mode 100644 index 00000000..e94d9a42 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/images/index.php @@ -0,0 +1,4 @@ +Link_in_icon \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/images/link-out-icon.svg b/pole-sbv-content/plugins/wordpress-seo/images/link-out-icon.svg new file mode 100644 index 00000000..5504ec8f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/images/link-out-icon.svg @@ -0,0 +1 @@ +Artboard 1 \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/images/newsletter-collage.png b/pole-sbv-content/plugins/wordpress-seo/images/newsletter-collage.png new file mode 100644 index 00000000..e3a038e7 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/newsletter-collage.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/pinterest-23x30.png b/pole-sbv-content/plugins/wordpress-seo/images/pinterest-23x30.png new file mode 100644 index 00000000..174438ab Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/pinterest-23x30.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/question-mark.png b/pole-sbv-content/plugins/wordpress-seo/images/question-mark.png new file mode 100644 index 00000000..7ee72060 Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/question-mark.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/readability-icon.svg b/pole-sbv-content/plugins/wordpress-seo/images/readability-icon.svg new file mode 100644 index 00000000..c73153d9 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/images/readability-icon.svg @@ -0,0 +1 @@ +Readability_icon \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/images/waiting.gif b/pole-sbv-content/plugins/wordpress-seo/images/waiting.gif new file mode 100644 index 00000000..2593fa1c Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/images/waiting.gif differ diff --git a/pole-sbv-content/plugins/wordpress-seo/images/yoast-configuration-icon.svg b/pole-sbv-content/plugins/wordpress-seo/images/yoast-configuration-icon.svg new file mode 100644 index 00000000..33a7f412 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/images/yoast-configuration-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/class-rewrite.php b/pole-sbv-content/plugins/wordpress-seo/inc/class-rewrite.php new file mode 100644 index 00000000..022c3826 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/class-rewrite.php @@ -0,0 +1,162 @@ + false ) ); + if ( is_array( $categories ) && $categories !== array() ) { + foreach ( $categories as $category ) { + $category_nicename = $category->slug; + if ( $category->parent == $category->cat_ID ) { + // Recursive recursion. + $category->parent = 0; + } + elseif ( $taxonomy->rewrite['hierarchical'] != 0 && $category->parent != 0 ) { + $parents = get_category_parents( $category->parent, false, '/', true ); + if ( ! is_wp_error( $parents ) ) { + $category_nicename = $parents . $category_nicename; + } + unset( $parents ); + } + + $category_rewrite[ $blog_prefix . '(' . $category_nicename . ')/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$' ] = 'index.php?category_name=$matches[1]&feed=$matches[2]'; + $category_rewrite[ $blog_prefix . '(' . $category_nicename . ')/' . $wp_rewrite->pagination_base . '/?([0-9]{1,})/?$' ] = 'index.php?category_name=$matches[1]&paged=$matches[2]'; + $category_rewrite[ $blog_prefix . '(' . $category_nicename . ')/?$' ] = 'index.php?category_name=$matches[1]'; + } + unset( $categories, $category, $category_nicename ); + } + + // Redirect support from Old Category Base. + $old_base = $wp_rewrite->get_category_permastruct(); + $old_base = str_replace( '%category%', '(.+)', $old_base ); + $old_base = trim( $old_base, '/' ); + $category_rewrite[ $old_base . '$' ] = 'index.php?wpseo_category_redirect=$matches[1]'; + + return $category_rewrite; + } +} /* End of class */ diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/class-upgrade.php b/pole-sbv-content/plugins/wordpress-seo/inc/class-upgrade.php new file mode 100644 index 00000000..676e3b0d --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/class-upgrade.php @@ -0,0 +1,416 @@ +options = WPSEO_Options::get_option( 'wpseo' ); + + WPSEO_Options::maybe_set_multisite_defaults( false ); + + if ( version_compare( $this->options['version'], '1.5.0', '<' ) ) { + $this->upgrade_15( $this->options['version'] ); + } + + if ( version_compare( $this->options['version'], '2.0', '<' ) ) { + $this->upgrade_20(); + } + + if ( version_compare( $this->options['version'], '2.1', '<' ) ) { + $this->upgrade_21(); + } + + if ( version_compare( $this->options['version'], '2.2', '<' ) ) { + $this->upgrade_22(); + } + + if ( version_compare( $this->options['version'], '2.3', '<' ) ) { + $this->upgrade_23(); + } + + if ( version_compare( $this->options['version'], '3.0', '<' ) ) { + $this->upgrade_30(); + } + + if ( version_compare( $this->options['version'], '3.3', '<' ) ) { + $this->upgrade_33(); + } + + if ( version_compare( $this->options['version'], '3.6', '<' ) ) { + $this->upgrade_36(); + } + + if ( version_compare( $this->options['version'], '4.0', '<' ) ) { + $this->upgrade_40(); + } + + if ( version_compare( $this->options['version'], '4.4', '<' ) ) { + $this->upgrade_44(); + } + + if ( version_compare( $this->options['version'], '4.7', '<' ) ) { + $this->upgrade_47(); + } + + if ( version_compare( $this->options['version'], '4.9', '<' ) ) { + $this->upgrade_49(); + } + + if ( version_compare( $this->options['version'], '5.0', '<' ) ) { + $this->upgrade_50(); + } + + if ( version_compare( $this->options['version'], '5.0', '>=' ) + && version_compare( $this->options['version'], '5.1', '<' ) + ) { + $this->upgrade_50_51(); + } + + if ( version_compare( $this->options['version'], '5.5', '<' ) ) { + $this->upgrade_55(); + } + + if ( version_compare( $this->options['version'], '5.6', '<' ) ) { + $this->upgrade_56(); + } + + // Since 3.7. + $upsell_notice = new WPSEO_Product_Upsell_Notice(); + $upsell_notice->set_upgrade_notice(); + + /** + * Filter: 'wpseo_run_upgrade' - Runs the upgrade hook which are dependent on Yoast SEO + * + * @api string - The current version of Yoast SEO + */ + do_action( 'wpseo_run_upgrade', $this->options['version'] ); + + $this->finish_up(); + } + + /** + * Run the Yoast SEO 1.5 upgrade routine + * + * @param string $version Current plugin version. + */ + private function upgrade_15( $version ) { + // Clean up options and meta. + WPSEO_Options::clean_up( null, $version ); + WPSEO_Meta::clean_up(); + } + + /** + * Moves options that moved position in WPSEO 2.0 + */ + private function upgrade_20() { + /** + * Clean up stray wpseo_ms options from the options table, option should only exist in the sitemeta table. + * This could have been caused in many version of Yoast SEO, so deleting it for everything below 2.0 + */ + delete_option( 'wpseo_ms' ); + + $this->move_pinterest_option(); + } + + /** + * Detects if taxonomy terms were split and updates the corresponding taxonomy meta's accordingly. + */ + private function upgrade_21() { + $taxonomies = get_option( 'wpseo_taxonomy_meta', array() ); + + if ( ! empty( $taxonomies ) ) { + foreach ( $taxonomies as $taxonomy => $tax_metas ) { + foreach ( $tax_metas as $term_id => $tax_meta ) { + if ( function_exists( 'wp_get_split_term' ) && $new_term_id = wp_get_split_term( $term_id, $taxonomy ) ) { + $taxonomies[ $taxonomy ][ $new_term_id ] = $taxonomies[ $taxonomy ][ $term_id ]; + unset( $taxonomies[ $taxonomy ][ $term_id ] ); + } + } + } + + update_option( 'wpseo_taxonomy_meta', $taxonomies ); + } + } + + /** + * Performs upgrade functions to Yoast SEO 2.2 + */ + private function upgrade_22() { + // Unschedule our tracking. + wp_clear_scheduled_hook( 'yoast_tracking' ); + + // Clear the tracking settings, the seen about setting and the ignore tour setting. + $options = get_option( 'wpseo' ); + unset( $options['tracking_popup_done'], $options['yoast_tracking'], $options['seen_about'], $options['ignore_tour'] ); + update_option( 'wpseo', $options ); + } + + /** + * Schedules upgrade function to Yoast SEO 2.3 + */ + private function upgrade_23() { + add_action( 'wp', array( $this, 'upgrade_23_query' ), 90 ); + add_action( 'admin_head', array( $this, 'upgrade_23_query' ), 90 ); + } + + /** + * Performs upgrade query to Yoast SEO 2.3 + */ + public function upgrade_23_query() { + $wp_query = new WP_Query( 'post_type=any&meta_key=_yoast_wpseo_sitemap-include&meta_value=never&order=ASC' ); + + if ( ! empty( $wp_query->posts ) ) { + $options = get_option( 'wpseo_xml' ); + + $excluded_posts = array(); + if ( $options['excluded-posts'] !== '' ) { + $excluded_posts = explode( ',', $options['excluded-posts'] ); + } + + foreach ( $wp_query->posts as $post ) { + if ( ! in_array( $post->ID, $excluded_posts ) ) { + $excluded_posts[] = $post->ID; + } + } + + // Updates the meta value. + $options['excluded-posts'] = implode( ',', $excluded_posts ); + + // Update the option. + update_option( 'wpseo_xml', $options ); + } + + // Remove the meta fields. + delete_post_meta_by_key( '_yoast_wpseo_sitemap-include' ); + } + + /** + * Performs upgrade functions to Yoast SEO 3.0 + */ + private function upgrade_30() { + // Remove the meta fields for sitemap prio. + delete_post_meta_by_key( '_yoast_wpseo_sitemap-prio' ); + } + + /** + * Performs upgrade functions to Yoast SEO 3.3 + */ + private function upgrade_33() { + // Notification dismissals have been moved to User Meta instead of global option. + delete_option( Yoast_Notification_Center::STORAGE_KEY ); + } + + /** + * Performs upgrade functions to Yoast SEO 3.6 + */ + private function upgrade_36() { + global $wpdb; + + // Between 3.2 and 3.4 the sitemap options were saved with autoloading enabled. + $wpdb->query( 'DELETE FROM ' . $wpdb->options . ' WHERE option_name LIKE "wpseo_sitemap_%" AND autoload = "yes"' ); + } + + /** + * Move the pinterest verification option from the wpseo option to the wpseo_social option + */ + private function move_pinterest_option() { + $options_social = get_option( 'wpseo_social' ); + + if ( isset( $option_wpseo['pinterestverify'] ) ) { + $options_social['pinterestverify'] = $option_wpseo['pinterestverify']; + unset( $option_wpseo['pinterestverify'] ); + update_option( 'wpseo_social', $options_social ); + update_option( 'wpseo', $option_wpseo ); + } + } + + /** + * Runs the needed cleanup after an update, setting the DB version to latest version, flushing caches etc. + */ + private function finish_up() { + $this->options = WPSEO_Options::get_option( 'wpseo' ); // Re-get to make sure we have the latest version. + update_option( 'wpseo', $this->options ); // This also ensures the DB version is equal to WPSEO_VERSION. + + add_action( 'shutdown', 'flush_rewrite_rules' ); // Just flush rewrites, always, to at least make them work after an upgrade. + WPSEO_Sitemaps_Cache::clear(); // Flush the sitemap cache. + + WPSEO_Options::ensure_options_exist(); // Make sure all our options always exist - issue #1245. + } + + /** + * Removes the about notice when its still in the database. + */ + private function upgrade_40() { + $center = Yoast_Notification_Center::get(); + $notification = $center->get_notification_by_id( 'wpseo-dismiss-about' ); + + if ( $notification ) { + $center->remove_notification( $notification ); + } + } + + /** + * Moves the content-analysis-active and keyword-analysis-acive options from wpseo-titles to wpseo. + */ + private function upgrade_44() { + $option_titles = WPSEO_Options::get_option( 'wpseo_titles' ); + $option_wpseo = WPSEO_Options::get_option( 'wpseo' ); + + if ( isset( $option_titles['content-analysis-active'] ) && isset( $option_titles['keyword-analysis-active'] ) ) { + $option_wpseo['content_analysis_active'] = $option_titles['content-analysis-active']; + unset( $option_titles['content-analysis-active'] ); + + $option_wpseo['keyword_analysis_active'] = $option_titles['keyword-analysis-active']; + unset( $option_titles['keyword-analysis-active'] ); + + update_option( 'wpseo_titles', $option_titles ); + update_option( 'wpseo', $option_wpseo ); + } + } + + /** + * Renames the meta name for the cornerstone content. It was a public meta field and it has to be private. + */ + private function upgrade_47() { + global $wpdb; + + // The meta key has to be private, so prefix it. + $wpdb->query( + $wpdb->prepare( + 'UPDATE ' . $wpdb->postmeta . ' SET meta_key = %s WHERE meta_key = "yst_is_cornerstone"', + WPSEO_Cornerstone::META_NAME + ) + ); + } + + /** + * Removes the 'wpseo-dismiss-about' notice for every user that still has it. + */ + private function upgrade_49() { + global $wpdb; + + /* + * Using a filter to remove the notification for the current logged in user. The notification center is + * initializing the notifications before the upgrade routine has been executedd and is saving the stored + * notifications on shutdown. This causes the returning notification. By adding this filter the shutdown + * routine on the notification center will remove the notification. + */ + add_filter( 'yoast_notifications_before_storage', array( $this, 'remove_about_notice' ) ); + + $meta_key = $wpdb->get_blog_prefix() . Yoast_Notification_Center::STORAGE_KEY; + + $usermetas = $wpdb->get_results( + $wpdb->prepare(' + SELECT user_id, meta_value + FROM ' . $wpdb->usermeta . ' + WHERE meta_key = %s AND meta_value LIKE "%%wpseo-dismiss-about%%" + ', $meta_key ), + ARRAY_A + ); + + if ( empty( $usermetas ) ) { + return; + } + + foreach ( $usermetas as $usermeta ) { + $notifications = maybe_unserialize( $usermeta['meta_value'] ); + + foreach ( $notifications as $notification_key => $notification ) { + if ( ! empty( $notification['options']['id'] ) && $notification['options']['id'] === 'wpseo-dismiss-about' ) { + unset( $notifications[ $notification_key ] ); + } + } + + update_user_option( $usermeta['user_id'], Yoast_Notification_Center::STORAGE_KEY, array_values( $notifications ) ); + } + } + + /** + * Removes the wpseo-dismiss-about notice from a list of notifications. + * + * @param Yoast_Notification[] $notifications The notifications to filter. + * + * @return Yoast_Notification[] The filtered list of notifications. Excluding the wpseo-dismiss-about notification. + */ + public function remove_about_notice( $notifications ) { + foreach ( $notifications as $notification_key => $notification ) { + if ( $notification->get_id() === 'wpseo-dismiss-about' ) { + unset( $notifications[ $notification_key ] ); + } + } + + return $notifications; + } + + /** + * Adds the yoast_seo_links table to the database. + */ + private function upgrade_50() { + global $wpdb; + + $link_installer = new WPSEO_Link_Installer(); + $link_installer->install(); + + // Trigger reindex notification. + $notifier = new WPSEO_Link_Notifier(); + $notifier->manage_notification(); + + // Deletes the post meta value, which might created in the RC. + $wpdb->query( 'DELETE FROM ' . $wpdb->postmeta . ' WHERE meta_key = "_yst_content_links_processed"' ); + } + + /** + * Updates the internal_link_count column to support improved functionality. + */ + private function upgrade_50_51() { + global $wpdb; + + $count_storage = new WPSEO_Meta_Storage(); + $wpdb->query( 'ALTER TABLE ' . $count_storage->get_table_name() . ' MODIFY internal_link_count int(10) UNSIGNED NULL DEFAULT NULL' ); + } + + /** + * Register new capabilities and roles + */ + private function upgrade_55() { + // Register roles. + do_action( 'wpseo_register_roles' ); + WPSEO_Role_Manager_Factory::get()->add(); + + // Register capabilities. + do_action( 'wpseo_register_capabilities' ); + WPSEO_Capability_Manager_Factory::get()->add(); + } + + /** + * Updates legacy license page options to the latest version. + */ + private function upgrade_56() { + global $wpdb; + + // Make sure License Server checks are on the latest server version by default. + update_option( 'wpseo_license_server_version', WPSEO_License_Page_Manager::VERSION_BACKWARDS_COMPATIBILITY ); + + // Make sure incoming link count entries are at least 0, not NULL. + $count_storage = new WPSEO_Meta_Storage(); + $wpdb->query( 'UPDATE ' . $count_storage->get_table_name() . ' SET incoming_link_count = 0 WHERE incoming_link_count IS NULL' ); + } + + +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-advanced-settings.php b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-advanced-settings.php new file mode 100644 index 00000000..a501304d --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-advanced-settings.php @@ -0,0 +1,64 @@ +is_premium(); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-installation.php b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-installation.php new file mode 100644 index 00000000..4fda27d7 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-installation.php @@ -0,0 +1,45 @@ +is_first_install(); + + if ( $is_first_install && WPSEO_Utils::is_api_available() ) { + add_action( 'wpseo_activate', array( $this, 'set_first_install_options' ) ); + } + } + + /** + * When the option doesn't exist, it should be a new install. + * + * @return bool + */ + private function is_first_install() { + return ( get_option( 'wpseo' ) === false ); + } + + /** + * Sets the options on first install for showing the installation notice and disabling of the settings pages. + */ + public function set_first_install_options() { + $options = get_option( 'wpseo' ); + + $options['enable_setting_pages'] = false; + $options['show_onboarding_notice'] = true; + $options['first_activated_on'] = time(); + + update_option( 'wpseo', $options ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-meta.php b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-meta.php new file mode 100644 index 00000000..5b148e5a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-meta.php @@ -0,0 +1,1090 @@ + (string) field type. i.e. text / textarea / checkbox / + * radio / select / multiselect / upload / snippetpreview etc + * (required) 'title' => (string) table row title + * (recommended) 'default_value' => (string|array) default value for the field + * IMPORTANT: + * - if the field has options, the default has to be the + * key of one of the options + * - if the field is a text field, the default **has** to be + * an empty string as otherwise the user can't save + * an empty value/delete the meta value + * - if the field is a checkbox, the only valid values + * are 'on' or 'off' + * (semi-required) 'options' => (array) options for used with (multi-)select and radio + * fields, required if that's the field type + * key = (string) value which will be saved to db + * value = (string) text label for the option + * (optional) 'autocomplete' => (bool) whether autocomplete is on for text fields, + * defaults to true + * (optional) 'class' => (string) classname(s) to add to the actual tag + * (optional) 'description' => (string) description to show underneath the field + * (optional) 'expl' => (string) label for a checkbox + * (optional) 'help' => (string) help text to show on mouse over ? image + * (optional) 'rows' => (int) number of rows for a textarea, defaults to 3 + * + * (optional) 'placeholder' => (string) Currently only used by add-on plugins + * (optional) 'serialized' => (bool) whether the value is expected to be serialized, + * i.e. an array or object, defaults to false + * Currently only used by add-on plugins + * + * @static + * + * {@internal + * - Titles, help texts, description text and option labels are added via a translate_meta_boxes() method + * in the relevant child classes (WPSEO_Metabox and WPSEO_Social_admin) as they are only needed there. + * - Beware: even though the meta keys are divided into subsets, they still have to be uniquely named!}} + */ + public static $meta_fields = array( + 'general' => array( + 'snippetpreview' => array( + 'type' => 'snippetpreview', + 'title' => '', // Translation added later. + 'help' => '', // Translation added later. + 'help-button' => '', // Translation added later. + ), + 'focuskw_text_input' => array( + 'type' => 'focuskeyword', + 'title' => '', // Translation added later. + 'default_value' => '', + 'autocomplete' => false, + 'help' => '', // Translation added later. + 'description' => '
    ', + 'help-button' => '', // Translation added later. + ), + 'focuskw' => array( + 'type' => 'hidden', + 'title' => '', + ), + 'title' => array( + 'type' => 'hidden', + 'title' => '', // Translation added later. + 'default_value' => '', + 'description' => '', // Translation added later. + 'help' => '', // Translation added later. + ), + 'metadesc' => array( + 'type' => 'hidden', + 'title' => '', // Translation added later. + 'default_value' => '', + 'class' => 'metadesc', + 'rows' => 2, + 'description' => '', // Translation added later. + 'help' => '', // Translation added later. + ), + 'linkdex' => array( + 'type' => 'hidden', + 'title' => 'linkdex', + 'default_value' => '0', + 'description' => '', + ), + 'content_score' => array( + 'type' => 'hidden', + 'title' => 'content_score', + 'default_value' => '0', + 'description' => '', + ), + 'metakeywords' => array( + 'type' => 'metakeywords', + 'title' => '', // Translation added later. + 'default_value' => '', + 'class' => 'metakeywords', + 'description' => '', // Translation added later. + ), + 'pageanalysis' => array( + 'type' => 'pageanalysis', + 'title' => '', // Translation added later. + 'help' => '', // Translation added later. + 'help-button' => '', // Translation added later. + ), + ), + 'advanced' => array( + 'meta-robots-noindex' => array( + 'type' => 'select', + 'title' => '', // Translation added later. + 'default_value' => '0', // = post-type default. + 'options' => array( + '0' => '', // Post type default - translation added later. + '2' => '', // Index - translation added later. + '1' => '', // No-index - translation added later. + ), + ), + 'meta-robots-nofollow' => array( + 'type' => 'radio', + 'title' => '', // Translation added later. + 'default_value' => '0', // = follow. + 'options' => array( + '0' => '', // Follow - translation added later. + '1' => '', // No-follow - translation added later. + ), + ), + 'meta-robots-adv' => array( + 'type' => 'multiselect', + 'title' => '', // Translation added later. + 'default_value' => '-', // = site-wide default. + 'description' => '', // Translation added later. + 'options' => array( + '-' => '', // Site-wide default - translation added later. + 'none' => '', // Translation added later. + 'noimageindex' => '', // Translation added later. + 'noarchive' => '', // Translation added later. + 'nosnippet' => '', // Translation added later. + ), + ), + 'bctitle' => array( + 'type' => 'text', + 'title' => '', // Translation added later. + 'default_value' => '', + 'description' => '', // Translation added later. + ), + 'canonical' => array( + 'type' => 'text', + 'title' => '', // Translation added later. + 'default_value' => '', + 'description' => '', // Translation added later. + ), + 'redirect' => array( + 'type' => 'text', + 'title' => '', // Translation added later. + 'default_value' => '', + 'description' => '', // Translation added later. + ), + ), + 'social' => array(), + /* Fields we should validate & save, but not show on any form */ + 'non_form' => array( + 'linkdex' => array( + 'type' => null, + 'default_value' => '0', + ), + ), + ); + + + /** + * @var array Helper property - reverse index of the definition array + * Format: [full meta key including prefix] => array + * ['subset'] => (string) primary index + * ['key'] => (string) internal key + * @static + */ + public static $fields_index = array(); + + + /** + * @var array Helper property - array containing only the defaults in the format: + * [full meta key including prefix] => (string) default value + * @static + */ + public static $defaults = array(); + + /** + * @var array Helper property to define the social network meta field definitions - networks + * @static + */ + private static $social_networks = array( + 'opengraph' => 'opengraph', + 'twitter' => 'twitter', + ); + + /** + * @var array Helper property to define the social network meta field definitions - fields and their type + * @static + */ + private static $social_fields = array( + 'title' => 'text', + 'description' => 'textarea', + 'image' => 'upload', + ); + + + /** + * Register our actions and filters + * + * @static + * @return void + */ + public static function init() { + + $options = WPSEO_Options::get_option( 'wpseo_social' ); + foreach ( self::$social_networks as $option => $network ) { + if ( true === $options[ $option ] ) { + foreach ( self::$social_fields as $box => $type ) { + self::$meta_fields['social'][ $network . '-' . $box ] = array( + 'type' => $type, + 'title' => '', // Translation added later. + 'default_value' => '', + 'description' => '', // Translation added later. + ); + } + } + } + unset( $options, $option, $network, $box, $type ); + + /** + * Allow add-on plugins to register their meta fields for management by this class + * add_filter() calls must be made before plugins_loaded prio 14 + */ + $extra_fields = apply_filters( 'add_extra_wpseo_meta_fields', array() ); + if ( is_array( $extra_fields ) ) { + self::$meta_fields = self::array_merge_recursive_distinct( $extra_fields, self::$meta_fields ); + } + unset( $extra_fields ); + + $register = function_exists( 'register_meta' ); + + foreach ( self::$meta_fields as $subset => $field_group ) { + foreach ( $field_group as $key => $field_def ) { + if ( $field_def['type'] !== 'snippetpreview' ) { + if ( $register === true ) { + register_meta( 'post', self::$meta_prefix . $key, array( + 'sanitize_callback' => array( __CLASS__, 'sanitize_post_meta' ), + ) ); + } + else { + add_filter( 'sanitize_post_meta_' . self::$meta_prefix . $key, array( __CLASS__, 'sanitize_post_meta' ), 10, 2 ); + } + + // Set the $fields_index property for efficiency. + self::$fields_index[ self::$meta_prefix . $key ] = array( + 'subset' => $subset, + 'key' => $key, + ); + + // Set the $defaults property for efficiency. + if ( isset( $field_def['default_value'] ) ) { + self::$defaults[ self::$meta_prefix . $key ] = $field_def['default_value']; + } + else { + // Meta will always be a string, so let's make the meta meta default also a string. + self::$defaults[ self::$meta_prefix . $key ] = ''; + } + } + } + } + unset( $subset, $field_group, $key, $field_def, $register ); + + add_filter( 'update_post_metadata', array( __CLASS__, 'remove_meta_if_default' ), 10, 5 ); + add_filter( 'add_post_metadata', array( __CLASS__, 'dont_save_meta_if_default' ), 10, 4 ); + } + + + /** + * Retrieve the meta box form field definitions for the given tab and post type. + * + * @static + * + * @param string $tab Tab for which to retrieve the field definitions. + * @param string $post_type Post type of the current post. + * + * @return array Array containing the meta box field definitions + */ + public static function get_meta_field_defs( $tab, $post_type = 'post' ) { + if ( ! isset( self::$meta_fields[ $tab ] ) ) { + return array(); + } + + $field_defs = self::$meta_fields[ $tab ]; + + switch ( $tab ) { + case 'non-form': + // Prevent non-form fields from being passed to forms. + $field_defs = array(); + break; + + + case 'general': + $options = WPSEO_Options::get_option( 'wpseo_titles' ); + if ( $options['usemetakeywords'] === true ) { + /* Adjust the link in the keywords description text string based on the post type */ + $field_defs['metakeywords']['description'] = sprintf( $field_defs['metakeywords']['description'], '', '' ); + } + else { + /* Don't show the keywords field if keywords aren't enabled */ + unset( $field_defs['metakeywords'] ); + } + /** + * Filter the WPSEO metabox form field definitions for the general tab, backward compatibility + * + * @deprecated 1.5.0 + * @deprecated use the 'wpseo_metabox_entries_general' filter instead + * @see WPSEO_Meta::get_meta_field_defs() + * + * @param array $field_defs Metabox orm definitions. + * + * @return array + */ + $field_defs = apply_filters( 'wpseo_metabox_entries', $field_defs ); + break; + + + case 'advanced': + global $post; + + $options = WPSEO_Options::get_options( array( 'wpseo', 'wpseo_titles', 'wpseo_internallinks' ) ); + + if ( ! WPSEO_Capability_Utils::current_user_can( 'wpseo_edit_advanced_metadata' ) && $options['disableadvanced_meta'] ) { + return array(); + } + + $post_type = ''; + if ( isset( $post->post_type ) ) { + $post_type = $post->post_type; + } + elseif ( ! isset( $post->post_type ) && isset( $_GET['post_type'] ) ) { + $post_type = sanitize_text_field( $_GET['post_type'] ); + } + + /* Adjust the no-index 'default for post type' text string based on the post type */ + $field_defs['meta-robots-noindex']['options']['0'] = sprintf( $field_defs['meta-robots-noindex']['options']['0'], ( ( isset( $options[ 'noindex-' . $post_type ] ) && $options[ 'noindex-' . $post_type ] === true ) ? 'noindex' : 'index' ) ); + + /* Adjust the robots advanced 'site-wide default' text string based on those settings */ + $robots_adv = __( 'None', 'wordpress-seo' ); + + $field_defs['meta-robots-adv']['options']['-'] = sprintf( $field_defs['meta-robots-adv']['options']['-'], $robots_adv ); + unset( $robots_adv ); + + + /* Don't show the breadcrumb title field if breadcrumbs aren't enabled */ + if ( $options['breadcrumbs-enable'] !== true && ! current_theme_supports( 'yoast-seo-breadcrumbs' ) ) { + unset( $field_defs['bctitle'] ); + } + + global $post; + + if ( empty( $post->ID ) || ( ! empty( $post->ID ) && self::get_value( 'redirect', $post->ID ) === '' ) ) { + unset( $field_defs['redirect'] ); + } + break; + } + + /** + * Filter the WPSEO metabox form field definitions for a tab + * {tab} can be 'general', 'advanced' or 'social' + * + * @param array $field_defs Metabox form definitions. + * @param string $post_type Post type of the post the metabox is for, defaults to 'post'. + * + * @return array + */ + + return apply_filters( 'wpseo_metabox_entries_' . $tab, $field_defs, $post_type ); + } + + + /** + * Validate the post meta values + * + * @static + * + * @param mixed $meta_value The new value. + * @param string $meta_key The full meta key (including prefix). + * + * @return string Validated meta value + */ + public static function sanitize_post_meta( $meta_value, $meta_key ) { + $field_def = self::$meta_fields[ self::$fields_index[ $meta_key ]['subset'] ][ self::$fields_index[ $meta_key ]['key'] ]; + $clean = self::$defaults[ $meta_key ]; + + switch ( true ) { + case ( $meta_key === self::$meta_prefix . 'linkdex' ): + $int = WPSEO_Utils::validate_int( $meta_value ); + if ( $int !== false && $int >= 0 ) { + $clean = strval( $int ); // Convert to string to make sure default check works. + } + break; + + case ( $field_def['type'] === 'checkbox' ): + // Only allow value if it's one of the predefined options. + if ( in_array( $meta_value, array( 'on', 'off' ), true ) ) { + $clean = $meta_value; + } + break; + + + case ( $field_def['type'] === 'select' || $field_def['type'] === 'radio' ): + // Only allow value if it's one of the predefined options. + if ( isset( $field_def['options'][ $meta_value ] ) ) { + $clean = $meta_value; + } + break; + + + case ( $field_def['type'] === 'multiselect' && $meta_key === self::$meta_prefix . 'meta-robots-adv' ): + $clean = self::validate_meta_robots_adv( $meta_value ); + break; + + + case ( $field_def['type'] === 'text' && $meta_key === self::$meta_prefix . 'canonical' ): + case ( $field_def['type'] === 'text' && $meta_key === self::$meta_prefix . 'redirect' ): + // Validate as url(-part). + $url = WPSEO_Utils::sanitize_url( $meta_value ); + if ( $url !== '' ) { + $clean = $url; + } + break; + + + case ( $field_def['type'] === 'upload' && in_array( $meta_key, array( self::$meta_prefix . 'opengraph-image', self::$meta_prefix . 'twitter-image' ), true ) ): + // Validate as url. + $url = WPSEO_Utils::sanitize_url( $meta_value, array( 'http', 'https', 'ftp', 'ftps' ) ); + if ( $url !== '' ) { + $clean = $url; + } + break; + + + case ( $field_def['type'] === 'textarea' ): + if ( is_string( $meta_value ) ) { + // Remove line breaks and tabs. + // @todo [JRF => Yoast] verify that line breaks and the likes aren't allowed/recommended in meta header fields. + $meta_value = str_replace( array( "\n", "\r", "\t", ' ' ), ' ', $meta_value ); + $clean = WPSEO_Utils::sanitize_text_field( trim( $meta_value ) ); + } + break; + + case ( 'multiselect' === $field_def['type'] ): + $clean = $meta_value; + break; + + + case ( $field_def['type'] === 'text' ): + default: + if ( is_string( $meta_value ) ) { + $clean = WPSEO_Utils::sanitize_text_field( trim( $meta_value ) ); + } + + if ( $meta_key === self::$meta_prefix . 'focuskw' ) { + $clean = str_replace( array( + '<', + '>', + '"', + '`', + '<', + '>', + '"', + '`', + ), '', $clean ); + } + break; + } + + $clean = apply_filters( 'wpseo_sanitize_post_meta_' . $meta_key, $clean, $meta_value, $field_def, $meta_key ); + + return $clean; + } + + + /** + * Validate a meta-robots-adv meta value + * + * @todo [JRF => Yoast] Verify that this logic for the prioritisation is correct + * + * @static + * + * @param array|string $meta_value The value to validate. + * + * @return string Clean value + */ + public static function validate_meta_robots_adv( $meta_value ) { + $clean = self::$meta_fields['advanced']['meta-robots-adv']['default_value']; + $options = self::$meta_fields['advanced']['meta-robots-adv']['options']; + + if ( is_string( $meta_value ) ) { + $meta_value = explode( ',', $meta_value ); + } + + if ( is_array( $meta_value ) && $meta_value !== array() ) { + $meta_value = array_map( 'trim', $meta_value ); + + if ( in_array( 'none', $meta_value, true ) ) { + // None is one of the selected values, takes priority over everything else. + $clean = 'none'; + } + elseif ( in_array( '-', $meta_value, true ) ) { + // Site-wide defaults is one of the selected values, takes priority over individual selected entries. + $clean = '-'; + } + else { + // Individual selected entries. + $cleaning = array(); + foreach ( $meta_value as $value ) { + if ( isset( $options[ $value ] ) ) { + $cleaning[] = $value; + } + } + + if ( $cleaning !== array() ) { + $clean = implode( ',', $cleaning ); + } + unset( $cleaning, $value ); + } + } + + return $clean; + } + + + /** + * Prevent saving of default values and remove potential old value from the database if replaced by a default + * + * @static + * + * @param bool $check The current status to allow updating metadata for the given type. + * @param int $object_id ID of the current object for which the meta is being updated. + * @param string $meta_key The full meta key (including prefix). + * @param string $meta_value New meta value. + * @param string $prev_value The old meta value. + * + * @return null|bool true = stop saving, null = continue saving + */ + public static function remove_meta_if_default( $check, $object_id, $meta_key, $meta_value, $prev_value = '' ) { + /* If it's one of our meta fields, check against default */ + if ( isset( self::$fields_index[ $meta_key ] ) && self::meta_value_is_default( $meta_key, $meta_value ) === true ) { + if ( $prev_value !== '' ) { + delete_post_meta( $object_id, $meta_key, $prev_value ); + } + else { + delete_post_meta( $object_id, $meta_key ); + } + + return true; // Stop saving the value. + } + + return $check; // Go on with the normal execution (update) in meta.php. + } + + + /** + * Prevent adding of default values to the database + * + * @static + * + * @param bool $check The current status to allow adding metadata for the given type. + * @param int $object_id ID of the current object for which the meta is being added. + * @param string $meta_key The full meta key (including prefix). + * @param string $meta_value New meta value. + * + * @return null|bool true = stop saving, null = continue saving + */ + public static function dont_save_meta_if_default( $check, $object_id, $meta_key, $meta_value ) { + /* If it's one of our meta fields, check against default */ + if ( isset( self::$fields_index[ $meta_key ] ) && self::meta_value_is_default( $meta_key, $meta_value ) === true ) { + return true; // Stop saving the value. + } + + return $check; // Go on with the normal execution (add) in meta.php. + } + + + /** + * Is the given meta value the same as the default value ? + * + * @static + * + * @param string $meta_key The full meta key (including prefix). + * @param mixed $meta_value The value to check. + * + * @return bool + */ + public static function meta_value_is_default( $meta_key, $meta_value ) { + return ( isset( self::$defaults[ $meta_key ] ) && $meta_value === self::$defaults[ $meta_key ] ); + } + + + /** + * Get a custom post meta value + * Returns the default value if the meta value has not been set + * + * {@internal Unfortunately there isn't a filter available to hook into before returning + * the results for get_post_meta(), get_post_custom() and the likes. That + * would have been the preferred solution.}} + * + * @static + * + * @param string $key Internal key of the value to get (without prefix). + * @param int $postid Post ID of the post to get the value for. + * + * @return string All 'normal' values returned from get_post_meta() are strings. + * Objects and arrays are possible, but not used by this plugin + * and therefore discarted (except when the special 'serialized' field def + * value is set to true - only used by add-on plugins for now). + * Will return the default value if no value was found.. + * Will return empty string if no default was found (not one of our keys) or + * if the post does not exist. + */ + public static function get_value( $key, $postid = 0 ) { + global $post; + + $postid = absint( $postid ); + if ( $postid === 0 ) { + if ( ( isset( $post ) && is_object( $post ) ) && ( isset( $post->post_status ) && $post->post_status !== 'auto-draft' ) ) { + $postid = $post->ID; + } + else { + return ''; + } + } + + $custom = get_post_custom( $postid ); // Array of strings or empty array. + + if ( isset( $custom[ self::$meta_prefix . $key ][0] ) ) { + $unserialized = maybe_unserialize( $custom[ self::$meta_prefix . $key ][0] ); + if ( $custom[ self::$meta_prefix . $key ][0] === $unserialized ) { + return $custom[ self::$meta_prefix . $key ][0]; + } + else { + $field_def = self::$meta_fields[ self::$fields_index[ self::$meta_prefix . $key ]['subset'] ][ self::$fields_index[ self::$meta_prefix . $key ]['key'] ]; + if ( isset( $field_def['serialized'] ) && $field_def['serialized'] === true ) { + // Ok, serialize value expected/allowed. + return $unserialized; + } + } + } + + // Meta was either not found or found, but object/array while not allowed to be. + if ( isset( self::$defaults[ self::$meta_prefix . $key ] ) ) { + return self::$defaults[ self::$meta_prefix . $key ]; + } + else { + /* + * Shouldn't ever happen, means not one of our keys as there will always be a default available + * for all our keys. + */ + return ''; + } + } + + + /** + * Update a meta value for a post + * + * @static + * + * @param string $key The internal key of the meta value to change (without prefix). + * @param mixed $meta_value The value to set the meta to. + * @param int $post_id The ID of the post to change the meta for. + * + * @return bool whether the value was changed + */ + public static function set_value( $key, $meta_value, $post_id ) { + return update_post_meta( $post_id, self::$meta_prefix . $key, $meta_value ); + } + + /** + * Deletes a meta value for a post + * + * @static + * + * @param string $key The internal key of the meta value to change (without prefix). + * @param int $post_id The ID of the post to change the meta for. + * + * @return bool Whether the value was changed + */ + public static function delete( $key, $post_id ) { + return delete_post_meta( $post_id, self::$meta_prefix . $key ); + } + + /** + * Used for imports, this functions imports the value of $old_metakey into $new_metakey for those post + * where no WPSEO meta data has been set. + * Optionally deletes the $old_metakey values. + * + * @static + * + * @param string $old_metakey The old key of the meta value. + * @param string $new_metakey The new key, usually the WPSEO meta key (including prefix). + * @param bool $delete_old Whether to delete the old meta key/value-sets. + * + * @return void + */ + public static function replace_meta( $old_metakey, $new_metakey, $delete_old = false ) { + global $wpdb; + + /* + * Get only those rows where no wpseo meta values exist for the same post + * (with the exception of linkdex as that will be set independently of whether the post has been edited). + * + * {@internal Query is pretty well optimized this way.}} + */ + $query = $wpdb->prepare( + " + SELECT `a`.* + FROM {$wpdb->postmeta} AS a + WHERE `a`.`meta_key` = %s + AND NOT EXISTS ( + SELECT DISTINCT `post_id` , count( `meta_id` ) AS count + FROM {$wpdb->postmeta} AS b + WHERE `a`.`post_id` = `b`.`post_id` + AND `meta_key` LIKE %s + AND `meta_key` <> %s + GROUP BY `post_id` + ) + ;", + $old_metakey, + $wpdb->esc_like( self::$meta_prefix . '%' ), + self::$meta_prefix . 'linkdex' + ); + $oldies = $wpdb->get_results( $query ); + + if ( is_array( $oldies ) && $oldies !== array() ) { + foreach ( $oldies as $old ) { + update_post_meta( $old->post_id, $new_metakey, $old->meta_value ); + } + } + + // Delete old keys. + if ( $delete_old === true ) { + delete_post_meta_by_key( $old_metakey ); + } + } + + + /** + * General clean-up of the saved meta values + * - Remove potentially lingering old meta keys + * - Remove all default and invalid values + * + * @static + * @return void + */ + public static function clean_up() { + global $wpdb; + + /** + * Clean up '_yoast_wpseo_meta-robots' + * + * Retrieve all '_yoast_wpseo_meta-robots' meta values and convert if no new values found + * + * {@internal Query is pretty well optimized this way.}} + * + * @todo [JRF => Yoast] find out all possible values which the old '_yoast_wpseo_meta-robots' could contain + * to convert the data correctly + */ + $query = $wpdb->prepare( + " + SELECT `a`.* + FROM {$wpdb->postmeta} AS a + WHERE `a`.`meta_key` = %s + AND NOT EXISTS ( + SELECT DISTINCT `post_id` , count( `meta_id` ) AS count + FROM {$wpdb->postmeta} AS b + WHERE `a`.`post_id` = `b`.`post_id` + AND ( `meta_key` = %s + OR `meta_key` = %s ) + GROUP BY `post_id` + ) + ;", + self::$meta_prefix . 'meta-robots', + self::$meta_prefix . 'meta-robots-noindex', + self::$meta_prefix . 'meta-robots-nofollow' + ); + $oldies = $wpdb->get_results( $query ); + + if ( is_array( $oldies ) && $oldies !== array() ) { + foreach ( $oldies as $old ) { + $old_values = explode( ',', $old->meta_value ); + foreach ( $old_values as $value ) { + if ( $value === 'noindex' ) { + update_post_meta( $old->post_id, self::$meta_prefix . 'meta-robots-noindex', 1 ); + } + elseif ( $value === 'nofollow' ) { + update_post_meta( $old->post_id, self::$meta_prefix . 'meta-robots-nofollow', 1 ); + } + } + } + } + unset( $query, $oldies, $old, $old_values, $value ); + + // Delete old keys. + delete_post_meta_by_key( self::$meta_prefix . 'meta-robots' ); + + + /** + * Remove all default values and (most) invalid option values + * Invalid option values for the multiselect (meta-robots-adv) field will be dealt with seperately + * + * {@internal Some of the defaults have changed in v1.5, but as the defaults will + * be removed and new defaults will now automatically be passed when no + * data found, this update is automatic (as long as we remove the old + * values which we do in the below routine).}} + * + * {@internal Unfortunately we can't use the normal delete_meta() with key/value combination + * as '' (empty string) values will be ignored and would result in all metas + * with that key being deleted, not just the empty fields. + * Still, the below implementation is largely based on the delete_meta() function.}} + */ + $query = array(); + + foreach ( self::$meta_fields as $subset => $field_group ) { + foreach ( $field_group as $key => $field_def ) { + if ( $field_def['type'] === 'snippetpreview' || ! isset( $field_def['default_value'] ) ) { + continue; + } + + if ( $key === 'meta-robots-adv' ) { + $query[] = $wpdb->prepare( + "( meta_key = %s AND ( meta_value = 'none' OR meta_value = '-' ) )", + self::$meta_prefix . $key + ); + } + elseif ( isset( $field_def['options'] ) && is_array( $field_def['options'] ) && $field_def['options'] !== array() ) { + $valid = $field_def['options']; + // Remove the default value from the valid options. + unset( $valid[ $field_def['default_value'] ] ); + $valid = array_keys( $valid ); + + $query[] = $wpdb->prepare( + "( meta_key = %s AND meta_value NOT IN ( '" . implode( "','", esc_sql( $valid ) ) . "' ) )", + self::$meta_prefix . $key + ); + unset( $valid ); + } + elseif ( is_string( $field_def['default_value'] ) && $field_def['default_value'] !== '' ) { + $query[] = $wpdb->prepare( + '( meta_key = %s AND meta_value = %s )', + self::$meta_prefix . $key, + $field_def['default_value'] + ); + } + else { + $query[] = $wpdb->prepare( + "( meta_key = %s AND meta_value = '' )", + self::$meta_prefix . $key + ); + } + } + } + unset( $subset, $field_group, $key, $field_def ); + + $query = "SELECT meta_id FROM {$wpdb->postmeta} WHERE " . implode( ' OR ', $query ) . ';'; + $meta_ids = $wpdb->get_col( $query ); + + if ( is_array( $meta_ids ) && $meta_ids !== array() ) { + // WP native action. + do_action( 'delete_post_meta', $meta_ids, null, null, null ); + + $query = "DELETE FROM {$wpdb->postmeta} WHERE meta_id IN( " . implode( ',', $meta_ids ) . ' )'; + $count = $wpdb->query( $query ); + + if ( $count ) { + foreach ( $meta_ids as $object_id ) { + wp_cache_delete( $object_id, 'post_meta' ); + } + + // WP native action. + do_action( 'deleted_post_meta', $meta_ids, null, null, null ); + } + } + unset( $query, $meta_ids, $count, $object_id ); + + + /** + * Deal with the multiselect (meta-robots-adv) field + * + * Removes invalid option combinations, such as 'none,noarchive' + * + * Default values have already been removed, so we should have a small result set and + * (hopefully) even smaller set of invalid results. + */ + $query = $wpdb->prepare( + "SELECT meta_id, meta_value FROM {$wpdb->postmeta} WHERE meta_key = %s", + self::$meta_prefix . 'meta-robots-adv' + ); + $oldies = $wpdb->get_results( $query ); + + if ( is_array( $oldies ) && $oldies !== array() ) { + foreach ( $oldies as $old ) { + $clean = self::validate_meta_robots_adv( $old->meta_value ); + + if ( $clean !== $old->meta_value ) { + if ( $clean !== self::$meta_fields['advanced']['meta-robots-adv']['default_value'] ) { + update_metadata_by_mid( 'post', $old->meta_id, $clean ); + } + else { + delete_metadata_by_mid( 'post', $old->meta_id ); + } + } + } + } + unset( $query, $oldies, $old, $clean ); + + do_action( 'wpseo_meta_clean_up' ); + } + + + /** + * Recursively merge a variable number of arrays, using the left array as base, + * giving priority to the right array. + * + * Difference with native array_merge_recursive(): + * array_merge_recursive converts values with duplicate keys to arrays rather than + * overwriting the value in the first array with the duplicate value in the second array. + * + * array_merge_recursive_distinct does not change the data types of the values in the arrays. + * Matching keys' values in the second array overwrite those in the first array, as is the + * case with array_merge. + * + * Freely based on information found on http://www.php.net/manual/en/function.array-merge-recursive.php + * + * {@internal Should be moved to a general utility class.}} + * + * @return array + */ + public static function array_merge_recursive_distinct() { + + $arrays = func_get_args(); + if ( count( $arrays ) < 2 ) { + if ( $arrays === array() ) { + return array(); + } + else { + return $arrays[0]; + } + } + + $merged = array_shift( $arrays ); + + foreach ( $arrays as $array ) { + foreach ( $array as $key => $value ) { + if ( is_array( $value ) && ( isset( $merged[ $key ] ) && is_array( $merged[ $key ] ) ) ) { + $merged[ $key ] = self::array_merge_recursive_distinct( $merged[ $key ], $value ); + } + else { + $merged[ $key ] = $value; + } + } + unset( $key, $value ); + } + + return $merged; + } + + /** + * Get a value from $_POST for a given key + * Returns the $_POST value if exists, returns an empty string if key does not exist + * + * @static + * + * @param string $key Key of the value to get from $_POST. + * + * @return string Returns $_POST value, which will be a string the majority of the time + * Will return empty string if key does not exists in $_POST + */ + public static function get_post_value( $key ) { + // @codingStandardsIgnoreLine + return ( array_key_exists( $key, $_POST ) ) ? $_POST[ $key ] : ''; + } + + /** + * Counts the total of all the keywords being used for posts except the given one + * + * @param string $keyword The keyword to be counted. + * @param integer $post_id The is of the post to which the keyword belongs. + * + * @return array + */ + public static function keyword_usage( $keyword, $post_id ) { + + if ( empty( $keyword ) ) { + return array(); + } + + $query = array( + 'meta_query' => array( + 'relation' => 'OR', + array( + 'key' => '_yoast_wpseo_focuskw', + 'value' => $keyword, + ), + ), + 'post__not_in' => array( $post_id ), + 'fields' => 'ids', + 'post_type' => 'any', + + /* + * We only need to return zero, one or two results: + * - Zero: keyword hasn't been used before + * - One: Keyword has been used once before + * - Two or more: Keyword has been used twice before + */ + 'posts_per_page' => 2, + ); + + // If Yoast SEO Premium is active, get the additional keywords as well. + if ( WPSEO_Utils::is_yoast_seo_premium() ) { + $query['meta_query'][] = array( + 'key' => '_yoast_wpseo_focuskeywords', + 'value' => sprintf( '"keyword":"%s"', $keyword ), + 'compare' => 'LIKE', + ); + } + + $get_posts = new WP_Query( $query ); + + return $get_posts->posts; + } +} /* End of class */ diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-primary-term.php b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-primary-term.php new file mode 100644 index 00000000..24b46c2a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-primary-term.php @@ -0,0 +1,74 @@ +taxonomy_name = $taxonomy_name; + $this->post_ID = $post_id; + } + + /** + * Returns the primary term ID + * + * @return int|bool + */ + public function get_primary_term() { + $primary_term = get_post_meta( $this->post_ID, WPSEO_Meta::$meta_prefix . 'primary_' . $this->taxonomy_name, true ); + + $terms = $this->get_terms(); + + if ( ! in_array( $primary_term, wp_list_pluck( $terms, 'term_id' ) ) ) { + $primary_term = false; + } + + $primary_term = (int) $primary_term; + return ( $primary_term ) ? ( $primary_term ) : false; + } + + /** + * Sets the new primary term ID + * + * @param int $new_primary_term New primary term ID. + */ + public function set_primary_term( $new_primary_term ) { + update_post_meta( $this->post_ID, WPSEO_Meta::$meta_prefix . 'primary_' . $this->taxonomy_name, $new_primary_term ); + } + + /** + * Get the terms for the current post ID. + * When $terms is not an array, set $terms to an array. + * + * @return array + */ + protected function get_terms() { + $terms = get_the_terms( $this->post_ID, $this->taxonomy_name ); + + if ( ! is_array( $terms ) ) { + $terms = array(); + } + + return $terms; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-rank.php b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-rank.php new file mode 100644 index 00000000..99da0c9a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-rank.php @@ -0,0 +1,216 @@ + array( + 'start' => 0, + 'end' => 0, + ), + self::BAD => array( + 'start' => 1, + 'end' => 40, + ), + self::OK => array( + 'start' => 41, + 'end' => 70, + ), + self::GOOD => array( + 'start' => 71, + 'end' => 100, + ), + ); + + /** + * @var int + */ + protected $rank; + + /** + * @param int $rank The actual rank. + */ + public function __construct( $rank ) { + if ( ! in_array( $rank, self::$ranks ) ) { + $rank = self::BAD; + } + + $this->rank = $rank; + } + + /** + * Returns the saved rank for this rank. + * + * @return string + */ + public function get_rank() { + return $this->rank; + } + + /** + * Returns a CSS class for this rank + * + * @return string + */ + public function get_css_class() { + $labels = array( + self::NO_FOCUS => 'na', + self::NO_INDEX => 'noindex', + self::BAD => 'bad', + self::OK => 'ok', + self::GOOD => 'good', + ); + + return $labels[ $this->rank ]; + } + + /** + * Returns a label for this rank + * + * @return string + */ + public function get_label() { + $labels = array( + self::NO_FOCUS => __( 'Not available', 'wordpress-seo' ), + self::NO_INDEX => __( 'No index', 'wordpress-seo' ), + self::BAD => __( 'Needs improvement', 'wordpress-seo' ), + self::OK => __( 'OK', 'wordpress-seo' ), + self::GOOD => __( 'Good', 'wordpress-seo' ), + ); + + return $labels[ $this->rank ]; + } + + /** + * Returns a label for use in a drop down + * + * @return mixed + */ + public function get_drop_down_label() { + $labels = array( + self::NO_FOCUS => __( 'SEO: No Focus Keyword', 'wordpress-seo' ), + self::BAD => __( 'SEO: Needs improvement', 'wordpress-seo' ), + self::OK => __( 'SEO: OK', 'wordpress-seo' ), + self::GOOD => __( 'SEO: Good', 'wordpress-seo' ), + self::NO_INDEX => __( 'SEO: Post Noindexed', 'wordpress-seo' ), + ); + + return $labels[ $this->rank ]; + } + + /** + * Gets the drop down labels for the readability score. + * + * @return string The readability rank label. + */ + public function get_drop_down_readability_labels() { + $labels = array( + self::BAD => __( 'Readability: Needs improvement', 'wordpress-seo' ), + self::OK => __( 'Readability: OK', 'wordpress-seo' ), + self::GOOD => __( 'Readability: Good', 'wordpress-seo' ), + ); + + return $labels[ $this->rank ]; + } + + /** + * @return int The starting score for this rank. + */ + public function get_starting_score() { + // No index does not have a starting score. + if ( self::NO_INDEX === $this->rank ) { + return -1; + } + + return self::$ranges[ $this->rank ]['start']; + } + + /** + * @return int The end score for this rank. + */ + public function get_end_score() { + // No index does not have an end score. + if ( self::NO_INDEX === $this->rank ) { + return -1; + } + + return self::$ranges[ $this->rank ]['end']; + } + + /** + * Returns a rank for a specific numeric score + * + * @param int $score The score to determine a rank for. + * + * @return self + */ + public static function from_numeric_score( $score ) { + // Set up the default value. + $rank = new self( self::BAD ); + + foreach ( self::$ranges as $rank_index => $range ) { + if ( $range['start'] <= $score && $score <= $range['end'] ) { + $rank = new self( $rank_index ); + break; + } + } + + return $rank; + } + + /** + * Returns a list of all possible SEO Ranks + * + * @return WPSEO_Rank[] + */ + public static function get_all_ranks() { + return array_map( array( 'WPSEO_Rank', 'create_rank' ), self::$ranks ); + } + + /** + * Returns a list of all possible Readability Ranks + * + * @return WPSEO_Rank[] + */ + public static function get_all_readability_ranks() { + return array_map( array( 'WPSEO_Rank', 'create_rank' ), array( self::BAD, self::OK, self::GOOD ) ); + } + + /** + * Converts a numeric rank into a WPSEO_Rank object, for use in functional array_* functions + * + * @param string $rank SEO Rank. + * + * @return WPSEO_Rank + */ + private static function create_rank( $rank ) { + return new self( $rank ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-replace-vars.php b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-replace-vars.php new file mode 100644 index 00000000..2dcc1327 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-replace-vars.php @@ -0,0 +1,1227 @@ + '', + 'name' => '', + 'post_author' => '', + 'post_content' => '', + 'post_date' => '', + 'post_excerpt' => '', + 'post_modified' => '', + 'post_title' => '', + 'taxonomy' => '', + 'term_id' => '', + 'term404' => '', + ); + + /** + * @var object Current post/page/cpt information + */ + protected $args; + + /** + * @var array Help texts for use in WPSEO -> Titles and Meta's help tabs + */ + protected static $help_texts = array(); + + /** + * @var array Register of additional variable replacements registered by other plugins/themes + */ + protected static $external_replacements = array(); + + + /** + * Constructor + * + * @return \WPSEO_Replace_Vars + */ + public function __construct() { + } + + + /** + * Setup the help texts and external replacements as statics so they will be available to all instances + */ + public static function setup_statics_once() { + if ( self::$help_texts === array() ) { + self::set_basic_help_texts(); + self::set_advanced_help_texts(); + } + + if ( self::$external_replacements === array() ) { + /** + * Action: 'wpseo_register_extra_replacements' - Allows for registration of additional + * variables to replace + */ + do_action( 'wpseo_register_extra_replacements' ); + } + } + + + /** + * Register new replacement %%variables%% + * For use by other plugins/themes to register extra variables + * + * @see wpseo_register_var_replacement() for a usage example + * + * @param string $var The name of the variable to replace, i.e. '%%var%%' + * - the surrounding %% are optional. + * @param mixed $replace_function Function or method to call to retrieve the replacement value for the variable + * Uses the same format as add_filter/add_action function parameter and + * should *return* the replacement value. DON'T echo it. + * @param string $type Type of variable: 'basic' or 'advanced', defaults to 'advanced'. + * @param string $help_text Help text to be added to the help tab for this variable. + * + * @return bool Whether the replacement function was succesfully registered + */ + public static function register_replacement( $var, $replace_function, $type = 'advanced', $help_text = '' ) { + $success = false; + + if ( is_string( $var ) && $var !== '' ) { + $var = self::remove_var_delimiter( $var ); + + if ( preg_match( '`^[A-Z0-9_-]+$`i', $var ) === false ) { + trigger_error( __( 'A replacement variable can only contain alphanumeric characters, an underscore or a dash. Try renaming your variable.', 'wordpress-seo' ), E_USER_WARNING ); + } + elseif ( strpos( $var, 'cf_' ) === 0 || strpos( $var, 'ct_' ) === 0 ) { + trigger_error( __( 'A replacement variable can not start with "%%cf_" or "%%ct_" as these are reserved for the WPSEO standard variable variables for custom fields and custom taxonomies. Try making your variable name unique.', 'wordpress-seo' ), E_USER_WARNING ); + } + elseif ( ! method_exists( __CLASS__, 'retrieve_' . $var ) ) { + if ( ! isset( self::$external_replacements[ $var ] ) ) { + self::$external_replacements[ $var ] = $replace_function; + self::register_help_text( $type, $var, $help_text ); + $success = true; + } + else { + trigger_error( __( 'A replacement variable with the same name has already been registered. Try making your variable name unique.', 'wordpress-seo' ), E_USER_WARNING ); + } + } + else { + trigger_error( __( 'You cannot overrule a WPSEO standard variable replacement by registering a variable with the same name. Use the "wpseo_replacements" filter instead to adjust the replacement value.', 'wordpress-seo' ), E_USER_WARNING ); + } + } + + return $success; + } + + + /** + * Replace `%%variable_placeholders%%` with their real value based on the current requested page/post/cpt/etc + * + * @param string $string the string to replace the variables in. + * @param array $args the object some of the replacement values might come from, + * could be a post, taxonomy or term. + * @param array $omit variables that should not be replaced by this function. + * + * @return string + */ + public function replace( $string, $args, $omit = array() ) { + + $string = strip_tags( $string ); + + // Let's see if we can bail super early. + if ( strpos( $string, '%%' ) === false ) { + return WPSEO_Utils::standardize_whitespace( $string ); + } + + $args = (array) $args; + if ( isset( $args['post_content'] ) && ! empty( $args['post_content'] ) ) { + $args['post_content'] = WPSEO_Utils::strip_shortcode( $args['post_content'] ); + } + if ( isset( $args['post_excerpt'] ) && ! empty( $args['post_excerpt'] ) ) { + $args['post_excerpt'] = WPSEO_Utils::strip_shortcode( $args['post_excerpt'] ); + } + $this->args = (object) wp_parse_args( $args, $this->defaults ); + + // Clean $omit array. + if ( is_array( $omit ) && $omit !== array() ) { + $omit = array_map( array( __CLASS__, 'remove_var_delimiter' ), $omit ); + } + + $replacements = array(); + if ( preg_match_all( '`%%([^%]+(%%single)?)%%?`iu', $string, $matches ) ) { + $replacements = $this->set_up_replacements( $matches, $omit ); + } + + /** + * Filter: 'wpseo_replacements' - Allow customization of the replacements before they are applied + * + * @api array $replacements The replacements + */ + $replacements = apply_filters( 'wpseo_replacements', $replacements ); + + // Do the actual replacements. + if ( is_array( $replacements ) && $replacements !== array() ) { + $string = str_replace( array_keys( $replacements ), array_values( $replacements ), $string ); + } + + /** + * Filter: 'wpseo_replacements_final' - Allow overruling of whether or not to remove placeholders + * which didn't yield a replacement + * + * @example add_filter( 'wpseo_replacements_final', '__return_false' ); + * + * @api bool $final + */ + if ( apply_filters( 'wpseo_replacements_final', true ) === true && ( isset( $matches[1] ) && is_array( $matches[1] ) ) ) { + // Remove non-replaced variables. + $remove = array_diff( $matches[1], $omit ); // Make sure the $omit variables do not get removed. + $remove = array_map( array( __CLASS__, 'add_var_delimiter' ), $remove ); + $string = str_replace( $remove, '', $string ); + } + + // Undouble separators which have nothing between them, i.e. where a non-replaced variable was removed. + if ( isset( $replacements['%%sep%%'] ) && ( is_string( $replacements['%%sep%%'] ) && $replacements['%%sep%%'] !== '' ) ) { + $q_sep = preg_quote( $replacements['%%sep%%'], '`' ); + $string = preg_replace( '`' . $q_sep . '(?:\s*' . $q_sep . ')*`u', $replacements['%%sep%%'], $string ); + } + + // Remove superfluous whitespace. + $string = WPSEO_Utils::standardize_whitespace( $string ); + + return trim( $string ); + } + + + /** + * Retrieve the replacements for the variables found. + * + * @param array $matches variables found in the original string - regex result. + * @param array $omit variables that should not be replaced by this function. + * + * @return array retrieved replacements - this might be a smaller array as some variables + * may not yield a replacement in certain contexts. + */ + private function set_up_replacements( $matches, $omit ) { + + $replacements = array(); + + // @todo -> figure out a way to deal with external functions starting with cf_/ct_. + foreach ( $matches[1] as $k => $var ) { + + // Don't set up replacements which should be omitted. + if ( in_array( $var, $omit, true ) ) { + continue; + } + + // Deal with variable variable names first. + if ( strpos( $var, 'cf_' ) === 0 ) { + $replacement = $this->retrieve_cf_custom_field_name( $var ); + } + elseif ( strpos( $var, 'ct_desc_' ) === 0 ) { + $replacement = $this->retrieve_ct_desc_custom_tax_name( $var ); + } + elseif ( strpos( $var, 'ct_' ) === 0 ) { + $single = ( isset( $matches[2][ $k ] ) && $matches[2][ $k ] !== '' ) ? true : false; + $replacement = $this->retrieve_ct_custom_tax_name( $var, $single ); + } // Deal with non-variable variable names. + elseif ( method_exists( $this, 'retrieve_' . $var ) ) { + $method_name = 'retrieve_' . $var; + $replacement = $this->$method_name(); + } // Deal with externally defined variable names. + elseif ( isset( self::$external_replacements[ $var ] ) && ! is_null( self::$external_replacements[ $var ] ) ) { + $replacement = call_user_func( self::$external_replacements[ $var ], $var, $this->args ); + } + + // Replacement retrievals can return null if no replacement can be determined, root those outs. + if ( isset( $replacement ) ) { + $var = self::add_var_delimiter( $var ); + $replacements[ $var ] = $replacement; + } + unset( $replacement, $single, $method_name ); + } + + return $replacements; + } + + + + /* *********************** BASIC VARIABLES ************************** */ + + /** + * Retrieve the post/cpt categories (comma separated) for use as replacement string. + * + * @return string|null + */ + private function retrieve_category() { + $replacement = null; + + if ( ! empty( $this->args->ID ) ) { + $cat = $this->get_terms( $this->args->ID, 'category' ); + if ( $cat !== '' ) { + $replacement = $cat; + } + } + + if ( ( ! isset( $replacement ) || $replacement === '' ) && ( isset( $this->args->cat_name ) && ! empty( $this->args->cat_name ) ) ) { + $replacement = $this->args->cat_name; + } + + return $replacement; + } + + /** + * Retrieve the category description for use as replacement string. + * + * @return string|null + */ + private function retrieve_category_description() { + return $this->retrieve_term_description(); + } + + /** + * Retrieve the date of the post/page/cpt for use as replacement string. + * + * @return string|null + */ + private function retrieve_date() { + $replacement = null; + + if ( $this->args->post_date !== '' ) { + $replacement = mysql2date( get_option( 'date_format' ), $this->args->post_date, true ); + } + else { + if ( get_query_var( 'day' ) && get_query_var( 'day' ) !== '' ) { + $replacement = get_the_date(); + } + else { + if ( single_month_title( ' ', false ) && single_month_title( ' ', false ) !== '' ) { + $replacement = single_month_title( ' ', false ); + } + elseif ( get_query_var( 'year' ) !== '' ) { + $replacement = get_query_var( 'year' ); + } + } + } + + return $replacement; + } + + /** + * Retrieve the post/page/cpt excerpt for use as replacement string. + * The excerpt will be auto-generated if it does not exist. + * + * @return string|null + */ + private function retrieve_excerpt() { + $replacement = null; + + if ( ! empty( $this->args->ID ) ) { + if ( $this->args->post_excerpt !== '' ) { + $replacement = strip_tags( $this->args->post_excerpt ); + } + elseif ( $this->args->post_content !== '' ) { + $replacement = wp_html_excerpt( strip_shortcodes( $this->args->post_content ), 155 ); + } + } + + return $replacement; + } + + /** + * Retrieve the post/page/cpt excerpt for use as replacement string (without auto-generation). + * + * @return string|null + */ + private function retrieve_excerpt_only() { + $replacement = null; + + if ( ! empty( $this->args->ID ) && $this->args->post_excerpt !== '' ) { + $replacement = strip_tags( $this->args->post_excerpt ); + } + + return $replacement; + } + + /** + * Retrieve the title of the parent page of the current page/cpt for use as replacement string. + * Only applicable for hierarchical post types. + * + * @todo - check: shouldn't this use $this->args as well ? + * + * @return string|null + */ + private function retrieve_parent_title() { + $replacement = null; + + if ( ! isset( $replacement ) && ( ( is_singular() || is_admin() ) && isset( $GLOBALS['post'] ) ) ) { + if ( isset( $GLOBALS['post']->post_parent ) && 0 !== $GLOBALS['post']->post_parent ) { + $replacement = get_the_title( $GLOBALS['post']->post_parent ); + } + } + + return $replacement; + } + + /** + * Retrieve the current search phrase for use as replacement string. + * + * @return string|null + */ + private function retrieve_searchphrase() { + $replacement = null; + + if ( ! isset( $replacement ) ) { + $search = get_query_var( 's' ); + if ( $search !== '' ) { + $replacement = esc_html( $search ); + } + } + + return $replacement; + } + + /** + * Retrieve the separator for use as replacement string. + * + * @return string + */ + private function retrieve_sep() { + return WPSEO_Utils::get_title_separator(); + } + + /** + * Retrieve the site's tag line / description for use as replacement string. + * + * @return string|null + */ + private function retrieve_sitedesc() { + static $replacement; + + if ( ! isset( $replacement ) ) { + $description = trim( strip_tags( get_bloginfo( 'description' ) ) ); + if ( $description !== '' ) { + $replacement = $description; + } + } + + return $replacement; + } + + + /** + * Retrieve the site's name for use as replacement string. + * + * @return string|null + */ + private function retrieve_sitename() { + static $replacement; + + if ( ! isset( $replacement ) ) { + $sitename = WPSEO_Utils::get_site_name(); + if ( $sitename !== '' ) { + $replacement = $sitename; + } + } + + return $replacement; + } + + /** + * Retrieve the current tag/tags for use as replacement string. + * + * @return string|null + */ + private function retrieve_tag() { + $replacement = null; + + if ( isset( $this->args->ID ) ) { + $tags = $this->get_terms( $this->args->ID, 'post_tag' ); + if ( $tags !== '' ) { + $replacement = $tags; + } + } + + return $replacement; + } + + /** + * Retrieve the tag description for use as replacement string. + * + * @return string|null + */ + private function retrieve_tag_description() { + return $this->retrieve_term_description(); + } + + /** + * Retrieve the term description for use as replacement string. + * + * @return string|null + */ + private function retrieve_term_description() { + $replacement = null; + + if ( isset( $this->args->term_id ) && ! empty( $this->args->taxonomy ) ) { + $term_desc = get_term_field( 'description', $this->args->term_id, $this->args->taxonomy ); + if ( $term_desc !== '' ) { + $replacement = trim( strip_tags( $term_desc ) ); + } + } + + return $replacement; + } + + /** + * Retrieve the term name for use as replacement string. + * + * @return string|null + */ + private function retrieve_term_title() { + $replacement = null; + + if ( ! empty( $this->args->taxonomy ) && ! empty( $this->args->name ) ) { + $replacement = $this->args->name; + } + + return $replacement; + } + + /** + * Retrieve the title of the post/page/cpt for use as replacement string. + * + * @return string|null + */ + private function retrieve_title() { + $replacement = null; + + if ( is_string( $this->args->post_title ) && $this->args->post_title !== '' ) { + $replacement = stripslashes( $this->args->post_title ); + } + + return $replacement; + } + + /** + * Retrieve primary category for use as replacement string. + * + * @return bool|int|null + */ + private function retrieve_primary_category() { + $primary_category = null; + + if ( ! empty( $this->args->ID ) ) { + $wpseo_primary_category = new WPSEO_Primary_Term( 'category', $this->args->ID ); + + $term_id = $wpseo_primary_category->get_primary_term(); + $term = get_term( $term_id ); + + if ( ! is_wp_error( $term ) && ! empty( $term ) ) { + $primary_category = $term->name; + } + } + + return $primary_category; + } + + + /* *********************** ADVANCED VARIABLES ************************** */ + + /** + * Determine the page numbering of the current post/page/cpt + * + * @param string $request 'nr'|'max' - whether to return the page number or the max number of pages. + * + * @return int|null + */ + private function determine_pagenumbering( $request = 'nr' ) { + global $wp_query, $post; + $max_num_pages = null; + $page_number = null; + + $max_num_pages = 1; + + if ( ! is_singular() ) { + $page_number = get_query_var( 'paged' ); + if ( $page_number === 0 || $page_number === '' ) { + $page_number = 1; + } + + if ( isset( $wp_query->max_num_pages ) && ( $wp_query->max_num_pages != '' && $wp_query->max_num_pages != 0 ) ) { + $max_num_pages = $wp_query->max_num_pages; + } + } + else { + $page_number = get_query_var( 'page' ); + if ( $page_number === 0 || $page_number === '' ) { + $page_number = 1; + } + + if ( isset( $post->post_content ) ) { + $max_num_pages = ( substr_count( $post->post_content, '' ) + 1 ); + } + } + + $return = null; + + switch ( $request ) { + case 'nr': + $return = $page_number; + break; + case 'max': + $return = $max_num_pages; + break; + } + + return $return; + } + + + /** + * Determine the post type names for the current post/page/cpt + * + * @param string $request 'single'|'plural' - whether to return the single or plural form. + * + * @return string|null + */ + private function determine_pt_names( $request = 'single' ) { + global $wp_query; + $pt_single = null; + $pt_plural = null; + + if ( isset( $wp_query->query_vars['post_type'] ) && ( ( is_string( $wp_query->query_vars['post_type'] ) && $wp_query->query_vars['post_type'] !== '' ) || ( is_array( $wp_query->query_vars['post_type'] ) && $wp_query->query_vars['post_type'] !== array() ) ) ) { + $post_type = $wp_query->query_vars['post_type']; + } + elseif ( isset( $this->args->post_type ) && ( is_string( $this->args->post_type ) && $this->args->post_type !== '' ) ) { + $post_type = $this->args->post_type; + } + else { + // Make it work in preview mode. + $post_type = $wp_query->get_queried_object()->post_type; + } + + if ( is_array( $post_type ) ) { + $post_type = reset( $post_type ); + } + + if ( $post_type !== '' ) { + $pt = get_post_type_object( $post_type ); + $pt_plural = $pt_single = $pt->name; + if ( isset( $pt->labels->singular_name ) ) { + $pt_single = $pt->labels->singular_name; + } + if ( isset( $pt->labels->name ) ) { + $pt_plural = $pt->labels->name; + } + } + + $return = null; + + switch ( $request ) { + case 'single': + $return = $pt_single; + break; + case 'plural': + $return = $pt_plural; + break; + } + + return $return; + } + + /** + * Retrieve the attachment caption for use as replacement string. + * + * @return string|null + */ + private function retrieve_caption() { + return $this->retrieve_excerpt_only(); + } + + + /** + * Retrieve a post/page/cpt's custom field value for use as replacement string + * + * @param string $var The complete variable to replace which includes the name of + * the custom field which value is to be retrieved. + * + * @return string|null + */ + private function retrieve_cf_custom_field_name( $var ) { + global $post; + $replacement = null; + + if ( is_string( $var ) && $var !== '' ) { + $field = substr( $var, 3 ); + if ( ( is_singular() || is_admin() ) && ( is_object( $post ) && isset( $post->ID ) ) ) { + $name = get_post_meta( $post->ID, $field, true ); + if ( $name !== '' ) { + $replacement = $name; + } + } + } + + return $replacement; + } + + + /** + * Retrieve a post/page/cpt's custom taxonomies for use as replacement string + * + * @param string $var The complete variable to replace which includes the name of + * the custom taxonomy which value(s) is to be retrieved. + * @param bool $single Whether to retrieve only the first or all values for the taxonomy. + * + * @return string|null + */ + private function retrieve_ct_custom_tax_name( $var, $single = false ) { + $replacement = null; + + if ( ( is_string( $var ) && $var !== '' ) && ! empty( $this->args->ID ) ) { + $tax = substr( $var, 3 ); + $name = $this->get_terms( $this->args->ID, $tax, $single ); + if ( $name !== '' ) { + $replacement = $name; + } + } + + return $replacement; + } + + + /** + * Retrieve a post/page/cpt's custom taxonomies description for use as replacement string + * + * @param string $var The complete variable to replace which includes the name of + * the custom taxonomy which description is to be retrieved. + * + * @return string|null + */ + private function retrieve_ct_desc_custom_tax_name( $var ) { + global $post; + $replacement = null; + + if ( is_string( $var ) && $var !== '' ) { + $tax = substr( $var, 8 ); + if ( is_object( $post ) && isset( $post->ID ) ) { + $terms = get_the_terms( $post->ID, $tax ); + if ( is_array( $terms ) && $terms !== array() ) { + $term = current( $terms ); + $term_desc = get_term_field( 'description', $term->term_id, $tax ); + if ( $term_desc !== '' ) { + $replacement = trim( strip_tags( $term_desc ) ); + } + } + } + } + + return $replacement; + } + + /** + * Retrieve the current date for use as replacement string. + * + * @return string + */ + private function retrieve_currentdate() { + static $replacement; + + if ( ! isset( $replacement ) ) { + $replacement = date_i18n( get_option( 'date_format' ) ); + } + + return $replacement; + } + + /** + * Retrieve the current day for use as replacement string. + * + * @return string + */ + private function retrieve_currentday() { + static $replacement; + + if ( ! isset( $replacement ) ) { + $replacement = date_i18n( 'j' ); + } + + return $replacement; + } + + /** + * Retrieve the current month for use as replacement string. + * + * @return string + */ + private function retrieve_currentmonth() { + static $replacement; + + if ( ! isset( $replacement ) ) { + $replacement = date_i18n( 'F' ); + } + + return $replacement; + } + + /** + * Retrieve the current time for use as replacement string. + * + * @return string + */ + private function retrieve_currenttime() { + static $replacement; + + if ( ! isset( $replacement ) ) { + $replacement = date_i18n( get_option( 'time_format' ) ); + } + + return $replacement; + } + + /** + * Retrieve the current year for use as replacement string. + * + * @return string + */ + private function retrieve_currentyear() { + static $replacement; + + if ( ! isset( $replacement ) ) { + $replacement = date_i18n( 'Y' ); + } + + return $replacement; + } + + /** + * Retrieve the post/page/cpt's focus keyword for use as replacement string. + * + * @return string|null + */ + private function retrieve_focuskw() { + $replacement = null; + + if ( ! empty( $this->args->ID ) ) { + $focus_kw = WPSEO_Meta::get_value( 'focuskw', $this->args->ID ); + if ( $focus_kw !== '' ) { + $replacement = $focus_kw; + } + } + + return $replacement; + } + + /** + * Retrieve the post/page/cpt ID for use as replacement string. + * + * @return string|null + */ + private function retrieve_id() { + $replacement = null; + + if ( ! empty( $this->args->ID ) ) { + $replacement = $this->args->ID; + } + + return $replacement; + } + + /** + * Retrieve the post/page/cpt modified time for use as replacement string. + * + * @return string|null + */ + private function retrieve_modified() { + $replacement = null; + + if ( ! empty( $this->args->post_modified ) ) { + $replacement = mysql2date( get_option( 'date_format' ), $this->args->post_modified, true ); + } + + return $replacement; + } + + /** + * Retrieve the post/page/cpt author's "nice name" for use as replacement string. + * + * @return string|null + */ + private function retrieve_name() { + $replacement = null; + + $user_id = $this->retrieve_userid(); + $name = get_the_author_meta( 'display_name', $user_id ); + if ( $name !== '' ) { + $replacement = $name; + } + + return $replacement; + } + + /** + * Retrieve the post/page/cpt author's users description for use as a replacement string. + * + * @return null|string + */ + private function retrieve_user_description() { + $replacement = null; + + $user_id = $this->retrieve_userid(); + $description = get_the_author_meta( 'description', $user_id ); + if ( $description != '' ) { + $replacement = $description; + } + + return $replacement; + } + + /** + * Retrieve the current page number with context (i.e. 'page 2 of 4') for use as replacement string. + * + * @return string + */ + private function retrieve_page() { + $replacement = null; + + $max = $this->determine_pagenumbering( 'max' ); + $nr = $this->determine_pagenumbering( 'nr' ); + $sep = $this->retrieve_sep(); + + if ( $max > 1 && $nr > 1 ) { + /* translators: 1: current page number, 2: total number of pages. */ + $replacement = sprintf( $sep . ' ' . __( 'Page %1$d of %2$d', 'wordpress-seo' ), $nr, $max ); + } + + return $replacement; + } + + /** + * Retrieve the current page number for use as replacement string. + * + * @return string|null + */ + private function retrieve_pagenumber() { + $replacement = null; + + $nr = $this->determine_pagenumbering( 'nr' ); + if ( isset( $nr ) && $nr > 0 ) { + $replacement = (string) $nr; + } + + return $replacement; + } + + /** + * Retrieve the current page total for use as replacement string. + * + * @return string|null + */ + private function retrieve_pagetotal() { + $replacement = null; + + $max = $this->determine_pagenumbering( 'max' ); + if ( isset( $max ) && $max > 0 ) { + $replacement = (string) $max; + } + + return $replacement; + } + + /** + * Retrieve the post type plural label for use as replacement string. + * + * @return string|null + */ + private function retrieve_pt_plural() { + $replacement = null; + + $name = $this->determine_pt_names( 'plural' ); + if ( isset( $name ) && $name !== '' ) { + $replacement = $name; + } + + return $replacement; + } + + /** + * Retrieve the post type single label for use as replacement string. + * + * @return string|null + */ + private function retrieve_pt_single() { + $replacement = null; + + $name = $this->determine_pt_names( 'single' ); + if ( isset( $name ) && $name !== '' ) { + $replacement = $name; + } + + return $replacement; + } + + /** + * Retrieve the slug which caused the 404 for use as replacement string. + * + * @return string|null + */ + private function retrieve_term404() { + $replacement = null; + + if ( $this->args->term404 !== '' ) { + $replacement = sanitize_text_field( str_replace( '-', ' ', $this->args->term404 ) ); + } + else { + $error_request = get_query_var( 'pagename' ); + if ( $error_request !== '' ) { + $replacement = sanitize_text_field( str_replace( '-', ' ', $error_request ) ); + } + else { + $error_request = get_query_var( 'name' ); + if ( $error_request !== '' ) { + $replacement = sanitize_text_field( str_replace( '-', ' ', $error_request ) ); + } + } + } + + return $replacement; + } + + /** + * Retrieve the post/page/cpt author's user id for use as replacement string. + * + * @return string + */ + private function retrieve_userid() { + $replacement = ! empty( $this->args->post_author ) ? $this->args->post_author : get_query_var( 'author' ); + + return $replacement; + } + + + + /* *********************** HELP TEXT RELATED ************************** */ + + /** + * Create a variable help text table + * + * @param string $type Either 'basic' or 'advanced'. + * + * @return string Help text table + */ + private static function create_variable_help_table( $type ) { + if ( ! in_array( $type, array( 'basic', 'advanced' ), true ) ) { + return ''; + } + + $table = ' + + + + + + + + '; + + foreach ( self::$help_texts[ $type ] as $replace => $help_text ) { + $table .= ' + + + + '; + } + + $table .= ' + +
    ' . esc_html__( 'Variable', 'wordpress-seo' ) . '' . esc_html__( 'Description', 'wordpress-seo' ) . '
    %%' . esc_html( $replace ) . '%%' . $help_text . '
    '; + + return $table; + } + + /** + * Create the help text table for the basic variables for use in a help tab + * + * @return string + */ + public static function get_basic_help_texts() { + return self::create_variable_help_table( 'basic' ); + } + + + /** + * Create the help text table for the advanced variables for use in a help tab + * + * @return string + */ + public static function get_advanced_help_texts() { + return self::create_variable_help_table( 'advanced' ); + } + + + /** + * Set the help text for a user/plugin/theme defined extra variable. + * + * @param string $type Type of variable: 'basic' or 'advanced'. + * @param string $replace Variable to replace, i.e. '%%var%%'. + * @param string $help_text The actual help text string. + */ + private static function register_help_text( $type, $replace, $help_text = '' ) { + if ( is_string( $replace ) && $replace !== '' ) { + $replace = self::remove_var_delimiter( $replace ); + + if ( ( is_string( $type ) && in_array( $type, array( + 'basic', + 'advanced', + ), true ) ) && ( $replace !== '' && ! isset( self::$help_texts[ $type ][ $replace ] ) ) + ) { + self::$help_texts[ $type ][ $replace ] = $help_text; + } + } + } + + + /** + * Set/translate the help texts for the WPSEO standard basic variables. + */ + private static function set_basic_help_texts() { + self::$help_texts['basic'] = array( + 'date' => __( 'Replaced with the date of the post/page', 'wordpress-seo' ), + 'title' => __( 'Replaced with the title of the post/page', 'wordpress-seo' ), + 'parent_title' => __( 'Replaced with the title of the parent page of the current page', 'wordpress-seo' ), + 'sitename' => __( 'The site\'s name', 'wordpress-seo' ), + 'sitedesc' => __( 'The site\'s tag line / description', 'wordpress-seo' ), + 'excerpt' => __( 'Replaced with the post/page excerpt (or auto-generated if it does not exist)', 'wordpress-seo' ), + 'excerpt_only' => __( 'Replaced with the post/page excerpt (without auto-generation)', 'wordpress-seo' ), + 'tag' => __( 'Replaced with the current tag/tags', 'wordpress-seo' ), + 'category' => __( 'Replaced with the post categories (comma separated)', 'wordpress-seo' ), + 'primary_category' => __( 'Replaced with the primary category of the post/page', 'wordpress-seo' ), + 'category_description' => __( 'Replaced with the category description', 'wordpress-seo' ), + 'tag_description' => __( 'Replaced with the tag description', 'wordpress-seo' ), + 'term_description' => __( 'Replaced with the term description', 'wordpress-seo' ), + 'term_title' => __( 'Replaced with the term name', 'wordpress-seo' ), + 'searchphrase' => __( 'Replaced with the current search phrase', 'wordpress-seo' ), + 'sep' => sprintf( + /* translators: %s: wp_title() function */ + __( 'The separator defined in your theme\'s %s tag.', 'wordpress-seo' ), + 'wp_title()' + ), + ); + } + + /** + * Set/translate the help texts for the WPSEO standard advanced variables. + */ + private static function set_advanced_help_texts() { + self::$help_texts['advanced'] = array( + 'pt_single' => __( 'Replaced with the post type single label', 'wordpress-seo' ), + 'pt_plural' => __( 'Replaced with the post type plural label', 'wordpress-seo' ), + 'modified' => __( 'Replaced with the post/page modified time', 'wordpress-seo' ), + 'id' => __( 'Replaced with the post/page ID', 'wordpress-seo' ), + 'name' => __( 'Replaced with the post/page author\'s \'nicename\'', 'wordpress-seo' ), + 'user_description' => __( 'Replaced with the post/page author\'s \'Biographical Info\'', 'wordpress-seo' ), + 'userid' => __( 'Replaced with the post/page author\'s userid', 'wordpress-seo' ), + 'currenttime' => __( 'Replaced with the current time', 'wordpress-seo' ), + 'currentdate' => __( 'Replaced with the current date', 'wordpress-seo' ), + 'currentday' => __( 'Replaced with the current day', 'wordpress-seo' ), + 'currentmonth' => __( 'Replaced with the current month', 'wordpress-seo' ), + 'currentyear' => __( 'Replaced with the current year', 'wordpress-seo' ), + 'page' => __( 'Replaced with the current page number with context (i.e. page 2 of 4)', 'wordpress-seo' ), + 'pagetotal' => __( 'Replaced with the current page total', 'wordpress-seo' ), + 'pagenumber' => __( 'Replaced with the current page number', 'wordpress-seo' ), + 'caption' => __( 'Attachment caption', 'wordpress-seo' ), + 'focuskw' => __( 'Replaced with the posts focus keyword', 'wordpress-seo' ), + 'term404' => __( 'Replaced with the slug which caused the 404', 'wordpress-seo' ), + 'cf_' => __( 'Replaced with a posts custom field value', 'wordpress-seo' ), + 'ct_' => __( 'Replaced with a posts custom taxonomies, comma separated.', 'wordpress-seo' ), + 'ct_desc_' => __( 'Replaced with a custom taxonomies description', 'wordpress-seo' ), + ); + } + + + + + /* *********************** GENERAL HELPER METHODS ************************** */ + + /** + * Remove the '%%' delimiters from a variable string + * + * @param string $string Variable string to be cleaned. + * + * @return string + */ + private static function remove_var_delimiter( $string ) { + return trim( $string, '%' ); + } + + /** + * Add the '%%' delimiters to a variable string + * + * @param string $string Variable string to be delimited. + * + * @return string + */ + private static function add_var_delimiter( $string ) { + return '%%' . $string . '%%'; + } + + /** + * Retrieve a post's terms, comma delimited. + * + * @param int $id ID of the post to get the terms for. + * @param string $taxonomy The taxonomy to get the terms for this post from. + * @param bool $return_single If true, return the first term. + * + * @return string either a single term or a comma delimited string of terms. + */ + public function get_terms( $id, $taxonomy, $return_single = false ) { + + $output = ''; + + // If we're on a specific tag, category or taxonomy page, use that. + if ( is_category() || is_tag() || is_tax() ) { + $term = $GLOBALS['wp_query']->get_queried_object(); + $output = $term->name; + } + elseif ( ! empty( $id ) && ! empty( $taxonomy ) ) { + $terms = get_the_terms( $id, $taxonomy ); + if ( is_array( $terms ) && $terms !== array() ) { + foreach ( $terms as $term ) { + if ( $return_single ) { + $output = $term->name; + break; + } + else { + $output .= $term->name . ', '; + } + } + $output = rtrim( trim( $output ), ',' ); + } + } + unset( $terms, $term ); + + /** + * Allows filtering of the terms list used to replace %%category%%, %%tag%% and %%ct_%% variables + * + * @api string $output Comma-delimited string containing the terms + */ + return apply_filters( 'wpseo_terms', $output ); + } +} /* End of class WPSEO_Replace_Vars */ + + +/** + * Setup the class statics when the file is first loaded + */ +WPSEO_Replace_Vars::setup_statics_once(); diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-shortlinker.php b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-shortlinker.php new file mode 100644 index 00000000..107a7bfe --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-shortlinker.php @@ -0,0 +1,59 @@ +version = $version; + } + + /** + * Builds a URL to use in the plugin as shortlink. + * + * @param string $url The URL to build upon. + * + * @return string The final URL. + */ + public function build_shortlink( $url ) { + return $url . '?utm_content=' . $this->version; + } + + /** + * Returns a version of the URL with a utm_content with the current version. + * + * @param string $url The URL to build upon. + * + * @return string The final URL. + */ + public static function get( $url ) { + $version = WPSEO_VERSION; + + $version = apply_filters( 'wpseo_shortlink_version', $version ); + + $shortlinker = new WPSEO_Shortlinker( $version ); + + return $shortlinker->build_shortlink( $url ); + } + + /** + * Echoes a version of the URL with a utm_content with the current version. + * + * @param string $url The URL to build upon. + */ + public static function show( $url ) { + echo esc_url( self::get( $url ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-statistics.php b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-statistics.php new file mode 100644 index 00000000..0184c9d0 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-statistics.php @@ -0,0 +1,142 @@ +get_rank() ) { + $posts = array( + 'meta_query' => array( + 'relation' => 'OR', + array( + 'key' => WPSEO_Meta::$meta_prefix . 'focuskw', + 'value' => 'needs-a-value-anyway', + 'compare' => 'NOT EXISTS', + ), + ), + ); + } + elseif ( WPSEO_Rank::NO_INDEX === $rank->get_rank() ) { + $posts = array( + 'meta_key' => WPSEO_Meta::$meta_prefix . 'meta-robots-noindex', + 'meta_value' => '1', + 'compare' => '=', + ); + } + else { + $posts = array( + 'meta_key' => WPSEO_Meta::$meta_prefix . 'linkdex', + 'meta_value' => array( $rank->get_starting_score(), $rank->get_end_score() ), + 'meta_compare' => 'BETWEEN', + 'meta_type' => 'NUMERIC', + ); + } + + $posts['fields'] = 'ids'; + $posts['post_status'] = 'publish'; + + if ( current_user_can( 'edit_others_posts' ) === false ) { + $posts['author'] = get_current_user_id(); + } + + $posts = new WP_Query( $posts ); + + return $posts->found_posts; + } + + /********************** DEPRECATED METHODS **********************/ + + // @codeCoverageIgnoreStart + /** + * Returns the amount of posts that have no focus keyword + * + * @deprecated 3.0 + * + * @return int + */ + public function get_no_focus_post_count() { + _deprecated_function( __METHOD__, 'WPSEO 3.0', 'WPSEO_Statistics::get_post_count' ); + + return $this->get_post_count( new WPSEO_Rank( WPSEO_Rank::NO_FOCUS ) ); + } + + /** + * Returns the amount of posts that have a bad SEO ranking + * + * @deprecated 3.0 + * + * @return int + */ + public function get_bad_seo_post_count() { + _deprecated_function( __METHOD__, 'WPSEO 3.0', 'WPSEO_Statistics::get_post_count' ); + + return $this->get_post_count( new WPSEO_Rank( WPSEO_Rank::BAD ) ); + } + + /** + * Returns the amount of posts that have a poor SEO ranking + * + * @deprecated 3.0 + * + * @return int + */ + public function get_poor_seo_post_count() { + _deprecated_function( __METHOD__, 'WPSEO 3.0', 'WPSEO_Statistics::get_post_count' ); + + return $this->get_post_count( new WPSEO_Rank( 'poor' ) ); + } + + /** + * Returns the amount of posts that have an ok SEO ranking + * + * @deprecated 3.0 + * + * @return int + */ + public function get_ok_seo_post_count() { + _deprecated_function( __METHOD__, 'WPSEO 3.0', 'WPSEO_Statistics::get_post_count' ); + + return $this->get_post_count( new WPSEO_Rank( WPSEO_Rank::OK ) ); + } + + /** + * Returns the amount of posts that have a good SEO ranking + * + * @deprecated 3.0 + * + * @return int + */ + public function get_good_seo_post_count() { + _deprecated_function( __METHOD__, 'WPSEO 3.0', 'WPSEO_Statistics::get_post_count' ); + + return $this->get_post_count( new WPSEO_Rank( WPSEO_Rank::GOOD ) ); + } + + /** + * Returns the amount of posts that have no SEO ranking + * + * @deprecated 3.0 + * + * @return int + */ + public function get_no_index_post_count() { + _deprecated_function( __METHOD__, 'WPSEO 3.0', 'WPSEO_Statistics::get_post_count' ); + + return $this->get_post_count( new WPSEO_Rank( WPSEO_Rank::NO_INDEX ) ); + } + // @codeCoverageIgnoreEnd +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-utils.php b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-utils.php new file mode 100644 index 00000000..7f78a68e --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/class-wpseo-utils.php @@ -0,0 +1,1081 @@ +get_names(); + + return $roles; + } + + /** + * Standardize whitespace in a string + * + * Replace line breaks, carriage returns, tabs with a space, then remove double spaces. + * + * @since 1.8.0 + * + * @param string $string String input to standardize. + * + * @return string + */ + public static function standardize_whitespace( $string ) { + return trim( str_replace( ' ', ' ', str_replace( array( "\t", "\n", "\r", "\f" ), ' ', $string ) ) ); + } + + /** + * First strip out registered and enclosing shortcodes using native WordPress strip_shortcodes function. + * Then strip out the shortcodes with a filthy regex, because people don't properly register their shortcodes. + * + * @static + * + * @since 1.8.0 + * + * @param string $text Input string that might contain shortcodes. + * + * @return string $text string without shortcodes + */ + public static function strip_shortcode( $text ) { + return preg_replace( '`\[[^\]]+\]`s', '', strip_shortcodes( $text ) ); + } + + /** + * Recursively trim whitespace round a string value or of string values within an array + * Only trims strings to avoid typecasting a variable (to string) + * + * @static + * + * @since 1.8.0 + * + * @param mixed $value Value to trim or array of values to trim. + * + * @return mixed Trimmed value or array of trimmed values + */ + public static function trim_recursive( $value ) { + if ( is_string( $value ) ) { + $value = trim( $value ); + } + elseif ( is_array( $value ) ) { + $value = array_map( array( __CLASS__, 'trim_recursive' ), $value ); + } + + return $value; + } + + /** + * Translates a decimal analysis score into a textual one. + * + * @static + * + * @since 1.8.0 + * + * @param int $val The decimal score to translate. + * @param bool $css_value Whether to return the i18n translated score or the CSS class value. + * + * @return string + */ + public static function translate_score( $val, $css_value = true ) { + $seo_rank = WPSEO_Rank::from_numeric_score( $val ); + + if ( $css_value ) { + return $seo_rank->get_css_class(); + } + + return $seo_rank->get_label(); + } + + /** + * Emulate the WP native sanitize_text_field function in a %%variable%% safe way + * + * @see https://core.trac.wordpress.org/browser/trunk/src/wp-includes/formatting.php for the original + * + * Sanitize a string from user input or from the db + * + * check for invalid UTF-8, + * Convert single < characters to entity, + * strip all tags, + * remove line breaks, tabs and extra white space, + * strip octets - BUT DO NOT REMOVE (part of) VARIABLES WHICH WILL BE REPLACED. + * + * @static + * + * @since 1.8.0 + * + * @param string $value String value to sanitize. + * + * @return string + */ + public static function sanitize_text_field( $value ) { + $filtered = wp_check_invalid_utf8( $value ); + + if ( strpos( $filtered, '<' ) !== false ) { + $filtered = wp_pre_kses_less_than( $filtered ); + // This will strip extra whitespace for us. + $filtered = wp_strip_all_tags( $filtered, true ); + } + else { + $filtered = trim( preg_replace( '`[\r\n\t ]+`', ' ', $filtered ) ); + } + + $found = false; + while ( preg_match( '`[^%](%[a-f0-9]{2})`i', $filtered, $match ) ) { + $filtered = str_replace( $match[1], '', $filtered ); + $found = true; + } + unset( $match ); + + if ( $found ) { + // Strip out the whitespace that may now exist after removing the octets. + $filtered = trim( preg_replace( '` +`', ' ', $filtered ) ); + } + + /** + * Filter a sanitized text field string. + * + * @since WP 2.9.0 + * + * @param string $filtered The sanitized string. + * @param string $str The string prior to being sanitized. + */ + + return apply_filters( 'sanitize_text_field', $filtered, $value ); + } + + /** + * Sanitize a url for saving to the database + * Not to be confused with the old native WP function + * + * @todo [JRF => whomever] check/improve url verification + * + * @since 1.8.0 + * + * @param string $value String URL value to sanitize. + * @param array $allowed_protocols Optional set of allowed protocols. + * + * @return string + */ + public static function sanitize_url( $value, $allowed_protocols = array( 'http', 'https' ) ) { + return esc_url_raw( sanitize_text_field( rawurldecode( $value ) ), $allowed_protocols ); + } + + /** + * Validate a value as boolean + * + * @static + * + * @since 1.8.0 + * + * @param mixed $value Value to validate. + * + * @return bool + */ + public static function validate_bool( $value ) { + if ( ! isset( self::$has_filters ) ) { + self::$has_filters = extension_loaded( 'filter' ); + } + + if ( self::$has_filters ) { + return filter_var( $value, FILTER_VALIDATE_BOOLEAN ); + } + else { + return self::emulate_filter_bool( $value ); + } + } + + /** + * Cast a value to bool + * + * @static + * + * @since 1.8.0 + * + * @param mixed $value Value to cast. + * + * @return bool + */ + public static function emulate_filter_bool( $value ) { + $true = array( + '1', + 'true', + 'True', + 'TRUE', + 'y', + 'Y', + 'yes', + 'Yes', + 'YES', + 'on', + 'On', + 'ON', + + ); + $false = array( + '0', + 'false', + 'False', + 'FALSE', + 'n', + 'N', + 'no', + 'No', + 'NO', + 'off', + 'Off', + 'OFF', + ); + + if ( is_bool( $value ) ) { + return $value; + } + elseif ( is_int( $value ) && ( $value === 0 || $value === 1 ) ) { + return (bool) $value; + } + elseif ( ( is_float( $value ) && ! is_nan( $value ) ) && ( $value === (float) 0 || $value === (float) 1 ) ) { + return (bool) $value; + } + elseif ( is_string( $value ) ) { + $value = trim( $value ); + if ( in_array( $value, $true, true ) ) { + return true; + } + elseif ( in_array( $value, $false, true ) ) { + return false; + } + else { + return false; + } + } + + return false; + } + + /** + * Validate a value as integer + * + * @static + * + * @since 1.8.0 + * + * @param mixed $value Value to validate. + * + * @return int|bool int or false in case of failure to convert to int + */ + public static function validate_int( $value ) { + if ( ! isset( self::$has_filters ) ) { + self::$has_filters = extension_loaded( 'filter' ); + } + + if ( self::$has_filters ) { + return filter_var( $value, FILTER_VALIDATE_INT ); + } + else { + return self::emulate_filter_int( $value ); + } + } + + /** + * Cast a value to integer + * + * @static + * + * @since 1.8.0 + * + * @param mixed $value Value to cast. + * + * @return int|bool + */ + public static function emulate_filter_int( $value ) { + if ( is_int( $value ) ) { + return $value; + } + elseif ( is_float( $value ) ) { + if ( (int) $value == $value && ! is_nan( $value ) ) { + return (int) $value; + } + else { + return false; + } + } + elseif ( is_string( $value ) ) { + $value = trim( $value ); + if ( $value === '' ) { + return false; + } + elseif ( ctype_digit( $value ) ) { + return (int) $value; + } + elseif ( strpos( $value, '-' ) === 0 && ctype_digit( substr( $value, 1 ) ) ) { + return (int) $value; + } + else { + return false; + } + } + + return false; + } + + /** + * Clears the WP or W3TC cache depending on which is used + * + * @static + * + * @since 1.8.0 + */ + public static function clear_cache() { + if ( function_exists( 'w3tc_pgcache_flush' ) ) { + w3tc_pgcache_flush(); + } + elseif ( function_exists( 'wp_cache_clear_cache' ) ) { + wp_cache_clear_cache(); + } + } + + /** + * Flush W3TC cache after succesfull update/add of taxonomy meta option + * + * @static + * + * @since 1.8.0 + */ + public static function flush_w3tc_cache() { + if ( defined( 'W3TC_DIR' ) && function_exists( 'w3tc_objectcache_flush' ) ) { + w3tc_objectcache_flush(); + } + } + + /** + * Clear rewrite rules + * + * @static + * + * @since 1.8.0 + */ + public static function clear_rewrites() { + delete_option( 'rewrite_rules' ); + } + + /** + * Do simple reliable math calculations without the risk of wrong results + * + * @see http://floating-point-gui.de/ + * @see the big red warning on http://php.net/language.types.float.php + * + * In the rare case that the bcmath extension would not be loaded, it will return the normal calculation results + * + * @static + * + * @since 1.5.0 + * @since 1.8.0 Moved from stand-alone function to this class. + * + * @param mixed $number1 Scalar (string/int/float/bool). + * @param string $action Calculation action to execute. Valid input: + * '+' or 'add' or 'addition', + * '-' or 'sub' or 'subtract', + * '*' or 'mul' or 'multiply', + * '/' or 'div' or 'divide', + * '%' or 'mod' or 'modulus' + * '=' or 'comp' or 'compare'. + * @param mixed $number2 Scalar (string/int/float/bool). + * @param bool $round Whether or not to round the result. Defaults to false. + * Will be disregarded for a compare operation. + * @param int $decimals Decimals for rounding operation. Defaults to 0. + * @param int $precision Calculation precision. Defaults to 10. + * + * @return mixed Calculation Result or false if either or the numbers isn't scalar or + * an invalid operation was passed + * - for compare the result will always be an integer + * - for all other operations, the result will either be an integer (preferred) + * or a float + */ + public static function calc( $number1, $action, $number2, $round = false, $decimals = 0, $precision = 10 ) { + static $bc; + + if ( ! is_scalar( $number1 ) || ! is_scalar( $number2 ) ) { + return false; + } + + if ( ! isset( $bc ) ) { + $bc = extension_loaded( 'bcmath' ); + } + + if ( $bc ) { + $number1 = number_format( $number1, 10, '.', '' ); + $number2 = number_format( $number2, 10, '.', '' ); + } + + $result = null; + $compare = false; + + switch ( $action ) { + case '+': + case 'add': + case 'addition': + $result = ( $bc ) ? bcadd( $number1, $number2, $precision ) /* string */ : ( $number1 + $number2 ); + break; + + case '-': + case 'sub': + case 'subtract': + $result = ( $bc ) ? bcsub( $number1, $number2, $precision ) /* string */ : ( $number1 - $number2 ); + break; + + case '*': + case 'mul': + case 'multiply': + $result = ( $bc ) ? bcmul( $number1, $number2, $precision ) /* string */ : ( $number1 * $number2 ); + break; + + case '/': + case 'div': + case 'divide': + if ( $bc ) { + $result = bcdiv( $number1, $number2, $precision ); // String, or NULL if right_operand is 0. + } + elseif ( $number2 != 0 ) { + $result = ( $number1 / $number2 ); + } + + if ( ! isset( $result ) ) { + $result = 0; + } + break; + + case '%': + case 'mod': + case 'modulus': + if ( $bc ) { + $result = bcmod( $number1, $number2 ); // String, or NULL if modulus is 0. + } + elseif ( $number2 != 0 ) { + $result = ( $number1 % $number2 ); + } + + if ( ! isset( $result ) ) { + $result = 0; + } + break; + + case '=': + case 'comp': + case 'compare': + $compare = true; + if ( $bc ) { + $result = bccomp( $number1, $number2, $precision ); // Returns int 0, 1 or -1. + } + else { + $result = ( $number1 == $number2 ) ? 0 : ( ( $number1 > $number2 ) ? 1 : - 1 ); + } + break; + } + + if ( isset( $result ) ) { + if ( $compare === false ) { + if ( $round === true ) { + $result = round( floatval( $result ), $decimals ); + if ( $decimals === 0 ) { + $result = (int) $result; + } + } + else { + $result = ( intval( $result ) == $result ) ? intval( $result ) : floatval( $result ); + } + } + + return $result; + } + + return false; + } + + /** + * Trim whitespace and NBSP (Non-breaking space) from string + * + * @since 2.0.0 + * + * @param string $string String input to trim. + * + * @return string + */ + public static function trim_nbsp_from_string( $string ) { + $find = array( ' ', chr( 0xC2 ) . chr( 0xA0 ) ); + $string = str_replace( $find, ' ', $string ); + $string = trim( $string ); + + return $string; + } + + /** + * Check if a string is a valid datetime + * + * @since 2.0.0 + * + * @param string $datetime String input to check as valid input for DateTime class. + * + * @return bool + */ + public static function is_valid_datetime( $datetime ) { + + if ( substr( $datetime, 0, 1 ) === '-' ) { + return false; + } + + try { + return new DateTime( $datetime ) !== false; + } catch ( Exception $exc ) { + return false; + } + } + + /** + * Format the URL to be sure it is okay for using as a redirect url. + * + * This method will parse the URL and combine them in one string. + * + * @since 2.3.0 + * + * @param string $url URL string. + * + * @return mixed + */ + public static function format_url( $url ) { + $parsed_url = wp_parse_url( $url ); + + $formatted_url = ''; + if ( ! empty( $parsed_url['path'] ) ) { + $formatted_url = $parsed_url['path']; + } + + // Prepend a slash if first char != slash. + if ( stripos( $formatted_url, '/' ) !== 0 ) { + $formatted_url = '/' . $formatted_url; + } + + // Append 'query' string if it exists. + if ( isset( $parsed_url['query'] ) && '' != $parsed_url['query'] ) { + $formatted_url .= '?' . $parsed_url['query']; + } + + return apply_filters( 'wpseo_format_admin_url', $formatted_url ); + } + + + /** + * Get plugin name from file + * + * @since 2.3.3 + * + * @param string $plugin Plugin path relative to plugins directory. + * + * @return string|bool + */ + public static function get_plugin_name( $plugin ) { + $plugin_details = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin ); + + if ( $plugin_details['Name'] != '' ) { + return $plugin_details['Name']; + } + + return false; + } + + /** + * Retrieves the sitename. + * + * @since 3.0.0 + * + * @return string + */ + public static function get_site_name() { + return trim( strip_tags( get_bloginfo( 'name' ) ) ); + } + + /** + * Retrieves the title separator. + * + * @since 3.0.0 + * + * @return string + */ + public static function get_title_separator() { + $replacement = WPSEO_Options::get_default( 'wpseo_titles', 'separator' ); + + // Get the titles option and the separator options. + $titles_options = WPSEO_Options::get_option( 'wpseo_titles' ); + $seperator_options = WPSEO_Option_Titles::get_instance()->get_separator_options(); + + // This should always be set, but just to be sure. + if ( isset( $seperator_options[ $titles_options['separator'] ] ) ) { + // Set the new replacement. + $replacement = $seperator_options[ $titles_options['separator'] ]; + } + + /** + * Filter: 'wpseo_replacements_filter_sep' - Allow customization of the separator character(s) + * + * @api string $replacement The current separator + */ + return apply_filters( 'wpseo_replacements_filter_sep', $replacement ); + } + + /** + * Check if the current opened page is a Yoast SEO page. + * + * @since 3.0.0 + * + * @return bool + */ + public static function is_yoast_seo_page() { + static $is_yoast_seo; + + if ( $is_yoast_seo === null ) { + $current_page = filter_input( INPUT_GET, 'page' ); + $is_yoast_seo = ( substr( $current_page, 0, 6 ) === 'wpseo_' ); + } + + return $is_yoast_seo; + } + + /** + * Check if the current opened page belongs to Yoast SEO Free. + * + * @since 3.3.0 + * + * @param string $current_page the current page the user is on. + * + * @return bool + */ + public static function is_yoast_seo_free_page( $current_page ) { + $yoast_seo_free_pages = array( + 'wpseo_dashboard', + 'wpseo_titles', + 'wpseo_social', + 'wpseo_xml', + 'wpseo_advanced', + 'wpseo_tools', + 'wpseo_search_console', + 'wpseo_licenses', + ); + + return in_array( $current_page, $yoast_seo_free_pages ); + } + + /** + * Checks if we are in the premium or free plugin. + * + * @return bool True when we are in the premium plugin. + */ + public static function is_yoast_seo_premium() { + return defined( 'WPSEO_PREMIUM_PLUGIN_FILE' ); + } + + /** + * Determine if Yoast SEO is in development mode? + * + * Inspired by JetPack (https://github.com/Automattic/jetpack/blob/master/class.jetpack.php#L1383-L1406). + * + * @since 3.0.0 + * + * @return bool + */ + public static function is_development_mode() { + $development_mode = false; + + if ( defined( 'WPSEO_DEBUG' ) ) { + $development_mode = WPSEO_DEBUG; + } + elseif ( site_url() && false === strpos( site_url(), '.' ) ) { + $development_mode = true; + } + + /** + * Filter the Yoast SEO development mode. + * + * @since 3.0 + * + * @param bool $development_mode Is Yoast SEOs development mode active. + */ + + return apply_filters( 'yoast_seo_development_mode', $development_mode ); + } + + /** + * Retrieve home URL with proper trailing slash. + * + * @since 3.3.0 + * + * @param string $path Path relative to home URL. + * @param string|null $scheme Scheme to apply. + * + * @return string Home URL with optional path, appropriately slashed if not. + */ + public static function home_url( $path = '', $scheme = null ) { + + $home_url = home_url( $path, $scheme ); + + if ( ! empty( $path ) ) { + return $home_url; + } + + // @todo Replace with call to wp_parse_url() once minimum requirement has gone up to WP 4.7. + $home_path = parse_url( $home_url, PHP_URL_PATH ); + + if ( '/' === $home_path ) { // Home at site root, already slashed. + return $home_url; + } + + if ( is_null( $home_path ) ) { // Home at site root, always slash. + return trailingslashit( $home_url ); + } + + if ( is_string( $home_path ) ) { // Home in subdirectory, slash if permalink structure has slash. + return user_trailingslashit( $home_url ); + } + + return $home_url; + } + + /** + * Returns a base64 URL for the svg for use in the menu + * + * @since 3.3.0 + * + * @param bool $base64 Whether or not to return base64'd output. + * + * @return string + */ + public static function get_icon_svg( $base64 = true ) { + $svg = ''; + + if ( $base64 ) { + return 'data:image/svg+xml;base64,' . base64_encode( $svg ); + } + + return $svg; + } + + /** + * Returns the language part of a given locale, defaults to english when the $locale is empty + * + * @since 3.4 + * + * @param string $locale The locale to get the language of. + * + * @returns string The language part of the locale. + */ + public static function get_language( $locale ) { + $language = 'en'; + + if ( ! empty( $locale ) && strlen( $locale ) >= 2 ) { + $language = substr( $locale, 0, 2 ); + } + + return $language; + } + + /** + * Returns the user locale for the language to be used in the admin. + * + * WordPress 4.7 introduced the ability for users to specify an Admin language + * different from the language used on the front end. This checks if the feature + * is available and returns the user's language, with a fallback to the site's language. + * Can be removed when support for WordPress 4.6 will be dropped, in favor + * of WordPress get_user_locale() that already fallbacks to the site’s locale. + * + * @since 4.1 + * + * @returns string The locale. + */ + public static function get_user_locale() { + if ( function_exists( 'get_user_locale' ) ) { + return get_user_locale(); + } + + return get_locale(); + } + + /** + * Checks if the WP-REST-API is available. + * + * @since 3.6 + * @since 3.7 Introduced the $minimum_version parameter. + * + * @param string $minimum_version The minimum version the API should be. + * + * @return bool Returns true if the API is available. + */ + public static function is_api_available( $minimum_version = '2.0' ) { + return ( defined( 'REST_API_VERSION' ) + && version_compare( REST_API_VERSION, $minimum_version, '>=' ) ); + } + + /********************** DEPRECATED METHODS **********************/ + + // @codeCoverageIgnoreStart + /** + * Wrapper for the PHP filter input function. + * + * This is used because stupidly enough, the `filter_input` function is not available on all hosts... + * + * @since 1.8.0 + * + * @deprecated 3.0 + * @deprecated Passes through to PHP call, no longer used in code. + * + * @param int $type Input type constant. + * @param string $variable_name Variable name to get. + * @param int $filter Filter to apply. + * + * @return mixed + */ + public static function filter_input( $type, $variable_name, $filter = FILTER_DEFAULT ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0', 'PHP native filter_input()' ); + + return filter_input( $type, $variable_name, $filter ); + } + + /** + * Adds a hook that when given option is updated, the XML sitemap transient cache is cleared + * + * @since 2.2.0 + * + * @deprecated 3.2 + * @see WPSEO_Sitemaps_Cache::register_clear_on_option_update() + * + * @param string $option Option name. + * @param string $type Sitemap type. + */ + public static function register_cache_clear_option( $option, $type = '' ) { + _deprecated_function( __METHOD__, 'WPSEO 3.2', 'WPSEO_Sitemaps_Cache::register_clear_on_option_update()' ); + WPSEO_Sitemaps_Cache::register_clear_on_option_update( $option, $type ); + } + + /** + * Clears the transient cache when a given option is updated, if that option has been registered before + * + * @since 2.2.0 + * + * @deprecated 3.2 + * @see WPSEO_Sitemaps_Cache::clear_on_option_update() + * + * @param string $option The option that's being updated. + */ + public static function clear_transient_cache( $option ) { + _deprecated_function( __METHOD__, 'WPSEO 3.2', 'WPSEO_Sitemaps_Cache::clear_on_option_update()' ); + WPSEO_Sitemaps_Cache::clear_on_option_update( $option ); + } + + /** + * Clear entire XML sitemap cache + * + * @since 1.8.0 + * + * @deprecated 3.2 + * @see WPSEO_Sitemaps_Cache::clear() + * + * @param array $types Set of sitemap types to invalidate cache for. + */ + public static function clear_sitemap_cache( $types = array() ) { + _deprecated_function( __METHOD__, 'WPSEO 3.2', 'WPSEO_Sitemaps_Cache::clear()' ); + WPSEO_Sitemaps_Cache::clear( $types ); + } + + /** + * Wrapper for encoding the array as a json string. Includes a fallback if wp_json_encode doesn't exist. + * + * @since 3.0.0 + * + * @deprecated 3.3 Core versions without wp_json_encode() no longer supported, fallback unnecessary. + * + * @param array $array_to_encode The array which will be encoded. + * @param int $options Optional. Array with options which will be passed in to the encoding methods. + * @param int $depth Optional. Maximum depth to walk through $data. Must be greater than 0. Default 512. + * + * @return false|string + */ + public static function json_encode( array $array_to_encode, $options = 0, $depth = 512 ) { + _deprecated_function( __METHOD__, 'WPSEO 3.3', 'wp_json_encode()' ); + + return wp_json_encode( $array_to_encode, $options, $depth ); + } + // @codeCoverageIgnoreEnd +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/index.php b/pole-sbv-content/plugins/wordpress-seo/inc/index.php new file mode 100644 index 00000000..e94d9a42 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/index.php @@ -0,0 +1,4 @@ +get_defaults(); + * + * {@internal Note: Some of the default values are added via the translate_defaults() method.}} + */ + protected $defaults = array( + 'breadcrumbs-404crumb' => '', // Text field. + 'breadcrumbs-blog-remove' => false, + 'breadcrumbs-boldlast' => false, + 'breadcrumbs-archiveprefix' => '', // Text field. + 'breadcrumbs-enable' => false, + 'breadcrumbs-home' => '', // Text field. + 'breadcrumbs-prefix' => '', // Text field. + 'breadcrumbs-searchprefix' => '', // Text field. + 'breadcrumbs-sep' => '»', // Text field. + + /** + * Uses enrich_defaults() to add more along the lines of: + * - 'post_types-' . $pt->name . '-maintax' => 0 / string + * - 'taxonomy-' . $tax->name . '-ptparent' => 0 / string + */ + ); + + /** + * @var array Array of variable option name patterns for the option + */ + protected $variable_array_key_patterns = array( + 'post_types-', + 'taxonomy-', + ); + + + /** + * Get the singleton instance of this class + * + * @return object + */ + public static function get_instance() { + if ( ! ( self::$instance instanceof self ) ) { + self::$instance = new self(); + } + + return self::$instance; + } + + + /** + * Translate strings used in the option defaults + * + * @return void + */ + public function translate_defaults() { + $this->defaults['breadcrumbs-404crumb'] = __( 'Error 404: Page not found', 'wordpress-seo' ); + $this->defaults['breadcrumbs-archiveprefix'] = __( 'Archives for', 'wordpress-seo' ); + $this->defaults['breadcrumbs-home'] = __( 'Home', 'wordpress-seo' ); + $this->defaults['breadcrumbs-searchprefix'] = __( 'You searched for', 'wordpress-seo' ); + } + + + /** + * Add dynamically created default options based on available post types and taxonomies + * + * @return void + */ + public function enrich_defaults() { + + // Retrieve all the relevant post type and taxonomy arrays. + $post_type_names = get_post_types( array( 'public' => true ), 'names' ); + $taxonomy_names_custom = get_taxonomies( + array( + 'public' => true, + '_builtin' => false, + ), + 'names' + ); + + if ( $post_type_names !== array() ) { + foreach ( $post_type_names as $pt ) { + $pto_taxonomies = get_object_taxonomies( $pt, 'names' ); + if ( $pto_taxonomies !== array() ) { + $this->defaults[ 'post_types-' . $pt . '-maintax' ] = 0; // Select box. + } + unset( $pto_taxonomies ); + } + unset( $pt ); + } + + if ( $taxonomy_names_custom !== array() ) { + foreach ( $taxonomy_names_custom as $tax ) { + $this->defaults[ 'taxonomy-' . $tax . '-ptparent' ] = 0; // Select box;. + } + unset( $tax ); + } + } + + + /** + * Validate the option + * + * @param array $dirty New value for the option. + * @param array $clean Clean value for the option, normally the defaults. + * @param array $old Old value of the option. + * + * @return array Validated clean value for the option to be saved to the database + */ + protected function validate_option( $dirty, $clean, $old ) { + + $allowed_post_types = $this->get_allowed_post_types(); + + foreach ( $clean as $key => $value ) { + + $switch_key = $this->get_switch_key( $key ); + + switch ( $switch_key ) { + /* text fields */ + case 'breadcrumbs-404crumb': + case 'breadcrumbs-archiveprefix': + case 'breadcrumbs-home': + case 'breadcrumbs-prefix': + case 'breadcrumbs-searchprefix': + case 'breadcrumbs-sep': + if ( isset( $dirty[ $key ] ) ) { + $clean[ $key ] = wp_kses_post( $dirty[ $key ] ); + } + break; + + + /* 'post_types-' . $pt->name . '-maintax' fields */ + case 'post_types-': + $post_type = str_replace( array( 'post_types-', '-maintax' ), '', $key ); + $taxonomies = get_object_taxonomies( $post_type, 'names' ); + + if ( isset( $dirty[ $key ] ) ) { + if ( $taxonomies !== array() && in_array( $dirty[ $key ], $taxonomies, true ) ) { + $clean[ $key ] = $dirty[ $key ]; + } + elseif ( (string) $dirty[ $key ] === '0' || (string) $dirty[ $key ] === '' ) { + $clean[ $key ] = 0; + } + elseif ( sanitize_title_with_dashes( $dirty[ $key ] ) === $dirty[ $key ] ) { + // Allow taxonomies which may not be registered yet. + $clean[ $key ] = $dirty[ $key ]; + } + else { + if ( isset( $old[ $key ] ) ) { + $clean[ $key ] = sanitize_title_with_dashes( $old[ $key ] ); + } + if ( function_exists( 'add_settings_error' ) ) { + /** + * @todo [JRF => whomever] maybe change the untranslated $pt name in the + * error message to the nicely translated label ? + */ + add_settings_error( + $this->group_name, // Slug title of the setting. + '_' . $key, // Suffix-id for the error message box. + /* translators: %s expands to a post type. */ + sprintf( __( 'Please select a valid taxonomy for post type "%s"', 'wordpress-seo' ), $post_type ), // The error message. + 'error' // Error type, either 'error' or 'updated'. + ); + } + } + } + elseif ( isset( $old[ $key ] ) ) { + $clean[ $key ] = sanitize_title_with_dashes( $old[ $key ] ); + } + unset( $taxonomies, $post_type ); + break; + + + /* 'taxonomy-' . $tax->name . '-ptparent' fields */ + case 'taxonomy-': + if ( isset( $dirty[ $key ] ) ) { + if ( $allowed_post_types !== array() && in_array( $dirty[ $key ], $allowed_post_types, true ) ) { + $clean[ $key ] = $dirty[ $key ]; + } + elseif ( (string) $dirty[ $key ] === '0' || (string) $dirty[ $key ] === '' ) { + $clean[ $key ] = 0; + } + elseif ( sanitize_key( $dirty[ $key ] ) === $dirty[ $key ] ) { + // Allow taxonomies which may not be registered yet. + $clean[ $key ] = $dirty[ $key ]; + } + else { + if ( isset( $old[ $key ] ) ) { + $clean[ $key ] = sanitize_key( $old[ $key ] ); + } + if ( function_exists( 'add_settings_error' ) ) { + /** + * @todo [JRF =? whomever] maybe change the untranslated $tax name in the + * error message to the nicely translated label ? + */ + $tax = str_replace( array( 'taxonomy-', '-ptparent' ), '', $key ); + add_settings_error( + $this->group_name, // Slug title of the setting. + '_' . $tax, // Suffix-id for the error message box. + /* translators: %s expands to a taxonomy slug. */ + sprintf( __( 'Please select a valid post type for taxonomy "%s"', 'wordpress-seo' ), $tax ), // The error message. + 'error' // Error type, either 'error' or 'updated'. + ); + unset( $tax ); + } + } + } + elseif ( isset( $old[ $key ] ) ) { + $clean[ $key ] = sanitize_key( $old[ $key ] ); + } + break; + + + /* + Boolean fields + */ + + /* + Covers: + * 'breadcrumbs-blog-remove' + * 'breadcrumbs-boldlast' + * 'breadcrumbs-enable' + */ + default: + $clean[ $key ] = ( isset( $dirty[ $key ] ) ? WPSEO_Utils::validate_bool( $dirty[ $key ] ) : false ); + break; + } + } + + return $clean; + } + + + /** + * Retrieve a list of the allowed post types as breadcrumb parent for a taxonomy + * Helper method for validation + * + * {@internal Don't make static as new types may still be registered.}} + * + * @return array + */ + protected function get_allowed_post_types() { + $allowed_post_types = array(); + + $post_types = get_post_types( array( 'public' => true ), 'objects' ); + + if ( get_option( 'show_on_front' ) == 'page' && get_option( 'page_for_posts' ) > 0 ) { + $allowed_post_types[] = 'post'; + } + + if ( is_array( $post_types ) && $post_types !== array() ) { + foreach ( $post_types as $type ) { + if ( $type->has_archive ) { + $allowed_post_types[] = $type->name; + } + } + } + + return $allowed_post_types; + } + + + /** + * Clean a given option value + * + * @param array $option_value Old (not merged with defaults or filtered) option value to + * clean according to the rules for this option. + * @param string $current_version (optional) Version from which to upgrade, if not set, + * version specific upgrades will be disregarded. + * @param array $all_old_option_values (optional) Only used when importing old options to have + * access to the real old values, in contrast to the saved ones. + * + * @return array Cleaned option + */ + protected function clean_option( $option_value, $current_version = null, $all_old_option_values = null ) { + + /* Make sure the old fall-back defaults for empty option keys are now added to the option */ + if ( isset( $current_version ) && version_compare( $current_version, '1.5.2.3', '<' ) ) { + if ( has_action( 'init', array( 'WPSEO_Options', 'bring_back_breadcrumb_defaults' ) ) === false ) { + add_action( 'init', array( 'WPSEO_Options', 'bring_back_breadcrumb_defaults' ), 3 ); + } + } + + /* + * Make sure the values of the variable option key options are cleaned as they + * may be retained and would not be cleaned/validated then. + */ + if ( is_array( $option_value ) && $option_value !== array() ) { + + $allowed_post_types = $this->get_allowed_post_types(); + + foreach ( $option_value as $key => $value ) { + $switch_key = $this->get_switch_key( $key ); + + // Similar to validation routine - any changes made there should be made here too. + switch ( $switch_key ) { + /* 'post_types-' . $pt->name . '-maintax' fields */ + case 'post_types-': + $post_type = str_replace( array( 'post_types-', '-maintax' ), '', $key ); + $taxonomies = get_object_taxonomies( $post_type, 'names' ); + + if ( $taxonomies !== array() && in_array( $value, $taxonomies, true ) ) { + $option_value[ $key ] = $value; + } + elseif ( (string) $value === '0' || (string) $value === '' ) { + $option_value[ $key ] = 0; + } + elseif ( sanitize_title_with_dashes( $value ) === $value ) { + // Allow taxonomies which may not be registered yet. + $option_value[ $key ] = $value; + } + unset( $taxonomies, $post_type ); + break; + + + /* 'taxonomy-' . $tax->name . '-ptparent' fields */ + case 'taxonomy-': + if ( $allowed_post_types !== array() && in_array( $value, $allowed_post_types, true ) ) { + $option_value[ $key ] = $value; + } + elseif ( (string) $value === '0' || (string) $value === '' ) { + $option_value[ $key ] = 0; + } + elseif ( sanitize_key( $option_value[ $key ] ) === $option_value[ $key ] ) { + // Allow post types which may not be registered yet. + $option_value[ $key ] = $value; + } + break; + } + } + } + + return $option_value; + } + + /** + * With the changes to v1.5, the defaults for some of the textual breadcrumb settings are added + * dynamically, but empty strings are allowed. + * This caused issues for people who left the fields empty on purpose relying on the defaults. + * This little routine fixes that. + * Needs to be run on 'init' hook at prio 3 to make sure the defaults are translated. + */ + public function bring_back_defaults() { + $option = get_option( $this->option_name ); + + $values_to_bring_back = array( + 'breadcrumbs-404crumb', + 'breadcrumbs-archiveprefix', + 'breadcrumbs-home', + 'breadcrumbs-searchprefix', + 'breadcrumbs-sep', + ); + foreach ( $values_to_bring_back as $key ) { + if ( $option[ $key ] === '' && $this->defaults[ $key ] !== '' ) { + $option[ $key ] = $this->defaults[ $key ]; + } + } + update_option( $this->option_name, $option ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-ms.php b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-ms.php new file mode 100644 index 00000000..b7406d33 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-ms.php @@ -0,0 +1,227 @@ +get_defaults(); + */ + protected $defaults = array( + 'access' => 'admin', + 'defaultblog' => '', // Numeric blog ID or empty. + ); + + /** + * @var array $allowed_access_options Available options for the 'access' setting + * Used for input validation + * + * @static + * + * {@internal Important: Make sure the options added to the array here are in line + * with the keys for the options set for the select box in the + * admin/pages/network.php file.}} + */ + public static $allowed_access_options = array( + 'admin', + 'superadmin', + ); + + + /** + * Get the singleton instance of this class + * + * @return object + */ + public static function get_instance() { + if ( ! ( self::$instance instanceof self ) ) { + self::$instance = new self(); + } + + return self::$instance; + } + + /** + * Only run parent constructor in multisite context. + */ + public function __construct() { + if ( is_multisite() ) { + parent::__construct(); + } + } + + /** + * Add filters to make sure that the option default is returned if the option is not set + * + * @return void + */ + public function add_default_filters() { + // Don't change, needs to check for false as could return prio 0 which would evaluate to false. + if ( has_filter( 'default_site_option_' . $this->option_name, array( $this, 'get_defaults' ) ) === false ) { + add_filter( 'default_site_option_' . $this->option_name, array( $this, 'get_defaults' ) ); + } + } + + + /** + * Remove the default filters. + * Called from the validate() method to prevent failure to add new options + * + * @return void + */ + public function remove_default_filters() { + remove_filter( 'default_site_option_' . $this->option_name, array( $this, 'get_defaults' ) ); + } + + + /** + * Add filters to make sure that the option is merged with its defaults before being returned + * + * @return void + */ + public function add_option_filters() { + // Don't change, needs to check for false as could return prio 0 which would evaluate to false. + if ( has_filter( 'site_option_' . $this->option_name, array( $this, 'get_option' ) ) === false ) { + add_filter( 'site_option_' . $this->option_name, array( $this, 'get_option' ) ); + } + } + + + /** + * Remove the option filters. + * Called from the clean_up methods to make sure we retrieve the original old option + * + * @return void + */ + public function remove_option_filters() { + remove_filter( 'site_option_' . $this->option_name, array( $this, 'get_option' ) ); + } + + + /* *********** METHODS influencing add_uption(), update_option() and saving from admin pages *********** */ + + + /** + * Validate the option + * + * @param array $dirty New value for the option. + * @param array $clean Clean value for the option, normally the defaults. + * @param array $old Old value of the option. + * + * @return array Validated clean value for the option to be saved to the database + */ + protected function validate_option( $dirty, $clean, $old ) { + + foreach ( $clean as $key => $value ) { + switch ( $key ) { + case 'access': + if ( isset( $dirty[ $key ] ) && in_array( $dirty[ $key ], self::$allowed_access_options, true ) ) { + $clean[ $key ] = $dirty[ $key ]; + } + elseif ( function_exists( 'add_settings_error' ) ) { + add_settings_error( + $this->group_name, // Slug title of the setting. + '_' . $key, // Suffix-id for the error message box. + /* translators: %1$s expands to the option name and %2$sexpands to Yoast SEO */ + sprintf( __( '%1$s is not a valid choice for who should be allowed access to the %2$s settings. Value reset to the default.', 'wordpress-seo' ), esc_html( sanitize_text_field( $dirty[ $key ] ) ), 'Yoast SEO' ), // The error message. + 'error' // Error type, either 'error' or 'updated'. + ); + } + break; + + + case 'defaultblog': + if ( isset( $dirty[ $key ] ) && ( $dirty[ $key ] !== '' && $dirty[ $key ] !== '-' ) ) { + $int = WPSEO_Utils::validate_int( $dirty[ $key ] ); + if ( $int !== false && $int > 0 ) { + // Check if a valid blog number has been received. + $exists = get_blog_details( $int, false ); + if ( $exists && $exists->deleted == 0 ) { + $clean[ $key ] = $int; + } + elseif ( function_exists( 'add_settings_error' ) ) { + add_settings_error( + $this->group_name, // Slug title of the setting. + '_' . $key, // Suffix-id for the error message box. + esc_html__( 'The default blog setting must be the numeric blog id of the blog you want to use as default.', 'wordpress-seo' ) + . '
    ' + . sprintf( + /* translators: %s is the ID number of a blog. */ + esc_html__( 'This must be an existing blog. Blog %s does not exist or has been marked as deleted.', 'wordpress-seo' ), + '' . esc_html( sanitize_text_field( $dirty[ $key ] ) ) . '' + ), // The error message. + 'error' // Error type, either 'error' or 'updated'. + ); + } + unset( $exists ); + } + elseif ( function_exists( 'add_settings_error' ) ) { + add_settings_error( + $this->group_name, // Slug title of the setting. + '_' . $key, // Suffix-id for the error message box. + esc_html__( 'The default blog setting must be the numeric blog id of the blog you want to use as default.', 'wordpress-seo' ) . '
    ' . esc_html__( 'No numeric value was received.', 'wordpress-seo' ), // The error message. + 'error' // Error type, either 'error' or 'updated'. + ); + } + unset( $int ); + } + break; + + default: + $clean[ $key ] = ( isset( $dirty[ $key ] ) ? WPSEO_Utils::validate_bool( $dirty[ $key ] ) : false ); + break; + } + } + + return $clean; + } + + + /** + * Clean a given option value + * + * @param array $option_value Old (not merged with defaults or filtered) option value to + * clean according to the rules for this option. + * @param string $current_version (optional) Version from which to upgrade, if not set, + * version specific upgrades will be disregarded. + * @param array $all_old_option_values (optional) Only used when importing old options to have + * access to the real old values, in contrast to the saved ones. + * + * @return array Cleaned option + */ + + /* + Protected function clean_option( $option_value, $current_version = null, $all_old_option_values = null ) { + + return $option_value; + } + */ +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-permalinks.php b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-permalinks.php new file mode 100644 index 00000000..c7a975d9 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-permalinks.php @@ -0,0 +1,131 @@ +get_defaults(); + */ + protected $defaults = array( + 'cleanpermalinks' => false, + 'cleanpermalink-extravars' => '', // Text field. + 'cleanpermalink-googlecampaign' => false, + 'cleanpermalink-googlesitesearch' => false, + 'cleanreplytocom' => false, + 'cleanslugs' => true, + 'redirectattachment' => false, + 'stripcategorybase' => false, + 'trailingslash' => false, + ); + + + /** + * Add the actions and filters for the option + * + * @todo [JRF => testers] Check if the extra actions below would run into problems if an option + * is updated early on and if so, change the call to schedule these for a later action on add/update + * instead of running them straight away + * + * @return \WPSEO_Option_Permalinks + */ + protected function __construct() { + parent::__construct(); + add_action( 'update_option_' . $this->option_name, array( 'WPSEO_Utils', 'clear_rewrites' ) ); + } + + + /** + * Get the singleton instance of this class + * + * @return object + */ + public static function get_instance() { + if ( ! ( self::$instance instanceof self ) ) { + self::$instance = new self(); + } + + return self::$instance; + } + + + /** + * Validate the option + * + * @param array $dirty New value for the option. + * @param array $clean Clean value for the option, normally the defaults. + * @param array $old Old value of the option (not used here as all fields will always be in the form). + * + * @return array Validated clean value for the option to be saved to the database + */ + protected function validate_option( $dirty, $clean, $old ) { + + foreach ( $clean as $key => $value ) { + switch ( $key ) { + /* text fields */ + case 'cleanpermalink-extravars': + if ( isset( $dirty[ $key ] ) && $dirty[ $key ] !== '' ) { + $clean[ $key ] = sanitize_text_field( $dirty[ $key ] ); + } + break; + + /* + Boolean (checkbox) fields + */ + + /* + Covers: + * 'cleanpermalinks' + * 'cleanpermalink-googlesitesearch' + * 'cleanpermalink-googlecampaign' + * 'cleanreplytocom' + * 'cleanslugs' + * 'hide-rsdlink' + * 'hide-wlwmanifest' + * 'hide-shortlink' + * 'hide-feedlinks' + * 'redirectattachment' + * 'stripcategorybase' + * 'trailingslash' + */ + default: + $clean[ $key ] = ( isset( $dirty[ $key ] ) ? WPSEO_Utils::validate_bool( $dirty[ $key ] ) : false ); + break; + } + } + + return $clean; + } + + + /** + * Clean a given option value + * + * @param array $option_value Old (not merged with defaults or filtered) option value to + * clean according to the rules for this option. + * @param string $current_version (optional) Version from which to upgrade, if not set, + * version specific upgrades will be disregarded. + * @param array $all_old_option_values (optional) Only used when importing old options to have + * access to the real old values, in contrast to the saved ones. + * + * @return array Cleaned option + */ + + /* + Protected function clean_option( $option_value, $current_version = null, $all_old_option_values = null ) { + + return $option_value; + } + */ +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-rss.php b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-rss.php new file mode 100644 index 00000000..ba76bad1 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-rss.php @@ -0,0 +1,71 @@ +get_defaults(); + * + * {@internal Note: Some of the default values are added via the translate_defaults() method.}} + */ + protected $defaults = array( + 'rssbefore' => '', // Text area. + 'rssafter' => '', // Text area. + ); + + + /** + * Get the singleton instance of this class + * + * @return object + */ + public static function get_instance() { + if ( ! ( self::$instance instanceof self ) ) { + self::$instance = new self(); + } + + return self::$instance; + } + + + /** + * Translate strings used in the option defaults + * + * @return void + */ + public function translate_defaults() { + /* translators: 1: link to post; 2: link to blog. */ + $this->defaults['rssafter'] = sprintf( __( 'The post %1$s appeared first on %2$s.', 'wordpress-seo' ), '%%POSTLINK%%', '%%BLOGLINK%%' ); + } + + + /** + * Validate the option + * + * @param array $dirty New value for the option. + * @param array $clean Clean value for the option, normally the defaults. + * @param array $old Old value of the option. + * + * @return array Validated clean value for the option to be saved to the database + */ + protected function validate_option( $dirty, $clean, $old ) { + foreach ( $clean as $key => $value ) { + if ( isset( $dirty[ $key ] ) ) { + $clean[ $key ] = wp_kses_post( $dirty[ $key ] ); + } + } + + return $clean; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-social.php b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-social.php new file mode 100644 index 00000000..e0a008db --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-social.php @@ -0,0 +1,323 @@ +get_defaults(); + */ + protected $defaults = array( + // Non-form fields, set via procedural code in admin/pages/social.php. + 'fb_admins' => array(), // Array of user id's => array( name => '', link => '' ). + + // Non-form field, set via translate_defaults() and validate_option() methods. + 'fbconnectkey' => '', + // Form fields: + 'facebook_site' => '', // Text field. + 'instagram_url' => '', + 'linkedin_url' => '', + 'myspace_url' => '', + 'og_default_image' => '', // Text field. + 'og_frontpage_title' => '', // Text field. + 'og_frontpage_desc' => '', // Text field. + 'og_frontpage_image' => '', // Text field. + 'opengraph' => true, + 'pinterest_url' => '', + 'pinterestverify' => '', + 'plus-publisher' => '', // Text field. + 'twitter' => true, + 'twitter_site' => '', // Text field. + 'twitter_card_type' => 'summary', + 'youtube_url' => '', + 'google_plus_url' => '', + // Form field, but not always available: + 'fbadminapp' => '', // Facebook app ID. + ); + + /** + * @var array Array of sub-options which should not be overloaded with multi-site defaults + */ + public $ms_exclude = array( + /* privacy */ + 'fb_admins', + 'fbconnectkey', + 'fbadminapp', + 'pinterestverify', + ); + + + /** + * @var array Array of allowed twitter card types + * While we only have the options summary and summary_large_image in the + * interface now, we might change that at some point. + * + * {@internal Uncomment any of these to allow them in validation *and* automatically + * add them as a choice in the options page.}} + */ + public static $twitter_card_types = array( + 'summary' => '', + 'summary_large_image' => '', + // 'photo' => '', + // 'gallery' => '', + // 'app' => '', + // 'player' => '', + // 'product' => '', + ); + + + /** + * Get the singleton instance of this class + * + * @return object + */ + public static function get_instance() { + if ( ! ( self::$instance instanceof self ) ) { + self::$instance = new self(); + } + + return self::$instance; + } + + + /** + * Translate/set strings used in the option defaults + * + * @return void + */ + public function translate_defaults() { + /* Auto-magically set the fb connect key */ + $this->defaults['fbconnectkey'] = self::get_fbconnectkey(); + + self::$twitter_card_types['summary'] = __( 'Summary', 'wordpress-seo' ); + self::$twitter_card_types['summary_large_image'] = __( 'Summary with large image', 'wordpress-seo' ); + } + + + /** + * Get a Facebook connect key for the blog + * + * @static + * @return string + */ + public static function get_fbconnectkey() { + return md5( get_bloginfo( 'url' ) . rand() ); + } + + + /** + * Validate the option + * + * @param array $dirty New value for the option. + * @param array $clean Clean value for the option, normally the defaults. + * @param array $old Old value of the option. + * + * @return array Validated clean value for the option to be saved to the database + */ + protected function validate_option( $dirty, $clean, $old ) { + + foreach ( $clean as $key => $value ) { + switch ( $key ) { + /* Automagic Facebook connect key */ + case 'fbconnectkey': + if ( ( isset( $old[ $key ] ) && $old[ $key ] !== '' ) && preg_match( '`^[a-f0-9]{32}$`', $old[ $key ] ) > 0 ) { + $clean[ $key ] = $old[ $key ]; + } + else { + $clean[ $key ] = self::get_fbconnectkey(); + } + break; + + + /* Will not always exist in form */ + case 'fb_admins': + if ( isset( $dirty[ $key ] ) && is_array( $dirty[ $key ] ) ) { + if ( $dirty[ $key ] === array() ) { + $clean[ $key ] = array(); + } + else { + foreach ( $dirty[ $key ] as $user_id => $fb_array ) { + /* + * @todo [JRF/JRF => Yoast/whomever] add user_id validation - + * are these WP user-ids or FB user-ids ? Probably FB user-ids, + * if so, find out the rules for FB user-ids + */ + if ( is_array( $fb_array ) && $fb_array !== array() ) { + foreach ( $fb_array as $fb_key => $fb_value ) { + switch ( $fb_key ) { + case 'name': + /** + * @todo [JRF => whomever] add validation for name based + * on rules if there are any + * Input comes from: $_GET['userrealname'] + */ + $clean[ $key ][ $user_id ][ $fb_key ] = sanitize_text_field( $fb_value ); + break; + + case 'link': + $clean[ $key ][ $user_id ][ $fb_key ] = WPSEO_Utils::sanitize_url( $fb_value ); + break; + } + } + } + } + unset( $user_id, $fb_array, $fb_key, $fb_value ); + } + } + elseif ( isset( $old[ $key ] ) && is_array( $old[ $key ] ) ) { + $clean[ $key ] = $old[ $key ]; + } + break; + + /* text fields */ + case 'og_frontpage_desc': + case 'og_frontpage_title': + if ( isset( $dirty[ $key ] ) && $dirty[ $key ] !== '' ) { + $clean[ $key ] = WPSEO_Utils::sanitize_text_field( $dirty[ $key ] ); + } + break; + + + /* url text fields - no ftp allowed */ + case 'facebook_site': + case 'instagram_url': + case 'linkedin_url': + case 'myspace_url': + case 'pinterest_url': + case 'plus-publisher': + case 'og_default_image': + case 'og_frontpage_image': + case 'youtube_url': + case 'google_plus_url': + $this->validate_url( $key, $dirty, $old, $clean ); + break; + + case 'pinterestverify': + $this->validate_verification_string( $key, $dirty, $old, $clean ); + break; + + /* twitter user name */ + case 'twitter_site': + if ( isset( $dirty[ $key ] ) && $dirty[ $key ] !== '' ) { + $twitter_id = sanitize_text_field( ltrim( $dirty[ $key ], '@' ) ); + /** + * From the Twitter documentation about twitter screen names: + * Typically a maximum of 15 characters long, but some historical accounts + * may exist with longer names. + * A username can only contain alphanumeric characters (letters A-Z, numbers 0-9) + * with the exception of underscores + * + * @link https://support.twitter.com/articles/101299-why-can-t-i-register-certain-usernames + * @link https://dev.twitter.com/docs/platform-objects/users + */ + if ( preg_match( '`^[A-Za-z0-9_]{1,25}$`', $twitter_id ) ) { + $clean[ $key ] = $twitter_id; + } + elseif ( preg_match( '`^http(?:s)?://(?:www\.)?twitter\.com/(?P[A-Za-z0-9_]{1,25})/?$`', $twitter_id, $matches ) ) { + $clean[ $key ] = $matches['handle']; + } + else { + if ( isset( $old[ $key ] ) && $old[ $key ] !== '' ) { + $twitter_id = sanitize_text_field( ltrim( $old[ $key ], '@' ) ); + if ( preg_match( '`^[A-Za-z0-9_]{1,25}$`', $twitter_id ) ) { + $clean[ $key ] = $twitter_id; + } + } + if ( function_exists( 'add_settings_error' ) ) { + add_settings_error( + $this->group_name, // Slug title of the setting. + '_' . $key, // Suffix-id for the error message box. + sprintf( + /* translators: %s expands to a twitter user name. */ + __( '%s does not seem to be a valid Twitter user-id. Please correct.', 'wordpress-seo' ), + '' . esc_html( sanitize_text_field( $dirty[ $key ] ) ) . '' + ), // The error message. + 'error' // Error type, either 'error' or 'updated'. + ); + } + } + unset( $twitter_id ); + } + break; + + case 'twitter_card_type': + if ( isset( $dirty[ $key ], self::$twitter_card_types[ $dirty[ $key ] ] ) && $dirty[ $key ] !== '' ) { + $clean[ $key ] = $dirty[ $key ]; + } + break; + + /* boolean fields */ + case 'opengraph': + case 'twitter': + $clean[ $key ] = ( isset( $dirty[ $key ] ) ? WPSEO_Utils::validate_bool( $dirty[ $key ] ) : false ); + break; + } + } + + /** + * Only validate 'fbadminapp', so leave the clean default. + */ + if ( isset( $dirty['fbadminapp'] ) && ! empty( $dirty['fbadminapp'] ) ) { + $clean['fbadminapp'] = $dirty['fbadminapp']; + } + + + return $clean; + } + + + /** + * Clean a given option value + * + * @param array $option_value Old (not merged with defaults or filtered) option value to + * clean according to the rules for this option. + * @param string $current_version (optional) Version from which to upgrade, if not set, + * version specific upgrades will be disregarded. + * @param array $all_old_option_values (optional) Only used when importing old options to have + * access to the real old values, in contrast to the saved ones. + * + * @return array Cleaned option + */ + protected function clean_option( $option_value, $current_version = null, $all_old_option_values = null ) { + + /* Move options from very old option to this one */ + $old_option = null; + if ( isset( $all_old_option_values ) ) { + // Ok, we have an import. + if ( isset( $all_old_option_values['wpseo_indexation'] ) && is_array( $all_old_option_values['wpseo_indexation'] ) && $all_old_option_values['wpseo_indexation'] !== array() ) { + $old_option = $all_old_option_values['wpseo_indexation']; + } + } + else { + $old_option = get_option( 'wpseo_indexation' ); + } + + if ( is_array( $old_option ) && $old_option !== array() ) { + $move = array( + 'opengraph', + 'fb_adminid', + 'fb_appid', + ); + foreach ( $move as $key ) { + if ( isset( $old_option[ $key ] ) && ! isset( $option_value[ $key ] ) ) { + $option_value[ $key ] = $old_option[ $key ]; + } + } + unset( $move, $key ); + } + unset( $old_option ); + + + return $option_value; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-titles.php b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-titles.php new file mode 100644 index 00000000..f86a2a7f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-titles.php @@ -0,0 +1,624 @@ +get_defaults(); + * + * {@internal Note: Some of the default values are added via the translate_defaults() method.}} + */ + protected $defaults = array( + // Non-form fields, set via (ajax) function. + 'title_test' => 0, + // Form fields. + 'forcerewritetitle' => false, + 'separator' => 'sc-dash', + 'usemetakeywords' => false, + 'title-home-wpseo' => '%%sitename%% %%page%% %%sep%% %%sitedesc%%', // Text field. + 'title-author-wpseo' => '', // Text field. + 'title-archive-wpseo' => '%%date%% %%page%% %%sep%% %%sitename%%', // Text field. + 'title-search-wpseo' => '', // Text field. + 'title-404-wpseo' => '', // Text field. + + 'metadesc-home-wpseo' => '', // Text area. + 'metadesc-author-wpseo' => '', // Text area. + 'metadesc-archive-wpseo' => '', // Text area. + 'metakey-home-wpseo' => '', // Text field. + 'metakey-author-wpseo' => '', // Text field. + + 'noindex-subpages-wpseo' => false, + 'noindex-author-wpseo' => false, + 'noindex-archive-wpseo' => true, + + 'disable-author' => false, + 'disable-date' => false, + 'disable-post_format' => false, + + /** + * Uses enrich_defaults to add more along the lines of: + * - 'title-' . $pt->name => ''; // Text field. + * - 'metadesc-' . $pt->name => ''; // Text field. + * - 'metakey-' . $pt->name => ''; // Text field. + * - 'noindex-' . $pt->name => false; + * - 'showdate-' . $pt->name => false; + * - 'hideeditbox-' . $pt->name => false; + * + * - 'title-ptarchive-' . $pt->name => ''; // Text field. + * - 'metadesc-ptarchive-' . $pt->name => ''; // Text field. + * - 'metakey-ptarchive-' . $pt->name => ''; // Text field. + * - 'bctitle-ptarchive-' . $pt->name => ''; // Text field. + * - 'noindex-ptarchive-' . $pt->name => false; + * + * - 'title-tax-' . $tax->name => '''; // Text field. + * - 'metadesc-tax-' . $tax->name => ''; // Text field. + * - 'metakey-tax-' . $tax->name => ''; // Text field. + * - 'noindex-tax-' . $tax->name => false; + * - 'hideeditbox-tax-' . $tax->name => false; + */ + ); + + /** + * @var array Array of variable option name patterns for the option + */ + protected $variable_array_key_patterns = array( + 'title-', + 'metadesc-', + 'metakey-', + 'noindex-', + 'showdate-', + 'hideeditbox-', + 'bctitle-ptarchive-', + ); + + /** + * @var array Array of sub-options which should not be overloaded with multi-site defaults + */ + public $ms_exclude = array( + /* theme dependent */ + 'title_test', + 'forcerewritetitle', + ); + + /** + * @var array Array of the separator options. To get these options use WPSEO_Option_Titles::get_instance()->get_separator_options() + */ + private $separator_options = array( + 'sc-dash' => '-', + 'sc-ndash' => '–', + 'sc-mdash' => '—', + 'sc-middot' => '·', + 'sc-bull' => '•', + 'sc-star' => '*', + 'sc-smstar' => '⋆', + 'sc-pipe' => '|', + 'sc-tilde' => '~', + 'sc-laquo' => '«', + 'sc-raquo' => '»', + 'sc-lt' => '<', + 'sc-gt' => '>', + ); + + /** + * Add the actions and filters for the option + * + * @todo [JRF => testers] Check if the extra actions below would run into problems if an option + * is updated early on and if so, change the call to schedule these for a later action on add/update + * instead of running them straight away + * + * @return \WPSEO_Option_Titles + */ + protected function __construct() { + parent::__construct(); + add_action( 'update_option_' . $this->option_name, array( 'WPSEO_Utils', 'clear_cache' ) ); + add_action( 'init', array( $this, 'end_of_init' ), 999 ); + } + + + /** + * Make sure we can recognize the right action for the double cleaning + */ + public function end_of_init() { + do_action( 'wpseo_double_clean_titles' ); + } + + /** + * Get the singleton instance of this class + * + * @return object + */ + public static function get_instance() { + if ( ! ( self::$instance instanceof self ) ) { + self::$instance = new self(); + } + + return self::$instance; + } + + /** + * Get the available separator options + * + * @return array + */ + public function get_separator_options() { + $separators = $this->separator_options; + + /** + * Allow altering the array with separator options + * + * @api array $separator_options Array with the separator options + */ + $filtered_separators = apply_filters( 'wpseo_separator_options', $separators ); + + if ( is_array( $filtered_separators ) && $filtered_separators !== array() ) { + $separators = array_merge( $separators, $filtered_separators ); + } + + return $separators; + } + + /** + * Translate strings used in the option defaults + * + * @return void + */ + public function translate_defaults() { + /* translators: 1: Author name; 2: Site name. */ + $this->defaults['title-author-wpseo'] = sprintf( __( '%1$s, Author at %2$s', 'wordpress-seo' ), '%%name%%', '%%sitename%%' ) . ' %%page%% '; + /* translators: %s expands to the search phrase. */ + $this->defaults['title-search-wpseo'] = sprintf( __( 'You searched for %s', 'wordpress-seo' ), '%%searchphrase%%' ) . ' %%page%% %%sep%% %%sitename%%'; + $this->defaults['title-404-wpseo'] = __( 'Page not found', 'wordpress-seo' ) . ' %%sep%% %%sitename%%'; + } + + + /** + * Add dynamically created default options based on available post types and taxonomies + * + * @return void + */ + public function enrich_defaults() { + + // Retrieve all the relevant post type and taxonomy arrays. + $post_type_names = get_post_types( array( 'public' => true ), 'names' ); + + $post_type_objects_custom = get_post_types( + array( + 'public' => true, + '_builtin' => false, + ), + 'objects' + ); + + $taxonomy_names = get_taxonomies( array( 'public' => true ), 'names' ); + + + if ( $post_type_names !== array() ) { + foreach ( $post_type_names as $pt ) { + $this->defaults[ 'title-' . $pt ] = '%%title%% %%page%% %%sep%% %%sitename%%'; // Text field. + $this->defaults[ 'metadesc-' . $pt ] = ''; // Text area. + $this->defaults[ 'metakey-' . $pt ] = ''; // Text field. + $this->defaults[ 'noindex-' . $pt ] = false; + $this->defaults[ 'showdate-' . $pt ] = false; + $this->defaults[ 'hideeditbox-' . $pt ] = false; + } + unset( $pt ); + } + + if ( $post_type_objects_custom !== array() ) { + /* translators: %s expands to the name of a post type (plural). */ + $archive = sprintf( __( '%s Archive', 'wordpress-seo' ), '%%pt_plural%%' ); + foreach ( $post_type_objects_custom as $pt ) { + if ( ! $pt->has_archive ) { + continue; + } + + $this->defaults[ 'title-ptarchive-' . $pt->name ] = $archive . ' %%page%% %%sep%% %%sitename%%'; // Text field. + $this->defaults[ 'metadesc-ptarchive-' . $pt->name ] = ''; // Text area. + $this->defaults[ 'metakey-ptarchive-' . $pt->name ] = ''; // Text field. + $this->defaults[ 'bctitle-ptarchive-' . $pt->name ] = ''; // Text field. + $this->defaults[ 'noindex-ptarchive-' . $pt->name ] = false; + } + unset( $pt ); + } + + if ( $taxonomy_names !== array() ) { + /* translators: %s expands to the variable used for term title. */ + $archives = sprintf( __( '%s Archives', 'wordpress-seo' ), '%%term_title%%' ); + foreach ( $taxonomy_names as $tax ) { + $this->defaults[ 'title-tax-' . $tax ] = $archives . ' %%page%% %%sep%% %%sitename%%'; // Text field. + $this->defaults[ 'metadesc-tax-' . $tax ] = ''; // Text area. + $this->defaults[ 'metakey-tax-' . $tax ] = ''; // Text field. + $this->defaults[ 'hideeditbox-tax-' . $tax ] = false; + + if ( $tax !== 'post_format' ) { + $this->defaults[ 'noindex-tax-' . $tax ] = false; + } + else { + $this->defaults[ 'noindex-tax-' . $tax ] = true; + } + } + unset( $tax ); + } + } + + + /** + * Validate the option + * + * @param array $dirty New value for the option. + * @param array $clean Clean value for the option, normally the defaults. + * @param array $old Old value of the option. + * + * @return array Validated clean value for the option to be saved to the database + */ + protected function validate_option( $dirty, $clean, $old ) { + foreach ( $clean as $key => $value ) { + $switch_key = $this->get_switch_key( $key ); + + switch ( $switch_key ) { + /* + * Text fields. + */ + + /* + * Covers: + * 'title-home-wpseo', 'title-author-wpseo', 'title-archive-wpseo', + * 'title-search-wpseo', 'title-404-wpseo' + * 'title-' . $pt->name + * 'title-ptarchive-' . $pt->name + * 'title-tax-' . $tax->name + */ + case 'title-': + if ( isset( $dirty[ $key ] ) ) { + $clean[ $key ] = WPSEO_Utils::sanitize_text_field( $dirty[ $key ] ); + } + break; + + /* + * Covers: + * 'metadesc-home-wpseo', 'metadesc-author-wpseo', 'metadesc-archive-wpseo' + * 'metadesc-' . $pt->name + * 'metadesc-ptarchive-' . $pt->name + * 'metadesc-tax-' . $tax->name + */ + case 'metadesc-': + /* + * Covers: + * 'metakey-home-wpseo', 'metakey-author-wpseo' + * 'metakey-' . $pt->name + * 'metakey-ptarchive-' . $pt->name + * 'metakey-tax-' . $tax->name + */ + case 'metakey-': + /* + * Covers: + * 'bctitle-ptarchive-' . $pt->name + */ + case 'bctitle-ptarchive-': + if ( isset( $dirty[ $key ] ) && $dirty[ $key ] !== '' ) { + $clean[ $key ] = WPSEO_Utils::sanitize_text_field( $dirty[ $key ] ); + } + break; + + + /* Integer field - not in form. */ + case 'title_test': + if ( isset( $dirty[ $key ] ) ) { + $int = WPSEO_Utils::validate_int( $dirty[ $key ] ); + if ( $int !== false && $int >= 0 ) { + $clean[ $key ] = $int; + } + } + elseif ( isset( $old[ $key ] ) ) { + $int = WPSEO_Utils::validate_int( $old[ $key ] ); + if ( $int !== false && $int >= 0 ) { + $clean[ $key ] = $int; + } + } + break; + + /* Separator field - Radio */ + case 'separator': + if ( isset( $dirty[ $key ] ) && $dirty[ $key ] !== '' ) { + + // Get separator fields. + $separator_fields = $this->get_separator_options(); + + // Check if the given separator is exists. + if ( isset( $separator_fields[ $dirty[ $key ] ] ) ) { + $clean[ $key ] = $dirty[ $key ]; + } + } + break; + + /* + * Boolean fields. + */ + + /* + * Covers: + * 'noindex-subpages-wpseo', 'noindex-author-wpseo', 'noindex-archive-wpseo' + * 'noindex-' . $pt->name + * 'noindex-ptarchive-' . $pt->name + * 'noindex-tax-' . $tax->name + * 'forcerewritetitle': + * 'usemetakeywords': + * 'noodp': + * 'noydir': + * 'disable-author': + * 'disable-date': + * 'disable-post_format'; + * 'noindex-' + * 'showdate-' + * 'showdate-'. $pt->name + * 'hideeditbox-' + * 'hideeditbox-'. $pt->name + * 'hideeditbox-tax-' . $tax->name + */ + default: + $clean[ $key ] = ( isset( $dirty[ $key ] ) ? WPSEO_Utils::validate_bool( $dirty[ $key ] ) : false ); + break; + } + } + + return $clean; + } + + + /** + * Clean a given option value + * + * @param array $option_value Old (not merged with defaults or filtered) option value to + * clean according to the rules for this option. + * @param string $current_version (optional) Version from which to upgrade, if not set, + * version specific upgrades will be disregarded. + * @param array $all_old_option_values (optional) Only used when importing old options to have + * access to the real old values, in contrast to the saved ones. + * + * @return array Cleaned option + */ + protected function clean_option( $option_value, $current_version = null, $all_old_option_values = null ) { + static $original = null; + + // Double-run this function to ensure renaming of the taxonomy options will work. + if ( ! isset( $original ) && has_action( 'wpseo_double_clean_titles', array( + $this, + 'clean', + ) ) === false + ) { + add_action( 'wpseo_double_clean_titles', array( $this, 'clean' ) ); + $original = $option_value; + } + + /* + * Move options from very old option to this one. + * + * {@internal Don't rename to the 'current' names straight away as that would prevent + * the rename/unset combi below from working.}} + * + * @todo [JRF] maybe figure out a smarter way to deal with this. + */ + $old_option = null; + if ( isset( $all_old_option_values ) ) { + // Ok, we have an import. + if ( isset( $all_old_option_values['wpseo_indexation'] ) && is_array( $all_old_option_values['wpseo_indexation'] ) && $all_old_option_values['wpseo_indexation'] !== array() ) { + $old_option = $all_old_option_values['wpseo_indexation']; + } + } + else { + $old_option = get_option( 'wpseo_indexation' ); + } + if ( is_array( $old_option ) && $old_option !== array() ) { + $move = array( + 'noindexauthor' => 'noindex-author', + 'disableauthor' => 'disable-author', + 'noindexdate' => 'noindex-archive', + 'noindexcat' => 'noindex-category', + 'noindextag' => 'noindex-post_tag', + 'noindexpostformat' => 'noindex-post_format', + 'noindexsubpages' => 'noindex-subpages', + ); + foreach ( $move as $old => $new ) { + if ( isset( $old_option[ $old ] ) && ! isset( $option_value[ $new ] ) ) { + $option_value[ $new ] = $old_option[ $old ]; + } + } + unset( $move, $old, $new ); + } + unset( $old_option ); + + + // Fix wrongness created by buggy version 1.2.2. + if ( isset( $option_value['title-home'] ) && $option_value['title-home'] === '%%sitename%% - %%sitedesc%% - 12345' ) { + $option_value['title-home-wpseo'] = '%%sitename%% - %%sitedesc%%'; + } + + + /* + * Renaming these options to avoid ever overwritting these if a (bloody stupid) user / + * programmer would use any of the following as a custom post type or custom taxonomy: + * 'home', 'author', 'archive', 'search', '404', 'subpages'. + * + * Similarly, renaming the tax options to avoid a custom post type and a taxonomy + * with the same name occupying the same option. + */ + $rename = array( + 'title-home' => 'title-home-wpseo', + 'title-author' => 'title-author-wpseo', + 'title-archive' => 'title-archive-wpseo', + 'title-search' => 'title-search-wpseo', + 'title-404' => 'title-404-wpseo', + 'metadesc-home' => 'metadesc-home-wpseo', + 'metadesc-author' => 'metadesc-author-wpseo', + 'metadesc-archive' => 'metadesc-archive-wpseo', + 'metakey-home' => 'metakey-home-wpseo', + 'metakey-author' => 'metakey-author-wpseo', + 'noindex-subpages' => 'noindex-subpages-wpseo', + 'noindex-author' => 'noindex-author-wpseo', + 'noindex-archive' => 'noindex-archive-wpseo', + ); + foreach ( $rename as $old => $new ) { + if ( isset( $option_value[ $old ] ) && ! isset( $option_value[ $new ] ) ) { + $option_value[ $new ] = $option_value[ $old ]; + unset( $option_value[ $old ] ); + } + } + unset( $rename, $old, $new ); + + + /** + * {@internal This clean-up action can only be done effectively once the taxonomies + * and post_types have been registered, i.e. at the end of the init action.}} + */ + if ( isset( $original ) && current_filter() === 'wpseo_double_clean_titles' || did_action( 'wpseo_double_clean_titles' ) > 0 ) { + $rename = array( + 'title-' => 'title-tax-', + 'metadesc-' => 'metadesc-tax-', + 'metakey-' => 'metakey-tax-', + 'noindex-' => 'noindex-tax-', + 'tax-hideeditbox-' => 'hideeditbox-tax-', + + ); + $taxonomy_names = get_taxonomies( array( 'public' => true ), 'names' ); + $post_type_names = get_post_types( array( 'public' => true ), 'names' ); + $defaults = $this->get_defaults(); + if ( $taxonomy_names !== array() ) { + foreach ( $taxonomy_names as $tax ) { + foreach ( $rename as $old_prefix => $new_prefix ) { + if ( + ( isset( $original[ $old_prefix . $tax ] ) && ! isset( $original[ $new_prefix . $tax ] ) ) + && ( ! isset( $option_value[ $new_prefix . $tax ] ) + || ( isset( $option_value[ $new_prefix . $tax ] ) + && $option_value[ $new_prefix . $tax ] === $defaults[ $new_prefix . $tax ] ) ) + ) { + $option_value[ $new_prefix . $tax ] = $original[ $old_prefix . $tax ]; + + /* + * Check if there is a cpt with the same name as the tax, + * if so, we should make sure that the old setting hasn't been removed. + */ + if ( ! isset( $post_type_names[ $tax ] ) && isset( $option_value[ $old_prefix . $tax ] ) ) { + unset( $option_value[ $old_prefix . $tax ] ); + } + else { + if ( isset( $post_type_names[ $tax ] ) && ! isset( $option_value[ $old_prefix . $tax ] ) ) { + $option_value[ $old_prefix . $tax ] = $original[ $old_prefix . $tax ]; + } + } + + if ( $old_prefix === 'tax-hideeditbox-' ) { + unset( $option_value[ $old_prefix . $tax ] ); + } + } + } + } + } + unset( $rename, $taxonomy_names, $post_type_names, $defaults, $tax, $old_prefix, $new_prefix ); + } + + + /* + * Make sure the values of the variable option key options are cleaned as they + * may be retained and would not be cleaned/validated then. + */ + if ( is_array( $option_value ) && $option_value !== array() ) { + foreach ( $option_value as $key => $value ) { + $switch_key = $this->get_switch_key( $key ); + + // Similar to validation routine - any changes made there should be made here too. + switch ( $switch_key ) { + /* text fields */ + case 'title-': + case 'metadesc-': + case 'metakey-': + case 'bctitle-ptarchive-': + $option_value[ $key ] = WPSEO_Utils::sanitize_text_field( $value ); + break; + + case 'separator': + if ( ! array_key_exists( $value, $this->get_separator_options() ) ) { + $option_value[ $key ] = false; + } + break; + + /* + * Boolean fields. + */ + + /* + * Covers: + * 'noindex-' + * 'showdate-' + * 'hideeditbox-' + */ + default: + $option_value[ $key ] = WPSEO_Utils::validate_bool( $value ); + break; + } + } + unset( $key, $value, $switch_key ); + } + + return $option_value; + } + + + /** + * Make sure that any set option values relating to post_types and/or taxonomies are retained, + * even when that post_type or taxonomy may not yet have been registered. + * + * {@internal Overrule the abstract class version of this to make sure one extra renamed + * variable key does not get removed. IMPORTANT: keep this method in line with + * the parent on which it is based!}} + * + * @param array $dirty Original option as retrieved from the database. + * @param array $clean Filtered option where any options which shouldn't be in our option + * have already been removed and any options which weren't set + * have been set to their defaults. + * + * @return array + */ + protected function retain_variable_keys( $dirty, $clean ) { + if ( ( is_array( $this->variable_array_key_patterns ) && $this->variable_array_key_patterns !== array() ) && ( is_array( $dirty ) && $dirty !== array() ) ) { + + // Add the extra pattern. + $patterns = $this->variable_array_key_patterns; + $patterns[] = 'tax-hideeditbox-'; + + /** + * Allow altering the array with variable array key patterns + * + * @api array $patterns Array with the variable array key patterns + */ + $patterns = apply_filters( 'wpseo_option_titles_variable_array_key_patterns', $patterns ); + + foreach ( $dirty as $key => $value ) { + + // Do nothing if already in filtered option array. + if ( isset( $clean[ $key ] ) ) { + continue; + } + + foreach ( $patterns as $pattern ) { + if ( strpos( $key, $pattern ) === 0 ) { + $clean[ $key ] = $value; + break; + } + } + } + } + + return $clean; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-wpseo.php b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-wpseo.php new file mode 100644 index 00000000..2d2e17f6 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-wpseo.php @@ -0,0 +1,266 @@ +get_defaults(); + */ + protected $defaults = array( + // Non-form fields, set via (ajax) function. + 'blocking_files' => array(), + 'ms_defaults_set' => false, + // Non-form field, should only be set via validation routine. + 'version' => '', // Leave default as empty to ensure activation/upgrade works. + + // Form fields. + 'company_logo' => '', + 'company_name' => '', + 'company_or_person' => '', + 'disableadvanced_meta' => true, + 'onpage_indexability' => true, + 'googleverify' => '', // Text field. + 'msverify' => '', // Text field. + 'person_name' => '', + 'website_name' => '', + 'alternate_website_name' => '', + 'yandexverify' => '', + 'site_type' => '', // List of options. + 'has_multiple_authors' => '', + 'environment_type' => '', + 'content_analysis_active' => true, + 'keyword_analysis_active' => true, + 'enable_setting_pages' => true, + 'enable_admin_bar_menu' => true, + 'enable_cornerstone_content' => true, + 'enable_text_link_counter' => true, + 'show_onboarding_notice' => false, + 'first_activated_on' => false, + ); + + /** + * @var array Sub-options which should not be overloaded with multi-site defaults + */ + public $ms_exclude = array( + /* privacy */ + 'alexaverify', + 'googleverify', + 'msverify', + 'yandexverify', + ); + + /** @var array Possible values for the site_type option */ + protected $site_types = array( + '', + 'blog', + 'shop', + 'news', + 'smallBusiness', + 'corporateOther', + 'personalOther', + ); + + /** @var array Possible environment types. */ + protected $environment_types = array( + '', + 'production', + 'staging', + 'development', + ); + + /** @var array Possible has_multiple_authors options. */ + protected $has_multiple_authors_options = array( + '', + true, + false, + ); + + + /** + * Add the actions and filters for the option + * + * @todo [JRF => testers] Check if the extra actions below would run into problems if an option + * is updated early on and if so, change the call to schedule these for a later action on add/update + * instead of running them straight away + * + * @return \WPSEO_Option_Wpseo + */ + protected function __construct() { + parent::__construct(); + + /* Clear the cache on update/add */ + add_action( 'add_option_' . $this->option_name, array( 'WPSEO_Utils', 'clear_cache' ) ); + add_action( 'update_option_' . $this->option_name, array( 'WPSEO_Utils', 'clear_cache' ) ); + + /** + * Filter the `wpseo` option defaults. + * + * @param array $defaults Array the defaults for the `wpseo` option attributes. + */ + $this->defaults = apply_filters( 'wpseo_option_wpseo_defaults', $this->defaults ); + } + + + /** + * Get the singleton instance of this class + * + * @return object + */ + public static function get_instance() { + if ( ! ( self::$instance instanceof self ) ) { + self::$instance = new self(); + } + + return self::$instance; + } + + /** + * Validate the option + * + * @param array $dirty New value for the option. + * @param array $clean Clean value for the option, normally the defaults. + * @param array $old Old value of the option. + * + * @return array Validated clean value for the option to be saved to the database + */ + protected function validate_option( $dirty, $clean, $old ) { + + foreach ( $clean as $key => $value ) { + switch ( $key ) { + case 'version': + $clean[ $key ] = WPSEO_VERSION; + break; + + + case 'blocking_files': + /* + * {@internal [JRF] To really validate this we should also do a file_exists() + * on each array entry and remove files which no longer exist, but that might be overkill.}} + */ + if ( isset( $dirty[ $key ] ) && is_array( $dirty[ $key ] ) ) { + $clean[ $key ] = array_unique( $dirty[ $key ] ); + } + elseif ( isset( $old[ $key ] ) && is_array( $old[ $key ] ) ) { + $clean[ $key ] = array_unique( $old[ $key ] ); + } + break; + + case 'company_or_person': + if ( isset( $dirty[ $key ] ) && $dirty[ $key ] !== '' ) { + if ( in_array( $dirty[ $key ], array( 'company', 'person' ) ) ) { + $clean[ $key ] = $dirty[ $key ]; + } + } + break; + + /* text fields */ + case 'company_name': + case 'person_name': + case 'website_name': + case 'alternate_website_name': + if ( isset( $dirty[ $key ] ) && $dirty[ $key ] !== '' ) { + $clean[ $key ] = sanitize_text_field( $dirty[ $key ] ); + } + break; + + case 'company_logo': + $this->validate_url( $key, $dirty, $old, $clean ); + break; + + /* verification strings */ + case 'googleverify': + case 'msverify': + case 'yandexverify': + $this->validate_verification_string( $key, $dirty, $old, $clean ); + break; + + /* + * Boolean dismiss warnings - not fields - may not be in form + * (and don't need to be either as long as the default is false). + */ + case 'ms_defaults_set': + if ( isset( $dirty[ $key ] ) ) { + $clean[ $key ] = WPSEO_Utils::validate_bool( $dirty[ $key ] ); + } + elseif ( isset( $old[ $key ] ) ) { + $clean[ $key ] = WPSEO_Utils::validate_bool( $old[ $key ] ); + } + break; + + case 'site_type': + $clean[ $key ] = $old[ $key ]; + if ( isset( $dirty[ $key ] ) && in_array( $dirty[ $key ], $this->site_types, true ) ) { + $clean[ $key ] = $dirty[ $key ]; + } + break; + + case 'environment_type': + $clean[ $key ] = $old[ $key ]; + if ( isset( $dirty[ $key ] ) && in_array( $dirty[ $key ], $this->environment_types, true ) ) { + $clean[ $key ] = $dirty[ $key ]; + } + break; + + case 'has_multiple_authors': + $clean[ $key ] = $old[ $key ]; + if ( isset( $dirty[ $key ] ) && in_array( $dirty[ $key ], $this->has_multiple_authors_options, true ) ) { + $clean[ $key ] = $dirty[ $key ]; + } + + break; + + case 'first_activated_on': + $clean[ $key ] = false; + if ( isset( $dirty[ $key ] ) ) { + if ( $dirty[ $key ] === false || WPSEO_Utils::validate_int( $dirty[ $key ] ) ) { + $clean[ $key ] = $dirty[ $key ]; + } + } + break; + + /* + * Boolean (checkbox) fields. + */ + + /* + * Covers: + * 'disableadvanced_meta' + * 'yoast_tracking' + */ + default: + $clean[ $key ] = ( isset( $dirty[ $key ] ) ? WPSEO_Utils::validate_bool( $dirty[ $key ] ) : false ); + break; + } + } + + return $clean; + } + + + /** + * Clean a given option value + * + * @param array $option_value Old (not merged with defaults or filtered) option value to + * clean according to the rules for this option. + * @param string $current_version (optional) Version from which to upgrade, if not set, + * version specific upgrades will be disregarded. + * @param array $all_old_option_values (optional) Only used when importing old options to have + * access to the real old values, in contrast to the saved ones. + * + * @return array Cleaned option + */ + protected function clean_option( $option_value, $current_version = null, $all_old_option_values = null ) { + return $option_value; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-xml.php b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-xml.php new file mode 100644 index 00000000..2e282f59 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option-xml.php @@ -0,0 +1,260 @@ +get_defaults(); + */ + protected $defaults = array( + 'disable_author_sitemap' => true, + 'disable_author_noposts' => true, + 'enablexmlsitemap' => true, + 'entries-per-page' => 1000, + 'excluded-posts' => '', + + /** + * Uses enrich_defaults to add more along the lines of: + * - 'user_role-' . $role_name . '-not_in_sitemap' => bool + * - 'post_types-' . $pt->name . '-not_in_sitemap' => bool + * - 'taxonomies-' . $tax->name . '-not_in_sitemap' => bool + */ + ); + + /** + * @var array Array of variable option name patterns for the option + */ + protected $variable_array_key_patterns = array( + 'user_role-', + 'post_types-', + 'taxonomies-', + ); + + + /** + * Add the actions and filters for the option + * + * @todo [JRF => testers] Check if the extra actions below would run into problems if an option + * is updated early on and if so, change the call to schedule these for a later action on add/update + * instead of running them straight away + * + * @return \WPSEO_Option_XML + */ + protected function __construct() { + parent::__construct(); + add_action( 'update_option_' . $this->option_name, array( 'WPSEO_Utils', 'clear_rewrites' ) ); + add_action( 'update_option_' . $this->option_name, array( 'WPSEO_Sitemaps_Cache', 'clear' ) ); + } + + + /** + * Get the singleton instance of this class + * + * @return object + */ + public static function get_instance() { + if ( ! ( self::$instance instanceof self ) ) { + self::$instance = new self(); + } + + return self::$instance; + } + + /** + * Add dynamically created default options based on available post types and taxonomies + * + * @return void + */ + public function enrich_defaults() { + + $user_roles = WPSEO_Utils::get_roles(); + $filtered_user_roles = apply_filters( 'wpseo_sitemaps_supported_user_roles', $user_roles ); + if ( is_array( $filtered_user_roles ) && $filtered_user_roles !== array() ) { + foreach ( $filtered_user_roles as $role_name => $role_value ) { + $this->defaults[ 'user_role-' . $role_name . '-not_in_sitemap' ] = false; + + unset( $user_role ); + } + unset( $role_name, $role_value ); + } + unset( $user_roles, $filtered_user_roles ); + + $post_type_names = get_post_types( array( 'public' => true ), 'names' ); + $filtered_post_types = apply_filters( 'wpseo_sitemaps_supported_post_types', $post_type_names ); + + if ( is_array( $filtered_post_types ) && $filtered_post_types !== array() ) { + foreach ( $filtered_post_types as $pt ) { + if ( $pt !== 'attachment' ) { + $this->defaults[ 'post_types-' . $pt . '-not_in_sitemap' ] = false; + } + else { + $this->defaults[ 'post_types-' . $pt . '-not_in_sitemap' ] = true; + } + } + unset( $pt ); + } + unset( $post_type_names, $filtered_post_types ); + + $taxonomy_objects = get_taxonomies( array( 'public' => true ), 'objects' ); + $filtered_taxonomies = apply_filters( 'wpseo_sitemaps_supported_taxonomies', $taxonomy_objects ); + if ( is_array( $filtered_taxonomies ) && $filtered_taxonomies !== array() ) { + foreach ( $filtered_taxonomies as $tax ) { + if ( isset( $tax->labels->name ) && trim( $tax->labels->name ) != '' ) { + $this->defaults[ 'taxonomies-' . $tax->name . '-not_in_sitemap' ] = false; + } + } + unset( $tax ); + } + unset( $taxonomy_objects, $filtered_taxonomies ); + + } + + + /** + * Validate the option + * + * @param array $dirty New value for the option. + * @param array $clean Clean value for the option, normally the defaults. + * @param array $old Old value of the option. + * + * @return array Validated clean value for the option to be saved to the database + */ + protected function validate_option( $dirty, $clean, $old ) { + + foreach ( $clean as $key => $value ) { + $switch_key = $this->get_switch_key( $key ); + + switch ( $switch_key ) { + /* integer fields */ + case 'entries-per-page': + if ( isset( $dirty[ $key ] ) && $dirty[ $key ] !== '' ) { + + $int = WPSEO_Utils::validate_int( $dirty[ $key ] ); + + if ( $int !== false && $int > 0 ) { + + if ( $int > 50000 ) { + + $error_message = sprintf( + /* translators: 1: number; 2: number received from user. */ + __( '"Max entries per sitemap page" should be below %1$s to meet Google\'s requirements, which %2$s is not.', 'wordpress-seo' ), + number_format_i18n( 50000 ), '' . esc_html( sanitize_text_field( $dirty[ $key ] ) ) . '' + ); + add_settings_error( $this->group_name, '_' . $key, $error_message, 'error' ); + + $int = 50000; + } + + $clean[ $key ] = $int; + } + else { + + if ( isset( $old[ $key ] ) && $old[ $key ] !== '' ) { + + $int = WPSEO_Utils::validate_int( $old[ $key ] ); + + if ( $int !== false && $int > 0 ) { + $clean[ $key ] = $int; + } + } + + $error_message = sprintf( + /* translators: %s expands to a number. */ + __( '"Max entries per sitemap page" should be a positive number, which %s is not. Please correct.', 'wordpress-seo' ), + '' . esc_html( sanitize_text_field( $dirty[ $key ] ) ) . '' + ); + add_settings_error( $this->group_name, '_' . $key, $error_message, 'error' ); + } + unset( $int ); + } + break; + + case 'excluded-posts': + if ( isset( $dirty[ $key ] ) && $dirty[ $key ] !== '' ) { + if ( $filtered_array = filter_var_array( explode( ',', $dirty[ $key ] ), FILTER_VALIDATE_INT ) ) { + $clean[ $key ] = implode( ',', array_filter( $filtered_array, 'is_integer' ) ); + + unset( $filtered_array ); + } + } + + break; + + /* + * Boolean fields. + */ + + /* + * Covers: + * 'disable_author_sitemap': + * 'disable_author_noposts': + * 'enablexmlsitemap': + * 'user_role-': + * 'user_role' . $role_name . '-not_in_sitemap' fields + * 'post_types-': + * 'post_types-' . $pt->name . '-not_in_sitemap' fields + * 'taxonomies-': + * 'taxonomies-' . $tax->name . '-not_in_sitemap' fields + */ + default: + $clean[ $key ] = ( isset( $dirty[ $key ] ) ? WPSEO_Utils::validate_bool( $dirty[ $key ] ) : false ); + break; + } + } + + return $clean; + } + + + /** + * Clean a given option value + * + * @param array $option_value Old (not merged with defaults or filtered) option value to + * clean according to the rules for this option. + * @param string $current_version (optional) Version from which to upgrade, if not set, + * version specific upgrades will be disregarded. + * @param array $all_old_option_values (optional) Only used when importing old options to have + * access to the real old values, in contrast to the saved ones. + * + * @return array Cleaned option + */ + protected function clean_option( $option_value, $current_version = null, $all_old_option_values = null ) { + /* + * Make sure the values of the variable option key options are cleaned as they + * may be retained and would not be cleaned/validated then. + */ + if ( is_array( $option_value ) && $option_value !== array() ) { + + foreach ( $option_value as $key => $value ) { + $switch_key = $this->get_switch_key( $key ); + + // Similar to validation routine - any changes made there should be made here too. + switch ( $switch_key ) { + case 'user_role-': /* 'user_role-' . $role_name. '-not_in_sitemap' fields */ + case 'post_types-': /* 'post_types-' . $pt->name . '-not_in_sitemap' fields */ + case 'taxonomies-': /* 'taxonomies-' . $tax->name . '-not_in_sitemap' fields */ + $option_value[ $key ] = WPSEO_Utils::validate_bool( $value ); + break; + } + } + } + + return $option_value; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option.php b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option.php new file mode 100644 index 00000000..9219c64c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-option.php @@ -0,0 +1,859 @@ + testers] double check that validation will not cause errors when called + * from upgrade routine (some of the WP functions may not yet be available) + */ +abstract class WPSEO_Option { + + /** + * @var string Option name - MUST be set in concrete class and set to public. + */ + protected $option_name; + + /** + * @var string Option group name for use in settings forms + * - will be set automagically if not set in concrete class + * (i.e. if it confirm to the normal pattern 'yoast' . $option_name . 'options', + * only set in conrete class if it doesn't) + */ + public $group_name; + + /** + * @var bool Whether to include the option in the return for WPSEO_Options::get_all(). + * Also determines which options are copied over for ms_(re)set_blog(). + */ + public $include_in_all = true; + + /** + * @var bool Whether this option is only for when the install is multisite. + */ + public $multisite_only = false; + + /** + * @var array Array of defaults for the option - MUST be set in concrete class. + * Shouldn't be requested directly, use $this->get_defaults(); + */ + protected $defaults; + + /** + * @var array Array of variable option name patterns for the option - if any - + * Set this when the option contains array keys which vary based on post_type + * or taxonomy + */ + protected $variable_array_key_patterns; + + /** + * @var array Array of sub-options which should not be overloaded with multi-site defaults + */ + public $ms_exclude = array(); + + /** + * @var object Instance of this class + */ + protected static $instance; + + + /* *********** INSTANTIATION METHODS *********** */ + + /** + * Add all the actions and filters for the option + * + * @return \WPSEO_Option + */ + protected function __construct() { + + /* Add filters which get applied to the get_options() results */ + $this->add_default_filters(); // Return defaults if option not set. + $this->add_option_filters(); // Merge with defaults if option *is* set. + + + if ( $this->multisite_only !== true ) { + /** + * The option validation routines remove the default filters to prevent failing + * to insert an option if it's new. Let's add them back afterwards. + */ + add_action( 'add_option', array( $this, 'add_default_filters' ) ); // Adding back after INSERT. + + add_action( 'update_option', array( $this, 'add_default_filters' ) ); + } + elseif ( is_multisite() ) { + /* + * The option validation routines remove the default filters to prevent failing + * to insert an option if it's new. Let's add them back afterwards. + * + * For site_options, this method is not foolproof as these actions are not fired + * on an insert/update failure. Please use the WPSEO_Options::update_site_option() method + * for updating site options to make sure the filters are in place. + */ + add_action( 'add_site_option_' . $this->option_name, array( $this, 'add_default_filters' ) ); + add_action( 'update_site_option_' . $this->option_name, array( $this, 'add_default_filters' ) ); + + } + + + /* + * Make sure the option will always get validated, independently of register_setting() + * (only available on back-end). + */ + add_filter( 'sanitize_option_' . $this->option_name, array( $this, 'validate' ) ); + + /* Register our option for the admin pages */ + add_action( 'admin_init', array( $this, 'register_setting' ) ); + + + /* Set option group name if not given */ + if ( ! isset( $this->group_name ) || $this->group_name === '' ) { + $this->group_name = 'yoast_' . $this->option_name . '_options'; + } + + /* Translate some defaults as early as possible - textdomain is loaded in init on priority 1 */ + if ( method_exists( $this, 'translate_defaults' ) ) { + add_action( 'init', array( $this, 'translate_defaults' ), 2 ); + } + + /** + * Enrich defaults once custom post types and taxonomies have been registered + * which is normally done on the init action. + * + * @todo - [JRF/testers] verify that none of the options which are only available after + * enrichment are used before the enriching + */ + if ( method_exists( $this, 'enrich_defaults' ) ) { + add_action( 'init', array( $this, 'enrich_defaults' ), 99 ); + } + } + +// @codingStandardsIgnoreStart + + /** + * All concrete classes *must* contain the get_instance method + * + * {@internal Unfortunately I can't define it as an abstract as it also *has* to be static...}} + */ + // abstract protected static function get_instance(); + + + /** + * Concrete classes *may* contain a translate_defaults method + */ + // abstract public function translate_defaults(); + + + /** + * Concrete classes *may* contain a enrich_defaults method to add additional defaults once + * all post_types and taxonomies have been registered + */ + // abstract public function enrich_defaults(); + + /* *********** METHODS INFLUENCING get_option() *********** */ + + /** + * Add filters to make sure that the option default is returned if the option is not set + * + * @return void + */ + public function add_default_filters() { + // Don't change, needs to check for false as could return prio 0 which would evaluate to false. + if ( has_filter( 'default_option_' . $this->option_name, array( $this, 'get_defaults' ) ) === false ) { + add_filter( 'default_option_' . $this->option_name, array( $this, 'get_defaults' ) ); + } + } + + // @codingStandardsIgnoreStart + /** + * Abusing a filter to re-add our default filters + * WP 3.7 specific as update_option action hook was in the wrong place temporarily + * + * @see http://core.trac.wordpress.org/ticket/25705 + * + * @param mixed $new_value Pass through value in filter. + * + * @deprecated 3.0 WP 3.7 is no longer supported. + * + * @todo Drop this and logic adding it. R. + * + * @return mixed unchanged value + */ + public function wp37_add_default_filters( $new_value ) { + _deprecated_function( __METHOD__, 'WPSEO 3.0' ); + + $this->add_default_filters(); + + return $new_value; + } + + /** + * Validate webmaster tools & Pinterest verification strings + * + * @param string $key Key to check, by type of service. + * @param array $dirty Dirty data. + * @param array $old Old data. + * @param array $clean Clean data by reference. + */ + public function validate_verification_string( $key, $dirty, $old, &$clean ) { + if ( isset( $dirty[ $key ] ) && $dirty[ $key ] !== '' ) { + $meta = $dirty[ $key ]; + if ( strpos( $meta, 'content=' ) ) { + // Make sure we only have the real key, not a complete meta tag. + preg_match( '`content=([\'"])?([^\'"> ]+)(?:\1|[ />])`', $meta, $match ); + if ( isset( $match[2] ) ) { + $meta = $match[2]; + } + unset( $match ); + } + + $meta = sanitize_text_field( $meta ); + if ( $meta !== '' ) { + $regex = '`^[A-Fa-f0-9_-]+$`'; + $service = ''; + + switch ( $key ) { + case 'googleverify': + $regex = '`^[A-Za-z0-9_-]+$`'; + $service = 'Google Webmaster tools'; + break; + + case 'msverify': + $service = 'Bing Webmaster tools'; + break; + + case 'pinterestverify': + $service = 'Pinterest'; + break; + + case 'yandexverify': + $service = 'Yandex Webmaster tools'; + break; + } + + if ( preg_match( $regex, $meta ) ) { + $clean[ $key ] = $meta; + } + else { + if ( isset( $old[ $key ] ) && preg_match( $regex, $old[ $key ] ) ) { + $clean[ $key ] = $old[ $key ]; + } + if ( function_exists( 'add_settings_error' ) ) { + add_settings_error( + $this->group_name, // Slug title of the setting. + '_' . $key, // Suffix-id for the error message box. + /* translators: 1: Verification string from user input; 2: Service name. */ + sprintf( __( '%1$s does not seem to be a valid %2$s verification string. Please correct.', 'wordpress-seo' ), '' . esc_html( $meta ) . '', $service ), // The error message. + 'error' // Error type, either 'error' or 'updated'. + ); + } + } + } + } + } + + /** + * @param string $key Key to check, by type of service. + * @param array $dirty Dirty data. + * @param array $old Old data. + * @param array $clean Clean data by reference. + */ + public function validate_url( $key, $dirty, $old, &$clean ) { + if ( isset( $dirty[ $key ] ) && $dirty[ $key ] !== '' ) { + $url = WPSEO_Utils::sanitize_url( $dirty[ $key ] ); + if ( $url !== '' ) { + $clean[ $key ] = $url; + } + else { + if ( isset( $old[ $key ] ) && $old[ $key ] !== '' ) { + $url = WPSEO_Utils::sanitize_url( $old[ $key ] ); + if ( $url !== '' ) { + $clean[ $key ] = $url; + } + } + if ( function_exists( 'add_settings_error' ) ) { + $url = WPSEO_Utils::sanitize_url( $dirty[ $key ] ); + add_settings_error( + $this->group_name, // Slug title of the setting. + '_' . $key, // Suffix-id for the error message box. + sprintf( + /* translators: %s expands to an invalid URL. */ + __( '%s does not seem to be a valid url. Please correct.', 'wordpress-seo' ), + '' . esc_html( $url ) . '' + ), // The error message. + 'error' // Error type, either 'error' or 'updated'. + ); + } + } + } + } + + /** + * Remove the default filters. + * Called from the validate() method to prevent failure to add new options + * + * @return void + */ + public function remove_default_filters() { + remove_filter( 'default_option_' . $this->option_name, array( $this, 'get_defaults' ) ); + } + + + /** + * Get the enriched default value for an option + * + * Checks if the concrete class contains an enrich_defaults() method and if so, runs it. + * + * {@internal The enrich_defaults method is used to set defaults for variable array keys + * in an option, such as array keys depending on post_types and/or taxonomies.}} + * + * @return array + */ + public function get_defaults() { + if ( method_exists( $this, 'translate_defaults' ) ) { + $this->translate_defaults(); + } + + if ( method_exists( $this, 'enrich_defaults' ) ) { + $this->enrich_defaults(); + } + + return apply_filters( 'wpseo_defaults', $this->defaults, $this->option_name ); + } + + + /** + * Add filters to make sure that the option is merged with its defaults before being returned + * + * @return void + */ + public function add_option_filters() { + // Don't change, needs to check for false as could return prio 0 which would evaluate to false. + if ( has_filter( 'option_' . $this->option_name, array( $this, 'get_option' ) ) === false ) { + add_filter( 'option_' . $this->option_name, array( $this, 'get_option' ) ); + } + } + + + /** + * Remove the option filters. + * Called from the clean_up methods to make sure we retrieve the original old option + * + * @return void + */ + public function remove_option_filters() { + remove_filter( 'option_' . $this->option_name, array( $this, 'get_option' ) ); + } + + + /** + * Merge an option with its default values + * + * This method should *not* be called directly!!! It is only meant to filter the get_option() results + * + * @param mixed $options Option value. + * + * @return mixed Option merged with the defaults for that option + */ + public function get_option( $options = null ) { + $filtered = $this->array_filter_merge( $options ); + + /* + * If the option contains variable option keys, make sure we don't remove those settings + * - even if the defaults are not complete yet. + * Unfortunately this means we also won't be removing the settings for post types or taxonomies + * which are no longer in the WP install, but rather that than the other way around. + */ + if ( isset( $this->variable_array_key_patterns ) ) { + $filtered = $this->retain_variable_keys( $options, $filtered ); + } + + return $filtered; + } + + + /* *********** METHODS influencing add_uption(), update_option() and saving from admin pages *********** */ + + /** + * Register (whitelist) the option for the configuration pages. + * The validation callback is already registered separately on the sanitize_option hook, + * so no need to double register. + * + * @return void + */ + public function register_setting() { + if ( WPSEO_Capability_Utils::current_user_can( 'wpseo_manage_options' ) ) { + register_setting( $this->group_name, $this->option_name ); + } + } + + + /** + * Validate the option + * + * @param mixed $option_value The unvalidated new value for the option. + * + * @return array Validated new value for the option + */ + public function validate( $option_value ) { + $clean = $this->get_defaults(); + + /* Return the defaults if the new value is empty */ + if ( ! is_array( $option_value ) || $option_value === array() ) { + return $clean; + } + + + $option_value = array_map( array( 'WPSEO_Utils', 'trim_recursive' ), $option_value ); + if ( $this->multisite_only !== true ) { + $old = get_option( $this->option_name ); + } + else { + $old = get_site_option( $this->option_name ); + } + $clean = $this->validate_option( $option_value, $clean, $old ); + + /* Retain the values for variable array keys even when the post type/taxonomy is not yet registered */ + if ( isset( $this->variable_array_key_patterns ) ) { + $clean = $this->retain_variable_keys( $option_value, $clean ); + } + + $this->remove_default_filters(); + + return $clean; + } + + + /** + * All concrete classes must contain a validate_option() method which validates all + * values within the option + * + * @param array $dirty New value for the option. + * @param array $clean Clean value for the option, normally the defaults. + * @param array $old Old value of the option. + */ + abstract protected function validate_option( $dirty, $clean, $old ); + + + /* *********** METHODS for ADDING/UPDATING/UPGRADING the option *********** */ + + /** + * Retrieve the real old value (unmerged with defaults) + * + * @return array|bool the original option value (which can be false if the option doesn't exist) + */ + protected function get_original_option() { + $this->remove_default_filters(); + $this->remove_option_filters(); + + // Get (unvalidated) array, NOT merged with defaults. + if ( $this->multisite_only !== true ) { + $option_value = get_option( $this->option_name ); + } + else { + $option_value = get_site_option( $this->option_name ); + } + + $this->add_option_filters(); + $this->add_default_filters(); + + return $option_value; + } + + /** + * Add the option if it doesn't exist for some strange reason + * + * @uses WPSEO_Option::get_original_option() + * + * @return void + */ + public function maybe_add_option() { + if ( $this->get_original_option() === false ) { + if ( $this->multisite_only !== true ) { + update_option( $this->option_name, $this->get_defaults() ); + } + else { + $this->update_site_option( $this->get_defaults() ); + } + } + } + + + /** + * Update a site_option + * + * {@internal This special method is only needed for multisite options, but very needed indeed there. + * The order in which certain functions and hooks are run is different between + * get_option() and get_site_option() which means in practice that the removing + * of the default filters would be done too late and the re-adding of the default + * filters might not be done at all. + * Aka: use the WPSEO_Options::update_site_option() method (which calls this method) + * for safely adding/updating multisite options.}} + * + * @param mixed $value The new value for the option. + * + * @return bool whether the update was succesfull + */ + public function update_site_option( $value ) { + if ( $this->multisite_only === true && is_multisite() ) { + $this->remove_default_filters(); + $result = update_site_option( $this->option_name, $value ); + $this->add_default_filters(); + + return $result; + } + else { + return false; + } + } + + + /** + * Retrieve the real old value (unmerged with defaults), clean and re-save the option + * + * @uses WPSEO_Option::get_original_option() + * @uses WPSEO_Option::import() + * + * @param string $current_version (optional) Version from which to upgrade, if not set, version specific upgrades will be disregarded. + * + * @return void + */ + public function clean( $current_version = null ) { + $option_value = $this->get_original_option(); + $this->import( $option_value, $current_version ); + } + + + /** + * Clean and re-save the option + * + * @uses clean_option() method from concrete class if it exists + * + * @todo [JRF/whomever] Figure out a way to show settings error during/after the upgrade - maybe + * something along the lines of: + * -> add them to a property in this class + * -> if that property isset at the end of the routine and add_settings_error function does not exist, + * save as transient (or update the transient if one already exists) + * -> next time an admin is in the WP back-end, show the errors and delete the transient or only delete it + * once the admin has dismissed the message (add ajax function) + * Important: all validation routines which add_settings_errors would need to be changed for this to work + * + * @param array $option_value Option value to be imported. + * @param string $current_version (optional) Version from which to upgrade, if not set, version specific upgrades will be disregarded. + * @param array $all_old_option_values (optional) Only used when importing old options to have access to the real old values, in contrast to the saved ones. + * + * @return void + */ + public function import( $option_value, $current_version = null, $all_old_option_values = null ) { + if ( $option_value === false ) { + $option_value = $this->get_defaults(); + } + elseif ( is_array( $option_value ) && method_exists( $this, 'clean_option' ) ) { + $option_value = $this->clean_option( $option_value, $current_version, $all_old_option_values ); + } + + /* + * Save the cleaned value - validation will take care of cleaning out array keys which + * should no longer be there. + */ + if ( $this->multisite_only !== true ) { + update_option( $this->option_name, $option_value ); + } + else { + $this->update_site_option( $this->option_name, $option_value ); + } + } + + + /** + * Concrete classes *may* contain a clean_option method which will clean out old/renamed + * values within the option + */ + // abstract public function clean_option( $option_value, $current_version = null, $all_old_option_values = null ); + /* *********** HELPER METHODS for internal use *********** */ + + /** + * Helper method - Combines a fixed array of default values with an options array + * while filtering out any keys which are not in the defaults array. + * + * @todo [JRF] - shouldn't this be a straight array merge ? at the end of the day, the validation + * removes any invalid keys on save + * + * @param array $options (Optional) Current options. If not set, the option defaults for the $option_key will be returned. + * + * @return array Combined and filtered options array. + */ + protected function array_filter_merge( $options = null ) { + + $defaults = $this->get_defaults(); + + if ( ! isset( $options ) || $options === false || $options === array() ) { + return $defaults; + } + + $options = (array) $options; + + /* + $filtered = array(); + + if ( $defaults !== array() ) { + foreach ( $defaults as $key => $default_value ) { + // @todo should this walk through array subkeys ? + $filtered[ $key ] = ( isset( $options[ $key ] ) ? $options[ $key ] : $default_value ); + } + } + */ + $filtered = array_merge( $defaults, $options ); + + return $filtered; + } + + + /** + * Make sure that any set option values relating to post_types and/or taxonomies are retained, + * even when that post_type or taxonomy may not yet have been registered. + * + * {@internal The wpseo_titles concrete class overrules this method. Make sure that any + * changes applied here, also get ported to that version.}} + * + * @param array $dirty Original option as retrieved from the database. + * @param array $clean Filtered option where any options which shouldn't be in our option + * have already been removed and any options which weren't set + * have been set to their defaults. + * + * @return array + */ + protected function retain_variable_keys( $dirty, $clean ) { + if ( ( is_array( $this->variable_array_key_patterns ) && $this->variable_array_key_patterns !== array() ) && ( is_array( $dirty ) && $dirty !== array() ) ) { + foreach ( $dirty as $key => $value ) { + + // Do nothing if already in filtered options. + if ( isset( $clean[ $key ] ) ) { + continue; + } + + foreach ( $this->variable_array_key_patterns as $pattern ) { + + if ( strpos( $key, $pattern ) === 0 ) { + $clean[ $key ] = $value; + break; + } + } + } + } + + return $clean; + } + + + /** + * Check whether a given array key conforms to one of the variable array key patterns for this option + * + * @usedby validate_option() methods for options with variable array keys + * + * @param string $key Array key to check. + * + * @return string Pattern if it conforms, original array key if it doesn't or if the option + * does not have variable array keys + */ + protected function get_switch_key( $key ) { + if ( ! isset( $this->variable_array_key_patterns ) || ( ! is_array( $this->variable_array_key_patterns ) || $this->variable_array_key_patterns === array() ) ) { + return $key; + } + + foreach ( $this->variable_array_key_patterns as $pattern ) { + if ( strpos( $key, $pattern ) === 0 ) { + return $pattern; + } + } + + return $key; + } + + + /* *********** DEPRECATED METHODS *********** */ + + // @codeCoverageIgnoreStart + + /** + * Emulate the WP native sanitize_text_field function in a %%variable%% safe way + * + * @see https://core.trac.wordpress.org/browser/trunk/src/wp-includes/formatting.php for the original + * + * @deprecated 1.5.6.1 + * @deprecated use WPSEO_Utils::sanitize_text_field() + * @see WPSEO_Utils::sanitize_text_field() + * + * @param string $value String value to sanitize. + * + * @return string + */ + public static function sanitize_text_field( $value ) { + _deprecated_function( __METHOD__, 'WPSEO 1.5.6.1', 'WPSEO_Utils::sanitize_text_field()' ); + + return WPSEO_Utils::sanitize_text_field( $value ); + } + + + /** + * Sanitize a url for saving to the database + * Not to be confused with the old native WP function + * + * @deprecated 1.5.6.1 + * @deprecated use WPSEO_Utils::sanitize_url() + * @see WPSEO_Utils::sanitize_url() + * + * @param string $value URL string to sanitize. + * @param array $allowed_protocols Set of allowed protocols. + * + * @return string + */ + public static function sanitize_url( $value, $allowed_protocols = array( 'http', 'https' ) ) { + _deprecated_function( __METHOD__, 'WPSEO 1.5.6.1', 'WPSEO_Utils::sanitize_url()' ); + + return WPSEO_Utils::sanitize_url( $value, $allowed_protocols ); + } + + /** + * Validate a value as boolean + * + * @deprecated 1.5.6.1 + * @deprecated use WPSEO_Utils::validate_bool() + * @see WPSEO_Utils::validate_bool() + * + * @static + * + * @param mixed $value Value to validate. + * + * @return bool + */ + public static function validate_bool( $value ) { + _deprecated_function( __METHOD__, 'WPSEO 1.5.6.1', 'WPSEO_Utils::validate_bool()' ); + + return WPSEO_Utils::validate_bool( $value ); + } + + /** + * Cast a value to bool + * + * @deprecated 1.5.6.1 + * @deprecated use WPSEO_Utils::emulate_filter_bool() + * @see WPSEO_Utils::emulate_filter_bool() + * + * @static + * + * @param mixed $value Value to cast. + * + * @return bool + */ + public static function emulate_filter_bool( $value ) { + _deprecated_function( __METHOD__, 'WPSEO 1.5.6.1', 'WPSEO_Utils::emulate_filter_bool()' ); + + return WPSEO_Utils::emulate_filter_bool( $value ); + } + + + /** + * Validate a value as integer + * + * @deprecated 1.5.6.1 + * @deprecated use WPSEO_Utils::validate_int() + * @see WPSEO_Utils::validate_int() + * + * @param mixed $value Value to validate. + * + * @return mixed int or false in case of failure to convert to int + */ + public static function validate_int( $value ) { + _deprecated_function( __METHOD__, 'WPSEO 1.5.6.1', 'WPSEO_Utils::validate_int()' ); + + return WPSEO_Utils::validate_int( $value ); + } + + /** + * Cast a value to integer + * + * @deprecated 1.5.6.1 + * @deprecated use WPSEO_Utils::emulate_filter_int() + * @see WPSEO_Utils::emulate_filter_int() + * + * @static + * + * @param mixed $value Value to cast. + * + * @return int|bool + */ + public static function emulate_filter_int( $value ) { + _deprecated_function( __METHOD__, 'WPSEO 1.5.6.1', 'WPSEO_Utils::emulate_filter_int()' ); + + return WPSEO_Utils::emulate_filter_int( $value ); + } + + + /** + * Recursively trim whitespace round a string value or of string values within an array + * Only trims strings to avoid typecasting a variable (to string) + * + * @deprecated 1.5.6.1 + * @deprecated use WPSEO_Utils::trim_recursive() + * @see WPSEO_Utils::trim_recursive() + * + * @static + * + * @param mixed $value Value to trim or array of values to trim. + * + * @return mixed Trimmed value or array of trimmed values + */ + public static function trim_recursive( $value ) { + _deprecated_function( __METHOD__, 'WPSEO 1.5.6.1', 'WPSEO_Utils::trim_recursive()' ); + + return WPSEO_Utils::trim_recursive( $value ); + } + // @codeCoverageIgnoreEnd +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-options.php b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-options.php new file mode 100644 index 00000000..a8a2d00f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-options.php @@ -0,0 +1,478 @@ + (string) name of concrete class for the option + * @static + */ + public static $options = array( + 'wpseo' => 'WPSEO_Option_Wpseo', + 'wpseo_permalinks' => 'WPSEO_Option_Permalinks', + 'wpseo_titles' => 'WPSEO_Option_Titles', + 'wpseo_social' => 'WPSEO_Option_Social', + 'wpseo_rss' => 'WPSEO_Option_RSS', + 'wpseo_internallinks' => 'WPSEO_Option_InternalLinks', + 'wpseo_xml' => 'WPSEO_Option_XML', + 'wpseo_ms' => 'WPSEO_Option_MS', + 'wpseo_taxonomy_meta' => 'WPSEO_Taxonomy_Meta', + ); + + /** + * @var array Array of instantiated option objects + */ + protected static $option_instances = array(); + + /** + * @var object Instance of this class + */ + protected static $instance; + + + /** + * Instantiate all the WPSEO option management classes + */ + protected function __construct() { + $is_multisite = is_multisite(); + + foreach ( self::$options as $option_name => $option_class ) { + $instance = call_user_func( array( $option_class, 'get_instance' ) ); + + if ( ! $instance->multisite_only || $is_multisite ) { + self::$option_instances[ $option_name ] = $instance; + } + else { + unset( self::$options[ $option_name ] ); + } + } + } + + /** + * Get the singleton instance of this class + * + * @return object + */ + public static function get_instance() { + if ( ! ( self::$instance instanceof self ) ) { + self::$instance = new self(); + } + + return self::$instance; + } + + /** + * Get the group name of an option for use in the settings form + * + * @param string $option_name the option for which you want to retrieve the option group name. + * + * @return string|bool + */ + public static function get_group_name( $option_name ) { + if ( isset( self::$option_instances[ $option_name ] ) ) { + return self::$option_instances[ $option_name ]->group_name; + } + + return false; + } + + /** + * Get a specific default value for an option + * + * @param string $option_name The option for which you want to retrieve a default. + * @param string $key The key within the option who's default you want. + * + * @return mixed + */ + public static function get_default( $option_name, $key ) { + if ( isset( self::$option_instances[ $option_name ] ) ) { + $defaults = self::$option_instances[ $option_name ]->get_defaults(); + if ( isset( $defaults[ $key ] ) ) { + return $defaults[ $key ]; + } + } + + return null; + } + + /** + * Update a site_option + * + * @param string $option_name The option name of the option to save. + * @param mixed $value The new value for the option. + * + * @return bool + */ + public static function update_site_option( $option_name, $value ) { + if ( is_network_admin() && isset( self::$option_instances[ $option_name ] ) ) { + return self::$option_instances[ $option_name ]->update_site_option( $value ); + } + else { + return false; + } + } + + /** + * Get the instantiated option instance + * + * @param string $option_name The option for which you want to retrieve the instance. + * + * @return object|bool + */ + public static function get_option_instance( $option_name ) { + if ( isset( self::$option_instances[ $option_name ] ) ) { + return self::$option_instances[ $option_name ]; + } + + return false; + } + + /** + * Retrieve an array of the options which should be included in get_all() and reset(). + * + * @static + * @return array Array of option names + */ + public static function get_option_names() { + static $option_names = array(); + + if ( $option_names === array() ) { + foreach ( self::$option_instances as $option_name => $option_object ) { + if ( $option_object->include_in_all === true ) { + $option_names[] = $option_name; + } + } + $option_names = apply_filters( 'wpseo_options', $option_names ); + } + + return $option_names; + } + + /** + * Retrieve all the options for the SEO plugin in one go. + * + * @todo [JRF] see if we can get some extra efficiency for this one, though probably not as options may + * well change between calls (enriched defaults and such) + * + * @static + * @return array Array combining the values of all the options + */ + public static function get_all() { + return self::get_options( self::get_option_names() ); + } + + /** + * Retrieve one or more options for the SEO plugin. + * + * @static + * + * @param array $option_names An array of option names of the options you want to get. + * + * @return array Array combining the values of the requested options + */ + public static function get_options( array $option_names ) { + $options = array(); + $option_names = array_filter( $option_names, 'is_string' ); + foreach ( $option_names as $option_name ) { + if ( isset( self::$option_instances[ $option_name ] ) ) { + $option = self::get_option( $option_name ); + $options = array_merge( $options, $option ); + } + } + + return $options; + } + + /** + * Retrieve a single option for the SEO plugin. + * + * @static + * + * @param string $option_name the name of the option you want to get. + * + * @return array Array containing the requested option + */ + public static function get_option( $option_name ) { + $option = null; + if ( is_string( $option_name ) && ! empty( $option_name ) ) { + if ( isset( self::$option_instances[ $option_name ] ) ) { + if ( self::$option_instances[ $option_name ]->multisite_only !== true ) { + $option = get_option( $option_name ); + } + else { + $option = get_site_option( $option_name ); + } + } + } + + return $option; + } + + /** + * Get an option only if it's been auto-loaded. + * + * @static + * + * @param string $option The option to retrieve. + * @param bool|mixed $default A default value to return. + * + * @return bool|mixed + */ + public static function get_autoloaded_option( $option, $default = false ) { + $value = wp_cache_get( $option, 'options' ); + if ( false === $value ) { + $passed_default = func_num_args() > 1; + + return apply_filters( "default_option_{$option}", $default, $option, $passed_default ); + } + + return apply_filters( "option_{$option}", maybe_unserialize( $value ), $option ); + } + + /** + * Run the clean up routine for one or all options + * + * @param array|string $option_name (optional) the option you want to clean or an array of + * option names for the options you want to clean. + * If not set, all options will be cleaned. + * @param string $current_version (optional) Version from which to upgrade, if not set, + * version specific upgrades will be disregarded. + * + * @return void + */ + public static function clean_up( $option_name = null, $current_version = null ) { + if ( isset( $option_name ) && is_string( $option_name ) && $option_name !== '' ) { + if ( isset( self::$option_instances[ $option_name ] ) ) { + self::$option_instances[ $option_name ]->clean( $current_version ); + } + } + elseif ( isset( $option_name ) && is_array( $option_name ) && $option_name !== array() ) { + foreach ( $option_name as $option ) { + if ( isset( self::$option_instances[ $option ] ) ) { + self::$option_instances[ $option ]->clean( $current_version ); + } + } + unset( $option ); + } + else { + foreach ( self::$option_instances as $instance ) { + $instance->clean( $current_version ); + } + unset( $instance ); + + // If we've done a full clean-up, we can safely remove this really old option. + delete_option( 'wpseo_indexation' ); + } + } + + + /** + * Check that all options exist in the database and add any which don't + * + * @return void + */ + public static function ensure_options_exist() { + foreach ( self::$option_instances as $instance ) { + $instance->maybe_add_option(); + } + } + + /** + * Correct the inadvertent removal of the fallback to default values from the breadcrumbs + * + * @since 1.5.2.3 + */ + public static function bring_back_breadcrumb_defaults() { + if ( isset( self::$option_instances['wpseo_internallinks'] ) ) { + self::$option_instances['wpseo_internallinks']->bring_back_defaults(); + } + } + + /** + * Initialize some options on first install/activate/reset + * + * @static + * @return void + */ + public static function initialize() { + /* Force WooThemes to use Yoast SEO data. */ + if ( function_exists( 'woo_version_init' ) ) { + update_option( 'seo_woo_use_third_party_data', 'true' ); + } + } + + /** + * Reset all options to their default values and rerun some tests + * + * @static + * @return void + */ + public static function reset() { + if ( ! is_multisite() ) { + $option_names = self::get_option_names(); + if ( is_array( $option_names ) && $option_names !== array() ) { + foreach ( $option_names as $option_name ) { + delete_option( $option_name ); + update_option( $option_name, get_option( $option_name ) ); + } + } + unset( $option_names ); + } + else { + // Reset MS blog based on network default blog setting. + self::reset_ms_blog( get_current_blog_id() ); + } + + self::initialize(); + } + + /** + * Initialize default values for a new multisite blog + * + * @static + * + * @param bool $force_init Whether to always do the initialization routine (title/desc test). + * + * @return void + */ + public static function maybe_set_multisite_defaults( $force_init = false ) { + $option = get_option( 'wpseo' ); + + if ( is_multisite() ) { + if ( $option['ms_defaults_set'] === false ) { + self::reset_ms_blog( get_current_blog_id() ); + self::initialize(); + } + elseif ( $force_init === true ) { + self::initialize(); + } + } + } + + /** + * Reset all options for a specific multisite blog to their default values based upon a + * specified default blog if one was chosen on the network page or the plugin defaults if it was not + * + * @static + * + * @param int|string $blog_id Blog id of the blog for which to reset the options. + * + * @return void + */ + public static function reset_ms_blog( $blog_id ) { + if ( is_multisite() ) { + $options = get_site_option( 'wpseo_ms' ); + $option_names = self::get_option_names(); + + if ( is_array( $option_names ) && $option_names !== array() ) { + $base_blog_id = $blog_id; + if ( $options['defaultblog'] !== '' && $options['defaultblog'] != 0 ) { + $base_blog_id = $options['defaultblog']; + } + + foreach ( $option_names as $option_name ) { + delete_blog_option( $blog_id, $option_name ); + + $new_option = get_blog_option( $base_blog_id, $option_name ); + + /* Remove sensitive, theme dependent and site dependent info */ + if ( isset( self::$option_instances[ $option_name ] ) && self::$option_instances[ $option_name ]->ms_exclude !== array() ) { + foreach ( self::$option_instances[ $option_name ]->ms_exclude as $key ) { + unset( $new_option[ $key ] ); + } + } + + if ( $option_name === 'wpseo' ) { + $new_option['ms_defaults_set'] = true; + } + + update_blog_option( $blog_id, $option_name, $new_option ); + } + } + } + } + + /** + * Saves the option to the database. + * + * @param string $wpseo_options_group_name The name for the wpseo option group in the database. + * @param string $option_name The name for the option to set. + * @param * $option_value The value for the option. + * + * @return boolean Returns true if the option is successfully saved in the database. + */ + public static function save_option( $wpseo_options_group_name, $option_name, $option_value ) { + $options = WPSEO_Options::get_option( $wpseo_options_group_name ); + $options[ $option_name ] = $option_value; + update_option( $wpseo_options_group_name, $options ); + + // Check if everything got saved properly. + $saved_option = self::get_option( $wpseo_options_group_name ); + return $saved_option[ $option_name ] === $options[ $option_name ]; + } + + /********************** DEPRECATED FUNCTIONS **********************/ + + // @codeCoverageIgnoreStart + /** + * Check whether the current user is allowed to access the configuration. + * + * @deprecated 1.5.6.1 + * @deprecated use WPSEO_Utils::grant_access() + * @see WPSEO_Utils::grant_access() + * + * @return boolean + */ + public static function grant_access() { + _deprecated_function( __METHOD__, 'WPSEO 1.5.6.1', 'WPSEO_Utils::grant_access()' ); + + return WPSEO_Utils::grant_access(); + } + + /** + * Clears the WP or W3TC cache depending on which is used + * + * @deprecated 1.5.6.1 + * @deprecated use WPSEO_Utils::clear_cache() + * @see WPSEO_Utils::clear_cache() + */ + public static function clear_cache() { + _deprecated_function( __METHOD__, 'WPSEO 1.5.6.1', 'WPSEO_Utils::clear_cache()' ); + WPSEO_Utils::clear_cache(); + } + + + /** + * Flush W3TC cache after succesfull update/add of taxonomy meta option + * + * @deprecated 1.5.6.1 + * @deprecated use WPSEO_Utils::flush_w3tc_cache() + * @see WPSEO_Utils::flush_w3tc_cache() + */ + public static function flush_w3tc_cache() { + _deprecated_function( __METHOD__, 'WPSEO 1.5.6.1', 'WPSEO_Utils::flush_w3tc_cache()' ); + WPSEO_Utils::flush_w3tc_cache(); + } + + + /** + * Clear rewrite rules + * + * @deprecated 1.5.6.1 + * @deprecated use WPSEO_Utils::clear_rewrites() + * @see WPSEO_Utils::clear_rewrites() + */ + public static function clear_rewrites() { + _deprecated_function( __METHOD__, 'WPSEO 1.5.6.1', 'WPSEO_Utils::clear_rewrites()' ); + WPSEO_Utils::clear_rewrites(); + } + // @codeCoverageIgnoreEnd +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-taxonomy-meta.php b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-taxonomy-meta.php new file mode 100644 index 00000000..f49e4378 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/options/class-wpseo-taxonomy-meta.php @@ -0,0 +1,601 @@ +get_defaults(); + * + * {@internal Important: in contrast to most defaults, the below array format is + * very bare. The real option is in the format [taxonomy_name][term_id][...] + * where [...] is any of the $defaults_per_term options shown below. + * This is of course taken into account in the below methods.}} + */ + protected $defaults = array(); + + + /** + * @var string Option name - same as $option_name property, but now also available to static methods + * @static + */ + public static $name; + + /** + * @var array Array of defaults for individual taxonomy meta entries + * @static + */ + public static $defaults_per_term = array( + 'wpseo_title' => '', + 'wpseo_desc' => '', + 'wpseo_metakey' => '', + 'wpseo_canonical' => '', + 'wpseo_bctitle' => '', + 'wpseo_noindex' => 'default', + 'wpseo_sitemap_include' => '-', + 'wpseo_focuskw' => '', + 'wpseo_linkdex' => '', + 'wpseo_content_score' => '', + + // Social fields. + 'wpseo_opengraph-title' => '', + 'wpseo_opengraph-description' => '', + 'wpseo_opengraph-image' => '', + 'wpseo_twitter-title' => '', + 'wpseo_twitter-description' => '', + 'wpseo_twitter-image' => '', + ); + + /** + * @var array Available index options + * Used for form generation and input validation + * + * @static + * + * {@internal Labels (translation) added on admin_init via WPSEO_Taxonomy::translate_meta_options().}} + */ + public static $no_index_options = array( + 'default' => '', + 'index' => '', + 'noindex' => '', + ); + + /** + * @var array Available sitemap include options + * Used for form generation and input validation + * + * @static + * + * {@internal Labels (translation) added on admin_init via WPSEO_Taxonomy::translate_meta_options().}} + */ + public static $sitemap_include_options = array( + '-' => '', + 'always' => '', + 'never' => '', + ); + + + /** + * Add the actions and filters for the option + * + * @todo [JRF => testers] Check if the extra actions below would run into problems if an option + * is updated early on and if so, change the call to schedule these for a later action on add/update + * instead of running them straight away + * + * @return \WPSEO_Taxonomy_Meta + */ + protected function __construct() { + parent::__construct(); + + self::$name = $this->option_name; + + /* On succesfull update/add of the option, flush the W3TC cache */ + add_action( 'add_option_' . $this->option_name, array( 'WPSEO_Utils', 'flush_w3tc_cache' ) ); + add_action( 'update_option_' . $this->option_name, array( 'WPSEO_Utils', 'flush_w3tc_cache' ) ); + } + + + /** + * Get the singleton instance of this class + * + * @return object + */ + public static function get_instance() { + if ( ! ( self::$instance instanceof self ) ) { + self::$instance = new self(); + self::$name = self::$instance->option_name; + } + + return self::$instance; + } + + + /** + * Add extra default options received from a filter + */ + public function enrich_defaults() { + $extra_defaults_per_term = apply_filters( 'wpseo_add_extra_taxmeta_term_defaults', array() ); + if ( is_array( $extra_defaults_per_term ) ) { + self::$defaults_per_term = array_merge( $extra_defaults_per_term, self::$defaults_per_term ); + } + } + + + /** + * Helper method - Combines a fixed array of default values with an options array + * while filtering out any keys which are not in the defaults array. + * + * @static + * + * @param string $option_key Option name of the option we're doing the merge for. + * @param array $options (Optional) Current options. If not set, the option defaults for the $option_key will be returned. + * + * @return array Combined and filtered options array. + */ + + /* + Public function array_filter_merge( $option_key, $options = null ) { + + $defaults = $this->get_defaults( $option_key ); + + if ( ! isset( $options ) || $options === false ) { + return $defaults; + } + + / * + {@internal Adding the defaults to all taxonomy terms each time the option is retrieved + will be quite inefficient if there are a lot of taxonomy terms. + As long as taxonomy_meta is only retrieved via methods in this class, we shouldn't need this.}} + + $options = (array) $options; + $filtered = array(); + + if ( $options !== array() ) { + foreach ( $options as $taxonomy => $terms ) { + if ( is_array( $terms ) && $terms !== array() ) { + foreach ( $terms as $id => $term_meta ) { + foreach ( self::$defaults_per_term as $name => $default ) { + if ( isset( $options[ $taxonomy ][ $id ][ $name ] ) ) { + $filtered[ $taxonomy ][ $id ][ $name ] = $options[ $taxonomy ][ $id ][ $name ]; + } + else { + $filtered[ $name ] = $default; + } + } + } + } + } + unset( $taxonomy, $terms, $id, $term_meta, $name, $default ); + } + // end of may be remove. + + return $filtered; + * / + + return (array) $options; + } + */ + + + /** + * Validate the option + * + * @param array $dirty New value for the option. + * @param array $clean Clean value for the option, normally the defaults. + * @param array $old Old value of the option. + * + * @return array Validated clean value for the option to be saved to the database + */ + protected function validate_option( $dirty, $clean, $old ) { + /* + * Prevent complete validation (which can be expensive when there are lots of terms) + * if only one item has changed and has already been validated. + */ + if ( isset( $dirty['wpseo_already_validated'] ) && $dirty['wpseo_already_validated'] === true ) { + unset( $dirty['wpseo_already_validated'] ); + + return $dirty; + } + + + foreach ( $dirty as $taxonomy => $terms ) { + /* Don't validate taxonomy - may not be registered yet and we don't want to remove valid ones */ + if ( is_array( $terms ) && $terms !== array() ) { + foreach ( $terms as $term_id => $meta_data ) { + /* Only validate term if the taxonomy exists */ + if ( taxonomy_exists( $taxonomy ) && get_term_by( 'id', $term_id, $taxonomy ) === false ) { + /* Is this term id a special case ? */ + if ( has_filter( 'wpseo_tax_meta_special_term_id_validation_' . $term_id ) !== false ) { + $clean[ $taxonomy ][ $term_id ] = apply_filters( 'wpseo_tax_meta_special_term_id_validation_' . $term_id, $meta_data, $taxonomy, $term_id ); + } + continue; + } + + if ( is_array( $meta_data ) && $meta_data !== array() ) { + /* Validate meta data */ + $old_meta = self::get_term_meta( $term_id, $taxonomy ); + $meta_data = self::validate_term_meta_data( $meta_data, $old_meta ); + if ( $meta_data !== array() ) { + $clean[ $taxonomy ][ $term_id ] = $meta_data; + } + } + + // Deal with special cases (for when taxonomy doesn't exist yet). + if ( ! isset( $clean[ $taxonomy ][ $term_id ] ) && has_filter( 'wpseo_tax_meta_special_term_id_validation_' . $term_id ) !== false ) { + $clean[ $taxonomy ][ $term_id ] = apply_filters( 'wpseo_tax_meta_special_term_id_validation_' . $term_id, $meta_data, $taxonomy, $term_id ); + } + } + } + } + + return $clean; + } + + + /** + * Validate the meta data for one individual term and removes default values (no need to save those) + * + * @static + * + * @param array $meta_data New values. + * @param array $old_meta The original values. + * + * @return array Validated and filtered value + */ + public static function validate_term_meta_data( $meta_data, $old_meta ) { + + $clean = self::$defaults_per_term; + $meta_data = array_map( array( 'WPSEO_Utils', 'trim_recursive' ), $meta_data ); + + if ( ! is_array( $meta_data ) || $meta_data === array() ) { + return $clean; + } + + foreach ( $clean as $key => $value ) { + switch ( $key ) { + + case 'wpseo_noindex': + if ( isset( $meta_data[ $key ] ) ) { + if ( isset( self::$no_index_options[ $meta_data[ $key ] ] ) ) { + $clean[ $key ] = $meta_data[ $key ]; + } + } + elseif ( isset( $old_meta[ $key ] ) ) { + // Retain old value if field currently not in use. + $clean[ $key ] = $old_meta[ $key ]; + } + break; + + case 'wpseo_sitemap_include': + if ( isset( $meta_data[ $key ], self::$sitemap_include_options[ $meta_data[ $key ] ] ) ) { + $clean[ $key ] = $meta_data[ $key ]; + } + break; + + case 'wpseo_canonical': + if ( isset( $meta_data[ $key ] ) && $meta_data[ $key ] !== '' ) { + $url = WPSEO_Utils::sanitize_url( $meta_data[ $key ] ); + if ( $url !== '' ) { + $clean[ $key ] = $url; + } + unset( $url ); + } + break; + + case 'wpseo_metakey': + case 'wpseo_bctitle': + if ( isset( $meta_data[ $key ] ) ) { + $clean[ $key ] = WPSEO_Utils::sanitize_text_field( stripslashes( $meta_data[ $key ] ) ); + } + elseif ( isset( $old_meta[ $key ] ) ) { + // Retain old value if field currently not in use. + $clean[ $key ] = $old_meta[ $key ]; + } + break; + case 'wpseo_focuskw': + case 'wpseo_title': + case 'wpseo_desc': + case 'wpseo_linkdex': + default: + if ( isset( $meta_data[ $key ] ) && is_string( $meta_data[ $key ] ) ) { + $clean[ $key ] = WPSEO_Utils::sanitize_text_field( stripslashes( $meta_data[ $key ] ) ); + } + + if ( 'wpseo_focuskw' === $key ) { + $clean[ $key ] = str_replace( array( + '<', + '>', + '"', + '`', + '<', + '>', + '"', + '`', + ), '', $clean[ $key ] ); + } + break; + } + + $clean[ $key ] = apply_filters( 'wpseo_sanitize_tax_meta_' . $key, $clean[ $key ], ( isset( $meta_data[ $key ] ) ? $meta_data[ $key ] : null ), ( isset( $old_meta[ $key ] ) ? $old_meta[ $key ] : null ) ); + } + + // Only save the non-default values. + return array_diff_assoc( $clean, self::$defaults_per_term ); + } + + + /** + * Clean a given option value + * - Convert old option values to new + * - Fixes strings which were escaped (should have been sanitized - escaping is for output) + * + * @param array $option_value Old (not merged with defaults or filtered) option value to + * clean according to the rules for this option. + * @param string $current_version (optional) Version from which to upgrade, if not set, + * version specific upgrades will be disregarded. + * @param array $all_old_option_values (optional) Only used when importing old options to have + * access to the real old values, in contrast to the saved ones. + * + * @return array Cleaned option + */ + protected function clean_option( $option_value, $current_version = null, $all_old_option_values = null ) { + + /* Clean up old values and remove empty arrays */ + if ( is_array( $option_value ) && $option_value !== array() ) { + + foreach ( $option_value as $taxonomy => $terms ) { + + if ( is_array( $terms ) && $terms !== array() ) { + + foreach ( $terms as $term_id => $meta_data ) { + if ( ! is_array( $meta_data ) || $meta_data === array() ) { + // Remove empty term arrays. + unset( $option_value[ $taxonomy ][ $term_id ] ); + } + else { + foreach ( $meta_data as $key => $value ) { + + switch ( $key ) { + case 'noindex': + if ( $value === 'on' ) { + // Convert 'on' to 'noindex'. + $option_value[ $taxonomy ][ $term_id ][ $key ] = 'noindex'; + } + break; + + case 'canonical': + case 'wpseo_metakey': + case 'wpseo_bctitle': + case 'wpseo_title': + case 'wpseo_desc': + case 'wpseo_linkdex': + // @todo [JRF => whomever] needs checking, I don't have example data [JRF]. + if ( $value !== '' ) { + // Fix incorrectly saved (encoded) canonical urls and texts. + $option_value[ $taxonomy ][ $term_id ][ $key ] = wp_specialchars_decode( stripslashes( $value ), ENT_QUOTES ); + } + break; + + default: + // @todo [JRF => whomever] needs checking, I don't have example data [JRF]. + if ( $value !== '' ) { + // Fix incorrectly saved (escaped) text strings. + $option_value[ $taxonomy ][ $term_id ][ $key ] = wp_specialchars_decode( $value, ENT_QUOTES ); + } + break; + } + } + } + } + } + else { + // Remove empty taxonomy arrays. + unset( $option_value[ $taxonomy ] ); + } + } + } + + return $option_value; + } + + + /** + * Retrieve a taxonomy term's meta value(s). + * + * @static + * + * @param mixed $term Term to get the meta value for + * either (string) term name, (int) term id or (object) term. + * @param string $taxonomy Name of the taxonomy to which the term is attached. + * @param string $meta (optional) Meta value to get (without prefix). + * + * @return mixed|bool Value for the $meta if one is given, might be the default. + * If no meta is given, an array of all the meta data for the term. + * False if the term does not exist or the $meta provided is invalid. + */ + public static function get_term_meta( $term, $taxonomy, $meta = null ) { + /* Figure out the term id */ + if ( is_int( $term ) ) { + $term = get_term_by( 'id', $term, $taxonomy ); + } + elseif ( is_string( $term ) ) { + $term = get_term_by( 'slug', $term, $taxonomy ); + } + + if ( is_object( $term ) && isset( $term->term_id ) ) { + $term_id = $term->term_id; + } + else { + return false; + } + + $tax_meta = self::get_term_tax_meta( $term_id, $taxonomy ); + + /* + * Either return the complete array or a single value from it or false if the value does not exist + * (shouldn't happen after merge with defaults, indicates typo in request). + */ + if ( ! isset( $meta ) ) { + return $tax_meta; + } + + + if ( isset( $tax_meta[ 'wpseo_' . $meta ] ) ) { + return $tax_meta[ 'wpseo_' . $meta ]; + } + + return false; + } + + /** + * Get the current queried object and return the meta value + * + * @param string $meta The meta field that is needed. + * + * @return bool|mixed + */ + public static function get_meta_without_term( $meta ) { + $term = $GLOBALS['wp_query']->get_queried_object(); + + return self::get_term_meta( $term, $term->taxonomy, $meta ); + + } + + /** + * Saving the values for the given term_id + * + * @param int $term_id ID of the term to save data for. + * @param string $taxonomy The taxonomy the term belongs to. + * @param array $meta_values The values that will be saved. + */ + public static function set_values( $term_id, $taxonomy, array $meta_values ) { + /* Validate the post values */ + $old = self::get_term_meta( $term_id, $taxonomy ); + $clean = self::validate_term_meta_data( $meta_values, $old ); + + self::save_clean_values( $term_id, $taxonomy, $clean ); + } + + /** + * Setting a single value to the term meta + * + * @param int $term_id ID of the term to save data for. + * @param string $taxonomy The taxonomy the term belongs to. + * @param string $meta_key The target meta key to store the value in. + * @param string $meta_value The value of the target meta key. + */ + public static function set_value( $term_id, $taxonomy, $meta_key, $meta_value ) { + + if ( substr( strtolower( $meta_key ), 0, 6 ) !== 'wpseo_' ) { + $meta_key = 'wpseo_' . $meta_key; + } + + self::set_values( $term_id, $taxonomy, array( $meta_key => $meta_value ) ); + } + + /** + * Find the keyword usages in the metas for the taxonomies/terms + * + * @param string $keyword The keyword to look for. + * @param string $current_term_id The current term id. + * @param string $current_taxonomy The current taxonomy name. + * + * @return array + */ + public static function get_keyword_usage( $keyword, $current_term_id, $current_taxonomy ) { + $tax_meta = self::get_tax_meta(); + + + $found = array(); + // @todo Check for terms of all taxonomies, not only the current taxonomy. + foreach ( $tax_meta as $taxonomy_name => $terms ) { + foreach ( $terms as $term_id => $meta_values ) { + $is_current = ( $current_taxonomy === $taxonomy_name && (string) $current_term_id === (string) $term_id ); + if ( ! $is_current && ! empty( $meta_values['wpseo_focuskw'] ) && $meta_values['wpseo_focuskw'] === $keyword ) { + $found[] = $term_id; + } + } + } + + return array( $keyword => $found ); + } + + /** + * Saving the values for the given term_id + * + * @param int $term_id ID of the term to save data for. + * @param string $taxonomy The taxonomy the term belongs to. + * @param array $clean Array with clean values. + */ + private static function save_clean_values( $term_id, $taxonomy, array $clean ) { + $tax_meta = self::get_tax_meta(); + + /* Add/remove the result to/from the original option value */ + if ( $clean !== array() ) { + $tax_meta[ $taxonomy ][ $term_id ] = $clean; + } + else { + unset( $tax_meta[ $taxonomy ][ $term_id ] ); + if ( isset( $tax_meta[ $taxonomy ] ) && $tax_meta[ $taxonomy ] === array() ) { + unset( $tax_meta[ $taxonomy ] ); + } + } + + // Prevent complete array validation. + $tax_meta['wpseo_already_validated'] = true; + + self::save_tax_meta( $tax_meta ); + } + + /** + * Getting the meta from the options + * + * @return void|array + */ + private static function get_tax_meta() { + return get_option( self::$name ); + } + + /** + * Saving the tax meta values to the database + * + * @param array $tax_meta Array with the meta values for taxonomy. + */ + private static function save_tax_meta( $tax_meta ) { + update_option( self::$name, $tax_meta ); + } + + /** + * Getting the taxonomy meta for the given term_id and taxonomy + * + * @param int $term_id The id of the term. + * @param string $taxonomy Name of the taxonomy to which the term is attached. + * + * @return array + */ + private static function get_term_tax_meta( $term_id, $taxonomy ) { + $tax_meta = self::get_tax_meta(); + + /* If we have data for the term, merge with defaults for complete array, otherwise set defaults */ + if ( isset( $tax_meta[ $taxonomy ][ $term_id ] ) ) { + return array_merge( self::$defaults_per_term, $tax_meta[ $taxonomy ][ $term_id ] ); + } + + return self::$defaults_per_term; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-author-sitemap-provider.php b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-author-sitemap-provider.php new file mode 100644 index 00000000..538acefa --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-author-sitemap-provider.php @@ -0,0 +1,305 @@ +update_user_meta(); + + $has_exclude_filter = has_filter( 'wpseo_sitemap_exclude_author' ); + + $query_arguments = array(); + + if ( ! $has_exclude_filter ) { // We only need full users if legacy filter(s) hooked to exclusion logic. R. + $query_arguments['fields'] = 'ID'; + } + + $users = $this->get_users( $query_arguments ); + + if ( $has_exclude_filter ) { + $users = $this->exclude_users( $users ); + $users = wp_list_pluck( $users, 'ID' ); + } + + if ( empty( $users ) ) { + return array(); + } + + $index = array(); + $page = 1; + $user_pages = array_chunk( $users, $max_entries ); + + if ( count( $user_pages ) === 1 ) { + $page = ''; + } + + foreach ( $user_pages as $users_page ) { + + $user_id = array_shift( $users_page ); // Time descending, first user on page is most recently updated. + $user = get_user_by( 'id', $user_id ); + $index[] = array( + 'loc' => WPSEO_Sitemaps_Router::get_base_url( 'author-sitemap' . $page . '.xml' ), + 'lastmod' => '@' . $user->_yoast_wpseo_profile_updated, // @ for explicit timestamp format + ); + + $page++; + } + + return $index; + } + + /** + * Retrieve users, taking account of all necessary exclusions. + * + * @param array $arguments Arguments to add. + * + * @return array + */ + protected function get_users( $arguments = array() ) { + + global $wpdb; + + $options = WPSEO_Options::get_all(); + + $defaults = array( + // @todo Re-enable after plugin requirements raised to WP 4.6 with the fix. + // 'who' => 'authors', Breaks meta keys, see https://core.trac.wordpress.org/ticket/36724#ticket R. + 'meta_key' => '_yoast_wpseo_profile_updated', + 'orderby' => 'meta_value_num', + 'order' => 'DESC', + 'meta_query' => array( + 'relation' => 'AND', + array( + 'key' => $wpdb->get_blog_prefix() . 'user_level', + 'value' => '0', + 'compare' => '!=', + ), + array( + 'relation' => 'OR', + array( + 'key' => 'wpseo_excludeauthorsitemap', + 'value' => 'on', + 'compare' => '!=', + ), + array( + 'key' => 'wpseo_excludeauthorsitemap', + 'compare' => 'NOT EXISTS', + ), + ), + ), + ); + + if ( $options['disable_author_noposts'] === true ) { + // $defaults['who'] = ''; // Otherwise it cancels out next argument. + $defaults['has_published_posts'] = true; + } + + $excluded_roles = $this->get_excluded_roles(); + + if ( ! empty( $excluded_roles ) ) { + // $defaults['who'] = ''; // Otherwise it cancels out next argument. + $defaults['role__not_in'] = $excluded_roles; + } + + return get_users( array_merge( $defaults, $arguments ) ); + } + + /** + * Retrieve array of roles, excluded in settings. + * + * @return array + */ + protected function get_excluded_roles() { + + static $excluded_roles; + + if ( isset( $excluded_roles ) ) { + return $excluded_roles; + } + + $options = WPSEO_Options::get_all(); + $roles = WPSEO_Utils::get_roles(); + + foreach ( $roles as $role_slug => $role_name ) { + + if ( ! empty( $options[ "user_role-{$role_slug}-not_in_sitemap" ] ) ) { + $excluded_roles[] = $role_name; + } + } + + if ( ! empty( $excluded_roles ) ) { // Otherwise it's handled by who=>authors query. + $excluded_roles[] = 'Subscriber'; + } + + return $excluded_roles; + } + + /** + * Get set of sitemap link data. + * + * @param string $type Sitemap type. + * @param int $max_entries Entries per sitemap. + * @param int $current_page Current page of the sitemap. + * + * @return array + */ + public function get_sitemap_links( $type, $max_entries, $current_page ) { + + $options = WPSEO_Options::get_all(); + + $links = array(); + + if ( $options['disable-author'] === true || $options['disable_author_sitemap'] === true ) { + return $links; + } + + $users = $this->get_users( array( + 'offset' => ( $current_page - 1 ) * $max_entries, + 'number' => $max_entries, + ) ); + + $users = $this->exclude_users( $users ); + + if ( empty( $users ) ) { + $users = array(); + } + + $time = time(); + + foreach ( $users as $user ) { + + $author_link = get_author_posts_url( $user->ID ); + + if ( empty( $author_link ) ) { + continue; + } + + $mod = $time; + + if ( isset( $user->_yoast_wpseo_profile_updated ) ) { + $mod = $user->_yoast_wpseo_profile_updated; + } + + $url = array( + 'loc' => $author_link, + 'mod' => date( DATE_W3C, $mod ), + + // Deprecated, kept for backwards data compat. R. + 'chf' => 'daily', + 'pri' => 1, + ); + + /** This filter is documented at inc/sitemaps/class-post-type-sitemap-provider.php */ + $url = apply_filters( 'wpseo_sitemap_entry', $url, 'user', $user ); + + if ( ! empty( $url ) ) { + $links[] = $url; + } + } + + return $links; + } + + /** + * Update any users that don't have last profile update timestamp. + * + * @return int Count of users updated. + */ + protected function update_user_meta() { + + $users = get_users( array( + 'who' => 'authors', + 'meta_query' => array( + array( + 'key' => '_yoast_wpseo_profile_updated', + 'compare' => 'NOT EXISTS', + ), + ), + ) ); + + $time = time(); + + foreach ( $users as $user ) { + update_user_meta( $user->ID, '_yoast_wpseo_profile_updated', $time ); + } + + return count( $users ); + } + + /** + * Wrap legacy filter to deduplicate calls. + * + * @param array $users Array of user objects to filter. + * + * @return array + */ + protected function exclude_users( $users ) { + + /** + * Filter the authors, included in XML sitemap. + * + * @param array $users Array of user objects to filter. + */ + return apply_filters( 'wpseo_sitemap_exclude_author', $users ); + } + + /** + * Sorts an array of WP_User by the _yoast_wpseo_profile_updated meta field. + * + * @since 1.6 + * + * @deprecated 3.3 User meta sort can now be done by queries. + * + * @param WP_User $first The first WP user. + * @param WP_User $second The second WP user. + * + * @return int 0 if equal, 1 if $a is larger else or -1; + */ + public function user_map_sorter( $first, $second ) { + _deprecated_function( __METHOD__, 'WPSEO 3.3', __( 'Use queries instead', 'wordpress-seo' ) ); + + if ( ! isset( $first->_yoast_wpseo_profile_updated ) ) { + $first->_yoast_wpseo_profile_updated = time(); + } + + if ( ! isset( $second->_yoast_wpseo_profile_updated ) ) { + $second->_yoast_wpseo_profile_updated = time(); + } + + if ( $first->_yoast_wpseo_profile_updated === $second->_yoast_wpseo_profile_updated ) { + return 0; + } + + return ( ( $first->_yoast_wpseo_profile_updated > $second->_yoast_wpseo_profile_updated ) ? 1 : -1 ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-post-type-sitemap-provider.php b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-post-type-sitemap-provider.php new file mode 100644 index 00000000..7cba023e --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-post-type-sitemap-provider.php @@ -0,0 +1,659 @@ + true ) ); + $post_types = array_filter( $post_types, array( $this, 'is_valid_post_type' ) ); + $last_modified_times = WPSEO_Sitemaps::get_last_modified_gmt( $post_types, true ); + $index = array(); + + foreach ( $post_types as $post_type ) { + + $total_count = $this->get_post_type_count( $post_type ); + + if ( $total_count === 0 ) { + continue; + } + + $max_pages = 1; + + if ( $total_count > $max_entries ) { + $max_pages = (int) ceil( $total_count / $max_entries ); + } + + $all_dates = array(); + + if ( $max_pages > 1 ) { + + $sql = " + SELECT post_modified_gmt + FROM ( SELECT @rownum:=0 ) init + JOIN {$wpdb->posts} USE INDEX( type_status_date ) + WHERE post_status IN ( 'publish', 'inherit' ) + AND post_type = %s + AND ( @rownum:=@rownum+1 ) %% %d = 0 + ORDER BY post_modified_gmt ASC + "; + + $all_dates = $wpdb->get_col( $wpdb->prepare( $sql, $post_type, $max_entries ) ); + } + + for ( $page_counter = 0; $page_counter < $max_pages; $page_counter++ ) { + + $current_page = ( $max_pages > 1 ) ? ( $page_counter + 1 ) : ''; + $date = false; + + if ( empty( $current_page ) || $current_page === $max_pages ) { + + if ( ! empty( $last_modified_times[ $post_type ] ) ) { + $date = $last_modified_times[ $post_type ]; + } + } + else { + $date = $all_dates[ $page_counter ]; + } + + $index[] = array( + 'loc' => WPSEO_Sitemaps_Router::get_base_url( $post_type . '-sitemap' . $current_page . '.xml' ), + 'lastmod' => $date, + ); + } + } + + return $index; + } + + /** + * Get set of sitemap link data. + * + * @param string $type Sitemap type. + * @param int $max_entries Entries per sitemap. + * @param int $current_page Current page of the sitemap. + * + * @return array + */ + public function get_sitemap_links( $type, $max_entries, $current_page ) { + + $links = array(); + $post_type = $type; + + if ( ! $this->is_valid_post_type( $post_type ) ) { + return $links; + } + + $steps = min( 100, $max_entries ); + $offset = ( $current_page > 1 ) ? ( ( $current_page - 1 ) * $max_entries ) : 0; + $total = ( $offset + $max_entries ); + + $typecount = $this->get_post_type_count( $post_type ); + + if ( $total > $typecount ) { + $total = $typecount; + } + + if ( $current_page === 1 ) { + $links = array_merge( $links, $this->get_first_links( $post_type ) ); + } + + if ( $typecount === 0 ) { + + return $links; + } + + $options = $this->get_options(); + + $stacked_urls = array(); + + while ( $total > $offset ) { + + $posts = $this->get_posts( $post_type, $steps, $offset ); + + $offset += $steps; + + if ( empty( $posts ) ) { + continue; + } + + $posts_to_exclude = explode( ',', $options['excluded-posts'] ); + + foreach ( $posts as $post ) { + + if ( WPSEO_Meta::get_value( 'meta-robots-noindex', $post->ID ) === '1' ) { + continue; + } + + if ( in_array( $post->ID, $posts_to_exclude ) ) { + continue; + } + + $url = $this->get_url( $post ); + + if ( ! isset( $url['loc'] ) ) { + continue; + } + + /** + * Filter URL entry before it gets added to the sitemap. + * + * @param array $url Array of URL parts. + * @param string $type URL type. + * @param object $user Data object for the URL. + */ + $url = apply_filters( 'wpseo_sitemap_entry', $url, 'post', $post ); + + if ( empty( $url ) ) { + continue; + } + + $stacked_urls[] = $url['loc']; + + if ( (int) $post->ID === $this->get_page_for_posts_id() || (int) $post->ID === $this->get_page_on_front_id() ) { + + array_unshift( $links, $url ); + continue; + } + $links[] = $url; + } + + unset( $post, $url ); + } + + return $links; + } + + /** + * Check for relevant post type before invalidation. + * + * @param int $post_id Post ID to possibly invalidate for. + */ + public function save_post( $post_id ) { + + if ( $this->is_valid_post_type( get_post_type( $post_id ) ) ) { + WPSEO_Sitemaps_Cache::invalidate_post( $post_id ); + } + } + + /** + * Check if post type should be present in sitemaps. + * + * @param string $post_type Post type string to check for. + * + * @return bool + */ + public function is_valid_post_type( $post_type ) { + + $options = $this->get_options(); + + if ( ! empty( $options[ "post_types-{$post_type}-not_in_sitemap" ] ) ) { + return false; + } + + if ( ! in_array( $post_type, get_post_types( array( 'public' => true ) ) ) ) { + return false; + } + + /** + * Filter decision if post type is excluded from the XML sitemap. + * + * @param bool $exclude Default false. + * @param string $post_type Post type name. + */ + if ( apply_filters( 'wpseo_sitemap_exclude_post_type', false, $post_type ) ) { + return false; + } + + return true; + } + + /** + * Get count of posts for post type. + * + * @param string $post_type Post type to retrieve count for. + * + * @return int + */ + protected function get_post_type_count( $post_type ) { + + global $wpdb; + + /** + * Filter JOIN query part for type count of post type. + * + * @param string $join SQL part, defaults to empty string. + * @param string $post_type Post type name. + */ + $join_filter = apply_filters( 'wpseo_typecount_join', '', $post_type ); + + /** + * Filter WHERE query part for type count of post type. + * + * @param string $where SQL part, defaults to empty string. + * @param string $post_type Post type name. + */ + $where_filter = apply_filters( 'wpseo_typecount_where', '', $post_type ); + + $where = $this->get_sql_where_clause( $post_type ); + + $sql = " + SELECT COUNT({$wpdb->posts}.ID) + FROM {$wpdb->posts} + {$join_filter} + {$where} + {$where_filter} + "; + + return (int) $wpdb->get_var( $sql ); + } + + /** + * Produces set of links to prepend at start of first sitemap page. + * + * @param string $post_type Post type to produce links for. + * + * @return array + */ + protected function get_first_links( $post_type ) { + + $links = array(); + + $needs_archive = true; + + if ( ! $this->get_page_on_front_id() && ( $post_type == 'post' || $post_type == 'page' ) ) { + + $links[] = array( + 'loc' => $this->get_home_url(), + + // Deprecated, kept for backwards data compat. R. + 'chf' => 'daily', + 'pri' => 1, + ); + + $needs_archive = false; + } + elseif ( $this->get_page_on_front_id() && $post_type === 'post' && $this->get_page_for_posts_id() ) { + + $page_for_posts_url = get_permalink( $this->get_page_for_posts_id() ); + + $links[] = array( + 'loc' => $page_for_posts_url, + + // Deprecated, kept for backwards data compat. R. + 'chf' => 'daily', + 'pri' => 1, + ); + + $needs_archive = false; + } + + if ( ! $needs_archive ) { + return $links; + } + + $archive_url = $this->get_post_type_archive_link( $post_type ); + + /** + * Filter the URL Yoast SEO uses in the XML sitemap for this post type archive. + * + * @param string $archive_url The URL of this archive + * @param string $post_type The post type this archive is for. + */ + $archive_url = apply_filters( 'wpseo_sitemap_post_type_archive_link', $archive_url, $post_type ); + + if ( $archive_url ) { + /** + * Filter the priority of the URL Yoast SEO uses in the XML sitemap. + * + * @param float $priority The priority for this URL, ranging from 0 to 1 + * @param string $post_type The post type this archive is for. + */ + $links[] = array( + 'loc' => $archive_url, + 'mod' => WPSEO_Sitemaps::get_last_modified_gmt( $post_type ), + + // Deprecated, kept for backwards data compat. R. + 'chf' => 'daily', + 'pri' => 1, + ); + } + + return $links; + } + + /** + * Get URL for a post type archive. + * + * @since 5.3 + * + * @param string $post_type Post type. + * + * @return string|bool URL or false if it should be excluded. + */ + protected function get_post_type_archive_link( $post_type ) { + + $options = $this->get_options(); + + if ( isset( $options[ 'noindex-ptarchive-' . $post_type ] ) && $options[ 'noindex-ptarchive-' . $post_type ] ) { + return false; + } + + // Post archive should be excluded if it isn't front page or posts page. + if ( $post_type === 'post' && get_option( 'show_on_front' ) !== 'posts' && ! $this->get_page_for_posts_id() ) { + return false; + } + + $archive_url = get_post_type_archive_link( $post_type ); + + return $archive_url; + } + + /** + * Retrieve set of posts with optimized query routine. + * + * @param string $post_type Post type to retrieve. + * @param int $count Count of posts to retrieve. + * @param int $offset Starting offset. + * + * @return object[] + */ + protected function get_posts( $post_type, $count, $offset ) { + + global $wpdb; + + static $filters = array(); + + if ( ! isset( $filters[ $post_type ] ) ) { + // Make sure you're wpdb->preparing everything you throw into this!! + $filters[ $post_type ] = array( + /** + * Filter JOIN query part for the post type. + * + * @param string $join SQL part, defaults to false. + * @param string $post_type Post type name. + */ + 'join' => apply_filters( 'wpseo_posts_join', false, $post_type ), + + /** + * Filter Where query part for the post type. + * + * @param string $where SQL part, defaults to false. + * @param string $post_type Post type name. + */ + 'where' => apply_filters( 'wpseo_posts_where', false, $post_type ), + ); + } + + $join_filter = $filters[ $post_type ]['join']; + $where_filter = $filters[ $post_type ]['where']; + $where = $this->get_sql_where_clause( $post_type ); + + // Optimized query per this thread: http://wordpress.org/support/topic/plugin-wordpress-seo-by-yoast-performance-suggestion. + // Also see http://explainextended.com/2009/10/23/mysql-order-by-limit-performance-late-row-lookups/. + $sql = " + SELECT l.ID, post_title, post_content, post_name, post_parent, post_author, post_modified_gmt, post_date, post_date_gmt + FROM ( + SELECT {$wpdb->posts}.ID + FROM {$wpdb->posts} + {$join_filter} + {$where} + {$where_filter} + ORDER BY {$wpdb->posts}.post_modified ASC LIMIT %d OFFSET %d + ) + o JOIN {$wpdb->posts} l ON l.ID = o.ID + "; + + $posts = $wpdb->get_results( $wpdb->prepare( $sql, $count, $offset ) ); + + $post_ids = array(); + + foreach ( $posts as $post ) { + $post->post_type = $post_type; + $post->post_status = 'publish'; + $post->filter = 'sample'; + $post_ids[] = $post->ID; + } + + update_meta_cache( 'post', $post_ids ); + + return $posts; + } + + /** + * @param string $post_type Post type slug. + * + * @return string + */ + protected function get_sql_where_clause( $post_type ) { + + global $wpdb; + + $join = ''; + $status = "{$wpdb->posts}.post_status = 'publish'"; + + // Based on WP_Query->get_posts(). R. + if ( 'attachment' === $post_type ) { + $join = " LEFT JOIN {$wpdb->posts} AS p2 ON ({$wpdb->posts}.post_parent = p2.ID) "; + $status = "p2.post_status = 'publish'"; + } + + $where_clause = " + {$join} + WHERE {$status} + AND {$wpdb->posts}.post_type = %s + AND {$wpdb->posts}.post_password = '' + AND {$wpdb->posts}.post_date != '0000-00-00 00:00:00' + "; + + return $wpdb->prepare( $where_clause, $post_type ); + } + + /** + * Produce array of URL parts for given post object. + * + * @param object $post Post object to get URL parts for. + * + * @return array|bool + */ + protected function get_url( $post ) { + + $url = array(); + + /** + * Filter the URL Yoast SEO uses in the XML sitemap. + * + * Note that only absolute local URLs are allowed as the check after this removes external URLs. + * + * @param string $url URL to use in the XML sitemap + * @param object $post Post object for the URL. + */ + $url['loc'] = apply_filters( 'wpseo_xml_sitemap_post_url', get_permalink( $post ), $post ); + + /** + * Do not include external URLs. + * + * @see https://wordpress.org/plugins/page-links-to/ can rewrite permalinks to external URLs. + */ + if ( false === strpos( $url['loc'], $this->get_home_url() ) ) { + return false; + } + + $modified = max( $post->post_modified_gmt, $post->post_date_gmt ); + + if ( $modified !== '0000-00-00 00:00:00' ) { + $url['mod'] = $modified; + } + + $url['chf'] = 'daily'; // Deprecated, kept for backwards data compat. R. + + $canonical = WPSEO_Meta::get_value( 'canonical', $post->ID ); + + if ( $canonical !== '' && $canonical !== $url['loc'] ) { + /* + * Let's assume that if a canonical is set for this page and it's different from + * the URL of this post, that page is either already in the XML sitemap OR is on + * an external site, either way, we shouldn't include it here. + */ + return false; + } + unset( $canonical ); + + $options = $this->get_options(); + if ( $options['trailingslash'] === true && $post->post_type !== 'post' ) { + $url['loc'] = trailingslashit( $url['loc'] ); + } + + $url['pri'] = 1; // Deprecated, kept for backwards data compat. R. + $url['images'] = $this->get_image_parser()->get_images( $post ); + + return $url; + } + + /** + * Calculate the priority of the post. + * + * @deprecated 3.5 Priority data dropped from sitemaps. + * + * @param WP_Post $post Post object. + * + * @return float|mixed + */ + private function calculate_priority( $post ) { + _deprecated_function( __METHOD__, 'WPSEO 3.5' ); + + $return = 0.6; + if ( $post->post_parent == 0 && $post->post_type == 'page' ) { + $return = 0.8; + } + + if ( $post->ID === $this->get_page_on_front_id() || $post->ID === $this->get_page_for_posts_id() ) { + $return = 1.0; + } + + /** + * Filter the priority of the URL Yoast SEO uses in the XML sitemap. + * + * @param float $priority The priority for this URL, ranging from 0 to 1 + * @param string $post_type The post type this archive is for. + * @param object $post The post object. + */ + $return = apply_filters( 'wpseo_xml_sitemap_post_priority', $return, $post->post_type, $post ); + + return $return; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemap-cache-data.php b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemap-cache-data.php new file mode 100644 index 00000000..d53779b4 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemap-cache-data.php @@ -0,0 +1,129 @@ +sitemap = $sitemap; + + /** + * Empty sitemap is not usable. + */ + if ( ! empty( $sitemap ) ) { + $this->set_status( self::OK ); + } + else { + $this->set_status( self::ERROR ); + } + } + + /** + * Set the status of the sitemap, is it usable. + * + * @param bool|string $valid Is the sitemap valid or not. + * + * @return void + */ + public function set_status( $valid ) { + + if ( self::OK === $valid ) { + $this->status = self::OK; + + return; + } + + if ( self::ERROR === $valid ) { + $this->status = self::ERROR; + $this->sitemap = ''; + + return; + } + + $this->status = self::UNKNOWN; + } + + /** + * Is the sitemap usable. + * + * @return bool True if usable, False if bad or unknown. + */ + public function is_usable() { + + return self::OK === $this->status; + } + + /** + * Get the XML content of the sitemap. + * + * @return string The content of the sitemap. + */ + public function get_sitemap() { + + return $this->sitemap; + } + + /** + * Get the status of the sitemap. + * + * @return string Status of the sitemap, 'ok'/'error'/'unknown' + */ + public function get_status() { + + return $this->status; + } + + /** + * String representation of object + * + * @link http://php.net/manual/en/serializable.serialize.php + * @return string the string representation of the object or null + * @since 5.1.0 + */ + public function serialize() { + + $data = array( + 'status' => $this->status, + 'xml' => $this->sitemap, + ); + + return serialize( $data ); + } + + /** + * Constructs the object + * + * @link http://php.net/manual/en/serializable.unserialize.php + * + * @param string $serialized The string representation of the object. + * + * @return void + * @since 5.1.0 + */ + public function unserialize( $serialized ) { + + $data = unserialize( $serialized ); + $this->set_sitemap( $data['xml'] ); + $this->set_status( $data['status'] ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemap-image-parser.php b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemap-image-parser.php new file mode 100644 index 00000000..99aaeb4d --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemap-image-parser.php @@ -0,0 +1,503 @@ +home_url = home_url(); + $parsed_home = wp_parse_url( $this->home_url ); + + if ( ! empty( $parsed_home['host'] ) ) { + $this->host = str_replace( 'www.', '', $parsed_home['host'] ); + } + + if ( ! empty( $parsed_home['scheme'] ) ) { + $this->scheme = $parsed_home['scheme']; + } + + $this->charset = esc_attr( get_bloginfo( 'charset' ) ); + } + + /** + * Get set of image data sets for the given post. + * + * @param object $post Post object to get images for. + * + * @return array + */ + public function get_images( $post ) { + + $images = array(); + + if ( ! is_object( $post ) ) { + return $images; + } + + $thumbnail_id = get_post_thumbnail_id( $post->ID ); + + if ( $thumbnail_id ) { + + $src = $this->get_absolute_url( $this->image_url( $thumbnail_id ) ); + $alt = get_post_meta( $thumbnail_id, '_wp_attachment_image_alt', true ); + $title = get_post_field( 'post_title', $thumbnail_id ); + $images[] = $this->get_image_item( $post, $src, $title, $alt ); + } + + /** + * Filter: 'wpseo_sitemap_content_before_parse_html_images' - Filters the post content + * before it is parsed for images. + * + * @param string $content The raw/unprocessed post content. + */ + $content = apply_filters( 'wpseo_sitemap_content_before_parse_html_images', $post->post_content ); + + $unfiltered_images = $this->parse_html_images( $content ); + + foreach ( $unfiltered_images as $image ) { + $images[] = $this->get_image_item( $post, $image['src'], $image['title'], $image['alt'] ); + } + + foreach ( $this->parse_galleries( $post->post_content, $post->ID ) as $attachment ) { + + $src = $this->get_absolute_url( $this->image_url( $attachment->ID ) ); + $alt = get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true ); + + $images[] = $this->get_image_item( $post, $src, $attachment->post_title, $alt ); + } + + if ( 'attachment' === $post->post_type && wp_attachment_is_image( $post ) ) { + + $src = $this->get_absolute_url( $this->image_url( $post->ID ) ); + $alt = get_post_meta( $post->ID, '_wp_attachment_image_alt', true ); + + $images[] = $this->get_image_item( $post, $src, $post->post_title, $alt ); + } + + foreach ( $images as $key => $image ) { + + if ( empty( $image['src'] ) ) { + unset( $images[ $key ] ); + } + } + + /** + * Filter images to be included for the post in XML sitemap. + * + * @param array $images Array of image items. + * @param int $post_id ID of the post. + */ + $images = apply_filters( 'wpseo_sitemap_urlimages', $images, $post->ID ); + + return $images; + } + + /** + * @param object $term Term to get images from description for. + * + * @return array + */ + public function get_term_images( $term ) { + + $images = $this->parse_html_images( $term->description ); + + foreach ( $this->parse_galleries( $term->description ) as $attachment ) { + + $images[] = array( + 'src' => $this->get_absolute_url( $this->image_url( $attachment->ID ) ), + 'title' => $attachment->post_title, + 'alt' => get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true ), + ); + } + + return $images; + } + + /** + * Parse `` tags in content. + * + * @param string $content Content string to parse. + * + * @return array + */ + private function parse_html_images( $content ) { + + $images = array(); + + if ( ! class_exists( 'DOMDocument' ) ) { + return $images; + } + + if ( empty( $content ) ) { + return $images; + } + + // Prevent DOMDocument from bubbling warnings about invalid HTML. + libxml_use_internal_errors( true ); + + $post_dom = new DOMDocument(); + $post_dom->loadHTML( 'charset . '">' . $content ); + + // Clear the errors, so they don't get kept in memory. + libxml_clear_errors(); + + /** @var DOMElement $img */ + foreach ( $post_dom->getElementsByTagName( 'img' ) as $img ) { + + $src = $img->getAttribute( 'src' ); + + if ( empty( $src ) ) { + continue; + } + + $class = $img->getAttribute( 'class' ); + + if ( // This detects WP-inserted images, which we need to upsize. R. + ! empty( $class ) + && false === strpos( $class, 'size-full' ) + && preg_match( '|wp-image-(?P\d+)|', $class, $matches ) + && get_post_status( $matches['id'] ) + ) { + $src = $this->image_url( $matches['id'] ); + } + + $src = $this->get_absolute_url( $src ); + + if ( strpos( $src, $this->host ) === false ) { + continue; + } + + if ( $src !== esc_url( $src ) ) { + continue; + } + + $images[] = array( + 'src' => $src, + 'title' => $img->getAttribute( 'title' ), + 'alt' => $img->getAttribute( 'alt' ), + ); + } + + return $images; + } + + /** + * Parse gallery shortcodes in a given content. + * + * @param string $content Content string. + * @param int $post_id Optional ID of post being parsed. + * + * @return array Set of attachment objects. + */ + private function parse_galleries( $content, $post_id = 0 ) { + + $attachments = array(); + $galleries = $this->get_content_galleries( $content ); + + foreach ( $galleries as $gallery ) { + + $id = $post_id; + + if ( ! empty( $gallery['id'] ) ) { + $id = intval( $gallery['id'] ); + } + + // Forked from core gallery_shortcode() to have exact same logic. R. + if ( ! empty( $gallery['ids'] ) ) { + $gallery['include'] = $gallery['ids']; + } + + $gallery_attachments = $this->get_gallery_attachments( $id, $gallery ); + + + $attachments = array_merge( $attachments, $gallery_attachments ); + } + + return array_unique( $attachments, SORT_REGULAR ); + } + + /** + * Retrieves galleries from the passed content. + * + * Forked from core to skip executing shortcodes for performance. + * + * @param string $content Content to parse for shortcodes. + * + * @return array A list of arrays, each containing gallery data. + */ + protected function get_content_galleries( $content ) { + + if ( ! has_shortcode( $content, 'gallery' ) ) { + return array(); + } + + $galleries = array(); + + if ( ! preg_match_all( '/' . get_shortcode_regex() . '/s', $content, $matches, PREG_SET_ORDER ) ) { + return $galleries; + } + + foreach ( $matches as $shortcode ) { + if ( 'gallery' === $shortcode[2] ) { + + $attributes = shortcode_parse_atts( $shortcode[3] ); + + if ( '' === $attributes ) { // Valid shortcode without any attributes. R. + $attributes = array(); + } + + $galleries[] = $attributes; + } + } + + return $galleries; + } + + /** + * Get image item array with filters applied. + * + * @param WP_Post $post Post object for the context. + * @param string $src Image URL. + * @param string $title Optional image title. + * @param string $alt Optional image alt text. + * + * @return array + */ + protected function get_image_item( $post, $src, $title = '', $alt = '' ) { + + $image = array(); + + /** + * Filter image URL to be included in XML sitemap for the post. + * + * @param string $src Image URL. + * @param object $post Post object. + */ + $image['src'] = apply_filters( 'wpseo_xml_sitemap_img_src', $src, $post ); + + if ( ! empty( $title ) ) { + $image['title'] = $title; + } + + if ( ! empty( $alt ) ) { + $image['alt'] = $alt; + } + + /** + * Filter image data to be included in XML sitemap for the post. + * + * @param array $image { + * Array of image data. + * + * @type string $src Image URL. + * @type string $title Image title attribute (optional). + * @type string $alt Image alt attribute (optional). + * } + * + * @param object $post Post object. + */ + return apply_filters( 'wpseo_xml_sitemap_img', $image, $post ); + } + + /** + * Get attached image URL with filters applied. Adapted from core for speed. + * + * @param int $post_id ID of the post. + * + * @return string + */ + private function image_url( $post_id ) { + + static $uploads; + + if ( empty( $uploads ) ) { + $uploads = wp_upload_dir(); + } + + if ( false !== $uploads['error'] ) { + return ''; + } + + $file = get_post_meta( $post_id, '_wp_attached_file', true ); + + if ( empty( $file ) ) { + return ''; + } + + // Check that the upload base exists in the file location. + if ( 0 === strpos( $file, $uploads['basedir'] ) ) { + $src = str_replace( $uploads['basedir'], $uploads['baseurl'], $file ); + } + elseif ( false !== strpos( $file, 'wp-content/uploads' ) ) { + $src = $uploads['baseurl'] . substr( $file, ( strpos( $file, 'wp-content/uploads' ) + 18 ) ); + } + else { + // It's a newly uploaded file, therefore $file is relative to the baseurl. + $src = $uploads['baseurl'] . '/' . $file; + } + + return apply_filters( 'wp_get_attachment_url', $src, $post_id ); + } + + /** + * Make absolute URL for domain or protocol-relative one. + * + * @param string $src URL to process. + * + * @return string + */ + protected function get_absolute_url( $src ) { + + if ( empty( $src ) || ! is_string( $src ) ) { + return $src; + } + + if ( WPSEO_Utils::is_url_relative( $src ) === true ) { + + if ( $src[0] !== '/' ) { + return $src; + } + + // The URL is relative, we'll have to make it absolute. + return $this->home_url . $src; + } + + if ( strpos( $src, 'http' ) !== 0 ) { + // Protocol relative url, we add the scheme as the standard requires a protocol. + return $this->scheme . ':' . $src; + } + + return $src; + } + + /** + * Returns the attachments for a gallery. + * + * @param int $id The post id. + * @param array $gallery The gallery config. + * + * @return array The selected attachments. + */ + protected function get_gallery_attachments( $id, $gallery ) { + + // When there are attachments to include. + if ( ! empty( $gallery['include'] ) ) { + return $this->get_gallery_attachments_for_included( $gallery['include'] ); + } + + // When $id is empty, just return empty array. + if ( empty( $id ) ) { + return array(); + } + + return $this->get_gallery_attachments_for_parent( $id, $gallery ); + } + + /** + * Returns the attachments for the given id. + * + * @param int $id The post id. + * @param array $gallery The gallery config. + * + * @return array The selected attachments. + */ + protected function get_gallery_attachments_for_parent( $id, $gallery ) { + $query = array( + 'posts_per_page' => -1, + 'post_parent' => $id, + ); + + // When there are posts that should be excluded from result set. + if ( ! empty( $gallery['exclude'] ) ) { + $query['post__not_in'] = wp_parse_id_list( $gallery['exclude'] ); + } + + return $this->get_attachments( $query ); + } + + /** + * Returns an array with attachments for the post ids that will be included. + * + * @param array $include Array with ids to include. + * + * @return array The found attachments. + */ + protected function get_gallery_attachments_for_included( $include ) { + $ids_to_include = wp_parse_id_list( $include ); + $attachments = $this->get_attachments( + array( + 'posts_per_page' => count( $ids_to_include ), + 'post__in' => $ids_to_include, + ) + ); + + $gallery_attachments = array(); + foreach ( $attachments as $key => $val ) { + $gallery_attachments[ $val->ID ] = $val; + } + + return $gallery_attachments; + } + + /** + * Returns the attachments. + * + * @param array $args Array with query args. + * + * @return array The found attachments. + */ + protected function get_attachments( $args ) { + $default_args = array( + 'post_status' => 'inherit', + 'post_type' => 'attachment', + 'post_mime_type' => 'image', + + // Defaults taken from function get_posts. + 'orderby' => 'date', + 'order' => 'DESC', + 'meta_key' => '', + 'meta_value' => '', + 'suppress_filters' => true, + 'ignore_sticky_posts' => true, + 'no_found_rows' => true, + ); + + $args = wp_parse_args( $args, $default_args ); + + $get_attachments = new WP_Query(); + return $get_attachments->query( $args ); + } + + /** + * Cache attached images and thumbnails for a set of posts. + * + * @deprecated 3.3 Blanket caching no longer makes sense with modern galleries. R. + */ + public function cache_attachments() { + + _deprecated_function( __METHOD__, '3.3' ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemap-timezone.php b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemap-timezone.php new file mode 100644 index 00000000..15f8cc1a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemap-timezone.php @@ -0,0 +1,116 @@ +get_datetime_with_timezone( $datetime_string ); + + if ( is_null( $date_time ) ) { + return ''; + } + + return $date_time->format( $format ); + } + /** + * Get the datetime object, in site's time zone, if the datetime string was valid + * + * @param string $datetime_string The datetime string in UTC time zone, that needs to be converted to a DateTime object. + * + * @return DateTime|null in site's time zone + */ + public function get_datetime_with_timezone( $datetime_string ) { + + static $utc_timezone, $local_timezone; + + if ( ! isset( $utc_timezone ) ) { + $utc_timezone = new DateTimeZone( 'UTC' ); + $local_timezone = new DateTimeZone( $this->get_timezone_string() ); + } + + if ( ! empty( $datetime_string ) && WPSEO_Utils::is_valid_datetime( $datetime_string ) ) { + $datetime = new DateTime( $datetime_string, $utc_timezone ); + $datetime->setTimezone( $local_timezone ); + + return $datetime; + } + + return null; + } + + /** + * Returns the timezone string for a site, even if it's set to a UTC offset + * + * Adapted from http://www.php.net/manual/en/function.timezone-name-from-abbr.php#89155 + * + * @return string valid PHP timezone string + */ + private function determine_timezone_string() { + + // If site timezone string exists, return it. + if ( $timezone = get_option( 'timezone_string' ) ) { + return $timezone; + } + + // Get UTC offset, if it isn't set then return UTC. + if ( 0 === ( $utc_offset = (int) get_option( 'gmt_offset', 0 ) ) ) { + return 'UTC'; + } + + // Adjust UTC offset from hours to seconds. + $utc_offset *= HOUR_IN_SECONDS; + + // Attempt to guess the timezone string from the UTC offset. + $timezone = timezone_name_from_abbr( '', $utc_offset ); + + if ( false !== $timezone ) { + return $timezone; + } + + // Last try, guess timezone string manually. + foreach ( timezone_abbreviations_list() as $abbr ) { + foreach ( $abbr as $city ) { + if ( $city['offset'] == $utc_offset ) { + return $city['timezone_id']; + } + } + } + + // Fallback to UTC. + return 'UTC'; + } + + /** + * Returns the correct timezone string + * + * @return string + */ + private function get_timezone_string() { + if ( '' == $this->timezone_string ) { + $this->timezone_string = $this->determine_timezone_string(); + } + + return $this->timezone_string; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-admin.php b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-admin.php new file mode 100644 index 00000000..760b811a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-admin.php @@ -0,0 +1,191 @@ +detect_blocking_filesystem_sitemaps(); + } + + /** + * Find sitemaps residing on disk as they will block our rewrite. + * + * @since 3.1 + */ + public function detect_blocking_filesystem_sitemaps() { + $wpseo_xml_options = WPSEO_Options::get_option( 'wpseo_xml' ); + if ( $wpseo_xml_options['enablexmlsitemap'] !== true ) { + return; + } + unset( $wpseo_xml_options ); + + // Find all files and directories containing 'sitemap' and are post-fixed .xml. + $blocking_files = glob( ABSPATH . '*sitemap*.xml', ( GLOB_NOSORT | GLOB_MARK ) ); + + if ( false === $blocking_files ) { // Some systems might return error on no matches. + $blocking_files = array(); + } + + // Save if we have changes. + $wpseo_options = WPSEO_Options::get_option( 'wpseo' ); + + if ( $wpseo_options['blocking_files'] !== $blocking_files ) { + $wpseo_options['blocking_files'] = $blocking_files; + + update_option( 'wpseo', $wpseo_options ); + } + } + + /** + * Hooked into transition_post_status. Will initiate search engine pings + * if the post is being published, is a post type that a sitemap is built for + * and is a post that is included in sitemaps. + * + * @param string $new_status New post status. + * @param string $old_status Old post status. + * @param \WP_Post $post Post object. + */ + public function status_transition( $new_status, $old_status, $post ) { + if ( $new_status !== 'publish' ) { + return; + } + + if ( defined( 'WP_IMPORTING' ) ) { + $this->status_transition_bulk( $new_status, $old_status, $post ); + + return; + } + + $post_type = get_post_type( $post ); + + wp_cache_delete( 'lastpostmodified:gmt:' . $post_type, 'timeinfo' ); // #17455. + + // None of our interest.. + if ( 'nav_menu_item' === $post_type ) { + return; + } + + $options = WPSEO_Options::get_options( array( 'wpseo_xml', 'wpseo_titles' ) ); + + // If the post type is excluded in options, we can stop. + $option = sprintf( 'post_types-%s-not_in_sitemap', $post_type ); + if ( isset( $options[ $option ] ) && $options[ $option ] === true ) { + return; + } + + if ( WP_CACHE ) { + wp_schedule_single_event( ( time() + 300 ), 'wpseo_hit_sitemap_index' ); + } + + /** + * Filter: 'wpseo_allow_xml_sitemap_ping' - Check if pinging is not allowed (allowed by default) + * + * @api boolean $allow_ping The boolean that is set to true by default. + */ + if ( apply_filters( 'wpseo_allow_xml_sitemap_ping', true ) === false ) { + return; + } + + // Allow the pinging to happen slightly after the hit sitemap index so the sitemap is fully regenerated when the ping happens. + $excluded_posts = explode( ',', $options['excluded-posts'] ); + + if ( ! in_array( $post->ID, $excluded_posts ) ) { + + if ( defined( 'YOAST_SEO_PING_IMMEDIATELY' ) && YOAST_SEO_PING_IMMEDIATELY ) { + WPSEO_Sitemaps::ping_search_engines(); + } + elseif ( ! wp_next_scheduled( 'wpseo_ping_search_engines' ) ) { + wp_schedule_single_event( ( time() + 300 ), 'wpseo_ping_search_engines' ); + } + } + } + + /** + * While bulk importing, just save unique post_types + * + * When importing is done, if we have a post_type that is saved in the sitemap + * try to ping the search engines + * + * @param string $new_status New post status. + * @param string $old_status Old post status. + * @param \WP_Post $post Post object. + */ + private function status_transition_bulk( $new_status, $old_status, $post ) { + $this->importing_post_types[] = get_post_type( $post ); + $this->importing_post_types = array_unique( $this->importing_post_types ); + } + + /** + * After import finished, walk through imported post_types and update info. + */ + public function status_transition_bulk_finished() { + if ( ! defined( 'WP_IMPORTING' ) ) { + return; + } + + if ( empty( $this->importing_post_types ) ) { + return; + } + + $options = WPSEO_Options::get_option( 'wpseo_xml' ); + + $ping_search_engines = false; + + foreach ( $this->importing_post_types as $post_type ) { + wp_cache_delete( 'lastpostmodified:gmt:' . $post_type, 'timeinfo' ); // #17455. + + // Just have the cache deleted for nav_menu_item. + if ( 'nav_menu_item' === $post_type ) { + continue; + } + + $option = sprintf( 'post_types-%s-not_in_sitemap', $post_type ); + if ( ! isset( $options[ $option ] ) || $options[ $option ] === false ) { + $ping_search_engines = true; + } + } + + // Nothing to do. + if ( false === $ping_search_engines ) { + return; + } + + if ( WP_CACHE ) { + do_action( 'wpseo_hit_sitemap_index' ); + } + + WPSEO_Sitemaps::ping_search_engines(); + } +} /* End of class */ diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-cache-validator.php b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-cache-validator.php new file mode 100644 index 00000000..5967110d --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-cache-validator.php @@ -0,0 +1,304 @@ + $max_length ) { + + if ( $max_length < 15 ) { + /** + * If this happens the most likely cause is a page number that is too high. + * + * So this would not happen unintentionally.. + * Either by trying to cause a high server load, finding backdoors or misconfiguration. + */ + throw new OutOfRangeException( + __( + 'Trying to build the sitemap cache key, but the postfix and prefix combination leaves too little room to do this. You are probably requesting a page that is way out of the expected range.', + 'wordpress-seo' + ) + ); + } + + $half = ( $max_length / 2 ); + + $first_part = substr( $type, 0, ( ceil( $half ) - 1 ) ); + $last_part = substr( $type, ( 1 - floor( $half ) ) ); + + $type = $first_part . '..' . $last_part; + } + + return $type; + } + + /** + * Invalidate sitemap cache + * + * @since 3.2 + * + * @param null|string $type The type to get the key for. Null for all caches. + * + * @return void + */ + public static function invalidate_storage( $type = null ) { + + // Global validator gets cleared when no type is provided. + $old_validator = null; + + // Get the current type validator. + if ( ! is_null( $type ) ) { + $old_validator = self::get_validator( $type ); + } + + // Refresh validator. + self::create_validator( $type ); + + if ( ! wp_using_ext_object_cache() ) { + // Clean up current cache from the database. + self::cleanup_database( $type, $old_validator ); + } + + // External object cache pushes old and unretrieved items out by itself so we don't have to do anything for that. + } + + /** + * Cleanup invalidated database cache + * + * @since 3.2 + * + * @param null|string $type The type of sitemap to clear cache for. + * @param null|string $validator The validator to clear cache of. + * + * @return void + */ + public static function cleanup_database( $type = null, $validator = null ) { + + global $wpdb; + + if ( is_null( $type ) ) { + // Clear all cache if no type is provided. + $like = sprintf( '%s%%', self::STORAGE_KEY_PREFIX ); + } + else { + // Clear type cache for all type keys. + $like = sprintf( '%1$s%2$s_%%', self::STORAGE_KEY_PREFIX, $type ); + } + + /** + * Add slashes to the LIKE "_" single character wildcard. + * + * We can't use `esc_like` here because we need the % in the query. + */ + $where = array(); + $where[] = sprintf( "option_name LIKE '%s'", addcslashes( '_transient_' . $like, '_' ) ); + $where[] = sprintf( "option_name LIKE '%s'", addcslashes( '_transient_timeout_' . $like, '_' ) ); + + // Delete transients. + $query = sprintf( 'DELETE FROM %1$s WHERE %2$s', $wpdb->options, implode( ' OR ', $where ) ); + $wpdb->query( $query ); + } + + /** + * Get the current cache validator + * + * Without the type the global validator is returned. + * This can invalidate -all- keys in cache at once + * + * With the type parameter the validator for that specific + * type can be invalidated + * + * @since 3.2 + * + * @param string $type Provide a type for a specific type validator, empty for global validator. + * + * @return null|string The validator for the supplied type. + */ + public static function get_validator( $type = '' ) { + + $key = self::get_validator_key( $type ); + + $current = get_option( $key, null ); + if ( ! is_null( $current ) ) { + return $current; + } + + if ( self::create_validator( $type ) ) { + return self::get_validator( $type ); + } + + return null; + } + + /** + * Get the cache validator option key for the specified type + * + * @since 3.2 + * + * @param string $type Provide a type for a specific type validator, empty for global validator. + * + * @return string Validator to be used to generate the cache key. + */ + public static function get_validator_key( $type = '' ) { + + if ( empty( $type ) ) { + return self::VALIDATION_GLOBAL_KEY; + } + + return sprintf( self::VALIDATION_TYPE_KEY_FORMAT, $type ); + } + + /** + * Refresh the cache validator value + * + * @since 3.2 + * + * @param string $type Provide a type for a specific type validator, empty for global validator. + * + * @return bool True if validator key has been saved as option. + */ + public static function create_validator( $type = '' ) { + + $key = self::get_validator_key( $type ); + + // Generate new validator. + $microtime = microtime(); + + // Remove space. + list( $milliseconds, $seconds ) = explode( ' ', $microtime ); + + // Transients are purged every 24h. + $seconds = ( $seconds % DAY_IN_SECONDS ); + $milliseconds = intval( substr( $milliseconds, 2, 3 ), 10 ); + + // Combine seconds and milliseconds and convert to integer. + $validator = intval( $seconds . '' . $milliseconds, 10 ); + + // Apply base 61 encoding. + $compressed = self::convert_base10_to_base61( $validator ); + + return update_option( $key, $compressed, false ); + } + + /** + * Encode to base61 format. + * + * @since 3.2 + * + * This is base64 (numeric + alpha + alpha upper case) without the 0. + * + * @param int $base10 The number that has to be converted to base 61. + * + * @return string Base 61 converted string. + * + * @throws InvalidArgumentException When the input is not an integer. + */ + public static function convert_base10_to_base61( $base10 ) { + + if ( ! is_int( $base10 ) ) { + throw new InvalidArgumentException( __( 'Expected an integer as input.', 'wordpress-seo' ) ); + } + + // Characters that will be used in the conversion. + $characters = '123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; + $length = strlen( $characters ); + + $remainder = $base10; + $output = ''; + + do { + // Building from right to left in the result. + $index = ( $remainder % $length ); + + // Prepend the character to the output. + $output = $characters[ $index ] . $output; + + // Determine the remainder after removing the applied number. + $remainder = floor( $remainder / $length ); + + // Keep doing it until we have no remainder left. + } while ( $remainder ); + + return $output; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-cache.php b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-cache.php new file mode 100644 index 00000000..8c7f970d --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-cache.php @@ -0,0 +1,320 @@ +is_enabled(); + } + + /** + * If cache is enabled. + * + * @since 3.2 + * + * @return boolean + */ + public function is_enabled() { + + /** + * Filter if XML sitemap transient cache is enabled. + * + * @param bool $unsigned Enable cache or not, defaults to true + */ + return apply_filters( 'wpseo_enable_xml_sitemap_transient_caching', true ); + } + + + /** + * Retrieve the sitemap page from cache. + * + * @since 3.2 + * + * @param string $type Sitemap type. + * @param int $page Page number to retrieve. + * + * @return string|boolean + */ + public function get_sitemap( $type, $page ) { + + $transient_key = WPSEO_Sitemaps_Cache_Validator::get_storage_key( $type, $page ); + if ( false === $transient_key ) { + return false; + } + + return get_transient( $transient_key ); + } + + /** + * Get the sitemap that is cached + * + * @param string $type Sitemap type. + * @param int $page Page number to retrieve. + * + * @return null|WPSEO_Sitemap_Cache_Data Null on no cache found otherwise object containing sitemap and meta data. + */ + public function get_sitemap_data( $type, $page ) { + + $sitemap = $this->get_sitemap( $type, $page ); + + if ( empty( $sitemap ) ) { + return null; + } + + // Unserialize Cache Data object (is_serialized doesn't recognize classes). + if ( is_string( $sitemap ) && 0 === strpos( $sitemap, 'C:24:"WPSEO_Sitemap_Cache_Data"' ) ) { + + $sitemap = unserialize( $sitemap ); + } + + // What we expect it to be if it is set. + if ( $sitemap instanceof WPSEO_Sitemap_Cache_Data_Interface ) { + return $sitemap; + } + + return null; + } + + /** + * Store the sitemap page from cache. + * + * @since 3.2 + * + * @param string $type Sitemap type. + * @param int $page Page number to store. + * @param string $sitemap Sitemap body to store. + * @param bool $usable Is this a valid sitemap or a cache of an invalid sitemap. + * + * @return bool + */ + public function store_sitemap( $type, $page, $sitemap, $usable = true ) { + + $transient_key = WPSEO_Sitemaps_Cache_Validator::get_storage_key( $type, $page ); + + if ( false === $transient_key ) { + return false; + } + + $status = ( $usable ) ? WPSEO_Sitemap_Cache_Data::OK : WPSEO_Sitemap_Cache_Data::ERROR; + + $sitemap_data = new WPSEO_Sitemap_Cache_Data(); + $sitemap_data->set_sitemap( $sitemap ); + $sitemap_data->set_status( $status ); + + return set_transient( $transient_key, $sitemap_data, DAY_IN_SECONDS ); + } + + /** + * Delete cache transients for index and specific type. + * + * Always deletes the main index sitemaps cache, as that's always invalidated by any other change. + * + * @since 1.5.4 + * @since 3.2 Changed from function wpseo_invalidate_sitemap_cache() to method in this class. + * + * @param string $type Sitemap type to invalidate. + * + * @return void + */ + public static function invalidate( $type ) { + + self::clear( array( $type ) ); + } + + /** + * Helper to invalidate in hooks where type is passed as second argument. + * + * @since 3.2 + * + * @param int $unused Unused term ID value. + * @param string $type Taxonomy to invalidate. + * + * @return void + */ + public static function invalidate_helper( $unused, $type ) { + + $sitemap_options = WPSEO_Options::get_option( 'wpseo_xml' ); + + $taxonomy_not_in_sitemap = 'taxonomies-' . $type . '-not_in_sitemap'; + if ( isset( $sitemap_options[ $taxonomy_not_in_sitemap ] ) && $sitemap_options[ $taxonomy_not_in_sitemap ] === false ) { + self::invalidate( $type ); + } + } + + /** + * Invalidate sitemap cache for authors. + * + * @param int $user_id User ID. + */ + public static function invalidate_author( $user_id ) { + + $user = get_user_by( 'id', $user_id ); + + if ( 'user_register' === current_action() ) { + update_user_meta( $user_id, '_yoast_wpseo_profile_updated', time() ); + } + + if ( ! in_array( 'subscriber', $user->roles ) ) { + self::invalidate( 'author' ); + } + } + + /** + * Invalidate sitemap cache for the post type of a post. + * + * Don't invalidate for revisions. + * + * @since 1.5.4 + * @since 3.2 Changed from function wpseo_invalidate_sitemap_cache_on_save_post() to method in this class. + * + * @param int $post_id Post ID to invalidate type for. + * + * @return void + */ + public static function invalidate_post( $post_id ) { + + if ( wp_is_post_revision( $post_id ) ) { + return; + } + + self::invalidate( get_post_type( $post_id ) ); + } + + /** + * Delete cache transients for given sitemaps types or all by default. + * + * @since 1.8.0 + * @since 3.2 Moved from WPSEO_Utils to this class. + * + * @param array $types Set of sitemap types to delete cache transients for. + * + * @return void + */ + public static function clear( $types = array() ) { + + if ( ! self::$is_enabled ) { + return; + } + + // No types provided, clear all. + if ( empty( $types ) ) { + self::$clear_all = true; + + return; + } + + // Always invalidate the index sitemap as well. + if ( ! in_array( WPSEO_Sitemaps::SITEMAP_INDEX_TYPE, $types ) ) { + array_unshift( $types, WPSEO_Sitemaps::SITEMAP_INDEX_TYPE ); + } + + foreach ( $types as $type ) { + if ( ! in_array( $type, self::$clear_types ) ) { + self::$clear_types[] = $type; + } + } + } + + /** + * Invalidate storage for cache types queued to clear. + */ + public static function clear_queued() { + + if ( self::$clear_all ) { + + WPSEO_Sitemaps_Cache_Validator::invalidate_storage(); + self::$clear_all = false; + self::$clear_types = array(); + + return; + } + + foreach ( self::$clear_types as $type ) { + WPSEO_Sitemaps_Cache_Validator::invalidate_storage( $type ); + } + + self::$clear_types = array(); + } + + /** + * Adds a hook that when given option is updated, the cache is cleared + * + * @since 3.2 + * + * @param string $option Option name. + * @param string $type Sitemap type. + */ + public static function register_clear_on_option_update( $option, $type = '' ) { + + self::$cache_clear[ $option ] = $type; + } + + /** + * Clears the transient cache when a given option is updated, if that option has been registered before + * + * @since 3.2 + * + * @param string $option The option name that's being updated. + * + * @return void + */ + public static function clear_on_option_update( $option ) { + + if ( array_key_exists( $option, self::$cache_clear ) ) { + + if ( empty( self::$cache_clear[ $option ] ) ) { + // Clear all caches. + self::clear(); + } + else { + // Clear specific provided type(s). + $types = (array) self::$cache_clear[ $option ]; + self::clear( $types ); + } + } + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-renderer.php b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-renderer.php new file mode 100644 index 00000000..88c0b6af --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-renderer.php @@ -0,0 +1,328 @@ +stylesheet = ''; + $this->charset = get_bloginfo( 'charset' ); + $this->output_charset = $this->charset; + $this->timezone = new WPSEO_Sitemap_Timezone(); + + if ( + 'UTF-8' !== $this->charset + && function_exists( 'mb_list_encodings' ) + && in_array( $this->charset, mb_list_encodings(), true ) + ) { + $this->output_charset = 'UTF-8'; + } + + $this->needs_conversion = $this->output_charset !== $this->charset; + } + + /** + * @param array $links Set of sitemaps index links. + * + * @return string + */ + public function get_index( $links ) { + + $xml = '' . "\n"; + + foreach ( $links as $link ) { + $xml .= $this->sitemap_index_url( $link ); + } + + /** + * Filter to append sitemaps to the index. + * + * @param string $index String to append to sitemaps index, defaults to empty. + */ + $xml .= apply_filters( 'wpseo_sitemap_index', '' ); + $xml .= ''; + + return $xml; + } + + /** + * @param array $links Set of sitemap links. + * @param string $type Sitemap type. + * @param int $current_page Current sitemap page number. + * + * @return string + */ + public function get_sitemap( $links, $type, $current_page ) { + + $urlset = '' . "\n"; + + /** + * Filters the `urlset` for a sitemap by type. + * + * @api string $urlset The output for the sitemap's `urlset`. + */ + $xml = apply_filters( "wpseo_sitemap_{$type}_urlset", $urlset ); + + foreach ( $links as $url ) { + $xml .= $this->sitemap_url( $url ); + } + + /** + * Filter to add extra URLs to the XML sitemap by type. + * + * Only runs for the first page, not on all. + * + * @param string $content String content to add, defaults to empty. + */ + if ( $current_page === 1 ) { + $xml .= apply_filters( "wpseo_sitemap_{$type}_content", '' ); + } + + $xml .= ''; + + return $xml; + } + + /** + * Produce final XML output with debug information. + * + * @param string $sitemap Sitemap XML. + * @param boolean $transient Transient cache flag. + * + * @return string + */ + public function get_output( $sitemap, $transient ) { + + $output = 'output_charset ) . '"?>'; + + if ( $this->stylesheet ) { + /** + * Filter the stylesheet URL for the XML sitemap. + * + * @param string $stylesheet Stylesheet URL. + */ + $output .= apply_filters( 'wpseo_stylesheet_url', $this->stylesheet ) . "\n"; + } + + $output .= $sitemap; + $output .= "\n"; + + $debug = WP_DEBUG || ( defined( 'WPSEO_DEBUG' ) && true === WPSEO_DEBUG ); + + if ( ! WP_DEBUG_DISPLAY || ! $debug ) { + return $output; + } + + $memory_used = number_format( ( memory_get_peak_usage() / 1048576 ), 2 ); + $queries_run = ( $transient ) ? 'Served from transient cache' : 'Queries executed ' . absint( $GLOBALS['wpdb']->num_queries ); + + $output .= "\n"; + + if ( defined( 'SAVEQUERIES' ) && SAVEQUERIES ) { + + $queries = print_r( $GLOBALS['wpdb']->queries, true ); + $output .= "\n"; + } + + return $output; + } + + /** + * Get charset for the output. + * + * @return string + */ + public function get_output_charset() { + return $this->output_charset; + } + + /** + * Set a custom stylesheet for this sitemap. Set to empty to just remove the default stylesheet. + * + * @param string $stylesheet Full xml-stylesheet declaration. + */ + public function set_stylesheet( $stylesheet ) { + $this->stylesheet = $stylesheet; + } + + /** + * Build the `` tag for a given URL. + * + * @param array $url Array of parts that make up this entry. + * + * @return string + */ + protected function sitemap_index_url( $url ) { + + $date = null; + + if ( ! empty( $url['lastmod'] ) ) { + $date = $this->timezone->format_date( $url['lastmod'] ); + } + + $url['loc'] = htmlspecialchars( $url['loc'] ); + + $output = "\t\n"; + $output .= "\t\t" . $url['loc'] . "\n"; + $output .= empty( $date ) ? '' : "\t\t" . htmlspecialchars( $date ) . "\n"; + $output .= "\t\n"; + + return $output; + } + + /** + * Build the `` tag for a given URL. + * + * Public access for backwards compatibility reasons. + * + * @param array $url Array of parts that make up this entry. + * + * @return string + */ + public function sitemap_url( $url ) { + + $date = null; + + + if ( ! empty( $url['mod'] ) ) { + // Create a DateTime object date in the correct timezone. + $date = $this->timezone->format_date( $url['mod'] ); + } + + $url['loc'] = htmlspecialchars( $url['loc'] ); + + $output = "\t\n"; + $output .= "\t\t" . $this->encode_url_rfc3986( $url['loc'] ) . "\n"; + $output .= empty( $date ) ? '' : "\t\t" . htmlspecialchars( $date ) . "\n"; + + if ( empty( $url['images'] ) ) { + $url['images'] = array(); + } + + foreach ( $url['images'] as $img ) { + + if ( empty( $img['src'] ) ) { + continue; + } + + $output .= "\t\t\n"; + $output .= "\t\t\t" . esc_html( $this->encode_url_rfc3986( $img['src'] ) ) . "\n"; + + if ( ! empty( $img['title'] ) ) { + + $title = $img['title']; + + if ( $this->needs_conversion ) { + $title = mb_convert_encoding( $title, $this->output_charset, $this->charset ); + } + + $title = _wp_specialchars( html_entity_decode( $title, ENT_QUOTES, $this->output_charset ) ); + $output .= "\t\t\t\n"; + } + + if ( ! empty( $img['alt'] ) ) { + + $alt = $img['alt']; + + if ( $this->needs_conversion ) { + $alt = mb_convert_encoding( $alt, $this->output_charset, $this->charset ); + } + + $alt = _wp_specialchars( html_entity_decode( $alt, ENT_QUOTES, $this->output_charset ) ); + $output .= "\t\t\t\n"; + } + + $output .= "\t\t\n"; + } + unset( $img, $title, $alt ); + + $output .= "\t\n"; + + /** + * Filters the output for the sitemap url tag. + * + * @api string $output The output for the sitemap url tag. + * + * @param array $url The sitemap url array on which the output is based. + */ + return apply_filters( 'wpseo_sitemap_url', $output, $url ); + } + + /** + * Apply some best effort conversion to comply with RFC3986. + * + * @param string $url URL to encode. + * + * @return string + */ + protected function encode_url_rfc3986( $url ) { + + if ( filter_var( $url, FILTER_VALIDATE_URL ) ) { + return $url; + } + + // @todo Replace with call to wp_parse_url() once minimum requirement has gone up to WP 4.7. + $path = parse_url( $url, PHP_URL_PATH ); + + if ( ! empty( $path ) && '/' !== $path ) { + $encoded_path = explode( '/', $path ); + + // First decode the path, to prevent double encoding. + $encoded_path = array_map( 'rawurldecode', $encoded_path ); + + $encoded_path = array_map( 'rawurlencode', $encoded_path ); + $encoded_path = implode( '/', $encoded_path ); + $encoded_path = str_replace( '%7E', '~', $encoded_path ); // PHP <5.3. + + $url = str_replace( $path, $encoded_path, $url ); + } + + // @todo Replace with call to wp_parse_url() once minimum requirement has gone up to WP 4.7. + $query = parse_url( $url, PHP_URL_QUERY ); + + if ( ! empty( $query ) ) { + + parse_str( $query, $parsed_query ); + + if ( defined( 'PHP_QUERY_RFC3986' ) ) { // PHP 5.4+. + $parsed_query = http_build_query( $parsed_query, null, '&', PHP_QUERY_RFC3986 ); + } + else { + $parsed_query = http_build_query( $parsed_query, null, '&' ); + $parsed_query = str_replace( '+', '%20', $parsed_query ); + $parsed_query = str_replace( '%7E', '~', $parsed_query ); + } + + $url = str_replace( $query, $parsed_query, $url ); + } + + return $url; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-router.php b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-router.php new file mode 100644 index 00000000..eff8199c --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps-router.php @@ -0,0 +1,99 @@ +add_query_var( 'sitemap' ); + $wp->add_query_var( 'sitemap_n' ); + $wp->add_query_var( 'xsl' ); + + add_rewrite_rule( 'sitemap_index\.xml$', 'index.php?sitemap=1', 'top' ); + add_rewrite_rule( '([^/]+?)-sitemap([0-9]+)?\.xml$', 'index.php?sitemap=$matches[1]&sitemap_n=$matches[2]', 'top' ); + add_rewrite_rule( '([a-z]+)?-?sitemap\.xsl$', 'index.php?xsl=$matches[1]', 'top' ); + } + + /** + * Stop trailing slashes on sitemap.xml URLs. + * + * @param string $redirect The redirect URL currently determined. + * + * @return bool|string $redirect + */ + public function redirect_canonical( $redirect ) { + + if ( get_query_var( 'sitemap' ) || get_query_var( 'xsl' ) ) { + return false; + } + + return $redirect; + } + + /** + * Redirects sitemap.xml to sitemap_index.xml. + */ + public function template_redirect() { + + global $wp_query; + + $current_url = 'http://'; + + if ( ! empty( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] === 'on' ) { + $current_url = 'https://'; + } + + $current_url .= sanitize_text_field( $_SERVER['SERVER_NAME'] ); + $current_url .= sanitize_text_field( $_SERVER['REQUEST_URI'] ); + + if ( home_url( '/sitemap.xml' ) === $current_url && $wp_query->is_404 ) { + wp_redirect( home_url( '/sitemap_index.xml' ), 301 ); + exit; + } + } + + /** + * Create base URL for the sitemap. + * + * @param string $page Page to append to the base URL. + * + * @return string base URL (incl page) + */ + public static function get_base_url( $page ) { + + global $wp_rewrite; + + $base = $wp_rewrite->using_index_permalinks() ? 'index.php/' : '/'; + + /** + * Filter the base URL of the sitemaps + * + * @param string $base The string that should be added to home_url() to make the full base URL. + */ + $base = apply_filters( 'wpseo_sitemaps_base_url', $base ); + + // Get the scheme from the configured home url instead of letting WordPress determine the scheme based on the requested URI. + // @todo Replace with call to wp_parse_url() once minimum requirement has gone up to WP 4.7. + return home_url( $base . $page, parse_url( get_option( 'home' ), PHP_URL_SCHEME ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps.php b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps.php new file mode 100644 index 00000000..d38dcc49 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps.php @@ -0,0 +1,587 @@ +max_entries = $options['entries-per-page']; + $this->timezone = new WPSEO_Sitemap_Timezone(); + $this->router = new WPSEO_Sitemaps_Router(); + $this->renderer = new WPSEO_Sitemaps_Renderer(); + $this->cache = new WPSEO_Sitemaps_Cache(); + + if ( ! empty( $_SERVER['SERVER_PROTOCOL'] ) ) { + $this->http_protocol = sanitize_text_field( $_SERVER['SERVER_PROTOCOL'] ); + } + } + + /** + * Initialize sitemap providers classes. + * + * @since 5.3 + */ + public function init_sitemaps_providers() { + + $this->providers = array( + new WPSEO_Post_Type_Sitemap_Provider(), + new WPSEO_Taxonomy_Sitemap_Provider(), + new WPSEO_Author_Sitemap_Provider(), + ); + + $external_providers = apply_filters( 'wpseo_sitemaps_providers', array() ); + + foreach ( $external_providers as $provider ) { + if ( is_object( $provider ) && $provider instanceof WPSEO_Sitemap_Provider ) { + $this->providers[] = $provider; + } + } + } + + /** + * Check the current request URI, if we can determine it's probably an XML sitemap, kill loading the widgets + */ + public function reduce_query_load() { + + if ( ! isset( $_SERVER['REQUEST_URI'] ) ) { + return; + } + + $request_uri = $_SERVER['REQUEST_URI']; + $extension = substr( $request_uri, -4 ); + + if ( false !== stripos( $request_uri, 'sitemap' ) && in_array( $extension, array( '.xml', '.xsl' ) ) ) { + remove_all_actions( 'widgets_init' ); + } + } + + /** + * Register your own sitemap. Call this during 'init'. + * + * @param string $name The name of the sitemap. + * @param callback $function Function to build your sitemap. + * @param string $rewrite Optional. Regular expression to match your sitemap with. + */ + public function register_sitemap( $name, $function, $rewrite = '' ) { + add_action( 'wpseo_do_sitemap_' . $name, $function ); + if ( ! empty( $rewrite ) ) { + add_rewrite_rule( $rewrite, 'index.php?sitemap=' . $name, 'top' ); + } + } + + /** + * Register your own XSL file. Call this during 'init'. + * + * @since 1.4.23 + * + * @param string $name The name of the XSL file. + * @param callback $function Function to build your XSL file. + * @param string $rewrite Optional. Regular expression to match your sitemap with. + */ + public function register_xsl( $name, $function, $rewrite = '' ) { + add_action( 'wpseo_xsl_' . $name, $function ); + if ( ! empty( $rewrite ) ) { + add_rewrite_rule( $rewrite, 'index.php?xsl=' . $name, 'top' ); + } + } + + /** + * Set the sitemap current page to allow creating partial sitemaps with wp-cli + * in a one-off process. + * + * @param integer $current_page The part that should be generated. + */ + public function set_n( $current_page ) { + if ( is_scalar( $current_page ) && intval( $current_page ) > 0 ) { + $this->current_page = intval( $current_page ); + } + } + + /** + * Set the sitemap content to display after you have generated it. + * + * @param string $sitemap The generated sitemap to output. + */ + public function set_sitemap( $sitemap ) { + $this->sitemap = $sitemap; + } + + /** + * Set as true to make the request 404. Used stop the display of empty sitemaps or invalid requests. + * + * @param bool $bool Is this a bad request. True or false. + */ + public function set_bad_sitemap( $bool ) { + $this->bad_sitemap = (bool) $bool; + } + + /** + * Prevent stupid plugins from running shutdown scripts when we're obviously not outputting HTML. + * + * @since 1.4.16 + */ + public function sitemap_close() { + remove_all_actions( 'wp_footer' ); + die(); + } + + /** + * Hijack requests for potential sitemaps and XSL files. + * + * @param \WP_Query $query Main query instance. + */ + public function redirect( $query ) { + + if ( ! $query->is_main_query() ) { + return; + } + + $xsl = get_query_var( 'xsl' ); + + if ( ! empty( $xsl ) ) { + $this->xsl_output( $xsl ); + $this->sitemap_close(); + + return; + } + + $type = get_query_var( 'sitemap' ); + + if ( empty( $type ) ) { + return; + } + + $this->set_n( get_query_var( 'sitemap_n' ) ); + + if ( ! $this->get_sitemap_from_cache( $type, $this->current_page ) ) { + $this->build_sitemap( $type ); + } + + if ( $this->bad_sitemap ) { + $query->set_404(); + status_header( 404 ); + + return; + } + + $this->output(); + $this->sitemap_close(); + } + + /** + * Try to get the sitemap from cache + * + * @param string $type Sitemap type. + * @param int $page_number The page number to retrieve. + * + * @return bool If the sitemap has been retrieved from cache. + */ + private function get_sitemap_from_cache( $type, $page_number ) { + + $this->transient = false; + + if ( true !== $this->cache->is_enabled() ) { + return false; + } + + /** + * Fires before the attempt to retrieve XML sitemap from the transient cache. + * + * @param WPSEO_Sitemaps $sitemaps Sitemaps object. + */ + do_action( 'wpseo_sitemap_stylesheet_cache_' . $type, $this ); + + $sitemap_cache_data = $this->cache->get_sitemap_data( $type, $page_number ); + + // No cache was found, refresh it because cache is enabled. + if ( empty( $sitemap_cache_data ) ) { + return $this->refresh_sitemap_cache( $type, $page_number ); + } + + // Cache object was found, parse information. + $this->transient = true; + + $this->sitemap = $sitemap_cache_data->get_sitemap(); + $this->bad_sitemap = ! $sitemap_cache_data->is_usable(); + + return true; + } + + /** + * Build and save sitemap to cache. + * + * @param string $type Sitemap type. + * @param int $page_number The page number to save to. + * + * @return bool + */ + private function refresh_sitemap_cache( $type, $page_number ) { + $this->set_n( $page_number ); + $this->build_sitemap( $type ); + + return $this->cache->store_sitemap( $type, $page_number, $this->sitemap, ! $this->bad_sitemap ); + } + + /** + * Attempts to build the requested sitemap. + * + * Sets $bad_sitemap if this isn't for the root sitemap, a post type or taxonomy. + * + * @param string $type The requested sitemap's identifier. + */ + public function build_sitemap( $type ) { + + /** + * Filter the type of sitemap to build. + * + * @param string $type Sitemap type, determined by the request. + */ + $type = apply_filters( 'wpseo_build_sitemap_post_type', $type ); + + if ( $type === '1' ) { + $this->build_root_map(); + + return; + } + + foreach ( $this->providers as $provider ) { + if ( ! $provider->handles_type( $type ) ) { + continue; + } + + $links = $provider->get_sitemap_links( $type, $this->max_entries, $this->current_page ); + + if ( empty( $links ) ) { + $this->bad_sitemap = true; + + return; + } + + $this->sitemap = $this->renderer->get_sitemap( $links, $type, $this->current_page ); + + return; + } + + if ( has_action( 'wpseo_do_sitemap_' . $type ) ) { + /** + * Fires custom handler, if hooked to generate sitemap for the type. + */ + do_action( 'wpseo_do_sitemap_' . $type ); + + return; + } + + $this->bad_sitemap = true; + } + + /** + * Build the root sitemap (example.com/sitemap_index.xml) which lists sub-sitemaps for other content types. + */ + public function build_root_map() { + + $links = array(); + + foreach ( $this->providers as $provider ) { + $links = array_merge( $links, $provider->get_index_links( $this->max_entries ) ); + } + + if ( empty( $links ) ) { + $this->bad_sitemap = true; + $this->sitemap = ''; + + return; + } + + $this->sitemap = $this->renderer->get_index( $links ); + } + + /** + * Spits out the XSL for the XML sitemap. + * + * @param string $type Type to output. + * + * @since 1.4.13 + */ + public function xsl_output( $type ) { + + if ( $type !== 'main' ) { + + /** + * Fires for the output of XSL for XML sitemaps, other than type "main". + */ + do_action( 'wpseo_xsl_' . $type ); + + return; + } + + header( $this->http_protocol . ' 200 OK', true, 200 ); + // Prevent the search engines from indexing the XML Sitemap. + header( 'X-Robots-Tag: noindex, follow', true ); + header( 'Content-Type: text/xml' ); + + // Make the browser cache this file properly. + $expires = YEAR_IN_SECONDS; + header( 'Pragma: public' ); + header( 'Cache-Control: maxage=' . $expires ); + header( 'Expires: ' . gmdate( 'D, d M Y H:i:s', ( time() + $expires ) ) . ' GMT' ); + + require_once WPSEO_PATH . 'css/xml-sitemap-xsl.php'; + } + + /** + * Spit out the generated sitemap and relevant headers and encoding information. + */ + public function output() { + + if ( ! headers_sent() ) { + header( $this->http_protocol . ' 200 OK', true, 200 ); + // Prevent the search engines from indexing the XML Sitemap. + header( 'X-Robots-Tag: noindex, follow', true ); + header( 'Content-Type: text/xml; charset=' . esc_attr( $this->renderer->get_output_charset() ) ); + } + + echo $this->renderer->get_output( $this->sitemap, $this->transient ); + } + + /** + * Make a request for the sitemap index so as to cache it before the arrival of the search engines. + */ + public function hit_sitemap_index() { + wp_remote_get( WPSEO_Sitemaps_Router::get_base_url( 'sitemap_index.xml' ) ); + } + + /** + * Get the GMT modification date for the last modified post in the post type. + * + * @since 3.2 + * + * @param string|array $post_types Post type or array of types. + * @param bool $return_all Flag to return array of values. + * + * @return string|array|false + */ + public static function get_last_modified_gmt( $post_types, $return_all = false ) { + + global $wpdb; + + static $post_type_dates = null; + + if ( ! is_array( $post_types ) ) { + $post_types = array( $post_types ); + } + + foreach ( $post_types as $post_type ) { + if ( ! isset( $post_type_dates[ $post_type ] ) ) { // If we hadn't seen post type before. R. + $post_type_dates = null; + break; + } + } + + if ( is_null( $post_type_dates ) ) { + + $sql = " + SELECT post_type, MAX(post_modified_gmt) AS date + FROM $wpdb->posts + WHERE post_status IN ('publish','inherit') + AND post_type IN ('" . implode( "','", get_post_types( array( 'public' => true ) ) ) . "') + GROUP BY post_type + ORDER BY post_modified_gmt DESC + "; + + $post_type_dates = array(); + + foreach ( $wpdb->get_results( $sql ) as $obj ) { + $post_type_dates[ $obj->post_type ] = $obj->date; + } + } + + $dates = array_intersect_key( $post_type_dates, array_flip( $post_types ) ); + + if ( count( $dates ) > 0 ) { + + if ( $return_all ) { + return $dates; + } + + return max( $dates ); + } + + return false; + } + + /** + * Get the modification date for the last modified post in the post type. + * + * @param array $post_types Post types to get the last modification date for. + * + * @return string + */ + public function get_last_modified( $post_types ) { + + return $this->timezone->format_date( self::get_last_modified_gmt( $post_types ) ); + } + + /** + * Notify search engines of the updated sitemap. + * + * @param string|null $url Optional URL to make the ping for. + */ + public static function ping_search_engines( $url = null ) { + + /** + * Filter: 'wpseo_allow_xml_sitemap_ping' - Check if pinging is not allowed (allowed by default) + * + * @api boolean $allow_ping The boolean that is set to true by default. + */ + if ( apply_filters( 'wpseo_allow_xml_sitemap_ping', true ) === false ) { + return; + } + + if ( '0' === get_option( 'blog_public' ) ) { // Don't ping if blog is not public. + return; + } + + if ( empty( $url ) ) { + $url = urlencode( WPSEO_Sitemaps_Router::get_base_url( 'sitemap_index.xml' ) ); + } + + // Ping Google and Bing. + wp_remote_get( 'http://www.google.com/webmasters/tools/ping?sitemap=' . $url, array( 'blocking' => false ) ); + wp_remote_get( 'http://www.bing.com/ping?sitemap=' . $url, array( 'blocking' => false ) ); + } + + /** + * Build the `` tag for a given URL. + * + * @deprecated 3.2 + * @see WPSEO_Sitemaps_Renderer::sitemap_url() + * + * @param array $url Array of parts that make up this entry. + * + * @return string + */ + public function sitemap_url( $url ) { + _deprecated_function( __METHOD__, 'WPSEO 3.2', 'WPSEO_Sitemaps_Renderer::sitemap_url()' ); + return $this->renderer->sitemap_url( $url ); + } + + /** + * Set a custom stylesheet for this sitemap. Set to empty to just remove the default stylesheet. + * + * @deprecated 3.2 + * @see WPSEO_Sitemaps_Renderer::set_stylesheet() + * + * @param string $stylesheet Full xml-stylesheet declaration. + */ + public function set_stylesheet( $stylesheet ) { + _deprecated_function( __METHOD__, 'WPSEO 3.2', 'WPSEO_Sitemaps_Renderer::set_stylesheet()' ); + $this->renderer->set_stylesheet( $stylesheet ); + } + + /** + * Function to dynamically filter the change frequency. + * + * @deprecated 3.5 Change frequency data dropped from sitemaps. + * + * @param string $filter Expands to wpseo_sitemap_$filter_change_freq, allowing for a change of the frequency for + * numerous specific URLs. + * @param string $default The default value for the frequency. + * @param string $url The URL of the current entry. + * + * @return mixed|void + */ + public static function filter_frequency( $filter, $default, $url ) { + _deprecated_function( __METHOD__, 'WPSEO 3.5' ); + + /** + * Filter the specific change frequency + * + * @param string $default The default change frequency. + * @param string $url URL to filter frequency for. + */ + $change_freq = apply_filters( 'wpseo_sitemap_' . $filter . '_change_freq', $default, $url ); + + if ( ! in_array( $change_freq, array( + 'always', + 'hourly', + 'daily', + 'weekly', + 'monthly', + 'yearly', + 'never', + ) ) + ) { + $change_freq = $default; + } + + return $change_freq; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-taxonomy-sitemap-provider.php b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-taxonomy-sitemap-provider.php new file mode 100644 index 00000000..4d67f4ac --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/class-taxonomy-sitemap-provider.php @@ -0,0 +1,289 @@ + true ), 'objects' ); + + if ( empty( $taxonomies ) ) { + return array(); + } + + $taxonomy_names = array_filter( array_keys( $taxonomies ), array( $this, 'is_valid_taxonomy' ) ); + $taxonomies = array_intersect_key( $taxonomies, array_flip( $taxonomy_names ) ); + + // Retrieve all the taxonomies and their terms so we can do a proper count on them. + /** + * Filter the setting of excluding empty terms from the XML sitemap. + * + * @param boolean $exclude Defaults to true. + * @param array $taxonomy_names Array of names for the taxonomies being processed. + */ + $hide_empty = apply_filters( 'wpseo_sitemap_exclude_empty_terms', true, $taxonomy_names ); + + $all_taxonomies = array(); + + foreach ( $taxonomy_names as $taxonomy_name ) { + + $taxonomy_terms = get_terms( $taxonomy_name, array( + 'hide_empty' => $hide_empty, + 'fields' => 'ids', + ) ); + + if ( count( $taxonomy_terms ) > 0 ) { + $all_taxonomies[ $taxonomy_name ] = $taxonomy_terms; + } + } + + $index = array(); + + foreach ( $taxonomies as $tax_name => $tax ) { + + if ( ! isset( $all_taxonomies[ $tax_name ] ) ) { // No eligible terms found. + continue; + } + + $total_count = ( isset( $all_taxonomies[ $tax_name ] ) ) ? count( $all_taxonomies[ $tax_name ] ) : 1; + $max_pages = 1; + + if ( $total_count > $max_entries ) { + $max_pages = (int) ceil( $total_count / $max_entries ); + } + + $last_modified_gmt = WPSEO_Sitemaps::get_last_modified_gmt( $tax->object_type ); + + for ( $page_counter = 0; $page_counter < $max_pages; $page_counter++ ) { + + $current_page = ( $max_pages > 1 ) ? ( $page_counter + 1 ) : ''; + + if ( ! is_array( $tax->object_type ) || count( $tax->object_type ) == 0 ) { + continue; + } + + $terms = array_splice( $all_taxonomies[ $tax_name ], 0, $max_entries ); + + if ( ! $terms ) { + continue; + } + + $args = array( + 'post_type' => $tax->object_type, + 'tax_query' => array( + array( + 'taxonomy' => $tax_name, + 'terms' => $terms, + ), + ), + 'orderby' => 'modified', + 'order' => 'DESC', + 'posts_per_page' => 1, + ); + $query = new WP_Query( $args ); + + if ( $query->have_posts() ) { + $date = $query->posts[0]->post_modified_gmt; + } + else { + $date = $last_modified_gmt; + } + + $index[] = array( + 'loc' => WPSEO_Sitemaps_Router::get_base_url( $tax_name . '-sitemap' . $current_page . '.xml' ), + 'lastmod' => $date, + ); + } + } + + return $index; + } + + /** + * Get set of sitemap link data. + * + * @param string $type Sitemap type. + * @param int $max_entries Entries per sitemap. + * @param int $current_page Current page of the sitemap. + * + * @return array + */ + public function get_sitemap_links( $type, $max_entries, $current_page ) { + + global $wpdb; + + $links = array(); + $taxonomy = get_taxonomy( $type ); + + if ( $taxonomy === false || ! $this->is_valid_taxonomy( $taxonomy->name ) || ! $taxonomy->public ) { + return $links; + } + + $options = $this->get_options(); + + $steps = $max_entries; + $offset = ( $current_page > 1 ) ? ( ( $current_page - 1 ) * $max_entries ) : 0; + + /** This filter is documented in inc/sitemaps/class-taxonomy-sitemap-provider.php */ + $hide_empty = apply_filters( 'wpseo_sitemap_exclude_empty_terms', true, $taxonomy ); + $terms = get_terms( $taxonomy->name, array( 'hide_empty' => $hide_empty ) ); + $terms = array_splice( $terms, $offset, $steps ); + + if ( empty( $terms ) ) { + $terms = array(); + } + + // Grab last modified date. + $sql = " + SELECT MAX(p.post_modified_gmt) AS lastmod + FROM $wpdb->posts AS p + INNER JOIN $wpdb->term_relationships AS term_rel + ON term_rel.object_id = p.ID + INNER JOIN $wpdb->term_taxonomy AS term_tax + ON term_tax.term_taxonomy_id = term_rel.term_taxonomy_id + AND term_tax.taxonomy = %s + AND term_tax.term_id = %d + WHERE p.post_status IN ('publish','inherit') + AND p.post_password = '' + "; + + foreach ( $terms as $term ) { + + $url = array(); + + $tax_noindex = WPSEO_Taxonomy_Meta::get_term_meta( $term, $term->taxonomy, 'noindex' ); + $tax_sitemap_inc = WPSEO_Taxonomy_Meta::get_term_meta( $term, $term->taxonomy, 'sitemap_include' ); + + if ( $tax_noindex === 'noindex' && $tax_sitemap_inc !== 'always' ) { + continue; + } + + if ( $tax_sitemap_inc === 'never' ) { + continue; + } + + $url['loc'] = WPSEO_Taxonomy_Meta::get_term_meta( $term, $term->taxonomy, 'canonical' ); + + if ( ! is_string( $url['loc'] ) || $url['loc'] === '' ) { + + $url['loc'] = get_term_link( $term, $term->taxonomy ); + + if ( $options['trailingslash'] === true ) { + + $url['loc'] = trailingslashit( $url['loc'] ); + } + } + + $url['mod'] = $wpdb->get_var( $wpdb->prepare( $sql, $term->taxonomy, $term->term_id ) ); + $url['images'] = $this->get_image_parser()->get_term_images( $term ); + + // Deprecated, kept for backwards data compat. R. + $url['chf'] = 'daily'; + $url['pri'] = 1; + + /** This filter is documented at inc/sitemaps/class-post-type-sitemap-provider.php */ + $url = apply_filters( 'wpseo_sitemap_entry', $url, 'term', $term ); + + if ( ! empty( $url ) ) { + $links[] = $url; + } + } + + return $links; + } + + /** + * Check if taxonomy by name is valid to appear in sitemaps. + * + * @param string $taxonomy_name Taxonomy name to check. + * + * @return bool + */ + public function is_valid_taxonomy( $taxonomy_name ) { + + $options = $this->get_options(); + if ( ! empty( $options[ "taxonomies-{$taxonomy_name}-not_in_sitemap" ] ) ) { + return false; + } + + if ( in_array( $taxonomy_name, array( 'link_category', 'nav_menu' ) ) ) { + return false; + } + + if ( 'post_format' === $taxonomy_name && ! empty( $options['disable-post_format'] ) ) { + return false; + } + + /** + * Filter to exclude the taxonomy from the XML sitemap. + * + * @param boolean $exclude Defaults to false. + * @param string $taxonomy_name Name of the taxonomy to exclude.. + */ + if ( apply_filters( 'wpseo_sitemap_exclude_taxonomy', false, $taxonomy_name ) ) { + return false; + } + + return true; + } + + /** + * Get the Image Parser + * + * @return WPSEO_Sitemap_Image_Parser + */ + protected function get_image_parser() { + if ( ! isset( self::$image_parser ) ) { + self::$image_parser = new WPSEO_Sitemap_Image_Parser(); + } + + return self::$image_parser; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/interface-sitemap-cache-data.php b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/interface-sitemap-cache-data.php new file mode 100644 index 00000000..a2b929bc --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/sitemaps/interface-sitemap-cache-data.php @@ -0,0 +1,56 @@ +get_terms( $id, $taxonomy, $return_single ); +} + +/** + * Generate an HTML sitemap + * + * @deprecated 1.5.5.4 + * @deprecated use plugin Yoast SEO Premium + * @see Yoast SEO Premium + * + * @param array $atts The attributes passed to the shortcode. + * + * @return string + */ +function wpseo_sitemap_handler( $atts ) { + _deprecated_function( __FUNCTION__, 'WPSEO 1.5.5.4', 'Functionality has been discontinued after being in beta, it\'ll be available in the Yoast SEO Premium plugin soon.' ); + + return ''; +} + +add_shortcode( 'wpseo_sitemap', 'wpseo_sitemap_handler' ); + +/** + * Strip out the shortcodes with a filthy regex, because people don't properly register their shortcodes. + * + * @deprecated 1.6.1 + * @deprecated use WPSEO_Utils::strip_shortcode() + * @see WPSEO_Utils::strip_shortcode() + * + * @param string $text Input string that might contain shortcodes. + * + * @return string $text string without shortcodes + */ +function wpseo_strip_shortcode( $text ) { + _deprecated_function( __FUNCTION__, 'WPSEO 1.6.1', 'WPSEO_Utils::strip_shortcode()' ); + + return WPSEO_Utils::strip_shortcode( $text ); +} + +/** + * Do simple reliable math calculations without the risk of wrong results + * + * @see http://floating-point-gui.de/ + * @see the big red warning on http://php.net/language.types.float.php + * + * @deprecated 1.6.1 + * @deprecated use WPSEO_Utils::calc() + * @see WPSEO_Utils::calc() + * + * In the rare case that the bcmath extension would not be loaded, it will return the normal calculation results + * + * @since 1.5.0 + * + * @param mixed $number1 Scalar (string/int/float/bool). + * @param string $action Calculation action to execute. + * @param mixed $number2 Scalar (string/int/float/bool). + * @param bool $round Whether or not to round the result. Defaults to false. + * @param int $decimals Decimals for rounding operation. Defaults to 0. + * @param int $precision Calculation precision. Defaults to 10. + * + * @return mixed Calculation Result or false if either or the numbers isn't scalar or + * an invalid operation was passed + */ +function wpseo_calc( $number1, $action, $number2, $round = false, $decimals = 0, $precision = 10 ) { + _deprecated_function( __FUNCTION__, 'WPSEO 1.6.1', 'WPSEO_Utils::calc()' ); + + return WPSEO_Utils::calc( $number1, $action, $number2, $round, $decimals, $precision ); +} + +/** + * Check if the web server is running on Apache + * + * @deprecated 1.6.1 + * @deprecated use WPSEO_Utils::is_apache() + * @see WPSEO_Utils::is_apache() + * + * @return bool + */ +function wpseo_is_apache() { + _deprecated_function( __FUNCTION__, 'WPSEO 1.6.1', 'WPSEO_Utils::is_apache()' ); + + return WPSEO_Utils::is_apache(); +} + +/** + * Check if the web service is running on Nginx + * + * @deprecated 1.6.1 + * @deprecated use WPSEO_Utils::is_nginx() + * @see WPSEO_Utils::is_nginx() + * + * @return bool + */ +function wpseo_is_nginx() { + _deprecated_function( __FUNCTION__, 'WPSEO 1.6.1', 'WPSEO_Utils::is_nginx()' ); + + return WPSEO_Utils::is_nginx(); +} + +/** + * List all the available user roles + * + * @deprecated 1.6.1 + * @deprecated use WPSEO_Utils::get_roles() + * @see WPSEO_Utils::get_roles() + * + * @return array $roles + */ +function wpseo_get_roles() { + _deprecated_function( __FUNCTION__, 'WPSEO 1.6.1', 'WPSEO_Utils::get_roles()' ); + + return WPSEO_Utils::get_roles(); +} + +/** + * Check whether a url is relative + * + * @deprecated 1.6.1 + * @deprecated use WPSEO_Utils::is_url_relative() + * @see WPSEO_Utils::is_url_relative() + * + * @param string $url URL input to check. + * + * @return bool + */ +function wpseo_is_url_relative( $url ) { + _deprecated_function( __FUNCTION__, 'WPSEO 1.6.1', 'WPSEO_Utils::is_url_relative()' ); + + return WPSEO_Utils::is_url_relative( $url ); +} + +/** + * Standardize whitespace in a string + * + * @deprecated 1.6.1 + * @deprecated use WPSEO_Utils::standardize_whitespace() + * @see WPSEO_Utils::standardize_whitespace() + * + * @since 1.6.0 + * + * @param string $string String input to standardize. + * + * @return string + */ +function wpseo_standardize_whitespace( $string ) { + _deprecated_function( __FUNCTION__, 'WPSEO 1.6.1', 'WPSEO_Utils::standardize_whitespace()' ); + + return WPSEO_Utils::standardize_whitespace( $string ); +} + +/** + * Initialize sitemaps. Add sitemap & XSL rewrite rules and query vars + * + * @deprecated 2.4 + * @see WPSEO_Sitemaps_Router + */ +function wpseo_xml_sitemaps_init() { + _deprecated_function( __FUNCTION__, 'WPSEO 2.4', 'WPSEO_Sitemaps_Router' ); + + $options = get_option( 'wpseo_xml' ); + if ( $options['enablexmlsitemap'] !== true ) { + return; + } + + // Redirects sitemap.xml to sitemap_index.xml. + add_action( 'template_redirect', 'wpseo_xml_redirect_sitemap', 0 ); + + if ( ! is_object( $GLOBALS['wp'] ) ) { + return; + } + + $GLOBALS['wp']->add_query_var( 'sitemap' ); + $GLOBALS['wp']->add_query_var( 'sitemap_n' ); + $GLOBALS['wp']->add_query_var( 'xsl' ); + add_rewrite_rule( 'sitemap_index\.xml$', 'index.php?sitemap=1', 'top' ); + add_rewrite_rule( '([^/]+?)-sitemap([0-9]+)?\.xml$', 'index.php?sitemap=$matches[1]&sitemap_n=$matches[2]', 'top' ); + add_rewrite_rule( '([a-z]+)?-?sitemap\.xsl$', 'index.php?xsl=$matches[1]', 'top' ); +} + +/** + * Redirect /sitemap.xml to /sitemap_index.xml + * + * @deprecated 2.4 + * @see WPSEO_Sitemaps_Router + */ +function wpseo_xml_redirect_sitemap() { + _deprecated_function( __FUNCTION__, 'WPSEO 2.4', 'WPSEO_Sitemaps_Router' ); + + $current_url = ( isset( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] == 'on' ) ? 'https://' : 'http://'; + $current_url .= sanitize_text_field( $_SERVER['SERVER_NAME'] ) . sanitize_text_field( $_SERVER['REQUEST_URI'] ); + + // Must be 'sitemap.xml' and must be 404. + if ( home_url( '/sitemap.xml' ) == $current_url && $GLOBALS['wp_query']->is_404 ) { + wp_redirect( home_url( '/sitemap_index.xml' ), 301 ); + exit; + } +} + +/** + * This invalidates our XML Sitemaps cache. + * + * @since 1.5.4 + * @deprecated 3.2 + * @deprecated use WPSEO_Sitemaps_Cache::invalidate() + * @see WPSEO_Sitemaps_Cache::invalidate() + * + * @param string $type Type of sitemap to invalidate. + */ +function wpseo_invalidate_sitemap_cache( $type ) { + _deprecated_function( __FUNCTION__, 'WPSEO 3.2.0', 'WPSEO_Sitemaps_Cache::invalidate()' ); + + WPSEO_Sitemaps_Cache::invalidate( $type ); +} + +/** + * Invalidate XML sitemap cache for taxonomy / term actions + * + * @since 1.5.4 + * @deprecated 3.2 + * @deprecated use WPSEO_Sitemaps_Cache::invalidate() + * @see WPSEO_Sitemaps_Cache::invalidate() + * + * @param int $unused Unused term ID value. + * @param string $type Taxonomy to invalidate. + */ +function wpseo_invalidate_sitemap_cache_terms( $unused, $type ) { + _deprecated_function( __FUNCTION__, 'WPSEO 3.2.0', 'WPSEO_Sitemaps_Cache::invalidate()' ); + + WPSEO_Sitemaps_Cache::invalidate( $type ); +} + +/** + * Invalidate the XML sitemap cache for a post type when publishing or updating a post + * + * @since 1.5.4 + * @deprecated 3.2 + * @deprecated use WPSEO_Sitemaps_Cache::invalidate_post() + * @see WPSEO_Sitemaps_Cache::invalidate_post() + * + * @param int $post_id Post ID to determine post type for invalidation. + */ +function wpseo_invalidate_sitemap_cache_on_save_post( $post_id ) { + _deprecated_function( __FUNCTION__, 'WPSEO 3.2.0', 'WPSEO_Sitemaps_Cache::invalidate_post()' ); + + WPSEO_Sitemaps_Cache::invalidate_post( $post_id ); +} + +/** + * Notify search engines of the updated sitemap. + * + * @deprecated 3.2 + * @deprecated use WPSEO_Sitemaps::ping_search_engines() + * @see WPSEO_Sitemaps::ping_search_engines() + * + * @param string|null $sitemapurl Optional URL to make the ping for. + */ +function wpseo_ping_search_engines( $sitemapurl = null ) { + _deprecated_function( __FUNCTION__, 'WPSEO 3.2.0', 'WPSEO_Sitemaps::ping_search_engines()' ); + + WPSEO_Sitemaps::ping_search_engines( $sitemapurl ); +} + +/** + * Create base URL for the sitemaps and applies filters + * + * @since 1.5.7 + * + * @deprecated 3.2 + * @deprecated use WPSEO_Sitemaps_Router::get_base_url() + * @see WPSEO_Sitemaps_Router::get_base_url() + * + * @param string $page page to append to the base URL. + * + * @return string base URL (incl page) for the sitemaps + */ +function wpseo_xml_sitemaps_base_url( $page ) { + _deprecated_function( __FUNCTION__, 'WPSEO 3.2.0', 'WPSEO_Sitemaps_Router::get_base_url()' ); + + return WPSEO_Sitemaps_Router::get_base_url( $page ); +} + +/** + * Remove the bulk edit capability from the proper default roles. + * + * Contributor is still removed for legacy reasons. + * + * @deprecated 5.5 + */ +function wpseo_remove_capabilities() { + _deprecated_function( __FUNCTION__, 'WPSEO 5.5.0', 'WPSEO_Capability_Manager_Factory::get()->remove()' ); + + WPSEO_Capability_Manager_Factory::get()->remove(); +} + +/** + * Add the bulk edit capability to the proper default roles. + * + * @deprecated 5.5.0 + */ +function wpseo_add_capabilities() { + _deprecated_function( __FUNCTION__, 'WPSEO 5.5.0', 'WPSEO_Capability_Manager_Factory::get()->add()' ); + + WPSEO_Capability_Manager_Factory::get()->add(); +} diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/wpseo-functions.php b/pole-sbv-content/plugins/wordpress-seo/inc/wpseo-functions.php new file mode 100644 index 00000000..0a4c2af7 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/wpseo-functions.php @@ -0,0 +1,250 @@ +ID ); + return $primary_term->get_primary_term(); + } +} + +if ( ! function_exists( 'yoast_get_primary_term' ) ) { + /** + * Get the primary term name + * + * @param string $taxonomy Optional. The taxonomy to get the primary term for. Defaults to category. + * @param null|int|WP_Post $post Optional. Post to get the primary term for. + * + * @return string Name of the primary term. + */ + function yoast_get_primary_term( $taxonomy = 'category', $post = null ) { + $primary_term_id = yoast_get_primary_term_id( $taxonomy, $post ); + + $term = get_term( $primary_term_id ); + if ( ! is_wp_error( $term ) && ! empty( $term ) ) { + return $term->name; + } + + return ''; + } +} + +/** + * Replace `%%variable_placeholders%%` with their real value based on the current requested page/post/cpt + * + * @param string $string the string to replace the variables in. + * @param object $args the object some of the replacement values might come from, could be a post, taxonomy or term. + * @param array $omit variables that should not be replaced by this function. + * + * @return string + */ +function wpseo_replace_vars( $string, $args, $omit = array() ) { + $replacer = new WPSEO_Replace_Vars(); + + return $replacer->replace( $string, $args, $omit ); +} + +/** + * Register a new variable replacement + * + * This function is for use by other plugins/themes to easily add their own additional variables to replace. + * This function should be called from a function on the 'wpseo_register_extra_replacements' action hook. + * The use of this function is preferred over the older 'wpseo_replacements' filter as a way to add new replacements. + * The 'wpseo_replacements' filter should still be used to adjust standard WPSEO replacement values. + * The function can not be used to replace standard WPSEO replacement value functions and will thrown a warning + * if you accidently try. + * To avoid conflicts with variables registered by WPSEO and other themes/plugins, try and make the + * name of your variable unique. Variable names also can not start with "%%cf_" or "%%ct_" as these are reserved + * for the standard WPSEO variable variables 'cf_', 'ct_' and + * 'ct_desc_'. + * The replacement function will be passed the undelimited name (i.e. stripped of the %%) of the variable + * to replace in case you need it. + * + * Example code: + * + * + * + * + * @since 1.5.4 + * + * @param string $var The name of the variable to replace, i.e. '%%var%%' + * - the surrounding %% are optional, name can only contain [A-Za-z0-9_-]. + * @param mixed $replace_function Function or method to call to retrieve the replacement value for the variable + * Uses the same format as add_filter/add_action function parameter and + * should *return* the replacement value. DON'T echo it. + * @param string $type Type of variable: 'basic' or 'advanced', defaults to 'advanced'. + * @param string $help_text Help text to be added to the help tab for this variable. + * + * @return bool Whether the replacement function was succesfully registered + */ +function wpseo_register_var_replacement( $var, $replace_function, $type = 'advanced', $help_text = '' ) { + return WPSEO_Replace_Vars::register_replacement( $var, $replace_function, $type, $help_text ); +} + +/** + * WPML plugin support: Set titles for custom types / taxonomies as translatable. + * It adds new keys to a wpml-config.xml file for a custom post type title, metadesc, title-ptarchive and metadesc-ptarchive fields translation. + * Documentation: http://wpml.org/documentation/support/language-configuration-files/ + * + * @global $sitepress + * + * @param array $config WPML configuration data to filter. + * + * @return array + */ +function wpseo_wpml_config( $config ) { + global $sitepress; + + if ( ( is_array( $config ) && isset( $config['wpml-config']['admin-texts']['key'] ) ) && ( is_array( $config['wpml-config']['admin-texts']['key'] ) && $config['wpml-config']['admin-texts']['key'] !== array() ) ) { + $admin_texts = $config['wpml-config']['admin-texts']['key']; + foreach ( $admin_texts as $k => $val ) { + if ( $val['attr']['name'] === 'wpseo_titles' ) { + $translate_cp = array_keys( $sitepress->get_translatable_documents() ); + if ( is_array( $translate_cp ) && $translate_cp !== array() ) { + foreach ( $translate_cp as $post_type ) { + $admin_texts[ $k ]['key'][]['attr']['name'] = 'title-' . $post_type; + $admin_texts[ $k ]['key'][]['attr']['name'] = 'metadesc-' . $post_type; + $admin_texts[ $k ]['key'][]['attr']['name'] = 'metakey-' . $post_type; + $admin_texts[ $k ]['key'][]['attr']['name'] = 'title-ptarchive-' . $post_type; + $admin_texts[ $k ]['key'][]['attr']['name'] = 'metadesc-ptarchive-' . $post_type; + $admin_texts[ $k ]['key'][]['attr']['name'] = 'metakey-ptarchive-' . $post_type; + + $translate_tax = $sitepress->get_translatable_taxonomies( false, $post_type ); + if ( is_array( $translate_tax ) && $translate_tax !== array() ) { + foreach ( $translate_tax as $taxonomy ) { + $admin_texts[ $k ]['key'][]['attr']['name'] = 'title-tax-' . $taxonomy; + $admin_texts[ $k ]['key'][]['attr']['name'] = 'metadesc-tax-' . $taxonomy; + $admin_texts[ $k ]['key'][]['attr']['name'] = 'metakey-tax-' . $taxonomy; + } + } + } + } + break; + } + } + $config['wpml-config']['admin-texts']['key'] = $admin_texts; + } + + return $config; +} + +add_filter( 'icl_wpml_config_array', 'wpseo_wpml_config' ); + +/** + * Yoast SEO breadcrumb shortcode + * [wpseo_breadcrumb] + * + * @return string + */ +function wpseo_shortcode_yoast_breadcrumb() { + return yoast_breadcrumb( '', '', false ); +} + +add_shortcode( 'wpseo_breadcrumb', 'wpseo_shortcode_yoast_breadcrumb' ); + +/** + * Emulate PHP native ctype_digit() function for when the ctype extension would be disabled *sigh* + * Only emulates the behaviour for when the input is a string, does not handle integer input as ascii value + * + * @param string $string + * + * @return bool + */ +if ( ! extension_loaded( 'ctype' ) || ! function_exists( 'ctype_digit' ) ) { + + /** + * @param string $string String input to validate. + * + * @return bool + */ + function ctype_digit( $string ) { + $return = false; + if ( ( is_string( $string ) && $string !== '' ) && preg_match( '`^\d+$`', $string ) === 1 ) { + $return = true; + } + + return $return; + } +} + +/** + * Makes sure the taxonomy meta is updated when a taxonomy term is split. + * + * @link https://make.wordpress.org/core/2015/02/16/taxonomy-term-splitting-in-4-2-a-developer-guide/ Article explaining the taxonomy term splitting in WP 4.2. + * + * @param string $old_term_id Old term id of the taxonomy term that was splitted. + * @param string $new_term_id New term id of the taxonomy term that was splitted. + * @param string $term_taxonomy_id Term taxonomy id for the taxonomy that was affected. + * @param string $taxonomy The taxonomy that the taxonomy term was splitted for. + */ +function wpseo_split_shared_term( $old_term_id, $new_term_id, $term_taxonomy_id, $taxonomy ) { + $tax_meta = get_option( 'wpseo_taxonomy_meta', array() ); + + if ( ! empty( $tax_meta[ $taxonomy ][ $old_term_id ] ) ) { + $tax_meta[ $taxonomy ][ $new_term_id ] = $tax_meta[ $taxonomy ][ $old_term_id ]; + unset( $tax_meta[ $taxonomy ][ $old_term_id ] ); + update_option( 'wpseo_taxonomy_meta', $tax_meta ); + } +} + +add_action( 'split_shared_term', 'wpseo_split_shared_term', 10, 4 ); diff --git a/pole-sbv-content/plugins/wordpress-seo/inc/wpseo-non-ajax-functions.php b/pole-sbv-content/plugins/wordpress-seo/inc/wpseo-non-ajax-functions.php new file mode 100644 index 00000000..2be12b13 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/inc/wpseo-non-ajax-functions.php @@ -0,0 +1,552 @@ +ID ); + + if ( $analysis_seo->is_enabled() ) { + $score = wpseo_adminbar_seo_score(); + } + elseif ( $analysis_readability->is_enabled() ) { + $score = wpseo_adminbar_content_score(); + } + } + + if ( is_category() || is_tag() || (WPSEO_Taxonomy::is_term_edit( $GLOBALS['pagenow'] ) && ! WPSEO_Taxonomy::is_term_overview( $GLOBALS['pagenow'] ) ) || is_tax() ) { + if ( $analysis_seo->is_enabled() ) { + $score = wpseo_tax_adminbar_seo_score(); + } + elseif ( $analysis_readability->is_enabled() ) { + $score = wpseo_tax_adminbar_content_score(); + } + } + + // Never display notifications for network admin. + $counter = $alert_popup = ''; + + // Determine is user is admin or network admin. + $can_manage_seo = WPSEO_Capability_Utils::current_user_can( 'wpseo_manage_options' ); + + // Set the top level menu item content for admins and network admins. + if ( $can_manage_seo ) { + + // Link the top level menu item to the Yoast Dashboard page. + $seo_url = get_admin_url( null, 'admin.php?page=' . WPSEO_Admin::PAGE_IDENTIFIER ); + // Since admins will get a real link, there's no need for a tabindex attribute. + $top_level_link_tabindex = false; + + if ( '' === $score ) { + + // Notification information. + $notification_center = Yoast_Notification_Center::get(); + $notification_count = $notification_center->get_notification_count(); + $new_notifications = $notification_center->get_new_notifications(); + $new_notifications_count = count( $new_notifications ); + + if ( $notification_count > 0 ) { + // Always show Alerts page when clicking on the main link. + /* translators: %s: number of notifications */ + $counter_screen_reader_text = sprintf( _n( '%s notification', '%s notifications', $notification_count, 'wordpress-seo' ), number_format_i18n( $notification_count ) ); + $counter = sprintf( '
    %s
    ', $notification_count, $counter_screen_reader_text ); + } + + if ( $new_notifications_count ) { + if ( $new_notifications_count === 1 ) { + $notification = sprintf( + __( 'You have a new issue concerning your SEO!', 'wordpress-seo' ), + $new_notifications_count + ); + } + else { + $notification = sprintf( + /* translators: %d resolves to the number of alerts being added. */ + _n( 'You have %d new issue concerning your SEO!', 'You have %d new issues concerning your SEO!', $new_notifications_count, 'wordpress-seo' ), + $new_notifications_count + ); + } + $alert_popup = '
    ' . $notification . '
    '; + } + } + } + + $title = ''; + + $wp_admin_bar->add_menu( array( + 'id' => 'wpseo-menu', + 'title' => $title . $score . $counter . $alert_popup, + 'href' => $seo_url, + 'meta' => array( 'tabindex' => $top_level_link_tabindex ), + ) ); + if ( ! empty( $notification_count ) ) { + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-menu', + 'id' => 'wpseo-notifications', + 'title' => __( 'Notifications', 'wordpress-seo' ) . $counter, + 'href' => $seo_url, + 'meta' => array( 'tabindex' => $top_level_link_tabindex ), + ) ); + } + + if ( WPSEO_Capability_Utils::current_user_can( 'wpseo_manage_options' ) ) { + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-menu', + 'id' => 'wpseo-configuration-wizard', + 'title' => __( 'Configuration Wizard', 'wordpress-seo' ), + 'href' => admin_url( 'admin.php?page=' . WPSEO_Configuration_Page::PAGE_IDENTIFIER ), + ) ); + } + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-menu', + 'id' => 'wpseo-kwresearch', + 'title' => __( 'Keyword Research', 'wordpress-seo' ), + 'meta' => array( 'tabindex' => '0' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-kwresearch', + 'id' => 'wpseo-adwordsexternal', + 'title' => __( 'AdWords External', 'wordpress-seo' ), + 'href' => 'https://adwords.google.com/keywordplanner', + 'meta' => array( 'target' => '_blank' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-kwresearch', + 'id' => 'wpseo-googleinsights', + 'title' => __( 'Google Trends', 'wordpress-seo' ), + 'href' => 'https://www.google.com/trends/explore#q=' . urlencode( $focuskw ), + 'meta' => array( 'target' => '_blank' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-kwresearch', + 'id' => 'wpseo-wordtracker', + 'title' => __( 'SEO Book', 'wordpress-seo' ), + 'href' => 'http://tools.seobook.com/keyword-tools/seobook/?keyword=' . urlencode( $focuskw ), + 'meta' => array( 'target' => '_blank' ), + ) ); + + if ( ! is_admin() ) { + $url = WPSEO_Frontend::get_instance()->canonical( false ); + + if ( is_string( $url ) ) { + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-menu', + 'id' => 'wpseo-analysis', + 'title' => __( 'Analyze this page', 'wordpress-seo' ), + 'meta' => array( 'tabindex' => '0' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-analysis', + 'id' => 'wpseo-inlinks-ose', + 'title' => __( 'Check Inlinks (OSE)', 'wordpress-seo' ), + 'href' => '//moz.com/researchtools/ose/links?site=' . urlencode( $url ), + 'meta' => array( 'target' => '_blank' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-analysis', + 'id' => 'wpseo-kwdensity', + 'title' => __( 'Check Keyword Density', 'wordpress-seo' ), + // HTTPS not available. + 'href' => 'http://www.zippy.co.uk/keyworddensity/index.php?url=' . urlencode( $url ) . '&keyword=' . urlencode( $focuskw ), + 'meta' => array( 'target' => '_blank' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-analysis', + 'id' => 'wpseo-cache', + 'title' => __( 'Check Google Cache', 'wordpress-seo' ), + 'href' => '//webcache.googleusercontent.com/search?strip=1&q=cache:' . urlencode( $url ), + 'meta' => array( 'target' => '_blank' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-analysis', + 'id' => 'wpseo-header', + 'title' => __( 'Check Headers', 'wordpress-seo' ), + 'href' => '//quixapp.com/headers/?r=' . urlencode( $url ), + 'meta' => array( 'target' => '_blank' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-analysis', + 'id' => 'wpseo-structureddata', + 'title' => __( 'Google Structured Data Test', 'wordpress-seo' ), + 'href' => 'https://search.google.com/structured-data/testing-tool#url=' . urlencode( $url ), + 'meta' => array( 'target' => '_blank' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-analysis', + 'id' => 'wpseo-facebookdebug', + 'title' => __( 'Facebook Debugger', 'wordpress-seo' ), + 'href' => '//developers.facebook.com/tools/debug/og/object?q=' . urlencode( $url ), + 'meta' => array( 'target' => '_blank' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-analysis', + 'id' => 'wpseo-pinterestvalidator', + 'title' => __( 'Pinterest Rich Pins Validator', 'wordpress-seo' ), + 'href' => 'https://developers.pinterest.com/tools/url-debugger/?link=' . urlencode( $url ), + 'meta' => array( 'target' => '_blank' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-analysis', + 'id' => 'wpseo-htmlvalidation', + 'title' => __( 'HTML Validator', 'wordpress-seo' ), + 'href' => '//validator.w3.org/check?uri=' . urlencode( $url ), + 'meta' => array( 'target' => '_blank' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-analysis', + 'id' => 'wpseo-cssvalidation', + 'title' => __( 'CSS Validator', 'wordpress-seo' ), + 'href' => '//jigsaw.w3.org/css-validator/validator?uri=' . urlencode( $url ), + 'meta' => array( 'target' => '_blank' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-analysis', + 'id' => 'wpseo-pagespeed', + 'title' => __( 'Google Page Speed Test', 'wordpress-seo' ), + 'href' => '//developers.google.com/speed/pagespeed/insights/?url=' . urlencode( $url ), + 'meta' => array( 'target' => '_blank' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-analysis', + 'id' => 'wpseo-microsoftedge', + 'title' => __( 'Microsoft Edge Site Scan', 'wordpress-seo' ), + 'href' => 'https://developer.microsoft.com/en-us/microsoft-edge/tools/staticscan/?url=' . urlencode( $url ), + 'meta' => array( 'target' => '_blank' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-analysis', + 'id' => 'wpseo-google-mobile-friendly', + 'title' => __( 'Mobile-Friendly Test', 'wordpress-seo' ), + 'href' => 'https://www.google.com/webmasters/tools/mobile-friendly/?url=' . urlencode( $url ), + 'meta' => array( 'target' => '_blank' ), + ) ); + } + } + + // @todo: add links to bulk title and bulk description edit pages. + if ( $can_manage_seo ) { + + $advanced_settings = wpseo_advanced_settings_enabled( $options ); + + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-menu', + 'id' => 'wpseo-settings', + 'title' => __( 'SEO Settings', 'wordpress-seo' ), + 'meta' => array( 'tabindex' => '0' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-settings', + 'id' => 'wpseo-general', + 'title' => __( 'Dashboard', 'wordpress-seo' ), + 'href' => admin_url( 'admin.php?page=wpseo_dashboard' ), + ) ); + if ( $advanced_settings ) { + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-settings', + 'id' => 'wpseo-titles', + 'title' => __( 'Titles & Metas', 'wordpress-seo' ), + 'href' => admin_url( 'admin.php?page=wpseo_titles' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-settings', + 'id' => 'wpseo-social', + 'title' => __( 'Social', 'wordpress-seo' ), + 'href' => admin_url( 'admin.php?page=wpseo_social' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-settings', + 'id' => 'wpseo-xml', + 'title' => __( 'XML Sitemaps', 'wordpress-seo' ), + 'href' => admin_url( 'admin.php?page=wpseo_xml' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-settings', + 'id' => 'wpseo-wpseo-advanced', + 'title' => __( 'Advanced', 'wordpress-seo' ), + 'href' => admin_url( 'admin.php?page=wpseo_advanced' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-settings', + 'id' => 'wpseo-tools', + 'title' => __( 'Tools', 'wordpress-seo' ), + 'href' => admin_url( 'admin.php?page=wpseo_tools' ), + ) ); + } + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-settings', + 'id' => 'wpseo-search-console', + 'title' => __( 'Search Console', 'wordpress-seo' ), + 'href' => admin_url( 'admin.php?page=wpseo_search_console' ), + ) ); + $wp_admin_bar->add_menu( array( + 'parent' => 'wpseo-settings', + 'id' => 'wpseo-licenses', + 'title' => __( 'Premium', 'wordpress-seo' ), + 'href' => admin_url( 'admin.php?page=wpseo_licenses' ), + ) ); + } + +} + +/** + * Returns the SEO score element for the admin bar. + * + * @return string + */ +function wpseo_adminbar_seo_score() { + $rating = WPSEO_Meta::get_value( 'linkdex', get_the_ID() ); + + return wpseo_adminbar_score( $rating ); +} + +/** + * Returns the content score element for the adminbar. + * + * @return string + */ +function wpseo_adminbar_content_score() { + $rating = WPSEO_Meta::get_value( 'content_score', get_the_ID() ); + + return wpseo_adminbar_score( $rating ); +} + +/** + * Returns the SEO score element for the adminbar. + * + * @return string + */ +function wpseo_tax_adminbar_seo_score() { + $rating = 0; + + if ( is_tax() || is_category() || is_tag() ) { + $rating = WPSEO_Taxonomy_Meta::get_meta_without_term( 'linkdex' ); + } + + return wpseo_adminbar_score( $rating ); +} + +/** + * Returns the Content score element for the adminbar. + * + * @return string + */ +function wpseo_tax_adminbar_content_score() { + $rating = 0; + + if ( is_tax() || is_category() || is_tag() ) { + $rating = WPSEO_Taxonomy_Meta::get_meta_without_term( 'content_score' ); + } + + return wpseo_adminbar_score( $rating ); +} + +/** + * Takes The SEO score and makes the score icon for the adminbar with it. + * + * @param int $score The 0-100 rating of the score. Can be either SEO score or content score. + * + * @return string $score_adminbar_element + */ +function wpseo_adminbar_score( $score ) { + $score = WPSEO_Utils::translate_score( $score ); + + $score_adminbar_element = '
    '; + return $score_adminbar_element; +} + +add_action( 'admin_bar_menu', 'wpseo_admin_bar_menu', 95 ); + +/** + * Enqueue CSS to format the Yoast SEO adminbar item. + */ +function wpseo_admin_bar_style() { + + if ( ! is_admin_bar_showing() ) { + return; + } + + $asset_manager = new WPSEO_Admin_Asset_Manager(); + $asset_manager->register_assets(); + $asset_manager->enqueue_style( 'adminbar' ); +} + +add_action( 'wp_enqueue_scripts', 'wpseo_admin_bar_style' ); +add_action( 'admin_enqueue_scripts', 'wpseo_admin_bar_style' ); + +/** + * Allows editing of the meta fields through weblog editors like Marsedit. + * + * @param array $allcaps Capabilities that must all be true to allow action. + * @param array $cap Array of capabilities to be checked, unused here. + * @param array $args List of arguments for the specific cap to be checked. + * + * @return array $allcaps + */ +function allow_custom_field_edits( $allcaps, $cap, $args ) { + // $args[0] holds the capability. + // $args[2] holds the post ID. + // $args[3] holds the custom field. + // Make sure the request is to edit or add a post meta (this is usually also the second value in $cap, + // but this is safer to check). + if ( in_array( $args[0], array( 'edit_post_meta', 'add_post_meta' ) ) ) { + // Only allow editing rights for users who have the rights to edit this post and make sure + // the meta value starts with _yoast_wpseo (WPSEO_Meta::$meta_prefix). + if ( ( isset( $args[2] ) && current_user_can( 'edit_post', $args[2] ) ) && ( ( isset( $args[3] ) && $args[3] !== '' ) && strpos( $args[3], WPSEO_Meta::$meta_prefix ) === 0 ) ) { + $allcaps[ $args[0] ] = true; + } + } + + return $allcaps; +} + +add_filter( 'user_has_cap', 'allow_custom_field_edits', 0, 3 ); + +/** + * Detects if the advanced settings are enabled. + * + * @param array $wpseo_options The wpseo settings. + * + * @returns boolean True if the advanced settings are enabled, false if not. + */ +function wpseo_advanced_settings_enabled( $wpseo_options ) { + return ( $wpseo_options['enable_setting_pages'] === true ); +} + +/********************** DEPRECATED FUNCTIONS **********************/ + +/** + * Set the default settings. + * + * @deprecated 1.5.0 + * @deprecated use WPSEO_Options::initialize() + * @see WPSEO_Options::initialize() + */ +function wpseo_defaults() { + _deprecated_function( __FUNCTION__, 'WPSEO 1.5.0', 'WPSEO_Options::initialize()' ); + WPSEO_Options::initialize(); +} + +/** + * Translates a decimal analysis score into a textual one. + * + * @deprecated 1.5.6.1 + * @deprecated use WPSEO_Utils::translate_score() + * @see WPSEO_Utils::translate_score() + * + * @param int $val The decimal score to translate. + * @param bool $css_value Whether to return the i18n translated score or the CSS class value. + * + * @return string + */ +function wpseo_translate_score( $val, $css_value = true ) { + _deprecated_function( __FUNCTION__, 'WPSEO 1.5.6.1', 'WPSEO_Utils::translate_score()' ); + + return WPSEO_Utils::translate_score(); +} + +/** + * Check whether file editing is allowed for the .htaccess and robots.txt files + * + * @deprecated 1.5.6.1 + * @deprecated use WPSEO_Utils::allow_system_file_edit() + * @see WPSEO_Utils::allow_system_file_edit() + * + * {@internal current_user_can() checks internally whether a user is on wp-ms and adjusts accordingly.}} + * + * @return bool + */ +function wpseo_allow_system_file_edit() { + _deprecated_function( __FUNCTION__, 'WPSEO 1.5.6.1', 'WPSEO_Utils::allow_system_file_edit()' ); + + return WPSEO_Utils::allow_system_file_edit(); +} + +/** + * Test whether force rewrite should be enabled or not. + * + * @deprecated 3.3 + * + * @return void + */ +function wpseo_title_test() { + _deprecated_function( __FUNCTION__, 'WPSEO 3.3.0' ); +} + +/** + * Test whether the active theme contains a description tag. + * + * @since 1.4.14 Moved from dashboard.php and adjusted - see changelog + * + * @deprecated 3.3 + * + * @return void + */ +function wpseo_description_test() { + _deprecated_function( __FUNCTION__, 'WPSEO 3.3.0' ); +} + +/** + * Check if the current theme was updated and if so, test the updated theme + * for the title and meta description tag + * + * @since 1.4.14 + * + * @deprecated 3.3 + * + * @param WP_Upgrader $upgrader_object Upgrader object instance. + * @param array $context_array Context data array. + * @param mixed $themes Optional themes set. + * + * @return void + */ +function wpseo_upgrader_process_complete( $upgrader_object, $context_array, $themes = null ) { + _deprecated_function( __FUNCTION__, 'WPSEO 3.3.0' ); +} + +/** + * Abuse a filter to check if the current theme was updated and if so, test the updated theme + * for the title and meta description tag + * + * @since 1.4.14 + * @deprecated 3.3 + * + * @param array $update_actions Updated actions set. + * @param WP_Theme|string $updated_theme Theme object instance or stylesheet name. + */ +function wpseo_update_theme_complete_actions( $update_actions, $updated_theme ) { + _deprecated_function( __FUNCTION__, 'WPSEO 3.3.0' ); +} diff --git a/pole-sbv-content/plugins/wordpress-seo/index.php b/pole-sbv-content/plugins/wordpress-seo/index.php new file mode 100644 index 00000000..e94d9a42 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/index.php @@ -0,0 +1,4 @@ +=4;){var a=p(e,i);a=d(a,n),a^=a>>>24,a=d(a,n),r=d(r,n),r^=a,i+=4,o-=4}switch(o){case 3:r^=f(e,i),r^=e.charCodeAt(i+2)<<16,r=d(r,n);break;case 2:r^=f(e,i),r=d(r,n);break;case 1:r^=e.charCodeAt(i),r=d(r,n)}return r^=r>>>13,r=d(r,n),(r^=r>>>15)>>>0}function p(e,t){return e.charCodeAt(t++)+(e.charCodeAt(t++)<<8)+(e.charCodeAt(t++)<<16)+(e.charCodeAt(t)<<24)}function f(e,t){return e.charCodeAt(t++)+(e.charCodeAt(t++)<<8)}function d(e,t){return e|=0,t|=0,(65535&e)*t+(((e>>>16)*t&65535)<<16)|0}Object.defineProperty(t,"__esModule",{value:!0}),t.StyleSheetManager=t.ServerStyleSheet=t.withTheme=t.ThemeProvider=t.injectGlobal=t.keyframes=t.css=void 0;var h,y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m=n(279),b=o(m),v=n(281),g=o(v),_=n(0),w=o(_),x=n(4),C=o(x),S=n(282),k=o(S),T=n(283),O=o(T),P=/([A-Z])/g,E=i,j=E,M=/^ms-/,A=a,R=function e(t,n){var r=Object.keys(t).map(function(n){return(0,b.default)(t[n])?e(t[n],n):A(n)+": "+t[n]+";"}).join(" ");return n?n+" {\n "+r+"\n}":r},I=function e(t,n){return t.reduce(function(t,r){return void 0===r||null===r||!1===r||""===r?t:Array.isArray(r)?[].concat(t,e(r,n)):r.hasOwnProperty("styledComponentId")?[].concat(t,["."+r.styledComponentId]):"function"==typeof r?n?t.concat.apply(t,e([r(n)],n)):t.concat(r):t.concat((0,b.default)(r)?R(r):r.toString())},[])},N=new g.default({global:!1,cascade:!0,keyframe:!1,prefix:!0,compress:!1,semicolon:!0}),D=function(e,t,n){var r=e.join("").replace(/^\s*\/\/.*$/gm,""),o=t&&n?n+" "+t+" { "+r+" }":r;return N(n||!t?"":t,o)},F="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),L=F.length,U=function(e){var t="",n=void 0;for(n=e;n>L;n=Math.floor(n/L))t=F[n%L]+t;return F[n%L]+t},B=function(e,t){return t.reduce(function(t,n,r){return t.concat(n,e[r+1])},[e[0]])},z=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},Y=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":y(t))&&"function"!=typeof t?e:t},X=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";H(this,e),this.el=t,this.isLocal=n,this.ready=!1;var o=W(r);this.size=o.length,this.components=o.reduce(function(e,t){return e[t.componentId]=t,e},{})}return e.prototype.isFull=function(){return this.size>=40},e.prototype.addComponent=function(e){if(this.ready||this.replaceElement(),this.components[e])throw new Error("Trying to add Component '"+e+"' twice!");var t={componentId:e,textNode:document.createTextNode("")};this.el.appendChild(t.textNode),this.size+=1,this.components[e]=t},e.prototype.inject=function(e,t,n){this.ready||this.replaceElement();var r=this.components[e];if(!r)throw new Error("Must add a new component before you can inject css into it");if(""===r.textNode.data&&r.textNode.appendData("\n/* sc-component-id: "+e+" */\n"),r.textNode.appendData(t),n){var o=this.el.getAttribute(J);this.el.setAttribute(J,o?o+" "+n:n),"undefined"!=typeof window&&window.__webpack_nonce__&&this.el.setAttribute("nonce",window.__webpack_nonce__)}},e.prototype.toHTML=function(){return this.el.outerHTML},e.prototype.toReactElement=function(){throw new Error("BrowserTag doesn't implement toReactElement!")},e.prototype.clone=function(){throw new Error("BrowserTag cannot be cloned!")},e.prototype.replaceElement=function(){var e=this;if(this.ready=!0,0!==this.size){var t=this.el.cloneNode();if(t.appendChild(document.createTextNode("\n")),Object.keys(this.components).forEach(function(n){var r=e.components[n];r.textNode=document.createTextNode(r.cssFromDOM),t.appendChild(r.textNode)}),!this.el.parentNode)throw new Error("Trying to replace an element that wasn't mounted!");this.el.parentNode.replaceChild(t,this.el),this.el=t}},e}(),Q={create:function(){for(var e=[],t={},n=document.querySelectorAll("["+J+"]"),r=n.length,o=0;o");return document.head.appendChild(t),new X(t,e)},e,t)}},J="data-styled-components",Z="data-styled-components-is-local",ee="__styled-components-stylesheet__",te=null,ne=[],re=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};H(this,e),this.hashes={},this.deferredInjections={},this.tagConstructor=t,this.tags=n,this.names=r,this.constructComponentTagMap()}return e.prototype.constructComponentTagMap=function(){var e=this;this.componentTags={},this.tags.forEach(function(t){Object.keys(t.components).forEach(function(n){e.componentTags[n]=t})})},e.prototype.getName=function(e){return this.hashes[e.toString()]},e.prototype.alreadyInjected=function(e,t){return!!this.names[t]&&(this.hashes[e.toString()]=t,!0)},e.prototype.hasInjectedComponent=function(e){return!!this.componentTags[e]},e.prototype.deferredInject=function(e,t,n){this===te&&ne.forEach(function(r){r.deferredInject(e,t,n)}),this.getOrCreateTag(e,t),this.deferredInjections[e]=n},e.prototype.inject=function(e,t,n,r,o){this===te&&ne.forEach(function(r){r.inject(e,t,n)});var i=this.getOrCreateTag(e,t),a=this.deferredInjections[e];a&&(i.inject(e,a),delete this.deferredInjections[e]),i.inject(e,n,o),r&&o&&(this.hashes[r.toString()]=o)},e.prototype.toHTML=function(){return this.tags.map(function(e){return e.toHTML()}).join("")},e.prototype.toReactElements=function(){return this.tags.map(function(e,t){return e.toReactElement("sc-"+t)})},e.prototype.getOrCreateTag=function(e,t){var n=this.componentTags[e];if(n)return n;var r=this.tags[this.tags.length-1],o=!r||r.isFull()||r.isLocal!==t?this.createNewTag(t):r;return this.componentTags[e]=o,o.addComponent(e),o},e.prototype.createNewTag=function(e){var t=this.tagConstructor(e);return this.tags.push(t),t},e.reset=function(t){te=e.create(t)},e.create=function(){return((arguments.length>0&&void 0!==arguments[0]?arguments[0]:"undefined"==typeof document)?ue:Q).create()},e.clone=function(t){var n=new e(t.tagConstructor,t.tags.map(function(e){return e.clone()}),K({},t.names));return n.hashes=K({},t.hashes),n.deferredInjections=K({},t.deferredInjections),ne.push(n),n},V(e,null,[{key:"instance",get:function(){return te||(te=e.create())}}]),e}(),oe=function(e){function t(){return H(this,t),Y(this,e.apply(this,arguments))}return $(t,e),t.prototype.getChildContext=function(){var e;return e={},e[ee]=this.props.sheet,e},t.prototype.render=function(){return w.default.Children.only(this.props.children)},t}(_.Component);oe.childContextTypes=(h={},h[ee]=C.default.instanceOf(re).isRequired,h),oe.propTypes={sheet:C.default.instanceOf(re).isRequired};var ie,ae,se=function(){function t(e){H(this,t),this.isLocal=e,this.components={},this.size=0,this.names=[]}return t.prototype.isFull=function(){return!1},t.prototype.addComponent=function(e){if(this.components[e])throw new Error("Trying to add Component '"+e+"' twice!");this.components[e]={componentId:e,css:""},this.size+=1},t.prototype.concatenateCSS=function(){var e=this;return Object.keys(this.components).reduce(function(t,n){return t+e.components[n].css},"")},t.prototype.inject=function(e,t,n){var r=this.components[e];if(!r)throw new Error("Must add a new component before you can inject css into it");""===r.css&&(r.css="/* sc-component-id: "+e+" */\n"),r.css+=t.replace(/\n*$/,"\n"),n&&this.names.push(n)},t.prototype.toHTML=function(){var t=['type="text/css"',J+'="'+this.names.join(" ")+'"',Z+'="'+(this.isLocal?"true":"false")+'"'];return void 0!==e&&e.__webpack_nonce__&&t.push('nonce="'+e.__webpack_nonce__+'"'),""},t.prototype.toReactElement=function(t){var n,r=(n={},n[J]=this.names.join(" "),n[Z]=this.isLocal.toString(),n);return void 0!==e&&e.__webpack_nonce__&&(r.nonce=e.__webpack_nonce__),w.default.createElement("style",K({key:t,type:"text/css"},r,{dangerouslySetInnerHTML:{__html:this.concatenateCSS()}}))},t.prototype.clone=function(){var e=this,n=new t(this.isLocal);return n.names=[].concat(this.names),n.size=this.size,n.components=Object.keys(this.components).reduce(function(t,n){return t[n]=K({},e.components[n]),t},{}),n},t}(),ue=function(){function e(){H(this,e),this.instance=re.clone(re.instance)}return e.prototype.collectStyles=function(e){if(this.closed)throw new Error("Can't collect styles once you've called getStyleTags!");return w.default.createElement(oe,{sheet:this.instance},e)},e.prototype.getStyleTags=function(){return this.closed||(ne.splice(ne.indexOf(this.instance),1),this.closed=!0),this.instance.toHTML()},e.prototype.getStyleElement=function(){return this.closed||(ne.splice(ne.indexOf(this.instance),1),this.closed=!0),this.instance.toReactElements()},e.create=function(){return new re(function(e){return new se(e)})},e}(),le=function(e){var t={},n=!1;return function(r){n||(t[r]=!0,Object.keys(t).length>=200&&(console.warn("Over 200 classes were generated for component "+e+". Consider using style property for frequently changed styles.\nExample:\n const StyledComp = styled.div`width: 100%;`\n "),n=!0,t={}))}},ce={children:!0,dangerouslySetInnerHTML:!0,key:!0,ref:!0,autoFocus:!0,defaultValue:!0,valueLink:!0,defaultChecked:!0,checkedLink:!0,innerHTML:!0,suppressContentEditableWarning:!0,onFocusIn:!0,onFocusOut:!0,className:!0,onCopy:!0,onCut:!0,onPaste:!0,onCompositionEnd:!0,onCompositionStart:!0,onCompositionUpdate:!0,onKeyDown:!0,onKeyPress:!0,onKeyUp:!0,onFocus:!0,onBlur:!0,onChange:!0,onInput:!0,onSubmit:!0,onClick:!0,onContextMenu:!0,onDoubleClick:!0,onDrag:!0,onDragEnd:!0,onDragEnter:!0,onDragExit:!0,onDragLeave:!0,onDragOver:!0,onDragStart:!0,onDrop:!0,onMouseDown:!0,onMouseEnter:!0,onMouseLeave:!0,onMouseMove:!0,onMouseOut:!0,onMouseOver:!0,onMouseUp:!0,onSelect:!0,onTouchCancel:!0,onTouchEnd:!0,onTouchMove:!0,onTouchStart:!0,onScroll:!0,onWheel:!0,onAbort:!0,onCanPlay:!0,onCanPlayThrough:!0,onDurationChange:!0,onEmptied:!0,onEncrypted:!0,onEnded:!0,onError:!0,onLoadedData:!0,onLoadedMetadata:!0,onLoadStart:!0,onPause:!0,onPlay:!0,onPlaying:!0,onProgress:!0,onRateChange:!0,onSeeked:!0,onSeeking:!0,onStalled:!0,onSuspend:!0,onTimeUpdate:!0,onVolumeChange:!0,onWaiting:!0,onLoad:!0,onAnimationStart:!0,onAnimationEnd:!0,onAnimationIteration:!0,onTransitionEnd:!0,onCopyCapture:!0,onCutCapture:!0,onPasteCapture:!0,onCompositionEndCapture:!0,onCompositionStartCapture:!0,onCompositionUpdateCapture:!0,onKeyDownCapture:!0,onKeyPressCapture:!0,onKeyUpCapture:!0,onFocusCapture:!0,onBlurCapture:!0,onChangeCapture:!0,onInputCapture:!0,onSubmitCapture:!0,onClickCapture:!0,onContextMenuCapture:!0,onDoubleClickCapture:!0,onDragCapture:!0,onDragEndCapture:!0,onDragEnterCapture:!0,onDragExitCapture:!0,onDragLeaveCapture:!0,onDragOverCapture:!0,onDragStartCapture:!0,onDropCapture:!0,onMouseDownCapture:!0,onMouseEnterCapture:!0,onMouseLeaveCapture:!0,onMouseMoveCapture:!0,onMouseOutCapture:!0,onMouseOverCapture:!0,onMouseUpCapture:!0,onSelectCapture:!0,onTouchCancelCapture:!0,onTouchEndCapture:!0,onTouchMoveCapture:!0,onTouchStartCapture:!0,onScrollCapture:!0,onWheelCapture:!0,onAbortCapture:!0,onCanPlayCapture:!0,onCanPlayThroughCapture:!0,onDurationChangeCapture:!0,onEmptiedCapture:!0,onEncryptedCapture:!0,onEndedCapture:!0,onErrorCapture:!0,onLoadedDataCapture:!0,onLoadedMetadataCapture:!0,onLoadStartCapture:!0,onPauseCapture:!0,onPlayCapture:!0,onPlayingCapture:!0,onProgressCapture:!0,onRateChangeCapture:!0,onSeekedCapture:!0,onSeekingCapture:!0,onStalledCapture:!0,onSuspendCapture:!0,onTimeUpdateCapture:!0,onVolumeChangeCapture:!0,onWaitingCapture:!0,onLoadCapture:!0,onAnimationStartCapture:!0,onAnimationEndCapture:!0,onAnimationIterationCapture:!0,onTransitionEndCapture:!0},pe={accept:!0,acceptCharset:!0,accessKey:!0,action:!0,allowFullScreen:!0,allowTransparency:!0,alt:!0,as:!0,async:!0,autoComplete:!0,autoPlay:!0,capture:!0,cellPadding:!0,cellSpacing:!0,charSet:!0,challenge:!0,checked:!0,cite:!0,classID:!0,className:!0,cols:!0,colSpan:!0,content:!0,contentEditable:!0,contextMenu:!0,controls:!0,coords:!0,crossOrigin:!0,data:!0,dateTime:!0,default:!0,defer:!0,dir:!0,disabled:!0,download:!0,draggable:!0,encType:!0,form:!0,formAction:!0,formEncType:!0,formMethod:!0,formNoValidate:!0,formTarget:!0,frameBorder:!0,headers:!0,height:!0,hidden:!0,high:!0,href:!0,hrefLang:!0,htmlFor:!0,httpEquiv:!0,icon:!0,id:!0,inputMode:!0,integrity:!0,is:!0,keyParams:!0,keyType:!0,kind:!0,label:!0,lang:!0,list:!0,loop:!0,low:!0,manifest:!0,marginHeight:!0,marginWidth:!0,max:!0,maxLength:!0,media:!0,mediaGroup:!0,method:!0,min:!0,minLength:!0,multiple:!0,muted:!0,name:!0,nonce:!0,noValidate:!0,open:!0,optimum:!0,pattern:!0,placeholder:!0,playsInline:!0,poster:!0,preload:!0,profile:!0,radioGroup:!0,readOnly:!0,referrerPolicy:!0,rel:!0,required:!0,reversed:!0,role:!0,rows:!0,rowSpan:!0,sandbox:!0,scope:!0,scoped:!0,scrolling:!0,seamless:!0,selected:!0,shape:!0,size:!0,sizes:!0,span:!0,spellCheck:!0,src:!0,srcDoc:!0,srcLang:!0,srcSet:!0,start:!0,step:!0,style:!0,summary:!0,tabIndex:!0,target:!0,title:!0,type:!0,useMap:!0,value:!0,width:!0,wmode:!0,wrap:!0,about:!0,datatype:!0,inlist:!0,prefix:!0,property:!0,resource:!0,typeof:!0,vocab:!0,autoCapitalize:!0,autoCorrect:!0,autoSave:!0,color:!0,itemProp:!0,itemScope:!0,itemType:!0,itemID:!0,itemRef:!0,results:!0,security:!0,unselectable:0},fe={accentHeight:!0,accumulate:!0,additive:!0,alignmentBaseline:!0,allowReorder:!0,alphabetic:!0,amplitude:!0,arabicForm:!0,ascent:!0,attributeName:!0,attributeType:!0,autoReverse:!0,azimuth:!0,baseFrequency:!0,baseProfile:!0,baselineShift:!0,bbox:!0,begin:!0,bias:!0,by:!0,calcMode:!0,capHeight:!0,clip:!0,clipPath:!0,clipRule:!0,clipPathUnits:!0,colorInterpolation:!0,colorInterpolationFilters:!0,colorProfile:!0,colorRendering:!0,contentScriptType:!0,contentStyleType:!0,cursor:!0,cx:!0,cy:!0,d:!0,decelerate:!0,descent:!0,diffuseConstant:!0,direction:!0,display:!0,divisor:!0,dominantBaseline:!0,dur:!0,dx:!0,dy:!0,edgeMode:!0,elevation:!0,enableBackground:!0,end:!0,exponent:!0,externalResourcesRequired:!0,fill:!0,fillOpacity:!0,fillRule:!0,filter:!0,filterRes:!0,filterUnits:!0,floodColor:!0,floodOpacity:!0,focusable:!0,fontFamily:!0,fontSize:!0,fontSizeAdjust:!0,fontStretch:!0,fontStyle:!0,fontVariant:!0,fontWeight:!0,format:!0,from:!0,fx:!0,fy:!0,g1:!0,g2:!0,glyphName:!0,glyphOrientationHorizontal:!0,glyphOrientationVertical:!0,glyphRef:!0,gradientTransform:!0,gradientUnits:!0,hanging:!0,horizAdvX:!0,horizOriginX:!0,ideographic:!0,imageRendering:!0,in:!0,in2:!0,intercept:!0,k:!0,k1:!0,k2:!0,k3:!0,k4:!0,kernelMatrix:!0,kernelUnitLength:!0,kerning:!0,keyPoints:!0,keySplines:!0,keyTimes:!0,lengthAdjust:!0,letterSpacing:!0,lightingColor:!0,limitingConeAngle:!0,local:!0,markerEnd:!0,markerMid:!0,markerStart:!0,markerHeight:!0,markerUnits:!0,markerWidth:!0,mask:!0,maskContentUnits:!0,maskUnits:!0,mathematical:!0,mode:!0,numOctaves:!0,offset:!0,opacity:!0,operator:!0,order:!0,orient:!0,orientation:!0,origin:!0,overflow:!0,overlinePosition:!0,overlineThickness:!0,paintOrder:!0,panose1:!0,pathLength:!0,patternContentUnits:!0,patternTransform:!0,patternUnits:!0,pointerEvents:!0,points:!0,pointsAtX:!0,pointsAtY:!0,pointsAtZ:!0,preserveAlpha:!0,preserveAspectRatio:!0,primitiveUnits:!0,r:!0,radius:!0,refX:!0,refY:!0,renderingIntent:!0,repeatCount:!0,repeatDur:!0,requiredExtensions:!0,requiredFeatures:!0,restart:!0,result:!0,rotate:!0,rx:!0,ry:!0,scale:!0,seed:!0,shapeRendering:!0,slope:!0,spacing:!0,specularConstant:!0,specularExponent:!0,speed:!0,spreadMethod:!0,startOffset:!0,stdDeviation:!0,stemh:!0,stemv:!0,stitchTiles:!0,stopColor:!0,stopOpacity:!0,strikethroughPosition:!0,strikethroughThickness:!0,string:!0,stroke:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeLinecap:!0,strokeLinejoin:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0,surfaceScale:!0,systemLanguage:!0,tableValues:!0,targetX:!0,targetY:!0,textAnchor:!0,textDecoration:!0,textRendering:!0,textLength:!0,to:!0,transform:!0,u1:!0,u2:!0,underlinePosition:!0,underlineThickness:!0,unicode:!0,unicodeBidi:!0,unicodeRange:!0,unitsPerEm:!0,vAlphabetic:!0,vHanging:!0,vIdeographic:!0,vMathematical:!0,values:!0,vectorEffect:!0,version:!0,vertAdvY:!0,vertOriginX:!0,vertOriginY:!0,viewBox:!0,viewTarget:!0,visibility:!0,widths:!0,wordSpacing:!0,writingMode:!0,x:!0,xHeight:!0,x1:!0,x2:!0,xChannelSelector:!0,xlinkActuate:!0,xlinkArcrole:!0,xlinkHref:!0,xlinkRole:!0,xlinkShow:!0,xlinkTitle:!0,xlinkType:!0,xmlBase:!0,xmlns:!0,xmlnsXlink:!0,xmlLang:!0,xmlSpace:!0,y:!0,y1:!0,y2:!0,yChannelSelector:!0,z:!0,zoomAndPan:!0},de=RegExp.prototype.test.bind(new RegExp("^(data|aria)-[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$")),he={}.hasOwnProperty,ye=function(e){return he.call(pe,e)||he.call(fe,e)||de(e.toLowerCase())||he.call(ce,e)},me=function(e){var t=[],n=e;return{publish:function(e){n=e,t.forEach(function(e){return e(n)})},subscribe:function(e){return t.push(e),e(n),function(){t=t.filter(function(t){return t!==e})}}}},be="__styled-components__",ve=function(e){function t(){H(this,t);var n=Y(this,e.call(this));return n.getTheme=n.getTheme.bind(n),n}return $(t,e),t.prototype.componentWillMount=function(){var e=this;if(this.context[be]){var t=this.context[be];this.unsubscribeToOuter=t(function(t){e.outerTheme=t})}this.broadcast=me(this.getTheme())},t.prototype.getChildContext=function(){var e;return K({},this.context,(e={},e[be]=this.broadcast.subscribe,e))},t.prototype.componentWillReceiveProps=function(e){this.props.theme!==e.theme&&this.broadcast.publish(this.getTheme(e.theme))},t.prototype.componentWillUnmount=function(){this.context[be]&&this.unsubscribeToOuter()},t.prototype.getTheme=function(e){var t=e||this.props.theme;if((0,k.default)(t)){var n=t(this.outerTheme);if(!(0,b.default)(n))throw new Error("[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!");return n}if(!(0,b.default)(t))throw new Error("[ThemeProvider] Please make your theme prop a plain object");return K({},this.outerTheme,t)},t.prototype.render=function(){return this.props.children?w.default.Children.only(this.props.children):null},t}(_.Component);ve.childContextTypes=(ie={},ie[be]=C.default.func.isRequired,ie),ve.contextTypes=(ae={},ae[be]=C.default.func,ae);var ge,_e=function(e){function t(){return H(this,t),Y(this,e.apply(this,arguments))}return $(t,e),t}(_.Component);_e.contextTypes=(ge={},ge[be]=C.default.func,ge[ee]=C.default.instanceOf(re),ge);var we=/[[\].#*$><+~=|^:(),"'`]/g,xe=/--+/g,Ce=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"],Se=function(e){return e.replace(/\s|\\n/g,"")},ke=function(e){var t,n=e.displayName||e.name||"Component",r=u(e),o=function(t){function n(){var e,r,o;H(this,n);for(var i=arguments.length,a=Array(i),s=0;s2&&void 0!==arguments[2]?arguments[2]:{};if("string"!=typeof r&&"function"!=typeof r)throw new Error("Cannot create styled-component for component: "+r);var i=function(t){for(var i=arguments.length,a=Array(i>1?i-1:0),s=1;s1?o-1:0),a=1;a1?r-1:0),i=1;i1){for(var h=Array(d),y=0;y1){for(var b=Array(m),v=0;v1)for(var n=1;n0&&void 0!==arguments[0]?arguments[0]:[];(Array.isArray(e)?e:[e]).forEach(function(e){e&&e.locale&&(R.default.__addLocaleData(e),N.default.__addLocaleData(e))})}function i(e){for(var t=(e||"").split("-");t.length>0;){if(a(t.join("-")))return!0;t.pop()}return!1}function a(e){var t=e&&e.toLowerCase();return!(!R.default.__localeData__[t]||!N.default.__localeData__[t])}function s(e){return(""+e).replace(xe,function(e){return we[e]})}function u(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.reduce(function(t,r){return e.hasOwnProperty(r)?t[r]=e[r]:n.hasOwnProperty(r)&&(t[r]=n[r]),t},{})}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.intl;(0,z.default)(t,"[React Intl] Could not find required `intl` object. needs to exist in the component ancestry.")}function c(e,t){if(e===t)return!0;if("object"!==(void 0===e?"undefined":V(e))||null===e||"object"!==(void 0===t?"undefined":V(t))||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=Object.prototype.hasOwnProperty.bind(t),i=0;i3&&void 0!==arguments[3]?arguments[3]:{},l=a.intl,p=void 0===l?{}:l,f=s.intl,d=void 0===f?{}:f;return!c(t,r)||!c(n,o)||!(d===p||c(u(d,_e),u(p,_e)))}function f(e){return e.displayName||e.name||"Component"}function d(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.intlPropName,r=void 0===n?"intl":n,o=t.withRef,i=void 0!==o&&o,a=function(t){function n(e,t){K(this,n);var r=J(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e,t));return l(t),r}return X(n,t),$(n,[{key:"getWrappedInstance",value:function(){return(0,z.default)(i,"[React Intl] To access the wrapped instance, the `{withRef: true}` option must be set when calling: `injectIntl()`"),this.refs.wrappedInstance}},{key:"render",value:function(){return U.default.createElement(e,Y({},this.props,G({},r,this.context.intl),{ref:i?"wrappedInstance":null}))}}]),n}(L.Component);return a.displayName="InjectIntl("+f(e)+")",a.contextTypes={intl:ye},a.WrappedComponent=e,a}function h(e){return e}function y(e){return R.default.prototype._resolveLocale(e)}function m(e){return R.default.prototype._findPluralRuleFunction(e)}function b(e){var t=N.default.thresholds;t.second=e.second,t.minute=e.minute,t.hour=e.hour,t.day=e.day,t.month=e.month}function v(e,t,n){var r=e&&e[t]&&e[t][n];if(r)return r}function g(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,i=e.formats,a=r.format,s=new Date(n),l=a&&v(i,"date",a),c=u(r,Se,l);try{return t.getDateTimeFormat(o,c).format(s)}catch(e){}return String(s)}function _(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,i=e.formats,a=r.format,s=new Date(n),l=a&&v(i,"time",a),c=u(r,Se,l);c.hour||c.minute||c.second||(c=Y({},c,{hour:"numeric",minute:"numeric"}));try{return t.getDateTimeFormat(o,c).format(s)}catch(e){}return String(s)}function w(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,i=e.formats,a=r.format,s=new Date(n),l=new Date(r.now),c=a&&v(i,"relative",a),p=u(r,Te,c),f=Y({},N.default.thresholds);b(Pe);try{return t.getRelativeFormat(o,p).format(s,{now:isFinite(l)?l:t.now()})}catch(e){}finally{b(f)}return String(s)}function x(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,i=e.formats,a=r.format,s=a&&v(i,"number",a),l=u(r,ke,s);try{return t.getNumberFormat(o,l).format(n)}catch(e){}return String(n)}function C(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,i=u(r,Oe);try{return t.getPluralFormat(o,i).format(n)}catch(e){}return"other"}function S(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,i=e.formats,a=e.messages,s=e.defaultLocale,u=e.defaultFormats,l=n.id,c=n.defaultMessage;(0,z.default)(l,"[React Intl] An `id` must be provided to format a message.");var p=a&&a[l];if(!(Object.keys(r).length>0))return p||c||l;var f=void 0;if(p)try{f=t.getMessageFormat(p,o,i).format(r)}catch(e){}if(!f&&c)try{f=t.getMessageFormat(c,s,u).format(r)}catch(e){}return f||p||c||l}function k(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return S(e,t,n,Object.keys(r).reduce(function(e,t){var n=r[t];return e[t]="string"==typeof n?s(n):n,e},{}))}function T(e){var t=Math.abs(e);return t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},J=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":E(t))&&"function"!=typeof t?e:t},Z=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t":">","<":"<",'"':""","'":"'"},xe=/[&><"']/g,Ce=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};K(this,e);var r="ordinal"===n.style,o=m(y(t));this.format=function(e){return o(e,r)}},Se=Object.keys(me),ke=Object.keys(be),Te=Object.keys(ve),Oe=Object.keys(ge),Pe={second:60,minute:60,hour:24,day:30,month:12},Ee=Object.freeze({formatDate:g,formatTime:_,formatRelative:w,formatNumber:x,formatPlural:C,formatMessage:S,formatHTMLMessage:k}),je=Object.keys(de),Me=Object.keys(he),Ae={formats:{},messages:{},textComponent:"span",defaultLocale:"en",defaultFormats:{}},Re=function(e){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};K(this,t);var r=J(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));(0,z.default)("undefined"!=typeof Intl,"[React Intl] The `Intl` APIs must be available in the runtime, and do not appear to be built-in. An `Intl` polyfill should be loaded.\nSee: http://formatjs.io/guides/runtime-environments/");var o=n.intl,i=void 0;i=isFinite(e.initialNow)?Number(e.initialNow):o?o.now():Date.now();var a=o||{},s=a.formatters,u=void 0===s?{getDateTimeFormat:(0,W.default)(Intl.DateTimeFormat),getNumberFormat:(0,W.default)(Intl.NumberFormat),getMessageFormat:(0,W.default)(R.default),getRelativeFormat:(0,W.default)(N.default),getPluralFormat:(0,W.default)(Ce)}:s;return r.state=Y({},u,{now:function(){return r._didDisplay?Date.now():i}}),r}return X(t,e),$(t,[{key:"getConfig",value:function(){var e=this.context.intl,t=u(this.props,je,e);for(var n in Ae)void 0===t[n]&&(t[n]=Ae[n]);if(!i(t.locale)){var r=t,o=(r.locale,r.defaultLocale),a=r.defaultFormats;t=Y({},t,{locale:o,formats:a,messages:Ae.messages})}return t}},{key:"getBoundFormatFns",value:function(e,t){return Me.reduce(function(n,r){return n[r]=Ee[r].bind(null,e,t),n},{})}},{key:"getChildContext",value:function(){var e=this.getConfig(),t=this.getBoundFormatFns(e,this.state),n=this.state,r=n.now,o=Q(n,["now"]);return{intl:Y({},e,t,{formatters:o,now:r})}}},{key:"shouldComponentUpdate",value:function(){for(var e=arguments.length,t=Array(e),n=0;n1?r-1:0),i=1;i0){var h=Math.floor(1099511627776*Math.random()).toString(16),y=function(){var e=0;return function(){return"ELEMENT-"+h+"-"+(e+=1)}}();p="@__"+h+"__@",f={},d={},Object.keys(s).forEach(function(e){var t=s[e];if((0,L.isValidElement)(t)){var n=y();f[e]=p+n+p,d[n]=t}else f[e]=t})}var m={id:o,description:i,defaultMessage:a},b=t(m,f||s),v=void 0;return v=d&&Object.keys(d).length>0?b.split(p).filter(function(e){return!!e}).map(function(e){return d[e]||e}):[b],"function"==typeof c?c.apply(void 0,Z(v)):L.createElement.apply(void 0,[l,null].concat(Z(v)))}}]),t}(L.Component);He.displayName="FormattedMessage",He.contextTypes={intl:ye},He.defaultProps={values:{}};var Ve=function(e){function t(e,n){K(this,t);var r=J(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return l(n),r}return X(t,e),$(t,[{key:"shouldComponentUpdate",value:function(e){var t=this.props.values;if(!c(e.values,t))return!0;for(var n=Y({},e,{values:t}),r=arguments.length,o=Array(r>1?r-1:0),i=1;i was loaded but did not call our provided callback"),JSONPScriptError:o("JSONPScriptError"," \ No newline at end of file diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/CHANGELOG.md b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/CHANGELOG.md new file mode 100644 index 00000000..061c690f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/CHANGELOG.md @@ -0,0 +1,34 @@ +# Change Log +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](http://keepachangelog.com/) +and this project adheres to [Semantic Versioning](http://semver.org/). + +## [1.1.0] +### Added +* Allow WordPress messages to be dismissed for a period of 4 weeks. + +## [1.0.1] +### Fixed +* Fix a missing link when the PHP message is switched to the WordPress.org hosting page. + +## [1.0.0] +### Changed +* Updated screenshot in README + +## [1.0.0-beta.2] - 2017-03-11 +### Added +* Complete PHP version message + +### Changed +* Refactor code architecture. +* Use PHP version constant instead of function. + +### Fixed +* Fix broken version reconciliation. + +## 1.0.0-beta.1 - 2017-02-21 +* Initial pre-release of whip. A package to nudge users to upgrade their software versions. + +[Unreleased]: https://github.com/yoast/whip/compare/1.0.0-beta.2...HEAD +[1.0.0-beta.2]: https://github.com/yoast/whip/compare/1.0.0-beta.1...1.0.0-beta.2 diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/LICENSE b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/LICENSE new file mode 100644 index 00000000..95846861 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Yoast + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/images/wp-message.png b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/images/wp-message.png new file mode 100644 index 00000000..bc168d9e Binary files /dev/null and b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/images/wp-message.png differ diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/phpunit.xml b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/phpunit.xml new file mode 100644 index 00000000..1a13c667 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/phpunit.xml @@ -0,0 +1,13 @@ + + + + ./tests/ + + + + + + ./src + + + diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_Configuration.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_Configuration.php new file mode 100644 index 00000000..4b6aa32f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_Configuration.php @@ -0,0 +1,54 @@ +configuration = $configuration; + } + + /** + * Retrieves the configured version of a particular requirement. + * If the requirement does not exist, this returns -1. + * + * @param Whip_Requirement $requirement The requirement to check. + * + * @return int The version of the passed requirement that was detected. + */ + public function configuredVersion( Whip_Requirement $requirement ) { + if ( ! $this->hasRequirementConfigured( $requirement ) ) { + return -1; + } + + return $this->configuration[ $requirement->component() ]; + } + + /** + * Determines whether the passed requirement is present in the configuration. + * + * @param Whip_Requirement $requirement The requirement to check. + * + * @return bool Whether or not the requirement is present in the configuration. + */ + public function hasRequirementConfigured( Whip_Requirement $requirement ) { + return array_key_exists( $requirement->component(), $this->configuration ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_Host.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_Host.php new file mode 100644 index 00000000..2ae5ecb5 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_Host.php @@ -0,0 +1,88 @@ +currentTime = $currentTime; + $this->threshold = $threshold; + $this->storage = $storage; + } + + /** + * Saves the version number to the storage to indicate the message as being dismissed. + */ + public function dismiss() { + $this->storage->set( $this->currentTime ); + } + + /** + * Checks if the current time is lower than the stored time extended by the threshold. + * + * @return bool True when current time is lower than stored value + threshold. + */ + public function isDismissed() { + return ( $this->currentTime <= ( $this->storage->get() + $this->threshold ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_MessageFormatter.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_MessageFormatter.php new file mode 100644 index 00000000..edf882dc --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_MessageFormatter.php @@ -0,0 +1,37 @@ +' . $toWrap . '
    '; + } + + /** + * Wraps a piece of text in HTML p tags + * + * @param string $toWrap The text to wrap. + * @return string The wrapped text. + */ + public static function paragraph( $toWrap ) { + return '

    ' . $toWrap . '

    '; + } + + /** + * Wraps a piece of text in HTML p and strong tags + * + * @param string $toWrap The text to wrap. + * @return string The wrapped text. + */ + public static function strongParagraph( $toWrap ) { + return self::paragraph( self::strong( $toWrap ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_MessagesManager.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_MessagesManager.php new file mode 100644 index 00000000..1d900bfd --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_MessagesManager.php @@ -0,0 +1,83 @@ + 0; + } + + /** + * Lists the messages that are currently available. + * + * @return array The messages that are currently set. + */ + public function listMessages() { + return $GLOBALS[ 'whip_messages' ]; + } + + /** + * Deletes all messages. + */ + public function deleteMessages() { + unset( $GLOBALS[ 'whip_messages' ] ); + } + + /** + * Gets the latest message. + * + * @return Whip_Message The message. Returns a NullMessage if none is found. + */ + public function getLatestMessage() { + if ( ! $this->hasMessages() ) { + return new Whip_NullMessage(); + } + + $messages = $this->sortByVersion( $this->listMessages() ); + + $this->deleteMessages(); + + return array_pop( $messages ); + } + + /** + * Sorts the list of messages based on the version number. + * + * @param array $messages The list of messages to sort. + * + * @return array The sorted list of messages. + */ + private function sortByVersion( array $messages ) { + uksort( $messages, 'version_compare' ); + + return $messages; + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_RequirementsChecker.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_RequirementsChecker.php new file mode 100644 index 00000000..17ceaef2 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_RequirementsChecker.php @@ -0,0 +1,148 @@ +requirements = array(); + $this->configuration = new Whip_Configuration( $configuration ); + $this->messageMananger = new Whip_MessagesManager(); + $this->textdomain = $textdomain; + } + + /** + * Adds a requirement to the list of requirements if it doesn't already exist. + * + * @param Whip_Requirement $requirement The requirement to add. + */ + public function addRequirement( Whip_Requirement $requirement ) { + // Only allow unique entries to ensure we're not checking specific combinations multiple times + if ( $this->requirementExistsForComponent( $requirement->component() ) ) { + return; + } + + $this->requirements[] = $requirement; + } + + /** + * Determines whether or not there are requirements available. + * + * @return bool Whether or not there are requirements. + */ + public function hasRequirements() { + return $this->totalRequirements() > 0; + } + + /** + * Gets the total amount of requirements. + * + * @return int The total amount of requirements. + */ + public function totalRequirements() { + return count( $this->requirements ); + } + + /** + * Determines whether or not a requirement exists for a particular component. + * + * @param string $component The component to check for. + * + * @return bool Whether or not the component has a requirement defined. + */ + public function requirementExistsForComponent( $component ) { + foreach ( $this->requirements as $requirement ) { + if ( $requirement->component() === $component ) { + return true; + } + } + + return false; + } + + /** + * Determines whether a requirement has been fulfilled. + * + * @param Whip_Requirement $requirement The requirement to check. + * + * @return bool Whether or not the requirement is fulfilled. + */ + private function requirementIsFulfilled( Whip_Requirement $requirement ) { + $available_version = $this->configuration->configuredVersion( $requirement ); + $required_version = $requirement->version(); + + if ( in_array( $requirement->operator(), array( '=', '==', '===' ), true ) ) { + return -1 !== version_compare( $available_version, $required_version ); + } + + return version_compare( $available_version, $required_version, $requirement->operator() ); + } + + /** + * Checks if all requirements are fulfilled and adds a message to the message manager if necessary. + */ + public function check() { + foreach ( $this->requirements as $requirement ) { + // Match against config + $requirement_fulfilled = $this->requirementIsFulfilled( $requirement ); + + if ( $requirement_fulfilled ) { + continue; + } + + $this->addMissingRequirementMessage( $requirement ); + } + } + + /** + * Adds a message to the message manager for requirements that cannot be fulfilled. + * + * @param Whip_Requirement $requirement The requirement that cannot be fulfilled. + */ + private function addMissingRequirementMessage( Whip_Requirement $requirement ) { + switch ( $requirement->component() ) { + case 'php': + $this->messageMananger->addMessage( new Whip_UpgradePhpMessage( $this->textdomain ) ); + break; + default: + $this->messageMananger->addMessage( new Whip_InvalidVersionRequirementMessage( $requirement, $this->configuration->configuredVersion( $requirement ) ) ); + break; + } + } + + /** + * Determines whether or not there are messages available. + * + * @return bool Whether or not there are messages to display. + */ + public function hasMessages() { + return $this->messageMananger->hasMessages(); + } + + /** + * Gets the most recent message from the message manager. + * + * @return Whip_Message The latest message. + */ + public function getMostRecentMessage() { + return $this->messageMananger->getLatestMessage(); + } + +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_VersionRequirement.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_VersionRequirement.php new file mode 100644 index 00000000..d12df827 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_VersionRequirement.php @@ -0,0 +1,133 @@ +validateParameters( $component, $version, $operator ); + + $this->component = $component; + $this->version = $version; + $this->operator = $operator; + } + + /** + * Gets the component name defined for the requirement. + * + * @return string The component name. + */ + public function component() { + return $this->component; + } + + /** + * Gets the components version defined for the requirement. + * + * @return string + */ + public function version() { + return $this->version; + } + + /** + * Returns the operator to use when comparing version numbers. + * + * @return string The comparison operator. + */ + public function operator() { + return $this->operator; + } + + /** + * Creates a new version requirement from a comparison string + * + * @throws Whip_InvalidVersionComparisonString When an invalid version comparison string is passed. + * +*@param string $component The component for this version requirement. + * @param string $comparisonString The comparison string for this version requirement. + * +*@returns Whip_VersionRequirement The parsed version requirement. + */ + public static function fromCompareString( $component, $comparisonString ) { + + $matcher = '(' . + '(>=?)' . // Matches >= and >. + '|' . + '(<=?)' . // Matches <= and <. + ')' . + '([^>=<\s]+)'; // Matches anything except >, <, =, and whitespace. + + if ( ! preg_match( '#' . $matcher . '#', $comparisonString, $match ) ) { + throw new Whip_InvalidVersionComparisonString( $comparisonString ); + } + + $version = $match[4]; + $operator = $match[1]; + + return new Whip_VersionRequirement( $component, $version, $operator ); + } + + /** + * Validates the parameters passed to the requirement. + * + * @param string $component The component name. + * @param string $version The component version. + * @param string $operator The operator to use when comparing version. + * + * @throws Whip_EmptyProperty + * @throws Whip_InvalidOperatorType + * @throws Whip_InvalidType + */ + private function validateParameters( $component, $version, $operator ) { + if ( empty( $component ) ) { + throw new Whip_EmptyProperty( 'Component' ); + } + + if ( !is_string( $component ) ) { + throw new Whip_InvalidType( 'Component', 'string', $component ); + } + + if ( empty( $version ) ) { + throw new Whip_EmptyProperty( 'Version' ); + } + + if ( !is_string( $version ) ) { + throw new Whip_InvalidType( 'Version', 'string', $version ); + } + + if ( empty( $operator ) ) { + throw new Whip_EmptyProperty( 'Operator' ); + } + + if ( !is_string( $operator ) ) { + throw new Whip_InvalidType( 'Operator', 'string', $operator ); + } + + if ( ! in_array( $operator, array( '=', '==', '===', '<', '>', '<=', '>=' ), true ) ) { + throw new Whip_InvalidOperatorType( $operator ); + } + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_WPDismissOption.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_WPDismissOption.php new file mode 100644 index 00000000..c8f98b0f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_WPDismissOption.php @@ -0,0 +1,36 @@ +optionName, $dismissedValue ); + } + + /** + * Returns the value of the whip_dismissed option. + * + * @return int Returns the value of the option or an empty string when not set. + */ + public function get() { + $dismissedOption = get_option( $this->optionName ); + if ( ! $dismissedOption ) { + return 0; + } + + return (int) $dismissedOption; + } + +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_WPMessageDismissListener.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_WPMessageDismissListener.php new file mode 100644 index 00000000..01a3d874 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/Whip_WPMessageDismissListener.php @@ -0,0 +1,51 @@ +dismisser = $dismisser; + } + + /** + * Listens to a GET request to fetch the required attributes. + * + * @return void + */ + public function listen() { + $action = filter_input( INPUT_GET, 'action' ); + $nonce = filter_input( INPUT_GET, 'nonce' ); + + if ( $action === self::ACTION_NAME && wp_verify_nonce( $nonce, self::ACTION_NAME ) ) { + $this->dismisser->dismiss(); + } + } + + /** + * Creates an url for dismissing the notice. + * + * @return string The url for dismissing the message. + */ + public function getDismissURL() { + return sprintf( + admin_url( 'index.php?action=%1$s&nonce=%2$s' ), + self::ACTION_NAME, + wp_create_nonce( self::ACTION_NAME ) + ); + } + +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/configs/default.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/configs/default.php new file mode 100644 index 00000000..b83c8b18 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/configs/default.php @@ -0,0 +1,5 @@ + PHP_VERSION, +); diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/configs/version.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/configs/version.php new file mode 100644 index 00000000..9890dce9 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/configs/version.php @@ -0,0 +1,3 @@ +', '<=', '>=' ); + + /** + * InvalidOperatorType constructor. + * + * @param string $value + */ + public function __construct( $value ) { + parent::__construct( + sprintf( 'Invalid operator of %s used. Please use one of the following operators: %s', + $value, + implode( ', ', $this->validOperators ) + ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/exceptions/Whip_InvalidType.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/exceptions/Whip_InvalidType.php new file mode 100644 index 00000000..9801d91b --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/exceptions/Whip_InvalidType.php @@ -0,0 +1,18 @@ +=5.3. Passed version comparison string: %s', + $value + ) + ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/facades/wordpress.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/facades/wordpress.php new file mode 100644 index 00000000..524593a0 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/facades/wordpress.php @@ -0,0 +1,36 @@ + $versionComparison ) { + $checker->addRequirement( Whip_VersionRequirement::fromCompareString( $component, $versionComparison ) ); + } + + $checker->check(); + + if ( ! $checker->hasMessages() ) { + return; + } + + $dismissThreshold = WEEK_IN_SECONDS * 4; + $dismissMessage = __( 'Remind me again in 4 weeks.', 'wordpress' ); + + $dismisser = new Whip_MessageDismisser( time(), $dismissThreshold, new Whip_WPDismissOption() ); + + $presenter = new Whip_WPMessagePresenter( $checker->getMostRecentMessage(), $dismisser, $dismissMessage ); + $presenter->register_hooks(); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/interfaces/Whip_DismissStorage.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/interfaces/Whip_DismissStorage.php new file mode 100644 index 00000000..e0716e15 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/interfaces/Whip_DismissStorage.php @@ -0,0 +1,24 @@ +validateParameters( $body ); + + $this->body = $body; + } + + /** + * @return string + */ + public function body() { + return $this->body; + } + + private function validateParameters( $body ) { + if ( empty( $body ) ) { + throw new Whip_EmptyProperty( 'Message body' ); + } + + if ( ! is_string( $body ) ) { + throw new Whip_InvalidType( 'Message body', "string", $body ); + } + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/messages/Whip_HostMessage.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/messages/Whip_HostMessage.php new file mode 100644 index 00000000..a210058a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/messages/Whip_HostMessage.php @@ -0,0 +1,56 @@ +textdomain = $textdomain; + $this->messageKey = $messageKey; + } + + /** + * Renders the message body. + * + * @return string The message body. + */ + public function body() { + $message = array(); + + $message[] = Whip_MessageFormatter::strong( $this->title() ) . '
    '; + $message[] = Whip_MessageFormatter::paragraph( Whip_Host::message( $this->messageKey, $this->filterKey ) ); + + return implode( $message, "\n" ); + } + + /** + * Renders the message title. + * + * @return string The message title. + */ + public function title() { + return sprintf( __( 'A message from %1$s', $this->textdomain ), Whip_Host::name() ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/messages/Whip_InvalidVersionRequirementMessage.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/messages/Whip_InvalidVersionRequirementMessage.php new file mode 100644 index 00000000..2db06295 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/messages/Whip_InvalidVersionRequirementMessage.php @@ -0,0 +1,37 @@ +requirement = $requirement; + $this->detected = $detected; + } + + /** + * @return string + */ + public function body() { + return sprintf( + 'Invalid version detected for %s. Found %s but expected %s.', + $this->requirement->component(), + $this->detected, + $this->requirement->version() + ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/messages/Whip_NullMessage.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/messages/Whip_NullMessage.php new file mode 100644 index 00000000..1fea0924 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/messages/Whip_NullMessage.php @@ -0,0 +1,13 @@ +textdomain = $textdomain; + } + + /** + * Composes the body of the message to display. + * + * @return string The message to display. + */ + public function body() { + $textdomain = $this->textdomain; + + $message = array(); + + $message[] = Whip_MessageFormatter::strongParagraph( __( 'Your site could be faster and more secure with a newer PHP version.', $textdomain ) ) . '
    '; + $message[] = Whip_MessageFormatter::paragraph( __( 'Hey, we\'ve noticed that you\'re running an outdated version of PHP. PHP is the programming language that WordPress and Yoast SEO are built on. The version that is currently used for your site is no longer supported. Newer versions of PHP are both faster and more secure. In fact, your version of PHP no longer receives security updates, which is why we\'re sending you to this notice.', $textdomain ) ); + $message[] = Whip_MessageFormatter::paragraph( __( 'Hosts have the ability to update your PHP version, but sometimes they don\'t dare to do that because they\'re afraid they\'ll break your site.', $textdomain ) ); + $message[] = Whip_MessageFormatter::strongParagraph( __( 'To which version should I update?', $textdomain ) ) . '
    '; + $message[] = Whip_MessageFormatter::paragraph( sprintf( __( 'You should update your PHP version to either 5.6 or to 7.0 or 7.1. On a normal WordPress site, switching to PHP 5.6 should never cause issues. We would however actually recommend you switch to PHP7. There are some plugins that are not ready for PHP7 though, so do some testing first. We have an article on how to test whether that\'s an option for you %1$shere%2$s. PHP7 is much faster than PHP 5.6. It\'s also the only PHP version still in active development and therefore the better option for your site in the long run.', $textdomain ), '', '' ) ); + + if ( Whip_Host::name() !== '' ) { + $hostMessage = new Whip_HostMessage( 'WHIP_MESSAGE_FROM_HOST_ABOUT_PHP', $textdomain ); + $message[] = $hostMessage->body(); + } + + $hostingPageUrl = Whip_Host::hostingPageUrl(); + + $message[] = Whip_MessageFormatter::strongParagraph( __( 'Can\'t update? Ask your host!', $textdomain ) ) . '
    '; + + if ( function_exists( 'apply_filters' ) && apply_filters( Whip_Host::HOSTING_PAGE_FILTER_KEY, false ) ) { + $message[] = Whip_MessageFormatter::paragraph( sprintf( __( 'If you cannot upgrade your PHP version yourself, you can send an email to your host. We have %1$sexamples here%2$s. If they don\'t want to upgrade your PHP version, we would suggest you switch hosts. Have a look at one of the recommended %3$sWordPress hosting partners%4$s.', $textdomain ), '', '', sprintf( '', esc_url( $hostingPageUrl ) ), '' ) ); + } else { + $message[] = Whip_MessageFormatter::paragraph( sprintf( __( 'If you cannot upgrade your PHP version yourself, you can send an email to your host. We have %1$sexamples here%2$s. If they don\'t want to upgrade your PHP version, we would suggest you switch hosts. Have a look at one of our recommended %3$sWordPress hosting partners%4$s, they\'ve all been vetted by our Yoast support team and provide all the features a modern host should provide.', $textdomain ), '', '', sprintf( '', esc_url( $hostingPageUrl ) ), '' ) ); + } + + return implode( $message, "\n" ); + } + +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/presenters/Whip_WPMessagePresenter.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/presenters/Whip_WPMessagePresenter.php new file mode 100644 index 00000000..90e71a95 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/src/presenters/Whip_WPMessagePresenter.php @@ -0,0 +1,83 @@ +message = $message; + $this->dismisser = $dismisser; + $this->dismissMessage = $dismissMessage; + } + + /** + * Registers hooks to WordPress. This is a separate function so you can + * control when the hooks are registered. + * + */ + public function register_hooks() { + global $whip_admin_notices_added; + + if ( null === $whip_admin_notices_added || ! $whip_admin_notices_added ) { + add_action( 'admin_notices', array( $this, 'renderMessage' ) ); + $whip_admin_notices_added = true; + } + } + + /** + * Renders the messages present in the global to notices. + */ + public function renderMessage() { + $dismissListener = new Whip_WPMessageDismissListener( $this->dismisser ); + $dismissListener->listen(); + + if ( $this->dismisser->isDismissed() ) { + return; + } + + $dismissButton = sprintf( + '%1$s', + $this->dismissMessage, + $dismissListener->getDismissURL() + ); + + printf( '

    %1$s

    %2$s

    ', $this->kses( $this->message->body() ), $dismissButton ); + } + + /** + * Removes content from the message that we don't want to show. + * + * @param string $message The message to clean. + * + * @return string The cleaned message. + */ + public function kses( $message ) { + return wp_kses( $message, array( + 'a' => array( + 'href' => true, + 'target' => true, + ), + 'strong' => true, + 'p' => true, + 'ul' => true, + 'li' => true, + ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/ConfigurationTest.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/ConfigurationTest.php new file mode 100644 index 00000000..10f91e2a --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/ConfigurationTest.php @@ -0,0 +1,62 @@ + '5.6' ) ); + $requirement = $this->getMockBuilder( 'Whip_Requirement' ) + ->setMethods( array( 'component' ) ) + ->getMock(); + + $requirement + ->expects( $this->any() ) + ->method( 'component' ) + ->will( $this->returnValue( 'mysql' ) ); + + $this->assertEquals( -1, $configuration->configuredVersion( $requirement ) ); + } + + public function testItReturnsAnEntryIfRequirementIsFound() { + $configuration = new Whip_Configuration( array( 'php' => '5.6' ) ); + $requirement = $this->getMockBuilder( 'Whip_Requirement' ) + ->setMethods( array( 'component' ) ) + ->getMock(); + + $requirement + ->expects( $this->any() ) + ->method( 'component' ) + ->will( $this->returnValue( 'php' ) ); + + $this->assertEquals( '5.6', $configuration->configuredVersion( $requirement ) ); + } + + public function testIfRequirementIsConfigured() { + $configuration = new Whip_Configuration( array( 'php' => '5.6' ) ); + $requirement = $this->getMockBuilder( 'Whip_Requirement' ) + ->setMethods( array( 'component' ) ) + ->getMock(); + + $requirement + ->expects( $this->any() ) + ->method( 'component' ) + ->will( $this->returnValue( 'php' ) ); + + $falseRequirement = $this->getMockBuilder( 'Whip_Requirement' ) + ->setMethods( array( 'component' ) ) + ->getMock(); + + $falseRequirement + ->expects( $this->any() ) + ->method( 'component' ) + ->will( $this->returnValue( 'mysql' ) ); + + $this->assertTrue( $configuration->hasRequirementConfigured( $requirement ) ); + $this->assertFalse( $configuration->hasRequirementConfigured( $falseRequirement ) ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/MessageDismisserTest.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/MessageDismisserTest.php new file mode 100644 index 00000000..d5b0931b --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/MessageDismisserTest.php @@ -0,0 +1,86 @@ +dismissed = $dismissedValue; + + return true; + } + + /** + * Returns the value. + * + * @return int + */ + public function get() { + return $this->dismissed; + } +} + +class MessageDismisserTest extends PHPUnit_Framework_TestCase { + + /** + * @covers Whip_MessageDismisser::__construct() + * @covers Whip_MessageDismisser::dismiss() + */ + public function testDismiss() { + $currentTime = time(); + $storage = new Whip_DismissStorageMock(); + $dismisser = new Whip_MessageDismisser( $currentTime, WEEK_IN_SECONDS * 4, $storage ); + + $this->assertEquals( 0, $storage->get() ); + + $dismisser->dismiss(); + + $this->assertEquals( $currentTime, $storage->get() ); + } + + /** + * @dataProvider versionNumbersProvider + * + * @param int $savedTime The saved time. + * @param int $currentTime The current time. + * @param bool $expected The expected value. + * + * @covers Whip_MessageDismisser::__construct() + * @covers Whip_MessageDismisser::isDismissed() + */ + public function testIsDismissibleWithVersions( $savedTime, $currentTime, $expected ) { + $storage = new Whip_DismissStorageMock(); + $storage->set( $savedTime ); + $dismisser = new Whip_MessageDismisser( $currentTime, WEEK_IN_SECONDS * 4, $storage ); + + $this->assertEquals( $expected, $dismisser->isDismissed() ); + } + + /** + * Provides array with test values. + * + * @return array + */ + public function versionNumbersProvider() { + return array( + array( strtotime( "-2weeks" ), time(), true ), + array( strtotime( "-4weeks" ), time(), true ), + array( strtotime( "-6weeks" ), time(), false ), + array( time(), time(), true ), + ); + } + +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/MessageTest.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/MessageTest.php new file mode 100644 index 00000000..1775724f --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/MessageTest.php @@ -0,0 +1,23 @@ +assertNotEmpty($message->body()); + } + + /** + * @expectedException Whip_EmptyProperty + */ + public function testMessageCannotBeEmpty() { + new Whip_BasicMessage( '' ); + } + + /** + * @expectedException Whip_InvalidType + */ + public function testMessageMustBeString() { + new Whip_BasicMessage( 123 ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/MessagesManagerTest.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/MessagesManagerTest.php new file mode 100644 index 00000000..0a9dae28 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/MessagesManagerTest.php @@ -0,0 +1,14 @@ +assertFalse( $manager->hasMessages() ); + + $GLOBALS['whip_messages'][] = 'I am a test message'; + + $this->assertTrue( $manager->hasMessages() ); + + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/RequirementsCheckerTest.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/RequirementsCheckerTest.php new file mode 100644 index 00000000..8be5e3f6 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/RequirementsCheckerTest.php @@ -0,0 +1,144 @@ +addRequirement( new Whip_VersionRequirement( 'php', '5.2' ) ); + + $this->assertTrue( $checker->hasRequirements() ); + $this->assertEquals( 1, $checker->totalRequirements() ); + } + + /** + * @requires PHP 7 + */ + public function testItThrowsAnTypeErrorWhenInvalidRequirementIsPassed() { + if ( version_compare( phpversion(), 7.0, '<' ) ) { + $this->markTestSkipped( 'Skipped due to incompatible PHP version.' ); + } + + $exceptionCaught = false; + + $checker = new Whip_RequirementsChecker(); + + try { + $checker->addRequirement( new stdClass() ); + } catch( Error $e ) { + $exceptionCaught = true; + } + + $this->assertTrue( $exceptionCaught ); + } + + public function testItThrowsAnTypeErrorWhenInvalidRequirementIsPassedInPHP5() { + if ( version_compare( phpversion(), 7.0, '>=' ) ) { + $this->markTestSkipped(); + } + + $exceptionCaught = false; + + $checker = new Whip_RequirementsChecker(); + + try { + $checker->addRequirement( new stdClass() ); + } catch( Exception $e ) { + $exceptionCaught = true; + } + + $this->assertTrue( $exceptionCaught ); + } + + public function testItOnlyContainsUniqueComponents() { + $checker = new Whip_RequirementsChecker(); + + $checker->addRequirement( new Whip_VersionRequirement( 'php', '5.2' ) ); + $checker->addRequirement( new Whip_VersionRequirement( 'mysql', '5.6' ) ); + + $this->assertTrue( $checker->hasRequirements() ); + $this->assertEquals( 2, $checker->totalRequirements() ); + + $checker->addRequirement( new Whip_VersionRequirement( 'php', '6' ) ); + + $this->assertEquals( 2, $checker->totalRequirements() ); + } + + public function testIfRequirementExists() { + $checker = new Whip_RequirementsChecker(); + + $checker->addRequirement( new Whip_VersionRequirement( 'php', '5.2' ) ); + $checker->addRequirement( new Whip_VersionRequirement( 'mysql', '5.6' ) ); + + $this->assertTrue( $checker->requirementExistsForComponent( 'php' ) ); + $this->assertFalse( $checker->requirementExistsForComponent( 'mongodb' ) ); + } + + public function testCheckIfRequirementIsFulfilled() { + $checker = new Whip_RequirementsChecker( array( 'php' => phpversion() ) ); + + $checker->addRequirement( new Whip_VersionRequirement( 'php', '5.2' ) ); + $checker->check(); + + $this->assertEmpty( $checker->getMostRecentMessage()->body() ); + } + + public function testCheckIfPHPRequirementIsNotFulfilled() { + $checker = new Whip_RequirementsChecker( array( 'php' => 4 ) ); + + $checker->addRequirement( new Whip_VersionRequirement( 'php', '5.6' ) ); + $checker->check(); + + $this->assertTrue( $checker->hasMessages() ); + + // Get the message. This will unset the global. + $recentMessage = $checker->getMostRecentMessage(); + + $this->assertNotEmpty( $recentMessage ); + $this->assertInternalType( 'string', $recentMessage->body() ); + $this->assertFalse( $checker->hasMessages() ); + $this->assertInstanceOf( 'Whip_UpgradePhpMessage', $recentMessage ); + } + + public function testCheckIfRequirementIsNotFulfilled() { + $checker = new Whip_RequirementsChecker( array( 'mysql' => 4 ) ); + + $checker->addRequirement( new Whip_VersionRequirement( 'mysql', '5.6' ) ); + $checker->check(); + + $this->assertTrue( $checker->hasMessages() ); + + // Get the message. This will unset the global. + $recentMessage = $checker->getMostRecentMessage(); + + $this->assertNotEmpty( $recentMessage ); + $this->assertFalse( $checker->hasMessages() ); + $this->assertInstanceOf( 'Whip_InvalidVersionRequirementMessage', $recentMessage ); + $this->assertStringStartsWith( 'Invalid version detected', $recentMessage->body() ); + } + + public function testCheckIfRequirementIsFulfilledWithSpecificComparison() { + $checker = new Whip_RequirementsChecker( array( 'php' => 4 ) ); + + $checker->addRequirement( new Whip_VersionRequirement( 'php', '5.2', '<' ) ); + $checker->check(); + + $this->assertFalse( $checker->hasMessages() ); + } + + public function testCheckIfRequirementIsNotFulfilledWithSpecificComparison() { + $checker = new Whip_RequirementsChecker( array( 'php' => 4 ) ); + + $checker->addRequirement( new Whip_VersionRequirement( 'php', '5.2', '>=' ) ); + $checker->check(); + + $this->assertTrue( $checker->hasMessages() ); + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/VersionRequirementTest.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/VersionRequirementTest.php new file mode 100644 index 00000000..f0b5966b --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/VersionRequirementTest.php @@ -0,0 +1,99 @@ +assertNotEmpty($requirement->component()); + $this->assertNotEmpty($requirement->version()); + } + + /** + * @expectedException Whip_EmptyProperty + */ + public function testComponentCannotBeEmpty() { + new Whip_VersionRequirement( '', '5.2' ); + } + + /** + * @expectedException Whip_EmptyProperty + */ + public function testVersionCannotBeEmpty() { + new Whip_VersionRequirement( 'php', '' ); + } + + /** + * @expectedException Whip_InvalidType + */ + public function testComponentMustBeString() { + new Whip_VersionRequirement( 123, '5.2' ); + } + + /** + * @expectedException Whip_InvalidType + */ + public function testVersionMustBeString() { + new Whip_VersionRequirement( 'php', 123 ); + } + + /** + * @expectedException Whip_EmptyProperty + */ + public function testOperatorCannotBeEmpty() { + new Whip_VersionRequirement( 'php', '5.6', '' ); + } + + /** + * @expectedException Whip_InvalidType + */ + public function testOperatorMustBeString() { + new Whip_VersionRequirement( 'php', '5.2', 6 ); + } + + /** + * @expectedException Whip_InvalidOperatorType + */ + public function testOperatorMustBeValid() { + new Whip_VersionRequirement( 'php', '5.2', '->' ); + } + + public function testGettingComponentProperties() { + $requirement = new Whip_VersionRequirement( 'php', '5.6' ); + + $this->assertEquals( 'php', $requirement->component() ); + $this->assertEquals( '5.6', $requirement->version() ); + $this->assertEquals( '=', $requirement->operator() ); + } + + /** + * @dataProvider dataFromCompareString + */ + public function testFromCompareString( $expectation, $component, $compareString ) { + $requirement = Whip_VersionRequirement::fromCompareString( $component, $compareString ); + + $this->assertEquals( $expectation[0], $requirement->component() ); + $this->assertEquals( $expectation[1], $requirement->version() ); + $this->assertEquals( $expectation[2], $requirement->operator() ); + } + + public function dataFromCompareString() { + return array( + array( array( 'php', '5.5', '>' ), 'php', '>5.5' ), + array( array( 'php', '5.5', '>=' ), 'php', '>=5.5' ), + array( array( 'php', '5.5', '<' ), 'php', '<5.5' ), + array( array( 'php', '5.5', '<=' ), 'php', '<=5.5' ), + array( array( 'php', '7.3', '>' ), 'php', '>7.3' ), + array( array( 'php', '7.3', '>=' ), 'php', '>=7.3' ), + array( array( 'php', '7.3', '<' ), 'php', '<7.3' ), + array( array( 'php', '7.3', '<=' ), 'php', '<=7.3' ), + ); + } + + /** + * @expectedException Whip_InvalidVersionComparisonString + */ + public function testFromCompareStringException() { + Whip_VersionRequirement::fromCompareString( 'php', '> 2.3' ); + } +} + diff --git a/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/bootstrap.php b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/bootstrap.php new file mode 100644 index 00000000..e9b85682 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/vendor/yoast/whip/tests/bootstrap.php @@ -0,0 +1,5 @@ + ABSPATH . 'wp-admin/includes/class-wp-list-table.php', + 'walker_category' => ABSPATH . 'wp-includes/category-template.php', + 'pclzip' => ABSPATH . 'wp-admin/includes/class-pclzip.php', + ); + } + + $cn = strtolower( $class ); + + if ( ! class_exists( $class ) && isset( $classes[ $cn ] ) ) { + require_once $classes[ $cn ]; + } +} + +if ( file_exists( WPSEO_PATH . 'vendor/autoload_52.php' ) ) { + require WPSEO_PATH . 'vendor/autoload_52.php'; +} +elseif ( ! class_exists( 'WPSEO_Options' ) ) { // Still checking since might be site-level autoload R. + add_action( 'admin_init', 'yoast_wpseo_missing_autoload', 1 ); + + return; +} + +if ( function_exists( 'spl_autoload_register' ) ) { + spl_autoload_register( 'wpseo_auto_load' ); +} + +/* ********************* DEFINES DEPENDING ON AUTOLOADED CODE ********************* */ + +/** + * Defaults to production, for safety + */ +if ( ! defined( 'YOAST_ENVIRONMENT' ) ) { + define( 'YOAST_ENVIRONMENT', 'production' ); +} + +/** + * Only use minified assets when we are in a production environment + */ +if ( ! defined( 'WPSEO_CSSJS_SUFFIX' ) ) { + define( 'WPSEO_CSSJS_SUFFIX', ( 'development' !== YOAST_ENVIRONMENT ) ? '.min' : '' ); +} + +/* ***************************** PLUGIN (DE-)ACTIVATION *************************** */ + +/** + * Run single site / network-wide activation of the plugin. + * + * @param bool $networkwide Whether the plugin is being activated network-wide. + */ +function wpseo_activate( $networkwide = false ) { + if ( ! is_multisite() || ! $networkwide ) { + _wpseo_activate(); + } + else { + /* Multi-site network activation - activate the plugin for all blogs */ + wpseo_network_activate_deactivate( true ); + } +} + +/** + * Run single site / network-wide de-activation of the plugin. + * + * @param bool $networkwide Whether the plugin is being de-activated network-wide. + */ +function wpseo_deactivate( $networkwide = false ) { + if ( ! is_multisite() || ! $networkwide ) { + _wpseo_deactivate(); + } + else { + /* Multi-site network activation - de-activate the plugin for all blogs */ + wpseo_network_activate_deactivate( false ); + } +} + +/** + * Run network-wide (de-)activation of the plugin + * + * @param bool $activate True for plugin activation, false for de-activation. + */ +function wpseo_network_activate_deactivate( $activate = true ) { + global $wpdb; + + $network_blogs = $wpdb->get_col( $wpdb->prepare( "SELECT blog_id FROM $wpdb->blogs WHERE site_id = %d", $wpdb->siteid ) ); + + if ( is_array( $network_blogs ) && $network_blogs !== array() ) { + foreach ( $network_blogs as $blog_id ) { + switch_to_blog( $blog_id ); + + if ( $activate === true ) { + _wpseo_activate(); + } + else { + _wpseo_deactivate(); + } + + restore_current_blog(); + } + } +} + +/** + * Runs on activation of the plugin. + */ +function _wpseo_activate() { + require_once WPSEO_PATH . 'inc/wpseo-functions.php'; + require_once WPSEO_PATH . 'inc/class-wpseo-installation.php'; + + wpseo_load_textdomain(); // Make sure we have our translations available for the defaults. + + new WPSEO_Installation(); + + WPSEO_Options::get_instance(); + if ( ! is_multisite() ) { + WPSEO_Options::initialize(); + } + else { + WPSEO_Options::maybe_set_multisite_defaults( true ); + } + WPSEO_Options::ensure_options_exist(); + + if ( is_multisite() && ms_is_switched() ) { + delete_option( 'rewrite_rules' ); + } + else { + $wpseo_rewrite = new WPSEO_Rewrite(); + $wpseo_rewrite->schedule_flush(); + } + + do_action( 'wpseo_register_roles' ); + WPSEO_Role_Manager_Factory::get()->add(); + + do_action( 'wpseo_register_capabilities' ); + WPSEO_Capability_Manager_Factory::get()->add(); + + // Clear cache so the changes are obvious. + WPSEO_Utils::clear_cache(); + + // Create the text link storage table. + $link_installer = new WPSEO_Link_Installer(); + $link_installer->install(); + + // Trigger reindex notification. + $notifier = new WPSEO_Link_Notifier(); + $notifier->manage_notification(); + + do_action( 'wpseo_activate' ); +} +/** + * On deactivation, flush the rewrite rules so XML sitemaps stop working. + */ +function _wpseo_deactivate() { + require_once WPSEO_PATH . 'inc/wpseo-functions.php'; + + if ( is_multisite() && ms_is_switched() ) { + delete_option( 'rewrite_rules' ); + } + else { + add_action( 'shutdown', 'flush_rewrite_rules' ); + } + + // Register capabilities, to make sure they are cleaned up. + do_action( 'wpseo_register_roles' ); + do_action( 'wpseo_register_capabilities' ); + + // Clean up capabilities. + WPSEO_Role_Manager_Factory::get()->remove(); + WPSEO_Capability_Manager_Factory::get()->remove(); + + // Clear cache so the changes are obvious. + WPSEO_Utils::clear_cache(); + + do_action( 'wpseo_deactivate' ); +} + +/** + * Run wpseo activation routine on creation / activation of a multisite blog if WPSEO is activated + * network-wide. + * + * Will only be called by multisite actions. + * + * {@internal Unfortunately will fail if the plugin is in the must-use directory. + * {@link https://core.trac.wordpress.org/ticket/24205} }} + * + * @param int $blog_id Blog ID. + */ +function wpseo_on_activate_blog( $blog_id ) { + if ( ! function_exists( 'is_plugin_active_for_network' ) ) { + require_once ABSPATH . 'wp-admin/includes/plugin.php'; + } + + if ( is_plugin_active_for_network( plugin_basename( WPSEO_FILE ) ) ) { + switch_to_blog( $blog_id ); + wpseo_activate( false ); + restore_current_blog(); + } +} + + +/* ***************************** PLUGIN LOADING *************************** */ + +/** + * Load translations + */ +function wpseo_load_textdomain() { + $wpseo_path = str_replace( '\\', '/', WPSEO_PATH ); + $mu_path = str_replace( '\\', '/', WPMU_PLUGIN_DIR ); + + if ( false !== stripos( $wpseo_path, $mu_path ) ) { + load_muplugin_textdomain( 'wordpress-seo', dirname( WPSEO_BASENAME ) . '/languages/' ); + } + else { + load_plugin_textdomain( 'wordpress-seo', false, dirname( WPSEO_BASENAME ) . '/languages/' ); + } +} + +add_action( 'plugins_loaded', 'wpseo_load_textdomain' ); + + +/** + * On plugins_loaded: load the minimum amount of essential files for this plugin + */ +function wpseo_init() { + require_once WPSEO_PATH . 'inc/wpseo-functions.php'; + require_once WPSEO_PATH . 'inc/wpseo-functions-deprecated.php'; + + // Make sure our option and meta value validation routines and default values are always registered and available. + WPSEO_Options::get_instance(); + WPSEO_Meta::init(); + + $options = WPSEO_Options::get_options( array( 'wpseo', 'wpseo_permalinks', 'wpseo_xml' ) ); + if ( version_compare( $options['version'], WPSEO_VERSION, '<' ) ) { + new WPSEO_Upgrade(); + // Get a cleaned up version of the $options. + $options = WPSEO_Options::get_options( array( 'wpseo', 'wpseo_permalinks', 'wpseo_xml' ) ); + } + + if ( $options['stripcategorybase'] === true ) { + $GLOBALS['wpseo_rewrite'] = new WPSEO_Rewrite(); + } + + if ( $options['enablexmlsitemap'] === true ) { + $GLOBALS['wpseo_sitemaps'] = new WPSEO_Sitemaps(); + } + + if ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) { + require_once WPSEO_PATH . 'inc/wpseo-non-ajax-functions.php'; + } + + // Init it here because the filter must be present on the frontend as well or it won't work in the customizer. + new WPSEO_Customizer(); + + /* + * Initializes the link watcher for both the frontend and backend. + * Required to process scheduled items properly. + */ + $link_watcher = new WPSEO_Link_Watcher_Loader(); + $link_watcher->load(); +} + +/** + * Loads the rest api endpoints. + */ +function wpseo_init_rest_api() { + // We can't do anything when requirements are not met. + if ( WPSEO_Utils::is_api_available() ) { + // Boot up REST API. + $configuration_service = new WPSEO_Configuration_Service(); + $configuration_service->initialize(); + + $link_reindex_endpoint = new WPSEO_Link_Reindex_Post_Endpoint( new WPSEO_Link_Reindex_Post_Service() ); + $link_reindex_endpoint->register(); + + $statistics_service = new WPSEO_Statistics_Service( new WPSEO_Statistics() ); + $statistics_endpoint = new WPSEO_Endpoint_Statistics( $statistics_service ); + $statistics_endpoint->register(); + + $ryte_endpoint_service = new WPSEO_Ryte_Service( new WPSEO_OnPage_Option() ); + $ryte_endpoint = new WPSEO_Endpoint_Ryte( $ryte_endpoint_service ); + $ryte_endpoint->register(); + } +} + +/** + * Used to load the required files on the plugins_loaded hook, instead of immediately. + */ +function wpseo_frontend_init() { + add_action( 'init', 'initialize_wpseo_front' ); + + $options = WPSEO_Options::get_option( 'wpseo_internallinks' ); + if ( $options['breadcrumbs-enable'] === true ) { + /** + * If breadcrumbs are active (which they supposedly are if the users has enabled this settings, + * there's no reason to have bbPress breadcrumbs as well. + * + * {@internal The class itself is only loaded when the template tag is encountered + * via the template tag function in the wpseo-functions.php file.}} + */ + add_filter( 'bbp_get_breadcrumb', '__return_false' ); + } + + add_action( 'template_redirect', 'wpseo_frontend_head_init', 999 ); +} + +/** + * Instantiate the different social classes on the frontend + */ +function wpseo_frontend_head_init() { + $options = WPSEO_Options::get_option( 'wpseo_social' ); + if ( $options['twitter'] === true ) { + add_action( 'wpseo_head', array( 'WPSEO_Twitter', 'get_instance' ), 40 ); + } + + if ( $options['opengraph'] === true ) { + $GLOBALS['wpseo_og'] = new WPSEO_OpenGraph(); + } + +} + +/** + * Used to load the required files on the plugins_loaded hook, instead of immediately. + */ +function wpseo_admin_init() { + new WPSEO_Admin_Init(); +} + + +/* ***************************** BOOTSTRAP / HOOK INTO WP *************************** */ +$spl_autoload_exists = function_exists( 'spl_autoload_register' ); +$filter_exists = function_exists( 'filter_input' ); + +if ( ! $spl_autoload_exists ) { + add_action( 'admin_init', 'yoast_wpseo_missing_spl', 1 ); +} + +if ( ! $filter_exists ) { + add_action( 'admin_init', 'yoast_wpseo_missing_filter', 1 ); +} + +if ( ! wp_installing() && ( $spl_autoload_exists && $filter_exists ) ) { + add_action( 'plugins_loaded', 'wpseo_init', 14 ); + add_action( 'rest_api_init', 'wpseo_init_rest_api' ); + + if ( is_admin() ) { + + new Yoast_Alerts(); + + if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) { + require_once WPSEO_PATH . 'admin/ajax.php'; + + // Plugin conflict ajax hooks. + new Yoast_Plugin_Conflict_Ajax(); + + if ( filter_input( INPUT_POST, 'action' ) === 'inline-save' ) { + add_action( 'plugins_loaded', 'wpseo_admin_init', 15 ); + } + } + else { + add_action( 'plugins_loaded', 'wpseo_admin_init', 15 ); + } + } + else { + add_action( 'plugins_loaded', 'wpseo_frontend_init', 15 ); + } + + add_action( 'plugins_loaded', 'load_yoast_notifications' ); +} + +// Activation and deactivation hook. +register_activation_hook( WPSEO_FILE, 'wpseo_activate' ); +register_deactivation_hook( WPSEO_FILE, 'wpseo_deactivate' ); +add_action( 'wpmu_new_blog', 'wpseo_on_activate_blog' ); +add_action( 'activate_blog', 'wpseo_on_activate_blog' ); + +// Loading Ryte integration. +new WPSEO_OnPage(); + +// Registers SEO capabilities. +$wpseo_register_capabilities = new WPSEO_Register_Capabilities(); +$wpseo_register_capabilities->register_hooks(); + +// Registers SEO roles. +$wpseo_register_capabilities = new WPSEO_Register_Roles(); +$wpseo_register_capabilities->register_hooks(); + +/** + * Wraps for notifications center class. + */ +function load_yoast_notifications() { + // Init Yoast_Notification_Center class. + Yoast_Notification_Center::get(); +} + + +/** + * Throw an error if the PHP SPL extension is disabled (prevent white screens) and self-deactivate plugin + * + * @since 1.5.4 + * + * @return void + */ +function yoast_wpseo_missing_spl() { + if ( is_admin() ) { + add_action( 'admin_notices', 'yoast_wpseo_missing_spl_notice' ); + + yoast_wpseo_self_deactivate(); + } +} + +/** + * Returns the notice in case of missing spl extension + */ +function yoast_wpseo_missing_spl_notice() { + $message = esc_html__( 'The Standard PHP Library (SPL) extension seem to be unavailable. Please ask your web host to enable it.', 'wordpress-seo' ); + yoast_wpseo_activation_failed_notice( $message ); +} + +/** + * Throw an error if the Composer autoload is missing and self-deactivate plugin + * + * @return void + */ +function yoast_wpseo_missing_autoload() { + if ( is_admin() ) { + add_action( 'admin_notices', 'yoast_wpseo_missing_autoload_notice' ); + + yoast_wpseo_self_deactivate(); + } +} + +/** + * Returns the notice in case of missing Composer autoload + */ +function yoast_wpseo_missing_autoload_notice() { + /* translators: %1$s expands to Yoast SEO, %2$s / %3$s: links to the installation manual in the Readme for the Yoast SEO code repository on GitHub */ + $message = esc_html__( 'The %1$s plugin installation is incomplete. Please refer to %2$sinstallation instructions%3$s.', 'wordpress-seo' ); + $message = sprintf( $message, 'Yoast SEO', '', '' ); + yoast_wpseo_activation_failed_notice( $message ); +} + +/** + * Throw an error if the filter extension is disabled (prevent white screens) and self-deactivate plugin + * + * @since 2.0 + * + * @return void + */ +function yoast_wpseo_missing_filter() { + if ( is_admin() ) { + add_action( 'admin_notices', 'yoast_wpseo_missing_filter_notice' ); + + yoast_wpseo_self_deactivate(); + } +} + +/** + * Returns the notice in case of missing filter extension + */ +function yoast_wpseo_missing_filter_notice() { + $message = esc_html__( 'The filter extension seem to be unavailable. Please ask your web host to enable it.', 'wordpress-seo' ); + yoast_wpseo_activation_failed_notice( $message ); +} + +/** + * Echo's the Activation failed notice with any given message. + * + * @param string $message Message string. + */ +function yoast_wpseo_activation_failed_notice( $message ) { + echo '

    ' . __( 'Activation failed:', 'wordpress-seo' ) . ' ' . $message . '

    '; +} + +/** + * The method will deactivate the plugin, but only once, done by the static $is_deactivated + */ +function yoast_wpseo_self_deactivate() { + static $is_deactivated; + + if ( $is_deactivated === null ) { + $is_deactivated = true; + deactivate_plugins( plugin_basename( WPSEO_FILE ) ); + if ( isset( $_GET['activate'] ) ) { + unset( $_GET['activate'] ); + } + } +} diff --git a/pole-sbv-content/plugins/wordpress-seo/wp-seo.php b/pole-sbv-content/plugins/wordpress-seo/wp-seo.php new file mode 100644 index 00000000..cc891489 --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/wp-seo.php @@ -0,0 +1,47 @@ +. + */ + +if ( ! function_exists( 'add_filter' ) ) { + header( 'Status: 403 Forbidden' ); + header( 'HTTP/1.1 403 Forbidden' ); + exit(); +} + +if ( ! defined( 'WPSEO_FILE' ) ) { + define( 'WPSEO_FILE', __FILE__ ); +} + +// Load the Yoast SEO plugin. +require_once dirname( WPSEO_FILE ) . '/wp-seo-main.php'; diff --git a/pole-sbv-content/plugins/wordpress-seo/wpml-config.xml b/pole-sbv-content/plugins/wordpress-seo/wpml-config.xml new file mode 100644 index 00000000..cc4c61bf --- /dev/null +++ b/pole-sbv-content/plugins/wordpress-seo/wpml-config.xml @@ -0,0 +1,57 @@ + + + _yoast_wpseo_title + _yoast_wpseo_bctitle + _yoast_wpseo_metadesc + _yoast_wpseo_metakeywords + _yoast_wpseo_focuskw + _yoast_wpseo_meta-robots-noindex + _yoast_wpseo_meta-robots-nofollow + _yoast_wpseo_meta-robots-adv + _yoast_wpseo_canonical + _yoast_wpseo_redirect + _yoast_wpseo_opengraph-description + _yoast_wpseo_google-plus-description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pole-sbv-content/themes/pole-sbv/js/app.js b/pole-sbv-content/themes/pole-sbv/js/app.js index 8826c742..7259aca7 100755 --- a/pole-sbv-content/themes/pole-sbv/js/app.js +++ b/pole-sbv-content/themes/pole-sbv/js/app.js @@ -1 +1,154 @@ -(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;olastY){$('body').removeClass('to-bottom');$('body').addClass('to-top');}else if(currentY lastY) { + $('body').removeClass('to-bottom'); + $('body').addClass('to-top'); + } else if (currentY < lastY) { + if ($('#header').hasClass('hidden')) { + $('body').removeClass('to-top'); + $('body').addClass('to-bottom'); + } + } + } + lastY = currentY; + }); + + function getScroll() { + var b = document.body; + var e = document.documentElement; + return { + left: parseFloat(window.pageXOffset || b.scrollLeft || e.scrollLeft), + top: parseFloat(window.pageYOffset || b.scrollTop || e.scrollTop) + }; + } + $('.banner-carousel').owlCarousel({ + items: 1, + loop: true, + autoplay: false, + dots: true, + nav: true + }); + + $('.brands-carousel').owlCarousel({ + items: 4, + loop: true, + autoplay: true, + autoplayTimeout: 3000, + nav: true, + dots: false, + responsive: { + 0: { + items: 2, + nav: true + }, + 768: { + items: 4, + nav: true + } + } + }); + $('.products-carousel').owlCarousel({ + items: 3, + loop: true, + autoplay: false, + nav: true, + dots: false, + center: true, + autoHeight: false, + margin: 101, + responsive: { + 0: { + items: 1, + margin: 0 + }, + 480: { + items: 2, + margin: 10 + }, + 768: { + items: 3, + margin: 24 + + }, + 1024: { + items: 3, + margin: 80 + }, + 1200: { + items: 3, + margin: 101 + + } + }, + afterUpdate: function afterUpdate() { + updateSize(); + }, + afterInit: function afterInit() { + updateSize(); + } + }); + + function updateSize() { + var minHeight = parseInt($('.owl-item').eq(0).css('height')); + $('.owl-item').each(function () { + var thisHeight = parseInt($(this).css('height')); + minHeight = minHeight <= thisHeight ? minHeight : thisHeight; + }); + $('.products-carousel').css('height', minHeight + 'px'); + } + $(".accelerator").hover(function () { + $("img", this).toggleClass("grayscale"); + }); + + var $menuOpener = $('.menu-opener'), + $body = $('body'), + $menuClose = $('.menu-close'); + $menuOpener.on("click", function () { + $body.toggleClass('menu-open'); + }); + $menuClose.on("click", function () { + $body.removeClass('menu-open'); + }); + + $('.grid-wrapper').on('mouseenter click', '.opener', function (event) { + $(this).closest('.grid-row').find('.bottom-row').slideToggle(); + $(this).closest('.grid-row').find('.opener').toggleClass('active'); + event.preventDefault(); + }); + $('.active').closest('.grid-row').find('.bottom-row').slideDown(); + }); +})(jQuery); + +},{}]},{},[1]) +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJzcmNcXGpzXFxhcHAuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztBQ0FBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQSxDQUFDLFVBQUMsQ0FBRCxFQUFPO0FBQ0o7O0FBRUE7O0FBQ0EsTUFBRSxZQUFNO0FBQ0osWUFBSSxXQUFXLEVBQUUsU0FBRixDQUFmO0FBQ0EsaUJBQVMsSUFBVCxDQUFjLFVBQWQsRUFBMEIsU0FBUyxRQUFULEVBQTFCO0FBQ0EsVUFBRSxNQUFGLEVBQVUsTUFBVixDQUFpQixZQUFXO0FBQ3hCLGdCQUFJLENBQUMsRUFBRSxNQUFGLEVBQVUsUUFBVixDQUFtQixXQUFuQixDQUFMLEVBQXNDO0FBQ2xDLG9CQUFJLFNBQVMsV0FBYjtBQUNBLG9CQUFJLEtBQUssT0FBTyxHQUFoQixFQUFxQjtBQUNqQiw2QkFBUyxRQUFULENBQWtCLFFBQWxCO0FBQ0Esc0JBQUUsTUFBRixFQUFVLFdBQVYsQ0FBc0IsV0FBdEI7QUFDSCxpQkFIRCxNQUdPO0FBQ0gsNkJBQVMsV0FBVCxDQUFxQixRQUFyQjtBQUNIO0FBQ0o7QUFDSixTQVZEOztBQVlBLFlBQUksS0FBSjtBQUNBLFVBQUUsUUFBRixFQUFZLElBQVosQ0FBaUIsV0FBakIsRUFBOEIsVUFBUyxDQUFULEVBQVk7QUFDdEMsZ0JBQUksV0FBVyxFQUFFLGFBQUYsQ0FBZ0IsT0FBaEIsQ0FBd0IsQ0FBeEIsRUFBMkIsT0FBMUM7QUFDQSxnQkFBSSxDQUFDLEVBQUUsTUFBRixFQUFVLFFBQVYsQ0FBbUIsV0FBbkIsQ0FBTCxFQUFzQztBQUNsQyxvQkFBSSxXQUFXLEtBQWYsRUFBc0I7QUFDbEIsc0JBQUUsTUFBRixFQUFVLFdBQVYsQ0FBc0IsV0FBdEI7QUFDQSxzQkFBRSxNQUFGLEVBQVUsUUFBVixDQUFtQixRQUFuQjtBQUNILGlCQUhELE1BR08sSUFBSSxXQUFXLEtBQWYsRUFBc0I7QUFDekIsd0JBQUksRUFBRSxTQUFGLEVBQWEsUUFBYixDQUFzQixRQUF0QixDQUFKLEVBQXFDO0FBQ2pDLDBCQUFFLE1BQUYsRUFBVSxXQUFWLENBQXNCLFFBQXRCO0FBQ0EsMEJBQUUsTUFBRixFQUFVLFFBQVYsQ0FBbUIsV0FBbkI7QUFDSDtBQUNKO0FBQ0o7QUFDRCxvQkFBUSxRQUFSO0FBQ0gsU0FkRDs7QUFnQkEsaUJBQVMsU0FBVCxHQUFxQjtBQUNqQixnQkFBSSxJQUFJLFNBQVMsSUFBakI7QUFDQSxnQkFBSSxJQUFJLFNBQVMsZUFBakI7QUFDQSxtQkFBTztBQUNILHNCQUFNLFdBQVcsT0FBTyxXQUFQLElBQXNCLEVBQUUsVUFBeEIsSUFBc0MsRUFBRSxVQUFuRCxDQURIO0FBRUgscUJBQUssV0FBVyxPQUFPLFdBQVAsSUFBc0IsRUFBRSxTQUF4QixJQUFxQyxFQUFFLFNBQWxEO0FBRkYsYUFBUDtBQUlIO0FBQ0QsVUFBRSxrQkFBRixFQUFzQixXQUF0QixDQUFrQztBQUM5QixtQkFBTyxDQUR1QjtBQUU5QixrQkFBTSxJQUZ3QjtBQUc5QixzQkFBVSxLQUhvQjtBQUk5QixrQkFBTSxJQUp3QjtBQUs5QixpQkFBSztBQUx5QixTQUFsQzs7QUFRQSxVQUFFLGtCQUFGLEVBQXNCLFdBQXRCLENBQWtDO0FBQzlCLG1CQUFPLENBRHVCO0FBRTlCLGtCQUFNLElBRndCO0FBRzlCLHNCQUFVLEtBSG9CO0FBSTlCLGlCQUFLLElBSnlCO0FBSzlCLGtCQUFNLEtBTHdCO0FBTTlCLHdCQUFZO0FBQ1IsbUJBQUc7QUFDQywyQkFBTyxDQURSO0FBRUMseUJBQUs7QUFGTixpQkFESztBQUtSLHFCQUFLO0FBQ0QsMkJBQU8sQ0FETjtBQUVELHlCQUFLO0FBRko7QUFMRztBQU5rQixTQUFsQztBQWlCQSxVQUFFLG9CQUFGLEVBQXdCLFdBQXhCLENBQW9DO0FBQ2hDLG1CQUFPLENBRHlCO0FBRWhDLGtCQUFNLElBRjBCO0FBR2hDLHNCQUFVLEtBSHNCO0FBSWhDLGlCQUFLLElBSjJCO0FBS2hDLGtCQUFNLEtBTDBCO0FBTWhDLG9CQUFRLElBTndCO0FBT2hDLHdCQUFZLEtBUG9CO0FBUWhDLG9CQUFRLEdBUndCO0FBU2hDLHdCQUFZO0FBQ1IsbUJBQUc7QUFDQywyQkFBTyxDQURSO0FBRUMsNEJBQVE7QUFGVCxpQkFESztBQUtSLHFCQUFLO0FBQ0QsMkJBQU8sQ0FETjtBQUVELDRCQUFRO0FBRlAsaUJBTEc7QUFTUixxQkFBSztBQUNELDJCQUFPLENBRE47QUFFRCw0QkFBUTs7QUFGUCxpQkFURztBQWNSLHNCQUFNO0FBQ0YsMkJBQU8sQ0FETDtBQUVGLDRCQUFRO0FBRk4saUJBZEU7QUFrQlIsc0JBQU07QUFDRiwyQkFBTyxDQURMO0FBRUYsNEJBQVE7O0FBRk47QUFsQkUsYUFUb0I7QUFpQ2hDLHlCQUFhLHVCQUFXO0FBQ3BCO0FBQ0gsYUFuQytCO0FBb0NoQyx1QkFBVyxxQkFBVztBQUNsQjtBQUNIO0FBdEMrQixTQUFwQzs7QUF5Q0EsaUJBQVMsVUFBVCxHQUFzQjtBQUNsQixnQkFBSSxZQUFZLFNBQVMsRUFBRSxXQUFGLEVBQWUsRUFBZixDQUFrQixDQUFsQixFQUFxQixHQUFyQixDQUF5QixRQUF6QixDQUFULENBQWhCO0FBQ0EsY0FBRSxXQUFGLEVBQWUsSUFBZixDQUFvQixZQUFXO0FBQzNCLG9CQUFJLGFBQWEsU0FBUyxFQUFFLElBQUYsRUFBUSxHQUFSLENBQVksUUFBWixDQUFULENBQWpCO0FBQ0EsNEJBQWEsYUFBYSxVQUFiLEdBQTBCLFNBQTFCLEdBQXNDLFVBQW5EO0FBQ0gsYUFIRDtBQUlBLGNBQUUsb0JBQUYsRUFBd0IsR0FBeEIsQ0FBNEIsUUFBNUIsRUFBc0MsWUFBWSxJQUFsRDtBQUNIO0FBQ0QsVUFBRSxjQUFGLEVBQWtCLEtBQWxCLENBQXdCLFlBQVc7QUFDL0IsY0FBRSxLQUFGLEVBQVMsSUFBVCxFQUFlLFdBQWYsQ0FBMkIsV0FBM0I7QUFDSCxTQUZEOztBQUlBLFlBQUksY0FBYyxFQUFFLGNBQUYsQ0FBbEI7QUFBQSxZQUNJLFFBQVEsRUFBRSxNQUFGLENBRFo7QUFBQSxZQUVJLGFBQWEsRUFBRSxhQUFGLENBRmpCO0FBR0Esb0JBQVksRUFBWixDQUFlLE9BQWYsRUFBd0IsWUFBVztBQUMvQixrQkFBTSxXQUFOLENBQWtCLFdBQWxCO0FBQ0gsU0FGRDtBQUdBLG1CQUFXLEVBQVgsQ0FBYyxPQUFkLEVBQXVCLFlBQVc7QUFDOUIsa0JBQU0sV0FBTixDQUFrQixXQUFsQjtBQUNILFNBRkQ7O0FBSUEsVUFBRSxlQUFGLEVBQW1CLEVBQW5CLENBQXNCLE9BQXRCLEVBQStCLFNBQS9CLEVBQTBDLFVBQVMsS0FBVCxFQUFnQjtBQUN0RCxjQUFFLElBQUYsRUFBUSxPQUFSLENBQWdCLFdBQWhCLEVBQTZCLElBQTdCLENBQWtDLGFBQWxDLEVBQWlELFdBQWpEO0FBQ0EsY0FBRSxJQUFGLEVBQVEsT0FBUixDQUFnQixXQUFoQixFQUE2QixJQUE3QixDQUFrQyxTQUFsQyxFQUE2QyxXQUE3QyxDQUF5RCxRQUF6RDtBQUNBLGtCQUFNLGNBQU47QUFDSCxTQUpEO0FBS0EsVUFBRSxTQUFGLEVBQWEsT0FBYixDQUFxQixXQUFyQixFQUFrQyxJQUFsQyxDQUF1QyxhQUF2QyxFQUFzRCxTQUF0RDtBQUNILEtBdElEO0FBd0lILENBNUlELEVBNElHLE1BNUlIIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIrbytcIidcIik7dGhyb3cgZi5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGZ9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KSIsIi8vIFlvdSBjYW4gd3JpdGUgYSBjYWxsIGFuZCBpbXBvcnQgeW91ciBmdW5jdGlvbnMgaW4gdGhpcyBmaWxlLlxyXG4vL1xyXG4vLyBUaGlzIGZpbGUgd2lsbCBiZSBjb21waWxlZCBpbnRvIGFwcC5qcyBhbmQgd2lsbCBub3QgYmUgbWluaWZpZWQuXHJcbi8vIEZlZWwgZnJlZSB3aXRoIHVzaW5nIEVTNiBoZXJlLlxyXG5cclxuXHJcbigoJCkgPT4ge1xyXG4gICAgJ3VzZSBzdHJpY3QnO1xyXG5cclxuICAgIC8vIFdoZW4gRE9NIGlzIHJlYWR5XHJcbiAgICAkKCgpID0+IHtcclxuICAgICAgICB2YXIgbXlIZWFkZXIgPSAkKCcjaGVhZGVyJyk7XHJcbiAgICAgICAgbXlIZWFkZXIuZGF0YSgncG9zaXRpb24nLCBteUhlYWRlci5wb3NpdGlvbigpKTtcclxuICAgICAgICAkKHdpbmRvdykuc2Nyb2xsKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICBpZiAoISQoJ2JvZHknKS5oYXNDbGFzcygnbWVudS1vcGVuJykpIHtcclxuICAgICAgICAgICAgICAgIHZhciBzY3JvbGwgPSBnZXRTY3JvbGwoKTtcclxuICAgICAgICAgICAgICAgIGlmICg2MiA8IHNjcm9sbC50b3ApIHtcclxuICAgICAgICAgICAgICAgICAgICBteUhlYWRlci5hZGRDbGFzcygnaGlkZGVuJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgJCgnYm9keScpLnJlbW92ZUNsYXNzKCdtZW51LW9wZW4nKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbXlIZWFkZXIucmVtb3ZlQ2xhc3MoJ2hpZGRlbicpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHZhciBsYXN0WTtcclxuICAgICAgICAkKGRvY3VtZW50KS5iaW5kKCd0b3VjaG1vdmUnLCBmdW5jdGlvbihlKSB7XHJcbiAgICAgICAgICAgIHZhciBjdXJyZW50WSA9IGUub3JpZ2luYWxFdmVudC50b3VjaGVzWzBdLmNsaWVudFk7XHJcbiAgICAgICAgICAgIGlmICghJCgnYm9keScpLmhhc0NsYXNzKCdtZW51LW9wZW4nKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRZID4gbGFzdFkpIHtcclxuICAgICAgICAgICAgICAgICAgICAkKCdib2R5JykucmVtb3ZlQ2xhc3MoJ3RvLWJvdHRvbScpO1xyXG4gICAgICAgICAgICAgICAgICAgICQoJ2JvZHknKS5hZGRDbGFzcygndG8tdG9wJyk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRZIDwgbGFzdFkpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoJCgnI2hlYWRlcicpLmhhc0NsYXNzKCdoaWRkZW4nKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkKCdib2R5JykucmVtb3ZlQ2xhc3MoJ3RvLXRvcCcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkKCdib2R5JykuYWRkQ2xhc3MoJ3RvLWJvdHRvbScpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsYXN0WSA9IGN1cnJlbnRZO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBmdW5jdGlvbiBnZXRTY3JvbGwoKSB7XHJcbiAgICAgICAgICAgIHZhciBiID0gZG9jdW1lbnQuYm9keTtcclxuICAgICAgICAgICAgdmFyIGUgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBwYXJzZUZsb2F0KHdpbmRvdy5wYWdlWE9mZnNldCB8fCBiLnNjcm9sbExlZnQgfHwgZS5zY3JvbGxMZWZ0KSxcclxuICAgICAgICAgICAgICAgIHRvcDogcGFyc2VGbG9hdCh3aW5kb3cucGFnZVlPZmZzZXQgfHwgYi5zY3JvbGxUb3AgfHwgZS5zY3JvbGxUb3ApXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICQoJy5iYW5uZXItY2Fyb3VzZWwnKS5vd2xDYXJvdXNlbCh7XHJcbiAgICAgICAgICAgIGl0ZW1zOiAxLFxyXG4gICAgICAgICAgICBsb29wOiB0cnVlLFxyXG4gICAgICAgICAgICBhdXRvcGxheTogZmFsc2UsXHJcbiAgICAgICAgICAgIGRvdHM6IHRydWUsXHJcbiAgICAgICAgICAgIG5hdjogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAkKCcuYnJhbmRzLWNhcm91c2VsJykub3dsQ2Fyb3VzZWwoe1xyXG4gICAgICAgICAgICBpdGVtczogNCxcclxuICAgICAgICAgICAgbG9vcDogdHJ1ZSxcclxuICAgICAgICAgICAgYXV0b3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgICBuYXY6IHRydWUsXHJcbiAgICAgICAgICAgIGRvdHM6IGZhbHNlLFxyXG4gICAgICAgICAgICByZXNwb25zaXZlOiB7XHJcbiAgICAgICAgICAgICAgICAwOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgbmF2OiB0cnVlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgNzY4OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDQsXHJcbiAgICAgICAgICAgICAgICAgICAgbmF2OiB0cnVlXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICAkKCcucHJvZHVjdHMtY2Fyb3VzZWwnKS5vd2xDYXJvdXNlbCh7XHJcbiAgICAgICAgICAgIGl0ZW1zOiAzLFxyXG4gICAgICAgICAgICBsb29wOiB0cnVlLFxyXG4gICAgICAgICAgICBhdXRvcGxheTogZmFsc2UsXHJcbiAgICAgICAgICAgIG5hdjogdHJ1ZSxcclxuICAgICAgICAgICAgZG90czogZmFsc2UsXHJcbiAgICAgICAgICAgIGNlbnRlcjogdHJ1ZSxcclxuICAgICAgICAgICAgYXV0b0hlaWdodDogZmFsc2UsXHJcbiAgICAgICAgICAgIG1hcmdpbjogMTAxLFxyXG4gICAgICAgICAgICByZXNwb25zaXZlOiB7XHJcbiAgICAgICAgICAgICAgICAwOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDEsXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIDQ4MDoge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTAsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgNzY4OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDMsXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAyNCxcclxuXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgMTAyNDoge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAzLFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogODAsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgMTIwMDoge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAzLFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTAxLFxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYWZ0ZXJVcGRhdGU6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAgICAgdXBkYXRlU2l6ZSgpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBhZnRlckluaXQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAgICAgdXBkYXRlU2l6ZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZVNpemUoKSB7XHJcbiAgICAgICAgICAgIHZhciBtaW5IZWlnaHQgPSBwYXJzZUludCgkKCcub3dsLWl0ZW0nKS5lcSgwKS5jc3MoJ2hlaWdodCcpKTtcclxuICAgICAgICAgICAgJCgnLm93bC1pdGVtJykuZWFjaChmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgICAgIHZhciB0aGlzSGVpZ2h0ID0gcGFyc2VJbnQoJCh0aGlzKS5jc3MoJ2hlaWdodCcpKTtcclxuICAgICAgICAgICAgICAgIG1pbkhlaWdodCA9IChtaW5IZWlnaHQgPD0gdGhpc0hlaWdodCA/IG1pbkhlaWdodCA6IHRoaXNIZWlnaHQpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgJCgnLnByb2R1Y3RzLWNhcm91c2VsJykuY3NzKCdoZWlnaHQnLCBtaW5IZWlnaHQgKyAncHgnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJChcIi5hY2NlbGVyYXRvclwiKS5ob3ZlcihmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgJChcImltZ1wiLCB0aGlzKS50b2dnbGVDbGFzcyhcImdyYXlzY2FsZVwiKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdmFyICRtZW51T3BlbmVyID0gJCgnLm1lbnUtb3BlbmVyJyksXHJcbiAgICAgICAgICAgICRib2R5ID0gJCgnYm9keScpLFxyXG4gICAgICAgICAgICAkbWVudUNsb3NlID0gJCgnLm1lbnUtY2xvc2UnKTtcclxuICAgICAgICAkbWVudU9wZW5lci5vbihcImNsaWNrXCIsIGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAkYm9keS50b2dnbGVDbGFzcygnbWVudS1vcGVuJyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgJG1lbnVDbG9zZS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAkYm9keS5yZW1vdmVDbGFzcygnbWVudS1vcGVuJyk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQoJy5ncmlkLXdyYXBwZXInKS5vbignY2xpY2snLCAnLm9wZW5lcicsIGZ1bmN0aW9uKGV2ZW50KSB7XHJcbiAgICAgICAgICAgICQodGhpcykuY2xvc2VzdCgnLmdyaWQtcm93JykuZmluZCgnLmJvdHRvbS1yb3cnKS5zbGlkZVRvZ2dsZSgpO1xyXG4gICAgICAgICAgICAkKHRoaXMpLmNsb3Nlc3QoJy5ncmlkLXJvdycpLmZpbmQoJy5vcGVuZXInKS50b2dnbGVDbGFzcygnYWN0aXZlJyk7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgJCgnLmFjdGl2ZScpLmNsb3Nlc3QoJy5ncmlkLXJvdycpLmZpbmQoJy5ib3R0b20tcm93Jykuc2xpZGVEb3duKCk7XHJcbiAgICB9KTtcclxuXHJcbn0pKGpRdWVyeSk7Il19 diff --git a/pole-sbv-content/uploads/2017/11/logo-sbv-150x150.jpg b/pole-sbv-content/uploads/2017/11/logo-sbv-150x150.jpg new file mode 100644 index 00000000..62f2e08d Binary files /dev/null and b/pole-sbv-content/uploads/2017/11/logo-sbv-150x150.jpg differ diff --git a/pole-sbv-content/uploads/2017/11/logo-sbv-300x172.jpg b/pole-sbv-content/uploads/2017/11/logo-sbv-300x172.jpg new file mode 100644 index 00000000..5ccc5c1a Binary files /dev/null and b/pole-sbv-content/uploads/2017/11/logo-sbv-300x172.jpg differ diff --git a/pole-sbv-content/uploads/2017/11/logo-sbv.jpg b/pole-sbv-content/uploads/2017/11/logo-sbv.jpg new file mode 100644 index 00000000..d5869d79 Binary files /dev/null and b/pole-sbv-content/uploads/2017/11/logo-sbv.jpg differ
    -
    -

    sg->GetVersion() ?>

    -

    Reading Settings to change this.','sitemap')); ?>

    - - -
    -
    -
    - -
    - - - - - HtmlPrintBoxHeader('sm_pnres',__('About this Plugin:','sitemap'),true); ?> - - - - - - - - - HtmlPrintBoxFooter(true); ?> - - HtmlPrintBoxHeader('sm_smres',__('Sitemap Resources:','sitemap'),true); ?> - - - - - - - -
    - - - - HtmlPrintBoxFooter(true); ?> - - -
    -
    - - -
    - -
    - -
    - - - - GetStartTime() > 0) { - $st=$status->GetStartTime() + (get_option( 'gmt_offset' ) * 3600); - - $head=str_replace("%date%",date_i18n(get_option('date_format'),$st) . " " . date_i18n(get_option('time_format'),$st),__('Result of the last ping, started on %date%.','sitemap')); - } - - $this->HtmlPrintBoxHeader('sm_rebuild',$head); ?> - - -
    - - sg->GetOption('i_supportfeed')) { - - echo "sg->GetBackLink() . "&sm_disable_supportfeed=true") . "\">" . __('Disable','sitemap') . ""; - - $supportFeed = $this->sg->GetSupportFeed(); - - if (!is_wp_error($supportFeed) && $supportFeed) { - $supportItems = $supportFeed->get_items(0, $supportFeed->get_item_quantity(3)); - - if(count($supportItems)>0) { - echo "
      "; - foreach($supportItems AS $item) { - $url = esc_url($item->get_permalink()); - $title = esc_html($item->get_title()); - echo "
    • {$title}
    • "; - - } - echo "
    "; - } - } else { - echo "
    • " . __('No support topics available or an error occurred while fetching them.','sitemap') . "
    "; - } - } else { - echo ""; - } - ?> -
    - - -
    -
      - sg->OldFileExists()) { - echo "
    • " . str_replace("%s",wp_nonce_url($this->sg->GetBackLink() . "&sm_delete_old=true",'sitemap'),__('There is still a sitemap.xml or sitemap.xml.gz file in your site directory. Please delete them as no static files are used anymore or try to delete them automatically.','sitemap')) . "
    • "; - } - - echo "
    • " . str_replace("%s",$this->sg->getXmlUrl(),__('The URL to your sitemap index file is: %s.','sitemap')) . "
    • "; - - if($status == null) { - echo "
    • " . __('Search engines haven\'t been notified yet. Write a post to let them know about your sitemap.','sitemap') . "
    • "; - } else { - - $services = $status->GetUsedPingServices(); - - foreach($services AS $service) { - $name = $status->GetServiceName($service); - - if($status->GetPingResult($service)) { - echo "
    • " . sprintf(__("%s was successfully notified about changes.",'sitemap'),$name). "
    • "; - $dur = $status->GetPingDuration($service); - if($dur > 4) { - echo "
    • " . str_replace(array("%time%","%name%"),array($dur,$name),__("It took %time% seconds to notify %name%, maybe you want to disable this feature to reduce the building time.",'sitemap')) . "
    • "; - } - } else { - echo "
    • " . str_replace(array("%s","%name%"),array(wp_nonce_url($this->sg->GetBackLink() . "&sm_ping_service=" . $service . "&noheader=true",'sitemap'),$name),__('There was a problem while notifying %name%. View result','sitemap')) . "
    • "; - } - } - } - - ?> - sg->GetOption('b_ping') || $this->sg->GetOption('b_pingmsn')): ?> -
    • - Notify Search Engines about ">your sitemap or ','','width=650, height=500, resizable=yes'); return false;">your main sitemap and all sub-sitemaps now. -
    • - - - " . str_replace("%d",wp_nonce_url($this->sg->GetBackLink() . "&sm_rebuild=true&sm_do_debug=true",'sitemap'),__('If you encounter any problems with your sitemap you can use the debug function to get more information.','sitemap')) . ""; ?> -
    -
      -
    • - rate it 5 stars! :)','sitemap'),$this->sg->GetRedirectLink('sitemap-works-note'),$this->sg->GetRedirectLink('sitemap-paypal')); ?> -
    • - -
    -
    - HtmlPrintBoxFooter(); ?> - - sg->IsNginx() && $this->sg->IsUsingPermalinks()): ?> - HtmlPrintBoxHeader('ngin_x',__('Webserver Configuration', 'sitemap')); ?> - -

    - - "; - } - ?> - -

    - HtmlPrintBoxFooter(); ?> - - - - - HtmlPrintBoxHeader('sm_basic_options',__('Basic Options', 'sitemap')); ?> - - -
      -
    • - sg->GetOption("b_ping")==true?"checked=\"checked\"":"") ?> /> -
      - sg->GetRedirectLink('sitemap-gwt'),__('No registration required, but you can join the Google Webmaster Tools to check crawling statistics.','sitemap')); ?> -
    • -
    • - sg->GetOption("b_pingmsn")==true?"checked=\"checked\"":"") ?> /> -
      - sg->GetRedirectLink('sitemap-lwt'),__('No registration required, but you can join the Bing Webmaster Tools to check crawling statistics.','sitemap')); ?> -
    • -
    • - - -
      - -
    • -
    - - -
      -
    • - () -
    • -
    • - () -
    • -
    • -
      - -
    • -
    • - sg->GetDefaultStyle() && $this->sg->GetOption('b_style_default')===true); ?> - - () sg->GetDefaultStyle()): ?> -
    • -
    • -
      - -
    • -
    • - -
    • -
    • - -
    • -
    - - - HtmlPrintBoxFooter(); ?> - - - HtmlPrintBoxHeader('sm_pages',__('Additional Pages', 'sitemap')); ?> - - For example, if your domain is www.foo.com and your site is located on www.foo.com/site you might want to include your homepage at www.foo.com','sitemap'); - echo "
    • "; - echo "" . __('Note','sitemap'). ": "; - _e("If your site is in a subdirectory and you want to add pages which are NOT in the site 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'); - echo "
    • "; - echo "" . __('URL to the page','sitemap'). ": "; - _e("Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home ",'sitemap'); - echo "
    • "; - echo "" . __('Priority','sitemap') . ": "; - _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'); - echo "
    • "; - echo "" . __('Last Changed','sitemap'). ": "; - _e("Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional).",'sitemap'); - - echo "
    "; - ?> - - - - - - - - - - - - - - -
    - - HtmlPrintBoxFooter(); ?> - - - - - HtmlPrintBoxHeader('sm_postprio',__('Post Priority', 'sitemap')); ?> - -

    -
      -
    • HtmlGetChecked($this->sg->GetOption("b_prio_provider"),"") ?> />

    • - sg->GetPrioProviders(); - for($i=0; $i

      HtmlGetChecked($this->sg->GetOption("b_prio_provider"),$provs[$i]) . " />
      " . call_user_func(array($provs[$i], 'getDescription')) . "

      "; - } - ?> -
    - HtmlPrintBoxFooter(); ?> - - - HtmlPrintBoxHeader('sm_includes',__('Sitemap Content', 'sitemap')); ?> - : -
      -
    • - -
    • -
    • - -
    • -
    • - -
    • -
    • - -
    • -
    • - -
    • -
    • - -
    • - sg->IsTaxonomySupported()): ?> -
    • - -
    • - -
    - - sg->IsTaxonomySupported()) { - $taxonomies = $this->sg->GetCustomTaxonomies(); - - $enabledTaxonomies = $this->sg->GetOption('in_tax'); - - if(count($taxonomies)>0) { - ?>:
      name, $enabledTaxonomies); - ?> -
    • - -
    • -
    sg->IsCustomPostTypesSupported()) { - $custom_post_types = $this->sg->GetCustomPostTypes(); - - $enabledPostTypes = $this->sg->GetOption('in_customtypes'); - - if(count($custom_post_types)>0) { - ?>:
      name, $enabledPostTypes); - - ?> -
    • - -
    • -
    - - : -
      -
    • -
      - all sitemap entries.', 'sitemap') ?> -
    • -
    - - HtmlPrintBoxFooter(); ?> - - - HtmlPrintBoxHeader('sm_excludes',__('Excluded Items', 'sitemap')); ?> - - : - -
    -
      - sg->GetOption("b_exclude_cats"),false); ?> -
    -
    - - : -
    -
    - : -
    - - HtmlPrintBoxFooter(); ?> - - - HtmlPrintBoxHeader('sm_change_frequencies',__('Change Frequencies', 'sitemap')); ?> - -

    - : - -

    -
      -
    • - -
    • -
    • - -
    • -
    • - -
    • -
    • - -
    • -
    • - -
    • -
    • - -
    • - sg->IsTaxonomySupported()): ?> -
    • - -
    • - -
    • - -
    • -
    - - HtmlPrintBoxFooter(); ?> - - - HtmlPrintBoxHeader('sm_priorities',__('Priorities', 'sitemap')); ?> -
      -
    • - -
    • -
    • - -
    • -
    • - -
    • -
    • - -
    • -
    • - -
    • -
    • - -
    • - sg->IsTaxonomySupported()): ?> -
    • - -
    • - -
    • - -
    • -
    - - HtmlPrintBoxFooter(); ?> - -
    -
    -

    - - - -

    -
    - - -
    -
    -
    - - -
    - array("cc"=>"USD","lc"=>"US"), - "en-GB"=>array("cc"=>"GBP","lc"=>"GB"), - "de"=>array("cc"=>"EUR","lc"=>"DE"), - ); - $myLc = $lc["en"]; - $wpl = get_bloginfo('language'); - if(!empty($wpl)) { - if(array_key_exists($wpl,$lc)) $myLc = $lc[$wpl]; - else { - $wpl = substr($wpl,0,2); - if(array_key_exists($wpl,$lc)) $myLc = $lc[$wpl]; - } - } - ?> - - " /> - - - - " /> - - " /> - - - "/> -
    -
    -

    " . __('Your WordPress version is too old for XML Sitemaps.', 'sitemap') . "
    " . sprintf(__('Unfortunately this release of Google XML Sitemaps requires at least WordPress %4$s. You are using Wordpress %2$s, which is out-dated and insecure. Please upgrade or go to active plugins and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the plugin website.', 'sitemap'), "plugins.php?plugin_status=active", $GLOBALS["wp_version"], "http://www.arnebrachhold.de/redir/sitemap-home/","3.3") . "