Lera Опубликовано 18 Января 2010 Жалоба Поделиться Опубликовано 18 Января 2010 Invision Gallery v2.0.7 Существует такая проблема. Некоторые альбомы и разделы галереи спрятаны от посторонних, то есть даны доступы по маскам. Фотографии и описания видят только те люди, которым дан доступ в эти разделы. Благодаря этому, в галерее есть мини-дневники участников, в которых они рассказывают о своей жизни.Но в последних комментариях отображаются все комментарии, и из скрытых разделов тоже. Таким образом, закрытые разделы становятся видимыми для посторонних, через последние комментарии ((( Не хотелось бы такой опции, может быть кто-нибудь сталкивался и уже знает решение?Что нужно сделать, чтобы в последних комментариях вообще не отображались комментарии из скрытых альбомов? Как поставить ограничения? Спасибо. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Lera Опубликовано 18 Января 2010 Автор Жалоба Поделиться Опубликовано 18 Января 2010 (изменено) Неужели никто не может помочь с этим вопросом? Может быть нужно прописать что-то и в последних комментариях не будут отображаться комменты из альбомов с указанными id? Код 10 последних комментариев выглядит вот так: * Displays the last 10 comments made * * @return void **/ function new_comments() { // Get the comments $this->ipsclass->DB->cache_add_query( 'get_comment_thumbs', array( 'total' => $this->num ), 'gallery_sql_queries' ); $res = $this->ipsclass->DB->simple_exec(); $this->ipsclass->lang['comments10'] = str_replace( "<#NUM#>", $this->num, $this->ipsclass->lang['comments10']); $this->output .= $this->html->index_list_top( $this->ipsclass->lang['comments10'] ); // Loop through the comments while( $i = $this->ipsclass->DB->fetch_row( $res ) ) { $i['name'] = $this->glib->make_name_link( $i['author_id'], $i['name'] ); $i['image'] = $this->glib->make_image_link( $i, $i['thumbnail'] ); $i['date'] = $this->ipsclass->get_date( $i['post_date'], 'LONG' ); $this->output .= $this->html->stats_comment_row( $i ); } $this->output .= $this->html->index_list_end(); $this->output .= $this->html->cat_page_end(); $this->nav[] = "<a href='".$this->ipsclass->base_url."act=module&module=gallery'>".$this->ipsclass->lang['gallery']."</a>"; $this->nav[] = $this->ipsclass->lang['comments10']; } Что можно прописать для запрета отображения комментариев из закрытого альбома? Или может быть в файле comment_view.php нужно что-то делать? Очень прошу помощи. Изменено 18 Января 2010 пользователем Lera Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 18 Января 2010 Жалоба Поделиться Опубликовано 18 Января 2010 К сожалению у меня сейчас не стоит форум/галерея локально, но в стиле остального выглядеть это должно примерно так: В файле /modules/gallery/stats.php найти: // Get the comments $this->ipsclass->DB->cache_add_query( 'get_comment_thumbs', array( 'total' => $this->num ), 'gallery_sql_queries' ); $res = $this->ipsclass->DB->simple_exec();и заменить на $allow_cats = $this->glib->get_allowed_cats( 1, $this->category->data ); $allow_albums = $this->glib->get_allowed_albums(); // ------------------------------------------------------ // Restrict which categories images are pulled from? // ------------------------------------------------------ if( is_array( $allow_cats ) && $allow_cats != 'no' ) { $cats = implode( ",", $allow_cats ); $cat_restrict = " i.category_id IN ( {$cats} ) "; } else if( $allow_cats == -1 ) { $cat_restrict = "category_id=0"; } // ------------------------------------------------------ // Restrict which albums images are pulled from? // ------------------------------------------------------ if( is_array( $allow_albums ) && $allow_albums != 'no' ) { $album = implode( ",", $allow_albums ); $album_restrict = " i.album_id IN ( {$album} ) "; } else if( $allow_albums == -1 ) { $album_restrict = "album_id=0 "; } // ------------------------------------------------------ // Format the restrict sql // ------------------------------------------------------ if( $album_restrict && $cat_restrict ) { $restrict = " ( {$cat_restrict} OR {$album_restrict} ) "; } else if( $album_restrict || $cat_restrict ) { $restrict = " {$album_restrict} {$cat_restrict} "; } // Get the comments $this->ipsclass->DB->cache_add_query( 'get_comment_thumbs', array( 'total' => $this->num, 'restrict' => $restrict ), 'gallery_sql_queries' ); $res = $this->ipsclass->DB->simple_exec(); В файле /sources/sql/mysql_gallery_queries.php найти function get_comment_thumbs( $a ) { return "SELECT c.*, m.members_display_name AS name, i.directory, i.masked_file_name, i.thumbnail, i.media, i.id FROM ibf_gallery_comments c LEFT JOIN ibf_members m ON (c.author_id=m.id) LEFT JOIN ibf_gallery_images i ON ( c.img_id=i.id ) ORDER BY pid DESC LIMIT 0,{$a['total']}"; }и заменить на function get_comment_thumbs( $a ) { return "SELECT c.*, m.members_display_name AS name, i.directory, i.masked_file_name, i.thumbnail, i.media, i.id FROM ibf_gallery_comments c LEFT JOIN ibf_members m ON (c.author_id=m.id) LEFT JOIN ibf_gallery_images i ON ( c.img_id=i.id ) WHERE {$a['restrict']} ORDER BY pid DESC LIMIT 0,{$a['total']}"; }К сожалению не могу сейчас помочь более предметно. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ph-A Опубликовано 18 Января 2010 Жалоба Поделиться Опубликовано 18 Января 2010 Но в последних комментариях отображаются все комментарии, и из скрытых разделов тоже. Таким образом, закрытые разделы становятся видимыми для посторонних, через последние комментарии ((( Не хотелось бы такой опции, может быть кто-нибудь сталкивался и уже знает решение?Вы заходите как админ? Зайдите как простой юзер и посмотрите, доступны ли комментарии? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Lera Опубликовано 18 Января 2010 Автор Жалоба Поделиться Опубликовано 18 Января 2010 Но в последних комментариях отображаются все комментарии, и из скрытых разделов тоже. Таким образом, закрытые разделы становятся видимыми для посторонних, через последние комментарии ((( Не хотелось бы такой опции, может быть кто-нибудь сталкивался и уже знает решение?Вы заходите как админ? Зайдите как простой юзер и посмотрите, доступны ли комментарии? Я проверяла как простой юзер. Все видят последние комментарии из скрытых альбомов. Sannis, спасибо огромное. Ты всегда приходишь на помощь. Когда писала не знала, на форуме ты или нет, но так надеялась. Спасибо огромное, попробую поставить и сразу напишу. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Lera Опубликовано 18 Января 2010 Автор Жалоба Поделиться Опубликовано 18 Января 2010 Работает, как часики. Sannis, ты как всегда, гений в кубе. Теперь те, кому не положено, не видят комментарии из закрытых альбомов. Большое человеческое спасибо. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.