[ Index ]

PHP Cross Reference of phpwcms V1.4.3 _r380 (23.11.09)

title

Body

[close]

/setup/inc/ -> upgrade.func.inc.php (source)

   1  <?php
   2  
   3  // taken from http://de.php.net/manual/de/function.phpinfo.php#59573
   4  function parsePHPModules() {
   5   ob_start();
   6   phpinfo(INFO_MODULES);
   7   $s = ob_get_contents();
   8   ob_end_clean();
   9   
  10   $s = strip_tags($s,'<h2><th><td>');
  11   $s = preg_replace('/<th[^>]*>([^<]+)<\/th>/',"<info>\\1</info>",$s);
  12   $s = preg_replace('/<td[^>]*>([^<]+)<\/td>/',"<info>\\1</info>",$s);
  13   $vTmp = preg_split('/(<h2>[^<]+<\/h2>)/',$s,-1,PREG_SPLIT_DELIM_CAPTURE);
  14   $vModules = array();
  15   for ($i=1;$i<count($vTmp);$i++) {
  16    if (preg_match('/<h2>([^<]+)<\/h2>/',$vTmp[$i],$vMat)) {
  17     $vName = trim($vMat[1]);
  18     $vTmp2 = explode("\n",$vTmp[$i+1]);
  19     foreach ($vTmp2 AS $vOne) {
  20     $vPat = '<info>([^<]+)<\/info>';
  21     $vPat3 = "/$vPat\s*$vPat\s*$vPat/";
  22     $vPat2 = "/$vPat\s*$vPat/";
  23     if (preg_match($vPat3,$vOne,$vMat)) { // 3cols
  24       $vModules[$vName][trim($vMat[1])] = array(trim($vMat[2]),trim($vMat[3]));
  25     } elseif (preg_match($vPat2,$vOne,$vMat)) { // 2cols
  26       $vModules[$vName][trim($vMat[1])] = trim($vMat[2]);
  27     }
  28     }
  29    }
  30   }
  31   return $vModules;
  32  }
  33  
  34  
  35  ?>


Generated: Wed Dec 30 05:55:15 2009 Cross-referenced by PHPXref 0.7