/** * Проверка на ограничение по времени на постинг на стене * * @param ModuleUser_EntityUser $oUser Пользователь * @param ModuleWall_EntityWall $oWall Объект сообщения на стене * * @return bool */ public function CanAddWallTime($oUser, $oWall) { // * Для администраторов ограничение по времени не действует if ($oUser->isAdministrator() || $oUser->isModerator() || Config::Get('acl.create.wall.limit_time') == 0 || $oUser->getRating() >= Config::Get('acl.create.wall.limit_time_rating')) { return true; } if ($oWall->getUserId() == $oWall->getWallUserId()) { return true; } // * Получаем последнее сообщение $aWall = E::ModuleWall()->GetWall(array('user_id' => $oWall->getUserId()), array('id' => 'desc'), 1, 1, array()); // * Если сообщений нет if ($aWall['count'] == 0) { return true; } $oWallLast = array_shift($aWall['collection']); $sDate = strtotime($oWallLast->getDateAdd()); if ($sDate && time() - $sDate < Config::Get('acl.create.wall.limit_time')) { return false; } return true; }