Issue #3175112 by alexpott, longwave: hold_test module creates files in incorrect place leading to possible random errors
parent
3272d42ab7
commit
5e27a9f44c
|
@ -12,7 +12,8 @@
|
|||
* TRUE - enable hold, FALSE - disable hold.
|
||||
*/
|
||||
function hold_test_request($status) {
|
||||
file_put_contents(\Drupal::root() . '/sites/default/files/simpletest/hold_test_request.txt', $status);
|
||||
$site_path = \Drupal::getContainer()->getParameter('site.path');
|
||||
file_put_contents($site_path . '/hold_test_request.txt', $status);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -22,5 +23,6 @@ function hold_test_request($status) {
|
|||
* TRUE - enable hold, FALSE - disable hold.
|
||||
*/
|
||||
function hold_test_response($status) {
|
||||
file_put_contents(\Drupal::root() . '/sites/default/files/simpletest/hold_test_response.txt', $status);
|
||||
$site_path = \Drupal::getContainer()->getParameter('site.path');
|
||||
file_put_contents($site_path . '/hold_test_response.txt', $status);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
services:
|
||||
hold_test.response:
|
||||
class: Drupal\hold_test\EventSubscriber\HoldTestSubscriber
|
||||
arguments: ['%site.path%']
|
||||
tags:
|
||||
- { name: event_subscriber }
|
||||
|
|
|
@ -13,6 +13,23 @@ class HoldTestSubscriber implements EventSubscriberInterface {
|
|||
const HOLD_REQUEST = 'request';
|
||||
const HOLD_RESPONSE = 'response';
|
||||
|
||||
/**
|
||||
* The site path.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $sitePath;
|
||||
|
||||
/**
|
||||
* HoldTestSubscriber constructor.
|
||||
*
|
||||
* @param string $site_path
|
||||
* The site path.
|
||||
*/
|
||||
public function __construct(string $site_path) {
|
||||
$this->sitePath = $site_path;
|
||||
}
|
||||
|
||||
/**
|
||||
* Request hold.
|
||||
*/
|
||||
|
@ -34,7 +51,7 @@ class HoldTestSubscriber implements EventSubscriberInterface {
|
|||
* Type of hold.
|
||||
*/
|
||||
protected function hold($type) {
|
||||
$path = \Drupal::root() . "/sites/default/files/simpletest/hold_test_$type.txt";
|
||||
$path = "{$this->sitePath}/hold_test_$type.txt";
|
||||
do {
|
||||
$status = (bool) file_get_contents($path);
|
||||
} while ($status && (NULL === usleep(100000)));
|
||||
|
|
Loading…
Reference in New Issue