Issue #3112283 by ravi.shankar, mpdonadio, andregp, daffie, jhedstrom, alexpott, andypost, pifagor, vladbo, JeroenT, voleger, cliddell: Replace REQUEST_TIME in non-OO and non-module code

merge-requests/2291/head
Alex Pott 2022-05-16 17:27:01 +01:00
parent cffeb24f20
commit 10dce7b208
No known key found for this signature in database
GPG Key ID: BDA67E7EE836E5CE
8 changed files with 16 additions and 33 deletions

View File

@ -188,7 +188,7 @@
* // Find out when cron was last run; the key is 'system.cron_last'.
* $time = $state->get('system.cron_last');
* // Set the cron run time to the current request time.
* $state->set('system.cron_last', REQUEST_TIME);
* $state->set('system.cron_last', \Drupal::time()->getRequestTime());
* @endcode
*
* For more on the State API, see https://www.drupal.org/developing/api/8/state
@ -1919,10 +1919,11 @@ function hook_cron() {
// Short-running operation example, not using a queue:
// Delete all expired records since the last cron run.
$expires = \Drupal::state()->get('mymodule.last_check', 0);
$request_time = \Drupal::time()->getRequestTime();
\Drupal::database()->delete('mymodule_table')
->condition('expires', $expires, '>=')
->execute();
\Drupal::state()->set('mymodule.last_check', REQUEST_TIME);
\Drupal::state()->set('mymodule.last_check', $request_time);
// Long-running operation example, leveraging a queue:
// Queue news feeds for updates once their refresh interval has elapsed.
@ -1931,13 +1932,13 @@ function hook_cron() {
foreach (Feed::loadMultiple($ids) as $feed) {
if ($queue->createItem($feed)) {
// Add timestamp to avoid queueing item more than once.
$feed->setQueuedTime(REQUEST_TIME);
$feed->setQueuedTime($request_time);
$feed->save();
}
}
$ids = \Drupal::entityQuery('mymodule_feed')
->accessCheck(FALSE)
->condition('queued', REQUEST_TIME - (3600 * 6), '<')
->condition('queued', $request_time - (3600 * 6), '<')
->execute();
if ($ids) {
$feeds = Feed::loadMultiple($ids);

View File

@ -252,7 +252,7 @@ function drupal_valid_test_ua($new_prefix = NULL) {
}
// The file properties add more entropy not easily accessible to others.
$key = $private_key . filectime(__FILE__) . fileinode(__FILE__);
$time_diff = REQUEST_TIME - $time;
$time_diff = time() - $time;
$test_hmac = Crypt::hmacBase64($check_string, $key);
// Since we are making a local request a 600 second time window is allowed,
// and the HMAC must match.

View File

@ -532,7 +532,7 @@ function drupal_flush_all_caches($kernel = NULL) {
*/
function _drupal_flush_css_js() {
// The timestamp is converted to base 36 in order to make it more compact.
Drupal::state()->set('system.css_js_query_string', base_convert(REQUEST_TIME, 10, 36));
Drupal::state()->set('system.css_js_query_string', base_convert(\Drupal::time()->getRequestTime(), 10, 36));
}
/**

View File

@ -1054,11 +1054,12 @@ function install_display_output($output, $install_state) {
$bare_html_page_renderer = \Drupal::service('bare_html_page_renderer');
$response = $bare_html_page_renderer->renderBarePage($output, $output['#title'], 'install_page', $regions);
$request_time = \Drupal::time()->getRequestTime();
$default_headers = [
'Expires' => 'Sun, 19 Nov 1978 05:00:00 GMT',
'Last-Modified' => gmdate(DATE_RFC1123, REQUEST_TIME),
'Last-Modified' => gmdate(DATE_RFC1123, $request_time),
'Cache-Control' => 'no-cache, must-revalidate',
'ETag' => '"' . REQUEST_TIME . '"',
'ETag' => '"' . $request_time . '"',
];
$response->headers->add($default_headers);
$response->send();
@ -1881,7 +1882,7 @@ function install_finished(&$install_state) {
\Drupal::messenger()->addStatus($success_message);
// Record when this install ran.
\Drupal::state()->set('install_time', $_SERVER['REQUEST_TIME']);
\Drupal::state()->set('install_time', \Drupal::time()->getRequestTime());
}
/**

View File

@ -1,25 +1,10 @@
parameters:
ignoreErrors:
-
message: "#^Call to deprecated constant REQUEST_TIME\\: Deprecated in drupal\\:8\\.3\\.0 and is removed from drupal\\:10\\.0\\.0\\. Use \\\\Drupal\\:\\:time\\(\\)\\-\\>getRequestTime\\(\\); $#"
count: 1
path: includes/bootstrap.inc
-
message: "#^Call to deprecated constant REQUEST_TIME\\: Deprecated in drupal\\:8\\.3\\.0 and is removed from drupal\\:10\\.0\\.0\\. Use \\\\Drupal\\:\\:time\\(\\)\\-\\>getRequestTime\\(\\); $#"
count: 1
path: includes/common.inc
-
message: "#^Function format_size\\(\\) should return Drupal\\\\Core\\\\StringTranslation\\\\TranslatableMarkup but return statement is missing\\.$#"
count: 1
path: includes/common.inc
-
message: "#^Call to deprecated constant REQUEST_TIME\\: Deprecated in drupal\\:8\\.3\\.0 and is removed from drupal\\:10\\.0\\.0\\. Use \\\\Drupal\\:\\:time\\(\\)\\-\\>getRequestTime\\(\\); $#"
count: 2
path: includes/install.core.inc
-
message: "#^Function install_config_download_translations\\(\\) should return string but return statement is missing\\.$#"
count: 1
@ -2618,7 +2603,6 @@ parameters:
count: 1
path: modules/system/tests/modules/service_provider_test/src/TestFileUsage.php
-
message: "#^Access to an undefined property Drupal\\\\Tests\\\\system\\\\Functional\\\\Entity\\\\EntityListBuilderTest\\:\\:\\$webUser\\.$#"
count: 1
@ -3524,7 +3508,6 @@ parameters:
count: 1
path: modules/workspaces/src/WorkspacePublisher.php
-
message: "#^Access to an undefined property Drupal\\\\Tests\\\\workspaces\\\\Kernel\\\\EntityReferenceSupportedNewEntitiesConstraintValidatorTest\\:\\:\\$entityTypeManager\\.$#"
count: 2
@ -3540,11 +3523,6 @@ parameters:
count: 5
path: profiles/demo_umami/modules/demo_umami_content/src/InstallHelper.php
-
message: "#^Call to deprecated constant REQUEST_TIME\\: Deprecated in drupal\\:8\\.3\\.0 and is removed from drupal\\:10\\.0\\.0\\. Use \\\\Drupal\\:\\:time\\(\\)\\-\\>getRequestTime\\(\\); $#"
count: 1
path: rebuild.php
-
message: "#^Access to an undefined property Drupal\\\\BuildTests\\\\Framework\\\\BuildTestBase\\:\\:\\$phpFinder\\.$#"
count: 1

View File

@ -18,6 +18,9 @@ parameters:
- ../*/node_modules/*
- */tests/fixtures/*.php
- */tests/fixtures/*.php.gz
# Skip Drupal 6 & 7 code.
- core/scripts/generate-d6-content.sh
- core/scripts/generate-d7-content.sh
# Skip data files.
- lib/Drupal/Component/Transliteration/data/*.php
# Below extends on purpose a non existing class for testing.

View File

@ -38,7 +38,7 @@ catch (HttpExceptionInterface $e) {
if (Settings::get('rebuild_access', FALSE) ||
($request->query->get('token') && $request->query->get('timestamp') &&
((REQUEST_TIME - $request->query->get('timestamp')) < 300) &&
(($request->server->getInt('REQUEST_TIME') - $request->query->get('timestamp')) < 300) &&
hash_equals(Crypt::hmacBase64($request->query->get('timestamp'), Settings::get('hash_salt')), $request->query->get('token'))
)) {
// Clear user cache for all major platforms.

View File

@ -237,7 +237,7 @@ for ($i = 0; $i < 12; $i++) {
$node->status = intval($i / 2) % 2;
$node->revision = 1;
$node->promote = $i % 2;
$node->created = REQUEST_TIME + $i * 43200;
$node->created = $_SERVER['REQUEST_TIME'] + $i * 43200;
$node->runtime = 0;
$node->active = 1;
$node->log = "added $i poll";