From f1e8f1e5f98530668016fafebe008bbce3bf180a Mon Sep 17 00:00:00 2001
From: Bradley M. Froehle <brad.froehle@gmail.com>
Date: Tue, 16 Nov 2010 10:38:12 -0800
Subject: [PATCH] 962318: 14 - Add REQUIREMENT_INFO to status page if PCRE < 7.2

---
 modules/system/system.install |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git modules/system/system.install modules/system/system.install
index ad76e11..441dc5e 100644
--- modules/system/system.install
+++ modules/system/system.install
@@ -147,6 +147,24 @@ function system_requirements($phase) {
     $requirements['php_extensions']['value'] = $t('Enabled');
   }
 
+  if ($phase == 'runtime' && extension_loaded('pcre')) {
+    // Test for version of PCRE.  If PCRE isn't loaded, the user would have
+    // already gotten a warning. Version 7.2 or higher is required for the
+    // (?| construction used in drupal_load_stylesheet_content().
+    $minimum_suggested_pcre_version = "7.2";
+    list($pcre_version) = explode(' ', PCRE_VERSION, 2);
+    if (version_compare($pcre_version, $minimum_suggested_pcre_version) < 0) {
+      $requirements['pcre']['title'] = $t('PCRE');
+      $requirements['pcre']['severity'] = REQUIREMENT_INFO;
+      $requirements['pcre']['value'] = print_r($pcre_version,1);
+      $requirements['pcre']['description'] = $t('Drupal suggests the <a href="@pcre_extension">PCRE extension</a> in PHP be at least version @minimum_suggested_pcre_version.  Some features may not function properly.  See the <a href="@system_requirements">system requirements page</a> for more information.', array(
+        '@pcre_extension' => 'http://php.net/manual/en/book.pcre.php',
+        '@minimum_suggested_pcre_version' => $minimum_suggested_pcre_version,
+        '@system_requirements' => 'http://drupal.org/requirements',
+      ));
+    }
+  }
+
   if ($phase == 'install' || $phase == 'update') {
     // Test for PDO (database).
     $requirements['database_extensions'] = array(
-- 
1.7.3.2

