Blame
Date:
Fri Apr 1 04:00:22 2022 UTC
Message:
Daily backup
001
2021-12-17
jrmu
<?php if (!defined('PmWiki')) exit();
002
2021-12-17
jrmu
/* Copyright 2007-2015 Patrick R. Michaud (pmichaud@pobox.com)
003
2021-12-17
jrmu
This file is part of PmWiki; you can redistribute it and/or modify
004
2021-12-17
jrmu
it under the terms of the GNU General Public License as published
005
2021-12-17
jrmu
by the Free Software Foundation; either version 2 of the License, or
006
2021-12-17
jrmu
(at your option) any later version. See pmwiki.php for full details.
007
2021-12-17
jrmu
008
2021-12-17
jrmu
Script maintained by Petko YOTOV www.pmwiki.org/petko
009
2021-12-17
jrmu
*/
010
2021-12-17
jrmu
global $HandleActions, $HandleAuth;
011
2021-12-17
jrmu
012
2021-12-17
jrmu
$HandleActions['upgrade'] = 'HandleUpgrade';
013
2021-12-17
jrmu
$HandleAuth['upgrade'] = 'read';
014
2021-12-17
jrmu
015
2021-12-17
jrmu
function HandleUpgrade($pagename, $auth = 'ALWAYS') {
016
2021-12-17
jrmu
global $SiteGroup, $SiteAdminGroup, $StatusPageName, $ScriptUrl,
017
2021-12-17
jrmu
$AuthUserPageFmt, $VersionNum, $Version;
018
2021-12-17
jrmu
StopWatch('HandleUpgrade: begin');
019
2021-12-17
jrmu
020
2021-12-17
jrmu
$message = '';
021
2021-12-17
jrmu
$done = '';
022
2021-12-17
jrmu
## check for Site.* --> SiteAdmin.*
023
2021-12-17
jrmu
foreach(array('AuthUser', 'NotifyList', 'Blocklist', 'ApprovedUrls') as $n) {
024
2021-12-17
jrmu
$n0 = "$SiteGroup.$n"; $n1 = "$SiteAdminGroup.$n";
025
2021-12-17
jrmu
StopWatch("HandleUpgrade: checking $n0 -> $n1");
026
2021-12-17
jrmu
## checking AuthUser is special, because Site.AuthUser comes with the
027
2021-12-17
jrmu
## distribution.
028
2021-12-17
jrmu
if ($n == 'AuthUser') {
029
2021-12-17
jrmu
## if we already have a user-modified SiteAdmin.AuthUser, we can skip
030
2021-12-17
jrmu
SDV($AuthUserPageFmt, '$SiteAdminGroup.AuthUser');
031
2021-12-17
jrmu
$n1 = FmtPageName($AuthUserPageFmt, $pagename);
032
2021-12-17
jrmu
$page = ReadPage($n1, READPAGE_CURRENT);
033
2021-12-17
jrmu
if (@$page['time'] > 1000000000) continue;
034
2021-12-17
jrmu
## if there's not a user-modified Site.AuthUser, we can skip
035
2021-12-17
jrmu
$page = ReadPage($n0, READPAGE_CURRENT);
036
2021-12-17
jrmu
if (@$page['time'] == 1000000000) continue;
037
2021-12-17
jrmu
} else if (!PageExists($n0) || PageExists($n1)) continue;
038
2021-12-17
jrmu
039
2021-12-17
jrmu
if (@$_REQUEST['migrate'] == 'yes') {
040
2021-12-17
jrmu
## if the admin wants PmWiki to migrate, do it.
041
2021-12-17
jrmu
$page = RetrieveAuthPage($n0, 'admin', true);
042
2021-12-17
jrmu
StopWatch("HandleUpgrade: copying $n0 -> $n1");
043
2021-12-17
jrmu
if ($page) {
044
2021-12-17
jrmu
WritePage($n1, $page);
045
2021-12-17
jrmu
$done .= "<li>Copied $n0 to $n1</li>";
046
2021-12-17
jrmu
continue;
047
2021-12-17
jrmu
}
048
2021-12-17
jrmu
}
049
2021-12-17
jrmu
$message .= "<li>$n0 -&gt; $n1</li>";
050
2021-12-17
jrmu
}
051
2021-12-17
jrmu
052
2021-12-17
jrmu
if ($message) {
053
2021-12-17
jrmu
$migrateurl = "$ScriptUrl?action=upgrade&amp;migrate=yes";
054
2021-12-17
jrmu
$infourl = 'http://www.pmwiki.org/wiki/PmWiki/UpgradeToSiteAdmin';
055
2021-12-17
jrmu
$message =
056
2021-12-17
jrmu
"<h2>Upgrade notice -- SiteAdmin group</h2>
057
2021-12-17
jrmu
<p>This version of PmWiki expects several administrative pages
058
2021-12-17
jrmu
from the <em>Site</em> group to be found in a new <em>SiteAdmin</em> group.
059
2021-12-17
jrmu
On this site, the following pages appear to need to be relocated:</p>
060
2021-12-17
jrmu
<ul>$message</ul>
061
2021-12-17
jrmu
062
2021-12-17
jrmu
<p>For more information about this change, including the various
063
2021-12-17
jrmu
options for proceeding, see</p>
064
2021-12-17
jrmu
<blockquote><a target='_blank' href='$infourl'>$infourl</a></blockquote>
065
2021-12-17
jrmu
066
2021-12-17
jrmu
<form action='$ScriptUrl' method='post'>
067
2021-12-17
jrmu
<p>If you would like PmWiki to attempt to automatically copy
068
2021-12-17
jrmu
these pages into their new <br /> locations for you, try
069
2021-12-17
jrmu
<input type='hidden' name='action' value='upgrade' />
070
2021-12-17
jrmu
<input type='hidden' name='migrate' value='yes' />
071
2021-12-17
jrmu
<input type='submit' value='Relocate pages listed above' />
072
2021-12-17
jrmu
(admin password required) </p>
073
2021-12-17
jrmu
</form>
074
2021-12-17
jrmu
075
2021-12-17
jrmu
<p>If you want to configure PmWiki so that it continues to
076
2021-12-17
jrmu
look for the above pages in <em>$SiteGroup</em>, add the
077
2021-12-17
jrmu
following line near the top of <em>local/config.php</em>:</p>
078
2021-12-17
jrmu
079
2021-12-17
jrmu
<blockquote><pre>\$SiteAdminGroup = \$SiteGroup;</pre></blockquote>
080
2021-12-17
jrmu
081
2021-12-17
jrmu
$Version
082
2021-12-17
jrmu
";
083
2021-12-17
jrmu
print $message;
084
2021-12-17
jrmu
exit;
085
2021-12-17
jrmu
}
086
2021-12-17
jrmu
087
2021-12-17
jrmu
StopWatch("UpgradeCheck: writing $StatusPageName");
088
2021-12-17
jrmu
Lock(2);
089
2021-12-17
jrmu
SDV($StatusPageName, "$SiteAdminGroup.Status");
090
2021-12-17
jrmu
$page = ReadPage($StatusPageName);
091
2021-12-17
jrmu
$page['updatedto'] = $VersionNum;
092
2021-12-17
jrmu
WritePage($StatusPageName, $page);
093
2021-12-17
jrmu
094
2021-12-17
jrmu
if ($done) {
095
2021-12-17
jrmu
$done .= "<li>Updated $StatusPageName</li>";
096
2021-12-17
jrmu
echo "<h2>Upgrade to $Version ... ok</h2><ul>$done</ul>";
097
2021-12-17
jrmu
$GLOBALS['EnableRedirect'] = 0;
098
2021-12-17
jrmu
}
099
2021-12-17
jrmu
Redirect($pagename);
100
2021-12-17
jrmu
}
IRCNow