Skip to content

Удалить потерянные аватары

Есть такая полезная функция в админке как Удалить потерянные аватары

Проверка и удаление потерянных 'av-' файлов, не связанных ни с одним пользователем.

Для этого инструмента требуется большее количество ресурсов.

 

Так вот, в каком файле что мне подредактировать, что бы скрипт удалял в папке автаров av- файлы только у удалённых пользователей?

Featured Replies

А в чем идея?

 

\admin\applications\core\modules_admin\tools\rebuild.php

 					$found = $this->DB->buildAndFetch( array( 'select' => 'pp_member_id', 'from' => 'profile_portal', 'where' => "avatar_location='{$file->getFilename()}' or avatar_location='upload:{$file->getFilename()}'" ) );

заменить на

					preg_match("#av-([0-9]+)\." . $file->getExtension() . "$#", $file->getFilename(), $matches);
					$found = $this->DB->buildAndFetch( array( 'select' => 'pp_member_id', 'from' => 'profile_portal', 'where' => 'pp_member_id=' . intval($matches[1]) ) );

  • Author

\admin\applications\core\modules_admin\tools\rebuild.php

Спасибо, сейчас попробую.

  • Author

Хм... Не много не то.

Задача такова - удалить все файлы аватаров av- в папке uploads всех удалённых пользователей. А вот аватары av- существующих пользователей не трогать, и не важно прописана у него аватара в таблице profile_portal или нет.

А что не удаляется?

Примеры файлов.

  • Author

А что не удаляется?

Нет, всё нормально и хорошо удаляется. Но мне нужно что бы не удалялись файлы av- у зарегистрированых юзеров (не удалёных), даже если в таблице profile_portal нет информации об этом файле. Нужно что бы файлы av- лежали в папке uploads, но только с идами существующих юзеров.

 

Короче нужно что бы скрипт удалил все файлы av- в папке uploads удалёных юзеров, тогда как существующих что бы ни трогал ни в коем случае.

Короче нужно что бы скрипт удалил все файлы av- в папке uploads удалёных юзеров, тогда как существующих что бы ни трогал ни в коем случае.

Так проверьте.

Добавьте картинку av-XXXXXX.png, где XXXXXX - ID юзера, у которого нет аватарки.

Добавьте картинку av-YYYYYY.png, где YYYYYY - ID несуществующего юзера.

 

В оригинальном варианте мы ищем запись в таблице по аватарке.

В измененном варианте мы ищем запись в таблице по ID юзера.

  • Author

@newbie,

Всё работает правильно. Я попросту не правильно заменил текст в файле. Всё сработало на ура и быстро. Ещё раз спасибо за неоценимую помощь.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.