Закрытый тип блога и ограничения по рейтингу [Решено]

Хочу убрать возможность создание закрытых блогов и ограничение по рейтингу при создании блога (v.2.0).

Нашел в шаблоне:
{* Тип блога *}
    {component 'field' template='select'
        name          = 'blog_type'
        label         = $aLang.blog.add.fields.type.label
        note          = $aLang.blog.add.fields.type.note_open
        classes       = 'js-blog-add-field-type'
        inputClasses  = 'ls-width-200 js-blog-add-type'
        selectedValue = $_aRequest.blog_type
        items         = [
            [ 'value' => 'open', 'text' => $aLang.blog.add.fields.type.value_open ],
            [ 'value' => 'close', 'text' => $aLang.blog.add.fields.type.value_close ]
        ]}

Если полностью вырезать этот момент, то при создании блога, сайт ругается —
Ошибка: Неизвестный тип темы

С рейтингом происходит, тоже самое. Т.е. нужно ввести значение.

Можно ли сделать так, чтобы при создании блога, «Тип блога» становился по умолчанию открытым, а рейтинг доступа был «0» (нулевым).

Закрытые блоги

Здравствуйте, у меня вопрос.
У меня ресурс построен этом движке, (на старой версии)
И тут мне сообщили, что якобы можно читать посты в закрытых блогах. Это не очень трудно, и взлома не требуется.
Пожалуйста, отнеситесь с пониманием, я не технический специалист, и ответьте на вопрос, возможно это или нет. И если да, то как бороться.

Видимость топиков из закрытого блога

Решил поискать на сайте livestreet.ru как правильно сбросить кеш не имея плагина админки от Вадима. Вернее мне надо сбросить кеш memcache
Ввел поисковый запрос "как сбросить кеш"
Первое что он мне выдал это топик «Активация/деактивация плагинов, „тухлый“ кеш и шатдаун». Смотрю автор — Avadim, смотрю блог — «Закрытый блог разработчиков» почитать полный топик конечно я не смог, нет доступа, но часть текста (до cut-а) видна, чего я считаю быть не должно.
Прошу разработчиков обратить на это внимание.

Ранее уже была похожая тема, но обсуждалась видимость комментов к топикам из закрытых блогов

Как скрыть закрытые блоги (названия)

Существует ли способ скрыть определенные закрытые блоги от посторонних глаз, так чтобы не было видно даже названий на странице блогов? А для тех, кто в них состоит — эти блоги видимы.

Скрываем закрытые блоги из общего списка

Итак, у нас на сайте есть открытые и закрытые блоги. Появилось много желающих скрывать их из общего списка.

Сейчас общий список выглядит так: localhost/blogs/

Задача убрать закрытый блог из списка.

Читать дальше →

У меня вот такой КОСЯК с ЗАКРЫТЫМИ блогами

Вобщем не знаю, что произошло, в БД не лазил, хотя мне кажется дело там, возможно какой то плагин, что то наделал.

Плагин Компании не причем, протестили. Возможно aceBlogEx… что то в свое время нафигачил, но сейчас уже не используем.

Вобщем вот порядок косяков:
1. Люди создают закрытый блог, но при публикации топика не видет его в выборе, хотя они там админ, а главный админ видит у себя.
2. При публикации админов топика в закрытый блог он почему то появляется в ленте компаний!!! и в ленте блогов.

В чем может быть беда? Скину денег скока надо, если поможете :)

UPD
все таки всему виной плагин «Компании», но честно скажу возможно это уникальный случай, так как общался с gran с разработчиком плагина он показывал на тесте что у него все ок по этому вопросу, поэтому где то у меня что то. Вот как мой теперь уже очень хороший знакомый :) помог решить проблему.

1. открываем файл /plugins/company/classes/modules/blog/Blog.class.php

2. меняем код
public function GetBlogsAllowByUser($oUser) {
        $aAllowBlogsUser = parent::GetBlogsAllowByUser($oUser);
        //если используется активация то отдаем только блоги активированных компаний
        if (Config::Get('module.company.use_activate') and !$oUser->isAdministrator()) {
            $aInaccessible = $this->GetInaccessibleBlogsByUser($oUser);
            $aReturn = array();
            foreach ($aAllowBlogsUser as $aRow) {
                if (!in_array($aRow->getId(),$aInaccessible))
                    $aReturn[$aRow->getId()]=$aRow;
            }
            return $aReturn;
        }
        return $aAllowBlogsUser;
    }


поменять на

