diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 1cfc6da..c015fb4 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,4 +1,32 @@
+Drupal 7.54, 2017-02-01
+-----------------------
+- Modules are now able to define theme engines (API addition:
+ https://www.drupal.org/node/2826480).
+- Logging of searches can now be disabled (new option in the administrative
+ interface).
+- Added menu tree render structure to (pre-)process hooks for theme_menu_tree()
+ (API addition: https://www.drupal.org/node/2827134).
+- Added new function for determining whether an HTTPS request is being served
+ (API addition: https://www.drupal.org/node/2824590).
+- Fixed incorrect default value for short and medium date formats on the date
+ type configuration page.
+- File validation error message is now removed after subsequent upload of valid
+ file.
+- Numerous bug fixes.
+- Numerous API documentation improvements.
+- Additional performance improvements.
+- Additional automated test coverage.
+
+Drupal 7.53, 2016-12-07
+-----------------------
+- Fixed drag and drop support on newer Chrome/IE 11+ versions after 7.51 update
+ when jQuery is updated to 1.7-1.11.0.
+
+Drupal 7.52, 2016-11-16
+-----------------------
+- Fixed security issues (multiple vulnerabilities). See SA-CORE-2016-005.
+
Drupal 7.51, 2016-10-05
-----------------------
- The Update module now also checks for updates to a disabled theme that is
diff --git a/includes/bootstrap.inc b/includes/bootstrap.inc
index 3c41c69..99a5ac8 100644
--- a/includes/bootstrap.inc
+++ b/includes/bootstrap.inc
@@ -8,7 +8,7 @@
/**
* The current system version.
*/
-define('VERSION', '7.51');
+define('VERSION', '7.54');
/**
* Core API compatibility.
@@ -718,6 +718,16 @@ function drupal_valid_http_host($host) {
&& preg_match('/^\[?(?:[a-zA-Z0-9-:\]_]+\.?)+$/', $host);
}
+/**
+ * Checks whether an HTTPS request is being served.
+ *
+ * @return bool
+ * TRUE if the request is HTTPS, FALSE otherwise.
+ */
+function drupal_is_https() {
+ return isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on';
+}
+
/**
* Sets the base URL, cookie domain, and session name from configuration.
*/
@@ -731,7 +741,7 @@ function drupal_settings_initialize() {
if (file_exists(DRUPAL_ROOT . '/' . conf_path() . '/settings.php')) {
include_once DRUPAL_ROOT . '/' . conf_path() . '/settings.php';
}
- $is_https = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on';
+ $is_https = drupal_is_https();
if (isset($base_url)) {
// Parse fixed base URL from settings.php.
diff --git a/includes/cache.inc b/includes/cache.inc
index 4c2bed3..945dd66 100644
--- a/includes/cache.inc
+++ b/includes/cache.inc
@@ -122,7 +122,12 @@ function cache_get_multiple(array &$cids, $bin = 'cache') {
* the administrator panel.
* - cache_path: Stores the system paths that have an alias.
* @param $expire
- * (optional) One of the following values:
+ * (optional) Controls the maximum lifetime of this cache entry. Note that
+ * caches might be subject to clearing at any time, so this setting does not
+ * guarantee a minimum lifetime. With this in mind, the cache should not be
+ * used for data that must be kept during a cache clear, like sessions.
+ *
+ * Use one of the following values:
* - CACHE_PERMANENT: Indicates that the item should never be removed unless
* explicitly told to using cache_clear_all() with a cache ID.
* - CACHE_TEMPORARY: Indicates that the item should be removed at the next
@@ -262,7 +267,12 @@ interface DrupalCacheInterface {
* 1MB in size to be stored by default. When caching large arrays or
* similar, take care to ensure $data does not exceed this size.
* @param $expire
- * (optional) One of the following values:
+ * (optional) Controls the maximum lifetime of this cache entry. Note that
+ * caches might be subject to clearing at any time, so this setting does not
+ * guarantee a minimum lifetime. With this in mind, the cache should not be
+ * used for data that must be kept during a cache clear, like sessions.
+ *
+ * Use one of the following values:
* - CACHE_PERMANENT: Indicates that the item should never be removed unless
* explicitly told to using cache_clear_all() with a cache ID.
* - CACHE_TEMPORARY: Indicates that the item should be removed at the next
diff --git a/includes/common.inc b/includes/common.inc
index 339a69b..da8996a 100644
--- a/includes/common.inc
+++ b/includes/common.inc
@@ -3986,7 +3986,11 @@ function drupal_html_id($id) {
// be merged with content already on the base page. The HTML IDs must be
// unique for the fully merged content. Therefore, initialize $seen_ids to
// take into account IDs that are already in use on the base page.
- $seen_ids_init = &drupal_static(__FUNCTION__ . ':init');
+ static $drupal_static_fast;
+ if (!isset($drupal_static_fast['seen_ids_init'])) {
+ $drupal_static_fast['seen_ids_init'] = &drupal_static(__FUNCTION__ . ':init');
+ }
+ $seen_ids_init = &$drupal_static_fast['seen_ids_init'];
if (!isset($seen_ids_init)) {
// Ideally, Drupal would provide an API to persist state information about
// prior page requests in the database, and we'd be able to add this
@@ -4031,7 +4035,10 @@ function drupal_html_id($id) {
}
}
}
- $seen_ids = &drupal_static(__FUNCTION__, $seen_ids_init);
+ if (!isset($drupal_static_fast['seen_ids'])) {
+ $drupal_static_fast['seen_ids'] = &drupal_static(__FUNCTION__, $seen_ids_init);
+ }
+ $seen_ids = &$drupal_static_fast['seen_ids'];
$id = strtr(drupal_strtolower($id), array(' ' => '-', '_' => '-', '[' => '-', ']' => ''));
diff --git a/includes/database/select.inc b/includes/database/select.inc
index 3abd205..8d84460 100644
--- a/includes/database/select.inc
+++ b/includes/database/select.inc
@@ -1231,6 +1231,21 @@ class SelectQuery extends Query implements SelectQueryInterface {
// Modules may alter all queries or only those having a particular tag.
if (isset($this->alterTags)) {
+ // Many contrib modules assume that query tags used for access-checking
+ // purposes follow the pattern $entity_type . '_access'. But this is
+ // not the case for taxonomy terms, since core used to add term_access
+ // instead of taxonomy_term_access to its queries. Provide backwards
+ // compatibility by adding both tags here instead of attempting to fix
+ // all contrib modules in a coordinated effort.
+ // TODO:
+ // - Extract this mechanism into a hook as part of a public (non-security)
+ // issue.
+ // - Emit E_USER_DEPRECATED if term_access is used.
+ // https://www.drupal.org/node/2575081
+ $term_access_tags = array('term_access' => 1, 'taxonomy_term_access' => 1);
+ if (array_intersect_key($this->alterTags, $term_access_tags)) {
+ $this->alterTags += $term_access_tags;
+ }
$hooks = array('query');
foreach ($this->alterTags as $tag => $value) {
$hooks[] = 'query_' . $tag;
diff --git a/includes/date.inc b/includes/date.inc
index 01ab131..9e68fee 100644
--- a/includes/date.inc
+++ b/includes/date.inc
@@ -12,11 +12,6 @@ function system_default_date_formats() {
$formats = array();
// Short date formats.
- $formats[] = array(
- 'type' => 'short',
- 'format' => 'Y-m-d H:i',
- 'locales' => array(),
- );
$formats[] = array(
'type' => 'short',
'format' => 'm/d/Y - H:i',
@@ -37,6 +32,11 @@ function system_default_date_formats() {
'format' => 'd.m.Y - H:i',
'locales' => array('de-ch', 'de-de', 'de-lu', 'fi-fi', 'fr-ch', 'is-is', 'pl-pl', 'ro-ro', 'ru-ru'),
);
+ $formats[] = array(
+ 'type' => 'short',
+ 'format' => 'Y-m-d H:i',
+ 'locales' => array(),
+ );
$formats[] = array(
'type' => 'short',
'format' => 'm/d/Y - g:ia',
@@ -84,11 +84,6 @@ function system_default_date_formats() {
);
// Medium date formats.
- $formats[] = array(
- 'type' => 'medium',
- 'format' => 'D, Y-m-d H:i',
- 'locales' => array(),
- );
$formats[] = array(
'type' => 'medium',
'format' => 'D, m/d/Y - H:i',
@@ -104,6 +99,11 @@ function system_default_date_formats() {
'format' => 'D, Y/m/d - H:i',
'locales' => array('en-ca', 'fr-ca', 'no-no', 'sv-se'),
);
+ $formats[] = array(
+ 'type' => 'medium',
+ 'format' => 'D, Y-m-d H:i',
+ 'locales' => array(),
+ );
$formats[] = array(
'type' => 'medium',
'format' => 'F j, Y - H:i',
diff --git a/includes/form.inc b/includes/form.inc
index 130775f..e749239 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -1176,7 +1176,7 @@ function drupal_validate_form($form_id, &$form, &$form_state) {
// If the session token was set by drupal_prepare_form(), ensure that it
// matches the current user's session. This is duplicate to code in
// form_builder() but left to protect any custom form handling code.
- if (isset($form['#token'])) {
+ if (!empty($form['#token'])) {
if (!drupal_valid_token($form_state['values']['form_token'], $form['#token']) || !empty($form_state['invalid_token'])) {
_drupal_invalid_token_set_form_error();
// Stop here and don't run any further validation handlers, because they
@@ -1837,7 +1837,7 @@ function form_builder($form_id, &$element, &$form_state) {
// If the session token was set by drupal_prepare_form(), ensure that it
// matches the current user's session.
$form_state['invalid_token'] = FALSE;
- if (isset($element['#token'])) {
+ if (!empty($element['#token'])) {
if (empty($form_state['input']['form_token']) || !drupal_valid_token($form_state['input']['form_token'], $element['#token'])) {
// Set an early form error to block certain input processing since that
// opens the door for CSRF vulnerabilities.
diff --git a/includes/menu.inc b/includes/menu.inc
index 05ecac0..4664d27 100644
--- a/includes/menu.inc
+++ b/includes/menu.inc
@@ -1606,6 +1606,7 @@ function _menu_tree_data(&$links, $parents, $depth) {
* Implements template_preprocess_HOOK() for theme_menu_tree().
*/
function template_preprocess_menu_tree(&$variables) {
+ $variables['#tree'] = $variables['tree'];
$variables['tree'] = $variables['tree']['#children'];
}
@@ -2682,7 +2683,7 @@ function menu_link_load($mlid) {
}
/**
- * Clears the cached cached data for a single named menu.
+ * Clears the cached data for a single named menu.
*/
function menu_cache_clear($menu_name = 'navigation') {
$cache_cleared = &drupal_static(__FUNCTION__, array());
diff --git a/includes/stream_wrappers.inc b/includes/stream_wrappers.inc
index 4882938..232ff14 100644
--- a/includes/stream_wrappers.inc
+++ b/includes/stream_wrappers.inc
@@ -133,7 +133,7 @@ interface DrupalStreamWrapperInterface extends StreamWrapperInterface {
* @param $uri
* A string containing the URI that should be used for this instance.
*/
- function setUri($uri);
+ public function setUri($uri);
/**
* Returns the stream resource URI.
@@ -219,7 +219,6 @@ interface DrupalStreamWrapperInterface extends StreamWrapperInterface {
public function dirname($uri = NULL);
}
-
/**
* Drupal stream wrapper base class for local files.
*
@@ -549,6 +548,155 @@ abstract class DrupalLocalStreamWrapper implements DrupalStreamWrapperInterface
return fclose($this->handle);
}
+ /**
+ * Sets metadata on the stream.
+ *
+ * WARNING: Do not call this method directly! It will be called internally by
+ * PHP itself when one of the following functions is called on a stream URL:
+ *
+ * @param string $uri
+ * A string containing the URI to the file to set metadata on.
+ * @param int $option
+ * One of:
+ * - STREAM_META_TOUCH: The method was called in response to touch().
+ * - STREAM_META_OWNER_NAME: The method was called in response to chown()
+ * with string parameter.
+ * - STREAM_META_OWNER: The method was called in response to chown().
+ * - STREAM_META_GROUP_NAME: The method was called in response to chgrp().
+ * - STREAM_META_GROUP: The method was called in response to chgrp().
+ * - STREAM_META_ACCESS: The method was called in response to chmod().
+ * @param mixed $value
+ * If option is:
+ * - STREAM_META_TOUCH: Array consisting of two arguments of the touch()
+ * function.
+ * - STREAM_META_OWNER_NAME or STREAM_META_GROUP_NAME: The name of the owner
+ * user/group as string.
+ * - STREAM_META_OWNER or STREAM_META_GROUP: The value of the owner
+ * user/group as integer.
+ * - STREAM_META_ACCESS: The argument of the chmod() as integer.
+ *
+ * @return bool
+ * Returns TRUE on success or FALSE on failure. If $option is not
+ * implemented, FALSE should be returned.
+ *
+ * @see touch()
+ * @see chmod()
+ * @see chown()
+ * @see chgrp()
+ * @link http://php.net/manual/streamwrapper.stream-metadata.php
+ */
+ public function stream_metadata($uri, $option, $value) {
+ $target = $this->getLocalPath($uri);
+ $return = FALSE;
+ switch ($option) {
+ case STREAM_META_TOUCH:
+ if (!empty($value)) {
+ $return = touch($target, $value[0], $value[1]);
+ }
+ else {
+ $return = touch($target);
+ }
+ break;
+
+ case STREAM_META_OWNER_NAME:
+ case STREAM_META_OWNER:
+ $return = chown($target, $value);
+ break;
+
+ case STREAM_META_GROUP_NAME:
+ case STREAM_META_GROUP:
+ $return = chgrp($target, $value);
+ break;
+
+ case STREAM_META_ACCESS:
+ $return = chmod($target, $value);
+ break;
+ }
+ if ($return) {
+ // For convenience clear the file status cache of the underlying file,
+ // since metadata operations are often followed by file status checks.
+ clearstatcache(TRUE, $target);
+ }
+ return $return;
+ }
+
+ /**
+ * Truncate stream.
+ *
+ * Will respond to truncation; e.g., through ftruncate().
+ *
+ * @param int $new_size
+ * The new size.
+ *
+ * @return bool
+ * TRUE on success, FALSE otherwise.
+ */
+ public function stream_truncate($new_size) {
+ return ftruncate($this->handle, $new_size);
+ }
+
+ /**
+ * Retrieve the underlying stream resource.
+ *
+ * This method is called in response to stream_select().
+ *
+ * @param int $cast_as
+ * Can be STREAM_CAST_FOR_SELECT when stream_select() is calling
+ * stream_cast() or STREAM_CAST_AS_STREAM when stream_cast() is called for
+ * other uses.
+ *
+ * @return resource|false
+ * The underlying stream resource or FALSE if stream_select() is not
+ * supported.
+ *
+ * @see stream_select()
+ * @link http://php.net/manual/streamwrapper.stream-cast.php
+ */
+ public function stream_cast($cast_as) {
+ return $this->handle ? $this->handle : FALSE;
+ }
+
+ /**
+ * Change stream options.
+ *
+ * This method is called to set options on the stream.
+ *
+ * Since Windows systems do not allow it and it is not needed for most use
+ * cases anyway, this method is not supported on local files and will trigger
+ * an error and return false. If needed, custom subclasses can provide
+ * OS-specific implementations for advanced use cases.
+ *
+ * @param int $option
+ * One of:
+ * - STREAM_OPTION_BLOCKING: The method was called in response to
+ * stream_set_blocking().
+ * - STREAM_OPTION_READ_TIMEOUT: The method was called in response to
+ * stream_set_timeout().
+ * - STREAM_OPTION_WRITE_BUFFER: The method was called in response to
+ * stream_set_write_buffer().
+ * @param int $arg1
+ * If option is:
+ * - STREAM_OPTION_BLOCKING: The requested blocking mode:
+ * - 1 means blocking.
+ * - 0 means not blocking.
+ * - STREAM_OPTION_READ_TIMEOUT: The timeout in seconds.
+ * - STREAM_OPTION_WRITE_BUFFER: The buffer mode, STREAM_BUFFER_NONE or
+ * STREAM_BUFFER_FULL.
+ * @param int $arg2
+ * If option is:
+ * - STREAM_OPTION_BLOCKING: This option is not set.
+ * - STREAM_OPTION_READ_TIMEOUT: The timeout in microseconds.
+ * - STREAM_OPTION_WRITE_BUFFER: The requested buffer size.
+ *
+ * @return bool
+ * TRUE on success, FALSE otherwise. If $option is not implemented, FALSE
+ * should be returned.
+ */
+ public function stream_set_option($option, $arg1, $arg2) {
+ trigger_error('stream_set_option() not supported for local file based stream wrappers', E_USER_WARNING);
+ return FALSE;
+ }
+
/**
* Support for unlink().
*
diff --git a/misc/tabledrag.js b/misc/tabledrag.js
index 4e07784..7ea88b6 100644
--- a/misc/tabledrag.js
+++ b/misc/tabledrag.js
@@ -580,12 +580,20 @@ Drupal.tableDrag.prototype.dropRow = function (event, self) {
* Get the mouse coordinates from the event (allowing for browser differences).
*/
Drupal.tableDrag.prototype.mouseCoords = function (event) {
+ // Complete support for pointer events was only introduced to jQuery in
+ // version 1.11.1; between versions 1.7 and 1.11.0 pointer events have the
+ // clientX and clientY properties undefined. In those cases, the properties
+ // must be retrieved from the event.originalEvent object instead.
+ var clientX = event.clientX || event.originalEvent.clientX;
+ var clientY = event.clientY || event.originalEvent.clientY;
+
if (event.pageX || event.pageY) {
return { x: event.pageX, y: event.pageY };
}
+
return {
- x: event.clientX + document.body.scrollLeft - document.body.clientLeft,
- y: event.clientY + document.body.scrollTop - document.body.clientTop
+ x: clientX + document.body.scrollLeft - document.body.clientLeft,
+ y: clientY + document.body.scrollTop - document.body.clientTop
};
};
diff --git a/modules/aggregator/aggregator.info b/modules/aggregator/aggregator.info
index 5241170..67ebdc0 100644
--- a/modules/aggregator/aggregator.info
+++ b/modules/aggregator/aggregator.info
@@ -7,8 +7,8 @@ files[] = aggregator.test
configure = admin/config/services/aggregator/settings
stylesheets[all][] = aggregator.css
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/aggregator/tests/aggregator_test.info b/modules/aggregator/tests/aggregator_test.info
index f3194fe..4983896 100644
--- a/modules/aggregator/tests/aggregator_test.info
+++ b/modules/aggregator/tests/aggregator_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/block/block.info b/modules/block/block.info
index be55e09..9e47f1f 100644
--- a/modules/block/block.info
+++ b/modules/block/block.info
@@ -6,8 +6,8 @@ core = 7.x
files[] = block.test
configure = admin/structure/block
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/block/tests/block_test.info b/modules/block/tests/block_test.info
index 2bb8d03..ef1f713 100644
--- a/modules/block/tests/block_test.info
+++ b/modules/block/tests/block_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/block/tests/themes/block_test_theme/block_test_theme.info b/modules/block/tests/themes/block_test_theme/block_test_theme.info
index 18a70cf..be82747 100644
--- a/modules/block/tests/themes/block_test_theme/block_test_theme.info
+++ b/modules/block/tests/themes/block_test_theme/block_test_theme.info
@@ -13,8 +13,8 @@ regions[footer] = Footer
regions[highlighted] = Highlighted
regions[help] = Help
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/blog/blog.info b/modules/blog/blog.info
index e4d0744..0302f22 100644
--- a/modules/blog/blog.info
+++ b/modules/blog/blog.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
files[] = blog.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/book/book.info b/modules/book/book.info
index 68eb2f8..396bd66 100644
--- a/modules/book/book.info
+++ b/modules/book/book.info
@@ -7,8 +7,8 @@ files[] = book.test
configure = admin/content/book/settings
stylesheets[all][] = book.css
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/color/color.info b/modules/color/color.info
index 1bc59cb..2b58810 100644
--- a/modules/color/color.info
+++ b/modules/color/color.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
files[] = color.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/color/color.test b/modules/color/color.test
index 0904325..f29c0c2 100644
--- a/modules/color/color.test
+++ b/modules/color/color.test
@@ -122,7 +122,7 @@ class ColorTestCase extends DrupalWebTestCase {
$edit['palette[bg]'] = $color;
$this->drupalPost($settings_path, $edit, t('Save configuration'));
- if($is_valid) {
+ if ($is_valid) {
$this->assertText('The configuration options have been saved.');
}
else {
diff --git a/modules/comment/comment.info b/modules/comment/comment.info
index 367d1e0..69885db 100644
--- a/modules/comment/comment.info
+++ b/modules/comment/comment.info
@@ -9,8 +9,8 @@ files[] = comment.test
configure = admin/content/comment
stylesheets[all][] = comment.css
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/comment/comment.test b/modules/comment/comment.test
index 534b2c1..e087a71 100644
--- a/modules/comment/comment.test
+++ b/modules/comment/comment.test
@@ -11,7 +11,13 @@ class CommentHelperCase extends DrupalWebTestCase {
protected $node;
function setUp() {
- parent::setUp('comment', 'search');
+ $modules = func_get_args();
+ if (isset($modules[0]) && is_array($modules[0])) {
+ $modules = $modules[0];
+ }
+ $modules[] = 'comment';
+ parent::setUp($modules);
+
// Create users and test node.
$this->admin_user = $this->drupalCreateUser(array('administer content types', 'administer comments', 'administer blocks', 'administer actions', 'administer fields'));
$this->web_user = $this->drupalCreateUser(array('access comments', 'post comments', 'create article content', 'edit own comments'));
@@ -1490,7 +1496,7 @@ class CommentNodeAccessTest extends CommentHelperCase {
}
function setUp() {
- DrupalWebTestCase::setUp('comment', 'search', 'node_access_test');
+ parent::setUp('search', 'node_access_test');
node_access_rebuild();
// Create users and test node.
diff --git a/modules/contact/contact.info b/modules/contact/contact.info
index 3dbb788..464c224 100644
--- a/modules/contact/contact.info
+++ b/modules/contact/contact.info
@@ -6,8 +6,8 @@ core = 7.x
files[] = contact.test
configure = admin/structure/contact
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/contextual/contextual.info b/modules/contextual/contextual.info
index a6d3e2d..b57e9f6 100644
--- a/modules/contextual/contextual.info
+++ b/modules/contextual/contextual.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
files[] = contextual.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/dashboard/dashboard.info b/modules/dashboard/dashboard.info
index e71792f..d17a974 100644
--- a/modules/dashboard/dashboard.info
+++ b/modules/dashboard/dashboard.info
@@ -7,8 +7,8 @@ files[] = dashboard.test
dependencies[] = block
configure = admin/dashboard/customize
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/dblog/dblog.admin.inc b/modules/dblog/dblog.admin.inc
index 0d5780c..f8a00c2 100644
--- a/modules/dblog/dblog.admin.inc
+++ b/modules/dblog/dblog.admin.inc
@@ -420,6 +420,6 @@ function dblog_clear_log_form($form) {
*/
function dblog_clear_log_submit() {
$_SESSION['dblog_overview_filter'] = array();
- db_delete('watchdog')->execute();
+ db_truncate('watchdog')->execute();
drupal_set_message(t('Database log cleared.'));
}
diff --git a/modules/dblog/dblog.info b/modules/dblog/dblog.info
index 724ca72..89b66c1 100644
--- a/modules/dblog/dblog.info
+++ b/modules/dblog/dblog.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
files[] = dblog.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/field/field.info b/modules/field/field.info
index d318cf1..d19c29d 100644
--- a/modules/field/field.info
+++ b/modules/field/field.info
@@ -11,8 +11,8 @@ dependencies[] = field_sql_storage
required = TRUE
stylesheets[all][] = theme/field.css
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/field/modules/field_sql_storage/field_sql_storage.info b/modules/field/modules/field_sql_storage/field_sql_storage.info
index f5e5f96..a35372a 100644
--- a/modules/field/modules/field_sql_storage/field_sql_storage.info
+++ b/modules/field/modules/field_sql_storage/field_sql_storage.info
@@ -7,8 +7,8 @@ dependencies[] = field
files[] = field_sql_storage.test
required = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/field/modules/list/list.info b/modules/field/modules/list/list.info
index 9c40694..0cd4939 100644
--- a/modules/field/modules/list/list.info
+++ b/modules/field/modules/list/list.info
@@ -7,8 +7,8 @@ dependencies[] = field
dependencies[] = options
files[] = tests/list.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/field/modules/list/tests/list_test.info b/modules/field/modules/list/tests/list_test.info
index 58ad667..4bd2dae 100644
--- a/modules/field/modules/list/tests/list_test.info
+++ b/modules/field/modules/list/tests/list_test.info
@@ -5,8 +5,8 @@ package = Testing
version = VERSION
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/field/modules/number/number.info b/modules/field/modules/number/number.info
index 3da7cc8..d3c995e 100644
--- a/modules/field/modules/number/number.info
+++ b/modules/field/modules/number/number.info
@@ -6,8 +6,8 @@ core = 7.x
dependencies[] = field
files[] = number.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/field/modules/number/number.module b/modules/field/modules/number/number.module
index 0b8660d..2538bdd 100644
--- a/modules/field/modules/number/number.module
+++ b/modules/field/modules/number/number.module
@@ -164,6 +164,15 @@ function number_field_presave($entity_type, $entity, $field, $instance, $langcod
}
}
}
+ if ($field['type'] == 'number_float') {
+ // Remove the decimal point from float values with decimal
+ // point but no decimal numbers.
+ foreach ($items as $delta => $item) {
+ if (isset($item['value'])) {
+ $items[$delta]['value'] = floatval($item['value']);
+ }
+ }
+ }
}
/**
diff --git a/modules/field/modules/number/number.test b/modules/field/modules/number/number.test
index c88b4c1..839da36 100644
--- a/modules/field/modules/number/number.test
+++ b/modules/field/modules/number/number.test
@@ -152,4 +152,50 @@ class NumberFieldTestCase extends DrupalWebTestCase {
);
$this->drupalPost(NULL, $edit, t('Save'));
}
+
+ /**
+ * Test number_float field.
+ */
+ function testNumberFloatField() {
+ $this->field = array(
+ 'field_name' => drupal_strtolower($this->randomName()),
+ 'type' => 'number_float',
+ 'settings' => array(
+ 'precision' => 8, 'scale' => 4, 'decimal_separator' => '.',
+ )
+ );
+ field_create_field($this->field);
+ $this->instance = array(
+ 'field_name' => $this->field['field_name'],
+ 'entity_type' => 'test_entity',
+ 'bundle' => 'test_bundle',
+ 'widget' => array(
+ 'type' => 'number',
+ ),
+ 'display' => array(
+ 'default' => array(
+ 'type' => 'number_float',
+ ),
+ ),
+ );
+ field_create_instance($this->instance);
+
+ $langcode = LANGUAGE_NONE;
+ $value = array(
+ '9.' => '9',
+ '.' => '0',
+ '123.55' => '123.55',
+ '.55' => '0.55',
+ '-0.55' => '-0.55',
+ );
+ foreach($value as $key => $value) {
+ $edit = array(
+ "{$this->field['field_name']}[$langcode][0][value]" => $key,
+ );
+ $this->drupalPost('test-entity/add/test-bundle', $edit, t('Save'));
+ $this->assertNoText("PDOException");
+ $this->assertRaw($value, 'Correct value is displayed.');
+ }
+ }
+
}
diff --git a/modules/field/modules/options/options.info b/modules/field/modules/options/options.info
index 289d4d3..d395377 100644
--- a/modules/field/modules/options/options.info
+++ b/modules/field/modules/options/options.info
@@ -6,8 +6,8 @@ core = 7.x
dependencies[] = field
files[] = options.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/field/modules/options/options.test b/modules/field/modules/options/options.test
index 1cbb385..321c2a4 100644
--- a/modules/field/modules/options/options.test
+++ b/modules/field/modules/options/options.test
@@ -23,8 +23,15 @@ class OptionsWidgetsTestCase extends FieldTestCase {
'type' => 'list_integer',
'cardinality' => 1,
'settings' => array(
- // Make sure that 0 works as an option.
- 'allowed_values' => array(0 => 'Zero', 1 => 'One', 2 => 'Some & unescaped markup', 3 => 'Some HTML encoded markup with < & >'),
+ 'allowed_values' => array(
+ // Make sure that 0 works as an option.
+ 0 => 'Zero',
+ 1 => 'One',
+ // Make sure that option text is properly sanitized.
+ 2 => 'Some & unescaped markup',
+ // Make sure that HTML entities in option text are not double-encoded.
+ 3 => 'Some HTML encoded markup with < & >',
+ ),
),
);
$this->card_1 = field_create_field($this->card_1);
@@ -35,8 +42,13 @@ class OptionsWidgetsTestCase extends FieldTestCase {
'type' => 'list_integer',
'cardinality' => 2,
'settings' => array(
- // Make sure that 0 works as an option.
- 'allowed_values' => array(0 => 'Zero', 1 => 'One', 2 => 'Some & unescaped markup'),
+ 'allowed_values' => array(
+ // Make sure that 0 works as an option.
+ 0 => 'Zero',
+ 1 => 'One',
+ // Make sure that option text is properly sanitized.
+ 2 => 'Some & unescaped markup',
+ ),
),
);
$this->card_2 = field_create_field($this->card_2);
@@ -47,8 +59,12 @@ class OptionsWidgetsTestCase extends FieldTestCase {
'type' => 'list_boolean',
'cardinality' => 1,
'settings' => array(
- // Make sure that 0 works as a 'on' value'.
- 'allowed_values' => array(1 => 'Zero', 0 => 'Some & unescaped markup'),
+ 'allowed_values' => array(
+ // Make sure that 1 works as a 'on' value'.
+ 1 => 'Zero',
+ // Make sure that option text is properly sanitized.
+ 0 => 'Some & unescaped markup',
+ ),
),
);
$this->bool = field_create_field($this->bool);
diff --git a/modules/field/modules/text/text.info b/modules/field/modules/text/text.info
index 5bd2202..678bdab 100644
--- a/modules/field/modules/text/text.info
+++ b/modules/field/modules/text/text.info
@@ -7,8 +7,8 @@ dependencies[] = field
files[] = text.test
required = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/field/tests/field_test.info b/modules/field/tests/field_test.info
index 4a22cda..07eed53 100644
--- a/modules/field/tests/field_test.info
+++ b/modules/field/tests/field_test.info
@@ -6,8 +6,8 @@ files[] = field_test.entity.inc
version = VERSION
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/field_ui/field_ui.info b/modules/field_ui/field_ui.info
index 91b250c..7f2c4be 100644
--- a/modules/field_ui/field_ui.info
+++ b/modules/field_ui/field_ui.info
@@ -6,8 +6,8 @@ core = 7.x
dependencies[] = field
files[] = field_ui.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/file/file.info b/modules/file/file.info
index 2e5b7a2..d15ad9e 100644
--- a/modules/file/file.info
+++ b/modules/file/file.info
@@ -6,8 +6,8 @@ core = 7.x
dependencies[] = field
files[] = tests/file.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/file/file.module b/modules/file/file.module
index bf7b07d..18ed265 100644
--- a/modules/file/file.module
+++ b/modules/file/file.module
@@ -280,7 +280,8 @@ function file_ajax_upload() {
$form['#suffix'] .= '';
}
- $output = theme('status_messages') . drupal_render($form);
+ $form['#prefix'] .= theme('status_messages');
+ $output = drupal_render($form);
$js = drupal_add_js();
$settings = call_user_func_array('array_merge_recursive', $js['settings']['data']);
diff --git a/modules/file/tests/file.test b/modules/file/tests/file.test
index 1510a69..41e97cd 100644
--- a/modules/file/tests/file.test
+++ b/modules/file/tests/file.test
@@ -596,6 +596,56 @@ class FileFieldWidgetTestCase extends FileFieldTestCase {
$this->doTestTemporaryFileRemovalExploit($victim_uid, $attacker_uid);
}
+ /**
+ * Tests validation with the Upload button.
+ */
+ function testWidgetValidation() {
+ $type_name = 'article';
+ $field_name = strtolower($this->randomName());
+ $this->createFileField($field_name, $type_name);
+ $this->updateFileField($field_name, $type_name, array('file_extensions' => 'txt'));
+
+ foreach (array('nojs', 'js') as $type) {
+ // Create node and prepare files for upload.
+ $node = $this->drupalCreateNode(array('type' => 'article'));
+ $nid = $node->nid;
+ $this->drupalGet("node/$nid/edit");
+ $test_file_text = $this->getTestFile('text');
+ $test_file_image = $this->getTestFile('image');
+ $field = field_info_field($field_name);
+ $name = 'files[' . $field_name . '_' . LANGUAGE_NONE . '_0]';
+
+ // Upload file with incorrect extension, check for validation error.
+ $edit[$name] = drupal_realpath($test_file_image->uri);
+ switch ($type) {
+ case 'nojs':
+ $this->drupalPost(NULL, $edit, t('Upload'));
+ break;
+
+ case 'js':
+ $button = $this->xpath('//input[@type="submit" and @value="' . t('Upload') . '"]');
+ $this->drupalPostAJAX(NULL, $edit, array((string) $button[0]['name'] => (string) $button[0]['value']));
+ break;
+ }
+ $error_message = t('Only files with the following extensions are allowed: %files-allowed.', array('%files-allowed' => 'txt'));
+ $this->assertRaw($error_message, t('Validation error when file with wrong extension uploaded (JSMode=%type).', array('%type' => $type)));
+
+ // Upload file with correct extension, check that error message is removed.
+ $edit[$name] = drupal_realpath($test_file_text->uri);
+ switch ($type) {
+ case 'nojs':
+ $this->drupalPost(NULL, $edit, t('Upload'));
+ break;
+
+ case 'js':
+ $button = $this->xpath('//input[@type="submit" and @value="' . t('Upload') . '"]');
+ $this->drupalPostAJAX(NULL, $edit, array((string) $button[0]['name'] => (string) $button[0]['value']));
+ break;
+ }
+ $this->assertNoRaw($error_message, t('Validation error removed when file with correct extension uploaded (JSMode=%type).', array('%type' => $type)));
+ }
+ }
+
/**
* Helper for testing exploiting the temporary file removal using fid.
*
diff --git a/modules/file/tests/file_module_test.info b/modules/file/tests/file_module_test.info
index cdb1561..cd04aba 100644
--- a/modules/file/tests/file_module_test.info
+++ b/modules/file/tests/file_module_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/filter/filter.info b/modules/filter/filter.info
index 6b69921..b2ddb26 100644
--- a/modules/filter/filter.info
+++ b/modules/filter/filter.info
@@ -7,8 +7,8 @@ files[] = filter.test
required = TRUE
configure = admin/config/content/formats
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/filter/filter.module b/modules/filter/filter.module
index c710ee7..e9fd01d 100644
--- a/modules/filter/filter.module
+++ b/modules/filter/filter.module
@@ -1638,7 +1638,7 @@ function _filter_url_escape_comments($match, $escape = NULL) {
// Replace all HTML coments with a '' placeholder.
if ($mode) {
$content = $match[1];
- $hash = md5($content);
+ $hash = hash('sha256', $content);
$comments[$hash] = $content;
return "";
}
diff --git a/modules/forum/forum.info b/modules/forum/forum.info
index 39250e4..bbc9012 100644
--- a/modules/forum/forum.info
+++ b/modules/forum/forum.info
@@ -9,8 +9,8 @@ files[] = forum.test
configure = admin/structure/forum
stylesheets[all][] = forum.css
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/help/help.info b/modules/help/help.info
index 3b48122..4812b88 100644
--- a/modules/help/help.info
+++ b/modules/help/help.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
files[] = help.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/image/image.info b/modules/image/image.info
index 0b14b66..376d461 100644
--- a/modules/image/image.info
+++ b/modules/image/image.info
@@ -7,8 +7,8 @@ dependencies[] = file
files[] = image.test
configure = admin/config/media/image-styles
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/image/tests/image_module_test.info b/modules/image/tests/image_module_test.info
index d2131dd..b18449c 100644
--- a/modules/image/tests/image_module_test.info
+++ b/modules/image/tests/image_module_test.info
@@ -6,8 +6,8 @@ core = 7.x
files[] = image_module_test.module
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/locale/locale.info b/modules/locale/locale.info
index 6e05794..bb5cc73 100644
--- a/modules/locale/locale.info
+++ b/modules/locale/locale.info
@@ -6,8 +6,8 @@ core = 7.x
files[] = locale.test
configure = admin/config/regional/language
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/locale/tests/locale_test.info b/modules/locale/tests/locale_test.info
index 5ea5dbc..ea78ef1 100644
--- a/modules/locale/tests/locale_test.info
+++ b/modules/locale/tests/locale_test.info
@@ -5,8 +5,8 @@ package = Testing
version = VERSION
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/menu/menu.info b/modules/menu/menu.info
index 2c4681c..9e2dfe5 100644
--- a/modules/menu/menu.info
+++ b/modules/menu/menu.info
@@ -6,8 +6,8 @@ core = 7.x
files[] = menu.test
configure = admin/structure/menu
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/node/node.info b/modules/node/node.info
index 63a0c4b..e37828c 100644
--- a/modules/node/node.info
+++ b/modules/node/node.info
@@ -9,8 +9,8 @@ required = TRUE
configure = admin/structure/types
stylesheets[all][] = node.css
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/node/tests/node_access_test.info b/modules/node/tests/node_access_test.info
index 7354c04..21e4f41 100644
--- a/modules/node/tests/node_access_test.info
+++ b/modules/node/tests/node_access_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/node/tests/node_test.info b/modules/node/tests/node_test.info
index afc1a9e..3047c17 100644
--- a/modules/node/tests/node_test.info
+++ b/modules/node/tests/node_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/node/tests/node_test_exception.info b/modules/node/tests/node_test_exception.info
index 7d0eb60..5592872 100644
--- a/modules/node/tests/node_test_exception.info
+++ b/modules/node/tests/node_test_exception.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/openid/openid.info b/modules/openid/openid.info
index cc25d81..4444ac8 100644
--- a/modules/openid/openid.info
+++ b/modules/openid/openid.info
@@ -5,8 +5,8 @@ package = Core
core = 7.x
files[] = openid.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/openid/tests/openid_test.info b/modules/openid/tests/openid_test.info
index 922fdcc..a69c60a 100644
--- a/modules/openid/tests/openid_test.info
+++ b/modules/openid/tests/openid_test.info
@@ -6,8 +6,8 @@ core = 7.x
dependencies[] = openid
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/overlay/overlay.info b/modules/overlay/overlay.info
index 63ca90f..8f893e5 100644
--- a/modules/overlay/overlay.info
+++ b/modules/overlay/overlay.info
@@ -4,8 +4,8 @@ package = Core
version = VERSION
core = 7.x
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/path/path.info b/modules/path/path.info
index 9f4503b..9e6c359 100644
--- a/modules/path/path.info
+++ b/modules/path/path.info
@@ -6,8 +6,8 @@ core = 7.x
files[] = path.test
configure = admin/config/search/path
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/php/php.info b/modules/php/php.info
index a977a9a..f008c11 100644
--- a/modules/php/php.info
+++ b/modules/php/php.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
files[] = php.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/poll/poll.info b/modules/poll/poll.info
index 67158a1..9cfaf54 100644
--- a/modules/poll/poll.info
+++ b/modules/poll/poll.info
@@ -6,8 +6,8 @@ core = 7.x
files[] = poll.test
stylesheets[all][] = poll.css
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/profile/profile.info b/modules/profile/profile.info
index 61f6f4d..7ea0b26 100644
--- a/modules/profile/profile.info
+++ b/modules/profile/profile.info
@@ -11,8 +11,8 @@ configure = admin/config/people/profile
; See user_system_info_alter().
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/rdf/rdf.info b/modules/rdf/rdf.info
index b0d4a64..85e4cd2 100644
--- a/modules/rdf/rdf.info
+++ b/modules/rdf/rdf.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
files[] = rdf.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/rdf/tests/rdf_test.info b/modules/rdf/tests/rdf_test.info
index 898fdf5..33ca1c4 100644
--- a/modules/rdf/tests/rdf_test.info
+++ b/modules/rdf/tests/rdf_test.info
@@ -6,8 +6,8 @@ core = 7.x
hidden = TRUE
dependencies[] = blog
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/search/search.admin.inc b/modules/search/search.admin.inc
index a609485..a37d37b 100644
--- a/modules/search/search.admin.inc
+++ b/modules/search/search.admin.inc
@@ -125,6 +125,16 @@ function search_admin_settings($form) {
'#options' => $module_options,
'#description' => t('Choose which search module is the default.')
);
+ $form['logging'] = array(
+ '#type' => 'fieldset',
+ '#title' => t('Logging')
+ );
+ $form['logging']['search_logging'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Log searches'),
+ '#default_value' => variable_get('search_logging', 1),
+ '#description' => t('If checked, all searches will be logged. Uncheck to skip logging. Logging may affect performance.'),
+ );
$form['#validate'][] = 'search_admin_settings_validate';
$form['#submit'][] = 'search_admin_settings_submit';
diff --git a/modules/search/search.info b/modules/search/search.info
index 389d284..c8844f2 100644
--- a/modules/search/search.info
+++ b/modules/search/search.info
@@ -8,8 +8,8 @@ files[] = search.test
configure = admin/config/search/settings
stylesheets[all][] = search.css
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/search/search.install b/modules/search/search.install
index f0113b3..c91283c 100644
--- a/modules/search/search.install
+++ b/modules/search/search.install
@@ -12,6 +12,7 @@ function search_uninstall() {
variable_del('minimum_word_size');
variable_del('overlap_cjk');
variable_del('search_cron_limit');
+ variable_del('search_logging');
}
/**
diff --git a/modules/search/search.pages.inc b/modules/search/search.pages.inc
index 2123dd7..b24de8e 100644
--- a/modules/search/search.pages.inc
+++ b/modules/search/search.pages.inc
@@ -57,9 +57,10 @@ function search_view($module = NULL, $keys = '') {
}
// Only search if there are keywords or non-empty conditions.
if ($keys || !empty($conditions)) {
- // Log the search keys.
- watchdog('search', 'Searched %type for %keys.', array('%keys' => $keys, '%type' => $info['title']), WATCHDOG_NOTICE, l(t('results'), 'search/' . $info['path'] . '/' . $keys));
-
+ if (variable_get('search_logging', TRUE)) {
+ // Log the search keys.
+ watchdog('search', 'Searched %type for %keys.', array('%keys' => $keys, '%type' => $info['title']), WATCHDOG_NOTICE, l(t('results'), 'search/' . $info['path'] . '/' . $keys));
+ }
// Collect the search results.
$results = search_data($keys, $info['module'], $conditions);
}
diff --git a/modules/search/search.test b/modules/search/search.test
index 913d198..d3a60b4 100644
--- a/modules/search/search.test
+++ b/modules/search/search.test
@@ -1453,7 +1453,7 @@ class SearchConfigSettingsForm extends DrupalWebTestCase {
parent::setUp('search', 'search_extra_type');
// Login as a user that can create and search content.
- $this->search_user = $this->drupalCreateUser(array('search content', 'administer search', 'administer nodes', 'bypass node access', 'access user profiles', 'administer users', 'administer blocks'));
+ $this->search_user = $this->drupalCreateUser(array('search content', 'administer search', 'administer nodes', 'bypass node access', 'access user profiles', 'administer users', 'administer blocks', 'access site reports'));
$this->drupalLogin($this->search_user);
// Add a single piece of content and index it.
@@ -1502,6 +1502,19 @@ class SearchConfigSettingsForm extends DrupalWebTestCase {
);
$this->drupalPost('admin/config/search/settings', $edit, t('Save configuration'));
$this->assertNoText(t('The configuration options have been saved.'), 'Form does not save with an invalid word length.');
+
+ // Test logging setting. It should be on by default.
+ $text = $this->randomName(5);
+ $this->drupalPost('search/node', array('keys' => $text), t('Search'));
+ $this->drupalGet('admin/reports/dblog');
+ $this->assertLink('Searched Content for ' . $text . '.', 0, 'Search was logged');
+
+ // Turn off logging.
+ variable_set('search_logging', FALSE);
+ $text = $this->randomName(5);
+ $this->drupalPost('search/node', array('keys' => $text), t('Search'));
+ $this->drupalGet('admin/reports/dblog');
+ $this->assertNoLink('Searched Content for ' . $text . '.', 'Search was not logged');
}
/**
diff --git a/modules/search/tests/search_embedded_form.info b/modules/search/tests/search_embedded_form.info
index b9c5c22..0618b03 100644
--- a/modules/search/tests/search_embedded_form.info
+++ b/modules/search/tests/search_embedded_form.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/search/tests/search_extra_type.info b/modules/search/tests/search_extra_type.info
index b409794..bc911a4 100644
--- a/modules/search/tests/search_extra_type.info
+++ b/modules/search/tests/search_extra_type.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/search/tests/search_node_tags.info b/modules/search/tests/search_node_tags.info
index 687269a..138fda4 100644
--- a/modules/search/tests/search_node_tags.info
+++ b/modules/search/tests/search_node_tags.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/shortcut/shortcut.info b/modules/shortcut/shortcut.info
index c5a7b28..e23210a 100644
--- a/modules/shortcut/shortcut.info
+++ b/modules/shortcut/shortcut.info
@@ -6,8 +6,8 @@ core = 7.x
files[] = shortcut.test
configure = admin/config/user-interface/shortcut
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/drupal_web_test_case.php b/modules/simpletest/drupal_web_test_case.php
index 08452f3..5140799 100644
--- a/modules/simpletest/drupal_web_test_case.php
+++ b/modules/simpletest/drupal_web_test_case.php
@@ -1374,10 +1374,11 @@ class DrupalWebTestCase extends DrupalTestCase {
* @see DrupalWebTestCase::tearDown()
*/
protected function prepareEnvironment() {
- global $user, $language, $conf;
+ global $user, $language, $language_url, $conf;
// Store necessary current values before switching to prefixed database.
$this->originalLanguage = $language;
+ $this->originalLanguageUrl = $language_url;
$this->originalLanguageDefault = variable_get('language_default');
$this->originalFileDirectory = variable_get('file_public_path', conf_path() . '/files');
$this->originalProfile = drupal_get_profile();
@@ -1387,7 +1388,7 @@ class DrupalWebTestCase extends DrupalTestCase {
// Set to English to prevent exceptions from utf8_truncate() from t()
// during install if the current language is not 'en'.
// The following array/object conversion is copied from language_default().
- $language = (object) array('language' => 'en', 'name' => 'English', 'native' => 'English', 'direction' => 0, 'enabled' => 1, 'plurals' => 0, 'formula' => '', 'domain' => '', 'prefix' => '', 'weight' => 0, 'javascript' => '');
+ $language_url = $language = (object) array('language' => 'en', 'name' => 'English', 'native' => 'English', 'direction' => 0, 'enabled' => 1, 'plurals' => 0, 'formula' => '', 'domain' => '', 'prefix' => '', 'weight' => 0, 'javascript' => '');
// Save and clean the shutdown callbacks array because it is static cached
// and will be changed by the test run. Otherwise it will contain callbacks
@@ -1445,7 +1446,7 @@ class DrupalWebTestCase extends DrupalTestCase {
* @see DrupalWebTestCase::prepareEnvironment()
*/
protected function setUp() {
- global $user, $language, $conf;
+ global $user, $language, $language_url, $conf;
// Create the database prefix for this test.
$this->prepareDatabasePrefix();
@@ -1542,7 +1543,7 @@ class DrupalWebTestCase extends DrupalTestCase {
// Set up English language.
unset($conf['language_default']);
- $language = language_default();
+ $language_url = $language = language_default();
// Use the test mail class instead of the default mail handler class.
variable_set('mail_system', array('default-system' => 'TestingMailSystem'));
@@ -1636,7 +1637,7 @@ class DrupalWebTestCase extends DrupalTestCase {
* and reset the database prefix.
*/
protected function tearDown() {
- global $user, $language;
+ global $user, $language, $language_url;
// In case a fatal error occurred that was not in the test process read the
// log to pick up any fatal errors.
@@ -1701,6 +1702,7 @@ class DrupalWebTestCase extends DrupalTestCase {
// Reset language.
$language = $this->originalLanguage;
+ $language_url = $this->originalLanguageUrl;
if ($this->originalLanguageDefault) {
$GLOBALS['conf']['language_default'] = $this->originalLanguageDefault;
}
diff --git a/modules/simpletest/simpletest.info b/modules/simpletest/simpletest.info
index 188d9ef..b9468ff 100644
--- a/modules/simpletest/simpletest.info
+++ b/modules/simpletest/simpletest.info
@@ -57,8 +57,8 @@ files[] = tests/upgrade/update.trigger.test
files[] = tests/upgrade/update.field.test
files[] = tests/upgrade/update.user.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/actions_loop_test.info b/modules/simpletest/tests/actions_loop_test.info
index 977bbe0..d9460ea 100644
--- a/modules/simpletest/tests/actions_loop_test.info
+++ b/modules/simpletest/tests/actions_loop_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/ajax_forms_test.info b/modules/simpletest/tests/ajax_forms_test.info
index 824c266..2c2e56a 100644
--- a/modules/simpletest/tests/ajax_forms_test.info
+++ b/modules/simpletest/tests/ajax_forms_test.info
@@ -5,8 +5,8 @@ package = Testing
version = VERSION
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/ajax_test.info b/modules/simpletest/tests/ajax_test.info
index 8d3dae7..da8f4a7 100644
--- a/modules/simpletest/tests/ajax_test.info
+++ b/modules/simpletest/tests/ajax_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/batch_test.info b/modules/simpletest/tests/batch_test.info
index 07c8bd4..f768254 100644
--- a/modules/simpletest/tests/batch_test.info
+++ b/modules/simpletest/tests/batch_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/boot_test_1.info b/modules/simpletest/tests/boot_test_1.info
index 474c4c4..f424504 100644
--- a/modules/simpletest/tests/boot_test_1.info
+++ b/modules/simpletest/tests/boot_test_1.info
@@ -5,8 +5,8 @@ package = Testing
version = VERSION
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/boot_test_2.info b/modules/simpletest/tests/boot_test_2.info
index ded72c5..83b05cb 100644
--- a/modules/simpletest/tests/boot_test_2.info
+++ b/modules/simpletest/tests/boot_test_2.info
@@ -5,8 +5,8 @@ package = Testing
version = VERSION
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/common_test.info b/modules/simpletest/tests/common_test.info
index c324d8a..7ed1bcb 100644
--- a/modules/simpletest/tests/common_test.info
+++ b/modules/simpletest/tests/common_test.info
@@ -7,8 +7,8 @@ stylesheets[all][] = common_test.css
stylesheets[print][] = common_test.print.css
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/common_test_cron_helper.info b/modules/simpletest/tests/common_test_cron_helper.info
index 619b87e..d64b41b 100644
--- a/modules/simpletest/tests/common_test_cron_helper.info
+++ b/modules/simpletest/tests/common_test_cron_helper.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/database_test.info b/modules/simpletest/tests/database_test.info
index 34571d0..4466669 100644
--- a/modules/simpletest/tests/database_test.info
+++ b/modules/simpletest/tests/database_test.info
@@ -5,8 +5,8 @@ package = Testing
version = VERSION
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/drupal_autoload_test/drupal_autoload_test.info b/modules/simpletest/tests/drupal_autoload_test/drupal_autoload_test.info
index 910d27a..86a9bd6 100644
--- a/modules/simpletest/tests/drupal_autoload_test/drupal_autoload_test.info
+++ b/modules/simpletest/tests/drupal_autoload_test/drupal_autoload_test.info
@@ -7,8 +7,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.info b/modules/simpletest/tests/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.info
index 3276127..42049fc 100644
--- a/modules/simpletest/tests/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.info
+++ b/modules/simpletest/tests/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.info b/modules/simpletest/tests/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.info
index e360383..adec2c1 100644
--- a/modules/simpletest/tests/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.info
+++ b/modules/simpletest/tests/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/entity_cache_test.info b/modules/simpletest/tests/entity_cache_test.info
index b7dc76b..29405ad 100644
--- a/modules/simpletest/tests/entity_cache_test.info
+++ b/modules/simpletest/tests/entity_cache_test.info
@@ -6,8 +6,8 @@ core = 7.x
dependencies[] = entity_cache_test_dependency
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/entity_cache_test_dependency.info b/modules/simpletest/tests/entity_cache_test_dependency.info
index b26436e..de7dc01 100644
--- a/modules/simpletest/tests/entity_cache_test_dependency.info
+++ b/modules/simpletest/tests/entity_cache_test_dependency.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/entity_crud_hook_test.info b/modules/simpletest/tests/entity_crud_hook_test.info
index 0b0f44b..990f326 100644
--- a/modules/simpletest/tests/entity_crud_hook_test.info
+++ b/modules/simpletest/tests/entity_crud_hook_test.info
@@ -5,8 +5,8 @@ package = Testing
version = VERSION
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/entity_query_access_test.info b/modules/simpletest/tests/entity_query_access_test.info
index 7ac6759..38432ab 100644
--- a/modules/simpletest/tests/entity_query_access_test.info
+++ b/modules/simpletest/tests/entity_query_access_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/error_test.info b/modules/simpletest/tests/error_test.info
index a771b6f..b308e5e 100644
--- a/modules/simpletest/tests/error_test.info
+++ b/modules/simpletest/tests/error_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/file_test.info b/modules/simpletest/tests/file_test.info
index 605af1d..2ed5dc3 100644
--- a/modules/simpletest/tests/file_test.info
+++ b/modules/simpletest/tests/file_test.info
@@ -6,8 +6,8 @@ core = 7.x
files[] = file_test.module
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/filter_test.info b/modules/simpletest/tests/filter_test.info
index 9e0a598..9b69cf8 100644
--- a/modules/simpletest/tests/filter_test.info
+++ b/modules/simpletest/tests/filter_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/form.test b/modules/simpletest/tests/form.test
index 6bf2d9e..a441cee 100644
--- a/modules/simpletest/tests/form.test
+++ b/modules/simpletest/tests/form.test
@@ -690,6 +690,14 @@ class FormValidationTestCase extends DrupalWebTestCase {
$this->assertText('The form has become outdated. Copy any unsaved work in the form below');
}
+ /**
+ * Tests that a form with a disabled CSRF token can be validated.
+ */
+ function testDisabledToken() {
+ $this->drupalPost('form-test/validate-no-token', array(), 'Save');
+ $this->assertText('The form_test_validate_no_token form has been submitted successfully.');
+ }
+
/**
* Tests partial form validation through #limit_validation_errors.
*/
diff --git a/modules/simpletest/tests/form_test.info b/modules/simpletest/tests/form_test.info
index 75ee2ea..deaecc6 100644
--- a/modules/simpletest/tests/form_test.info
+++ b/modules/simpletest/tests/form_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/form_test.module b/modules/simpletest/tests/form_test.module
index 4fd708f..097e588 100644
--- a/modules/simpletest/tests/form_test.module
+++ b/modules/simpletest/tests/form_test.module
@@ -37,6 +37,13 @@ function form_test_menu() {
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
+ $items['form-test/validate-no-token'] = array(
+ 'title' => 'Form validation without a CSRF token',
+ 'page callback' => 'drupal_get_form',
+ 'page arguments' => array('form_test_validate_no_token'),
+ 'access callback' => TRUE,
+ 'type' => MENU_CALLBACK,
+ );
$items['form-test/limit-validation-errors'] = array(
'title' => 'Form validation with some error suppression',
'page callback' => 'drupal_get_form',
@@ -454,6 +461,27 @@ function form_test_validate_required_form_no_title_submit($form, &$form_state) {
drupal_set_message('The form_test_validate_required_form_no_title form was submitted successfully.');
}
+/**
+ * Form builder for testing submission of a form without a CSRF token.
+ */
+function form_test_validate_no_token($form, &$form_state) {
+ $form['submit'] = array(
+ '#type' => 'submit',
+ '#value' => 'Save',
+ );
+
+ $form['#token'] = FALSE;
+
+ return $form;
+}
+
+/**
+ * Form submission handler for form_test_validate_no_token().
+ */
+function form_test_validate_no_token_submit($form, &$form_state) {
+ drupal_set_message('The form_test_validate_no_token form has been submitted successfully.');
+}
+
/**
* Builds a simple form with a button triggering partial validation.
*/
diff --git a/modules/simpletest/tests/image_test.info b/modules/simpletest/tests/image_test.info
index 4f29188..b4ac873 100644
--- a/modules/simpletest/tests/image_test.info
+++ b/modules/simpletest/tests/image_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/menu_test.info b/modules/simpletest/tests/menu_test.info
index 68a1386..a55861a 100644
--- a/modules/simpletest/tests/menu_test.info
+++ b/modules/simpletest/tests/menu_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/module_test.info b/modules/simpletest/tests/module_test.info
index 6cd6c3d..8b0f74c 100644
--- a/modules/simpletest/tests/module_test.info
+++ b/modules/simpletest/tests/module_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/path_test.info b/modules/simpletest/tests/path_test.info
index b2acd4f..ef1a552 100644
--- a/modules/simpletest/tests/path_test.info
+++ b/modules/simpletest/tests/path_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/psr_0_test/psr_0_test.info b/modules/simpletest/tests/psr_0_test/psr_0_test.info
index b07bc7d..34f914f 100644
--- a/modules/simpletest/tests/psr_0_test/psr_0_test.info
+++ b/modules/simpletest/tests/psr_0_test/psr_0_test.info
@@ -5,8 +5,8 @@ core = 7.x
hidden = TRUE
package = Testing
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/psr_4_test/psr_4_test.info b/modules/simpletest/tests/psr_4_test/psr_4_test.info
index b7324be..0a64a28 100644
--- a/modules/simpletest/tests/psr_4_test/psr_4_test.info
+++ b/modules/simpletest/tests/psr_4_test/psr_4_test.info
@@ -5,8 +5,8 @@ core = 7.x
hidden = TRUE
package = Testing
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/requirements1_test.info b/modules/simpletest/tests/requirements1_test.info
index b6f775a..8909f69 100644
--- a/modules/simpletest/tests/requirements1_test.info
+++ b/modules/simpletest/tests/requirements1_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/requirements2_test.info b/modules/simpletest/tests/requirements2_test.info
index c4fa4da..7b8630a 100644
--- a/modules/simpletest/tests/requirements2_test.info
+++ b/modules/simpletest/tests/requirements2_test.info
@@ -7,8 +7,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/session_test.info b/modules/simpletest/tests/session_test.info
index da76cac..3d3f018 100644
--- a/modules/simpletest/tests/session_test.info
+++ b/modules/simpletest/tests/session_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/system_dependencies_test.info b/modules/simpletest/tests/system_dependencies_test.info
index e5fa625..4a2891a 100644
--- a/modules/simpletest/tests/system_dependencies_test.info
+++ b/modules/simpletest/tests/system_dependencies_test.info
@@ -6,8 +6,8 @@ core = 7.x
hidden = TRUE
dependencies[] = _missing_dependency
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/system_incompatible_core_version_dependencies_test.info b/modules/simpletest/tests/system_incompatible_core_version_dependencies_test.info
index 4c0fd9e..b46bf51 100644
--- a/modules/simpletest/tests/system_incompatible_core_version_dependencies_test.info
+++ b/modules/simpletest/tests/system_incompatible_core_version_dependencies_test.info
@@ -6,8 +6,8 @@ core = 7.x
hidden = TRUE
dependencies[] = system_incompatible_core_version_test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/system_incompatible_core_version_test.info b/modules/simpletest/tests/system_incompatible_core_version_test.info
index 01d0bda..8f7abba 100644
--- a/modules/simpletest/tests/system_incompatible_core_version_test.info
+++ b/modules/simpletest/tests/system_incompatible_core_version_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 5.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/system_incompatible_module_version_dependencies_test.info b/modules/simpletest/tests/system_incompatible_module_version_dependencies_test.info
index d453ed1..93958c0 100644
--- a/modules/simpletest/tests/system_incompatible_module_version_dependencies_test.info
+++ b/modules/simpletest/tests/system_incompatible_module_version_dependencies_test.info
@@ -7,8 +7,8 @@ hidden = TRUE
; system_incompatible_module_version_test declares version 1.0
dependencies[] = system_incompatible_module_version_test (>2.0)
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/system_incompatible_module_version_test.info b/modules/simpletest/tests/system_incompatible_module_version_test.info
index 9e59bc8..282695c 100644
--- a/modules/simpletest/tests/system_incompatible_module_version_test.info
+++ b/modules/simpletest/tests/system_incompatible_module_version_test.info
@@ -5,8 +5,8 @@ version = 1.0
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/system_project_namespace_test.info b/modules/simpletest/tests/system_project_namespace_test.info
index 3a51de4..e8fcc2e 100644
--- a/modules/simpletest/tests/system_project_namespace_test.info
+++ b/modules/simpletest/tests/system_project_namespace_test.info
@@ -6,8 +6,8 @@ core = 7.x
hidden = TRUE
dependencies[] = drupal:filter
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/system_test.info b/modules/simpletest/tests/system_test.info
index 7ea5e27..ec19e46 100644
--- a/modules/simpletest/tests/system_test.info
+++ b/modules/simpletest/tests/system_test.info
@@ -6,8 +6,8 @@ core = 7.x
files[] = system_test.module
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/taxonomy_test.info b/modules/simpletest/tests/taxonomy_test.info
index d5e1235..e18004c 100644
--- a/modules/simpletest/tests/taxonomy_test.info
+++ b/modules/simpletest/tests/taxonomy_test.info
@@ -6,8 +6,8 @@ core = 7.x
hidden = TRUE
dependencies[] = taxonomy
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/taxonomy_test.module b/modules/simpletest/tests/taxonomy_test.module
index f82950c..f414438 100644
--- a/modules/simpletest/tests/taxonomy_test.module
+++ b/modules/simpletest/tests/taxonomy_test.module
@@ -109,3 +109,33 @@ function taxonomy_test_get_antonym($tid) {
->execute()
->fetchField();
}
+
+/**
+ * Implements hook_query_alter().
+ */
+function taxonomy_test_query_alter(QueryAlterableInterface $query) {
+ $value = variable_get(__FUNCTION__);
+ if (isset($value)) {
+ variable_set(__FUNCTION__, ++$value);
+ }
+}
+
+/**
+ * Implements hook_query_TAG_alter().
+ */
+function taxonomy_test_query_term_access_alter(QueryAlterableInterface $query) {
+ $value = variable_get(__FUNCTION__);
+ if (isset($value)) {
+ variable_set(__FUNCTION__, ++$value);
+ }
+}
+
+/**
+ * Implements hook_query_TAG_alter().
+ */
+function taxonomy_test_query_taxonomy_term_access_alter(QueryAlterableInterface $query) {
+ $value = variable_get(__FUNCTION__);
+ if (isset($value)) {
+ variable_set(__FUNCTION__, ++$value);
+ }
+}
diff --git a/modules/simpletest/tests/theme.test b/modules/simpletest/tests/theme.test
index f5ddfa9..5f095bd 100644
--- a/modules/simpletest/tests/theme.test
+++ b/modules/simpletest/tests/theme.test
@@ -646,3 +646,34 @@ class ThemeDebugMarkupTestCase extends DrupalWebTestCase {
}
}
+
+/**
+ * Tests module-provided theme engines.
+ */
+class ModuleProvidedThemeEngineTestCase extends DrupalWebTestCase {
+
+ public static function getInfo() {
+ return array(
+ 'name' => 'Theme engine test',
+ 'description' => 'Tests module-provided theme engines.',
+ 'group' => 'Theme',
+ );
+ }
+
+ function setUp() {
+ parent::setUp('theme_test');
+ theme_enable(array('test_theme', 'test_theme_nyan_cat'));
+ }
+
+ /**
+ * Ensures that the module provided theme engine is found and used by core.
+ */
+ function testEngineIsFoundAndWorking() {
+ variable_set('theme_default', 'test_theme_nyan_cat');
+ variable_set('admin_theme', 'test_theme_nyan_cat');
+
+ $this->drupalGet('theme-test/engine-info-test');
+ $this->assertText('Miaou');
+ }
+
+}
diff --git a/modules/simpletest/tests/theme_test.info b/modules/simpletest/tests/theme_test.info
index 57fc7f4..485af1a 100644
--- a/modules/simpletest/tests/theme_test.info
+++ b/modules/simpletest/tests/theme_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/theme_test.module b/modules/simpletest/tests/theme_test.module
index 948d817..1dbc3b9 100644
--- a/modules/simpletest/tests/theme_test.module
+++ b/modules/simpletest/tests/theme_test.module
@@ -27,9 +27,18 @@ function theme_test_system_theme_info() {
$themes['test_theme'] = drupal_get_path('module', 'theme_test') . '/themes/test_theme/test_theme.info';
$themes['test_basetheme'] = drupal_get_path('module', 'theme_test') . '/themes/test_basetheme/test_basetheme.info';
$themes['test_subtheme'] = drupal_get_path('module', 'theme_test') . '/themes/test_subtheme/test_subtheme.info';
+ $themes['test_theme_nyan_cat'] = drupal_get_path('module', 'theme_test') . '/themes/test_theme_nyan_cat/test_theme_nyan_cat.info';
return $themes;
}
+/**
+ * Implements hook_system_theme_engine_info().
+ */
+function theme_test_system_theme_engine_info() {
+ $theme_engines['nyan_cat'] = drupal_get_path('module', 'theme_test') . '/themes/engines/nyan_cat/nyan_cat.engine';
+ return $theme_engines;
+}
+
/**
* Implements hook_menu().
*/
@@ -58,6 +67,12 @@ function theme_test_menu() {
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
+ $items['theme-test/engine-info-test'] = array(
+ 'description' => "Serves a simple page rendered using a Nyan Cat theme engine template.",
+ 'page callback' => '_theme_test_engine_info_test',
+ 'access callback' => TRUE,
+ 'type' => MENU_CALLBACK,
+ );
return $items;
}
@@ -139,6 +154,15 @@ function _theme_test_drupal_add_region_content() {
return 'Hello';
}
+/**
+ * Serves a simple page renderered using a Nyan Cat theme engine template.
+ */
+function _theme_test_engine_info_test() {
+ return array(
+ '#markup' => theme('theme_test_template_test'),
+ );
+}
+
/**
* Theme function for testing theme('theme_test_foo').
*/
diff --git a/modules/simpletest/tests/themes/engines/nyan_cat/nyan_cat.engine b/modules/simpletest/tests/themes/engines/nyan_cat/nyan_cat.engine
new file mode 100644
index 0000000..1b8ffef
--- /dev/null
+++ b/modules/simpletest/tests/themes/engines/nyan_cat/nyan_cat.engine
@@ -0,0 +1,53 @@
+filename) . '/template.theme';
+ if (file_exists($file)) {
+ include_once DRUPAL_ROOT . '/' . $file;
+ }
+}
+
+/**
+ * Implements hook_theme().
+ */
+function nyan_cat_theme($existing, $type, $theme, $path) {
+ $templates = drupal_find_theme_functions($existing, array($theme));
+ $templates += drupal_find_theme_templates($existing, '.nyan-cat.html', $path);
+ return $templates;
+}
+
+/**
+ * Implements hook_extension().
+ */
+function nyan_cat_extension() {
+ return '.nyan-cat.html';
+}
+
+/**
+ * Implements hook_render_template().
+ *
+ * @param string $template_file
+ * The filename of the template to render.
+ * @param mixed[] $variables
+ * A keyed array of variables that will appear in the output.
+ *
+ * @return string
+ * The output generated by the template.
+ */
+function nyan_cat_render_template($template_file, $variables) {
+ $output = str_replace('div', 'nyancat', file_get_contents(DRUPAL_ROOT . '/' . $template_file));
+ foreach ($variables as $key => $variable) {
+ if (strpos($output, '9' . $key) !== FALSE) {
+ $output = str_replace('9' . $key, $variable, $output);
+ }
+ }
+ return $output;
+}
diff --git a/modules/simpletest/tests/themes/test_basetheme/test_basetheme.info b/modules/simpletest/tests/themes/test_basetheme/test_basetheme.info
index e473e69..d5a40e1 100644
--- a/modules/simpletest/tests/themes/test_basetheme/test_basetheme.info
+++ b/modules/simpletest/tests/themes/test_basetheme/test_basetheme.info
@@ -6,8 +6,8 @@ hidden = TRUE
settings[basetheme_only] = base theme value
settings[subtheme_override] = base theme value
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/themes/test_subtheme/test_subtheme.info b/modules/simpletest/tests/themes/test_subtheme/test_subtheme.info
index 2527b61..9ed7762 100644
--- a/modules/simpletest/tests/themes/test_subtheme/test_subtheme.info
+++ b/modules/simpletest/tests/themes/test_subtheme/test_subtheme.info
@@ -6,8 +6,8 @@ hidden = TRUE
settings[subtheme_override] = subtheme value
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/themes/test_theme/test_theme.info b/modules/simpletest/tests/themes/test_theme/test_theme.info
index b11f6c1..01ab697 100644
--- a/modules/simpletest/tests/themes/test_theme/test_theme.info
+++ b/modules/simpletest/tests/themes/test_theme/test_theme.info
@@ -17,8 +17,8 @@ stylesheets[all][] = system.base.css
settings[theme_test_setting] = default value
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/themes/test_theme_nyan_cat/templates/theme_test_template_test.nyan-cat.html b/modules/simpletest/tests/themes/test_theme_nyan_cat/templates/theme_test_template_test.nyan-cat.html
new file mode 100644
index 0000000..7202dd4
--- /dev/null
+++ b/modules/simpletest/tests/themes/test_theme_nyan_cat/templates/theme_test_template_test.nyan-cat.html
@@ -0,0 +1 @@
+Miaou
\ No newline at end of file
diff --git a/modules/simpletest/tests/themes/test_theme_nyan_cat/test_theme_nyan_cat.info b/modules/simpletest/tests/themes/test_theme_nyan_cat/test_theme_nyan_cat.info
new file mode 100644
index 0000000..c66cf73
--- /dev/null
+++ b/modules/simpletest/tests/themes/test_theme_nyan_cat/test_theme_nyan_cat.info
@@ -0,0 +1,11 @@
+name = Nyan cat engine based test theme
+description = Theme for testing the module-provided theme engines.
+core = 7.x
+hidden = TRUE
+engine = nyan_cat
+
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
+project = "drupal"
+datestamp = "1485986921"
+
diff --git a/modules/simpletest/tests/update_script_test.info b/modules/simpletest/tests/update_script_test.info
index f0ada88..9e02771 100644
--- a/modules/simpletest/tests/update_script_test.info
+++ b/modules/simpletest/tests/update_script_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/update_test_1.info b/modules/simpletest/tests/update_test_1.info
index 79b2a83..5534275 100644
--- a/modules/simpletest/tests/update_test_1.info
+++ b/modules/simpletest/tests/update_test_1.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/update_test_2.info b/modules/simpletest/tests/update_test_2.info
index 79b2a83..5534275 100644
--- a/modules/simpletest/tests/update_test_2.info
+++ b/modules/simpletest/tests/update_test_2.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/update_test_3.info b/modules/simpletest/tests/update_test_3.info
index 79b2a83..5534275 100644
--- a/modules/simpletest/tests/update_test_3.info
+++ b/modules/simpletest/tests/update_test_3.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/url_alter_test.info b/modules/simpletest/tests/url_alter_test.info
index 4a6d215..b0c1216 100644
--- a/modules/simpletest/tests/url_alter_test.info
+++ b/modules/simpletest/tests/url_alter_test.info
@@ -5,8 +5,8 @@ package = Testing
version = VERSION
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/simpletest/tests/xmlrpc_test.info b/modules/simpletest/tests/xmlrpc_test.info
index 28f96bb..a7d0bf9 100644
--- a/modules/simpletest/tests/xmlrpc_test.info
+++ b/modules/simpletest/tests/xmlrpc_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/statistics/statistics.info b/modules/statistics/statistics.info
index bcabcf0..4a601ca 100644
--- a/modules/statistics/statistics.info
+++ b/modules/statistics/statistics.info
@@ -6,8 +6,8 @@ core = 7.x
files[] = statistics.test
configure = admin/config/system/statistics
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/syslog/syslog.info b/modules/syslog/syslog.info
index 91bd74f..e0273e0 100644
--- a/modules/syslog/syslog.info
+++ b/modules/syslog/syslog.info
@@ -6,8 +6,8 @@ core = 7.x
files[] = syslog.test
configure = admin/config/development/logging
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/system/system.api.php b/modules/system/system.api.php
index 3152139..f1855b9 100644
--- a/modules/system/system.api.php
+++ b/modules/system/system.api.php
@@ -2050,6 +2050,22 @@ function hook_system_theme_info() {
return $themes;
}
+/**
+ * Return additional theme engines provided by modules.
+ *
+ * This hook is invoked from _system_rebuild_theme_data() and allows modules to
+ * register additional theme engines outside of the regular 'themes/engines'
+ * directories of a Drupal installation.
+ *
+ * @return
+ * An associative array. Each key is the system name of a theme engine and
+ * each value is the corresponding path to the theme engine's .engine file.
+ */
+function hook_system_theme_engine_info() {
+ $theme_engines['izumi'] = drupal_get_path('module', 'mymodule') . '/izumi/izumi.engine';
+ return $theme_engines;
+}
+
/**
* Alter the information parsed from module and theme .info files
*
diff --git a/modules/system/system.info b/modules/system/system.info
index d637f1c..cdc4ba3 100644
--- a/modules/system/system.info
+++ b/modules/system/system.info
@@ -12,8 +12,8 @@ files[] = system.test
required = TRUE
configure = admin/config/system
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/system/system.module b/modules/system/system.module
index 59087c8..53844d8 100644
--- a/modules/system/system.module
+++ b/modules/system/system.module
@@ -2521,6 +2521,16 @@ function _system_rebuild_theme_data() {
// Find theme engines
$engines = drupal_system_listing('/^' . DRUPAL_PHP_FUNCTION_PATTERN . '\.engine$/', 'themes/engines');
+ // Allow modules to add further theme engines.
+ if ($module_engines = module_invoke_all('system_theme_engine_info')) {
+ foreach ($module_engines as $name => $theme_engine_path) {
+ $engines[$name] = (object) array(
+ 'uri' => $theme_engine_path,
+ 'filename' => basename($theme_engine_path),
+ 'name' => $name,
+ );
+ }
+ }
// Set defaults for theme info.
$defaults = array(
@@ -2883,7 +2893,7 @@ function confirm_form($form, $question, $path, $description = NULL, $yes = NULL,
// Prepare cancel link.
if (isset($_GET['destination'])) {
- $options = drupal_parse_url(urldecode($_GET['destination']));
+ $options = drupal_parse_url($_GET['destination']);
}
elseif (is_array($path)) {
$options = $path;
diff --git a/modules/system/system.test b/modules/system/system.test
index ec71093..9eaf562 100644
--- a/modules/system/system.test
+++ b/modules/system/system.test
@@ -1461,6 +1461,60 @@ class DateTimeFunctionalTest extends DrupalWebTestCase {
}
}
+/**
+ * Tests date format configuration.
+ */
+class DateFormatTestCase extends DrupalWebTestCase {
+ public static function getInfo() {
+ return array(
+ 'name' => 'Date format',
+ 'description' => 'Test date format configuration and defaults.',
+ 'group' => 'System',
+ );
+ }
+
+ function setUp() {
+ parent::setUp();
+
+ // Create admin user and log in admin user.
+ $this->admin_user = $this->drupalCreateUser(array('administer site configuration'));
+ $this->drupalLogin($this->admin_user);
+ }
+
+ /**
+ * Test the default date type formats are consistent.
+ */
+ function testDefaultDateFormats() {
+ // These are the default format values from format_date().
+ $default_formats = array(
+ 'short' => 'm/d/Y - H:i',
+ 'medium' => 'D, m/d/Y - H:i',
+ 'long' => 'l, F j, Y - H:i',
+ );
+
+ // Clear the date format variables.
+ variable_del('date_format_short');
+ variable_del('date_format_medium');
+ variable_del('date_format_long');
+
+ $this->drupalGet('admin/config/regional/date-time');
+
+ foreach ($default_formats as $format_name => $format_value) {
+ $id = 'edit-date-format-' . $format_name;
+ // Check that the configuration fields match the default format.
+ $this->assertOptionSelected(
+ $id,
+ $format_value,
+ format_string('The @type format type matches the expected format @format.',
+ array(
+ '@type' => $format_name,
+ '@format' => $format_value,
+ )
+ ));
+ }
+ }
+}
+
class PageTitleFiltering extends DrupalWebTestCase {
protected $content_user;
protected $saved_title;
diff --git a/modules/system/tests/cron_queue_test.info b/modules/system/tests/cron_queue_test.info
index 03b3224..896f53e 100644
--- a/modules/system/tests/cron_queue_test.info
+++ b/modules/system/tests/cron_queue_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/system/tests/system_cron_test.info b/modules/system/tests/system_cron_test.info
index 4f7a2da..be1c9ac 100644
--- a/modules/system/tests/system_cron_test.info
+++ b/modules/system/tests/system_cron_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/taxonomy/taxonomy.info b/modules/taxonomy/taxonomy.info
index 9bbba16..e8861c9 100644
--- a/modules/taxonomy/taxonomy.info
+++ b/modules/taxonomy/taxonomy.info
@@ -8,8 +8,8 @@ files[] = taxonomy.module
files[] = taxonomy.test
configure = admin/structure/taxonomy
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module
index 554d6d2..981649d 100644
--- a/modules/taxonomy/taxonomy.module
+++ b/modules/taxonomy/taxonomy.module
@@ -1023,7 +1023,7 @@ function taxonomy_get_parents($tid) {
$query->join('taxonomy_term_hierarchy', 'h', 'h.parent = t.tid');
$query->addField('t', 'tid');
$query->condition('h.tid', $tid);
- $query->addTag('term_access');
+ $query->addTag('taxonomy_term_access');
$query->orderBy('t.weight');
$query->orderBy('t.name');
$tids = $query->execute()->fetchCol();
@@ -1081,7 +1081,7 @@ function taxonomy_get_children($tid, $vid = 0) {
if ($vid) {
$query->condition('t.vid', $vid);
}
- $query->addTag('term_access');
+ $query->addTag('taxonomy_term_access');
$query->orderBy('t.weight');
$query->orderBy('t.name');
$tids = $query->execute()->fetchCol();
@@ -1129,7 +1129,7 @@ function taxonomy_get_tree($vid, $parent = 0, $max_depth = NULL, $load_entities
$query->join('taxonomy_term_hierarchy', 'h', 'h.tid = t.tid');
$result = $query
->addTag('translatable')
- ->addTag('term_access')
+ ->addTag('taxonomy_term_access')
->fields('t')
->fields('h', array('parent'))
->condition('t.vid', $vid)
@@ -1249,7 +1249,7 @@ class TaxonomyTermController extends DrupalDefaultEntityController {
protected function buildQuery($ids, $conditions = array(), $revision_id = FALSE) {
$query = parent::buildQuery($ids, $conditions, $revision_id);
$query->addTag('translatable');
- $query->addTag('term_access');
+ $query->addTag('taxonomy_term_access');
// When name is passed as a condition use LIKE.
if (isset($conditions['name'])) {
$query_conditions = &$query->conditions();
diff --git a/modules/taxonomy/taxonomy.pages.inc b/modules/taxonomy/taxonomy.pages.inc
index 975ff12..38b24b3 100644
--- a/modules/taxonomy/taxonomy.pages.inc
+++ b/modules/taxonomy/taxonomy.pages.inc
@@ -150,7 +150,7 @@ function taxonomy_autocomplete($field_name = '', $tags_typed = '') {
$query = db_select('taxonomy_term_data', 't');
$query->addTag('translatable');
- $query->addTag('term_access');
+ $query->addTag('taxonomy_term_access');
// Do not select already entered terms.
if (!empty($tags_typed)) {
diff --git a/modules/taxonomy/taxonomy.test b/modules/taxonomy/taxonomy.test
index e9dac1e..a4b7ee8 100644
--- a/modules/taxonomy/taxonomy.test
+++ b/modules/taxonomy/taxonomy.test
@@ -1983,3 +1983,113 @@ class TaxonomyEFQTestCase extends TaxonomyWebTestCase {
}
}
+
+/**
+ * Tests that appropriate query tags are added.
+ */
+class TaxonomyQueryAlterTestCase extends TaxonomyWebTestCase {
+ public static function getInfo() {
+ return array(
+ 'name' => 'Taxonomy query tags',
+ 'description' => 'Verifies that taxonomy_term_access tags are added to queries.',
+ 'group' => 'Taxonomy',
+ );
+ }
+
+ public function setUp() {
+ parent::setUp('taxonomy_test');
+ }
+
+ /**
+ * Tests that appropriate tags are added when querying the database.
+ */
+ public function testTaxonomyQueryAlter() {
+ // Create a new vocabulary and add a few terms to it.
+ $vocabulary = $this->createVocabulary();
+ $terms = array();
+ for ($i = 0; $i < 5; $i++) {
+ $terms[$i] = $this->createTerm($vocabulary);
+ }
+
+ // Set up hierarchy. Term 2 is a child of 1.
+ $terms[2]->parent = array($terms[1]->tid);
+ taxonomy_term_save($terms[2]);
+
+ $this->setupQueryTagTestHooks();
+ $loaded_term = taxonomy_term_load($terms[0]->tid);
+ $this->assertEqual($loaded_term->tid, $terms[0]->tid, 'First term was loaded');
+ $this->assertQueryTagTestResult(1, 'taxonomy_term_load()');
+
+ $this->setupQueryTagTestHooks();
+ $loaded_terms = taxonomy_get_tree($vocabulary->vid);
+ $this->assertEqual(count($loaded_terms), count($terms), 'All terms were loaded');
+ $this->assertQueryTagTestResult(1, 'taxonomy_get_tree()');
+
+ $this->setupQueryTagTestHooks();
+ $loaded_terms = taxonomy_get_parents($terms[2]->tid);
+ $this->assertEqual(count($loaded_terms), 1, 'All parent terms were loaded');
+ $this->assertQueryTagTestResult(2, 'taxonomy_get_parents()');
+
+ $this->setupQueryTagTestHooks();
+ $loaded_terms = taxonomy_get_children($terms[1]->tid);
+ $this->assertEqual(count($loaded_terms), 1, 'All child terms were loaded');
+ $this->assertQueryTagTestResult(2, 'taxonomy_get_children()');
+
+ $this->setupQueryTagTestHooks();
+ $query = db_select('taxonomy_term_data', 't');
+ $query->addField('t', 'tid');
+ $query->addTag('taxonomy_term_access');
+ $tids = $query->execute()->fetchCol();
+ $this->assertEqual(count($tids), count($terms), 'All term IDs were retrieved');
+ $this->assertQueryTagTestResult(1, 'custom db_select() with taxonomy_term_access tag (preferred)');
+
+ $this->setupQueryTagTestHooks();
+ $query = db_select('taxonomy_term_data', 't');
+ $query->addField('t', 'tid');
+ $query->addTag('term_access');
+ $tids = $query->execute()->fetchCol();
+ $this->assertEqual(count($tids), count($terms), 'All term IDs were retrieved');
+ $this->assertQueryTagTestResult(1, 'custom db_select() with term_access tag (deprecated)');
+
+ $this->setupQueryTagTestHooks();
+ $query = new EntityFieldQuery();
+ $query->entityCondition('entity_type', 'taxonomy_term');
+ $query->addTag('taxonomy_term_access');
+ $result = $query->execute();
+ $this->assertEqual(count($result['taxonomy_term']), count($terms), 'All term IDs were retrieved');
+ $this->assertQueryTagTestResult(1, 'custom EntityFieldQuery with taxonomy_term_access tag (preferred)');
+
+ $this->setupQueryTagTestHooks();
+ $query = new EntityFieldQuery();
+ $query->entityCondition('entity_type', 'taxonomy_term');
+ $query->addTag('term_access');
+ $result = $query->execute();
+ $this->assertEqual(count($result['taxonomy_term']), count($terms), 'All term IDs were retrieved');
+ $this->assertQueryTagTestResult(1, 'custom EntityFieldQuery with term_access tag (deprecated)');
+ }
+
+ /**
+ * Sets up the hooks in the test module.
+ */
+ protected function setupQueryTagTestHooks() {
+ taxonomy_terms_static_reset();
+ variable_set('taxonomy_test_query_alter', 0);
+ variable_set('taxonomy_test_query_term_access_alter', 0);
+ variable_set('taxonomy_test_query_taxonomy_term_access_alter', 0);
+ }
+
+ /**
+ * Verifies invocation of the hooks in the test module.
+ *
+ * @param int $expected_invocations
+ * The number of times the hooks are expected to have been invoked.
+ * @param string $method
+ * A string describing the invoked function which generated the query.
+ */
+ protected function assertQueryTagTestResult($expected_invocations, $method) {
+ $this->assertIdentical($expected_invocations, variable_get('taxonomy_test_query_alter'), 'hook_query_alter() invoked when executing ' . $method);
+ $this->assertIdentical($expected_invocations, variable_get('taxonomy_test_query_term_access_alter'), 'Deprecated hook_query_term_access_alter() invoked when executing ' . $method);
+ $this->assertIdentical($expected_invocations, variable_get('taxonomy_test_query_taxonomy_term_access_alter'), 'Preferred hook_query_taxonomy_term_access_alter() invoked when executing ' . $method);
+ }
+
+}
diff --git a/modules/toolbar/toolbar.info b/modules/toolbar/toolbar.info
index 3ce4e98..b654820 100644
--- a/modules/toolbar/toolbar.info
+++ b/modules/toolbar/toolbar.info
@@ -4,8 +4,8 @@ core = 7.x
package = Core
version = VERSION
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/tracker/tracker.info b/modules/tracker/tracker.info
index eca5614..861949f 100644
--- a/modules/tracker/tracker.info
+++ b/modules/tracker/tracker.info
@@ -6,8 +6,8 @@ version = VERSION
core = 7.x
files[] = tracker.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/translation/tests/translation_test.info b/modules/translation/tests/translation_test.info
index 0f2de51..1c8f63e 100644
--- a/modules/translation/tests/translation_test.info
+++ b/modules/translation/tests/translation_test.info
@@ -5,8 +5,8 @@ package = Testing
version = VERSION
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/translation/translation.info b/modules/translation/translation.info
index 3f36bfc..2b947da 100644
--- a/modules/translation/translation.info
+++ b/modules/translation/translation.info
@@ -6,8 +6,8 @@ version = VERSION
core = 7.x
files[] = translation.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/trigger/tests/trigger_test.info b/modules/trigger/tests/trigger_test.info
index 68ade94..759b642 100644
--- a/modules/trigger/tests/trigger_test.info
+++ b/modules/trigger/tests/trigger_test.info
@@ -4,8 +4,8 @@ package = Testing
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/trigger/trigger.info b/modules/trigger/trigger.info
index 72be9cc..425e154 100644
--- a/modules/trigger/trigger.info
+++ b/modules/trigger/trigger.info
@@ -6,8 +6,8 @@ core = 7.x
files[] = trigger.test
configure = admin/structure/trigger
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/update/tests/aaa_update_test.info b/modules/update/tests/aaa_update_test.info
index 2f14b29..eccae6f 100644
--- a/modules/update/tests/aaa_update_test.info
+++ b/modules/update/tests/aaa_update_test.info
@@ -4,8 +4,8 @@ package = Testing
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/update/tests/bbb_update_test.info b/modules/update/tests/bbb_update_test.info
index 900d068..2346781 100644
--- a/modules/update/tests/bbb_update_test.info
+++ b/modules/update/tests/bbb_update_test.info
@@ -4,8 +4,8 @@ package = Testing
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/update/tests/ccc_update_test.info b/modules/update/tests/ccc_update_test.info
index 51dc859..d93e640 100644
--- a/modules/update/tests/ccc_update_test.info
+++ b/modules/update/tests/ccc_update_test.info
@@ -4,8 +4,8 @@ package = Testing
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/update/tests/themes/update_test_admintheme/update_test_admintheme.info b/modules/update/tests/themes/update_test_admintheme/update_test_admintheme.info
index cc3e3c5..7ceefda 100644
--- a/modules/update/tests/themes/update_test_admintheme/update_test_admintheme.info
+++ b/modules/update/tests/themes/update_test_admintheme/update_test_admintheme.info
@@ -3,8 +3,8 @@ description = Test theme which is used as admin theme.
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/update/tests/themes/update_test_basetheme/update_test_basetheme.info b/modules/update/tests/themes/update_test_basetheme/update_test_basetheme.info
index e8f2bfd..b8036c8 100644
--- a/modules/update/tests/themes/update_test_basetheme/update_test_basetheme.info
+++ b/modules/update/tests/themes/update_test_basetheme/update_test_basetheme.info
@@ -3,8 +3,8 @@ description = Test theme which acts as a base theme for other test subthemes.
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/update/tests/themes/update_test_subtheme/update_test_subtheme.info b/modules/update/tests/themes/update_test_subtheme/update_test_subtheme.info
index ae70713..3df4458 100644
--- a/modules/update/tests/themes/update_test_subtheme/update_test_subtheme.info
+++ b/modules/update/tests/themes/update_test_subtheme/update_test_subtheme.info
@@ -4,8 +4,8 @@ core = 7.x
base theme = update_test_basetheme
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/update/tests/update_test.info b/modules/update/tests/update_test.info
index 8cd643b..7f9dd93 100644
--- a/modules/update/tests/update_test.info
+++ b/modules/update/tests/update_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/update/update.info b/modules/update/update.info
index d4477d8..3030557 100644
--- a/modules/update/update.info
+++ b/modules/update/update.info
@@ -6,8 +6,8 @@ core = 7.x
files[] = update.test
configure = admin/reports/updates/settings
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/user/tests/user_form_test.info b/modules/user/tests/user_form_test.info
index 57d8fd0..32c8f45 100644
--- a/modules/user/tests/user_form_test.info
+++ b/modules/user/tests/user_form_test.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/modules/user/user.info b/modules/user/user.info
index 44d2fd2..4a760ec 100644
--- a/modules/user/user.info
+++ b/modules/user/user.info
@@ -9,8 +9,8 @@ required = TRUE
configure = admin/config/people
stylesheets[all][] = user.css
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/profiles/minimal/minimal.info b/profiles/minimal/minimal.info
index bb30cdc..ff2ae9c 100644
--- a/profiles/minimal/minimal.info
+++ b/profiles/minimal/minimal.info
@@ -5,8 +5,8 @@ core = 7.x
dependencies[] = block
dependencies[] = dblog
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/profiles/standard/standard.info b/profiles/standard/standard.info
index effe395..aa7654c 100644
--- a/profiles/standard/standard.info
+++ b/profiles/standard/standard.info
@@ -24,8 +24,8 @@ dependencies[] = field_ui
dependencies[] = file
dependencies[] = rdf
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/profiles/testing/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.info b/profiles/testing/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.info
index d4d1248..8097aac 100644
--- a/profiles/testing/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.info
+++ b/profiles/testing/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.info
@@ -6,8 +6,8 @@ core = 7.x
hidden = TRUE
files[] = drupal_system_listing_compatible_test.test
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/profiles/testing/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.info b/profiles/testing/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.info
index 7469d2f..c59eecd 100644
--- a/profiles/testing/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.info
+++ b/profiles/testing/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.info
@@ -8,8 +8,8 @@ version = VERSION
core = 6.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/profiles/testing/testing.info b/profiles/testing/testing.info
index 937c48e..7a9e217 100644
--- a/profiles/testing/testing.info
+++ b/profiles/testing/testing.info
@@ -4,8 +4,8 @@ version = VERSION
core = 7.x
hidden = TRUE
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/sites/default/themes/popsu/less/content-all.css.less b/sites/default/themes/popsu/less/content-all.css.less
index c51c024..be4d2b2 100644
--- a/sites/default/themes/popsu/less/content-all.css.less
+++ b/sites/default/themes/popsu/less/content-all.css.less
@@ -709,7 +709,7 @@ body.front {
display: block;
width: 115px;
- height: 261px;
+ height: 450px;
text-indent: -999px;
overflow: hidden;
margin-top: 5px;
@@ -760,12 +760,15 @@ body.front {
#logos-partenaires-home #ministere-culture {
display: block;
width: 115px;
- height: 151px;
+ height: 180px;
text-indent: -999px;
overflow: hidden;
- margin: 0;
+ margin: 10px 0 0 0;
padding: 0;
- background: url(../img/logos/LOGO-MC.jpg) no-repeat top center;
+ background-image: url(../img/logos/LOGO_MC.jpg);
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-position: top;
}
diff --git a/themes/bartik/bartik.info b/themes/bartik/bartik.info
index b2a0a40..e2cff22 100644
--- a/themes/bartik/bartik.info
+++ b/themes/bartik/bartik.info
@@ -34,8 +34,8 @@ regions[footer] = Footer
settings[shortcut_module_link] = 0
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/themes/garland/garland.info b/themes/garland/garland.info
index 24e5675..c573f6a 100644
--- a/themes/garland/garland.info
+++ b/themes/garland/garland.info
@@ -7,8 +7,8 @@ stylesheets[all][] = style.css
stylesheets[print][] = print.css
settings[garland_width] = fluid
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/themes/seven/seven.info b/themes/seven/seven.info
index 479d04a..a787856 100644
--- a/themes/seven/seven.info
+++ b/themes/seven/seven.info
@@ -13,8 +13,8 @@ regions[page_bottom] = Page bottom
regions[sidebar_first] = First sidebar
regions_hidden[] = sidebar_first
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"
diff --git a/themes/stark/stark.info b/themes/stark/stark.info
index 1a47c4c..bd8cdae 100644
--- a/themes/stark/stark.info
+++ b/themes/stark/stark.info
@@ -5,8 +5,8 @@ version = VERSION
core = 7.x
stylesheets[all][] = layout.css
-; Information added by Drupal.org packaging script on 2016-10-05
-version = "7.51"
+; Information added by Drupal.org packaging script on 2017-02-01
+version = "7.54"
project = "drupal"
-datestamp = "1475694174"
+datestamp = "1485986921"