| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | 
							- <?php
 
- /**
 
-  * @file
 
-  * Installation for Echo module.
 
-  */
 
- /**
 
-  * Implements hook_requirements().
 
-  *
 
-  * Since the Echo module relies on a working cache implementation, check whether
 
-  * a cache_set() followed immediately by a cache_get() retrieves what it stored.
 
-  */
 
- function echo_requirements($phase) {
 
-   $title = 'Echo test';
 
-   $uniqid = uniqid();
 
-   $content = "<div id='$uniqid'>Hello, world!</div>";
 
-   $theme = 'bartik';
 
-   if ($phase == 'runtime') {
 
-     // The echo_themed_page() function should be available at this point.
 
-     $document = new DomDocument();
 
-     $document->loadHTML(echo_themed_page($title, $content, $theme));
 
-     $xpath = new DOMXpath($document);
 
-     $pass = $xpath->query("//div[@id='$uniqid']");
 
-   }
 
-   else {
 
-     $key = sha1($title . $content . $theme);
 
-     // Thirty seconds ought to be enough for anyone.
 
-     $expiration = REQUEST_TIME + max(ini_get('max_execution_time'), 30);
 
-     cache_set($key, $key, 'cache', $expiration);
 
-     sleep(1);
 
-     $cached = cache_get($key);
 
-     $pass = ($cached->data === $key);
 
-   }
 
-   return array(
 
-     'echo' => array(
 
-       'title' => t('Cache system'),
 
-       'description' => t('The <a href="!echo">%echo</a> module requires a working cache system.', array('!echo' => 'http://drupal.org/project/echo', '%echo' => 'Echo')),
 
-       'value' => $pass ? t('Working') : t('Not working'),
 
-       'severity' => $pass ? REQUIREMENT_OK : REQUIREMENT_ERROR,
 
-     ),
 
-   );
 
- }
 
 
  |