You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.9 KiB
94 lines
2.9 KiB
<?php
|
|
|
|
/* For licensing terms, see /license.txt */
|
|
|
|
use Chamilo\CoreBundle\Component\Utils\ScriptHandler;
|
|
|
|
$cidReset = true;
|
|
|
|
require_once __DIR__.'/../inc/global.inc.php';
|
|
|
|
ini_set('memory_limit', -1);
|
|
ini_set('max_execution_time', 0);
|
|
|
|
// setting the section (for the tabs)
|
|
$this_section = SECTION_PLATFORM_ADMIN;
|
|
|
|
// Access restrictions
|
|
api_protect_admin_script(true);
|
|
|
|
// setting breadcrumbs
|
|
$interbreadcrumb[] = ['url' => 'index.php', 'name' => get_lang('Administration')];
|
|
|
|
$form = new FormValidator(
|
|
'archive_cleanup_form',
|
|
'post',
|
|
'',
|
|
'',
|
|
[],
|
|
FormValidator::LAYOUT_BOX
|
|
);
|
|
$form->addButtonSend(get_lang('Proceed with cleanup'));
|
|
|
|
if ($form->validate()) {
|
|
if (function_exists('opcache_reset')) {
|
|
opcache_reset();
|
|
}
|
|
|
|
$file = api_get_path(SYS_PUBLIC_PATH).'build/main.js';
|
|
if (file_exists($file)) {
|
|
unlink($file);
|
|
}
|
|
$dir = api_get_path(SYS_PUBLIC_PATH).'build';
|
|
$files = scandir($dir);
|
|
foreach ($files as $file) {
|
|
if (preg_match('/main\..*\.js/', $file)) {
|
|
unlink($dir.'/'.$file);
|
|
}
|
|
}
|
|
|
|
$archive_path = api_get_path(SYS_ARCHIVE_PATH);
|
|
$htaccess = @file_get_contents($archive_path.'.htaccess');
|
|
$result = rmdirr($archive_path, true, true);
|
|
if (false === $result) {
|
|
Display::addFlash(Display::return_message(get_lang('Cleanup of cache and temporary files'), 'error'));
|
|
} else {
|
|
Display::addFlash(
|
|
Display::return_message(get_lang('The app/cache/ directory cleanup has been executed successfully.'))
|
|
);
|
|
}
|
|
|
|
try {
|
|
ScriptHandler::dumpCssFiles();
|
|
Display::addFlash(
|
|
Display::return_message(get_lang('The styles and assets in the web/ folder have been refreshed.'))
|
|
);
|
|
} catch (Exception $e) {
|
|
Display::addFlash(
|
|
Display::return_message(
|
|
get_lang(
|
|
'The styles and assets in the web/ folder could not be refreshed, probably due to a permissions problem. Make sure the web/ folder is writeable by your web server.'
|
|
),
|
|
'error'
|
|
)
|
|
);
|
|
error_log($e->getMessage());
|
|
}
|
|
|
|
if (!empty($htaccess)) {
|
|
@file_put_contents($archive_path.'/.htaccess', $htaccess);
|
|
}
|
|
|
|
header('Location: '.api_get_self());
|
|
exit;
|
|
}
|
|
|
|
Display::display_header(get_lang('Cleanup of cache and temporary files'));
|
|
echo Display::return_message(
|
|
get_lang(
|
|
'Chamilo keeps a copy of most of the temporary files it generates (for backups, exports, copies, etc) into its app/cache/ directory. After a while, this can add up to a very large amount of disk space being used for nothing. Click the button below to clean your archive directory up. This operation should be automated by a cron process, but if this is not possible, you can come to this page regularly to remove all temporary files from the directory.'
|
|
),
|
|
'warning'
|
|
);
|
|
$form->display();
|
|
Display::display_footer();
|
|
|