Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

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

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

 

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

Рекомендованные сообщения

Опубликовано:

А в чем идея?

 

\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]) ) );

Опубликовано:
  • Автор

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

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

Опубликовано:
  • Автор

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

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

Опубликовано:

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

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

Опубликовано:
  • Автор

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

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

 

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

Опубликовано:

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

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

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

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

 

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

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

Опубликовано:
  • Автор

@newbie,

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

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

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.