Не удаляется фотоальбом из клуба

Решение проблемы по удалению альбома из клуба

#1 7 марта 2012 в 21:17
Сегодня заметил проблему.
Не удаляется фотоальбом из клуба.
Кто знает что за проблема?
#2 7 марта 2012 в 21:47
Из клуба при нажатии на крестик пишеится
Ошибка! Альбом не удален.
Однако при обновлении видно что альбом удален.
Из админки альбом не удаляется вообще!
Это общий баг или только у меня?
#3 9 марта 2012 в 13:57
Что все молчат!
Я так понимаю это проблема общая, просто не все пробовали!
Создайте в клубе любой фотоальбом, а потом попробуйте его удалить из админки или удалить в самом клубе-
что будет происходить?
#4 9 марта 2012 в 14:25
с фронта удаляется…
в админке их вообще не удалить, на чистой системе только фото из них можно редактировать и свойства самого альбома…
#5 9 марта 2012 в 14:54


с фронта удаляется…
в админке их вообще не удалить, на чистой системе только фото из них можно редактировать и свойства самого альбома…

• Mike •
А удаляется у вас как?
Не пишутся слова "Ошибка! Альбом не удален."
Однако при обновлении страницы видно, что на самом деле альбом удален?
#6 9 марта 2012 в 15:05
с фронта удаляется, не показывает предупреждение, что будут удалены все фото, в консоле (firebug) происходит ajax запрос и всё — альбома нет…
сейчас сделал чтобы альбомы отображались в общем списке фотоальбомов в админке — вот отсюда не удаляется, хотя показывает предупреждение про все фотографии и они то, как раз, удаляются, но сам альбом остаётся, хотя алерт появляется что альбом удалён…
#7 9 марта 2012 в 15:29


с фронта удаляется, не показывает предупреждение, что будут удалены все фото, в консоле (firebug) происходит ajax запрос и всё — альбома нет…
сейчас сделал чтобы альбомы отображались в общем списке фотоальбомов в админке — вот отсюда не удаляется, хотя показывает предупреждение про все фотографии и они то, как раз, удаляются, но сам альбом остаётся, хотя алерт появляется что альбом удалён…

• Mike •
У меня тоже стоит этот хак

вот только ajax запрос срабатывает не корректно.
Удаление альбома видно только после обновления страницы.
#8 9 марта 2012 в 15:36
у меня нет хаков) просто строчку одну поменял…
#9 9 марта 2012 в 15:52


у меня нет хаков) просто строчку одну поменял…

• Mike •
Какую?
#10 9 марта 2012 в 16:32
/public_html/admin/components/photos/backend.php (исправленная строка)
приблизительно 563, начинается так же как эта
  1.  
  2. cpListTable('cms_photo_albums', $fields, $actions, 'parent_id>0', 'NSLeft');
  3.  
#11 9 марта 2012 в 17:00

Вот, полное решение для админки (iCMS 1.9):

/admin/components/photos/backend.php
находим ~562 строка:
  1.  
  2. cpListTable('cms_photo_albums', $fields, $actions, 'parent_id>0 AND NSDiffer=""', 'NSLeft');
  3.  
заменяем:
  1.  
  2. cpListTable('cms_photo_albums', $fields, $actions, 'parent_id>0', 'NSLeft');
  3.  
дальше (скорее, для информативности)
находим чуть выше по коду ~547 и 548 строки:
  1.  
  2. $fields[2]['title'] = 'Показ'; $fields[2]['field'] = 'published'; $fields[2]['width'] = '100';
  3. $fields[2]['do'] = 'opt'; $fields[2]['do_suffix'] = '_album'; //Чтобы вместо 'do=hide&id=1' было 'opt=hide_album&item_id=1'
  4.  
после них через пробельную строку вставляем (будет показывать какого клуба альбом):
  1.  
  2.  
  3. $fields[3]['title'] = 'Владелец'; $fields[3]['field'] = 'NSDiffer'; $fields[3]['width'] = '100';
  4.  
далее открываем файл /components/photos/model.php
находим ~ 252 строка:
  1.  
  2. $ns = $inCore->nestedSetsInit('cms_photo_albums');
  3.  
сразу после неё вставляем:
  1.  
  2. $differ = $album['NSDiffer'];
  3.  

работает
#12 9 марта 2012 в 17:07
с другими хаками не знаю как будет работать, тут проще всего три строчки в двух файлах…

забыл написать, естественно, настройки для клубных тоже работают при клике на название…
#13 9 марта 2012 в 17:45


с другими хаками не знаю как будет работать, тут проще всего три строчки в двух файлах…


забыл написать, естественно, настройки для клубных тоже работают при клике на название…

• Mike •
Хорошее решение, в админке клуб редактируется и удаляется.
Но почему то в самом клубе при удалении
и сработке скрипта пишется: Ошибка! Альбом не удален.
Хотя альбом в дейсвительности удаляется.
Что это и почему?
#14 9 марта 2012 в 17:50
скорее что-то конфликтит в ajax, как вариант можно и там код слегка поменять там теперь один параметр не нужен…
#15 9 марта 2012 в 17:54
/components/clubs/ajax/deletealbum.php вот в этом файле, в самом конце,
  1.  
  2. if ($inCore->userIsAdmin($inUser->id) || clubUserIsAdmin($clubid, $inUser->id) || clubUserIsRole($clubid, $inUser->id, 'moderator')){
  3. $ok = $model->deleteAlbum($id, 'club'.$clubid);
  4. } else {
  5. $ok = false;
  6. }
  7.  
  8. if($ok){
  9. echo 'ok';
  10. } else {
  11. echo 'error';
  12. }
  13.  
в строке $ok = $model->deleteAlbum($id, 'club'.$clubid); оставить только $id:
  1.  
  2. $ok = $model->deleteAlbum($id);
  3.  
он обращается к модели где мы изменения делали выше и параметр определяется уже в самой моделе…
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.