security update for uuid xmlsitemap file_field_path
This commit is contained in:
79
sites/all/modules/xmlsitemap/xmlsitemap_engines/README.txt
Normal file
79
sites/all/modules/xmlsitemap/xmlsitemap_engines/README.txt
Normal file
@@ -0,0 +1,79 @@
|
||||
CONTENTS OF THIS FILE
|
||||
---------------------
|
||||
|
||||
* Introduction
|
||||
* Requirements
|
||||
* Recommended modules
|
||||
* Installation
|
||||
* Configuration
|
||||
* Troubleshooting
|
||||
* Maintainers
|
||||
|
||||
INTRODUCTION
|
||||
------------
|
||||
|
||||
The XML sitemap engines module, part of the XML sitemap
|
||||
(https://www.drupal.org/project/xmlsitemap) package, uploads the sitemap to
|
||||
search engines automatically. The XML sitemap module creates a sitemap that
|
||||
conforms to the sitemaps.org specification. This helps search engines to more
|
||||
intelligently crawl a website and keep their results up to date.
|
||||
|
||||
* For a full description of the module visit
|
||||
https://www.drupal.org/documentation/modules/xmlsitemap
|
||||
|
||||
* To submit bug reports and feature suggestions, or to track changes visit
|
||||
https://www.drupal.org/project/issues/xmlsitemap
|
||||
|
||||
|
||||
REQUIREMENTS
|
||||
------------
|
||||
|
||||
This module requires the following module:
|
||||
|
||||
* XML sitemap - https://www.drupal.org/project/xmlsitemap
|
||||
|
||||
|
||||
RECOMMENDED MODULES
|
||||
-------------------
|
||||
|
||||
* Ctools - https://www.drupal.org/project/ctools
|
||||
* RobotsTxt - https://www.drupal.org/project/robotstxt
|
||||
* Site Verification - https://www.drupal.org/project/site_verify
|
||||
* Browscap - https://www.drupal.org/project/browscap
|
||||
* Vertical Tabs - https://www.drupal.org/project/vertical_tabs
|
||||
|
||||
|
||||
INSTALLATION
|
||||
------------
|
||||
|
||||
This is a submodule of the XML sitemap module. Install the XML sitemap module
|
||||
as you would normally install a contributed Drupal module. Visit
|
||||
https://www.drupal.org/node/895232 for further information.
|
||||
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
||||
1. Install the XML sitemap module.
|
||||
2. Enable the XML sitemap module.
|
||||
3. To upload sitemaps to the search engines and customize how often the sitemaps
|
||||
should be uploaded, enable the XML sitemap engines module.
|
||||
4. After building an XML sitemap, navigate to Administration > Configuration >
|
||||
XML sitemap > Search Engines.
|
||||
5. Choose which engines you wish to send the sitemap to by selecting the
|
||||
appropriate checkboxes. Save configuration.
|
||||
|
||||
|
||||
TROUBLESHOOTING
|
||||
---------------
|
||||
|
||||
To verify the sitemap’s ownership with search engines, be sure Cron is run
|
||||
regularly.
|
||||
|
||||
|
||||
MAINTAINERS
|
||||
-----------
|
||||
* Andrei Mateescu (amateescu) - https://www.drupal.org/u/amateescu
|
||||
* Dave Reid - https://www.drupal.org/u/dave-reid
|
||||
* Juampy NR (juampynr) - https://www.drupal.org/u/juampynr
|
||||
* Tasya Rukmana (tadityar) - https://www.drupal.org/u/tadityar
|
@@ -5,9 +5,25 @@
|
||||
* Tests for the xmlsitemap_engines module.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Functional Test.
|
||||
*
|
||||
* @codingStandardsIgnoreStart
|
||||
*/
|
||||
class XMLSitemapEnginesFunctionalTest extends XMLSitemapTestHelper {
|
||||
|
||||
/**
|
||||
* Submit URL.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $submit_url;
|
||||
|
||||
/**
|
||||
* Get Info.
|
||||
*
|
||||
* @codingStandardsIgnoreEnd
|
||||
*/
|
||||
public static function getInfo() {
|
||||
return array(
|
||||
'name' => 'XML sitemap engines functional tests',
|
||||
@@ -16,7 +32,10 @@ class XMLSitemapEnginesFunctionalTest extends XMLSitemapTestHelper {
|
||||
);
|
||||
}
|
||||
|
||||
function setUp($modules = array()) {
|
||||
/**
|
||||
* Setup.
|
||||
*/
|
||||
public function setUp($modules = array()) {
|
||||
$modules[] = 'xmlsitemap_engines';
|
||||
$modules[] = 'xmlsitemap_engines_test';
|
||||
parent::setUp($modules);
|
||||
@@ -32,7 +51,10 @@ class XMLSitemapEnginesFunctionalTest extends XMLSitemapTestHelper {
|
||||
$this->submit_url = url('ping', array('absolute' => TRUE, 'query' => array('sitemap' => ''))) . '[sitemap]';
|
||||
}
|
||||
|
||||
function submitEngines() {
|
||||
/**
|
||||
* Submit Engines.
|
||||
*/
|
||||
public function submitEngines() {
|
||||
variable_set('xmlsitemap_engines_submit_last', REQUEST_TIME - 10000);
|
||||
variable_set('xmlsitemap_generated_last', REQUEST_TIME - 100);
|
||||
variable_set('xmlsitemap_engines_minimum_lifetime', 0);
|
||||
@@ -40,14 +62,23 @@ class XMLSitemapEnginesFunctionalTest extends XMLSitemapTestHelper {
|
||||
$this->assertTrue(variable_get('xmlsitemap_engines_submit_last', 0) > (REQUEST_TIME - 100), 'Submitted the sitemaps to search engines.');
|
||||
}
|
||||
|
||||
function testPrepareURL() {
|
||||
/**
|
||||
* Test Prepare URL.
|
||||
*
|
||||
* @codingStandardsIgnoreStart
|
||||
*/
|
||||
public function testPrepareURL() {
|
||||
// @codingStandardsIgnoreEnd
|
||||
$sitemap = 'http://example.com/sitemap.xml';
|
||||
$input = 'http://example.com/ping?sitemap=[sitemap]&foo=bar';
|
||||
$output = 'http://example.com/ping?sitemap=http://example.com/sitemap.xml&foo=bar';
|
||||
$this->assertEqual(xmlsitemap_engines_prepare_url($input, $sitemap), $output);
|
||||
}
|
||||
|
||||
function testSubmitSitemaps() {
|
||||
/**
|
||||
* Test Submit Sitemaps.
|
||||
*/
|
||||
public function testSubmitSitemaps() {
|
||||
$sitemaps = array();
|
||||
$sitemap = new stdClass();
|
||||
$sitemap->uri = array(
|
||||
@@ -63,11 +94,26 @@ class XMLSitemapEnginesFunctionalTest extends XMLSitemapTestHelper {
|
||||
$sitemaps[] = $sitemap;
|
||||
xmlsitemap_engines_submit_sitemaps($this->submit_url, $sitemaps);
|
||||
|
||||
$this->assertWatchdogMessage(array('type' => 'xmlsitemap', 'message' => 'Recieved ping for @sitemap.', 'variables' => array('@sitemap' => 'http://example.com/sitemap.xml')));
|
||||
$this->assertWatchdogMessage(array('type' => 'xmlsitemap', 'message' => 'Recieved ping for @sitemap.', 'variables' => array('@sitemap' => 'http://example.com/sitemap-2.xml')));
|
||||
$this->assertWatchdogMessage(array(
|
||||
'type' => 'xmlsitemap',
|
||||
'message' => 'Recieved ping for @sitemap.',
|
||||
'variables' => array(
|
||||
'@sitemap' => 'http://example.com/sitemap.xml',
|
||||
),
|
||||
));
|
||||
$this->assertWatchdogMessage(array(
|
||||
'type' => 'xmlsitemap',
|
||||
'message' => 'Recieved ping for @sitemap.',
|
||||
'variables' => array(
|
||||
'@sitemap' => 'http://example.com/sitemap-2.xml',
|
||||
),
|
||||
));
|
||||
}
|
||||
|
||||
function testPing() {
|
||||
/**
|
||||
* Test Ping.
|
||||
*/
|
||||
public function testPing() {
|
||||
$edit = array('xmlsitemap_engines_engines[simpletest]' => TRUE);
|
||||
$this->drupalPost('admin/config/search/xmlsitemap/engines', $edit, t('Save configuration'));
|
||||
$this->assertText(t('The configuration options have been saved.'));
|
||||
@@ -77,7 +123,13 @@ class XMLSitemapEnginesFunctionalTest extends XMLSitemapTestHelper {
|
||||
$this->assertWatchdogMessage(array('type' => 'xmlsitemap', 'message' => 'Recieved ping for @sitemap.'));
|
||||
}
|
||||
|
||||
function testCustomURL() {
|
||||
/**
|
||||
* Test Custom URL.
|
||||
*
|
||||
* @codingStandardsIgnoreStart
|
||||
*/
|
||||
public function testCustomURL() {
|
||||
// @codingStandardsIgnoreEnd
|
||||
$edit = array('xmlsitemap_engines_custom_urls' => 'an-invalid-url');
|
||||
$this->drupalPost('admin/config/search/xmlsitemap/engines', $edit, t('Save configuration'));
|
||||
$this->assertText('Invalid URL an-invalid-url.');
|
||||
@@ -89,7 +141,14 @@ class XMLSitemapEnginesFunctionalTest extends XMLSitemapTestHelper {
|
||||
$this->assertText(t('The configuration options have been saved.'));
|
||||
|
||||
$this->submitEngines();
|
||||
$this->assertWatchdogMessage(array('type' => 'xmlsitemap', 'message' => 'Submitted the sitemap to %url and received response @code.', 'variables' => array('%url' => $url, '@code' => '404')));
|
||||
$this->assertWatchdogMessage(array(
|
||||
'type' => 'xmlsitemap',
|
||||
'message' => 'Submitted the sitemap to %url and received response @code.',
|
||||
'variables' => array(
|
||||
'%url' => $url,
|
||||
'@code' => '404',
|
||||
),
|
||||
));
|
||||
$this->assertWatchdogMessage(array('type' => 'xmlsitemap', 'message' => 'No valid sitemap parameter provided.'));
|
||||
$this->assertWatchdogMessage(array('type' => 'page not found', 'message' => 'ping'));
|
||||
|
||||
@@ -99,7 +158,23 @@ class XMLSitemapEnginesFunctionalTest extends XMLSitemapTestHelper {
|
||||
|
||||
$this->submitEngines();
|
||||
$url = xmlsitemap_engines_prepare_url($this->submit_url, url('sitemap.xml', array('absolute' => TRUE)));
|
||||
$this->assertWatchdogMessage(array('type' => 'xmlsitemap', 'message' => 'Submitted the sitemap to %url and received response @code.', 'variables' => array('%url' => $url, '@code' => '200')));
|
||||
$this->assertWatchdogMessage(array('type' => 'xmlsitemap', 'message' => 'Recieved ping for @sitemap.', 'variables' => array('@sitemap' => url('sitemap.xml', array('absolute' => TRUE)))));
|
||||
$this->assertWatchdogMessage(array(
|
||||
'type' => 'xmlsitemap',
|
||||
'message' => 'Submitted the sitemap to %url and received response @code.',
|
||||
'variables' => array(
|
||||
'%url' => $url,
|
||||
'@code' => '200',
|
||||
),
|
||||
));
|
||||
$this->assertWatchdogMessage(array(
|
||||
'type' => 'xmlsitemap',
|
||||
'message' => 'Recieved ping for @sitemap.',
|
||||
'variables' => array(
|
||||
'@sitemap' => url('sitemap.xml', array(
|
||||
'absolute' => TRUE,
|
||||
)),
|
||||
),
|
||||
));
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -2,13 +2,10 @@ name = XML sitemap engines test
|
||||
description = Support module for XML sitemap engines testing.
|
||||
package = Testing
|
||||
core = 7.x
|
||||
files[] = xmlsitemap_engines_test.module
|
||||
version = VERSION
|
||||
hidden = TRUE
|
||||
|
||||
; Information added by Drupal.org packaging script on 2016-05-25
|
||||
version = "7.x-2.3"
|
||||
; Information added by Drupal.org packaging script on 2018-10-09
|
||||
version = "7.x-2.6"
|
||||
core = "7.x"
|
||||
project = "xmlsitemap"
|
||||
datestamp = "1464191061"
|
||||
|
||||
datestamp = "1539120486"
|
||||
|
@@ -1,11 +1,17 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Unit tests for the XML sitemap engines project.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Implements hook_menu().
|
||||
*/
|
||||
function xmlsitemap_engines_test_menu() {
|
||||
$items['ping'] = array(
|
||||
'page callback' => 'xmlsitemap_engines_test_pinged',
|
||||
// @codingStandardsIgnoreLine
|
||||
'access callback' => TRUE,
|
||||
'type' => MENU_CALLBACK,
|
||||
);
|
||||
@@ -30,6 +36,9 @@ function xmlsitemap_engines_test_xmlsitemap_engine_info_alter(&$engines) {
|
||||
$engines['simpletest']['url'] = url('ping', array('absolute' => TRUE, 'query' => array('sitemap' => ''))) . '[sitemap]';
|
||||
}
|
||||
|
||||
/**
|
||||
* Test pinged.
|
||||
*/
|
||||
function xmlsitemap_engines_test_pinged() {
|
||||
if (empty($_GET['sitemap']) || !valid_url($_GET['sitemap'])) {
|
||||
watchdog('xmlsitemap', 'No valid sitemap parameter provided.', array(), WATCHDOG_WARNING);
|
||||
|
@@ -26,7 +26,19 @@ function xmlsitemap_engines_settings_form() {
|
||||
$form['xmlsitemap_engines_minimum_lifetime'] = array(
|
||||
'#type' => 'select',
|
||||
'#title' => t('Do not submit more often than every'),
|
||||
'#options' => drupal_map_assoc(array(3600, 10800, 21600, 32400, 43200, 86400, 172800, 259200, 604800, 604800 * 2, 604800 * 4), 'format_interval'),
|
||||
'#options' => drupal_map_assoc(array(
|
||||
3600,
|
||||
10800,
|
||||
21600,
|
||||
32400,
|
||||
43200,
|
||||
86400,
|
||||
172800,
|
||||
259200,
|
||||
604800,
|
||||
604800 * 2,
|
||||
604800 * 4,
|
||||
), 'format_interval'),
|
||||
'#default_value' => variable_get('xmlsitemap_engines_minimum_lifetime', 86400),
|
||||
);
|
||||
$form['xmlsitemap_engines_submit_updated'] = array(
|
||||
@@ -37,7 +49,12 @@ function xmlsitemap_engines_settings_form() {
|
||||
$form['xmlsitemap_engines_custom_urls'] = array(
|
||||
'#type' => 'textarea',
|
||||
'#title' => t('Custom submission URLs'),
|
||||
'#description' => t('Enter one URL per line. The token [sitemap] will be replaced with the URL to your sitemap. For example: %example-before would become %example-after.', array('%example-before' => 'http://example.com/ping?[sitemap]', '%example-after' => xmlsitemap_engines_prepare_url('http://example.com/ping?[sitemap]', url('sitemap.xml', array('absolute' => TRUE))))),
|
||||
'#description' => t('Enter one URL per line. The token [sitemap] will be replaced with the URL to your sitemap. For example: %example-before would become %example-after.', array(
|
||||
'%example-before' => 'http://example.com/ping?[sitemap]',
|
||||
'%example-after' => xmlsitemap_engines_prepare_url('http://example.com/ping?[sitemap]', url('sitemap.xml', array(
|
||||
'absolute' => TRUE,
|
||||
))),
|
||||
)),
|
||||
'#default_value' => variable_get('xmlsitemap_engines_custom_urls', ''),
|
||||
'#rows' => 2,
|
||||
'#wysiwyg' => FALSE,
|
||||
|
@@ -16,7 +16,7 @@
|
||||
function hook_xmlsitemap_engine_info() {
|
||||
$engines['example'] = array(
|
||||
'name' => t('Example search engine'),
|
||||
'url' => 'http://example.com/ping?sitemap=[sitemap]'
|
||||
'url' => 'http://example.com/ping?sitemap=[sitemap]',
|
||||
);
|
||||
return $engines;
|
||||
}
|
||||
|
@@ -3,16 +3,12 @@ description = Submit the sitemap to search engines.
|
||||
package = XML sitemap
|
||||
core = 7.x
|
||||
dependencies[] = xmlsitemap
|
||||
files[] = xmlsitemap_engines.module
|
||||
files[] = xmlsitemap_engines.admin.inc
|
||||
files[] = xmlsitemap_engines.install
|
||||
files[] = tests/xmlsitemap_engines.test
|
||||
recommends[] = site_verify
|
||||
configure = admin/config/search/xmlsitemap/engines
|
||||
|
||||
; Information added by Drupal.org packaging script on 2016-05-25
|
||||
version = "7.x-2.3"
|
||||
; Information added by Drupal.org packaging script on 2018-10-09
|
||||
version = "7.x-2.6"
|
||||
core = "7.x"
|
||||
project = "xmlsitemap"
|
||||
datestamp = "1464191061"
|
||||
|
||||
datestamp = "1539120486"
|
||||
|
@@ -1,5 +1,10 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Main file for XML sitemap engines.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Implements hook_hook_info().
|
||||
*/
|
||||
@@ -21,7 +26,7 @@ function xmlsitemap_engines_help($path, $arg) {
|
||||
switch ($path) {
|
||||
case 'admin/config/search/xmlsitemap/engines':
|
||||
if (!module_exists('site_verify')) {
|
||||
$output .= '<p>' . t('In order to verify site ownership with the search engines listed below, it is highly recommended to download and install the <a href="@site-verify">Site verification module</a>.', array('@site-verify' => 'http://drupal.org/project/site_verify')) . '</p>';
|
||||
$output .= '<p>' . t('In order to verify site ownership with the search engines listed below, it is highly recommended to download and install the <a href="@site-verify">Site verification module</a>.', array('@site-verify' => 'https://www.drupal.org/project/site_verify')) . '</p>';
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -41,12 +46,13 @@ function xmlsitemap_engines_menu() {
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'file' => 'xmlsitemap_engines.admin.inc',
|
||||
);
|
||||
//$items['admin/config/search/xmlsitemap/engines/submit'] = array(
|
||||
// 'page callback' => 'xmlsitemap_engines_submit',
|
||||
// 'access callback' => 'xmlsitemap_engines_submit_access',
|
||||
// 'type' => MENU_CALLBACK,
|
||||
//);
|
||||
|
||||
// @code
|
||||
// $items['admin/config/search/xmlsitemap/engines/submit'] = array(
|
||||
// 'page callback' => 'xmlsitemap_engines_submit',
|
||||
// 'access callback' => 'xmlsitemap_engines_submit_access',
|
||||
// 'type' => MENU_CALLBACK,
|
||||
// );
|
||||
// @endcode
|
||||
return $items;
|
||||
}
|
||||
|
||||
@@ -59,6 +65,9 @@ function xmlsitemap_engines_cron() {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if can submit.
|
||||
*/
|
||||
function xmlsitemap_engines_can_submit() {
|
||||
// Skip if the site is offline since search engines will not be able to
|
||||
// access the site's content.
|
||||
@@ -73,16 +82,21 @@ function xmlsitemap_engines_can_submit() {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Submit access.
|
||||
*/
|
||||
function xmlsitemap_engines_submit_access() {
|
||||
if (!xmlsitemap_engines_can_submit()) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// Allow manual submissions to run.
|
||||
//if ($_GET['q'] == 'admin/config/search/xmlsitemap/engines/submit' && user_access('administer xmlsitemap')) {
|
||||
// return TRUE;
|
||||
//}
|
||||
|
||||
// @code
|
||||
// @codingStandardsIgnoreLine
|
||||
// if ($_GET['q'] == 'admin/config/search/xmlsitemap/engines/submit' && user_access('administer xmlsitemap')) {
|
||||
// return TRUE;
|
||||
// }
|
||||
// @endcode
|
||||
$submit_updated = variable_get('xmlsitemap_engines_submit_updated', TRUE);
|
||||
$submitted_last = variable_get('xmlsitemap_engines_submit_last', 0);
|
||||
$minimum_lifetime = variable_get('xmlsitemap_engines_minimum_lifetime', 86400);
|
||||
@@ -103,7 +117,7 @@ function xmlsitemap_engines_submit_access() {
|
||||
/**
|
||||
* Submit the sitemaps to all the specified search engines.
|
||||
*
|
||||
* @param $smids
|
||||
* @param array $smids
|
||||
* An optional array of XML sitemap IDs. If not provided, it will load all
|
||||
* existing XML sitemaps.
|
||||
*/
|
||||
@@ -134,9 +148,9 @@ function xmlsitemap_engines_submit_engines(array $smids = array()) {
|
||||
/**
|
||||
* Submit the sitemaps to a specific URL.
|
||||
*
|
||||
* @param $url
|
||||
* @param string $url
|
||||
* The URL for sitemap submission.
|
||||
* @param $sitemaps
|
||||
* @param array $sitemaps
|
||||
* An array of URLs of the sitemaps to submit.
|
||||
*/
|
||||
function xmlsitemap_engines_submit_sitemaps($url, array $sitemaps) {
|
||||
@@ -151,9 +165,10 @@ function xmlsitemap_engines_submit_sitemaps($url, array $sitemaps) {
|
||||
/**
|
||||
* Replace valid tokens in the URL with their appropriate values.
|
||||
*
|
||||
* @param $url
|
||||
* @param string $url
|
||||
* An un-tokenized URL.
|
||||
* @return
|
||||
*
|
||||
* @return string
|
||||
* A tokenized URL.
|
||||
*/
|
||||
function xmlsitemap_engines_prepare_url($url, $sitemap) {
|
||||
@@ -163,12 +178,9 @@ function xmlsitemap_engines_prepare_url($url, $sitemap) {
|
||||
/**
|
||||
* Returns information about supported search engines.
|
||||
*
|
||||
* @param $engine
|
||||
* @param string $engine
|
||||
* (optional) The engine to return information for. If omitted, information
|
||||
* for all engines is returned.
|
||||
* @param $reset
|
||||
* (optional) Boolean whether to reset the static cache and do nothing. Only
|
||||
* used for tests.
|
||||
*
|
||||
* @see hook_xmlsitemap_engines_info()
|
||||
* @see hook_xmlsitemap_engines_info_alter()
|
||||
@@ -205,13 +217,13 @@ function xmlsitemap_engines_get_engine_info($engine = NULL) {
|
||||
function xmlsitemap_engines_xmlsitemap_engine_info() {
|
||||
$engines['google'] = array(
|
||||
'name' => t('Google'),
|
||||
'url' => 'http://www.google.com/webmasters/tools/ping?sitemap=[sitemap]',
|
||||
'help url' => 'http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156184',
|
||||
'url' => 'https://www.google.com/webmasters/tools/ping?sitemap=[sitemap]',
|
||||
'help url' => 'https://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156184',
|
||||
);
|
||||
$engines['bing'] = array(
|
||||
'name' => t('Bing'),
|
||||
'url' => 'http://www.bing.com/webmaster/ping.aspx?siteMap=[sitemap]',
|
||||
'help url' => 'http://www.bing.com/webmaster',
|
||||
'url' => 'https://www.bing.com/webmaster/ping.aspx?siteMap=[sitemap]',
|
||||
'help url' => 'https://www.bing.com/webmaster',
|
||||
);
|
||||
return $engines;
|
||||
}
|
||||
|
Reference in New Issue
Block a user