static function init() { global $Opt; assert(self::$original_opt === null); self::$original_opt = $Opt; $confid = get($Opt, "confid"); if (!$confid && PHP_SAPI == "cli") { $cliopt = getopt("n:", array("name:")); if (get($cliopt, "n")) { $confid = $cliopt["n"]; } else { if (get($cliopt, "name")) { $confid = $cliopt["name"]; } } } else { if (!$confid) { $base = Navigation::site_absolute(true); if ($multis = get($Opt, "multiconferenceAnalyzer")) { foreach (is_array($multis) ? $multis : array($multis) as $multi) { list($match, $replace) = explode(" ", $multi); if (preg_match("`\\A{$match}`", $base, $m)) { $confid = $replace; for ($i = 1; $i < count($m); ++$i) { $confid = str_replace("\${$i}", $m[$i], $confid); } break; } } } else { if (preg_match(',/([^/]+)/\\z,', $base, $m)) { $confid = $m[1]; } } } } if (!$confid) { $confid = "__nonexistent__"; } else { if (!preg_match(',\\A[-a-zA-Z0-9_][-a-zA-Z0-9_.]*\\z,', $confid)) { $confid = "__invalid__"; } } self::assign_confid($Opt, $confid); }