\n"; else { echo "
\ndigraph xyz {
\nsize=\"6,6\";
\nnode [color=lightblue2, style=filled];
\n"; foreach ($targets as $k => $t) printgw($pagename, $t, $k); echo "}
\n"; } } function MkGW($pagename, $auth, $level, $basegw) { global $LinkTargets, $gwStart; if (time() > $gwStart+10) { echo "."; $gwStart = time(); flush; } #echo "MkGW($pagename, ...): Entering
\n"; $page = RetrieveAuthPage($pagename, $auth); $text = $page['text']; if (!$text) return(0); // indicates we've reached a node $LinkTargets = array(); $html = MarkupToHTML($pagename,$text); // calculate $LinkTargets as byproduct #echo "MkGW: LinkTargets=".print_r($LinkTargets,true)."
\n"; $targets = array_keys((array)$LinkTargets); if (!$targets) return(0); // indicates we've reached a node foreach ($targets as $t) { if (in_array($t, $basegw)) { #echo "MkGW($pagename): $t is a repeat!
\n"; $gw[$t] = -1; } else { $basegw[] = $t; #echo "MkGW($pagename): Calling MkGW($t)
\n"; $gw[$t] = MkGW($t, $auth, $level+1, $basegw); } } #echo "MkGW($pagename): returning ".print_r($gw,true)."
\n"; return($gw); } function printgw($src, $val, $key) { echo "'$src' -> '$key';
\n"; if (is_array($val)) foreach ($val as $k => $t) printgw($key, $t, $k); }