function emptyContestDir($contestFolder) { global $mode, $contestLocalDir; global $publicClient, $publicBucket, $privateClient, $privateBucket; if ($mode == "aws") { $publicClient->deleteMatchingObjects($publicBucket, 'contests/' . $contestFolder); } else { if ($mode == "aws+local") { deleteRecurse($contestLocalDir . $contestFolder); mkdir($contestLocalDir . $contestFolder, 0777, true); $publicClient->deleteMatchingObjects($publicBucket, 'contests/' . $contestFolder); } else { deleteRecurse($contestLocalDir . $contestFolder); if (!mkdir($contestLocalDir . $contestFolder, 0777, true)) { exit; } } } }
function deleteRecurse($sFile) { if (is_link($sFile)) { return unlink($sFile); } if (!file_exists($sFile)) { return true; } if (!is_dir($sFile)) { return unlink($sFile); } $dir = BrowseDir::start($sFile); if ($dir != null) { while ($dir->read()) { deleteRecurse($dir->getPath()); } } return rmdir($sFile); }