Сделал задание планировщика, которое запускает хук \system\controllers\files\hooks\cron_clear_upload.php, который сканирует папку upload и удаляет пустые папки.
Установка обычным способом. После установки появляется задача хрона, которая будет срабатывать в 4 часа и под покровом ночи удалять пустые каталоги.
Если вам не терпится посмотреть утилиту в работе — перейдите в Панель урправления — Настройки — Планировщик и стартаните вручную задание "Удаление пустых папок в Upload".
Имена удаленных папок будут выведены на экран.
СКАЧАТЬ
Дополнение перезалито.
Для обновления просто удалите задание хрона "Удаление пустых папок в Upload" в планировщике и установите дополнение заново.
Установка обычным способом. После установки появляется задача хрона, которая будет срабатывать в 4 часа и под покровом ночи удалять пустые каталоги.
Если вам не терпится посмотреть утилиту в работе — перейдите в Панель урправления — Настройки — Планировщик и стартаните вручную задание "Удаление пустых папок в Upload".
Имена удаленных папок будут выведены на экран.

СКАЧАТЬ
Дополнение перезалито.
Для обновления просто удалите задание хрона "Удаление пустых папок в Upload" в планировщике и установите дополнение заново.
Осталось "смержить" это с чистильщиком и удобный компонент получится
Поэтому у меня где-то валяется своя утилита для расчистки. Я её быстро запускаю и быстро удаляю нафиг с сайта, потому что в ней пароли к базе.
Поделитесь своим Чистильщиком! Хотя бы тем что есть...
Вот из этого:
http://instantcms.ru/forum/thread21787-1.html#208213
Домой вернусь - посмотрю.
Как удалять из аплоада двойки с его кашеобразной структурой - неизвестно.
Попробую запросить алгоритм на форуме в той же ветке.
1. По поводу вывода SessionMessage. Если у админа всю ночь открыт браузер и по крону почистятся папки, то при обновлении любой страницы эти системные сообщения будут выведены на ней. Сообщения сохраняются в сессию и выводятся при показе первой же страницы. Или я ошибаюсь?
2. Может можно отследить. что запуск идёт через крон и тогда их не выводить?
3. Второй момент, может не делать кучу сообщений, каждое для своей папки, а собрать весь список удалённых папок и вывести по окончании сканирования в одном сообщении?
Вечером дома доработаю. А то тут работать надо...
Спасибо огромное.
503 Service Unavailable
Please, enable debug mode in the site settings
Ошибка в запросе БД:
Unknown column 'is_strict_period' in 'field list'
INSERT INTO `cms_scheduler_tasks` (`id`, `title`, `controller`, `hook`, `period`, `is_strict_period`, `date_last_run`, `is_active`, `is_new`) VALUES (NULL, 'Удаление пустых папок в Upload', 'files', 'clear_upload', '1430', NULL, '2018-02-01 04:00:00', '1', '0')
Последние вызовы:
install_package()
call_user_func() @ /system/controllers/admin/actions/install_finish.php : 316
actionAdminInstallFinish->runPackageInstaller() @ /system/controllers/admin/actions/install_finish.php : 29
actionAdminInstallFinish->run()
call_user_func_array() @ /system/core/controller.php : 461
cmsController->runExternalAction() @ /system/core/controller.php : 379
cmsController->runAction()
call_user_func_array() @ /system/core/action.php : 29
cmsAction->__call() @ /system/controllers/admin/actions/install.php : 12
actionAdminInstall->runAction() @ /system/controllers/admin/actions/install.php : 12
actionAdminInstall->run()
Что это может быть?
Переделал, перезалил.
Попробуйте скачать еще раз.
http://instantcms.ru/users/files/download6804.html
И тоже интересует ваш чистильщик файлов, может быть подойдет...
Изменил, перезалил.
Вон пара багов нашлась, может еще найдутся.
Сейчас кто-нибудь напишет, что с сайта удалилась прижизненная фотография А.С.Пушкина и пойду посыпать голову пеплом...
Нажимаю скачать пишет файл не найден
Разница только в отображении списка удаленных папок..
А как на счет удаления "потерянных" файлов изображений? Тех что нигде не используются.
1. Задача автоматом не запускается. (остальные задачи по крону работают норм)
2. Удаляет папку installer (я ее кончено закидываю обратно, но тоже вручную)
Подскажите, что я делаю не так?
Сейчас исследую, в чем может быть проблема.
Перезалил версию.
Для обновления просто удалите задание хрона "Удаление пустых папок в Upload" в планировщике и установите дополнение заново.
Вот только поправьте не удалять папку installer иначе удаляет и потом дополнения не поставить - пишет ошибку распаковки.
Не все потом догадаются создать её заново при установке дополнений.
15стр.: if([] === (array_diff(scandir($v), array('.', '..'))) && $v != 'upload\installer' && $v != 'upload\files' ){
Пустые папки обнаружил на 3-х из них. Вся тройка обновляется с версий старше 2.7.2. Ни одной пустой папки на сайтах изначально сделанных на версиях моложе 2.7.2 не обнаружено.
Ris, спасибо за дополнение!