Удаление файлов после удаления материала (Icms2+)

+28
5.07K
Заметил некоторую особенность системы.

После удаления материала с сайта, если там были поля с фото — фото удаляются с сервера, если встречаются поля с файлами, то после удаления материала файлы остаются на сервере, как собственно и запись в таблице о загруженных файлах.

Здесь что-то:
— Либо я что-то не понимаю
— Либо так задумано
— Либо недоработка
— Либо решение уже публиковалось, а я не видел

Перепроверил на нескольких сайтах — так оно и есть везде. Чтоб не оставлять "мусора" после удаления материала добавил небольшую функцию, которую нужно добавить в /system/fields/file.php перед последним закрывающим }

  1. public function delete($value){
  2.  
  3. if (empty($value)) { return true; }
  4.  
  5. $model = cmsCore::getModel('files');
  6.  
  7. $value = cmsModel::yamlToArray($value);
  8.  
  9. $config = cmsConfig::getInstance();
  10.  
  11. $file_path = $config->upload_path . $value['path'];
  12. @unlink($file_path);
  13.  
  14. $model->delete('uploaded_files', $value['id']);
  15.  
  16. return true;
  17.  
  18. }
Теперь после удаления материала — файлы и запись в БД удаляются.

Спасибо!
+4
Remi Remi 8 лет назад #
Было бы хорошо, если бы этот код добавили в обновление, ну или что-то подобное.
0
R161Net R161Net 8 лет назад #
Как всегда Супер вещь! +++
0
Колян Колян 8 лет назад #
А не подскажите как решить такую беду, вот подгрузил файл при помощи поля файл, теперь хочу удалить, удаляю, сохраняю контент а файл не то что удаляется или не удаляется с сервера, он вообще не удаляется... К стати с именами загружаемых файлов проблему решил, просто добавив поле имя файла, а на самом файле просто скачать ссылка и всё.
0
Колян Колян 8 лет назад #
Решение нашёл беды своей, тут http://instantcms.ru/blogs/blog-piligrima/na-stranice-ne-udaljayutsja-prikreplenye-faily.html#comment_84212 оно родное...

Еще от автора

Поле - Дата публикации записи
Дата публикации записи в шаблоне выводится в конце записи.
Статистика просмотров контента и Фильтр исходящей почты (SiteKreator v.22.2.2)
Улучшение компонента продолжается. Медленно но верно компонент обрастает еще большими возможностями.
Kmailer v.3.3.1 - Компонент для организации рассылки по email пользователям сайта и подписчикам
Всем доброго времени суток. Представляю вашему вниманию компонент KMailer 3.3.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.