diff --git a/classes/actions/ActionBlog.class.php b/classes/actions/ActionBlog.class.php index 049a618a..308b006e 100644 --- a/classes/actions/ActionBlog.class.php +++ b/classes/actions/ActionBlog.class.php @@ -384,9 +384,14 @@ class ActionBlog extends Action { case 'moderator': $oBlogUser->setUserRole(LsBlog::BLOG_USER_ROLE_MODERATOR); break; - default: + case 'reader': $oBlogUser->setUserRole(LsBlog::BLOG_USER_ROLE_USER); break; + case 'ban': + $oBlogUser->setUserRole(LsBlog::BLOG_USER_ROLE_BAN); + break; + default: + $oBlogUser->setUserRole(LsBlog::BLOG_USER_ROLE_GUEST); } $this->Blog_UpdateRelationBlogUser($oBlogUser); $this->Message_AddNoticeSingle($this->Lang_Get('blog_admin_users_submit_ok')); @@ -395,7 +400,15 @@ class ActionBlog extends Action { /** * Получаем список подписчиков блога */ - $aBlogUsers=$this->Blog_GetBlogUsersByBlogId($oBlog->getId()); + $aBlogUsers=$this->Blog_GetBlogUsersByBlogId( + $oBlog->getId(), + array( + LsBlog::BLOG_USER_ROLE_BAN, + LsBlog::BLOG_USER_ROLE_USER, + LsBlog::BLOG_USER_ROLE_MODERATOR, + LsBlog::BLOG_USER_ROLE_ADMINISTRATOR + ) + ); $this->Viewer_AddHtmlTitle($oBlog->getTitle()); $this->Viewer_AddHtmlTitle($this->Lang_Get('blog_admin')); @@ -931,6 +944,7 @@ class ActionBlog extends Action { $aBlogUsers = $this->Blog_GetBlogUsersByBlogId( $oBlog->getId(), array( + LsBlog::BLOG_USER_ROLE_BAN, LsBlog::BLOG_USER_ROLE_REJECT, LsBlog::BLOG_USER_ROLE_INVITE, LsBlog::BLOG_USER_ROLE_USER, @@ -1165,6 +1179,14 @@ class ActionBlog extends Action { $this->Viewer_Assign('iCountTopicsPersonalNew',$this->iCountTopicsPersonalNew); $this->Viewer_Assign('iCountTopicsBlogNew',$this->iCountTopicsBlogNew); $this->Viewer_Assign('iCountTopicsNew',$this->iCountTopicsNew); + + $this->Viewer_Assign('BLOG_USER_ROLE_GUEST', LsBlog::BLOG_USER_ROLE_GUEST); + $this->Viewer_Assign('BLOG_USER_ROLE_USER', LsBlog::BLOG_USER_ROLE_USER); + $this->Viewer_Assign('BLOG_USER_ROLE_MODERATOR', LsBlog::BLOG_USER_ROLE_MODERATOR); + $this->Viewer_Assign('BLOG_USER_ROLE_ADMINISTRATOR', LsBlog::BLOG_USER_ROLE_ADMINISTRATOR); + $this->Viewer_Assign('BLOG_USER_ROLE_INVITE', LsBlog::BLOG_USER_ROLE_INVITE); + $this->Viewer_Assign('BLOG_USER_ROLE_REJECT', LsBlog::BLOG_USER_ROLE_REJECT); + $this->Viewer_Assign('BLOG_USER_ROLE_BAN', LsBlog::BLOG_USER_ROLE_BAN); } } ?> \ No newline at end of file diff --git a/classes/modules/blog/Blog.class.php b/classes/modules/blog/Blog.class.php index 61a913da..530c0f14 100644 --- a/classes/modules/blog/Blog.class.php +++ b/classes/modules/blog/Blog.class.php @@ -38,6 +38,10 @@ class LsBlog extends Module { * Пользователь, отклонивший приглашение админа */ const BLOG_USER_ROLE_REJECT = -2; + /** + * Забаненный в блоге пользователь + */ + const BLOG_USER_ROLE_BAN = -4; protected $oMapperBlog; protected $oUserCurrent=null; @@ -303,7 +307,7 @@ class LsBlog extends Module { $res=$this->oMapperBlog->UpdateBlog($oBlog); if ($res) { //чистим зависимые кеши - $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG,array('blog_update',"blog_update_{$oBlog->getId()}")); + $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG,array('blog_update',"blog_update_{$oBlog->getId()}","topic_update")); $this->Cache_Delete("blog_{$oBlog->getId()}"); return true; } diff --git a/templates/language/russian.php b/templates/language/russian.php index 69fcdff8..f77e61fa 100644 --- a/templates/language/russian.php +++ b/templates/language/russian.php @@ -137,6 +137,7 @@ return array( 'blog_admin_users_administrator' => 'администратор', 'blog_admin_users_moderator' => 'модератор', 'blog_admin_users_reader' => 'читатель', + 'blog_admin_users_bun' => 'забаненный', 'blog_admin_users_current_administrator' => 'это вы — настоящий администратор!', 'blog_admin_users_empty' => 'в блоге никто не состоит', 'blog_admin_users_submit' => 'сохранить', diff --git a/templates/skin/new/actions/ActionBlog/admin.tpl b/templates/skin/new/actions/ActionBlog/admin.tpl index e80e28b4..952e353a 100644 --- a/templates/skin/new/actions/ActionBlog/admin.tpl +++ b/templates/skin/new/actions/ActionBlog/admin.tpl @@ -13,6 +13,7 @@ {$aLang.blog_admin_users_administrator} {$aLang.blog_admin_users_moderator} {$aLang.blog_admin_users_reader} + {$aLang.blog_admin_users_bun} @@ -23,9 +24,10 @@ {if $oUser->getId()==$oUserCurrent->getId()} {$aLang.blog_admin_users_current_administrator} {else} - getIsAdministrator()}checked{/if}/> - getIsModerator()}checked{/if}/> - getIsAdministrator() and !$oBlogUser->getIsModerator()}checked{/if}/> + getIsAdministrator()}checked{/if}/> + getIsModerator()}checked{/if}/> + getUserRole()==$BLOG_USER_ROLE_USER}checked{/if}/> + getUserRole()==$BLOG_USER_ROLE_BAN}checked{/if}/> {/if} {/foreach}