public function GetBlogsAllowByUser($oUser) {
        $aAllowBlogsUser = parent::GetBlogsAllowByUser($oUser);
        //если используется активация то отдаем только блоги активированных компаний
        if (Config::Get('module.company.use_activate') and !$oUser->isAdministrator()) {
            $aInaccessible = $this->PluginCompany_Company_GetInaccessibleCompanyBlogs(); //$this->GetInaccessibleBlogsByUser($oUser);
            $aReturn = array();
            foreach ($aAllowBlogsUser as $aRow) {
                if (!in_array($aRow->getId(),$aInaccessible))
                    $aReturn[$aRow->getId()]=$aRow;
            }
            return $aReturn;
        }
        return $aAllowBlogsUser;
    }


3. суть в чем
Есть механизм определяющий все блоги куда может публиковать пользователь Blog_GetBlogsAllowByUser

В плагине есть переопределение данного метода

public function GetBlogsAllowByUser($oUser) {
        $aAllowBlogsUser = parent::GetBlogsAllowByUser($oUser);
        //если используется активация то отдаем только блоги активированных компаний
        if (Config::Get('module.company.use_activate') and !$oUser->isAdministrator()) {
            $aInaccessible = $this->GetInaccessibleBlogsByUser($oUser);
            $aReturn = array();
            foreach ($aAllowBlogsUser as $aRow) {
                if (!in_array($aRow->getId(),$aInaccessible))
                    $aReturn[$aRow->getId()]=$aRow;
            }
            return $aReturn;
        }
        return $aAllowBlogsUser;
    }

Все дело в $this->GetInaccessibleBlogsByUser($oUser), этот метод кстати тоже переопределен

public function GetInaccessibleBlogsByUser($oUser=null) {
  $aCloseBlogs = parent::GetInaccessibleBlogsByUser($oUser);
  $aCloseInactiveBlogs = $this->PluginCompany_Company_GetInaccessibleCompanyBlogs(); //print_r($aCloseInactiveBlogs);
  return array_merge($aCloseBlogs,$aCloseInactiveBlogs);
 }


Т.е. сначала получаем роли пользователя в блогах в которых он состоит, вот тут и начинается проблема. Насколько я могу судить создатель блога не имеет ролей в блоге. Может и имеет, но в движке с первого взгляда найти не удалось.
Полагаю имеет смысл исключать только не активированные блоги компаний, без ролей пользователей в обычных блогах.

будем рады если кому то помогли или внесли свою лепту в улучшения плагина.

Закрытый блог [Решено]

Всем привет. Кто-нибудь может сказать есть ли легкий способ для того, чтобы при публикации в закрытым блоге для всех пользователей были видны анонсы постов из этого блога?

Решено. Спасибо AlikMis

если нужно показывать на всем сайте, то

\classes\modules\topic\mapper\Topic.mapper.class.php

строка 415: protected function buildFilter($aFilter) {

после $sWhere=''; добавляем if(!isset($aFilter['blog_type']['close'])) $aFilter['blog_type']['close']=array();

должно получится
protected function buildFilter($aFilter) {
        $sWhere='';
        if(!isset($aFilter['blog_type']['close'])) $aFilter['blog_type']['close']=array();
        if (isset($aFilter['topic_publish'])) {


если только к примеру на главной

\classes\modules\topic\Topic.class.php

строка 497:
public function GetTopicsGood($iPage,$iPerPage,$bAddAccessible=true) {
        $aFilter=array(
                'blog_type' => array(
                        'personal',
                        'open'
                ),

заменить на
public function GetTopicsGood($iPage,$iPerPage,$bAddAccessible=true) {
        $aFilter=array(
                'blog_type' => array(
                        'personal',
                        'open',
                        'close'
                ),


Топик будет отображаться как обычный, но при переходе в него будет ошибка
Ошибка: Нет доступа
Это закрытый блог, у вас нет прав на просмотр контента

Как сделать, чтобы при обращении к посту закрытого блога, внутри страницы "доступ запрещён" выдавалось его описание?

Описания закрытых блогов так и так видны всем. Ещё я тут вписал правила вступления в блог (и как это сделать: написав письмо админам).
А как сделать, чтобы это описание появлялось встроенным в страницу «доступ запрещён»?

и ещё вопрос: как сделать, чтобы описание блога было по умолачанию открытым (а то, боюсь далеко не у каждого хватит смекалки открыть его). Или может, там можно верхний пост закрепить как-то?

Как удалить читателя из закрытого блога?

Установлена ЛС 0.5.1., new-jquery. Решил почистить читателей закрытого блога — а нет кнопки их удаления. Есть только возможность менять группу. Пока выставил для тех, кого хотел удалить «забаненный». Но они всё равно мелькают в списках и мешают.

Как их удалить?

Также — как удалить приглашённых, кто приглашены в закрытый блог, но не ответили? Тоже мешаются они, мельтешат целый год в одном и том же месте.