<?php

/**
 * @file
 * Contains functions for testing hold request/response.
 */

use Drupal\hold_test\EventSubscriber\HoldTestSubscriber;

/**
 * Request hold.
 *
 * @param bool $status
 *   TRUE - enable hold, FALSE - disable hold.
 */
function hold_test_request($status) {
  $site_path = \Drupal::getContainer()->getParameter('site.path');
  file_put_contents($site_path . '/hold_test_request.txt', $status);
  // If we're releasing the hold wait for a bit to allow the subscriber to read
  // the file.
  if (!$status) {
    usleep(HoldTestSubscriber::WAIT * 2);
  }
}

/**
 * Response hold.
 *
 * @param bool $status
 *   TRUE - enable hold, FALSE - disable hold.
 */
function hold_test_response($status) {
  $site_path = \Drupal::getContainer()->getParameter('site.path');
  file_put_contents($site_path . '/hold_test_response.txt', $status);
  // If we're releasing the hold wait for a bit to allow the subscriber to read
  // the file.
  if (!$status) {
    usleep(HoldTestSubscriber::WAIT * 2);
  }
}
