Помогите с фотогалереей!
#1
11 июня 2012 в 09:33
система 1.8, вообще частично работает, в видео галерей от пользователей или групп.
Но сама svadebsk.ru/photos уже несколько месяцев не работает...
В админке не показывает никакие альбомы. В общем еле живая сейчас на сайте...
И второе, есть ли резон попытаться на 1.9 переехать?
Но сама svadebsk.ru/photos уже несколько месяцев не работает...
В админке не показывает никакие альбомы. В общем еле живая сейчас на сайте...
И второе, есть ли резон попытаться на 1.9 переехать?
#2
11 июня 2012 в 10:15
Ivanoff, изменения внесли значит серьёзные… просто так она не бунтует.
#3
11 июня 2012 в 10:23
Да на то время особо изменений не делал. Плюс пробовал возвратит на стандартную тему, бесполезно. Лазил в БД, пытался что либо найти.….. никак
Как восстановить?
Как восстановить?
Сегодня в 05:42
#4
11 июня 2012 в 12:45
Без обзора вашей файловой системы и бд вам никто не сможет помочь… Думайте логически. у вас ошибка 404, страница не найдена. Значит страница, отвечающая за галерею отсутствует, правильно? Правильно. Думаю это не бд. БД всегда спешит завопить о своих ошибках.) Значит проблема в корневой папке. Потом, давайте подумаем после ЧЕГО она повела себя так. Просто вспомните тот день когда хотя бы заметили это… Работают ли настройки компонента в админке? Кстати, тема должна быть не причём (хотя, только если .tpl галереи посмотреть, может его нет или там пусто). Попробуйте сказать новую версию движка и из него перекинуть себе папку компонентс, так же поступите и с вашей темой — скачайте оригинал и оттуда перезалейте попку компонентс. Если вы ТПЛки не меняли, то сайт не измениться вообще… Что ещё… подумаю ещё)
Альбомы у вас работают, кстати, не галерейные, а пользовательские… По этому смею предположить, что вся ваша галерея лежит и даже не работает частично, вообще не дышит… Пользовательские альбомы — это вообще отдельная тема… У вас есть ссылки на альбомы самой галереи?
Всё-таки мне кажется это тпл… Потому что сам сайт работает, а галерея нет, значит шаблон не повреждён...
Насчёт резона миграции. Снимите резервные копии БД и файловой системы и попробуйте мигрировать. Возможно всё разрешиться, вам останется только адаптировать шаблон.
Всё-таки мне кажется это тпл… Потому что сам сайт работает, а галерея нет, значит шаблон не повреждён...
Насчёт резона миграции. Снимите резервные копии БД и файловой системы и попробуйте мигрировать. Возможно всё разрешиться, вам останется только адаптировать шаблон.
#6
11 июня 2012 в 13:59
Кстати, дайте ссылку, на толковую инструкцию переноса базы данных. Импорт / экспорт. Ибо сколько раз пробовал, не выходило нормально… Нужна чёткая номральная инструкция, подскажите пожалуйста!
буду на 1.9 переезжать
буду на 1.9 переезжать
#7
11 июня 2012 в 14:26
у меня подозрение что не работает функция getSubAlbums в фаиле components/photos/model.php
В любом случаи скиньте код этого файла посмотреть.
В любом случаи скиньте код этого файла посмотреть.
#8
11 июня 2012 в 14:46
<?php /******************************************************************************/ // // // InstantCMS v1.8 // // http://instantcms.ru/ // // // // written by InstantCMS Team, 2007-2010 // // produced by InstantSoft, (www.instantsoft.ru) // // // // LICENSED BY GNU/GPL v2 // // // /******************************************************************************/ class cms_model_photos{ function __construct(){ $this->inDB = cmsDatabase::getInstance(); } /* ==================================================================================================== */ /* ==================================================================================================== */ public function install(){ return true; } /* ==================================================================================================== */ /* ==================================================================================================== */ public function getCommentTarget($target, $target_id) { switch($target){ case 'palbum': $album = $this->inDB->get_fields('cms_photo_albums', "id='{$target_id}'", 'title'); if (!$album) { return false; } $result['link'] = '/photos/'.$target_id; $result['title'] = $album['title']; break; case 'photo': $photo = $this->inDB->get_fields('cms_photo_files', "id='{$target_id}'", 'title'); if (!$photo) { return false; } $result['link'] = '/photos/photo'.$target_id.'.html'; $result['title'] = $photo['title']; break; } return ($result ? $result : false); } /* ==================================================================================================== */ /* ==================================================================================================== */ public function deletePhoto($id, $file=''){ $inCore = cmsCore::getInstance(); $inCore->loadLib('tags'); cmsCore::callEvent('DELETE_PHOTO', $id); if (!$file){ $file = $this->inDB->get_field('cms_photo_files', "id='{$id}'", 'file'); } if (!$file){ return false; } $this->deletePhotoFile($file, PATH.'/images/photos/'); $inCore->deleteComments('photo', $id); $inCore->deleteRatings('photo', $id); cmsActions::removeObjectLog('add_photo', $id); $sql = "DELETE FROM cms_photo_files WHERE id = '$id'"; $this->inDB->query($sql) ; cmsClearTags('photo', $id); } /* ==================================================================================================== */ /* ==================================================================================================== */ public function deletePhotos($id_list){ cmsCore::callEvent('DELETE_PHOTOS', $id_list); foreach($id_list as $key=>$id){ $this->deletePhoto($id); } return true; } /* ==================================================================================================== */ /* ==================================================================================================== */ public function updatePhoto($id, $photo){ $inCore = cmsCore::getInstance(); $inUser = cmsUser::getInstance(); $photo = cmsCore::callEvent('UPDATE_PHOTO', $photo); $sql = "UPDATE cms_photo_files SET album_id = '{$photo['album_id']}', title='{$photo['title']}', file='{$photo['filename']}', description='{$photo['description']}', published='{$photo['published']}', showdate='{$photo['showdate']}' WHERE id = '$id' LIMIT 1"; $this->inDB->query($sql); cmsInsertTags($photo['tags'], 'photo', $id); } /* ==================================================================================================== */ /* ==================================================================================================== */ public function addPhoto($photo, $differ = '', $user_id = false){ $inCore = cmsCore::getInstance(); $inUser = cmsUser::getInstance(); $photo = cmsCore::callEvent('ADD_PHOTO', $photo); $user_id = $user_id ? $user_id : $inUser->id; if (!$user_id) { return false; } $sql = "INSERT INTO cms_photo_files (album_id, title, description, pubdate, file, published, showdate, comments, user_id, owner) VALUES ('{$photo['album_id']}', '{$photo['title']}', '{$photo['description']}', NOW(), '{$photo['filename']}', '{$photo['published']}', '{$photo['showdate']}', 1, '{$user_id}', '{$differ}')"; $this->inDB->query($sql); $photo_id = $this->inDB->get_last_id('cms_photo_files'); cmsInsertTags($photo['tags'], 'photo', $photo_id); cmsUser::checkAwards($user_id); $album_title = $this->inDB->get_field('cms_photo_albums', "id='{$photo['album_id']}'", 'title'); if ($photo['published']) { $description = $photo['is_hidden'] ? '' : '<a href="/photos/photo'.$photo_id.'.html" class="act_photo"><img border="0" src="/images/photos/small/'.$photo['filename'].'" /></a>'; 'object' => $photo['title'], 'object_url' => '/photos/photo'.$photo_id.'.html', 'object_id' => $photo_id, 'target' => $album_title, 'target_url' => '/photos/'.$photo['album_id'], 'description' => $description )); } return $photo_id; } /* ==================================================================================================== */ /* ==================================================================================================== */ public function randPhoto($album_id, $is_sub=false){ $catsql = 'AND f.album_id = '.$album_id; if ($is_sub && $album_id != '0') { $rootcat = $this->inDB->get_fields('cms_photo_albums', 'id='.$album_id, 'NSLeft, NSRight, NSDiffer'
#9
11 июня 2012 в 14:54
КСТАТИ! В корнет нет каталога photos… вообще! Он должен быть? каково содержимое?
#10
11 июня 2012 в 15:10
Его и не должно быть. Элемент подключается через компоненты. Попробуйте вставить мой фаил туда components/photos/model.php
С вашим файлом и у меня не работает отображение. Код пока глянуть не могу диплом пишу. Попробуйте пока так.
С вашим файлом и у меня не работает отображение. Код пока глянуть не могу диплом пишу. Попробуйте пока так.
<?php /******************************************************************************/ // // // InstantCMS v1.9 // // http://instantcms.ru/ // // // // written by InstantCMS Team, 2007-2011 // // produced by InstantSoft, (www.instantsoft.ru) // // // // LICENSED BY GNU/GPL v2 // // // /******************************************************************************/ class cms_model_photos{ function __construct(){ $this->inDB = cmsDatabase::getInstance(); } /* ==================================================================================================== */ /* ==================================================================================================== */ public function install(){ return true; } /* ==================================================================================================== */ /* ==================================================================================================== */ public function getCommentTarget($target, $target_id) { switch($target){ case 'palbum': $album = $this->inDB->get_fields('cms_photo_albums', "id='{$target_id}'", 'title'); if (!$album) { return false; } $result['link'] = '/photos/'.$target_id; $result['title'] = $album['title']; break; case 'photo': $photo = $this->inDB->get_fields('cms_photo_files', "id='{$target_id}'", 'title'); if (!$photo) { return false; } $result['link'] = '/photos/photo'.$target_id.'.html'; $result['title'] = $photo['title']; break; } return ($result ? $result : false); } /* ==================================================================================================== */ /* ==================================================================================================== */ // // этот метод вызывается компонентом comments при создании нового комментария // // метод должен вернуть 0 или 1 // public function getVisibility($target, $target_id) { $is_hidden = 0; switch($target){ case 'photo': $photo = $this->getPhoto($target_id); $album = $this->getAlbum($photo['album_id']); $clubtype = $this->inDB->get_field('cms_clubs', "id='{$album['user_id']}'", 'clubtype'); if($clubtype == 'private') { $is_hidden = 1; } } break; } return $is_hidden; } /* ==================================================================================================== */ /* ==================================================================================================== */ public function deletePhoto($id, $file=''){ $inCore = cmsCore::getInstance(); $inCore->loadLib('tags'); cmsCore::callEvent('DELETE_PHOTO', $id); if (!$file){ $file = $this->inDB->get_field('cms_photo_files', "id='{$id}'", 'file'); } if (!$file){ return false; } $this->deletePhotoFile($file, PATH.'/images/photos/'); $inCore->deleteComments('photo', $id); $inCore->deleteRatings('photo', $id); cmsActions::removeObjectLog('add_photo', $id); $sql = "DELETE FROM cms_photo_files WHERE id = '$id'"; $this->inDB->query($sql) ; cmsClearTags('photo', $id); } /* ==================================================================================================== */ /* ==================================================================================================== */ public function deletePhotos($id_list){ cmsCore::callEvent('DELETE_PHOTOS', $id_list); foreach($id_list as $key=>$id){ $this->deletePhoto($id); } return true; } /* ==================================================================================================== */ /* ==================================================================================================== */ public function updatePhoto($id, $photo){ $inCore = cmsCore::getInstance(); $inUser = cmsUser::getInstance(); $photo = cmsCore::callEvent('UPDATE_PHOTO', $photo); $sql = "UPDATE cms_photo_files SET album_id = '{$photo['album_id']}', title='{$photo['title']}', file='{$photo['filename']}', description='{$photo['description']}', published='{$photo['published']}', showdate='{$photo['showdate']}' WHERE id = '$id' LIMIT 1"; $this->inDB->query($sql); cmsInsertTags($photo['tags'], 'photo', $id); } /* ==================================================================================================== */ /* ==================================================================================================== */ public function addPhoto($photo, $differ = '', $user_id = false){ $inCore = cmsCore::getInstance(); $inUser = cmsUser::getInstance(); $photo = cmsCore::callEvent('ADD_PHOTO', $photo); $user_id = $user_id ? $user_id : $inUser->id; if (!$user_id) { return false; } $sql = "INSERT INTO cms_photo_files (album_id, title, description, pubdate, file, published, showdate, comments, user_id, owner) VALUES ('{$photo['album_id']}', '{$photo['title']}', '{$photo['description']}', NOW(), '{$photo['filename']}', '{$photo['published']}', '{$photo['showdate']}', 1, '{$user_id}', '{$differ}')"; $this->inDB->query($sql); $photo_id = $this->inDB->get_last_id('cms_photo_files'); cmsInsertTags($photo['tags'], 'photo', $photo_id); cmsUser::checkAwards($user_id); $album_title = $this->inDB->get_field('cms_photo_albums', "id='{$photo['album_id']}'", 'title'); if ($photo['published']) { $description = $photo['is_hidden'] ? '' : '<a href="/photos/photo'.$photo_id.'.html" c
#11
11 июня 2012 в 15:19
И в любом случаи отпишитесь пожалуйста.
#12
11 июня 2012 в 15:32
NastiK, Там как бы версия у меня 1.8 !? этот код точно стоит попробовать? =)))
Сори глаза слипаются не заметила что у вас версия 1,8.
В принципе вы можете попробовать, нечего страшного случиться не должно. Если не подойдёт всегда можно назад код поменять. Но можете подождать, но честно не знаю когда я смогу посмотреть код. Только после написания диплома. Если не срочно можете подождать.
В принципе вы можете попробовать, нечего страшного случиться не должно. Если не подойдёт всегда можно назад код поменять. Но можете подождать, но честно не знаю когда я смогу посмотреть код. Только после написания диплома. Если не срочно можете подождать.
#14
11 июня 2012 в 16:01
Хотя чего ждать. У вас не закрыта в коде функция. Поставьте в самый конец }
Вот если не поможет тогда или ждать или пробовать тот код.
Вот если не поможет тогда или ждать или пробовать тот код.
#15
11 июня 2012 в 16:15
Закрыта функция, недокопировал случайно ))
Пробовал код изначально чистой рабочей системы из дистрибутива вставить, ноль реакции…
Пробовал код изначально чистой рабочей системы из дистрибутива вставить, ноль реакции…