Удалить потерянные аватары - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

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

#1 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 874
  • Регистрация: 14-Июнь 09
  • Репутация: 19
  • IPB version:3.1.x
 

Отправлено 14 Ноябрь 2017 - 08:25

Есть такая полезная функция в админке как Удалить потерянные аватары
Проверка и удаление потерянных 'av-' файлов, не связанных ни с одним пользователем.
Для этого инструмента требуется большее количество ресурсов.


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

#2 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 631
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 084
  • IPB version:I have no IPB
 

Отправлено 14 Ноябрь 2017 - 10:13

А в чем идея?

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

1

#3 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 874
  • Регистрация: 14-Июнь 09
  • Репутация: 19
  • IPB version:3.1.x
 

Отправлено 14 Ноябрь 2017 - 10:25

Просмотреть сообщениеnewbie сказал(а):

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

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

#4 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 874
  • Регистрация: 14-Июнь 09
  • Репутация: 19
  • IPB version:3.1.x
 

Отправлено 14 Ноябрь 2017 - 11:26

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

#5 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 631
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 084
  • IPB version:I have no IPB
 

Отправлено 14 Ноябрь 2017 - 11:35

А что не удаляется?
Примеры файлов.
0

#6 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 874
  • Регистрация: 14-Июнь 09
  • Репутация: 19
  • IPB version:3.1.x
 

Отправлено 14 Ноябрь 2017 - 11:42

Просмотреть сообщениеnewbie сказал(а):

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

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

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

#7 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 631
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 084
  • IPB version:I have no IPB
 

Отправлено 14 Ноябрь 2017 - 11:55

Просмотреть сообщениеHaktar сказал(а):

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

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

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

#8 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 874
  • Регистрация: 14-Июнь 09
  • Репутация: 19
  • IPB version:3.1.x
 

Отправлено 14 Ноябрь 2017 - 13:44

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

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2017 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна