Jax Опубликовано 6 Июня 2007 Жалоба Поделиться Опубликовано 6 Июня 2007 Название: Скрытие и публикация сообщений и тем (для 1.х)Добавил: JaxДобавлен: 06 Июн 2007Обновлен: 07 Июн 2007Категория: IP.Board 1.x.x — Что есть: Через АЦП даем права группам, которые будут иметь возможность скрывать посты и темы на форуме. На форуме, рядом с каждым сообщением будет ссылка «Скрыть сообщение» или «Скрыть сообщение вместе с темой», после нажатия на которую, пост приобретает серый цвет, что дает понять о его скрытости. В профиле, если стоит сборка Игорька, есть «5 последних сообщения юзера», то наши скрытые посты и темы там не показываются, если конечно у пользователя, который смотрит, нет прав скрытия сообщений. В функции «Найти все сообщения пользователя» аналогичная ситуация. Если группа юзера не обладает правами скрытия постов, он их не видит. Не учитывается, если у юзера будут ВСЕ посты скрытыми. Результат наверное будет просто пустое место на месте должных сообщений. Сообщения показываться не будут, если стоит опция «Отображение результата -> Результаты в виде сообщений». УЧИТЫВАЕТСЯ: Если у темы скрыто первое сообщение, а остальные нет (hide_post=0), то они НЕ будут показываться. Для тех, у кого стоит LoFi для 1.х скрытые сообщения и темы НЕ показываются. Поиск скрытых тем, в принципе проработан с «Где искать? -> В сообщениях/В заголовках» и «Отображение результата -> Результаты в виде тем».— Знайте: Если поиск будет осуществляться по типу «Отображение результата -> Результаты в виде тем» и если последним постом будет является наш скрытый пост, то он, к сожалению, будет виден в графе «Последнее сообщение».Первая версия: Скрытие и публикация сообщений Нажмите здесь, чтобы скачать файл Ссылка на комментарий Поделиться на других сайтах Прочее
Legion Leonhart Опубликовано 6 Июня 2007 Жалоба Поделиться Опубликовано 6 Июня 2007 Косяк в описании в одной букве ALTER TABLE `ibf_topics` ADD `hide_topics` TINYINT(1) DEFAULT '0' NOT NULL;при этом везде в моде участвет только поле hide_topic, а не hide_topics И вообще как я не пыжился не нашел кнопки скрытия тем Ща пытаюсь переделать мод, чтобы все эти скрытия и раскрытия были в "Опциях модератора". У мну стоит мод перемещения сообщений от theIggs и там очень удобненькие чекбоксы в каждом сообщении, то бишь хотце сделать чтобы например сразу несколько сообщений можно было скрыть. А скрыть тему, дак вообще помойму правильнее будет смотреться именно в Опциях модератора, а не в сообщении +_+ Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 7 Июня 2007 Автор Жалоба Поделиться Опубликовано 7 Июня 2007 при этом везде в моде участвет только поле hide_topic, а не hide_topicsИсправил - спасибо. И вообще как я не пыжился не нашел кнопки скрытия темЗначит что-то не так сделали.А скрыть тему, дак вообще помойму правильнее будет смотреться именно в Опциях модератора, а не в сообщении +_+Здесь уже каждому свое Я лично сначала захожу в тему, чтобы узнать, что за тема, а потом из нее же и скрываю ее Зачем мне возвращаться или опускаться в опции модератора.. ну знесь на вкус и цвет.. Ссылка на комментарий Поделиться на других сайтах Прочее
Legion Leonhart Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 Ну судя по моду, вот этот отвечает за кнопуif ($ibforums->member['g_hide_post']) { if ($row['new_topic']) { $poster['hidepost'] = "<a href='{$this->base_url}act=Mod&CODE=hidetopic&f={$this->forum['id']}&t={$this->topic['tid']}&p={$row['pid']}&st={$ibforums->input[st]}&auth_key=".$this->md5_check."'><{HIDE_TOPIC}>"; } if (!$row['hide_post'] && !$row['new_topic']) { $poster['hidepost'] = "<a href='{$this->base_url}act=Mod&CODE=hidepost&f={$this->forum['id']}&t={$this->topic['tid']}&p={$row['pid']}&st={$ibforums->input[st]}&auth_key=".$this->md5_check."'><{HIDE_POST}></a>"; } if ($row['hide_post'] && !$row['new_topic']) { $poster['hidepost'] = "<a href='{$this->base_url}act=Mod&CODE=hidepostback&f={$this->forum['id']}&t={$this->topic['tid']}&p={$row['pid']}&st={$ibforums->input[st]}&auth_key=".$this->md5_check."'><{HIDE_POST_BACK}>"; } if ($this->topic['hide_topic'] && $row['new_topic']) { $poster['hidepost'] = "<a href='{$this->base_url}act=Mod&CODE=hidetopicback&f={$this->forum['id']}&t={$this->topic['tid']}&p={$row['pid']}&st={$ibforums->input[st]}&auth_key=".$this->md5_check."'><{HIDE_TOPIC_BACK}>"; } }Но хоть убейся, я видел только "Скрыть сообщение"/"Опубликовать сообщение" и больше ничего и вариантов на тему "сделать здесь что то не так" быть не может, ведь скрывание сообщения работает. Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 7 Июня 2007 Автор Жалоба Поделиться Опубликовано 7 Июня 2007 Кнопка скрытии темы находится в первом сообщении топика. То есть скрываем первый пост в теме — скрывается вся тема и сообщения в этой теме, хоть и с hide_post=0 все равно будут скрыты. Ссылка на комментарий Поделиться на других сайтах Прочее
Legion Leonhart Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 Я как раз так и понял, но там была только кнопа "Скрыть сообщение", на кой тогда в макросах писали HIDE_TOPIC? Я спецально создал тему, в ней естественно только одно сообщение, но видно только кнопу Скрыть сообщение, а не Скрыть тему с этим сообщением. Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 7 Июня 2007 Автор Жалоба Поделиться Опубликовано 7 Июня 2007 Вот у меня стоит точно такой же код, что я выложил, у меня работает. Создал одну тему и вижу: Так что вот так Ссылка на комментарий Поделиться на других сайтах Прочее
Legion Leonhart Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 попробуй переставить мод, мож предыдущая версия как то вмешалась... Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 7 Июня 2007 Автор Жалоба Поделиться Опубликовано 7 Июня 2007 Зачем мне переставлять? Это лучше вы переставьте. Удалите все от прошлой версии и поставьте новую. В Topics.php я убрал функции, для показа одной из кнопок, просто внимательнее отнеситесь, вот и все Ссылка на комментарий Поделиться на других сайтах Прочее
Legion Leonhart Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 Не обращай внимания, это очепятка, я хотел написать "попробуЮ" Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 7 Июня 2007 Автор Жалоба Поделиться Опубликовано 7 Июня 2007 Давайте, если что не выйдет опять — пишите, будем разбираться вместе. Ссылка на комментарий Поделиться на других сайтах Прочее
Legion Leonhart Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 Я понял в чем глюк, оказывается не всегда первые сообщения темы имеют значение new_topic=1, с чем это связано пока не разбирался. Также нельзя скрывать Опросы, а не мешало бы.А ещё чтобы скрытые темы в списке форума как то отличались, я им прописал другой css стиль в функции RenderRowHideTopic. Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 7 Июня 2007 Автор Жалоба Поделиться Опубликовано 7 Июня 2007 А ещё чтобы скрытые темы в списке форума как то отличались, я им прописал другой css стиль в функции RenderRowHideTopic.Ну я написал в readme, что html для скрытых тем и сообщений можете настраивать на свой вкус и цвет.Я понял в чем глюк, оказывается не всегда первые сообщения темы имеют значение new_topic=1, с чем это связано пока не разбирался.У меня всегда Также нельзя скрывать Опросы, а не мешало бы.Да, что-то я забыл про это. Да и не столь нужно я думаю. Ссылка на комментарий Поделиться на других сайтах Прочее
Legion Leonhart Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 Да и не столь нужно я думаю.Так и скажи леняво =))) Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 7 Июня 2007 Автор Жалоба Поделиться Опубликовано 7 Июня 2007 Ну мне это просто не надо Это разные вещи. Ссылка на комментарий Поделиться на других сайтах Прочее
SHiSH Опубликовано 9 Июня 2007 Жалоба Поделиться Опубликовано 9 Июня 2007 $print->redirect_screen( $ibforums->lang['post_deleted'],и так в каждом случае скрытия/опубликования иправить надо а то у народа инфаркт может случиться Ссылка на комментарий Поделиться на других сайтах Прочее
Legion Leonhart Опубликовано 9 Июня 2007 Жалоба Поделиться Опубликовано 9 Июня 2007 Это не суть важно, лично у мну эти "Ваше сообщение отправлено, сейчас вы будете перенапрвлены в тему...." вообще удалены, это зло от которого надо избавляться всем. Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 9 Июня 2007 Автор Жалоба Поделиться Опубликовано 9 Июня 2007 SHiSH, вечерком обновлю ридми — спасибо. Это не суть важно, лично у мну эти "Ваше сообщение отправлено, сейчас вы будете перенапрвлены в тему...." вообще удалены, это зло от которого надо избавляться всем.Угу, у меня тоже, давно вырезал функцию эту. Убираем все редиректы из 1.3 Ссылка на комментарий Поделиться на других сайтах Прочее
dimitry Опубликовано 17 Июня 2007 Жалоба Поделиться Опубликовано 17 Июня 2007 $print->redirect_screen( $ibforums->lang['post_deleted'],и так в каждом случае скрытия/опубликования иправить надо а то у народа инфаркт может случиться JaxНу это вообще плохое кино:Во-первых:Открыть:lang_mod.php Найти: post_deleted => "Post deleted", Ниже добавить: post_hide => "Сообщение скрыто", post_unhide => "Сообщение опубликовано", topic_deleted => "Тема скрыта", topic_undeleted => "Тема опубликована", Да и во-вторых, зачем в Moderate.php нужно было в function hide_post() и оставшихся трех функциях делать это: if ( $this->topic['state'] != "closed" ) { $passed = 1; } else { $passed = 0; }Закроет админ, супермод тему и захочет скрыть ее или скрыть в ней сообщение, а ему в ответ $this->moderate_error();Я удалил бы эти куски.Ну и с учетом всего этого в Moderate.php добавляемые функции должны иметь вид: function hide_post() { global $std, $ibforums, $DB, $print; $DB->query("SELECT p.pid, p.post_date, p.new_topic, m.mgroup FROM ibf_posts p, ibf_members m WHERE p.forum_id='".$this->forum['id']."' AND p.topic_id='".$this->topic['tid']."' and m.id=p.author_id and p.pid='".$ibforums->input['p']."'"); if ( ! $post = $DB->fetch_row() ) { $this->moderate_error(); } $passed = 0; if ( $ibforums->member['g_is_supmod'] or $ibforums->vars['admin_group']) { $passed = 1; } //--------------------------------------- // Vicer`овский мод кодов //--------------------------------------- #################### Exclaim Tags mod ##################### if (preg_match("#\<!--mod1-->(.+?)<!--emod1-->(.+?)<!--mod2-->(.+?)<!--emod2-->#is", $post['post']) && !(($ibforums->vars['post_ex_tags_type']==1 && $ibforums->member["g_mod"]) || ($ibforums->vars['post_ex_tags_type']==0 && (($this->moderator['mid'] != "" && $ibforums->member['id'] != 0) || $ibforums->member['g_is_supmod'] == 1)))) $passed = 0; if (preg_match("#\<!--excl1-->(.+?)<!--eexcl1-->(.+?)<!--excl2-->(.+?)<!--eexcl2-->#is", $post['post']) && !(($ibforums->vars['post_ex_tags_type']==1 && $ibforums->member["g_ex"]) || ($ibforums->vars['post_ex_tags_type']==0 && (($this->moderator['mid'] != "" && $ibforums->member['id'] != 0) || $ibforums->member['g_is_supmod'] == 1)))) $passed = 0; #################### Exclaim Tags mod ##################### if ( $passed != 1 ) { $this->moderate_error(); } //--------------------------------------- // обновляем наш пост //--------------------------------------- $DB->query("UPDATE ibf_posts SET hide_post='1' WHERE topic_id='".$this->topic['tid']."' and pid='".$post['pid']."'"); //--------------------------------------- // Пишем в логах //--------------------------------------- $this->moderate_log("Скрытие сообщения"); $print->redirect_screen( $ibforums->lang['post_hide'], "act=ST&f=".$this->forum['id']."&t=".$this->topic['tid']."&st=".$ibforums->input['st'] ); } function hide_post_back() { global $std, $ibforums, $DB, $print; $DB->query("SELECT p.pid, p.post_date, p.new_topic, m.mgroup FROM ibf_posts p, ibf_members m WHERE p.forum_id='".$this->forum['id']."' AND p.topic_id='".$this->topic['tid']."' and m.id=p.author_id and p.pid='".$ibforums->input['p']."'"); if ( ! $post = $DB->fetch_row() ) { $this->moderate_error(); } $passed = 0; if ( $ibforums->member['g_is_supmod'] or $ibforums->vars['admin_group']) { $passed = 1; } //--------------------------------------- // Vicer`овский мод кодов //--------------------------------------- #################### Exclaim Tags mod ##################### if (preg_match("#\<!--mod1-->(.+?)<!--emod1-->(.+?)<!--mod2-->(.+?)<!--emod2-->#is", $post['post']) && !(($ibforums->vars['post_ex_tags_type']==1 && $ibforums->member["g_mod"]) || ($ibforums->vars['post_ex_tags_type']==0 && (($this->moderator['mid'] != "" && $ibforums->member['id'] != 0) || $ibforums->member['g_is_supmod'] == 1)))) $passed = 0; if (preg_match("#\<!--excl1-->(.+?)<!--eexcl1-->(.+?)<!--excl2-->(.+?)<!--eexcl2-->#is", $post['post']) && !(($ibforums->vars['post_ex_tags_type']==1 && $ibforums->member["g_ex"]) || ($ibforums->vars['post_ex_tags_type']==0 && (($this->moderator['mid'] != "" && $ibforums->member['id'] != 0) || $ibforums->member['g_is_supmod'] == 1)))) $passed = 0; #################### Exclaim Tags mod ##################### if ( $passed != 1 ) { $this->moderate_error(); } //--------------------------------------- // обновляем наш пост //--------------------------------------- $DB->query("UPDATE ibf_posts SET hide_post='0' WHERE topic_id='".$this->topic['tid']."' and pid='".$post['pid']."'"); //--------------------------------------- // Пишем в логах //--------------------------------------- $this->moderate_log("Публикация сообщения"); $print->redirect_screen( $ibforums->lang['post_unhide'], "act=ST&f=".$this->forum['id']."&t=".$this->topic['tid']."&st=".$ibforums->input['st'] ); } function hide_topic() { global $std, $ibforums, $DB, $print; $DB->query("SELECT p.pid, p.post_date, p.new_topic, m.mgroup, t.hide_topic FROM ibf_posts p, ibf_members m, ibf_topics t WHERE p.forum_id='".$this->forum['id']."' AND p.topic_id='".$this->topic['tid']."' and m.id=p.author_id and p.pid='".$ibforums->input['p']."'"); if ( ! $post = $DB->fetch_row() ) { $this->moderate_error(); } $passed = 0; if ( $ibforums->member['g_is_supmod'] or $ibforums->vars['admin_group']) { $passed = 1; } //--------------------------------------- // Vicer`овский мод кодов //--------------------------------------- #################### Exclaim Tags mod ##################### if (preg_match("#\<!--mod1-->(.+?)<!--emod1-->(.+?)<!--mod2-->(.+?)<!--emod2-->#is", $post['post']) && !(($ibforums->vars['post_ex_tags_type']==1 && $ibforums->member["g_mod"]) || ($ibforums->vars['post_ex_tags_type']==0 && (($this->moderator['mid'] != "" && $ibforums->member['id'] != 0) || $ibforums->member['g_is_supmod'] == 1)))) $passed = 0; if (preg_match("#\<!--excl1-->(.+?)<!--eexcl1-->(.+?)<!--excl2-->(.+?)<!--eexcl2-->#is", $post['post']) && !(($ibforums->vars['post_ex_tags_type']==1 && $ibforums->member["g_ex"]) || ($ibforums->vars['post_ex_tags_type']==0 && (($this->moderator['mid'] != "" && $ibforums->member['id'] != 0) || $ibforums->member['g_is_supmod'] == 1)))) $passed = 0; #################### Exclaim Tags mod ##################### if ( $passed != 1 ) { $this->moderate_error(); } //--------------------------------------- // обновляем наш пост //--------------------------------------- $DB->query("UPDATE ibf_posts SET hide_post='1' WHERE topic_id='".$this->topic['tid']."' and pid='".$post['pid']."'"); //--------------------------------------- // обновляем наш топик //--------------------------------------- $DB->query("UPDATE ibf_topics SET hide_topic='1' WHERE tid='".$this->topic['tid']."'"); //--------------------------------------- // Пишем в логах //--------------------------------------- $this->moderate_log("Скрытие темы"); $print->redirect_screen( $ibforums->lang['topic_deleted'], "act=ST&f=".$this->forum['id']."&t=".$this->topic['tid']."&st=".$ibforums->input['st'] ); } function hide_topic_back() { global $std, $ibforums, $DB, $print; $DB->query("SELECT p.pid, p.post_date, p.new_topic, m.mgroup, t.hide_topic FROM ibf_posts p, ibf_members m, ibf_topics t WHERE p.forum_id='".$this->forum['id']."' AND p.topic_id='".$this->topic['tid']."' and m.id=p.author_id and p.pid='".$ibforums->input['p']."'"); if ( ! $post = $DB->fetch_row() ) { $this->moderate_error(); } $passed = 0; if ( $ibforums->member['g_is_supmod'] or $ibforums->vars['admin_group']) { $passed = 1; } //--------------------------------------- // Vicer`овский мод кодов //--------------------------------------- #################### Exclaim Tags mod ##################### if (preg_match("#\<!--mod1-->(.+?)<!--emod1-->(.+?)<!--mod2-->(.+?)<!--emod2-->#is", $post['post']) && !(($ibforums->vars['post_ex_tags_type']==1 && $ibforums->member["g_mod"]) || ($ibforums->vars['post_ex_tags_type']==0 && (($this->moderator['mid'] != "" && $ibforums->member['id'] != 0) || $ibforums->member['g_is_supmod'] == 1)))) $passed = 0; if (preg_match("#\<!--excl1-->(.+?)<!--eexcl1-->(.+?)<!--excl2-->(.+?)<!--eexcl2-->#is", $post['post']) && !(($ibforums->vars['post_ex_tags_type']==1 && $ibforums->member["g_ex"]) || ($ibforums->vars['post_ex_tags_type']==0 && (($this->moderator['mid'] != "" && $ibforums->member['id'] != 0) || $ibforums->member['g_is_supmod'] == 1)))) $passed = 0; #################### Exclaim Tags mod ##################### if ( $passed != 1 ) { $this->moderate_error(); } //--------------------------------------- // обновляем наш пост //--------------------------------------- $DB->query("UPDATE ibf_posts SET hide_post='0' WHERE topic_id='".$this->topic['tid']."' and pid='".$post['pid']."'"); $DB->query("UPDATE ibf_topics SET hide_topic='0' WHERE tid='".$this->topic['tid']."'"); //--------------------------------------- // Пишем в логах //--------------------------------------- $this->moderate_log("Публикация темы"); $print->redirect_screen( $ibforums->lang['topic_undeleted'], "act=ST&f=".$this->forum['id']."&t=".$this->topic['tid']."&st=".$ibforums->input['st'] ); } Ссылка на комментарий Поделиться на других сайтах Прочее
SHiSH Опубликовано 13 Июля 2007 Жалоба Поделиться Опубликовано 13 Июля 2007 вот не большой косячок нашёл в скрытую тему по ссылке может попасть группа которая не имеет права видеть их заменить в Topics.php if ( $std->check_perms($this->forum['read_perms']) == TRUE ) { $return = 0; }на if ( $std->check_perms($this->forum['read_perms']) == TRUE ) { if ( ($this->topic['hide_topic'] == 1) AND ($ibforums->member['g_hide_post'] == 0) ) { $return = 1; } else { $return = 0; } } Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 7 Сентября 2007 Автор Жалоба Поделиться Опубликовано 7 Сентября 2007 Спасибо всем за замечания. Есть еще один косяк, что закрытые темы скрыть нельзя, в том числе и посты в них Буду дома - посмотрю, если кому-то это вообще нужно. Ссылка на комментарий Поделиться на других сайтах Прочее
Maxxim Опубликовано 26 Ноября 2007 Жалоба Поделиться Опубликовано 26 Ноября 2007 Да, нужно.И еще вопрос: включены ли в ту версию, которая сейчас отдается из Архива, исправления из двух предыдущих сообщений в этой теме? Ссылка на комментарий Поделиться на других сайтах Прочее
Legion Leonhart Опубликовано 28 Ноября 2007 Жалоба Поделиться Опубликовано 28 Ноября 2007 Хех, обнаружил злой косяк, скрытые сообщения таки можно увидеть и очень просто, пользователю достаточно открыть полную форму ответа и там отображаются последние n сообщений, в том числе и скрытые... +_+Вообщем правиться skin_post.php и Post.php по аналогии с skin_topic.php и Topics.php Находим в skin_post.phpfunction TopicSummary_body($data) {выше вставляемfunction TopicSummary_body_HidePost_for_all($data) { global $ibforums; return <<<EOF EOF; } function TopicSummary_body_HidePost($data) { global $ibforums; return <<<EOF <tr> <td class='row4' valign='top' width='20%'><b>{$data['author']}</b></td> <td class='row4' valign='top' width='80%'>{$ibforums->lang['posted_on']} {$data['date']}</td> </tr> <tr> <td class='hide_post' valign='top' width='20%'> </td> <td class='hide_post' valign='top' width='80%'><span class='postcolor'>{$data['post']}</span></td> </tr> EOF; } В Post.php находим //-------------------------------------------------------------- // Get the posts // This section will probably change at some point //-------------------------------------------------------------- $post_query = $DB->query("SELECT post, pid, post_date, author_id, author_name FROM ibf_posts WHERE topic_id=$topic_id and queued <> 1 ORDER BY pid DESC LIMIT 0,10");заменяем на //-------------------------------------------------------------- // Get the posts // This section will probably change at some point //-------------------------------------------------------------- $post_query = $DB->query("SELECT post, pid, post_date, author_id, author_name, hide_post FROM ibf_posts WHERE topic_id=$topic_id and queued <> 1 ORDER BY pid DESC LIMIT 0,10");находим$this->output .= $this->html->TopicSummary_body( $row );и заменяем наif ($row['hide_post'] && $ibforums->member['g_hide_post']) { $this->output .= $this->html->TopicSummary_body_HidePost( $row ); } else if (!$ibforums->member['g_hide_post'] && $row['hide_post']) { $this->output .= $this->html->TopicSummary_body_HidePost_for_all( $row ); } else { $this->output .= $this->html->TopicSummary_body( $row ); }Усе вроде. Ссылка на комментарий Поделиться на других сайтах Прочее
dimitry Опубликовано 28 Ноября 2007 Жалоба Поделиться Опубликовано 28 Ноября 2007 Legion LeonhartСпасибо за столь важное замечание. Только подправьте у себя в посте, что править нужно не Topics.php, а Post.php Ссылка на комментарий Поделиться на других сайтах Прочее
Legion Leonhart Опубликовано 29 Ноября 2007 Жалоба Поделиться Опубликовано 29 Ноября 2007 Пардон, исправил ^^ Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения