mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-06-26 03:30:48 +03:00
Контроль времени между добавляемыми комментариями к инбоксам.
This commit is contained in:
parent
6f3447ab3b
commit
3d05cf49bb
|
@ -501,7 +501,14 @@ class ActionTalk extends Action {
|
|||
if (!($oTalkUser=$this->Talk_GetTalkUser($oTalk->getId(),$this->oUserCurrent->getId()))) {
|
||||
$this->Message_AddErrorSingle($this->Lang_Get('system_error'),$this->Lang_Get('error'));
|
||||
return;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Проверяем разрешено ли отправлять инбокс по времени
|
||||
*/
|
||||
if (!$this->ACL_CanPostTalkCommentTime($this->oUserCurrent)) {
|
||||
$this->Message_AddErrorSingle($this->Lang_Get('talk_time_limit'),$this->Lang_Get('error'));
|
||||
return false;
|
||||
}
|
||||
/**
|
||||
* Проверяем текст комментария
|
||||
*/
|
||||
|
|
|
@ -149,6 +149,38 @@ class LsACL extends Module {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Проверяет может ли пользователь создавать комментарии к инбоксу по времени
|
||||
*
|
||||
* @param Entity_User $oUser
|
||||
* @return bool
|
||||
*/
|
||||
public function CanPostTalkCommentTime(UserEntity_User $oUser) {
|
||||
// Для администраторов ограничение по времени не действует
|
||||
if($oUser->isAdministrator()
|
||||
or Config::Get('acl.create.talk_comment.limit_time')==0
|
||||
or $oUser->getRating()>=Config::Get('acl.create.talk_comment.limit_time_rating'))
|
||||
return true;
|
||||
/**
|
||||
* Проверяем, если топик опубликованный меньше чем acl.create.topic.limit_time секунд назад
|
||||
*/
|
||||
$aTalkComments=$this->Comment_GetCommentsByUserId($oUser->getId(),'talk',1,1);
|
||||
/**
|
||||
* Если комментариев не было
|
||||
*/
|
||||
if(!is_array($aTalkComments) or $aTalkComments['count']==0){
|
||||
return true;
|
||||
}
|
||||
|
||||
$oComment = array_shift($aTalkComments['collection']);
|
||||
$sDate = strtotime($oComment->getDate());
|
||||
|
||||
if($sDate and ((time()-$sDate)<Config::Get('acl.create.talk_comment.limit_time'))) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Проверяет может ли пользователь создавать комментарии используя HTML
|
||||
|
|
|
@ -259,11 +259,11 @@ class LsComment extends Module {
|
|||
/**
|
||||
* Получить комменты по юзеру
|
||||
*
|
||||
* @param unknown_type $sId
|
||||
* @param unknown_type $sTargetType
|
||||
* @param unknown_type $iPage
|
||||
* @param unknown_type $iPerPage
|
||||
* @return unknown
|
||||
* @param string $sId
|
||||
* @param string $sTargetType
|
||||
* @param int $iPage
|
||||
* @param int $iPerPage
|
||||
* @return array
|
||||
*/
|
||||
public function GetCommentsByUserId($sId,$sTargetType,$iPage,$iPerPage) {
|
||||
/**
|
||||
|
|
|
@ -130,8 +130,9 @@ $config['acl']['create']['comment']['limit_time'] = 10; // время
|
|||
$config['acl']['create']['comment']['limit_time_rating'] = -1; // рейтинг, выше которого перестаёт действовать ограничение по времени на постинг комментов. Не имеет смысла при $config['acl']['create']['comment']['limit_time']=0
|
||||
$config['acl']['create']['topic']['limit_time'] = 240;// время в секундах между созданием записей, если 0 то ограничение по времени не будет работать
|
||||
$config['acl']['create']['topic']['limit_time_rating'] = 5; // рейтинг, выше которого перестаёт действовать ограничение по времени на создание записей
|
||||
$config['acl']['create']['talk']['limit_time'] = 10; // время в секундах между отправкой инбоксов, если 0 то ограничение по времени не будет работать
|
||||
$config['acl']['create']['talk']['limit_time_rating'] = 5; // рейтинг, выше которого перестаёт действовать ограничение по времени на отправку инбоксов
|
||||
$config['acl']['create']['talk_comment']['limit_time'] = 10; // время в секундах между отправкой инбоксов, если 0 то ограничение по времени не будет работать
|
||||
$config['acl']['create']['talk_comment']['limit_time_rating'] = 5; // рейтинг, выше которого перестаёт действовать ограничение по времени на отправку инбоксов
|
||||
$config['acl']['vote']['comment']['rating'] = -3; // порог рейтинга при котором юзер может голосовать за комментарии
|
||||
$config['acl']['vote']['comment']['rating'] = -3; // порог рейтинга при котором юзер может голосовать за комментарии
|
||||
$config['acl']['vote']['blog']['rating'] = -5; // порог рейтинга при котором юзер может голосовать за блог
|
||||
$config['acl']['vote']['topic']['rating'] = -7; // порог рейтинга при котором юзер может голосовать за топик
|
||||
|
|
Loading…
Reference in a new issue