getDbh(); $path = FindLocalizedFile(WIKI_PGSRC); $pgsrc = new fileSet($path); // fixme: verification, ... foreach ($pgsrc->getFiles() as $pagename) { $pagename = urldecode($pagename); if (substr($pagename,-1,1) == '~') continue; if ($dbh->isWikiPage($pagename)) { // check mtime ; //echo "$pagename exists
\n"; } else { echo "$pagename does not exist
\n"; LoadAny($request,$path."/".$pagename); echo "
\n"; } } return; } /** * search table definition in appropriate schema and * create it. * supported: mysql */ function installTable(&$dbh, $table) { if (!in_array($DBParam['dbtype'],array('SQL','ADODB'))) return; $backend = 'mysql'; // fixme $schema = findFile("schemas/$backend.sql"); if (!$schema) return false; switch ($table) { case 'session': break; case 'user': break; case 'pref': break; case 'members': break; } } /** * currently update only session, user, pref and member * jeffs-hacks database api (around 1.3.2) later * people should export/import their pages if using that old versions. */ function CheckDatabaseUpdate($request) { global $DBParam, $DBAuthParams; if (!in_array($DBParam['dbtype'],array('SQL','ADODB'))) return; $dbh = &$request->_dbi; $backend = &$dbh->_backend->_dbh; if ($DBParam['dbtype'] == 'SQL') { $tables = $backend->getListOf('tables'); } elseif ($DBParam['dbtype'] == 'ADODB') { $tables = $backend->MetaTables(); } //... return; } /** * Upgrade: Base class for multipage worksteps * identify, validate, display options, next step */ class Upgrade { } class Upgrade_CheckPgsrc extends Upgrade { } class Upgrade_CheckDatabaseUpdate extends Upgrade { } // TODO: At which step are we? // validate and do it again or go on with next step. /** entry function from lib/main.php */ function DoUpgrade($request) { if (!$request->_user->isAdmin()) { $request->_notAuthorized(WIKIAUTH_ADMIN); $request->finish( HTML::div(array('class' => 'disabled-plugin'), fmt("Upgrade disabled: user != isAdmin"))); return; } StartLoadDump($request, _("Upgrading this PhpWiki")); CheckDatabaseUpdate($request); CheckPgsrcUpdate($request); EndLoadDump($request); } /** $Log: not supported by cvs2svn $ */ // For emacs users // Local Variables: // mode: php // tab-width: 8 // c-basic-offset: 4 // c-hanging-comment-ender-p: nil // indent-tabs-mode: nil // End: ?>