. // minimal set of util functions; // doesn't pull in translation.inc etc. $generating_xml = false; function web_stopped() { $d = dirname(__FILE__); return file_exists("$d/../../stop_web"); } function sched_stopped() { $d = dirname(__FILE__); return file_exists("$d/../../stop_sched"); } function show_page($x, $y) { echo " $x

$x

$y "; } function xml_error($num, $msg=null) { if (!$msg) { switch($num) { case -112: $msg = "Invalid XML"; break; case -136: $msg = "Invalid ID"; break; case -137: $msg = "Name or email address is not unique"; break; case -138: $msg = "Can't access database"; break; case -183: $msg = "Project is temporarily offline"; break; case -205: $msg = "Email address has invalid syntax"; break; case -206: $msg = "Invalid password"; break; case -207: $msg = "Email address is not unique"; break; case -208: $msg = "Account creation is disabled"; break; case -209: $msg = "Invalid invitation code"; break; case -210: $msg = "Invalid request method"; break; default: "Unknown error"; break; } } echo " $num $msg "; exit(); } $g_config = null; function get_config() { global $g_config; if ($g_config == null) { $d = dirname(__FILE__); $g_config = file_get_contents("$d/../../config.xml"); } return $g_config; } // Look for an element in a line of XML text // If it's a single-tag element, and it's present, just return the tag // function parse_element($xml, $tag) { $element = null; $closetag = "")) return $tag; $y = substr($x, strlen($tag)); $n = strpos($y, $closetag); if ($n) { $element = substr($y, 0, $n); } } return trim($element); } function parse_next_element($xml, $tag, &$cursor) { $element = null; $closetag = "")) return $tag; $y = substr($x, strlen($tag)); $n = strpos($y, $closetag); if ($n) { $element = substr($y, 0, $n); } $cursor = (strlen($xml) - strlen($x)) + strlen($tag) + strlen($closetag) + strlen($element); } return trim($element); } // return true if XML contains either or 1 // function parse_bool($xml, $tag) { $x = "<$tag/>"; if (strstr($xml, $x)) return true; $x = "<$tag>"; $y = (int)parse_element($xml, $x); if ($y != 0) return true; return false; } // look for a particular element in the config file // function parse_config($config, $tag) { $element = parse_element($config, $tag); return $element; } function drand() { return ((double)rand())/getrandmax(); } ?>