";
if (!$user->isAdmin()) {
print "ERROR: You must be administrator to execute the update";
die;
}
function update_content()
{
GLOBAL $db,$settings;
// create temp folder
if (!makedir($settings->_contentDir."/temp")) return false;
// for all contents
$queryStr = "SELECT * FROM tblDocumentContent";
$contents = $db->getResultArray($queryStr);
if (is_bool($contents)&&!$contents) return false;
for ($i=0;$i_contentDir."/temp/".$contents[$i]["document"])) return false;
// move every content in temp/documentID/version.fileType
$source = $settings->_contentDir."/".$contents[$i]["dir"]."/data".$contents[$i]["fileType"];
$target = $settings->_contentDir."/temp/".$contents[$i]["document"]."/".$contents[$i]["version"].$contents[$i]["fileType"];
if (!copyFile($source, $target)) return false;
}
// change directory
if (!renameDir($settings->_contentDir."/".$settings->_contentOffsetDir,$settings->_contentDir."/old")) return false;
if (!renameDir($settings->_contentDir."/temp",$settings->_contentDir."/".$settings->_contentOffsetDir)) return false;
return true;
}
function update_db()
{
GLOBAL $db,$settings;
// for all contents
$queryStr = "SELECT * FROM tblDocumentContent";
$contents = $db->getResultArray($queryStr);
if (is_bool($contents)&&!$contents) return false;
for ($i=0;$igetResult($queryStr)) return false;
}
// run the update-2.0.sql
$fd = fopen ("update.sql", "r");
if (is_bool($fd)&&!$fd) return false;
$queryStr = fread($fd, filesize("update.sql"));
if (is_bool($queryStr)&&!$queryStr) return false;
fclose ($fd);
if (!$db->getResult($queryStr)) return false;
return true;
}
print "Updating ...please wait
";
if (!update_content()) {
print "ERROR: An error occurred during the directory reordering";
die;
}
if (!update_db()) {
print "ERROR: An error occurred during the DB update";
print "
Please try to execute the update.sql manually";
die;
}
print "Update done
";
print "