Перейти к контенту

Удаление аттачей при удалении поста.


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

Всем день добрый!

Подскажите, может кто встречал (я не нашел) такой хак?

Чтобы когда удалялось сообщение или топик - аттачи тоже килились?

или хак, который ищет аттачи, которые не залинкованы ни в один топик и выдает их список - чтобы покилять.

P.S. форум уже 1,5 гига (!) - поможите информацией. хостер рыдает.

Ссылка на комментарий
Поделиться на других сайтах

да сам напиши, 10 строчек. одна выборка. Пусть не получится хака, а будет просто утилитой. Если время есть то можно к админской прикрутить в отдельный раздел. ВЕЩЬ ПОЛЕЗНАЯ НА 100%.
Ссылка на комментарий
Поделиться на других сайтах

First

еще раз все просмотрел - не могу найти на по "attach", ни по "delete", ни по "kill", и т.д.

подскажи plz, если знаешь ссылочку.

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

Дык

 

         
         $DB->query("SELECT attach_id FROM ibf_posts WHERE pid='".$pid."'");
         if ( !$DB->get_num_rows() )
         {
         	$std->Error( array( 'LEVEL' => 1, 'MSG' => 'missing_files' ) );
         }
         $post = $DB->fetch_row();
         if ( $post['attach_id'] == "" )
         {
         	$std->Error( array( 'LEVEL' => 1, 'MSG' => 'missing_files' ) );
         }
         $file = $ibforums->vars['upload_dir']."/".$post['attach_id'];
         
         if ( file_exists( $file ) ) @unlink($file); else $std->Error( array( 'LEVEL' => 1, 'MSG' => 'missing_files' ) );

Ссылка на комментарий
Поделиться на других сайтах

Song, спасибо, это фенечка для уделния в конкретном топике.... а как с уже удаленными из топика аттачами быть (файлы то остаются в дирректории /uploads)? Кто в PHP соображает: надо сделать переборку всех файлов из дирректории и произвести их удаление, если нет топика с таким attach_id. Только надо не забывать о существовании аватаров :D
Ссылка на комментарий
Поделиться на других сайтах

steelfactor

почему

в конкретном топике
?

Ведь там передаётся pid - post_id ! Это идентификатор поста. Именно и удаляется аттач от поста.

Сделай к примеру SELECT attach_id FROM ibf_posts WHERE attach_id <> '' LIMIT 1

и всё поймёшь.

Добавлено в [mergetime]1082625047[/mergetime]

А.. может ты имеешь ввиду, что делать с аттачами, которые остались в uploads, но были удалены из постов? (не из топиков, а из постов)

тут можно только если вручную. Создать таблицу, сделать цикл просмотра файлов по директории uploads, занести в таблицу имена всех файлов из uploads. И обрабатывать таблицу ibf_posts проверяя есть ли в ней такой аттач. Если нет, то соответственно удаляем.

Ссылка на комментарий
Поделиться на других сайтах

Кстати, посмотрел исходник форума. Если ему верить то аттач должен удаляться при удалении поста (см. moderate.php)
Ссылка на комментарий
Поделиться на других сайтах

Song

ты прав - аттачи, удаляются вместе с постом.

в этом можна убедится - удалить пару постов с атачами и сравнить директорию upload до и после(размер).

 

А вот как можна вывести информацию о всех аттачах?

Бывает, приложение лежит уже старое и не нужно.

По всем топикам рыскать - это не дело?

 

Может, есть идеи у кого? Кто знает?

Ссылка на комментарий
Поделиться на других сайтах

Samson зачем убеждаться так? :D

гораздо проще посмотреть Moderate.php:

 

 function delete_post() {
....
 if ($post['attach_id'] != "")
 {
	 if (is_file($this->upload_dir."/".$post['attach_id']))
	 {
   unlink ($this->upload_dir."/".$post['attach_id']);
	 }
 }
...

Ссылка на комментарий
Поделиться на других сайтах

Проблема не только в неудалении аттачей, когда удаляется весь топик, но и в том, что юзвери по несколько раз нажимают upload, и заливается не 1, а допустим 3 фотки... "лишние" надо поудалять. Видимо придется писать самому - как сделаю - выложу сюда.
Ссылка на комментарий
Поделиться на других сайтах

Finds missing attachments, avatars and photos which are linked in posts or member profiles

 

Finds unused attachments, avatars and photos and offers them for removal

 

New menu item in ACP Administration

оно ?

брать тут http://mods.ibplanet.com/db/?mod=1975

Ссылка на комментарий
Поделиться на других сайтах

Оно для 1.3

1.2 от 1.3 можно сказать ничем не отличается. Значит где-то налажал.

Можно сделать так: обоходишь каталог Upload по списку, и запрашиваешь каждый файл в ibf_posts на поле attach_id. Там где не найдётся, можешь смело килять.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.