From 8758cb71d8a2e3bd367544ab70a3068e0be97b45 Mon Sep 17 00:00:00 2001 From: Krystal Schenk Date: Tue, 13 Nov 2018 09:04:04 -0600 Subject: [PATCH] core update 7.61 and bootstrap theme update --- CHANGELOG.txt | 19 +++- MAINTAINERS.txt | 4 +- includes/bootstrap.inc | 8 +- includes/common.inc | 14 ++- includes/file.inc | 2 +- includes/form.inc | 12 ++- includes/install.inc | 2 +- includes/menu.inc | 9 +- includes/module.inc | 12 ++- includes/theme.inc | 36 ++++---- misc/tabledrag.js | 42 ++++++--- modules/aggregator/aggregator.info | 6 +- modules/aggregator/tests/aggregator_test.info | 6 +- modules/block/block.info | 6 +- modules/block/tests/block_test.info | 6 +- .../block_test_theme/block_test_theme.info | 6 +- modules/blog/blog.info | 6 +- modules/book/book.info | 6 +- modules/book/book.module | 11 ++- modules/color/color.info | 6 +- modules/comment/comment.info | 6 +- modules/contact/contact.info | 6 +- modules/contextual/contextual.info | 6 +- modules/dashboard/dashboard.info | 6 +- modules/dblog/dblog.info | 6 +- modules/field/field.info | 6 +- .../field_sql_storage/field_sql_storage.info | 6 +- modules/field/modules/list/list.info | 6 +- modules/field/modules/list/list.install | 9 +- .../field/modules/list/tests/list_test.info | 6 +- modules/field/modules/number/number.info | 6 +- modules/field/modules/options/options.info | 6 +- modules/field/modules/text/text.info | 6 +- modules/field/tests/field_test.info | 6 +- modules/field_ui/field_ui.info | 6 +- modules/file/file.info | 6 +- modules/file/tests/file_module_test.info | 6 +- modules/filter/filter.info | 6 +- modules/forum/forum.info | 6 +- modules/help/help.info | 6 +- modules/image/image.admin.inc | 3 +- modules/image/image.info | 6 +- modules/image/tests/image_module_test.info | 6 +- modules/locale/locale.info | 6 +- modules/locale/locale.test | 6 +- modules/locale/tests/locale_test.info | 6 +- modules/menu/menu.info | 6 +- modules/node/node.info | 6 +- modules/node/tests/node_access_test.info | 6 +- modules/node/tests/node_test.info | 6 +- modules/node/tests/node_test_exception.info | 6 +- modules/openid/openid.info | 6 +- modules/openid/tests/openid_test.info | 6 +- modules/overlay/overlay.info | 6 +- modules/path/path.info | 6 +- modules/php/php.info | 6 +- modules/poll/poll.info | 6 +- modules/profile/profile.info | 6 +- modules/rdf/rdf.info | 6 +- modules/rdf/tests/rdf_test.info | 6 +- modules/search/search.info | 6 +- .../search/tests/search_embedded_form.info | 6 +- modules/search/tests/search_extra_type.info | 6 +- modules/search/tests/search_node_tags.info | 6 +- modules/shortcut/shortcut.info | 6 +- modules/simpletest/simpletest.info | 6 +- .../simpletest/tests/actions_loop_test.info | 6 +- modules/simpletest/tests/ajax_forms_test.info | 6 +- modules/simpletest/tests/ajax_test.info | 6 +- modules/simpletest/tests/batch_test.info | 6 +- modules/simpletest/tests/boot_test_1.info | 6 +- modules/simpletest/tests/boot_test_2.info | 6 +- modules/simpletest/tests/common_test.info | 6 +- .../tests/common_test_cron_helper.info | 6 +- modules/simpletest/tests/database_test.info | 6 +- .../drupal_autoload_test.info | 6 +- ...drupal_system_listing_compatible_test.info | 6 +- ...upal_system_listing_incompatible_test.info | 6 +- .../simpletest/tests/entity_cache_test.info | 6 +- .../tests/entity_cache_test_dependency.info | 6 +- .../tests/entity_crud_hook_test.info | 6 +- .../tests/entity_query_access_test.info | 6 +- modules/simpletest/tests/error_test.info | 6 +- modules/simpletest/tests/file_test.info | 6 +- modules/simpletest/tests/filter_test.info | 6 +- modules/simpletest/tests/form.test | 53 +++++++++++ modules/simpletest/tests/form_test.info | 6 +- modules/simpletest/tests/form_test.module | 18 ++++ modules/simpletest/tests/image.test | 8 +- modules/simpletest/tests/image_test.info | 6 +- modules/simpletest/tests/menu_test.info | 6 +- modules/simpletest/tests/module_test.info | 6 +- modules/simpletest/tests/path_test.info | 6 +- .../tests/psr_0_test/psr_0_test.info | 6 +- .../tests/psr_4_test/psr_4_test.info | 6 +- .../simpletest/tests/requirements1_test.info | 6 +- .../simpletest/tests/requirements2_test.info | 6 +- modules/simpletest/tests/session_test.info | 6 +- .../tests/system_dependencies_test.info | 6 +- ...atible_core_version_dependencies_test.info | 6 +- ...system_incompatible_core_version_test.info | 6 +- ...ible_module_version_dependencies_test.info | 6 +- ...stem_incompatible_module_version_test.info | 6 +- .../tests/system_project_namespace_test.info | 6 +- modules/simpletest/tests/system_test.info | 6 +- modules/simpletest/tests/taxonomy_test.info | 6 +- modules/simpletest/tests/theme_test.info | 6 +- .../themes/test_basetheme/test_basetheme.info | 6 +- .../themes/test_subtheme/test_subtheme.info | 6 +- .../tests/themes/test_theme/test_theme.info | 6 +- .../themes/test_theme/theme-settings.php | 32 +++++++ .../test_theme_nyan_cat.info | 6 +- .../simpletest/tests/update_script_test.info | 6 +- modules/simpletest/tests/update_test_1.info | 6 +- modules/simpletest/tests/update_test_2.info | 6 +- modules/simpletest/tests/update_test_3.info | 6 +- modules/simpletest/tests/url_alter_test.info | 6 +- modules/simpletest/tests/xmlrpc_test.info | 6 +- modules/statistics/statistics.info | 6 +- modules/syslog/syslog.info | 6 +- modules/system/system.admin.inc | 23 +++-- modules/system/system.api.php | 4 +- modules/system/system.info | 6 +- modules/system/system.tar.inc | 87 +++++++++++++------ modules/system/system.test | 24 +++++ modules/system/tests/cron_queue_test.info | 6 +- modules/system/tests/system_cron_test.info | 6 +- modules/taxonomy/taxonomy.info | 6 +- modules/taxonomy/taxonomy.module | 8 +- modules/toolbar/toolbar.info | 6 +- modules/tracker/tracker.info | 6 +- .../translation/tests/translation_test.info | 6 +- modules/translation/translation.info | 6 +- modules/trigger/tests/trigger_test.info | 6 +- modules/trigger/trigger.info | 6 +- modules/update/tests/aaa_update_test.info | 6 +- modules/update/tests/bbb_update_test.info | 6 +- modules/update/tests/ccc_update_test.info | 6 +- .../update_test_admintheme.info | 6 +- .../update_test_basetheme.info | 6 +- .../update_test_subtheme.info | 6 +- modules/update/tests/update_test.info | 6 +- modules/update/update.info | 6 +- modules/user/tests/user_form_test.info | 6 +- modules/user/user.info | 6 +- modules/user/user.module | 4 +- modules/user/user.test | 7 ++ profiles/minimal/minimal.info | 6 +- profiles/standard/standard.info | 6 +- ...drupal_system_listing_compatible_test.info | 6 +- ...upal_system_listing_incompatible_test.info | 6 +- profiles/testing/testing.info | 6 +- sites/all/themes/bootstrap/bootstrap.info | 6 +- sites/all/themes/bootstrap/js/bootstrap.js | 7 +- .../bootstrap/templates/system/table.func.php | 12 +-- sites/default/default.settings.php | 17 ++++ themes/bartik/bartik.info | 6 +- themes/garland/garland.info | 6 +- themes/seven/seven.info | 6 +- themes/stark/stark.info | 6 +- 160 files changed, 778 insertions(+), 501 deletions(-) create mode 100644 modules/simpletest/tests/themes/test_theme/theme-settings.php diff --git a/CHANGELOG.txt b/CHANGELOG.txt index fa4f2091..09094ad4 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,3 +1,20 @@ +Drupal 7.61, 2018-11-07 +----------------------- +- File upload validation functions and hook_file_validate() implementations are + now always passed the correct file URI. +- The default form cache expiration of 6 hours is now configurable (API + addition: https://www.drupal.org/node/2857751). +- Allowed callers of drupal_http_request() to optionally specify an explicit + Host header. +- Allowed the + character to appear in usernames. +- PHP 7.2: Fixed Archive_Tar incompatibility. +- PHP 7.2: Removed deprecated function each(). +- PHP 7.2: Avoid count() calls on uncountable variables. +- PHP 7.2: Removed deprecated create_function() call. +- PHP 7.2: Make sure variables are arrays in theme_links(). +- Fixed theme-settings.php not being loaded on cached forms +- Fixed problem with IE11 & Chrome(PointerEvents enabled) & some Firefox scroll to the top of the page after dragging the bottom item with jquery 1.5 <-> 1.11 + Drupal 7.60, 2018-10-18 ------------------------ - Fixed security issues. See SA-CORE-2018-006. @@ -8,7 +25,7 @@ Drupal 7.59, 2018-04-25 Drupal 7.58, 2018-03-28 ----------------------- -- Fixed security issues (multiple vulnerabilities). See SA-CORE-2018-002. +- Fixed security issues (remote code execution). See SA-CORE-2018-002. Drupal 7.57, 2018-02-21 ----------------------- diff --git a/MAINTAINERS.txt b/MAINTAINERS.txt index 5603a432..460658c1 100644 --- a/MAINTAINERS.txt +++ b/MAINTAINERS.txt @@ -15,6 +15,7 @@ The branch maintainers for Drupal 7 are: - Fabian Franz 'Fabianx' https://www.drupal.org/u/fabianx - David Rothstein 'David_Rothstein' https://www.drupal.org/u/david_rothstein - Stefan Ruijsenaars 'stefan.r' https://www.drupal.org/u/stefanr-0 +- (provisional) Pol Dellaiera 'Pol' https://www.drupal.org/u/pol Component maintainers @@ -44,10 +45,9 @@ Cron system - Derek Wright 'dww' https://www.drupal.org/u/dww Database system -- Larry Garfield 'Crell' https://www.drupal.org/u/crell +- ? - MySQL driver - - Larry Garfield 'Crell' https://www.drupal.org/u/crell - David Strauss 'David Strauss' https://www.drupal.org/u/david-strauss - PostgreSQL driver diff --git a/includes/bootstrap.inc b/includes/bootstrap.inc index 2d8b820f..8ac48eee 100644 --- a/includes/bootstrap.inc +++ b/includes/bootstrap.inc @@ -8,7 +8,7 @@ /** * The current system version. */ -define('VERSION', '7.60'); +define('VERSION', '7.61'); /** * Core API compatibility. @@ -3785,8 +3785,12 @@ function _drupal_shutdown_function() { chdir(DRUPAL_ROOT); try { - while (list($key, $callback) = each($callbacks)) { + // Manually iterate over the array instead of using a foreach loop. + // A foreach operates on a copy of the array, so any shutdown functions that + // were added from other shutdown functions would never be called. + while ($callback = current($callbacks)) { call_user_func_array($callback['callback'], $callback['arguments']); + next($callbacks); } } catch (Exception $exception) { diff --git a/includes/common.inc b/includes/common.inc index a79a2f42..c5b4ff26 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -867,8 +867,10 @@ function drupal_http_request($url, array $options = array()) { // Make the socket connection to a proxy server. $socket = 'tcp://' . $proxy_server . ':' . variable_get('proxy_port', 8080); // The Host header still needs to match the real request. - $options['headers']['Host'] = $uri['host']; - $options['headers']['Host'] .= isset($uri['port']) && $uri['port'] != 80 ? ':' . $uri['port'] : ''; + if (!isset($options['headers']['Host'])) { + $options['headers']['Host'] = $uri['host']; + $options['headers']['Host'] .= isset($uri['port']) && $uri['port'] != 80 ? ':' . $uri['port'] : ''; + } break; case 'http': @@ -878,14 +880,18 @@ function drupal_http_request($url, array $options = array()) { // RFC 2616: "non-standard ports MUST, default ports MAY be included". // We don't add the standard port to prevent from breaking rewrite rules // checking the host that do not take into account the port number. - $options['headers']['Host'] = $uri['host'] . ($port != 80 ? ':' . $port : ''); + if (!isset($options['headers']['Host'])) { + $options['headers']['Host'] = $uri['host'] . ($port != 80 ? ':' . $port : ''); + } break; case 'https': // Note: Only works when PHP is compiled with OpenSSL support. $port = isset($uri['port']) ? $uri['port'] : 443; $socket = 'ssl://' . $uri['host'] . ':' . $port; - $options['headers']['Host'] = $uri['host'] . ($port != 443 ? ':' . $port : ''); + if (!isset($options['headers']['Host'])) { + $options['headers']['Host'] = $uri['host'] . ($port != 443 ? ':' . $port : ''); + } break; default: diff --git a/includes/file.inc b/includes/file.inc index fa7f5eb5..e37af026 100644 --- a/includes/file.inc +++ b/includes/file.inc @@ -1536,7 +1536,7 @@ function file_save_upload($form_field_name, $validators = array(), $destination // evaluates to TRUE. if (!variable_get('allow_insecure_uploads', 0) && preg_match('/\.(php|pl|py|cgi|asp|js)(\.|$)/i', $file->filename) && (substr($file->filename, -4) != '.txt')) { $file->filemime = 'text/plain'; - $file->uri .= '.txt'; + // The destination filename will also later be used to create the URI. $file->filename .= '.txt'; // The .txt extension may not be in the allowed list of extensions. We have // to add it here or else the file upload will fail. diff --git a/includes/form.inc b/includes/form.inc index e749239e..6c33de7f 100644 --- a/includes/form.inc +++ b/includes/form.inc @@ -555,8 +555,10 @@ function form_get_cache($form_build_id, &$form_state) { * Stores a form in the cache. */ function form_set_cache($form_build_id, $form, $form_state) { - // 6 hours cache life time for forms should be plenty. - $expire = 21600; + // The default cache_form expiration is 6 hours. On busy sites, the cache_form + // table can become very large. A shorter cache lifetime can help to keep the + // table's size under control. + $expire = variable_get('form_cache_expiration', 21600); // Ensure that the form build_id embedded in the form structure is the same as // the one passed in as a parameter. This is an additional safety measure to @@ -1438,10 +1440,12 @@ function _form_validate(&$elements, &$form_state, $form_id = NULL) { // length if it's a string, and the item count if it's an array. // An unchecked checkbox has a #value of integer 0, different than string // '0', which could be a valid value. - $is_empty_multiple = (!count($elements['#value'])); + $is_countable = is_array($elements['#value']) || $elements['#value'] instanceof Countable; + $is_empty_multiple = $is_countable && count($elements['#value']) == 0; $is_empty_string = (is_string($elements['#value']) && drupal_strlen(trim($elements['#value'])) == 0); $is_empty_value = ($elements['#value'] === 0); - if ($is_empty_multiple || $is_empty_string || $is_empty_value) { + $is_empty_null = is_null($elements['#value']); + if ($is_empty_multiple || $is_empty_string || $is_empty_value || $is_empty_null) { // Although discouraged, a #title is not mandatory for form elements. In // case there is no #title, we cannot set a form error message. // Instead of setting no #title, form constructors are encouraged to set diff --git a/includes/install.inc b/includes/install.inc index 5e1d3c63..b7db7835 100644 --- a/includes/install.inc +++ b/includes/install.inc @@ -779,7 +779,7 @@ function drupal_uninstall_modules($module_list = array(), $uninstall_dependents $module_list = array_flip(array_values($module_list)); $profile = drupal_get_profile(); - while (list($module) = each($module_list)) { + foreach (array_keys($module_list) as $module) { if (!isset($module_data[$module]) || drupal_get_installed_schema_version($module) == SCHEMA_UNINSTALLED) { // This module doesn't exist or is already uninstalled. Skip it. unset($module_list[$module]); diff --git a/includes/menu.inc b/includes/menu.inc index 4664d27e..ca37ba50 100644 --- a/includes/menu.inc +++ b/includes/menu.inc @@ -576,7 +576,8 @@ function _menu_load_objects(&$item, &$map) { // 'load arguments' in the hook_menu() entry, but they need // some processing. In this case the $function is the key to the // load_function array, and the value is the list of arguments. - list($function, $args) = each($function); + $args = current($function); + $function = key($function); $load_functions[$index] = $function; // Some arguments are placeholders for dynamic items to process. @@ -2402,7 +2403,8 @@ function menu_set_active_trail($new_trail = NULL) { // a stripped down menu tree containing the active trail only, in case // the given menu has not been built in this request yet. $tree = menu_tree_page_data($preferred_link['menu_name'], NULL, TRUE); - list($key, $curr) = each($tree); + $curr = current($tree); + next($tree); } // There is no link for the current path. else { @@ -2432,7 +2434,8 @@ function menu_set_active_trail($new_trail = NULL) { } $tree = $curr['below'] ? $curr['below'] : array(); } - list($key, $curr) = each($tree); + $curr = current($tree); + next($tree); } // Make sure the current page is in the trail to build the page title, by // appending either the preferred link or the menu router item for the diff --git a/includes/module.inc b/includes/module.inc index 2e251080..4c2b3fbe 100644 --- a/includes/module.inc +++ b/includes/module.inc @@ -404,7 +404,11 @@ function module_enable($module_list, $enable_dependencies = TRUE) { // Create an associative array with weights as values. $module_list = array_flip(array_values($module_list)); - while (list($module) = each($module_list)) { + // The array is iterated over manually (instead of using a foreach) because + // modules may be added to the list within the loop and we need to process + // them. + while ($module = key($module_list)) { + next($module_list); if (!isset($module_data[$module])) { // This module is not found in the filesystem, abort. return FALSE; @@ -540,7 +544,11 @@ function module_disable($module_list, $disable_dependents = TRUE) { $module_list = array_flip(array_values($module_list)); $profile = drupal_get_profile(); - while (list($module) = each($module_list)) { + // The array is iterated over manually (instead of using a foreach) because + // modules may be added to the list within the loop and we need to process + // them. + while ($module = key($module_list)) { + next($module_list); if (!isset($module_data[$module]) || !$module_data[$module]->status) { // This module doesn't exist or is already disabled, skip it. unset($module_list[$module]); diff --git a/includes/theme.inc b/includes/theme.inc index 9b606e9f..a926b764 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -1776,13 +1776,13 @@ function theme_link($variables) { * http://www.w3.org/TR/WCAG-TECHS/H42.html for more information. */ function theme_links($variables) { - $links = $variables['links']; - $attributes = $variables['attributes']; + $links = (array) $variables['links']; + $attributes = (array) $variables['attributes']; $heading = $variables['heading']; global $language_url; $output = ''; - if (count($links) > 0) { + if (!empty($links)) { // Treat the heading first if it is present to prepend it to the // list of links. if (!empty($heading)) { @@ -1995,7 +1995,7 @@ function theme_table($variables) { $empty = $variables['empty']; // Add sticky headers, if applicable. - if (count($header) && $sticky) { + if (!empty($header) && $sticky) { drupal_add_js('misc/tableheader.js'); // Add 'sticky-enabled' class to the table to identify it for JS. // This is needed to target tables constructed by this function. @@ -2009,7 +2009,7 @@ function theme_table($variables) { } // Format the table columns: - if (count($colgroups)) { + if (!empty($colgroups)) { foreach ($colgroups as $number => $colgroup) { $attributes = array(); @@ -2044,38 +2044,40 @@ function theme_table($variables) { } // Add the 'empty' row message if available. - if (!count($rows) && $empty) { + if (empty($rows) && $empty) { $header_count = 0; - foreach ($header as $header_cell) { - if (is_array($header_cell)) { - $header_count += isset($header_cell['colspan']) ? $header_cell['colspan'] : 1; - } - else { - $header_count++; + if (!empty($header)) { + foreach ($header as $header_cell) { + if (is_array($header_cell)) { + $header_count += isset($header_cell['colspan']) ? $header_cell['colspan'] : 1; + } + else { + $header_count++; + } } } $rows[] = array(array('data' => $empty, 'colspan' => $header_count, 'class' => array('empty', 'message'))); } // Format the table header: - if (count($header)) { + if (!empty($header)) { $ts = tablesort_init($header); // HTML requires that the thead tag has tr tags in it followed by tbody // tags. Using ternary operator to check and see if we have any rows. - $output .= (count($rows) ? ' ' : ' '); + $output .= (!empty($rows) ? ' ' : ' '); foreach ($header as $cell) { $cell = tablesort_header($cell, $header, $ts); $output .= _theme_table_cell($cell, TRUE); } // Using ternary operator to close the tags based on whether or not there are rows - $output .= (count($rows) ? " \n" : "\n"); + $output .= (!empty($rows) ? " \n" : "\n"); } else { $ts = array(); } // Format the table rows: - if (count($rows)) { + if (!empty($rows)) { $output .= "\n"; $flip = array('even' => 'odd', 'odd' => 'even'); $class = 'even'; @@ -2095,7 +2097,7 @@ function theme_table($variables) { $attributes = array(); $no_striping = FALSE; } - if (count($cells)) { + if (!empty($cells)) { // Add odd/even class if (!$no_striping) { $class = $flip[$class]; diff --git a/misc/tabledrag.js b/misc/tabledrag.js index 7ea88b60..836568f5 100644 --- a/misc/tabledrag.js +++ b/misc/tabledrag.js @@ -580,21 +580,43 @@ Drupal.tableDrag.prototype.dropRow = function (event, self) { * Get the mouse coordinates from the event (allowing for browser differences). */ Drupal.tableDrag.prototype.mouseCoords = function (event) { + + // Match both null and undefined, but not zero, by using != null. + // See https://stackoverflow.com/questions/2647867/how-to-determine-if-variable-is-undefined-or-null + if (event.pageX != null && event.pageY != null) { + return {x: event.pageX, y: event.pageY}; + } + // 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; + // pageX and pageY properties undefined. In those cases, the properties must + // be retrieved from the event.originalEvent object instead. + if (event.originalEvent && event.originalEvent.pageX != null && event.originalEvent.pageY != null) { + return {x: event.originalEvent.pageX, y: event.originalEvent.pageY}; + } - if (event.pageX || event.pageY) { - return { x: event.pageX, y: event.pageY }; + // Some old browsers do not support MouseEvent.pageX and *.pageY at all. + // See https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageY + // For those, we look at event.clientX and event.clientY instead. + if (event.clientX == null || event.clientY == null) { + // In some jQuery versions, some events created by jQuery do not have + // clientX and clientY. But the original event might have. + if (!event.originalEvent) { + throw new Error("The event has no coordinates, and no event.originalEvent."); + } + event = event.originalEvent; + if (event.clientX == null || event.clientY == null) { + throw new Error("The original event has no coordinates."); + } } - return { - x: clientX + document.body.scrollLeft - document.body.clientLeft, - y: clientY + document.body.scrollTop - document.body.clientTop - }; + // Copied from jQuery.event.fix() in jQuery 1.4.1. + // In newer jQuery versions, this code is in jQuery.event.mouseHooks.filter(). + var doc = document.documentElement, body = document.body; + var pageX = event.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + var pageY = event.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + + return {x: pageX, y: pageY}; }; /** diff --git a/modules/aggregator/aggregator.info b/modules/aggregator/aggregator.info index 2d84f9d1..e7002d17 100644 --- a/modules/aggregator/aggregator.info +++ b/modules/aggregator/aggregator.info @@ -7,7 +7,7 @@ files[] = aggregator.test configure = admin/config/services/aggregator/settings stylesheets[all][] = aggregator.css -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/aggregator/tests/aggregator_test.info b/modules/aggregator/tests/aggregator_test.info index 91811fcd..dc7737bb 100644 --- a/modules/aggregator/tests/aggregator_test.info +++ b/modules/aggregator/tests/aggregator_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/block/block.info b/modules/block/block.info index f3f2c7cf..1ed7ead1 100644 --- a/modules/block/block.info +++ b/modules/block/block.info @@ -6,7 +6,7 @@ core = 7.x files[] = block.test configure = admin/structure/block -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/block/tests/block_test.info b/modules/block/tests/block_test.info index f62fdd7e..22b9c6b3 100644 --- a/modules/block/tests/block_test.info +++ b/modules/block/tests/block_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" 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 4ce61da1..7dbba8c5 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,7 +13,7 @@ regions[footer] = Footer regions[highlighted] = Highlighted regions[help] = Help -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/blog/blog.info b/modules/blog/blog.info index ea026380..416956d4 100644 --- a/modules/blog/blog.info +++ b/modules/blog/blog.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x files[] = blog.test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/book/book.info b/modules/book/book.info index 98aca934..755e226f 100644 --- a/modules/book/book.info +++ b/modules/book/book.info @@ -7,7 +7,7 @@ files[] = book.test configure = admin/content/book/settings stylesheets[all][] = book.css -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/book/book.module b/modules/book/book.module index 7afed9ae..32047f93 100644 --- a/modules/book/book.module +++ b/modules/book/book.module @@ -768,11 +768,13 @@ function book_prev($book_link) { return NULL; } $flat = book_get_flat_menu($book_link); - // Assigning the array to $flat resets the array pointer for use with each(). + reset($flat); $curr = NULL; do { $prev = $curr; - list($key, $curr) = each($flat); + $curr = current($flat); + $key = key($flat); + next($flat); } while ($key && $key != $book_link['mlid']); if ($key == $book_link['mlid']) { @@ -806,9 +808,10 @@ function book_prev($book_link) { */ function book_next($book_link) { $flat = book_get_flat_menu($book_link); - // Assigning the array to $flat resets the array pointer for use with each(). + reset($flat); do { - list($key, $curr) = each($flat); + $key = key($flat); + next($flat); } while ($key && $key != $book_link['mlid']); diff --git a/modules/color/color.info b/modules/color/color.info index 9ca6bcce..8725d520 100644 --- a/modules/color/color.info +++ b/modules/color/color.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x files[] = color.test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/comment/comment.info b/modules/comment/comment.info index 5ea180dc..3653f064 100644 --- a/modules/comment/comment.info +++ b/modules/comment/comment.info @@ -9,7 +9,7 @@ files[] = comment.test configure = admin/content/comment stylesheets[all][] = comment.css -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/contact/contact.info b/modules/contact/contact.info index 63cf78c5..18d66c39 100644 --- a/modules/contact/contact.info +++ b/modules/contact/contact.info @@ -6,7 +6,7 @@ core = 7.x files[] = contact.test configure = admin/structure/contact -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/contextual/contextual.info b/modules/contextual/contextual.info index c2f68e3b..5fb362a4 100644 --- a/modules/contextual/contextual.info +++ b/modules/contextual/contextual.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x files[] = contextual.test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/dashboard/dashboard.info b/modules/dashboard/dashboard.info index d4778c67..1638f125 100644 --- a/modules/dashboard/dashboard.info +++ b/modules/dashboard/dashboard.info @@ -7,7 +7,7 @@ files[] = dashboard.test dependencies[] = block configure = admin/dashboard/customize -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/dblog/dblog.info b/modules/dblog/dblog.info index 9c78e1b4..a478f5eb 100644 --- a/modules/dblog/dblog.info +++ b/modules/dblog/dblog.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x files[] = dblog.test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/field/field.info b/modules/field/field.info index 4cfb0b6c..a3f36143 100644 --- a/modules/field/field.info +++ b/modules/field/field.info @@ -11,7 +11,7 @@ dependencies[] = field_sql_storage required = TRUE stylesheets[all][] = theme/field.css -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" 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 29c7421a..66b721b5 100644 --- a/modules/field/modules/field_sql_storage/field_sql_storage.info +++ b/modules/field/modules/field_sql_storage/field_sql_storage.info @@ -7,7 +7,7 @@ dependencies[] = field files[] = field_sql_storage.test required = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/field/modules/list/list.info b/modules/field/modules/list/list.info index 55c539c0..6dcd8a0a 100644 --- a/modules/field/modules/list/list.info +++ b/modules/field/modules/list/list.info @@ -7,7 +7,7 @@ dependencies[] = field dependencies[] = options files[] = tests/list.test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/field/modules/list/list.install b/modules/field/modules/list/list.install index 2386f048..c10fbc84 100644 --- a/modules/field/modules/list/list.install +++ b/modules/field/modules/list/list.install @@ -61,7 +61,7 @@ function list_update_7001() { // Additionally, float keys need to be disambiguated ('.5' is '0.5'). if ($field['type'] == 'list_number' && !empty($allowed_values)) { - $keys = array_map(create_function('$a', 'return (string) (float) $a;'), array_keys($allowed_values)); + $keys = array_map('_list_update_7001_float_string_cast', array_keys($allowed_values)); $allowed_values = array_combine($keys, array_values($allowed_values)); } @@ -88,6 +88,13 @@ function list_update_7001() { } } +/** + * Helper callback function to cast the array element. + */ +function _list_update_7001_float_string_cast($element) { + return (string) (float) $element; +} + /** * Helper function for list_update_7001: extract allowed values from a string. * diff --git a/modules/field/modules/list/tests/list_test.info b/modules/field/modules/list/tests/list_test.info index ca74fe3c..f9f43190 100644 --- a/modules/field/modules/list/tests/list_test.info +++ b/modules/field/modules/list/tests/list_test.info @@ -5,7 +5,7 @@ package = Testing version = VERSION hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/field/modules/number/number.info b/modules/field/modules/number/number.info index c2c57a20..2227c3a4 100644 --- a/modules/field/modules/number/number.info +++ b/modules/field/modules/number/number.info @@ -6,7 +6,7 @@ core = 7.x dependencies[] = field files[] = number.test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/field/modules/options/options.info b/modules/field/modules/options/options.info index 71abf417..cfb4c530 100644 --- a/modules/field/modules/options/options.info +++ b/modules/field/modules/options/options.info @@ -6,7 +6,7 @@ core = 7.x dependencies[] = field files[] = options.test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/field/modules/text/text.info b/modules/field/modules/text/text.info index 1de61433..5658c62c 100644 --- a/modules/field/modules/text/text.info +++ b/modules/field/modules/text/text.info @@ -7,7 +7,7 @@ dependencies[] = field files[] = text.test required = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/field/tests/field_test.info b/modules/field/tests/field_test.info index fb1653fb..afa9845e 100644 --- a/modules/field/tests/field_test.info +++ b/modules/field/tests/field_test.info @@ -6,7 +6,7 @@ files[] = field_test.entity.inc version = VERSION hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/field_ui/field_ui.info b/modules/field_ui/field_ui.info index b977882d..e6017393 100644 --- a/modules/field_ui/field_ui.info +++ b/modules/field_ui/field_ui.info @@ -6,7 +6,7 @@ core = 7.x dependencies[] = field files[] = field_ui.test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/file/file.info b/modules/file/file.info index 27fbd621..4152df5e 100644 --- a/modules/file/file.info +++ b/modules/file/file.info @@ -6,7 +6,7 @@ core = 7.x dependencies[] = field files[] = tests/file.test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/file/tests/file_module_test.info b/modules/file/tests/file_module_test.info index b63d5067..106eb3b9 100644 --- a/modules/file/tests/file_module_test.info +++ b/modules/file/tests/file_module_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/filter/filter.info b/modules/filter/filter.info index 25b58004..325add80 100644 --- a/modules/filter/filter.info +++ b/modules/filter/filter.info @@ -7,7 +7,7 @@ files[] = filter.test required = TRUE configure = admin/config/content/formats -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/forum/forum.info b/modules/forum/forum.info index 6907509f..8bb210e1 100644 --- a/modules/forum/forum.info +++ b/modules/forum/forum.info @@ -9,7 +9,7 @@ files[] = forum.test configure = admin/structure/forum stylesheets[all][] = forum.css -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/help/help.info b/modules/help/help.info index 33e6c811..52cfdbae 100644 --- a/modules/help/help.info +++ b/modules/help/help.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x files[] = help.test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/image/image.admin.inc b/modules/image/image.admin.inc index cebe8940..0fbdc0b7 100644 --- a/modules/image/image.admin.inc +++ b/modules/image/image.admin.inc @@ -736,7 +736,8 @@ function theme_image_style_effects($variables) { if (!isset($form[$key]['#access']) || $form[$key]['#access']) { $rows[] = array( 'data' => $row, - 'class' => !empty($form[$key]['weight']['#access']) || $key == 'new' ? array('draggable') : array(), + // Use a strict (===) comparison since $key can be 0. + 'class' => !empty($form[$key]['weight']['#access']) || $key === 'new' ? array('draggable') : array(), ); } } diff --git a/modules/image/image.info b/modules/image/image.info index d6b6942d..eef86397 100644 --- a/modules/image/image.info +++ b/modules/image/image.info @@ -7,7 +7,7 @@ dependencies[] = file files[] = image.test configure = admin/config/media/image-styles -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/image/tests/image_module_test.info b/modules/image/tests/image_module_test.info index 588044e8..69e795b1 100644 --- a/modules/image/tests/image_module_test.info +++ b/modules/image/tests/image_module_test.info @@ -6,7 +6,7 @@ core = 7.x files[] = image_module_test.module hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/locale/locale.info b/modules/locale/locale.info index 45d1d677..1360adcb 100644 --- a/modules/locale/locale.info +++ b/modules/locale/locale.info @@ -6,7 +6,7 @@ core = 7.x files[] = locale.test configure = admin/config/regional/language -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/locale/locale.test b/modules/locale/locale.test index db87e055..b890b061 100644 --- a/modules/locale/locale.test +++ b/modules/locale/locale.test @@ -3188,11 +3188,7 @@ class LocaleLanguageNegotiationInfoFunctionalTest extends DrupalWebTestCase { foreach (language_types_info() as $type => $info) { if (isset($info['fixed'])) { $negotiation = variable_get("language_negotiation_$type", array()); - $equal = count($info['fixed']) == count($negotiation); - while ($equal && list($id) = each($negotiation)) { - list(, $info_id) = each($info['fixed']); - $equal = $info_id == $id; - } + $equal = array_keys($negotiation) === array_values($info['fixed']); $this->assertTrue($equal, format_string('language negotiation for %type is properly set up', array('%type' => $type))); } } diff --git a/modules/locale/tests/locale_test.info b/modules/locale/tests/locale_test.info index 20ae2b47..cdf609ef 100644 --- a/modules/locale/tests/locale_test.info +++ b/modules/locale/tests/locale_test.info @@ -5,7 +5,7 @@ package = Testing version = VERSION hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/menu/menu.info b/modules/menu/menu.info index b44e1301..eed9c210 100644 --- a/modules/menu/menu.info +++ b/modules/menu/menu.info @@ -6,7 +6,7 @@ core = 7.x files[] = menu.test configure = admin/structure/menu -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/node/node.info b/modules/node/node.info index 0094ad6a..8de44189 100644 --- a/modules/node/node.info +++ b/modules/node/node.info @@ -9,7 +9,7 @@ required = TRUE configure = admin/structure/types stylesheets[all][] = node.css -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/node/tests/node_access_test.info b/modules/node/tests/node_access_test.info index a7aad51e..2739dabc 100644 --- a/modules/node/tests/node_access_test.info +++ b/modules/node/tests/node_access_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/node/tests/node_test.info b/modules/node/tests/node_test.info index 86337664..b907aabd 100644 --- a/modules/node/tests/node_test.info +++ b/modules/node/tests/node_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/node/tests/node_test_exception.info b/modules/node/tests/node_test_exception.info index 7c495bfe..17993ddd 100644 --- a/modules/node/tests/node_test_exception.info +++ b/modules/node/tests/node_test_exception.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/openid/openid.info b/modules/openid/openid.info index 09a49f79..744d6038 100644 --- a/modules/openid/openid.info +++ b/modules/openid/openid.info @@ -5,7 +5,7 @@ package = Core core = 7.x files[] = openid.test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/openid/tests/openid_test.info b/modules/openid/tests/openid_test.info index 712801ad..a0455361 100644 --- a/modules/openid/tests/openid_test.info +++ b/modules/openid/tests/openid_test.info @@ -6,7 +6,7 @@ core = 7.x dependencies[] = openid hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/overlay/overlay.info b/modules/overlay/overlay.info index 656c6577..c2586577 100644 --- a/modules/overlay/overlay.info +++ b/modules/overlay/overlay.info @@ -4,7 +4,7 @@ package = Core version = VERSION core = 7.x -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/path/path.info b/modules/path/path.info index 0edafb7d..a639ff53 100644 --- a/modules/path/path.info +++ b/modules/path/path.info @@ -6,7 +6,7 @@ core = 7.x files[] = path.test configure = admin/config/search/path -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/php/php.info b/modules/php/php.info index 9ea7278c..d94f6063 100644 --- a/modules/php/php.info +++ b/modules/php/php.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x files[] = php.test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/poll/poll.info b/modules/poll/poll.info index 3f0d235b..3b0af74d 100644 --- a/modules/poll/poll.info +++ b/modules/poll/poll.info @@ -6,7 +6,7 @@ core = 7.x files[] = poll.test stylesheets[all][] = poll.css -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/profile/profile.info b/modules/profile/profile.info index ce6d9549..46b48e30 100644 --- a/modules/profile/profile.info +++ b/modules/profile/profile.info @@ -11,7 +11,7 @@ configure = admin/config/people/profile ; See user_system_info_alter(). hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/rdf/rdf.info b/modules/rdf/rdf.info index ea28b0e3..b23415ca 100644 --- a/modules/rdf/rdf.info +++ b/modules/rdf/rdf.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x files[] = rdf.test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/rdf/tests/rdf_test.info b/modules/rdf/tests/rdf_test.info index 7e0e2b21..89c0407a 100644 --- a/modules/rdf/tests/rdf_test.info +++ b/modules/rdf/tests/rdf_test.info @@ -6,7 +6,7 @@ core = 7.x hidden = TRUE dependencies[] = blog -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/search/search.info b/modules/search/search.info index 31328786..9e113618 100644 --- a/modules/search/search.info +++ b/modules/search/search.info @@ -8,7 +8,7 @@ files[] = search.test configure = admin/config/search/settings stylesheets[all][] = search.css -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/search/tests/search_embedded_form.info b/modules/search/tests/search_embedded_form.info index 0874c63a..4b41cf3d 100644 --- a/modules/search/tests/search_embedded_form.info +++ b/modules/search/tests/search_embedded_form.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/search/tests/search_extra_type.info b/modules/search/tests/search_extra_type.info index 67b8566d..0793a27d 100644 --- a/modules/search/tests/search_extra_type.info +++ b/modules/search/tests/search_extra_type.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/search/tests/search_node_tags.info b/modules/search/tests/search_node_tags.info index f260f0b4..28967b9d 100644 --- a/modules/search/tests/search_node_tags.info +++ b/modules/search/tests/search_node_tags.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/shortcut/shortcut.info b/modules/shortcut/shortcut.info index 1c1b2a5b..05082be3 100644 --- a/modules/shortcut/shortcut.info +++ b/modules/shortcut/shortcut.info @@ -6,7 +6,7 @@ core = 7.x files[] = shortcut.test configure = admin/config/user-interface/shortcut -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/simpletest.info b/modules/simpletest/simpletest.info index 316eb84a..a020c418 100644 --- a/modules/simpletest/simpletest.info +++ b/modules/simpletest/simpletest.info @@ -57,7 +57,7 @@ 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 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/actions_loop_test.info b/modules/simpletest/tests/actions_loop_test.info index dd6a1b20..75d86ba9 100644 --- a/modules/simpletest/tests/actions_loop_test.info +++ b/modules/simpletest/tests/actions_loop_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/ajax_forms_test.info b/modules/simpletest/tests/ajax_forms_test.info index 5b1038d0..abe0d1d9 100644 --- a/modules/simpletest/tests/ajax_forms_test.info +++ b/modules/simpletest/tests/ajax_forms_test.info @@ -5,7 +5,7 @@ package = Testing version = VERSION hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/ajax_test.info b/modules/simpletest/tests/ajax_test.info index c85f9aaa..b1bdcfdd 100644 --- a/modules/simpletest/tests/ajax_test.info +++ b/modules/simpletest/tests/ajax_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/batch_test.info b/modules/simpletest/tests/batch_test.info index f04ed7c9..62d5751e 100644 --- a/modules/simpletest/tests/batch_test.info +++ b/modules/simpletest/tests/batch_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/boot_test_1.info b/modules/simpletest/tests/boot_test_1.info index 405171c8..3f9dabea 100644 --- a/modules/simpletest/tests/boot_test_1.info +++ b/modules/simpletest/tests/boot_test_1.info @@ -5,7 +5,7 @@ package = Testing version = VERSION hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/boot_test_2.info b/modules/simpletest/tests/boot_test_2.info index e4ff1ef5..de56d0c3 100644 --- a/modules/simpletest/tests/boot_test_2.info +++ b/modules/simpletest/tests/boot_test_2.info @@ -5,7 +5,7 @@ package = Testing version = VERSION hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/common_test.info b/modules/simpletest/tests/common_test.info index 744d932c..f916d24e 100644 --- a/modules/simpletest/tests/common_test.info +++ b/modules/simpletest/tests/common_test.info @@ -7,7 +7,7 @@ stylesheets[all][] = common_test.css stylesheets[print][] = common_test.print.css hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/common_test_cron_helper.info b/modules/simpletest/tests/common_test_cron_helper.info index 1f1f8554..73aae268 100644 --- a/modules/simpletest/tests/common_test_cron_helper.info +++ b/modules/simpletest/tests/common_test_cron_helper.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/database_test.info b/modules/simpletest/tests/database_test.info index 381e3d21..b8af5e82 100644 --- a/modules/simpletest/tests/database_test.info +++ b/modules/simpletest/tests/database_test.info @@ -5,7 +5,7 @@ package = Testing version = VERSION hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" 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 82237d84..c002f736 100644 --- a/modules/simpletest/tests/drupal_autoload_test/drupal_autoload_test.info +++ b/modules/simpletest/tests/drupal_autoload_test/drupal_autoload_test.info @@ -7,7 +7,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" 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 1445e6ff..af24b14a 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,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" 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 3fc68b43..d7249689 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,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/entity_cache_test.info b/modules/simpletest/tests/entity_cache_test.info index 75f6d947..4ccdacc7 100644 --- a/modules/simpletest/tests/entity_cache_test.info +++ b/modules/simpletest/tests/entity_cache_test.info @@ -6,7 +6,7 @@ core = 7.x dependencies[] = entity_cache_test_dependency hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/entity_cache_test_dependency.info b/modules/simpletest/tests/entity_cache_test_dependency.info index 95d36a76..80c63172 100644 --- a/modules/simpletest/tests/entity_cache_test_dependency.info +++ b/modules/simpletest/tests/entity_cache_test_dependency.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/entity_crud_hook_test.info b/modules/simpletest/tests/entity_crud_hook_test.info index 5e9fb737..99ac8601 100644 --- a/modules/simpletest/tests/entity_crud_hook_test.info +++ b/modules/simpletest/tests/entity_crud_hook_test.info @@ -5,7 +5,7 @@ package = Testing version = VERSION hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/entity_query_access_test.info b/modules/simpletest/tests/entity_query_access_test.info index c56f292c..17e707c2 100644 --- a/modules/simpletest/tests/entity_query_access_test.info +++ b/modules/simpletest/tests/entity_query_access_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/error_test.info b/modules/simpletest/tests/error_test.info index 140eb73e..d55089ab 100644 --- a/modules/simpletest/tests/error_test.info +++ b/modules/simpletest/tests/error_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/file_test.info b/modules/simpletest/tests/file_test.info index 04c59e59..c808814f 100644 --- a/modules/simpletest/tests/file_test.info +++ b/modules/simpletest/tests/file_test.info @@ -6,7 +6,7 @@ core = 7.x files[] = file_test.module hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/filter_test.info b/modules/simpletest/tests/filter_test.info index 1135ef86..efaacef1 100644 --- a/modules/simpletest/tests/filter_test.info +++ b/modules/simpletest/tests/filter_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/form.test b/modules/simpletest/tests/form.test index a441ceeb..e52c8c42 100644 --- a/modules/simpletest/tests/form.test +++ b/modules/simpletest/tests/form.test @@ -1420,6 +1420,59 @@ class FormsFormStoragePageCacheTestCase extends DrupalWebTestCase { } } +/** + * Test cache_form. + */ +class FormsFormCacheTestCase extends DrupalWebTestCase { + public static function getInfo() { + return array( + 'name' => 'Form caching', + 'description' => 'Tests storage and retrieval of forms from cache.', + 'group' => 'Form API', + ); + } + + function setUp() { + parent::setUp('form_test'); + } + + /** + * Tests storing and retrieving the form from cache. + */ + function testCacheForm() { + $form = drupal_get_form('form_test_cache_form'); + $form_state = array('foo' => 'bar', 'build_info' => array('baz')); + form_set_cache($form['#build_id'], $form, $form_state); + + $cached_form_state = array(); + $cached_form = form_get_cache($form['#build_id'], $cached_form_state); + + $this->assertEqual($cached_form['#build_id'], $form['#build_id'], 'Form retrieved from cache_form successfully.'); + $this->assertEqual($cached_form_state['foo'], 'bar', 'Data retrieved from cache_form successfully.'); + } + + /** + * Tests changing form_cache_expiration. + */ + function testCacheFormCustomExpiration() { + variable_set('form_cache_expiration', -1 * (24 * 60 * 60)); + + $form = drupal_get_form('form_test_cache_form'); + $form_state = array('foo' => 'bar', 'build_info' => array('baz')); + form_set_cache($form['#build_id'], $form, $form_state); + + // Clear expired entries from cache_form, which should include the entry we + // just stored. Without this, the form will still be retrieved from cache. + cache_clear_all(NULL, 'cache_form'); + + $cached_form_state = array(); + $cached_form = form_get_cache($form['#build_id'], $cached_form_state); + + $this->assertNull($cached_form, 'Expired form was not returned from cache.'); + $this->assertTrue(empty($cached_form_state), 'No data retrieved from cache for expired form.'); + } +} + /** * Test wrapper form callbacks. */ diff --git a/modules/simpletest/tests/form_test.info b/modules/simpletest/tests/form_test.info index 40254ae5..b062a8a4 100644 --- a/modules/simpletest/tests/form_test.info +++ b/modules/simpletest/tests/form_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/form_test.module b/modules/simpletest/tests/form_test.module index 097e5884..9f071826 100644 --- a/modules/simpletest/tests/form_test.module +++ b/modules/simpletest/tests/form_test.module @@ -918,6 +918,24 @@ function form_test_storage_page_cache_rebuild($form, &$form_state) { $form_state['rebuild'] = TRUE; } +/** + * A simple form for testing form caching. + */ +function form_test_cache_form($form, &$form_state) { + $form['title'] = array( + '#type' => 'textfield', + '#title' => 'Title', + '#required' => TRUE, + ); + + $form['submit'] = array( + '#type' => 'submit', + '#value' => 'Save', + ); + + return $form; +} + /** * A form for testing form labels and required marks. */ diff --git a/modules/simpletest/tests/image.test b/modules/simpletest/tests/image.test index 7ca1d3a0..41569640 100644 --- a/modules/simpletest/tests/image.test +++ b/modules/simpletest/tests/image.test @@ -335,7 +335,9 @@ class ImageToolkitGdTestCase extends DrupalWebTestCase { ); // Systems using non-bundled GD2 don't have imagerotate. Test if available. - if (function_exists('imagerotate')) { + // @todo Remove the version check once https://www.drupal.org/node/2918570 + // is resolved. + if (function_exists('imagerotate') && (version_compare(PHP_VERSION, '7.0.26', '<') || (version_compare(PHP_VERSION, '7.1', '>=') && version_compare(PHP_VERSION, '7.1.12', '<')))) { $operations += array( 'rotate_90' => array( 'function' => 'rotate', @@ -357,8 +359,8 @@ class ImageToolkitGdTestCase extends DrupalWebTestCase { // See https://bugs.php.net/bug.php?id=65148. // For the 40x20 test images, the dimensions resulting from rotation will // be 1 pixel smaller in both width and height in PHP 5.5 and above. - // @todo: If and when the PHP bug gets solved, add an upper limit - // version check. + // @todo: The PHP bug was fixed in PHP 7.0.26 and 7.1.12. Change the code + // below to reflect that in https://www.drupal.org/node/2918570. if (version_compare(PHP_VERSION, '5.5', '>=')) { $operations += array( 'rotate_5' => array( diff --git a/modules/simpletest/tests/image_test.info b/modules/simpletest/tests/image_test.info index 99446c57..fcafe966 100644 --- a/modules/simpletest/tests/image_test.info +++ b/modules/simpletest/tests/image_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/menu_test.info b/modules/simpletest/tests/menu_test.info index 0599f903..b1fdca78 100644 --- a/modules/simpletest/tests/menu_test.info +++ b/modules/simpletest/tests/menu_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/module_test.info b/modules/simpletest/tests/module_test.info index 99063986..2001584e 100644 --- a/modules/simpletest/tests/module_test.info +++ b/modules/simpletest/tests/module_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/path_test.info b/modules/simpletest/tests/path_test.info index e41364b0..0bdb1f6b 100644 --- a/modules/simpletest/tests/path_test.info +++ b/modules/simpletest/tests/path_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" 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 6a2fc397..9de5fe32 100644 --- a/modules/simpletest/tests/psr_0_test/psr_0_test.info +++ b/modules/simpletest/tests/psr_0_test/psr_0_test.info @@ -5,7 +5,7 @@ core = 7.x hidden = TRUE package = Testing -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" 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 b1f6a543..7f05a9a7 100644 --- a/modules/simpletest/tests/psr_4_test/psr_4_test.info +++ b/modules/simpletest/tests/psr_4_test/psr_4_test.info @@ -5,7 +5,7 @@ core = 7.x hidden = TRUE package = Testing -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/requirements1_test.info b/modules/simpletest/tests/requirements1_test.info index 4bb427ef..8e7d5d4b 100644 --- a/modules/simpletest/tests/requirements1_test.info +++ b/modules/simpletest/tests/requirements1_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/requirements2_test.info b/modules/simpletest/tests/requirements2_test.info index d3945535..76ca9343 100644 --- a/modules/simpletest/tests/requirements2_test.info +++ b/modules/simpletest/tests/requirements2_test.info @@ -7,7 +7,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/session_test.info b/modules/simpletest/tests/session_test.info index 7046b351..1a607dc8 100644 --- a/modules/simpletest/tests/session_test.info +++ b/modules/simpletest/tests/session_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/system_dependencies_test.info b/modules/simpletest/tests/system_dependencies_test.info index 127fabe7..3777a123 100644 --- a/modules/simpletest/tests/system_dependencies_test.info +++ b/modules/simpletest/tests/system_dependencies_test.info @@ -6,7 +6,7 @@ core = 7.x hidden = TRUE dependencies[] = _missing_dependency -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" 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 ec0e82cb..045ef253 100644 --- a/modules/simpletest/tests/system_incompatible_core_version_dependencies_test.info +++ b/modules/simpletest/tests/system_incompatible_core_version_dependencies_test.info @@ -6,7 +6,7 @@ core = 7.x hidden = TRUE dependencies[] = system_incompatible_core_version_test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/system_incompatible_core_version_test.info b/modules/simpletest/tests/system_incompatible_core_version_test.info index 2cef5834..7ffa074c 100644 --- a/modules/simpletest/tests/system_incompatible_core_version_test.info +++ b/modules/simpletest/tests/system_incompatible_core_version_test.info @@ -5,7 +5,7 @@ version = VERSION core = 5.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" 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 95b7768a..0c32d700 100644 --- a/modules/simpletest/tests/system_incompatible_module_version_dependencies_test.info +++ b/modules/simpletest/tests/system_incompatible_module_version_dependencies_test.info @@ -7,7 +7,7 @@ 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 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/system_incompatible_module_version_test.info b/modules/simpletest/tests/system_incompatible_module_version_test.info index 837ea2e3..62f527f2 100644 --- a/modules/simpletest/tests/system_incompatible_module_version_test.info +++ b/modules/simpletest/tests/system_incompatible_module_version_test.info @@ -5,7 +5,7 @@ version = 1.0 core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/system_project_namespace_test.info b/modules/simpletest/tests/system_project_namespace_test.info index 1f30959e..1c513de7 100644 --- a/modules/simpletest/tests/system_project_namespace_test.info +++ b/modules/simpletest/tests/system_project_namespace_test.info @@ -6,7 +6,7 @@ core = 7.x hidden = TRUE dependencies[] = drupal:filter -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/system_test.info b/modules/simpletest/tests/system_test.info index f1524019..b289acf5 100644 --- a/modules/simpletest/tests/system_test.info +++ b/modules/simpletest/tests/system_test.info @@ -6,7 +6,7 @@ core = 7.x files[] = system_test.module hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/taxonomy_test.info b/modules/simpletest/tests/taxonomy_test.info index 94aef660..64fecd9c 100644 --- a/modules/simpletest/tests/taxonomy_test.info +++ b/modules/simpletest/tests/taxonomy_test.info @@ -6,7 +6,7 @@ core = 7.x hidden = TRUE dependencies[] = taxonomy -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/theme_test.info b/modules/simpletest/tests/theme_test.info index c3635173..ff3c021d 100644 --- a/modules/simpletest/tests/theme_test.info +++ b/modules/simpletest/tests/theme_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/themes/test_basetheme/test_basetheme.info b/modules/simpletest/tests/themes/test_basetheme/test_basetheme.info index 8788b00b..5c38e844 100644 --- a/modules/simpletest/tests/themes/test_basetheme/test_basetheme.info +++ b/modules/simpletest/tests/themes/test_basetheme/test_basetheme.info @@ -6,7 +6,7 @@ hidden = TRUE settings[basetheme_only] = base theme value settings[subtheme_override] = base theme value -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/themes/test_subtheme/test_subtheme.info b/modules/simpletest/tests/themes/test_subtheme/test_subtheme.info index 04c5975a..3d6e9cd5 100644 --- a/modules/simpletest/tests/themes/test_subtheme/test_subtheme.info +++ b/modules/simpletest/tests/themes/test_subtheme/test_subtheme.info @@ -6,7 +6,7 @@ hidden = TRUE settings[subtheme_override] = subtheme value -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/themes/test_theme/test_theme.info b/modules/simpletest/tests/themes/test_theme/test_theme.info index e88a344d..8012766f 100644 --- a/modules/simpletest/tests/themes/test_theme/test_theme.info +++ b/modules/simpletest/tests/themes/test_theme/test_theme.info @@ -17,7 +17,7 @@ stylesheets[all][] = system.base.css settings[theme_test_setting] = default value -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/themes/test_theme/theme-settings.php b/modules/simpletest/tests/themes/test_theme/theme-settings.php new file mode 100644 index 00000000..cb51d942 --- /dev/null +++ b/modules/simpletest/tests/themes/test_theme/theme-settings.php @@ -0,0 +1,32 @@ + 'checkbox', + '#title' => 'Test theme checkbox', + '#default_value' => theme_get_setting('test_theme_checkbox'), + ); + + // Force the form to be cached so we can test that this file is properly + // loaded and the custom submit handler is properly called even on a cached + // form build. + $form_state['cache'] = TRUE; + $form['#submit'][] = 'test_theme_form_system_theme_settings_submit'; +} + +/** + * Form submission handler for the test theme settings form. + * + * @see test_theme_form_system_theme_settings_alter() + */ +function test_theme_form_system_theme_settings_submit($form, &$form_state) { + drupal_set_message('The test theme setting was saved.'); +} 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 index 12f46b5c..79c5e55d 100644 --- 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 @@ -4,7 +4,7 @@ core = 7.x hidden = TRUE engine = nyan_cat -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/update_script_test.info b/modules/simpletest/tests/update_script_test.info index 2c7c5125..cd67c01d 100644 --- a/modules/simpletest/tests/update_script_test.info +++ b/modules/simpletest/tests/update_script_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/update_test_1.info b/modules/simpletest/tests/update_test_1.info index 36d36422..e0caa80e 100644 --- a/modules/simpletest/tests/update_test_1.info +++ b/modules/simpletest/tests/update_test_1.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/update_test_2.info b/modules/simpletest/tests/update_test_2.info index 36d36422..e0caa80e 100644 --- a/modules/simpletest/tests/update_test_2.info +++ b/modules/simpletest/tests/update_test_2.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/update_test_3.info b/modules/simpletest/tests/update_test_3.info index 36d36422..e0caa80e 100644 --- a/modules/simpletest/tests/update_test_3.info +++ b/modules/simpletest/tests/update_test_3.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/url_alter_test.info b/modules/simpletest/tests/url_alter_test.info index e4d1812f..d9ddc70c 100644 --- a/modules/simpletest/tests/url_alter_test.info +++ b/modules/simpletest/tests/url_alter_test.info @@ -5,7 +5,7 @@ package = Testing version = VERSION hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/simpletest/tests/xmlrpc_test.info b/modules/simpletest/tests/xmlrpc_test.info index 70c09ca8..c71c58c9 100644 --- a/modules/simpletest/tests/xmlrpc_test.info +++ b/modules/simpletest/tests/xmlrpc_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/statistics/statistics.info b/modules/statistics/statistics.info index 8d711697..341e288f 100644 --- a/modules/statistics/statistics.info +++ b/modules/statistics/statistics.info @@ -6,7 +6,7 @@ core = 7.x files[] = statistics.test configure = admin/config/system/statistics -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/syslog/syslog.info b/modules/syslog/syslog.info index 5d3304ec..d771ee65 100644 --- a/modules/syslog/syslog.info +++ b/modules/syslog/syslog.info @@ -6,7 +6,7 @@ core = 7.x files[] = syslog.test configure = admin/config/development/logging -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/system/system.admin.inc b/modules/system/system.admin.inc index cdcc78fb..b7e6fc9e 100644 --- a/modules/system/system.admin.inc +++ b/modules/system/system.admin.inc @@ -572,9 +572,10 @@ function system_theme_settings($form, &$form_state, $key = '') { // Process the theme and all its base themes. foreach ($theme_keys as $theme) { // Include the theme-settings.php file. - $filename = DRUPAL_ROOT . '/' . str_replace("/$theme.info", '', $themes[$theme]->filename) . '/theme-settings.php'; - if (file_exists($filename)) { - require_once $filename; + $theme_settings_path = drupal_get_path('theme', $theme) . '/theme-settings.php'; + if (file_exists(DRUPAL_ROOT . '/' . $theme_settings_path)) { + require_once DRUPAL_ROOT . '/' . $theme_settings_path; + $form_state['build_info']['files'][] = $theme_settings_path; } // Call theme-specific settings. @@ -1812,7 +1813,7 @@ function system_file_system_settings() { '#title' => t('Private file system path'), '#default_value' => variable_get('file_private_path', ''), '#maxlength' => 255, - '#description' => t('An existing local file system path for storing private files. It should be writable by Drupal and not accessible over the web. See the online handbook for more information about securing private files.', array('@handbook' => 'http://drupal.org/documentation/modules/file')), + '#description' => t('An existing local file system path for storing private files. It should be writable by Drupal and not accessible over the web. See the online handbook for more information about securing private files.', array('@handbook' => 'https://www.drupal.org/docs/7/core/modules/file/overview')), '#after_build' => array('system_check_directory'), ); @@ -2565,9 +2566,21 @@ function theme_system_admin_index($variables) { /** * Returns HTML for the status report. * + * This theme function is dependent on install.inc being loaded, because + * that's where the constants are defined. + * * @param $variables * An associative array containing: - * - requirements: An array of requirements. + * - requirements: An array of requirements/status items. Each requirement + * is an associative array containing the following elements: + * - title: The name of the requirement. + * - value: (optional) The current value (version, time, level, etc). + * - description: (optional) The description of the requirement. + * - severity: (optional) The requirement's result/severity level, one of: + * - REQUIREMENT_INFO: Status information. + * - REQUIREMENT_OK: The requirement is satisfied. + * - REQUIREMENT_WARNING: The requirement failed with a warning. + * - REQUIREMENT_ERROR: The requirement failed with an error. * * @ingroup themeable */ diff --git a/modules/system/system.api.php b/modules/system/system.api.php index f1855b96..d5de1024 100644 --- a/modules/system/system.api.php +++ b/modules/system/system.api.php @@ -1888,8 +1888,8 @@ function hook_boot() { * * This hook is not run on cached pages. * - * To add CSS or JS that should be present on all pages, modules should not - * implement this hook, but declare these files in their .info file. + * To add CSS or JS files that should be present on all pages, modules should + * not implement this hook, but declare these files in their .info file. * * @see hook_boot() */ diff --git a/modules/system/system.info b/modules/system/system.info index 730dff6f..405bb0a2 100644 --- a/modules/system/system.info +++ b/modules/system/system.info @@ -12,7 +12,7 @@ files[] = system.test required = TRUE configure = admin/config/system -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/system/system.tar.inc b/modules/system/system.tar.inc index 86e4e3de..640f7b26 100644 --- a/modules/system/system.tar.inc +++ b/modules/system/system.tar.inc @@ -41,8 +41,8 @@ /** * Note on Drupal 8 porting. - * This file origin is Tar.php, release 1.4.0 (stable) with some code - * from PEAR.php, release 1.9.5 (stable) both at http://pear.php.net. + * This file origin is Tar.php, release 1.4.3 (stable) with some code + * from PEAR.php, release 1.10.5 (stable) both at http://pear.php.net. * To simplify future porting from pear of this file, you should not * do cosmetic or other non significant changes to this file. * The following changes have been done: @@ -259,6 +259,19 @@ class Archive_Tar return false; } } + + + if (version_compare(PHP_VERSION, "5.5.0-dev") < 0) { + $this->_fmt = "a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/" . + "a8checksum/a1typeflag/a100link/a6magic/a2version/" . + "a32uname/a32gname/a8devmajor/a8devminor/a131prefix"; + } else { + $this->_fmt = "Z100filename/Z8mode/Z8uid/Z8gid/Z12size/Z12mtime/" . + "Z8checksum/Z1typeflag/Z100link/Z6magic/Z2version/" . + "Z32uname/Z32gname/Z8devmajor/Z8devminor/Z131prefix"; + } + + } public function __destruct() @@ -278,7 +291,7 @@ class Archive_Tar * @param string $ext The extension name * @return bool Success or not on the dl() call */ - function loadExtension($ext) + public static function loadExtension($ext) { if (extension_loaded($ext)) { return true; @@ -287,8 +300,7 @@ class Archive_Tar // if either returns true dl() will produce a FATAL error, stop that if ( function_exists('dl') === false || - ini_get('enable_dl') != 1 || - ini_get('safe_mode') == 1 + ini_get('enable_dl') != 1 ) { return false; } @@ -714,7 +726,7 @@ class Archive_Tar } // ----- Get the arguments - $v_att_list = & func_get_args(); + $v_att_list = func_get_args(); // ----- Read the attributes $i = 0; @@ -1720,28 +1732,13 @@ class Archive_Tar // ----- Calculate the checksum $v_checksum = 0; // ..... First part of the header - for ($i = 0; $i < 148; $i++) { - $v_checksum += ord(substr($v_binary_data, $i, 1)); - } - // ..... Ignore the checksum value and replace it by ' ' (space) - for ($i = 148; $i < 156; $i++) { - $v_checksum += ord(' '); - } - // ..... Last part of the header - for ($i = 156; $i < 512; $i++) { - $v_checksum += ord(substr($v_binary_data, $i, 1)); - } + $v_binary_split = str_split($v_binary_data); + $v_checksum += array_sum(array_map('ord', array_slice($v_binary_split, 0, 148))); + $v_checksum += array_sum(array_map('ord', array(' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',))); + $v_checksum += array_sum(array_map('ord', array_slice($v_binary_split, 156, 512))); - if (version_compare(PHP_VERSION, "5.5.0-dev") < 0) { - $fmt = "a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/" . - "a8checksum/a1typeflag/a100link/a6magic/a2version/" . - "a32uname/a32gname/a8devmajor/a8devminor/a131prefix"; - } else { - $fmt = "Z100filename/Z8mode/Z8uid/Z8gid/Z12size/Z12mtime/" . - "Z8checksum/Z1typeflag/Z100link/Z6magic/Z2version/" . - "Z32uname/Z32gname/Z8devmajor/Z8devminor/Z131prefix"; - } - $v_data = unpack($fmt, $v_binary_data); + + $v_data = unpack($this->_fmt, $v_binary_data); if (strlen($v_data["prefix"]) > 0) { $v_data["filename"] = "$v_data[prefix]/$v_data[filename]"; @@ -1777,7 +1774,7 @@ class Archive_Tar $v_header['mode'] = OctDec(trim($v_data['mode'])); $v_header['uid'] = OctDec(trim($v_data['uid'])); $v_header['gid'] = OctDec(trim($v_data['gid'])); - $v_header['size'] = OctDec(trim($v_data['size'])); + $v_header['size'] = $this->_tarRecToSize($v_data['size']); $v_header['mtime'] = OctDec(trim($v_data['mtime'])); if (($v_header['typeflag'] = $v_data['typeflag']) == "5") { $v_header['size'] = 0; @@ -1796,6 +1793,40 @@ class Archive_Tar return true; } + /** + * Convert Tar record size to actual size + * + * @param string $tar_size + * @return size of tar record in bytes + */ + private function _tarRecToSize($tar_size) + { + /* + * First byte of size has a special meaning if bit 7 is set. + * + * Bit 7 indicates base-256 encoding if set. + * Bit 6 is the sign bit. + * Bits 5:0 are most significant value bits. + */ + $ch = ord($tar_size[0]); + if ($ch & 0x80) { + // Full 12-bytes record is required. + $rec_str = $tar_size . "\x00"; + + $size = ($ch & 0x40) ? -1 : 0; + $size = ($size << 6) | ($ch & 0x3f); + + for ($num_ch = 1; $num_ch < 12; ++$num_ch) { + $size = ($size * 256) + ord($rec_str[$num_ch]); + } + + return $size; + + } else { + return OctDec(trim($tar_size)); + } + } + /** * Detect and report a malicious file name * diff --git a/modules/system/system.test b/modules/system/system.test index 9eaf562b..5ae33416 100644 --- a/modules/system/system.test +++ b/modules/system/system.test @@ -1944,6 +1944,30 @@ class SystemThemeFunctionalTest extends DrupalWebTestCase { $this->assertEqual($elements[0]['src'], file_create_url($uploaded_filename)); } + + /** + * Test the individual per-theme settings form. + */ + function testPerThemeSettings() { + // Enable the test theme and the module that controls it. Clear caches in + // between so that the module's hook_system_theme_info() implementation is + // correctly registered. + module_enable(array('theme_test')); + drupal_flush_all_caches(); + theme_enable(array('test_theme')); + + // Test that the theme-specific settings form can be saved and that the + // theme-specific checkbox is checked and unchecked as appropriate. + $this->drupalGet('admin/appearance/settings/test_theme'); + $this->assertNoFieldChecked('edit-test-theme-checkbox', 'The test_theme_checkbox setting is unchecked.'); + $this->drupalPost(NULL, array('test_theme_checkbox' => TRUE), t('Save configuration')); + $this->assertText('The test theme setting was saved.'); + $this->assertFieldChecked('edit-test-theme-checkbox', 'The test_theme_checkbox setting is checked.'); + $this->drupalPost(NULL, array('test_theme_checkbox' => FALSE), t('Save configuration')); + $this->assertText('The test theme setting was saved.'); + $this->assertNoFieldChecked('edit-test-theme-checkbox', 'The test_theme_checkbox setting is unchecked.'); + } + /** * Test the administration theme functionality. */ diff --git a/modules/system/tests/cron_queue_test.info b/modules/system/tests/cron_queue_test.info index ef94eeda..5440b13d 100644 --- a/modules/system/tests/cron_queue_test.info +++ b/modules/system/tests/cron_queue_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/system/tests/system_cron_test.info b/modules/system/tests/system_cron_test.info index d9d4edd3..4c69eb9e 100644 --- a/modules/system/tests/system_cron_test.info +++ b/modules/system/tests/system_cron_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/taxonomy/taxonomy.info b/modules/taxonomy/taxonomy.info index 2d033cb8..dda5df76 100644 --- a/modules/taxonomy/taxonomy.info +++ b/modules/taxonomy/taxonomy.info @@ -8,7 +8,7 @@ files[] = taxonomy.module files[] = taxonomy.test configure = admin/structure/taxonomy -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module index 981649d2..e3ee48e0 100644 --- a/modules/taxonomy/taxonomy.module +++ b/modules/taxonomy/taxonomy.module @@ -283,6 +283,8 @@ function taxonomy_menu() { 'title' => 'Taxonomy term', 'title callback' => 'taxonomy_term_title', 'title arguments' => array(2), + // The page callback also invokes drupal_set_title() in case + // the menu router's title is overridden by a menu link. 'page callback' => 'taxonomy_term_page', 'page arguments' => array(2), 'access arguments' => array('access content'), @@ -1714,13 +1716,15 @@ function taxonomy_field_formatter_prepare_view($entity_type, $entities, $field, } /** - * Title callback for term pages. + * Title callback: Returns the title of the taxonomy term. * * @param $term * A term object. * * @return - * The term name to be used as the page title. + * An unsanitized string that is the title of the taxonomy term. + * + * @see taxonomy_menu() */ function taxonomy_term_title($term) { return $term->name; diff --git a/modules/toolbar/toolbar.info b/modules/toolbar/toolbar.info index ffa40ee7..997cf0d4 100644 --- a/modules/toolbar/toolbar.info +++ b/modules/toolbar/toolbar.info @@ -4,7 +4,7 @@ core = 7.x package = Core version = VERSION -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/tracker/tracker.info b/modules/tracker/tracker.info index dbd7384c..962e1a31 100644 --- a/modules/tracker/tracker.info +++ b/modules/tracker/tracker.info @@ -6,7 +6,7 @@ version = VERSION core = 7.x files[] = tracker.test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/translation/tests/translation_test.info b/modules/translation/tests/translation_test.info index 9d5b4a5b..02872c86 100644 --- a/modules/translation/tests/translation_test.info +++ b/modules/translation/tests/translation_test.info @@ -5,7 +5,7 @@ package = Testing version = VERSION hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/translation/translation.info b/modules/translation/translation.info index 6ed39ca6..19a0a88a 100644 --- a/modules/translation/translation.info +++ b/modules/translation/translation.info @@ -6,7 +6,7 @@ version = VERSION core = 7.x files[] = translation.test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/trigger/tests/trigger_test.info b/modules/trigger/tests/trigger_test.info index 196cfcf1..00f5055f 100644 --- a/modules/trigger/tests/trigger_test.info +++ b/modules/trigger/tests/trigger_test.info @@ -4,7 +4,7 @@ package = Testing core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/trigger/trigger.info b/modules/trigger/trigger.info index b78c34d7..0e0e7be5 100644 --- a/modules/trigger/trigger.info +++ b/modules/trigger/trigger.info @@ -6,7 +6,7 @@ core = 7.x files[] = trigger.test configure = admin/structure/trigger -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/update/tests/aaa_update_test.info b/modules/update/tests/aaa_update_test.info index 620e82ee..bbb4c2de 100644 --- a/modules/update/tests/aaa_update_test.info +++ b/modules/update/tests/aaa_update_test.info @@ -4,7 +4,7 @@ package = Testing core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/update/tests/bbb_update_test.info b/modules/update/tests/bbb_update_test.info index b9953c16..ef2bd7d4 100644 --- a/modules/update/tests/bbb_update_test.info +++ b/modules/update/tests/bbb_update_test.info @@ -4,7 +4,7 @@ package = Testing core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/update/tests/ccc_update_test.info b/modules/update/tests/ccc_update_test.info index e855562a..de367c30 100644 --- a/modules/update/tests/ccc_update_test.info +++ b/modules/update/tests/ccc_update_test.info @@ -4,7 +4,7 @@ package = Testing core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" 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 cf1d3c36..8b5f8f67 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,7 +3,7 @@ description = Test theme which is used as admin theme. core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" 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 11c81321..05de0a7f 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,7 +3,7 @@ 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 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" 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 aa5bc12c..998a21cb 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,7 +4,7 @@ core = 7.x base theme = update_test_basetheme hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/update/tests/update_test.info b/modules/update/tests/update_test.info index 6b4802f6..0d279617 100644 --- a/modules/update/tests/update_test.info +++ b/modules/update/tests/update_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/update/update.info b/modules/update/update.info index 4b4dde91..6388351a 100644 --- a/modules/update/update.info +++ b/modules/update/update.info @@ -6,7 +6,7 @@ core = 7.x files[] = update.test configure = admin/reports/updates/settings -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/user/tests/user_form_test.info b/modules/user/tests/user_form_test.info index d5a554be..97b30942 100644 --- a/modules/user/tests/user_form_test.info +++ b/modules/user/tests/user_form_test.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/user/user.info b/modules/user/user.info index 3e10c7ee..12df6c22 100644 --- a/modules/user/user.info +++ b/modules/user/user.info @@ -9,7 +9,7 @@ required = TRUE configure = admin/config/people stylesheets[all][] = user.css -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/modules/user/user.module b/modules/user/user.module index 12ca2800..2309aa92 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -637,7 +637,7 @@ function user_validate_name($name) { if (strpos($name, ' ') !== FALSE) { return t('The username cannot contain multiple spaces in a row.'); } - if (preg_match('/[^\x{80}-\x{F7} a-z0-9@_.\'-]/i', $name)) { + if (preg_match('/[^\x{80}-\x{F7} a-z0-9@+_.\'-]/i', $name)) { return t('The username contains an illegal character.'); } if (preg_match('/[\x{80}-\x{A0}' . // Non-printable ISO-8859-1 + NBSP @@ -689,7 +689,7 @@ function user_validate_picture(&$form, &$form_state) { $validators = array( 'file_validate_is_image' => array(), 'file_validate_image_resolution' => array(variable_get('user_picture_dimensions', '85x85')), - 'file_validate_size' => array(variable_get('user_picture_file_size', '30') * 1024), + 'file_validate_size' => array((int) variable_get('user_picture_file_size', '30') * 1024), ); // Save the file as a temporary file. diff --git a/modules/user/user.test b/modules/user/user.test index 0875e0ac..fb82c93c 100644 --- a/modules/user/user.test +++ b/modules/user/user.test @@ -276,6 +276,7 @@ class UserValidationTestCase extends DrupalWebTestCase { 'foo@example.com' => array('Valid username', 'assertNull'), 'foo@-example.com' => array('Valid username', 'assertNull'), // invalid domains are allowed in usernames 'þòøÇߪř€' => array('Valid username', 'assertNull'), + 'foo+bar' => array('Valid username', 'assertNull'), // '+' symbol is allowed 'ᚠᛇᚻ᛫ᛒᛦᚦ' => array('Valid UTF8 username', 'assertNull'), // runes ' foo' => array('Invalid username that starts with a space', 'assertNotNull'), 'foo ' => array('Invalid username that ends with a space', 'assertNotNull'), @@ -2386,7 +2387,13 @@ class UserUserSearchTestCase extends DrupalWebTestCase { } function testUserSearch() { + // Verify that a user without 'administer users' permission cannot search + // for users by email address. Additionally, ensure that the username has a + // plus sign to ensure searching works with that. $user1 = $this->drupalCreateUser(array('access user profiles', 'search content', 'use advanced search')); + $edit['name'] = 'foo+bar'; + $edit['mail'] = $edit['name'] . '@example.com'; + user_save($user1, $edit); $this->drupalLogin($user1); $keys = $user1->mail; $edit = array('keys' => $keys); diff --git a/profiles/minimal/minimal.info b/profiles/minimal/minimal.info index 69cc2791..e67797a3 100644 --- a/profiles/minimal/minimal.info +++ b/profiles/minimal/minimal.info @@ -5,7 +5,7 @@ core = 7.x dependencies[] = block dependencies[] = dblog -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/profiles/standard/standard.info b/profiles/standard/standard.info index 7511423e..097996e2 100644 --- a/profiles/standard/standard.info +++ b/profiles/standard/standard.info @@ -24,7 +24,7 @@ dependencies[] = field_ui dependencies[] = file dependencies[] = rdf -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" 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 8173e074..c9a5679a 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,7 +6,7 @@ core = 7.x hidden = TRUE files[] = drupal_system_listing_compatible_test.test -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" 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 b64e5409..176d1119 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,7 +8,7 @@ version = VERSION core = 6.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/profiles/testing/testing.info b/profiles/testing/testing.info index 8b08eaee..d60692ed 100644 --- a/profiles/testing/testing.info +++ b/profiles/testing/testing.info @@ -4,7 +4,7 @@ version = VERSION core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/sites/all/themes/bootstrap/bootstrap.info b/sites/all/themes/bootstrap/bootstrap.info index e5f9e4ac..bad1b1c7 100644 --- a/sites/all/themes/bootstrap/bootstrap.info +++ b/sites/all/themes/bootstrap/bootstrap.info @@ -209,8 +209,8 @@ multipliers[screen-md-max][] = 2x multipliers[screen-lg-min][] = 1.5x multipliers[screen-lg-min][] = 2x -; Information added by Drupal.org packaging script on 2018-07-20 -version = "7.x-3.21" +; Information added by Drupal.org packaging script on 2018-11-12 +version = "7.x-3.22" core = "7.x" project = "bootstrap" -datestamp = "1532095127" +datestamp = "1542005892" diff --git a/sites/all/themes/bootstrap/js/bootstrap.js b/sites/all/themes/bootstrap/js/bootstrap.js index 71389533..44883f1e 100644 --- a/sites/all/themes/bootstrap/js/bootstrap.js +++ b/sites/all/themes/bootstrap/js/bootstrap.js @@ -10,6 +10,8 @@ var Drupal = Drupal || {}; (function($, Drupal){ "use strict"; + var $document = $(document); + Drupal.behaviors.bootstrap = { attach: function(context) { // Provide some Bootstrap tab/Drupal integration. @@ -84,7 +86,7 @@ var Drupal = Drupal || {}; // Popover autoclose. if (settings.bootstrap.popoverOptions.triggerAutoclose) { var $currentPopover = null; - $(document) + $document .on('show.bs.popover', '[data-toggle=popover]', function () { var $trigger = $(this); var popover = $trigger.data('bs.popover'); @@ -122,7 +124,8 @@ var Drupal = Drupal || {}; } // Retrieve content from a target element. - var $target = $(options.target || $element.is('a[href^="#"]') && $element.attr('href')).clone(); + var target = options.target || $element.is('a[href^="#"]') && $element.attr('href'); + var $target = $document.find(target).clone(); if (!options.content && $target[0]) { $target.removeClass('element-invisible hidden').removeAttr('aria-hidden'); options.content = $target.wrap('
').parent()[options.html ? 'html' : 'text']() || ''; diff --git a/sites/all/themes/bootstrap/templates/system/table.func.php b/sites/all/themes/bootstrap/templates/system/table.func.php index feecb87f..f26622c9 100644 --- a/sites/all/themes/bootstrap/templates/system/table.func.php +++ b/sites/all/themes/bootstrap/templates/system/table.func.php @@ -81,7 +81,7 @@ function bootstrap_table(array $variables) { $responsive = $variables['responsive']; // Add sticky headers, if applicable. - if (count($header) && $sticky) { + if (is_array($header) && count($header) && $sticky) { drupal_add_js('misc/tableheader.js'); // Add 'sticky-enabled' class to the table to identify it for JS. // This is needed to target tables constructed by this function. @@ -101,7 +101,7 @@ function bootstrap_table(array $variables) { } // Format the table columns: - if (count($colgroups)) { + if (!empty($colgroups)) { foreach ($colgroups as $number => $colgroup) { $attributes = array(); @@ -136,7 +136,7 @@ function bootstrap_table(array $variables) { } // Add the 'empty' row message if available. - if (!count($rows) && $empty) { + if (empty($rows) && !empty($empty)) { $header_count = 0; foreach ($header as $header_cell) { if (is_array($header_cell)) { @@ -156,7 +156,7 @@ function bootstrap_table(array $variables) { } // Format the table header: - if (count($header)) { + if (!empty($header)) { $ts = tablesort_init($header); // HTML requires that the thead tag has tr tags in it followed by tbody // tags. Using ternary operator to check and see if we have any rows. @@ -174,7 +174,7 @@ function bootstrap_table(array $variables) { } // Format the table rows: - if (count($rows)) { + if (!empty($rows)) { $output .= "\n"; foreach ($rows as $row) { // Check if we're dealing with a simple or complex row. @@ -205,7 +205,7 @@ function bootstrap_table(array $variables) { } // Format the table footer: - if (count($footer)) { + if (!empty($footer)) { $output .= "\n"; foreach ($footer as $row) { // Check if we're dealing with a simple or complex row. diff --git a/sites/default/default.settings.php b/sites/default/default.settings.php index b044be3b..a152b287 100644 --- a/sites/default/default.settings.php +++ b/sites/default/default.settings.php @@ -478,6 +478,23 @@ */ # $conf['block_cache_bypass_node_grants'] = TRUE; +/** + * Expiration of cache_form entries: + * + * Drupal's Form API stores details of forms in cache_form and these entries are + * kept for at least 6 hours by default. Expired entries are cleared by cron. + * Busy sites can encounter problems with the cache_form table becoming very + * large. It's possible to mitigate this by setting a shorter expiration for + * cached forms. In some cases it may be desirable to set a longer cache + * expiration, for example to prolong cache_form entries for Ajax forms in + * cached HTML. + * + * @see form_set_cache() + * @see system_cron() + * @see ajax_get_form() + */ +# $conf['form_cache_expiration'] = 21600; + /** * String overrides: * diff --git a/themes/bartik/bartik.info b/themes/bartik/bartik.info index 47a42257..15bf0cba 100644 --- a/themes/bartik/bartik.info +++ b/themes/bartik/bartik.info @@ -34,7 +34,7 @@ regions[footer] = Footer settings[shortcut_module_link] = 0 -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/themes/garland/garland.info b/themes/garland/garland.info index 10e50b73..f719ba95 100644 --- a/themes/garland/garland.info +++ b/themes/garland/garland.info @@ -7,7 +7,7 @@ stylesheets[all][] = style.css stylesheets[print][] = print.css settings[garland_width] = fluid -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/themes/seven/seven.info b/themes/seven/seven.info index c9dc57fa..aeb2acfd 100644 --- a/themes/seven/seven.info +++ b/themes/seven/seven.info @@ -13,7 +13,7 @@ regions[page_bottom] = Page bottom regions[sidebar_first] = First sidebar regions_hidden[] = sidebar_first -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322" diff --git a/themes/stark/stark.info b/themes/stark/stark.info index 2ff551bc..90c06712 100644 --- a/themes/stark/stark.info +++ b/themes/stark/stark.info @@ -5,7 +5,7 @@ version = VERSION core = 7.x stylesheets[all][] = layout.css -; Information added by Drupal.org packaging script on 2018-10-17 -version = "7.60" +; Information added by Drupal.org packaging script on 2018-11-08 +version = "7.61" project = "drupal" -datestamp = "1539816636" +datestamp = "1541684322"