Форум русской поддержки Joomla!® CMS
10.12.2016, 05:13:08 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Удаление фотографий при переносе в архив

 (Прочитано 472 раз)
0 Пользователей и 1 Гость смотрят эту тему.
max_1985
Завсегдатай
*****

Репутация: +55/-0
Offline Offline

Сообщений: 598



« : 27.04.2015, 12:28:10 »

Может кто подскажет как реализовать удаление фотографий из базы и каталога при переносе в архив?  drink
Записан
max_1985
Завсегдатай
*****

Репутация: +55/-0
Offline Offline

Сообщений: 598



« Ответ #1 : 27.04.2015, 18:03:31 »

Заметил еще одну ерунду, что при разных случаях не удаляются картинки с сервера. Например:

При изменении объявления с фронтатьной части и удаления из него картинок - картинки удалились с сервера!
При изменении объявления с админки и удаления из него картинок - картинки удалились с сервера!
При полном удалении объявления с админки - картинки удалились с сервера!
При удалении объявления по истечению срока - картинки удалились с сервера!

При полном удалении объявления пользователем с фронтатьной части - картинки остались на сервере!
Изменив заголовок объявления и после чего удалить из него картинки - картинки остались на сервере! (это очень плохо, если человек захочет сменить заголовок и картинки в своем объявлении и я уже с такими проблемами сталкивался!)
 
« Последнее редактирование: 28.04.2015, 08:47:50 от max_1985 » Записан
max_1985
Завсегдатай
*****

Репутация: +55/-0
Offline Offline

Сообщений: 598



« Ответ #2 : 28.04.2015, 08:49:20 »

Ну да ладно, давайте вернемся к первоначальному вопросу, может есть какие соображения?
Записан
max_1985
Завсегдатай
*****

Репутация: +55/-0
Offline Offline

Сообщений: 598



« Ответ #3 : 30.04.2015, 11:28:45 »

Наверно никто не хочет помогать просто так! ) Если кто знает, уделите пару минут, я заплачу!

Предполагаю что надо добавить 1-2 строчки в этот кусок кода:

Код:
case "archive":
                                                        $this->_db->setQuery( "UPDATE #__adsmanager_ads SET recall_mail_sent = 0 WHERE id = $id");
$this->_db->query();

$this->_db->setQuery( "DELETE FROM #__adsmanager_adcat WHERE adid =$id");
$this->_db->query();

$this->_db->setQuery( "INSERT INTO #__adsmanager_adcat (adid,catid) VALUES ($id,$conf->archive_catid)");
$this->_db->query();
break;

Что-то типа:
Код:
$content->deleteContent($images);
Или
Код:
$content->deleteContent($plugins);
Только правильно ли это?
« Последнее редактирование: 30.04.2015, 11:41:41 от max_1985 » Записан
max_1985
Завсегдатай
*****

Репутация: +55/-0
Offline Offline

Сообщений: 598



« Ответ #4 : 03.05.2015, 11:29:23 »

Что-то типа:
Код:
$content->deleteContent($images);
Или
Код:
$content->deleteContent($plugins);
Только правильно ли это?
Проверил, Неправильно!
Записан
max_1985
Завсегдатай
*****

Репутация: +55/-0
Offline Offline

Сообщений: 598



« Ответ #5 : 11.05.2015, 11:54:35 »

Попробовал сделать так.
В файле: /administrator/components/com_adsmanager/models/content.php

Это:

Код:
case "archive":
$this->_db->setQuery( "UPDATE #__adsmanager_ads SET published=0,recall_mail_sent = 0 WHERE id = $id");
$this->_db->query();

$this->_db->setQuery( "DELETE FROM #__adsmanager_adcat WHERE adid =$id");
$this->_db->query();

$this->_db->setQuery( "INSERT INTO #__adsmanager_adcat (adid,catid) VALUES ($id,$conf->archive_catid)");
$this->_db->query();
break;

Заменил на это:

Код:
case "archive":
$this->_db->setQuery( "UPDATE #__adsmanager_ads SET published=0,recall_mail_sent = 0 WHERE id = $id");
$this->_db->query();

$this->_db->setQuery( "DELETE FROM #__adsmanager_adcat WHERE adid =$id");
$this->_db->query();

$this->_db->setQuery( "INSERT INTO #__adsmanager_adcat (adid,catid) VALUES ($id,$conf->archive_catid)");
$this->_db->query();

$current_images = json_decode($ad->images);
if ($current_images == null)
$current_images = array();

foreach($current_images as $img)
{
$pict = JPATH_ROOT."/images/com_adsmanager/ads/".$img->image;
if ( is_file( $pict)) {
JFile::delete($pict);
}
$pic = JPATH_ROOT."/images/com_adsmanager/ads/".$img->thumbnail;
if ( is_file( $pic)) {
JFile::delete($pic);
}
$pic = JPATH_ROOT."/images/com_adsmanager/ads/".$img->medium;
if ( is_file( $pic)) {
JFile::delete($pic);
}
}
break;

В итоге ничего не происходит. Подскажите что делаю не так?
Записан
max_1985
Завсегдатай
*****

Репутация: +55/-0
Offline Offline

Сообщений: 598



« Ответ #6 : 12.05.2015, 10:00:11 »

Спасибо за активную дискуссию!  Grin Grin Grin Всем спасибо, вопрос решен, тему можно закрывать!

Думаю раздел форума тоже никому не нужен, он мертвый...
Записан
IzrA
Давно я тут
****

Репутация: +27/-0
Offline Offline

Пол: Мужской
Сообщений: 352



« Ответ #7 : 02.06.2015, 11:10:38 »

Так поделились бы решением с другими.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet