" . htmlspecialchars ($pagename) . "", $version, $source); print ("
\n"); flush(); InsertPage($dbi, $pagename, $page); } function LoadFile ($dbi, $filename, $text, $mtime) { set_time_limit(30); // Reset watchdog. if (!$mtime) $mtime = time(); // Last resort. $defaults = array('author' => 'The PhpWiki programming team', 'pagename' => rawurldecode($filename), 'created' => $mtime, 'flags' => 0, 'lastmodified' => $mtime, 'refs' => array(), 'version' => 1); if (!($parts = ParseMimeifiedPages($text))) { // Can't parse MIME: assume plain text file. $page = $defaults; $page['pagename'] = rawurldecode($filename); $page['content'] = preg_split('/[ \t\r]*\n/', chop($text)); SavePage($dbi, $page, "text file"); } else { for (reset($parts); $page = current($parts); next($parts)) { // Fill in defaults for missing values? // Should we do more sanity checks here? reset($defaults); while (list($key, $val) = each($defaults)) if (!isset($page[$key])) $page[$key] = $val; if ($page['pagename'] != rawurldecode($filename)) printf("Warning: " . "pagename (%s) doesn't match filename (%s)" . " (using pagename)
\n", htmlspecialchars($page['pagename']), htmlspecialchars(rawurldecode($filename))); SavePage($dbi, $page, "MIME file"); } } } function LoadZipOrDir ($dbi, $zip_or_dir) { global $LANG, $genericpages; $type = filetype($zip_or_dir); if ($type == 'file') { $zip = new ZipReader($zip_or_dir); while (list ($fn, $data, $attrib) = $zip->readFile()) LoadFile($dbi, $fn, $data, $attrib['mtime']); } else if ($type == 'dir') { $handle = opendir($dir = $zip_or_dir); // load default pages while ($fn = readdir($handle)) { if (filetype("$dir/$fn") != 'file') continue; $stat = stat("$dir/$fn"); $mtime = $stat[9]; LoadFile($dbi, $fn, implode("", file("$dir/$fn")), $mtime); } closedir($handle); if ($LANG != "C") { // if language is not default, then insert // generic pages from the English ./pgsrc reset($genericpages); $dir = DEFAULT_WIKI_PGSRC; while (list(, $fn) = each($genericpages)) LoadFile($dbi, $fn, implode("", file("$dir/$fn")), $mtime); } } } $genericpages = array( "ReleaseNotes", "SteveWainstead", "TestPage" ); LoadZipOrDir($dbi, WIKI_PGSRC); ?>