It appears that your PHP environment isn't allowing the recipelist to be downloaded from pmwiki.org (allow_url_fopen = $allow_url_fopen)."; Abort($msg); } $rinfo['PmWiki:Upgrades'] = $Version; ScanRecipeInfo('cookbook', $cvinfo); foreach((array)$RecipeInfo as $r => $v) { if (!@$v['Version']) continue; $r = preg_replace('/^(?!PmWiki:)(Cookbook[.:])?/', 'Cookbook:', $r); $rinfo[$r] = $v['Version']; } $markup = "!!Recipe status for {\$PageUrl}\n".RecipeTable($rinfo, $cvinfo); $html = MarkupToHTML($pagename, $markup); SDV($RecipeCheckFmt, array(&$PageStartFmt, $html, &$PageEndFmt)); PrintFmt($pagename, $RecipeCheckFmt); } function GetRecipeList($list) { $cvinfo = array(); $fp = fopen($list, 'r'); while ($fp && !feof($fp)) { $line = fgets($fp, 1024); if ($line[0] == '#') continue; if (preg_match('/(\\S+) +(.*)/', $line, $match)) $cvinfo[$match[1]] = trim($match[2]); } fclose($fp); return $cvinfo; } function ScanRecipeInfo($dlistfmt, $cvinfo = NULL) { global $RecipeInfo; foreach((array)$dlistfmt as $dir) { $dfp = @opendir($dir); if (!$dfp) continue; while ( ($name = readdir($dfp)) !== false) { if ($name[0] == '.') continue; if (!preg_match('/\\.php/i', $name)) continue; $text = implode('', @file("$dir/$name")); if (preg_match("/^\\s*\\\$RecipeInfo\\['(.*?)'\\]\\['Version'\\]\\s*=\\s*'(.*?)'\\s*;/m", $text, $match)) SDV($RecipeInfo[$match[1]]['Version'], $match[2]); if (preg_match("/^\\s*SDV\\(\\s*\\\$RecipeInfo\\['(.*?)'\\]\\['Version'\\]\\s*,\\s*'(.*?)'\\s*\\)\\s*\\;/m", $text, $match)) SDV($RecipeInfo[$match[1]]['Version'], $match[2]); if (@$cvinfo[$name]) { $r = preg_replace('/^.*:/', '', $cvinfo[$name]); SDV($RecipeInfo[$r]['Version'], "unknown ($name)"); } } closedir($dfp); } } function RecipeTable($rinfo, $cvinfo) { $fmt = "||%-40s ||%-20s ||%-20s ||\n"; $out = "||class=recipecheck cellpadding=0 cellspacing=0 width=600\n"; $out .= sprintf($fmt, '!Recipe', '!local', '!pmwiki.org'); foreach($rinfo as $r => $lv) { $cv = $cvinfo[$r]; $style = ($lv == $cv) ? 'ok' : 'check'; $out .= sprintf($fmt, "%apply=tr $style%[[$r]]", $lv, $cv); } return $out; }